Build automation (generally referred to as 'Build systems' in the Gentoo world) is software that automates the compilation, clean up, and installation stages of the software creation process. Recently it has become more common for build automation to perform elements of software testing. Gentoo developers must have at least a general understanding of one or more build systems in order to start writing ebuilds. This article services as a type of meta article in defining a list of build systems in Gentoo Linux.
Build systems available in the main Gentoo repository include:
|ant||dev-java/ant||https://ant.apache.org/||Java-based build tool similar to 'make' that uses XML configuration files.|
|autotools||sys-devel/autoconf sys-devel/automake||https://www.gnu.org/software/autoconf/autoconf.html https://www.gnu.org/software/automake/||A build system used commonly in open source projects. A little austere, but has the advantage of being almost ubiquitous.|
|bazel||dev-util/bazel||https://bazel.build/||"Fast and correct" automated build system.|
|cmake||dev-util/cmake||https://cmake.org/||Open-source, cross-platform tools to build, test and package software.|
|Gradle||dev-java/gradle-bin||https://gradle.org/||Java-based build, automation and delivery tool.|
|meson||dev-util/meson||https://mesonbuild.com/||Open source build system designed to be fast, and user friendly.|
|ninja||dev-util/ninja||https://ninja-build.org/||A small build system similar to make.|
|premake||dev-util/premake||https://premake.github.io||Makefile generation tool.|
|SCons||dev-util/scons||http://www.scons.org/||Scons is a build system written in Python.|
This is a partial selection of packages available in the Gentoo repository, see for example dev-util , or use eix (eix --category dev-util), to see packages from the dev-util category.
- User:Maffblaster/Drafts/Comparison of build systems — provides a brief comparison of various build systems.