Introduction to Autotools and Cvs
Dirk Vermeir
- Dept. of Computer Science
Free University of Brussels, VUB
Introduction to Autotools and Cvs – p.1/77
Introduction to Autotools and Cvs Dirk Vermeir Dept. of Computer - - PowerPoint PPT Presentation
Introduction to Autotools and Cvs Dirk Vermeir Dept. of Computer Science Free University of Brussels, VUB Introduction to Autotools and Cvs p.1/77 Introduction Introduction to Autotools and Cvs p.2/77 Why Autotools Make it easier to
Dirk Vermeir
Free University of Brussels, VUB
Introduction to Autotools and Cvs – p.1/77
Introduction to Autotools and Cvs – p.2/77
Introduction to Autotools and Cvs – p.3/77
configure.in autoscan acinclude.m4 aclocal config.h.in autoheader Makefile.in automake Makefile.am autoconf configure Makefile config.h
am ac ac am ac
aclocal.m4 (configure.scan)
Introduction to Autotools and Cvs – p.4/77
Introduction to Autotools and Cvs – p.5/77
Introduction to Autotools and Cvs – p.6/77
Introduction to Autotools and Cvs – p.7/77
Introduction to Autotools and Cvs – p.8/77
Introduction to Autotools and Cvs – p.9/77
Introduction to Autotools and Cvs – p.10/77
Introduction to Autotools and Cvs – p.11/77
Introduction to Autotools and Cvs – p.12/77
Introduction to Autotools and Cvs – p.13/77
Introduction to Autotools and Cvs – p.14/77
Introduction to Autotools and Cvs – p.15/77
Introduction to Autotools and Cvs – p.16/77
Introduction to Autotools and Cvs – p.17/77
Introduction to Autotools and Cvs – p.18/77
Introduction to Autotools and Cvs – p.19/77
Introduction to Autotools and Cvs – p.20/77
Introduction to Autotools and Cvs – p.21/77
Introduction to Autotools and Cvs – p.22/77
Introduction to Autotools and Cvs – p.23/77
Introduction to Autotools and Cvs – p.24/77
Introduction to Autotools and Cvs – p.25/77
prefix Installation prefix for architecture-independent files
bindir Executables that users run (@exec_prefix@/bin). datadir Read-only architecture-independent data
includedir Header files (@prefix@/include). infodir Documentation in info format (@prefix@/info). libdir Object code libraries (@exec_prefix@/lib). libexecdir Executables that other programs run
Introduction to Autotools and Cvs – p.26/77
state Modifiable single-machine data localstatedir in
mandir Top-level manuals, e.g. @mandir@/man1
sbindir Executables that system administrators run
srcdir Source code (this directory). sysconfdir Read-only single-machine data (@prefix@/etc). top srcdir Top-level source code directory for the package.
Introduction to Autotools and Cvs – p.27/77
CFLAGS C compiler options (set by AC_PROG_CC, also
CPPFLAGS C preprocessor flags (
CXXFLAGS C++ compiler options (set by AC_PROG_CXX). FFLAGS idem for Fortran 77. DEFS define (
LDFLAGS linker flags. LIBS library options (
Introduction to Autotools and Cvs – p.28/77
AC PROG AWK Check for gawk, mawk, nawk, and awk, in
AC FUNC MMAP If the mmap function exists and works
Introduction to Autotools and Cvs – p.29/77
AC HEADER TIME If a program may include both ‘time.h’ and
Introduction to Autotools and Cvs – p.30/77
Introduction to Autotools and Cvs – p.31/77
DV CHECK LIB( Check for the availability of a C++ library
Parameters : $1 header file to find in $5, e.g. dvutil /props.h $2 test program, e.g. [Dv::Props props;] $3 library name, e.g. dvutil $4 library dir, e.g. /usr/ local / lib $5 include dir, e.g. /usr/ local /include
Introduction to Autotools and Cvs – p.32/77
Introduction to Autotools and Cvs – p.33/77
Introduction to Autotools and Cvs – p.34/77
Introduction to Autotools and Cvs – p.35/77
Introduction to Autotools and Cvs – p.36/77
Introduction to Autotools and Cvs – p.37/77
Introduction to Autotools and Cvs – p.38/77
Introduction to Autotools and Cvs – p.39/77
Introduction to Autotools and Cvs – p.40/77
Introduction to Autotools and Cvs – p.41/77
Introduction to Autotools and Cvs – p.42/77
Introduction to Autotools and Cvs – p.43/77
Introduction to Autotools and Cvs – p.44/77
Introduction to Autotools and Cvs – p.45/77
Introduction to Autotools and Cvs – p.46/77
Introduction to Autotools and Cvs – p.47/77
Introduction to Autotools and Cvs – p.48/77
SOURCES list of source and header files LDADD libraries to link with program LDFLAGS linker flags (not -l, -L)
DEPENDENCIES extra dependencies for program
Introduction to Autotools and Cvs – p.49/77
SOURCES list of source and header files LIBADD extra objects to add to library DEPENDENCIES extra dependencies for library
Introduction to Autotools and Cvs – p.50/77
SOURCES list of source and header files LIBADD other objects to add to library; if it contains e.g.
LDFLAGS linker flags (not -l, -L)
DEPENDENCIES extra dependencies for library
Introduction to Autotools and Cvs – p.51/77
AM CPPFLAGS or INCLUDES preprocessor flags. AM CFLAGS default C-compiler flags (hello_CFLAGS is also
LDADD Default libraries to link programs with. AM LDFLAGS Default linker flags to use.
Introduction to Autotools and Cvs – p.52/77
Introduction to Autotools and Cvs – p.53/77
Introduction to Autotools and Cvs – p.54/77
Introduction to Autotools and Cvs – p.55/77
Introduction to Autotools and Cvs – p.56/77
Introduction to Autotools and Cvs – p.57/77
Introduction to Autotools and Cvs – p.58/77
Introduction to Autotools and Cvs – p.59/77
Introduction to Autotools and Cvs – p.60/77
Introduction to Autotools and Cvs – p.61/77
Introduction to Autotools and Cvs – p.62/77
Introduction to Autotools and Cvs – p.63/77
Introduction to Autotools and Cvs – p.64/77
Introduction to Autotools and Cvs – p.65/77
Introduction to Autotools and Cvs – p.66/77
Introduction to Autotools and Cvs – p.67/77
Introduction to Autotools and Cvs – p.68/77
Introduction to Autotools and Cvs – p.69/77
Introduction to Autotools and Cvs – p.70/77
Introduction to Autotools and Cvs – p.71/77
Introduction to Autotools and Cvs – p.72/77
Introduction to Autotools and Cvs – p.73/77
Introduction to Autotools and Cvs – p.74/77
Introduction to Autotools and Cvs – p.75/77
Introduction to Autotools and Cvs – p.76/77
Introduction to Autotools and Cvs – p.77/77