dnl Process this file with autoconf to produce a configure script. AC_REVISION([$Id$]) AC_PREREQ(2.13)dnl dnl Minimum Autoconf version required. AC_INIT(vpath.c)dnl dnl A distinctive file to look for in srcdir. AM_INIT_AUTOMAKE(make, 3.78.1) AM_CONFIG_HEADER(config.h) dnl Regular configure stuff AC_CANONICAL_HOST AC_PROG_MAKE_SET AC_PROG_CC AC_PROG_INSTALL AC_CHECK_PROG(AR, ar, ar, ar) AC_PROG_RANLIB AC_PROG_CPP dnl Later checks need this. AC_AIX AC_ISC_POSIX AC_MINIX AC_CHECK_PROG(PERL, perl, perl, perl) dnl Needed for the test suite (only) dnl This test must come as early as possible after the compiler configuration dnl tests, because the choice of the file model can (in principle) affect dnl whether functions and headers are available, whether they work, etc. AC_SYS_LARGEFILE AC_HEADER_STDC AC_HEADER_DIRENT AC_TYPE_UID_T dnl Also does gid_t. AC_TYPE_PID_T AC_TYPE_SIGNAL AC_CHECK_HEADERS(stdlib.h unistd.h limits.h sys/param.h fcntl.h string.h \ memory.h sys/timeb.h) AC_PROG_CC_C_O AM_PROG_CC_STDC AC_C_CONST dnl getopt needs this. AC_HEADER_STAT AC_STRUCT_ST_MTIM_NSEC jm_AC_TYPE_UINTMAX_T AC_SUBST(LIBOBJS) AC_DEFUN(AC_CHECK_SYMBOL, [dnl AC_MSG_CHECKING(for $1) AC_CACHE_VAL(ac_cv_check_symbol_$1, [dnl AC_TRY_LINK(, [extern char *sys_siglist[]; puts(*sys_siglist);], ac_cv_check_symbol_$1=yes, ac_cv_check_symbol_$1=no)]) if test "$ac_cv_check_symbol_$1" = yes; then changequote(,)dnl ac_tr_symbol=`echo $1 | tr '[a-z]' '[A-Z]'` changequote([,])dnl AC_DEFINE_UNQUOTED(HAVE_${ac_tr_symbol}) fi AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl # clock_gettime is in -lposix4 in Solaris 2.6. AC_CHECK_LIB(posix4, clock_gettime) AC_CHECK_FUNCS(memmove strdup psignal mktemp pstat_getdynamic \ clock_gettime dup2 getcwd sigsetmask sigaction getgroups \ setlinebuf seteuid setegid setreuid setregid pipe \ strerror strsignal) AC_CHECK_SYMBOL(sys_siglist) AC_FUNC_ALLOCA AC_FUNC_VFORK AC_FUNC_VPRINTF AC_FUNC_STRCOLL AC_FUNC_CLOSEDIR_VOID AC_FUNC_SETVBUF_REVERSED AC_FUNC_SELECT AC_CHECK_LIB(kstat, kstat_open) dnl _Must_ come before AC_FUNC_GETLOADAVG. AC_FUNC_GETLOADAVG # Check out the wait reality. AC_CHECK_HEADERS(sys/wait.h) AC_CHECK_FUNCS(waitpid wait3) AC_MSG_CHECKING(for union wait) AC_CACHE_VAL(make_cv_union_wait, [dnl AC_TRY_LINK([#include #include ], [union wait status; int pid; pid = wait (&status); #ifdef WEXITSTATUS /* Some POSIXoid systems have both the new-style macros and the old union wait type, and they do not work together. If union wait conflicts with WEXITSTATUS et al, we don't want to use it at all. */ if (WEXITSTATUS (status) != 0) pid = -1; #ifdef WTERMSIG /* If we have WEXITSTATUS and WTERMSIG, just use them on ints. */ -- blow chunks here -- #endif #endif #ifdef HAVE_WAITPID /* Make sure union wait works with waitpid. */ pid = waitpid (-1, &status, 0); #endif ], [make_cv_union_wait=yes], [make_cv_union_wait=no])]) if test "$make_cv_union_wait" = yes; then AC_DEFINE(HAVE_UNION_WAIT) fi AC_MSG_RESULT($make_cv_union_wait) AC_DECL_SYS_SIGLIST # The presence of the following is not meant to imply # that make necessarily works on those systems. AC_CHECK_LIB(sun, getpwnam) AC_SUBST(REMOTE) REMOTE=stub make_try_customs=no AC_ARG_WITH(customs, [ --with-customs=DIR Enable remote jobs via Customs--see README.customs], [case "$withval" in n|no) ;; *) make_cppflags="$CPPFLAGS" case "$withval" in y|ye|yes) ;; *) CPPFLAGS="$CPPFLAGS -I$with_customs/include/customs" make_ldflags="$LDFLAGS -L$with_customs/lib" ;; esac CF_NETLIBS AC_CHECK_HEADER(customs.h, REMOTE=cstms LIBS="$LIBS -lcustoms" LDFLAGS="$make_ldflags", with_customs=no CPPFLAGS="$make_cppflags" make_badcust=yes) ;; esac]) dnl See if we can handle the job server feature, and if the user wants it. AC_ARG_ENABLE(job-server, [ --disable-job-server Disallow recursive make communication during -jN], [make_cv_job_server="$enableval" user_job_server="$enableval"], [make_cv_job_server="yes"]) has_wait_nohang=yes case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in no/no) has_wait_nohang=no ;; esac case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$has_wait_nohang/$make_cv_job_server" in yes/yes/yes/yes) AC_DEFINE(MAKE_JOBSERVER) ;; esac dnl Allow building with dmalloc AC_ARG_ENABLE(dmalloc, [ --enable-dmalloc Enable support for the dmalloc debugging library], [make_cv_dmalloc="$enableval"], [make_cv_dmalloc="no"]) case "$make_cv_dmalloc" in yes) AC_CHECK_HEADERS(dmalloc.h) AC_CHECK_LIB(dmalloc, dmalloc_shutdown) CPPFLAGS="$CPPFLAGS -DDMALLOC_FUNC_CHECK" ;; esac AC_CACHE_CHECK(for location of SCCS get command, make_cv_path_sccs_get, [ if test -f /usr/sccs/get; then make_cv_path_sccs_get=/usr/sccs/get else make_cv_path_sccs_get=get fi]) AC_DEFINE_UNQUOTED(SCCS_GET,["$make_cv_path_sccs_get"]) ac_clean_files="$ac_clean_files s.conftest conftoast" # Remove these later. if ( /usr/sccs/admin -n s.conftest || admin -n s.conftest ) >/dev/null 2>&1 && test -f s.conftest; then # We successfully created an SCCS file. AC_CACHE_CHECK(if SCCS get command understands -G, make_cv_sys_get_minus_G, [ if $make_cv_path_sccs_get -Gconftoast s.conftest >/dev/null 2>&1 && test -f conftoast; then make_cv_sys_get_minus_G=yes else make_cv_sys_get_minus_G=no fi]) case "$make_cv_sys_get_minus_G" in yes) AC_DEFINE(SCCS_GET_MINUS_G);; esac fi rm -f s.conftest conftoast AC_MSG_CHECKING(if system libc has GNU glob) AC_CACHE_VAL(make_cv_sys_gnu_glob, [ AC_TRY_CPP([ #include #include #include #define GLOB_INTERFACE_VERSION 1 #if defined _LIBC || !defined __GNU_LIBRARY__ || __GNU_LIBRARY__ <= 1 # error no gnu glob #else # include # if _GNU_GLOB_INTERFACE_VERSION != GLOB_INTERFACE_VERSION # error no gnu glob # endif #endif ], make_cv_sys_gnu_glob=yes, make_cv_sys_gnu_glob=no)]) case "$make_cv_sys_gnu_glob" in yes) AC_MSG_RESULT(yes) ;; no) AC_MSG_RESULT([no; using local copy]) AC_SUBST(GLOBINC) GLOBINC='-I$(srcdir)/glob' AC_SUBST(GLOBLIB) GLOBLIB=glob/libglob.a ;; esac AC_DEFINE_UNQUOTED(MAKE_HOST,"$host",[Build host information.]) MAKE_HOST="$host" AC_SUBST(MAKE_HOST) MAINT_MAKEFILE=/dev/null if test -r "$srcdir/maintMakefile"; then MAINT_MAKEFILE="$srcdir/maintMakefile" fi AC_SUBST_FILE(MAINT_MAKEFILE) AC_OUTPUT(build.sh Makefile glob/Makefile) dnl If we don't yet have build.sh.in, build.sh is a bogus 0-length file dnl so remove it. dnl Can't do this because then remote builds with build.sh don't work. dnl test -f build.sh.in || rm -f build.sh case "$make_badcust" in yes) echo echo "WARNING: --with-customs specified but no customs.h could be found;" echo " disabling Customs support." echo ;; esac case "$with_customs" in ""|n|no|y|ye|yes) ;; *) if test -f "$with_customs/lib/libcustoms.a"; then : else echo echo "WARNING: \`$with_customs/lib' does not appear to contain the" echo " Customs library. You must build and install Customs" echo " before compiling GNU make." echo fi ;; esac case "$has_wait_nohang" in no) echo echo "WARNING: Your system has neither waitpid() nor wait3()." echo " Without one of these, signal handling is unreliable." echo " You should be aware that running GNU make with -j" echo " could result in erratic behavior." echo ;; esac case "$make_cv_job_server/$user_job_server" in no/yes) echo echo "WARNING: Make job server requires a POSIX-ish system that" echo " supports the pipe(), sigaction(), and either" echo " waitpid() or wait3() functions. Your system doesn't" echo " appear to provide one or more of those." echo " Disabling job server support." echo ;; esac dnl Local Variables: dnl comment-start: "dnl " dnl comment-end: "" dnl comment-start-skip: "\\bdnl\\b\\s *" dnl compile-command: "make configure config.h.in" dnl End: