Re: [AD] build process overhaul

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


On Sun, 2005-12-11 at 18:40 -0500, Jon Rafkind wrote:
> >
> > 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.

I like this. Later we can maybe even have "import sse", and a
"checks/sse.py" which has the check function, or something like that.

Also, another cosmetic thing, please don't use TAB indentation. Most
Python code uses 4-space indentation, like the scons source code itself.

> 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.

Heh. Just imagine the people who wrote the original checks in M4
instead :)

> 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.

Yes, I guess nothing to worry about right now, and I've seen caching of
config checks mentioned on the ML, so probably can simply enable it
somehow.

> 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.

I had to use instead:

line 178: sconscript_reading += 1

and line 245: sconscript_reading -= 1

As you posted on the ML :)

Should be nothing to worry about I guess, only once scons 1.0 is out, we
may want to stay compatible with that, but we can require 1.0.

-- 
Elias Pschernig





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