| 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.79.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/time.h sys/timeb.h) |
| AC_PROG_CC_C_O |
| AM_PROG_CC_STDC |
| AC_C_CONST dnl getopt needs this. |
| AC_C_INLINE dnl gettext needs this. |
| AC_HEADER_STAT |
| AC_HEADER_TIME |
| |
| dnl Handle internationalization |
| |
| ALL_LINGUAS="de es fr ja ko nl pl pt_BR ru" |
| pds_WITH_GETTEXT |
| |
| |
| dnl See if the user wants nsec timestamps |
| |
| AC_ARG_ENABLE(nsec-timestamps, |
| [ --disable-nsec-timestamps disable use of sub-second timestamps], |
| [make_cv_nsec_timestamps="$enableval"], |
| [make_cv_nsec_timestamps="yes"]) |
| |
| if test "x$make_cv_nsec_timestamps" != xno; then |
| AC_STRUCT_ST_MTIM_NSEC |
| fi |
| 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 |
| |
| # Solaris 2.5.1 needs -lposix4 to get the clock_gettime function. |
| # Solaris 7 prefers the library name -lrt to the obsolescent name -lposix4. |
| AC_SEARCH_LIBS(clock_gettime, [rt posix4]) |
| if test "$ac_cv_search_clock_gettime" != no; then |
| AC_DEFINE(HAVE_CLOCK_GETTIME, 1, |
| [Define if you have the clock_gettime function.]) |
| fi |
| |
| # See if we have a standard version of gettimeofday(). Since actual |
| # implementations can differ, just make sure we have the most common |
| # one. |
| AC_CACHE_CHECK([for standard gettimeofday], ac_cv_func_gettimeofday, |
| [ac_cv_func_gettimeofday=no |
| AC_TRY_RUN([#include <sys/time.h> |
| int main () |
| { |
| struct timeval t; t.tv_sec = -1; t.tv_usec = -1; |
| exit (gettimeofday (&t, 0) != 0 |
| || t.tv_sec < 0 || t.tv_usec < 0); |
| }], |
| ac_cv_func_gettimeofday=yes, |
| ac_cv_func_gettimeofday=no, |
| ac_cv_func_gettimeofday="no (cross-compiling)")]) |
| if test $ac_cv_func_gettimeofday = yes; then |
| AC_DEFINE(HAVE_GETTIMEOFDAY, 1, |
| [Define if you have a standard gettimeofday function]) |
| fi |
| |
| AC_CHECK_FUNCS( memmove memcpy strchr strdup psignal mkstemp mktemp fdopen \ |
| 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_CHECK_LIB(kstat, kstat_open) dnl _Must_ come before AC_FUNC_GETLOADAVG. |
| AC_CHECK_FUNCS(pstat_getdynamic) dnl Supposedly in AC_FUNC_GETLOADAVG, but...? |
| 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 <sys/types.h> |
| #include <sys/wait.h>], |
| [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, 1, [Define this if you have the \`union wait' type in <sys/wait.h>.]) |
| 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, 1, |
| [Define this to enable job server support in GNU make.]);; |
| 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, 1, |
| [Define this if the SCCS \`get' command understands the \`-G<file>' option.]);; |
| 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 <features.h> |
| #include <glob.h> |
| #include <fnmatch.h> |
| |
| #define GLOB_INTERFACE_VERSION 1 |
| #if defined _LIBC || !defined __GNU_LIBRARY__ || __GNU_LIBRARY__ <= 1 |
| # error no gnu glob |
| #else |
| # include <gnu-versions.h> |
| # 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(GLOBDIR) GLOBDIR=glob |
| 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 i18n/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: |