Re: [AD] build process overhaul

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]




Ill start using the subversion port of Allegro from now on.


Boring explanation ensues.. please read the last paragraph though!

I have made some progress on the build system and just want to show it off again. The design of it is now having a top level build file which knows what system the user is on and calling other platform specific build files to figure platform specific things out. These specific files in turn call other more generic build files so information can be shared across platforms that are similar. Graphically this is

SConstruct -> linux.scons -> unix.scons -> all.scons

Each SConstruct in the scons/ directory returns an environment that it has created/modified and a list of files that should be compiled into the allegro library. Finally the top level SConstruct uses this environment and the list to create liballeg.

Because things are seperated by platform its easy to configure things only for that platform. Right now you can see some checks in unix.scons, which also writes out include/allegro/platform/alunixac.h. It will take me forever and a day to complete the configure checks so for now I just copy/pasted my alunixac.h into unix.scons so if you have something different youll need to hack that file. Also for right now scons will run the configure checks every single time you run scons but I think this can be turned off through some tricks.

In my version of scons( 0.96.1 ) there is an issue where it doesnt let you do configure checks in child-scons files. To allow this edit scons/SCons/Script/SConscript.py and change line 178 from

sconscript_reading = 0

to

sconscript_reading = 1

I have emailed the scons people to fix this.

Attachment: scons-4.3.tar.gz
Description: application/gzip



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/