AC_CONFIG_AUX_DIR(./helpers) OS=`./config.guess` OS=`./config.sub $OS` echo "Configuring APR library" echo "Platform: ${OS}" dnl Process this file with autoconf to produce a configure script. AC_INIT(configure.in) AC_CONFIG_HEADER(include/apr_config.h) AC_ARG_WITH(optim,[ --with-optim="FLAGS" compiler optimisation flags], [OPTIM="$withval"]) # Most platforms use a prefix of 'lib' on their library files. LIBPREFIX='lib' dnl Checks for programs. AC_PROG_CC AC_PROG_RANLIB AC_PROG_MAKE_SET AC_CHECK_PROG(RM, rm, rm) AC_CHECK_PROG(AR, ar, ar) dnl # this is the place to put specific options for platform/compiler dnl # combinations case "$OS:$CC" in *-hp-hpux*:cc ) CFAGS="$CFLAGS -Ae +DAportable" ;; esac # This macro needs to be here in case we are on an AIX box. AC_AIX 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) 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 # Use /bin/sh if it exists, otherwise go looking for sh in the path if (test -z "$SH" -a -e /bin/sh); then SH="/bin/sh" fi AC_CHECK_PROG(SH, sh, sh) AC_CHECK_DEFINE(LOCK_EX, sys/file.h) AC_CHECK_DEFINE(F_SETLK, fcntl.h) AC_CHECK_DEFINE(PTHREAD_PROCESS_SHARED, pthread.h) dnl Checks for libraries. AC_BEGIN_DECISION([lock implementation method]) AC_IFALLYES(header:sys/file.h define:LOCK_EX, AC_DECIDE(USE_FLOCK_SERIALIZE, [4.2BSD-style flock()])) AC_IFALLYES(header:sys/ipc.h header:sys/sem.h header:sys/file.h dnl func:semget func:semctl, AC_DECIDE(USE_SYSVSEM_SERIALIZE, [SysV IPC semget()])) 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:use_pthread_cross, AC_DECIDE(USE_PROC_PTHREAD_SERIALIZE, [pthread mutex])) AC_DECISION_FORCE(USE_FCNTL_SERIALIZE) AC_END_DECISION AC_DEFINE_UNQUOTED($ac_decision) AC_CHECK_LIB(pthread, pthread_mutex_init, AC_DEFINE(USE_PTHREAD_SERIALIZE)) case "$OS" in *beos*) OSDIR="beos" ;; *) OSDIR="unix" ;; esac AC_CHECK_LIB(dl, dlopen) AC_CHECK_LIB(pthread, pthread_mutex_init) if (test "$SYS_SW" = "AIX"); then CFLAGS="$CFLAGS -U__STR__" case "$SYS_KV" in [12]*) AC_DEFINE(USEBCOPY) ;; 3*) AC_DEFINE(NEED_RLIM_T) ;; 41*) AC_DEFINE(NEED_RLIM_T) ;; esac fi if (test "$SYS_SW" = "FreeBSD"); then CFLAGS="$CFLAGS -pthread -U__STR__" fi dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(crypt.h) AC_CHECK_HEADERS(ctype.h) AC_CHECK_HEADERS(dir.h) AC_CHECK_HEADERS(dirent.h) AC_CHECK_HEADERS(errno.h) AC_CHECK_HEADERS(net/errno.h) AC_CHECK_HEADERS(fcntl.h) AC_CHECK_HEADERS(features.h) AC_CHECK_HEADERS(grp.h) AC_CHECK_HEADERS(io.h) AC_CHECK_HEADERS(limits.h) AC_CHECK_HEADERS(malloc.h) AC_CHECK_HEADERS(math.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(setjmp.h) AC_CHECK_HEADERS(signal.h) AC_CHECK_HEADERS(stdarg.h) AC_CHECK_HEADERS(stddef.h) AC_CHECK_HEADERS(stdio.h) AC_CHECK_HEADERS(stdlib.h) AC_CHECK_HEADERS(string.h) AC_CHECK_HEADERS(sysapi.h) AC_CHECK_HEADERS(sysgtime.h) AC_CHECK_HEADERS(time.h) AC_CHECK_HEADERS(sys/time.h) AC_CHECK_HEADERS(sys/times.h) AC_CHECK_HEADERS(tpfeq.h) AC_CHECK_HEADERS(tpfio.h) AC_CHECK_HEADERS(unistd.h) AC_CHECK_HEADERS(poll.h) AC_CHECK_HEADERS(unix.h) AC_CHECK_HEADERS(winsock.h) AC_CHECK_HEADERS(arpa/inet.h) AC_CHECK_HEADERS(netinet/in.h) AC_CHECK_HEADERS(sys/file.h) AC_CHECK_HEADERS(sys/ioctl.h) AC_CHECK_HEADERS(sys/mman.h) AC_CHECK_HEADERS(sys/param.h) AC_CHECK_HEADERS(sys/resource.h) AC_CHECK_HEADERS(sys/select.h) AC_CHECK_HEADERS(sys/socket.h) AC_CHECK_HEADERS(sys/stat.h) AC_CHECK_HEADERS(sys/types.h) AC_CHECK_HEADERS(sys/wait.h) AC_CHECK_HEADERS(pthread.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T AC_FUNC_MMAP AC_FUNC_SETPGRP AC_MSG_CHECKING(looking for union semun in sys/sem.h) AC_TRY_COMPILE([ #include #include #include ],[ union semun arg; semctl(0, 0, 0, arg); ], AC_DEFINE(HAVE_STRUCT_UNION_SEMUN) msg=yes,dnl msg=no) AC_MSG_RESULT([$msg]) dnl Checks for library functions. AC_CHECK_FUNCS(strcasecmp stricmp poll setsid) AC_CHECK_FUNCS(sigaction writev) dnl Start building stuff from our information AC_SUBST(LDLIBS) AC_SUBST(OPTIM) AC_SUBST(RANLIB) AC_SUBST(AR) AC_SUBST(RM) AC_SUBST(OSDIR) AC_SUBST(LIBPREFIX) AC_SUBST(EXEEXT) AC_OUTPUT(Makefile lib/Makefile file_io/$OSDIR/Makefile network_io/$OSDIR/Makefile threadproc/$OSDIR/Makefile locks/$OSDIR/Makefile misc/$OSDIR/Makefile time/$OSDIR/Makefile signal/$OSDIR/Makefile test/Makefile)