dnl ## dnl ## Autoconf configuration file for APR dnl ## dnl Process this file with autoconf to produce a configure script. AC_INIT(apr_common.m4) AC_CONFIG_HEADER(include/apr_private.h) AC_CONFIG_AUX_DIR(helpers) AC_CANONICAL_SYSTEM echo "Configuring APR library" OS=$host echo "Platform: $OS" dnl # Some initial steps for configuration. We setup the default directory dnl # and which files are to be configured. dnl Preload APR_PRELOAD dnl Absolute source/build directory abs_srcdir=`(cd $srcdir && pwd)` abs_builddir=`pwd` dnl Get location of helpers directory dnl XXX This assumes that APR "lives" under Apache. dnl XXX We'll need to fix this when we pull it out. abs_helpersdir=$abs_srcdir/helpers MKDIR=$abs_helpersdir/mkdir.sh if test "$abs_builddir" != "$abs_srcdir"; then USE_VPATH=1 fi # These added to allow default directories to be used... DEFAULT_OSDIR="unix" echo "(Default will be ${DEFAULT_OSDIR})" MODULES="file_io network_io threadproc misc locks time mmap shmem i18n user" # Most platforms use a prefix of 'lib' on their library files. LIBPREFIX='lib' dnl # Checks for programs. AC_PROG_CC AC_PROG_RANLIB_NC AC_PROG_MAKE_SET AC_CHECK_PROG(RM, rm, rm) AC_CHECK_TOOL(AR, ar, ar) # This macro needs to be here in case we are on an AIX box. AC_AIX APR_EBCDIC # Use /bin/sh if it exists, otherwise go looking for sh in the path if test ".$SH" = . -a -f /bin/sh; then SH="/bin/sh" fi AC_CHECK_PROG(SH, sh, sh) dnl #----------------------------- Checks for compiler flags nl=' ' echo $ac_n "${nl}Check for compiler flags..." AC_ARG_WITH(optim,[ --with-optim="FLAGS" compiler optimisation flags], [OPTIM="$withval"]) AC_ARG_WITH(debug,[ --with-debug Turn on debugging and compile time warnings], [if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -g -Wall"; else CFLAGS="$CFLAGS -g"; fi]) AC_ARG_WITH(maintainer-mode,[ --with-maintainer-mode Turn on debugging and compile time warnings], [if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations"; else CFLAGS="$CFLAGS -g"; fi]) dnl # this is the place to put specific options for platform/compiler dnl # combinations case "$OS:$CC" in *-hp-hpux*:cc ) CFLAGS="$CFLAGS -Ae +DAportable" ;; powerpc-*-beos:mwcc* ) CPP="mwcc -E" CC="mwcc" AR="ar" ;; mips-sni-sysv4:cc ) CFLAGS="$CFLAGS -Kthread" ;; esac case "$OS" in *-os2*) CFLAGS="$CFLAGS -DOS2 -Zmt" OSDIR="os2" LIBPREFIX="" enable_threads="system_threads" eolstr="\\r\\n" ;; *beos*) OSDIR="beos" CFLAGS="$CFLAGS -DBEOS" enable_threads="system_threads" config_subdirs="shmem/unix/mm" native_mmap_emul="1" USE_MM=yes AC_CHECK_DEFINE(BONE_VERSION, sys/socket.h) eolstr="\\n" ;; *os390) OSDIR="os390" config_subdirs="shmem/unix/mm" USE_MM=yes eolstr="\\n" ;; *) OSDIR="unix" config_subdirs="shmem/unix/mm" USE_MM=yes eolstr="\\n" ;; esac AC_SUBST(eolstr) dnl #----------------------------- Checking for Shared Memory Support echo $ac_n "${nl}Checking for Shared Memory Support...${nl}" # run the MM config script regardless of whether we are going to use # it or not. When we have a much better idea of who is using MM, we can # run this on a more conditional basis. mm_dir=shmem/unix/mm if test "$USE_MM" = "yes"; then APR_PREPARE_MM_DIR RUN_SUBDIR_CONFIG_NOW($config_subdirs) fi AC_MSG_CHECKING(for Shared memory support) AC_ARG_ENABLE(shmem, [ --enable-shmem Enable shared memory support in APR. ], [ ], ac_cv_enable_shmem="mm" ) sharedmem="0" anonymous_shm="0" filebased_shm="0" keybased_shm="0" if test "$ac_cv_enable_shmem" = "mm"; then sharedmem="1" anonymous_shm="1" AC_MSG_RESULT(anonymous) elif test "$ac_cv_enable_shmem" = "file"; then sharedmem="1" filebased_shm="1" AC_MSG_RESULT(file based) elif test "$ac_cv_enable_shmem" = "key"; then sharedmem="1" keybased_shm="1" AC_MSG_RESULT(key based) else AC_MSG_RESULT(no) fi AC_SUBST(sharedmem) AC_SUBST(anonymous_shm) AC_SUBST(filebased_shm) AC_SUBST(keybased_shm) AC_CHECK_DEFINE(MM_SHMT_MMFILE, $srcdir/shmem/unix/mm/mm_conf.h) if test "ac_cv_define_MM_SHMT_MMFILE" = "yes"; then file_based="1" mem_based="0" else file_based="0" mem_based="1" fi AC_SUBST(mem_based) AC_SUBST(file_based) if test ".$SYS_SW" = ".AIX"; then CFLAGS="$CFLAGS -U__STR__" case "$SYS_KV" in [12]*) AC_DEFINE(USEBCOPY) OSDIR="aix" ;; 3*) AC_DEFINE(NEED_RLIM_T) OSDIR="aix" ;; 41*) AC_DEFINE(NEED_RLIM_T) OSDIR="aix" ;; 42*) OSDIR="aix" ;; esac fi dnl #----------------------------- Checks for Any required Libraries AC_CHECK_LIB(nsl,gethostbyname) AC_SEARCH_LIBS(gethostname, nsl) AC_CHECK_LIB(socket,socket) AC_SEARCH_LIBS(crypt, crypt ufc) AC_CHECK_LIB(truerand,main) AC_CHECK_LIB(iconv,iconv) dnl #----------------------------- Checks for Any required Functions dnl Checks for library functions. (N.B. poll is further down) AC_CHECK_FUNCS(strcasecmp stricmp setsid nl_langinfo) AC_CHECK_FUNCS(sigaction, [ have_sigaction="1" ], [ have_sigaction="0" ]) AC_CHECK_FUNCS(setrlimit, [ have_setrlimit="1" ], [ have_setrlimit="0" ]) AC_CHECK_FUNCS(getrlimit, [ have_getrlimit="1" ], [ have_getrlimit="0" ]) AC_CHECK_FUNCS(writev) sendfile="0" AC_CHECK_FUNCS(sendfile send_file, [ sendfile="1" ]) case "$OS" in *alpha*-dec-osf* ) sendfile="0" echo "sendfile support disabled to avoid system problem" ;; esac AC_CHECK_FUNCS(fork, [ fork="1" ], [ fork="0" ]) AC_CHECK_FUNCS(getpass) APR_CHECK_INET_ADDR APR_CHECK_INET_NETWORK AC_SUBST(apr_inaddr_none) AC_CHECK_FUNC(_getch) AC_CHECK_FUNCS(gmtime_r localtime_r) AC_CHECK_FUNCS(iconv, [ iconv="1" ], [ iconv="0" ]) AC_CHECK_FUNCS(mmap, [ mmap="1" ], [ mmap="0" ]) if test "$native_mmap_emul" = "1"; then mmap="1" fi AC_CHECK_FUNCS(hstrerror) AC_CHECK_FUNCS(memmove, [ have_memmove="1" ], [have_memmove="0" ]) AC_CHECK_FUNCS(bzero, [ have_bzero="1" ], [ have_bzero="0"] ) AC_SUBST(sendfile) AC_SUBST(fork) AC_SUBST(have_inet_addr) AC_SUBST(have_inet_network) AC_SUBST(have_sigaction) AC_SUBST(have_setrlimit) AC_SUBST(have_getrlimit) AC_SUBST(iconv) AC_SUBST(mmap) AC_SUBST(have_memmove) AC_SUBST(have_bzero) dnl #----------------------------- Checks for Any required Headers AC_HEADER_STDC AC_CHECK_HEADERS(ByteOrder.h) AC_CHECK_HEADERS(conio.h) AC_CHECK_HEADERS(crypt.h) AC_CHECK_HEADERS(ctype.h, ctypeh="1", ctypeh="0") AC_CHECK_HEADERS(dir.h) AC_CHECK_HEADERS(dirent.h, direnth="1", dirent="0") AC_CHECK_HEADERS(errno.h, errnoh="1", errnoh="0") AC_CHECK_HEADERS(net/errno.h) AC_CHECK_HEADERS(fcntl.h, fcntlh="1", fcntl="0") AC_CHECK_HEADERS(io.h) AC_CHECK_HEADERS(limits.h) AC_CHECK_HEADERS(malloc.h) AC_CHECK_HEADERS(memory.h) AC_CHECK_HEADERS(netdb.h) AC_CHECK_HEADERS(osreldate.h) AC_CHECK_HEADERS(process.h) AC_CHECK_HEADERS(pwd.h) AC_CHECK_HEADERS(sys/sem.h) AC_CHECK_HEADERS(signal.h, signalh="1", signalh="0") AC_CHECK_HEADERS(stdarg.h, stdargh="1", stdargh="0") AC_CHECK_HEADERS(stdio.h, stdioh="1", stdioh"0") AC_CHECK_HEADERS(stdlib.h) AC_CHECK_HEADERS(string.h) AC_CHECK_HEADERS(strings.h) AC_CHECK_HEADERS(sysapi.h) AC_CHECK_HEADERS(sysgtime.h) AC_CHECK_HEADERS(termios.h) AC_CHECK_HEADERS(time.h) AC_CHECK_HEADERS(sys/time.h) AC_CHECK_HEADERS(tpfeq.h) AC_CHECK_HEADERS(tpfio.h) AC_CHECK_HEADERS(sys/uio.h, sys_uioh="1", sys_uioh="0") AC_CHECK_HEADERS(unistd.h) AC_CHECK_HEADERS(poll.h) AC_CHECK_HEADERS(sys/poll.h) AC_CHECK_HEADERS(unix.h) AC_CHECK_HEADERS(arpa/inet.h) AC_CHECK_HEADERS(netinet/in.h, netinet_inh="1", netinet_inh="0") AC_CHECK_HEADERS(netinet/tcp.h) AC_CHECK_HEADERS(iconv.h) AC_CHECK_HEADERS(langinfo.h) AC_CHECK_HEADERS(sys/file.h) AC_CHECK_HEADERS(sys/mman.h) AC_CHECK_HEADERS(sys/resource.h) AC_CHECK_HEADERS(sys/select.h) AC_CHECK_HEADERS(sys/sendfile.h) AC_CHECK_HEADERS(sys/signal.h) AC_CHECK_HEADERS(sys/socket.h, sys_socketh="1", sys_socketh="0") AC_CHECK_HEADERS(sys/stat.h) AC_CHECK_HEADERS(sys/types.h, sys_typesh="1", sys_typesh="0") AC_CHECK_HEADERS(sys/wait.h, sys_waith="1", sys_waith="0") AC_CHECK_HEADERS(dlfcn.h) AC_CHECK_HEADERS(dl.h) AC_CHECK_HEADERS(kernel/OS.h) AC_SUBST(ctypeh) AC_SUBST(errnoh) AC_SUBST(direnth) AC_SUBST(fcntlh) AC_SUBST(netinet_inh) AC_SUBST(stdargh) AC_SUBST(stdioh) AC_SUBST(sys_socketh) AC_SUBST(sys_typesh) AC_SUBST(sys_uioh) AC_SUBST(signalh) AC_SUBST(sys_waith) AC_SUBST(pthreadh) dnl #----------------------------- Checks for standard typedefs AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_SIZE_T AC_TYPE_UID_T AC_CHECK_TYPE(ssize_t, int) AC_C_INLINE AC_C_CONST AC_TYPE_SIZE_T AC_FUNC_SETPGRP APR_CHECK_SOCKLEN_T APR_INADDR_NONE dnl # Checks for integer size AC_CHECK_SIZEOF(char, 1) AC_CHECK_SIZEOF(int, 4) AC_CHECK_SIZEOF(long, 4) AC_CHECK_SIZEOF(short, 2) AC_CHECK_SIZEOF(long double, 12) AC_CHECK_SIZEOF(long long, 8) if test "$ac_cv_sizeof_short" = "2"; then short_value=short fi if test "$ac_cv_sizeof_int" = "4"; then int_value=int fi if test "$ac_cv_sizeof_long" = "8"; then long_value=long fi if test "$ac_cv_sizeof_long_double" = "8"; then long_value="long double" fi if test "$ac_cv_sizeof_long_long" = "8"; then if test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_long"; then long_value="long" else long_value="long long" fi fi if test "$ac_cv_sizeof_longlong" = "8"; then long_value="__int64" fi if test "$ac_cv_type_off_t" = "yes"; then off_t_value="off_t" else off_t_value="apr_int32_t" fi if test "$ac_cv_type_size_t" = "yes"; then size_t_value="size_t" else size_t_value="apr_int32_t" fi if test "$ac_cv_type_ssize_t" = "yes"; then ssize_t_value="ssize_t" else ssize_t_value="apr_int32_t" fi if test "$ac_cv_socklen_t" = "yes"; then socklen_t_value="socklen_t" else socklen_t_value="int" fi AC_CHECK_SIZEOF_EXTENDED([#include ], ssize_t, 8) if test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_int"; then ssize_t_fmt='#define APR_SSIZE_T_FMT "d"' elif test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_long"; then ssize_t_fmt='#define APR_SSIZE_T_FMT "ld"' else ssize_t_fmt='#error Can not determine the proper size for ssize_t' fi AC_CHECK_SIZEOF_EXTENDED([#include ], off_t, 8) if test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_int"; then off_t_fmt='#define APR_OFF_T_FMT "d"' elif test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_long"; then off_t_fmt='#define APR_OFF_T_FMT "ld"' elif test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_long_long"; then off_t_fmt='#define APR_OFF_T_FMT "qd"' else off_t_fmt='#error Can not determine the proper size for off_t' fi # basically, we have tried to figure out the sizes of apr_ssize_t and # apr_off_t, but we don't always get it right. If you find that we # don't get it right for your platform, you can override our decision # below. case "$OS" in *linux* | *os2_emx | *-pc-solaris*) off_t_fmt='#define APR_OFF_T_FMT "ld"' esac AC_SUBST(short_value) AC_SUBST(int_value) AC_SUBST(long_value) AC_SUBST(off_t_value) AC_SUBST(size_t_value) AC_SUBST(ssize_t_value) AC_SUBST(socklen_t_value) AC_SUBST(ssize_t_fmt) AC_SUBST(off_t_fmt) dnl #----------------------------- Checking for string functions AC_CHECK_FUNCS(strnicmp, have_strnicmp="1", have_strnicmp="0") AC_CHECK_FUNCS(strncasecmp, have_strncasecmp="1", have_strncasecmp="0") AC_CHECK_FUNCS(stricmp, have_stricmp="1", have_stricmp="0") AC_CHECK_FUNCS(strcasecmp, have_strcasecmp="1", have_strcasecmp="0") AC_CHECK_FUNCS(strdup, have_strdup="1", have_strdup="0") AC_CHECK_FUNCS(strstr, have_strstr="1", have_strstr="0") AC_SUBST(have_strnicmp) AC_SUBST(have_strncasecmp) AC_SUBST(have_stricmp) AC_SUBST(have_strcasecmp) AC_SUBST(have_strdup) AC_SUBST(have_strstr) dnl #----------------------------- Checking for DSO support echo $ac_n "${nl}Checking for DSO...${nl}" AC_ARG_ENABLE(dso, [ --enable-dso Enable dso support ], [ tempdso=$enableval], [ AC_CHECK_LIB(dl, dlopen, [ tempdso="yes" LIBS="$LIBS -ldl" ], tempdso="no") if test "$tempdso" = "no"; then AC_CHECK_FUNCS(dlopen, [ tempdso="yes" ], [ tempdso="no" ]) fi if test "$tempdso" = "no"; then AC_CHECK_LIB(root, load_image, tempdso="yes", tempdso="no") fi if test "$tempdso" = "no"; then case $OS in *os390) tempdso="yes" ;; esac fi ] ) if test "$tempdso" = "no"; then aprdso="0" else aprdso="1" MODULES="$MODULES dso" fi AC_SUBST(aprdso) dnl #----------------------------- Checking for Threads echo $ac_n "${nl}Checking for Threads...${nl}" if test -z "$enable_threads"; then AC_ARG_ENABLE(threads, [ --enable-threads Enable threading support in APR.], [ enable_threads=$enableval] , [ CHECK_PTHREADS_H([ enable_threads="pthread" ] , [ enable_threads="no" ] ) ] ) fi if test "$enable_threads" = "no"; then echo "Don't enable threads" threads="0" pthreadh="0" pthreadser="0" else REENTRANCY_FLAGS if test "$enable_threads" = "pthread"; then # We have specified pthreads for our threading library, just make sure # that we have everything we need PTHREADS_CHECK CHECK_PTHREADS_H([ threads="1" pthreadh="1" pthreadser="1" AC_DEFINE(USE_THREADS) ], [ threads="0" pthreadh="0" pthreadser="0" ] ) elif test "$enable_threads" = "system_threads"; then threads="1" pthreadh="0" pthreadser="0" else # We basically specified that we wanted threads, but not how to implement # them. In this case, just look for pthreads. In the future, we can check # for other threading libraries as well. PTHREADS_CHECK CHECK_PTHREADS_H([ threads="1" pthreadh="1" pthreadser="1" AC_DEFINE(USE_THREADS) ], [ threads="0" pthreadser="0" pthreadh="0" ] ) fi fi if test "$pthreadh" = "1"; then APR_CHECK_PTHREAD_GETSPECIFIC_TWO_ARGS APR_CHECK_PTHREAD_ATTR_GETDETACHSTATE_ONE_ARG AC_CHECK_FUNCS(pthread_key_delete) fi ac_cv_define_READDIR_IS_THREAD_SAFE=no if test "$threads" = "1"; then echo "APR will use threads" AC_CHECK_LIB(c_r, readdir, AC_DEFINE(READDIR_IS_THREAD_SAFE)) else echo "APR will be non-threaded" fi AC_SUBST(threads) dnl THIS MUST COME AFTER THE THREAD TESTS - FreeBSD doesn't always have a dnl threaded poll() AC_CHECK_FUNCS(poll) dnl #----------------------------- Checking for Processes echo $ac_n "${nl}Checking for Processes...${nl}" AC_CHECK_FUNCS(waitpid) AC_ARG_ENABLE(other-child, [ --enable-other-child Enable reliable child processes ], [ if test "$enableval" = "yes"; then oc="1" else oc="0" fi ], [ oc=1 ] ) AC_SUBST(oc) AC_CACHE_CHECK(struct rlimit,ac_cv_struct_rlimit,[ AC_TRY_RUN([ #include #include #include main() { struct rlimit limit; limit.rlim_cur = 0; limit.rlim_max = 0; exit(0); }], [ ac_cv_struct_rlimit=yes ], [ ac_cv_struct_rlimit=no ], [ ac_cv_struct_rlimit=no ] ) ] ) struct_rlimit=0 test "x$ac_cv_struct_rlimit" = xyes && struct_rlimit=1 AC_SUBST(struct_rlimit) dnl #----------------------------- Checking for Locking Characteristics echo $ac_n "${nl}Checking for Locking...${nl}" # It's stupid, but not all platforms have union semun, even those that need it. AC_MSG_CHECKING(for union semun in sys/sem.h) AC_TRY_COMPILE([ #include #include #include ],[ union semun arg; semctl(0, 0, 0, arg); ], [have_union_semun="1" union_semun=yes ] msg=yes, [ have_union_semun="0" msg=no ] ) AC_MSG_RESULT([$msg]) AC_SUBST(have_union_semun) dnl Checks for libraries. AC_CHECK_DEFINE(LOCK_EX, sys/file.h) AC_CHECK_DEFINE(F_SETLK, fcntl.h) AC_CHECK_DEFINE(CODESET, langinfo.h) AC_CHECK_DEFINE(isascii, ctype.h) # We are assuming that if the platform doesn't have POLLIN, it doesn't have # any POLL definitions. AC_CHECK_DEFINE_FILES(POLLIN, poll.h sys/poll.h) if test "$threads" = "1"; then AC_CHECK_DEFINE(PTHREAD_PROCESS_SHARED, pthread.h) fi AC_BEGIN_DECISION([ap_lock implementation method]) AC_IFALLYES(custom:union_semun, AC_DECIDE(USE_SYSVSEM_SERIALIZE, [SysV IPC semget()])) AC_IFALLYES(header:sys/file.h define:LOCK_EX, AC_DECIDE(USE_FLOCK_SERIALIZE, [4.2BSD-style flock()])) AC_IFALLYES(header:fcntl.h define:F_SETLK, AC_DECIDE(USE_FCNTL_SERIALIZE, [SVR4-style fcntl()])) AC_IFALLYES(header:pthread.h define:PTHREAD_PROCESS_SHARED dnl custom:with_pthread_cross, AC_DECIDE(USE_PROC_PTHREAD_SERIALIZE, [pthread mutex])) dnl AC_DECISION_FORCE(USE_FCNTL_SERIALIZE) AC_END_DECISION AC_DEFINE_UNQUOTED($ac_decision) flockser="0" sysvser="0" procpthreadser="0" fcntlser="0" case $ac_decision in USE_FLOCK_SERIALIZE ) flockser="1" ;; USE_SYSVSEM_SERIALIZE ) sysvser="1" ;; USE_FCNTL_SERIALIZE ) fcntlser="1" ;; USE_PROC_PTHREAD_SERIALIZE ) procpthreadser="1" ;; esac AC_SUBST(flockser) AC_SUBST(sysvser) AC_SUBST(fcntlser) AC_SUBST(procpthreadser) AC_SUBST(pthreadser) dnl #----------------------------- Checking for /dev/random AC_MSG_CHECKING(for /dev/random) if test -r "/dev/random"; then AC_DEFINE(DEV_RANDOM, [/dev/random]) AC_MSG_RESULT(/dev/random) rand="1" elif test -r "/dev/urandom"; then AC_DEFINE(DEV_RANDOM, [/dev/urandom]) AC_MSG_RESULT(/dev/urandom) rand="1" else AC_MSG_RESULT(not found); if test "$ac_cv_lib_truerand_main" = "yes"; then rand="1" else rand="0" fi fi AC_SUBST(rand) dnl #----------------------------- Checking for Time Support echo $ac_n "${nl}Checking for Time Support...${nl}" AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff, [AC_TRY_COMPILE([#include #include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_gmtoff;], ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)]) if test "$ac_cv_struct_tm_gmtoff" = "yes"; then AC_DEFINE(HAVE_GMTOFF) fi dnl #----------------------------- Checking for Networking Support echo $ac_n "${nl}Checking for Networking support...${nl}" AC_MSG_CHECKING(looking for in_addr in netinet/in.h) AC_TRY_COMPILE([ #include #include ],[ struct in_addr arg; arg.s_addr = htonl(INADDR_ANY); ], [ have_in_addr="1" msg=yes ] , [ have_in_addr="0" msg=no ]) AC_MSG_RESULT([$msg]) if test "x$file_as_socket" = "x" ; then file_as_socket="1"; fi AC_SUBST(have_in_addr) AC_SUBST(file_as_socket) APR_CHECK_SOCKADDR_SA_LEN APR_CHECK_GETHOSTBYNAME_NAS echo $ac_n "${nl}Checking for IPv6 Networking support...${nl}" dnl # Start of checking for IPv6 support... AC_SEARCH_LIBS(getaddrinfo, inet6) AC_CHECK_FUNCS(getaddrinfo) AC_CHECK_FUNCS(getipnodebyname) AC_CHECK_FUNCS(getipnodebyaddr) APR_CHECK_SOCKADDR_IN6 AC_SUBST(have_sockaddr_in6) dnl #----------------------------- Construct the files AC_SUBST(LDLIBS) AC_SUBST(OPTIM) AC_SUBST(RANLIB) AC_SUBST(AR) AC_SUBST(RM) AC_SUBST(OSDIR) AC_SUBST(DEFAULT_OSDIR) AC_SUBST(LIBPREFIX) AC_SUBST(EXEEXT) AC_SUBST(THREAD_CPPFLAGS) AC_SUBST(THREAD_CFLAGS) echo "${nl}Construct Makefiles and header files." MAKEFILE1="Makefile lib/Makefile strings/Makefile passwd/Makefile tables/Makefile" SUBDIRS="lib strings passwd tables " for dir in $MODULES do test -d $dir || $MKDIR -p $dir if test -f $srcdir/$dir/$OSDIR/Makefile.in; then MAKEFILE2="$MAKEFILE2 $dir/$OSDIR/Makefile " SUBDIRS="$SUBDIRS $dir/$OSDIR " else MAKEFILE2="$MAKEFILE2 $dir/$DEFAULT_OSDIR/Makefile " SUBDIRS="$SUBDIRS $dir/$DEFAULT_OSDIR " fi done MAKEFILE3="test/Makefile" AC_SUBST(SUBDIRS) AC_SUBST(MODULES) if test -n "$CPPFLAGS"; then CFLAGS="$CFLAGS $CPPFLAGS" fi SAVE_FILES="include/apr.h include/apr_private.h" for i in $SAVE_FILES; do test -r $i && mv $i $i.save done AC_OUTPUT($MAKEFILE1 $MAKEFILE2 $MAKEFILE3 include/apr.h APRVARS,[ SAVE_FILES="include/apr.h include/apr_private.h" for i in $SAVE_FILES; do if cmp -s $i $i.save 2>/dev/null; then mv $i.save $i echo "$i is unchanged" fi rm -f $i.save done ]) dnl #----------------------------- Fixup Makefiles for VPATH support changequote({,}) if test -n "$USE_VPATH"; then if test -n "$USE_MM"; then MAKEFILE3="$MAKEFILE3 $mm_dir/Makefile" fi for makefile in $MAKEFILE1 $MAKEFILE2 $MAKEFILE3; do dir=`echo $makefile|sed 's%[^/][^/]*$%%'` (cat < tmp cp tmp $makefile done if test -n "$USE_MM"; then cat $mm_dir/Makefile | \ sed \ -e 's#\($(CFLAGS)\)#\1 -I$(srcdir) -I.#' \ -e '/mm_global\.c/d' \ > tmp cp tmp $mm_dir/Makefile fi rm -f tmp fi changequote([,])