Name: Anonymous 2011-05-21 5:55
I've just discovered an open source build system that trumps everything else.
Fuck GNU Make and all Make clones. Fuck GNU Autotools. Fuck Scons. Fuck Waf. Fuck Premake. Fuck CMake. Fuck Jam/Bjam. Fuck Ant. Fuck NAnt. Fuck Rake. Fuck OCamlbuild. Fuck everything.
Tundra is the new fucking king.
http://deplinenoise.files.wordpress.com/2011/04/tundra43.pdf
https://github.com/deplinenoise/tundra
It was written and is currently maintained by an EA/DICE employee and it's being used to build Battlefield 3 and their Frostbite 2 engine. It's released under GPL. The execution engine is implemented mostly in C89 following data-oriented design principles using fast stack allocators and task-oriented parallelism. It's fucking fast. It uses Lua as a declarative DSL to precisely allow you to model your project or projects you want to build, and it has a very DRY syntax unlike other fucking build tools. It's designed for scalability on very large projects with multiple libraries and build artifacts with varying degrees of interdependencies. It supports cross-compilation, multiple platforms and architectures, multiple tool sets and variants, but doesn't go out of it's way to try to auto-detect anything or abstract anything away--it gets out of your fucking way and lets you control precisely what your CFLAGS/CXXFLAGS will be.
Yeah, this sounds like an advertisement, but I have nothing to do with the project. Seriously, I've been fucking around with other build tools for so long, trying to wrestle the syntax to get them to do what you want it to do. DICE guys fucking know exactly what is needed for large projects with varying requirements and build scenarios. This is finally what I've been looking for, short of writing my own build system or using some ENTERPRISE proprietary build solution.
Fuck GNU Make and all Make clones. Fuck GNU Autotools. Fuck Scons. Fuck Waf. Fuck Premake. Fuck CMake. Fuck Jam/Bjam. Fuck Ant. Fuck NAnt. Fuck Rake. Fuck OCamlbuild. Fuck everything.
Tundra is the new fucking king.
http://deplinenoise.files.wordpress.com/2011/04/tundra43.pdf
https://github.com/deplinenoise/tundra
It was written and is currently maintained by an EA/DICE employee and it's being used to build Battlefield 3 and their Frostbite 2 engine. It's released under GPL. The execution engine is implemented mostly in C89 following data-oriented design principles using fast stack allocators and task-oriented parallelism. It's fucking fast. It uses Lua as a declarative DSL to precisely allow you to model your project or projects you want to build, and it has a very DRY syntax unlike other fucking build tools. It's designed for scalability on very large projects with multiple libraries and build artifacts with varying degrees of interdependencies. It supports cross-compilation, multiple platforms and architectures, multiple tool sets and variants, but doesn't go out of it's way to try to auto-detect anything or abstract anything away--it gets out of your fucking way and lets you control precisely what your CFLAGS/CXXFLAGS will be.
Yeah, this sounds like an advertisement, but I have nothing to do with the project. Seriously, I've been fucking around with other build tools for so long, trying to wrestle the syntax to get them to do what you want it to do. DICE guys fucking know exactly what is needed for large projects with varying requirements and build scenarios. This is finally what I've been looking for, short of writing my own build system or using some ENTERPRISE proprietary build solution.