Skip to content
Search

GNU build system

lastmod 2020-10-08created 2014-09-2517 edits

The GNU build system, or simply Autotools, is a suite of programming tools that helps port source code packages to many Unix-like operating systems.

Making software usable on multiple platforms can be difficult. C compilers differ from system to system. Certain library functions do not exist on some systems, and header files may have different names. One way to manage this is to write conditional code using constructs such as #ifdef. However, because of the variety of build environments, this approach is becoming unmanageable. The GNU build system makes these problems more manageable.

The GNU build system is part of the GNU toolchain and is widely used in many free software and open-source packages. The tools that make up the GNU build system are licensed as free software under the GNU General Public License, with a special license exception permitting use of the GNU build system with proprietary software.

Tools

  • Autoconf: generates the configure script.
  • Autoheader: generates config.h.in using configure.ac and aclocal.m4.
  • Automake: generates makefiles.
  • Libtool: a library-providing script that makes building new libraries easy for users.
  • Autoscan: uses a Perl Script to examine the source code in a directory and generate configuer.ac.
  • Aclocal: collects information about the locations and definitions of Autoconf macros and generates aclocal.m4.
  • Gnulib

In the MacOSX

On MacOSX, it can be installed using brew or port.

$ brew install automake autoconf libtool m4

Documentation

Linux Hakdang - Linux lectures / series (go LINUX) - No. 333 - GNUtic -- Autoconf/Automake
Go-linux-automake.txt.zip

See also

Favorite site

References


  1. Learning_the_GNU_development_tools.zip ↩

  2. Autotools_simple_example.pdf ↩

  3. Solanara.net_-_how_to_install_autotools.pdf ↩

  4. Linux_-autotool-_create_Makefile.pdf ↩

  5. Korea.gnu.org.zip (korea.gnu.org/manual/release/automake/index.html) ↩

author Zer0 sitemap