I tried and tried to produce a proof of concept with CMake, but couldn't find a satisfactory solution for using it with mesa/gallium. Getting convenience libraries to work with CMake would be so difficult and hackish, that would defeat the whole point of the exercise.
So I researched for another build system with the desired characteristics again, and rediscovered scons, http://www.scons.org/ . I tried using it a few times in the past, and I recall Brian tried too, but this time it was a pleasant surprise. In a few hours I managed to get softpipe to build. Supporting convenience libraries was also easy. What scons gives new: - supports many platforms - out of source file builds (you can now build gallium for dri/with) - blazing fast (it does not use recursive makefiles, and does parallel builds too) - flexible (you have the whole power of a programming language -- Python -- at your disposition) - it appears it can produce MSVS projects too. What is less good with scons: - things like debug/release versions are not done automatically for you (as in CMake) -- you have to set the compiler flags manually, even though you always end up doing customizing compiler options anyway - Scons* files are python scripts, so it requires a bit more typing (like quotes in filenames), but it doesn't look so strange to the eyes of a programmer Brian approved that I commit this to gallium-0.1 branch as an alternative build system to experiment. How to use: - "scons -h" for help - "scons ." to build - "scons -c" to clean You can pass configurations options to scons: "dri=1" "debug=1" "x86=0", or write them to a config.py file if you than want to pass them every time. The output build dir will be "build/linux-debug-x86" etc. depending on the options I plan to keep supporting and improving, as a second build system. Things that need to be done is: - support more drivers (e.g., cell is missing) - support building drivers out of the tree (i.e., a Gallium3D SDK) - more auto-detection magic Feedback, and especially patches, are welcome. Jose ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
