Skip to content

GNU build system

GNU 빌드 시스템(GNU build system), 또는 간단히 Autotools는 소스 코드 패키지를 수많은 유닉스 계열 운영 체제로 포팅할 수 있게 도와 주는 프로그래밍 도구 제품군이다.

소프트웨어를 여러 플랫폼에서 사용할 수 있게 만드는 것은 어려울 수 있다. C 컴파일러는 시스템마다 다르다. 특정한 라이브러리 함수는 일부 시스템에 존재하지 않고 헤더 파일들은 각기 이름이 다를 수 있다. 이를 관리하는 한 가지 방법은 #ifdef 등의 코드를 이용하여 조건식 코드를 기록하는 것이다. 그러나 다양한 빌드 환경 때문에 이러한 접근은 관리를 불가능하게 만들어가고 있다. GNU 빌드 시스템은 이러한 문제를 더 관리할 수 있도록 하고 있다.

GNU 빌드 시스템은 GNU 툴체인의 일부이며 수많은 자유 소프트웨어 및 오픈 소스 패키지에 널리 쓰인다. GNU 빌드 시스템을 이루는 도구들은 사유 소프트웨어에 GNU 빌드 시스템의 이용을 허가하는 특별한 라이선스 예외와 더불어 GNU 일반 공중 사용 허가서 하의 자유 소프트웨어로 라이선스된다.

Tools

  • Autoconf: configure 스크립트 생성.
  • Autoheader: configure.ac, aclocal.m4 이용하여 config.h.in 생성.
  • Automake: makefile 생성.
  • Libtool: 라이브러리 제공 스크립트로 유저에게 새로운 라이브러리 빌딩을 손쉽게 제공합니다.
  • Autoscan: Perl Script를 사용하여 디렉터리에 있는 소스코드를 검사하여 configuer.ac 생성.
  • Aclocal: Autoconf 매크로의 위치와 정의에 대한 정보를 모아 aclocal.m4를 생성.
  • Gnulib

In the MacOSX

MacOSX에서는 brew또는 port를 사용하여 설치할 수 있다.

$ brew install automake autoconf libtool m4

Documentation

리눅스 학당-리눅스 강좌 / 연재 (go LINUX) - 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