Build automation

From Gentoo Wiki
Jump to:navigation Jump to:search

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.

Available software

Build systems available in the main Gentoo repository include:

Name Package Homepage Description
ant dev-java/ant Java-based build tool similar to 'make' that uses XML configuration files.
autotools sys-devel/autoconf sys-devel/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 "Fast and correct" automated build system.
cmake dev-util/cmake Open-source, cross-platform tools to build, test and package software.
Gradle dev-java/gradle-bin Java-based build, automation and delivery tool.
make sys-devel/make Standard tool to compile source trees
meson dev-util/meson Open source build system designed to be fast, and user friendly.
ninja dev-util/ninja A small build system similar to make.
premake dev-util/premake Makefile generation tool.
SCons dev-util/scons 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.

See also

External resources