⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configure.in

📁 linux subdivision ying gai ke yi le ba
💻 IN
📖 第 1 页 / 共 4 页
字号:
      APR_CHECK_PTHREADS_H([          threads="1"          pthreadh="1"          pthreadser="1"          AC_DEFINE(USE_THREADS, 1, [Define if APR supports threads]) ], [          threads="0"          pthreadh="0"          pthreadser="0"          APR_PTHREADS_CHECK_RESTORE ] )    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.      APR_PTHREADS_CHECK_SAVE      APR_PTHREADS_CHECK      APR_CHECK_PTHREADS_H([          threads="1"          pthreadh="1"          pthreadser="1"          AC_DEFINE(USE_THREADS) ], [          threads="0"          pthreadser="0"          pthreadh="0"          APR_PTHREADS_CHECK_RESTORE ] )    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 pthread_rwlock_init)        if test "$ac_cv_func_pthread_rwlock_init" = "yes"; then            dnl ----------------------------- Checking for pthread_rwlock_t            dnl Linux is silly as it has pthread_rwlock_init defined            dnl but keeps the pthread_rwlock_t structure hidden unless             dnl special things are defined.            AC_CACHE_CHECK([for pthread_rwlock_t], [apr_cv_type_rwlock_t],            AC_TRY_COMPILE([#include <sys/types.h>#include <pthread.h>], [pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;],              [apr_cv_type_rwlock_t=yes],              [AC_TRY_COMPILE([#define _XOPEN_SOURCE 500#define _BSD_SOURCE#define _SVID_SOURCE#include <sys/types.h>#include <pthread.h>], [pthread_rwlock_t rwlock=PTHREAD_RWLOCK_INITIALIZER;],              [apr_cv_type_rwlock_t=yes-with-XOPEN_SOURCE], [apr_cv_type_rwlock_t=no])],              [apr_cv_type_rwlock_t=no]))            case $apr_cv_type_rwlock_t in            yes*) AC_DEFINE(HAVE_PTHREAD_RWLOCKS, 1, [Define if pthread rwlocks are available]) ;;            esac            if test "$apr_cv_type_rwlock_t" = "yes-with-XOPEN_SOURCE"; then               APR_ADDTO(CPPFLAGS, [-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE])            fi        fi        # this might also require -DXOPEN_SOURCE=500, so leave after the        # rwlock check.        APR_CHECK_PTHREAD_RECURSIVE_MUTEX    fifiac_cv_define_READDIR_IS_THREAD_SAFE=noac_cv_define_GETHOSTBYNAME_IS_THREAD_SAFE=noac_cv_define_GETHOSTBYADDR_IS_THREAD_SAFE=noif test "$threads" = "1"; then    echo "APR will use threads"    AC_CHECK_LIB(c_r, readdir,        AC_DEFINE(READDIR_IS_THREAD_SAFE, 1,                   [Define if readdir is thread safe]))    if test "x$apr_gethostbyname_is_thread_safe" = "x"; then        AC_CHECK_LIB(c_r, gethostbyname, apr_gethostbyname_is_thread_safe=yes)    fi    if test "$apr_gethostbyname_is_thread_safe" = "yes"; then        AC_DEFINE(GETHOSTBYNAME_IS_THREAD_SAFE, 1,                  [Define if gethostbyname is thread safe])    fi    if test "x$apr_gethostbyaddr_is_thread_safe" = "x"; then        AC_CHECK_LIB(c_r, gethostbyaddr, apr_gethostbyaddr_is_thread_safe=yes)    fi    if test "$apr_gethostbyaddr_is_thread_safe" = "yes"; then        AC_DEFINE(GETHOSTBYADDR_IS_THREAD_SAFE, 1,                   [Define if gethostbyaddr is thread safe])    fi    AC_CHECK_FUNCS(gethostbyname_r gethostbyaddr_r)else    echo "APR will be non-threaded"fiAC_CHECK_FUNCS(sigsuspend, [ have_sigsuspend="1" ], [ have_sigsuspend="0" ])AC_CHECK_FUNCS(sigwait, [ have_sigwait="1" ], [ have_sigwait="0" ]) dnl AC_CHECK_FUNCS doesn't work for this on Tru64 since the functiondnl is renamed in signal.h.  Todo: Autodetectcase $host in    *alpha*-dec-osf* )        have_sigwait="1"        ;;esacAC_SUBST(threads)AC_SUBST(have_sigsuspend)AC_SUBST(have_sigwait)AC_CHECK_FUNCS(poll)dnl ----------------------------- Checking for missing POSIX thread functionsAC_CHECK_FUNCS([getpwnam_r getpwuid_r getgrnam_r getgrgid_r])dnl ----------------------------- Checking for Shared Memory Support echo "${nl}Checking for Shared Memory Support..."# The real-time POSIX extensions (e.g. shm_*, sem_*) may only# be available if linking against librt.AC_SEARCH_LIBS(shm_open, rt)case $host in *-sysv*)   ac_includes_default="$ac_includes_default#if HAVE_SYS_MUTEX_H /* needed to define lock_t for sys/shm.h */# include <sys/mutex.h>#endif";;esacAC_CHECK_HEADERS([sys/mman.h sys/ipc.h sys/mutex.h sys/shm.h sys/file.h kernel/OS.h os2.h])AC_CHECK_FUNCS([mmap munmap shm_open shm_unlink shmget shmat shmdt shmctl \                create_area])APR_CHECK_DEFINE(MAP_ANON, sys/mman.h)APR_CHECK_FILE(/dev/zero)# Not all systems can mmap /dev/zero (such as HP-UX).  Check for that.if test "$ac_cv_func_mmap" = "yes" &&   test "$ac_cv_file__dev_zero" = "yes"; then    AC_MSG_CHECKING(for mmap that can map /dev/zero)    AC_TRY_RUN([#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#ifdef HAVE_SYS_MMAN_H#include <sys/mman.h>#endif    int main()    {        int fd;        void *m;        fd = open("/dev/zero", O_RDWR);        if (fd < 0) {            return 1;        }        m = mmap(0, sizeof(void*), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);        if (m == (void *)-1) {  /* aka MAP_FAILED */            return 2;        }        if (munmap(m, sizeof(void*)) < 0) {            return 3;        }        return 0;    }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no])    AC_MSG_RESULT($ac_cv_file__dev_zero)fi# Now we determine which one is our anonymous shmem preference.haveshmgetanon="0"havemmapzero="0"havemmapanon="0"APR_BEGIN_DECISION([anonymous shared memory allocation method])APR_IFALLYES(header:sys/ipc.h header:sys/shm.h header:sys/file.h dnl             func:shmget func:shmat func:shmdt func:shmctl,             [haveshmgetanon="1"              APR_DECIDE(USE_SHMEM_SHMGET_ANON, [SysV IPC shmget()])])APR_IFALLYES(header:sys/mman.h func:mmap func:munmap file:/dev/zero,             [havemmapzero="1"              APR_DECIDE(USE_SHMEM_MMAP_ZERO,                   [SVR4-style mmap() on /dev/zero])])APR_IFALLYES(header:sys/mman.h func:mmap func:munmap define:MAP_ANON,             [havemmapanon="1"              APR_DECIDE(USE_SHMEM_MMAP_ANON,                   [4.4BSD-style mmap() via MAP_ANON])])APR_IFALLYES(header:os2.h,             [haveos2shm="1"              APR_DECIDE(USE_SHMEM_OS2_ANON, [OS/2 DosAllocSharedMem()])])APR_IFALLYES(header:kernel/OS.h func:create_area,             [havebeosshm="1"              APR_DECIDE(USE_SHMEM_BEOS_ANON,                         [BeOS areas])])case $host in    *linux* )         # Linux has problems with MM_SHMT_MMANON even though it reports        # that it has it.        # FIXME - find exact 2.3 version that MMANON was fixed in.  It is        # confirmed fixed in 2.4 series.        if test $os_version -le "240"; then            APR_DECISION_OVERRIDE(USE_SHMEM_MMAP_ZERO USE_SHMEM_SHMGET_ANON)        fi        ;;    *hpux11* )         APR_DECISION_OVERRIDE(USE_SHMEM_SHMGET_ANON)        ;;esacAPR_END_DECISIONAC_DEFINE_UNQUOTED($ac_decision)useshmgetanon="0"usemmapzero="0"usemmapanon="0"case $ac_decision in    USE_SHMEM_SHMGET_ANON )        useshmgetanon="1"        ;;    USE_SHMEM_MMAP_ZERO )        usemmapzero="1"        ;;    USE_SHMEM_MMAP_ANON )        usemmapanon="1"        ;;esacAC_SUBST(useshmgetanon)AC_SUBST(usemmapzero)AC_SUBST(usemmapanon)AC_SUBST(haveshmgetanon)AC_SUBST(havemmapzero)AC_SUBST(havemmapanon)# Now we determine which one is our name-based shmem preference.havemmaptmp="0"havemmapshm="0"haveshmget="0"havebeosarea="0"haveos2shm="0"APR_BEGIN_DECISION([namebased memory allocation method])APR_IFALLYES(header:sys/mman.h func:mmap func:munmap,             [havemmaptmp="1"              APR_DECIDE(USE_SHMEM_MMAP_TMP,                   [Classical mmap() on temporary file])])APR_IFALLYES(header:sys/mman.h func:mmap func:munmap func:shm_open dnl             func:shm_unlink,             [havemmapshm="1"              APR_DECIDE(USE_SHMEM_MMAP_SHM,                   [mmap() via POSIX.1 shm_open() on temporary file])])APR_IFALLYES(header:sys/ipc.h header:sys/shm.h header:sys/file.h dnl             func:shmget func:shmat func:shmdt func:shmctl,             [haveshmget="1"              APR_DECIDE(USE_SHMEM_SHMGET, [SysV IPC shmget()])])APR_IFALLYES(header:kernel/OS.h func:create_area,             [havebeosshm="1"              APR_DECIDE(USE_SHMEM_BEOS, [BeOS areas])])APR_IFALLYES(header:os2.h,             [haveos2shm="1"              APR_DECIDE(USE_SHMEM_OS2, [OS/2 DosAllocSharedMem()])])case $host in    *linux* )         # Linux has problems with MM_SHMT_MMANON even though it reports        # that it has it.        # FIXME - find exact 2.3 version that MMANON was fixed in.  It is        # confirmed fixed in 2.4 series.        if test $os_version -le "240"; then            APR_DECISION_OVERRIDE(USE_SHMEM_MMAP_TMP USE_SHMEM_MMAP_SHM dnl                                  USE_SHMEM_SHMGET)        fi        ;;esacAPR_END_DECISIONAC_DEFINE_UNQUOTED($ac_decision)usemmaptmp="0"usemmapshm="0"useshmget="0"usebeosarea="0"useos2shm="0"case $ac_decision in    USE_SHMEM_MMAP_TMP )        usemmaptmp="1"        ;;    USE_SHMEM_MMAP_SHM )        usemmapshm="1"        ;;    USE_SHMEM_SHMGET )        useshmget="1"        ;;    USE_SHMEM_BEOS )        usebeosarea="1"        ;;    USE_SHMEM_OS2 )        useos2shm="1"        ;;esac# Do we have any shared memory support?if test "$usemmaptmp$usemmapshm$usemmapzero$useshmget$usemmapanon$usebeosarea$useos2shm" = "0000000"; then  sharedmem="0"else  sharedmem="1"fiAC_SUBST(usemmaptmp)AC_SUBST(usemmapshm)AC_SUBST(useshmget)AC_SUBST(usebeosarea)AC_SUBST(useos2shm)AC_SUBST(havemmaptmp)AC_SUBST(havemmapshm)AC_SUBST(haveshmget)AC_SUBST(havebeosarea)AC_SUBST(haveos2shm)AC_SUBST(sharedmem)dnl ----------------------------- Checks for Any required Functionsdnl Checks for library functions. (N.B. poll is further down)AC_CHECK_FUNCS(alloca calloc strcasecmp stricmp setsid isinf isnan)AC_CHECK_FUNCS(getenv putenv setenv unsetenv)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_LIB(sendfile, sendfilev)AC_CHECK_FUNCS(sendfile send_file sendfilev, [ sendfile="1" ])AC_CHECK_FUNCS(utime utimes)dnl THIS MUST COME AFTER THE THREAD TESTS - FreeBSD doesn't always have adnl threaded poll() and we don't want to use sendfile on early FreeBSD dnl systems if we are also using threads.AC_ARG_WITH(sendfile, [  --with-sendfile         Override decision to use sendfile],  [ if test "$withval" = "yes"; then        sendfile="1"    else        sendfile="0"    fi ], [    orig_sendfile=$sendfile    case $host in        *freebsd*)            if test $os_version -le "410"; then                if test "$threads" = "1"; then                    sendfile="0"                fi            fi            ;;        *alpha*-dec-osf* )            sendfile="0"            ;;        s390-*-linux-gnu)            # disable sendfile support for 2.2 on S/390            if test $os_version -lt 240; then                sendfile="0"            fi            ;;        *aix*)            # compiler-independent check for 64-bit build            AC_CHECK_SIZEOF(void*, 4)            if test "x$ac_cv_sizeof_voidp" = "x8"; then                # sendfile not working for 64-bit build                sendfile="0"            fi            ;;    esac           if test "$orig_sendfile" != "$sendfile"; then      echo "sendfile support disabled to avoid system problem"    fi ] )AC_SUBST(sendfile)AC_CHECK_FUNCS(sigaction, [ have_sigaction="1" ], [ have_sigaction="0" ]) AC_DECL_SYS_SIGLISTAC_CHECK_FUNCS(fork, [ fork="1" ], [ fork="0" ])APR_CHECK_INET_ADDRAPR_CHECK_INET_NETWORKAC_SUBST(apr_inaddr_none)AC_CHECK_FUNC(_getch)AC_CHECK_FUNCS(strerror_r, [ strerror_r="1" ], [ strerror_r="0" ])if test "$strerror_r" = "1"; then  APR_CHECK_STRERROR_R_RCfiAC_CHECK_FUNCS(crypt_r, [ crypt_r="1" ], [ crypt_r="0" ])if test "$crypt_r" = "1"; then  APR_CHECK_CRYPT_R_STYLEfiAC_CHECK_FUNCS(mmap, [ mmap="1" ], [ mmap="0" ])if test "$native_mmap_emul" = "1"; then    mmap="1"fiAC_CHECK_FUNCS(memmove, [ have_memmove="1" ], [have_memmove="0" ])AC_CHECK_FUNCS([getpass getpassphrase gmtime_r localtime_r hstrerror mkstemp])AC_SUBST(fork)AC_SUBST(have_inet_addr)AC_SUBST(tcp_nodelay_inherited)AC_SUBST(o_nonblock_inherited)AC_SUBST(have_inet_network)AC_SUBST(have_sigaction)AC_SUBST(have_setrlimit)AC_SUBST(have_getrlimit)AC_SUBST(mmap)AC_SUBST(have_memmove)APR_CHECK_SIGWAIT_ONE_ARGAPR_CHECK_DIRENT_INODEAPR_CHECK_DIRENT_TYPEdnl ----------------------------- Checks for Any required HeadersAC_HEADER_STDCAPR_FLAG_HEADERS(    alloca.h            \    ByteOrder.h		\    conio.h		\    crypt.h		\    ctype.h		\    dir.h		\    dirent.h		\    dl.h		\    dlfcn.h		\    errno.h		\    fcntl.h		\    grp.h		\    io.h		\    limits.h		\    mach-o/dyld.h	\    malloc.h		\    memory.h		\    netdb.h		\    osreldate.h		\    poll.h		\    process.h		\    pwd.h		\    semaphore.h		\    signal.h		\    stdarg.h		\    stddef.h		\    stdio.h		\    stdlib.h		\    string.h		\    strings.h		\    sysapi.h		\    sysgtime.h		\    termios.h		\    time.h		\    tpfeq.h		\    tpfio.h		\    unistd.h		\    unix.h		\    arpa/inet.h		\    kernel/OS.h		\    net/errno.h		\    netinet/in.h	\    netinet/sctp.h      \    netinet/sctp_uio.h  \    sys/file.h		\    sys/ioctl.h         \    sys/mman.h		\    sys/poll.h		\    sys/resource.h	\    sys/select.h	\    sys/sem.h		\    sys/sendfile.h	\    sys/signal.h	\    sys/socket.h	\    sys/sockio.h	\    sys/stat.h          \    sys/sysctl.h	\    sys/syslimits.h	\    sys/time.h		\    sys/types.h		\    sys/uio.h		\    sys/un.h		\    sys/wait.h)# IRIX 6.5 has a problem in <netinet/tcp.h> which prevents it from# being included by itself.  Check for <netinet/tcp.h> manually,# including another header file first.AC_CACHE_CHECK([for netinet/tcp.h], [apr_cv_hdr_netinet_tcp_h],[AC_TRY_CPP([#ifdef HAVE_NETINET_IN_H#include <netinet/in.h>#endif#include <netinet/tcp.h>], [apr_cv_hdr_netinet_tcp_h=yes], [apr_cv_hdr_netinet_tcp_h=no])])if test "$apr_cv_hdr_netinet_tcp_h" = "yes"; then   netinet_tcph=1   AC_DEFINE([HAVE_NETINET_TCP_H], 1, [Defined if netinet/tcp.h is present])else   netinet_tcph=0fiAC_SUBST(arpa_ineth)AC_SUBST(conioh)AC_SUBST(ctypeh)AC_SUBST(crypth)AC_SUBST(errnoh)AC_SUBST(direnth)AC_SUBST(fcntlh)AC_SUBST(ioh)AC_SUBST(limitsh)AC_SUBST(netdbh)AC_SUBST(sys_syslimitsh)AC_SUBST(netinet_inh)AC_SUBST(netinet_sctph)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -