• 28Feb

    I’m trying, once more, to get a working development environment for compiling the Second Life viewer. Long-memoried readers will recall that I had set up a local subversion repository about a month ago. Some time after that was set up, I decided to base my modifications off of the First Look viewer. That, plus the fact that I had set up my first repository while I had a mild case of the stupids, inspired me to start the repository over from scratch with the FL sources.

    I’ve got everything set up again, and can compile, but… bleck! What a yucky build script!

    1. It chooses a temporary build directory in a really weird way—if I’m building source in `/home/jacek/my/path/to/the/client‘, it will make a build directory, `/tmp/home/jacek/my/path/to/the/client/i686-linux/client_release/’. Why in the world does it use the current working directory in the temp path? That just means you can never move your source code to another directory (unless you want to rename the temp paths too).
    2. Ok, this part renders #1 irrelevant… but that just makes things even worse! Here it is: the build system recompiles everything, every time. Even stuff that hasn’t changed. For most software packages, you only have to recompile things when the source changes; you can re-use the other stuff to save time. Particularly for a very large software package like the viewer, where compilation takes several hours, it makes no sense to recompile everything!

    Actually, the problem with #2 is probably related to #1. I bet the build script isn’t even looking in the TEMP_BUILD_DIRECTORY to see what has been compiled. It’s looking in the wrong place! Oi. Dumb script.

    Grumble, grumble.

    It looks like my first patch submissions are going to be for the SConstruct file. I can’t say this is the “building”-related code that I was looking forward to playing with!

    Posted by Jacek Antonelli @ 11:16 pm


5 Responses