I have a large package with many subpackages. each subpackage has its own configure.ac. how do I generate aclocal.m4? (I would rather not create a dozen separate aclocal.m4 files - one for each subpackage)
I tried merging all the configure.in files in one: src/autoconf/aclocal.m4 : $(wildcard src/m4/*.m4) $(addsuffix .in,$(CONFIGURES)) egrep '(AC_INIT|AC_PREREQ)' src/configure.in > configure.ac cat $(addsuffix .in,$(CONFIGURES)) | egrep -v '(AC_INIT|AC_CONFIG_HEADER|AC_OUTPUT|AC_CONFIG_FILE.*(Makefile|link\.sh)|_CANONICAL_|AC_PREREQ)' >> configure.ac echo AC_OUTPUT >> configure.ac aclocal -I `pwd`/src/m4 --output=src/autoconf/aclocal.m4 $(RM) configure.ac this results in these warnings and errors: (aclocal (GNU automake) 1.9.5) aclocal -I `pwd`/src/m4 --output=src/autoconf/aclocal.m4 /usr/share/aclocal/freetype2.m4:7: warning: underquoted definition of AC_CHECK_FT2 run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal [so is the file freetype2.m4 that came with automake broken?!] configure.ac:332: warning: AC_COMPILE_IFELSE was called before AC_AIX autoconf/specific.m4:427: AC_AIX is expanded from... configure.ac:332: the top level configure.ac:332: warning: AC_RUN_IFELSE was called before AC_AIX [no wonder: this AC_AIX is _not_ the _first_ AC_AIX in the merged configure.ac, the first AC_AIX does come before the first AC_RUN_IFELSE] configure.ac:354: warning: AC_COMPILE_IFELSE was called before AC_AIX configure.ac:354: the top level configure.ac:354: warning: AC_RUN_IFELSE was called before AC_AIX configure.ac:355: warning: AC_COMPILE_IFELSE was called before gl_USE_SYSTEM_EXT ENSIONS /cygdrive/d/gnu/clisp/current/src/m4/extensions.m4:30: gl_USE_SYSTEM_EXTENSIONS is expanded from... configure.ac:355: the top level configure.ac:355: warning: AC_RUN_IFELSE was called before gl_USE_SYSTEM_EXTENSI ONS configure.ac:956: warning: CL_MPROTECT was called before CL_GETPAGESIZE /cygdrive/d/gnu/clisp/current/src/m4/getpagesize.m4:39: CL_GETPAGESIZE is expand ed from... configure.ac:956: the top level [same here: several subpackage configure.in use CL_GETPAGESIZE and CL_MPROTECT, and in each file they are in the right order] configure.ac:958: warning: CL_MMAP was called before CL_OPENFLAGS /cygdrive/d/gnu/clisp/current/src/m4/openflags.m4:36: CL_OPENFLAGS is expanded f rom... configure.ac:958: the top level configure.ac:959: warning: CL_MUNMAP was called before CL_MMAP /cygdrive/d/gnu/clisp/current/src/m4/mmap.m4:148: CL_MMAP is expanded from... configure.ac:959: the top level configure.ac:959: warning: CL_MPROTECT was called before CL_MMAP configure.ac:961: warning: CL_SHM_RMID was called before CL_SHM_H /cygdrive/d/gnu/clisp/current/src/m4/shm.m4:19: CL_SHM_H is expanded from... configure.ac:961: the top level configure.ac:962: warning: CL_SHM_RMID was called before CL_SHM /cygdrive/d/gnu/clisp/current/src/m4/shm.m4:54: CL_SHM is expanded from... configure.ac:962: the top level configure.ac:1004: warning: AC_LIBTOOL_SETUP was called before AC_DISABLE_SHARED /cygdrive/d/gnu/clisp/current/src/m4/libtool.m4:1853: AC_DISABLE_SHARED is expan ded from... /cygdrive/d/gnu/clisp/current/src/m4/libtool.m4:6090: AM_DISABLE_SHARED is expan ded from... configure.ac:1004: the top level configure.ac:1035: warning: AC_LIBTOOL_SETUP was called before AC_DISABLE_SHARED configure.ac:1035: the top level configure.ac:1058: warning: AC_LIBTOOL_SETUP was called before AC_DISABLE_SHARED configure.ac:1058: the top level configure.ac:1063: warning: CL_MPROTECT was called before CL_GETPAGESIZE configure.ac:1063: the top level configure.ac:1065: warning: CL_MMAP was called before CL_OPENFLAGS configure.ac:1065: the top level configure.ac:1066: warning: CL_MUNMAP was called before CL_MMAP configure.ac:1066: the top level configure.ac:1066: warning: CL_MPROTECT was called before CL_MMAP configure.ac:1068: warning: CL_SHM_RMID was called before CL_SHM_H configure.ac:1068: the top level configure.ac:1069: warning: CL_SHM_RMID was called before CL_SHM configure.ac:1069: the top level configure.ac:1107: warning: AC_COMPILE_IFELSE was called before AC_AIX configure.ac:1107: the top level configure.ac:1107: warning: AC_RUN_IFELSE was called before AC_AIX configure.ac:1108: warning: AC_COMPILE_IFELSE was called before AC_MINIX autoconf/specific.m4:446: AC_MINIX is expanded from... configure.ac:1108: the top level configure.ac:1108: warning: AC_RUN_IFELSE was called before AC_MINIX configure.ac:1265: warning: AC_COMPILE_IFELSE was called before AC_AIX configure.ac:1265: the top level configure.ac:1265: warning: AC_RUN_IFELSE was called before AC_AIX configure.ac:1266: warning: AC_COMPILE_IFELSE was called before AC_MINIX configure.ac:1266: the top level configure.ac:1266: warning: AC_RUN_IFELSE was called before AC_MINIX configure.ac:1276: warning: AC_LIBTOOL_SETUP was called before AC_LIBTOOL_WIN32_ DLL /cygdrive/d/gnu/clisp/current/src/m4/libtool.m4:1814: AC_LIBTOOL_WIN32_DLL is ex panded from... configure.ac:1276: the top level cd modules/regexp; autoconf --include=/cygdrive/d/gnu/clisp/current/src/autoconf --include=/cygdrive/d/gnu/clisp/current configure:6028: error: possibly undefined macro: AC_CHECK_HEADERS_ONCE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure:6029: error: possibly undefined macro: AC_CHECK_FUNCS_ONCE make: *** [modules/regexp/configure] Error 1 this error is baffling. AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE are not in aclocal.m4 -- why? (they are defined in src/m4/onceonly.m4, but that file is not included in aclocal.m4). So: how do I use aclocal.m4 with multiple subpackage configure.in? thanks! -- Sam Steingold (http://www.podval.org/~sds) running w2k <http://www.jihadwatch.org/> <http://www.honestreporting.com> <http://www.mideasttruth.com/> <http://pmw.org.il/> The difference between theory and practice is that in theory there isn't any.