Annotation of embedaddon/lighttpd/configure.ac, revision 1.1.1.1

1.1       misho       1: dnl                                               -*- Autoconf -*-
                      2: dnl Process this file with autoconf to produce a configure script.
                      3: AC_PREREQ(2.57)
                      4: AC_INIT([lighttpd], [1.4.33], [contact@lighttpd.net])
                      5: AC_CONFIG_SRCDIR([src/server.c])
                      6: AC_CONFIG_HEADER([config.h])
                      7: AC_CONFIG_MACRO_DIR([m4])
                      8: 
                      9: AC_CANONICAL_TARGET
                     10: 
                     11: dnl HOW FUCKING BROKEN IS AUTOMAKE...
                     12: dnl serial-tests is not recognized before 1.12, and required for serial tests with 1.13, sane version checks "impossible"
                     13: dnl if you don't use the default (symlinked) automake on your box, set AUTOMAKE to the path you're using
                     14: m4_define([serial_tests], [
                     15:     m4_esyscmd([case `${AUTOMAKE:-automake} --version | head -n 1` in
                     16:       *1.11.*|*1.10.*|*1.9.*);;
                     17:       *) echo serial-tests;;
                     18:       esac])
                     19: ])
                     20: 
                     21: AM_INIT_AUTOMAKE([-Wall -Wno-portability -Wno-override foreign dist-bzip2 tar-ustar] serial_tests)
                     22: 
                     23: dnl enable with --enable-silent-rules or make V=0 (needs automake >= 1.11)
                     24: m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
                     25: 
                     26: dnl Checks for programs.
                     27: AC_PROG_CC
                     28: AM_PROG_CC_C_O
                     29: AC_PROG_LD
                     30: AC_PROG_INSTALL
                     31: AC_PROG_AWK
                     32: AC_PROG_CPP
                     33: dnl AC_PROG_CXX
                     34: AC_PROG_LN_S
                     35: AC_PROG_MAKE_SET
                     36: 
                     37: dnl AM_PROG_AR is needed for some linker stuff
                     38: dnl AC_USE_SYSTEM_EXTENSIONS requires autoconf 2.60
                     39: m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_USE_SYSTEM_EXTENSIONS])
                     40: dnl AM_PROG_AR requires automake 1.11 (and uses AC_COMPILE_IFELSE which wants AC_USE_SYSTEM_EXTENSIONS)
                     41: m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
                     42: 
                     43: dnl check environment
                     44: AC_AIX
                     45: AC_ISC_POSIX
                     46: AC_MINIX
                     47: 
                     48: dnl AC_CANONICAL_HOST
                     49: case $host_os in
                     50:        *darwin*|*cygwin*|*aix*|*mingw* ) NO_RDYNAMIC=yes;;
                     51:        * ) NO_RDYNAMIC=no;;
                     52: esac
                     53: AM_CONDITIONAL(NO_RDYNAMIC, test x$NO_RDYNAMIC = xyes)
                     54: 
                     55: AC_EXEEXT
                     56: 
                     57: dnl libtool
                     58: AC_DISABLE_STATIC
                     59: AC_ENABLE_SHARED
                     60: 
                     61: AC_LIBTOOL_DLOPEN
                     62: AC_PROG_LIBTOOL
                     63: 
                     64: dnl for solaris
                     65: CPPFLAGS="${CPPFLAGS} -D_REENTRANT -D__EXTENSIONS__"
                     66: 
                     67: dnl Checks for header files.
                     68: AC_HEADER_STDC
                     69: AC_HEADER_SYS_WAIT
                     70: AC_CHECK_HEADERS([arpa/inet.h fcntl.h netinet/in.h stdlib.h string.h \
                     71: sys/socket.h sys/time.h unistd.h sys/sendfile.h sys/uio.h \
                     72: getopt.h sys/epoll.h sys/select.h poll.h sys/poll.h sys/devpoll.h sys/filio.h \
                     73: sys/mman.h sys/event.h port.h pwd.h sys/syslimits.h \
                     74: sys/resource.h sys/un.h syslog.h sys/prctl.h uuid/uuid.h])
                     75: 
                     76: dnl Checks for typedefs, structures, and compiler characteristics.
                     77: AC_C_CONST
                     78: AC_C_INLINE
                     79: AC_C_CHAR_UNSIGNED
                     80: AC_TYPE_OFF_T
                     81: AC_TYPE_PID_T
                     82: AC_TYPE_SIZE_T
                     83: 
                     84: AC_CHECK_MEMBER(struct tm.tm_gmtoff,[AC_DEFINE([HAVE_STRUCT_TM_GMTOFF],[1],[gmtoff in struct tm])],,[#include <time.h>])
                     85: AC_CHECK_TYPES(struct sockaddr_storage,,,[#include <sys/socket.h>])
                     86: AC_CHECK_TYPES(socklen_t,,,[#include <sys/types.h>
                     87: #include <sys/socket.h>])
                     88: 
                     89: dnl Checks for library functions.
                     90: AC_FUNC_FORK
                     91: dnl AC_FUNC_MALLOC
                     92: dnl AC_FUNC_MMAP
                     93: dnl AC_FUNC_REALLOC
                     94: AC_TYPE_SIGNAL
                     95: AC_FUNC_STAT
                     96: AC_FUNC_STRFTIME
                     97: AC_CHECK_FUNCS([issetugid inet_pton])
                     98: 
                     99: if test -z "$PKG_CONFIG"; then
                    100:   AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
                    101: fi
                    102: 
                    103: dnl checking for libev
                    104: AC_MSG_CHECKING(for libev support)
                    105: AC_ARG_WITH(libev,
                    106:     AC_HELP_STRING([--with-libev@<:@=PATH@:>@],[Include libev support for fdevent handlers in PATH/include and PATH/lib]),
                    107:     [WITH_LIBEV=$withval],[WITH_LIBEV=no])
                    108: 
                    109: LIBEV_CFLAGS=""
                    110: LIBEV_LIBS=""
                    111: 
                    112: if test "$WITH_LIBEV" != "no"; then
                    113:        PKG_CHECK_MODULES(LIBEV, libev, [], [
                    114:                dnl no pkg-config for libev, searching manually:
                    115: 
                    116:                if test "$WITH_LIBEV" != "yes"; then
                    117:                        LIBEV_CFLAGS="-I$WITH_LIBEV/include"
                    118:                        LIBEV_LIBS="-L$WITH_LIBEV/lib -lev"
                    119:                else
                    120:                        AC_CHECK_HEADERS([ev.h],[
                    121:                                AC_CHECK_LIB([ev], [ev_time], [
                    122:                                                LIBEV_CFLAGS=""
                    123:                                                LIBEV_LIBS="-lev"
                    124:                                        ],[
                    125:                                        AC_MSG_ERROR([libev not found])
                    126:                                        ]
                    127:                                )],[
                    128:                                        AC_MSG_ERROR([libev not found])
                    129:                                ]
                    130:                        )
                    131:                fi
                    132:        ])
                    133: 
                    134:        AC_DEFINE([HAVE_LIBEV], [1], [libev support])
                    135: fi
                    136: 
                    137: AC_SUBST(LIBEV_CFLAGS)
                    138: AC_SUBST(LIBEV_LIBS)
                    139: 
                    140: dnl Checks for database.
                    141: MYSQL_INCLUDE=""
                    142: MYSQL_LIBS=""
                    143: 
                    144: AC_MSG_CHECKING(for MySQL support)
                    145: AC_ARG_WITH(mysql,
                    146:     AC_HELP_STRING([--with-mysql@<:@=PATH@:>@],[Include MySQL support. PATH is the path to 'mysql_config']),
                    147:     [WITH_MYSQL=$withval],[WITH_MYSQL=no])
                    148: 
                    149: if test "$WITH_MYSQL" != "no"; then
                    150:   AC_MSG_RESULT(yes)
                    151:   if test "$WITH_MYSQL" = "yes"; then
                    152:     AC_PATH_PROG(MYSQL_CONFIG, mysql_config)
                    153:   else
                    154:     MYSQL_CONFIG=$WITH_MYSQL
                    155:   fi
                    156: 
                    157:   if test "$MYSQL_CONFIG" = ""; then
                    158:     AC_MSG_ERROR(mysql_config is not found)
                    159:   fi
                    160:   if test \! -x $MYSQL_CONFIG; then
                    161:     AC_MSG_ERROR(mysql_config not exists or not executable, use --with-mysql=path-to-mysql_config)
                    162:   fi
                    163: 
                    164:   if $MYSQL_CONFIG | grep -- '--include' > /dev/null ; then
                    165:     MYSQL_INCLUDE="`$MYSQL_CONFIG --include | sed s/\'//g`"
                    166:   else
                    167:     MYSQL_INCLUDE="`$MYSQL_CONFIG --cflags | sed s/\'//g`"
                    168:   fi
                    169:   MYSQL_LIBS="`$MYSQL_CONFIG --libs | sed s/\'//g`"
                    170: 
                    171:   AC_MSG_CHECKING(for MySQL includes at)
                    172:   AC_MSG_RESULT($MYSQL_INCLUDE)
                    173: 
                    174:   AC_MSG_CHECKING(for MySQL libraries at)
                    175:   AC_MSG_RESULT($MYSQL_LIBS)
                    176: dnl check for errmsg.h, which isn't installed by some versions of 3.21
                    177:   old_CPPFLAGS="$CPPFLAGS"
                    178:   CPPFLAGS="$CPPFLAGS $MYSQL_INCLUDE"
                    179:   AC_CHECK_HEADERS(errmsg.h mysql.h)
                    180:   CPPFLAGS="$old_CPPFLAGS"
                    181: 
                    182:   AC_DEFINE([HAVE_MYSQL], [1], [mysql support])
                    183: else
                    184:   AC_MSG_RESULT(no)
                    185: fi
                    186: 
                    187: AC_SUBST(MYSQL_LIBS)
                    188: AC_SUBST(MYSQL_INCLUDE)
                    189: 
                    190: dnl Check for LDAP
                    191: AC_MSG_CHECKING(for LDAP support)
                    192: AC_ARG_WITH(ldap, AC_HELP_STRING([--with-ldap],[enable LDAP support]),
                    193: [WITH_LDAP=$withval], [WITH_LDAP=no])
                    194: AC_MSG_RESULT([$withval])
                    195: if test "$WITH_LDAP" != "no"; then
                    196:  AC_CHECK_LIB(ldap, ldap_bind, [
                    197:   AC_CHECK_HEADERS([ldap.h],[
                    198:     LDAP_LIB=-lldap
                    199:     AC_DEFINE([HAVE_LIBLDAP], [1], [libldap])
                    200:     AC_DEFINE([HAVE_LDAP_H], [1])
                    201:     AC_DEFINE([LDAP_DEPRECATED], [1], [Using deprecated ldap api])
                    202:   ])
                    203:  ])
                    204:  AC_SUBST(LDAP_LIB)
                    205:  AC_CHECK_LIB(lber, ber_printf, [
                    206:   AC_CHECK_HEADERS([lber.h],[
                    207:     LBER_LIB=-llber
                    208:     AC_DEFINE([HAVE_LIBLBER], [1], [liblber])
                    209:     AC_DEFINE([HAVE_LBER_H], [1])
                    210:   ])
                    211:  ])
                    212:  AC_SUBST(LBER_LIB)
                    213: fi
                    214: 
                    215: dnl Check for xattr
                    216: AC_MSG_CHECKING(for extended attributes support)
                    217: AC_ARG_WITH(attr, AC_HELP_STRING([--with-attr],[enable extended attribute support]),
                    218: [WITH_ATTR=$withval],[WITH_ATTR=no])
                    219: AC_MSG_RESULT($withval)
                    220: if test "$WITH_ATTR" != "no"; then
                    221:  AC_CHECK_LIB(attr, attr_get, [
                    222:        AC_CHECK_HEADERS([attr/attributes.h],[
                    223:                ATTR_LIB=-lattr
                    224:                AC_DEFINE([HAVE_XATTR], [1], [libattr])
                    225:                AC_DEFINE([HAVE_ATTR_ATTRIBUTES_H], [1])
                    226:        ])
                    227:  ])
                    228:  AC_SUBST(ATTR_LIB)
                    229: fi
                    230: 
                    231: dnl openssl on solaris needs -lsocket -lnsl
                    232: AC_SEARCH_LIBS(socket,socket)
                    233: AC_SEARCH_LIBS(gethostbyname,nsl socket)
                    234: AC_SEARCH_LIBS(hstrerror,resolv)
                    235: 
                    236: save_LIBS=$LIBS
                    237: AC_SEARCH_LIBS(dlopen,dl,[
                    238:   AC_CHECK_HEADERS([dlfcn.h],[
                    239:     if test "$ac_cv_search_dlopen" != no; then
                    240:       test "$ac_cv_search_dlopen" = "none required" || DL_LIB="$ac_cv_search_dlopen"
                    241:     fi
                    242: 
                    243:     AC_DEFINE([HAVE_LIBDL], [1], [libdl])
                    244:     AC_DEFINE([HAVE_DLFCN_H], [1])
                    245:   ])
                    246: ])
                    247: LIBS=$save_LIBS
                    248: AC_SUBST(DL_LIB)
                    249: 
                    250: dnl Check for valgrind
                    251: AC_MSG_CHECKING(for valgrind)
                    252: AC_ARG_WITH(valgrind, AC_HELP_STRING([--with-valgrind],[enable internal support for valgrind]),
                    253: [WITH_VALGRIND=$withval],[WITH_VALGRIND=no])
                    254: AC_MSG_RESULT([$WITH_VALGRIND])
                    255: if test "$WITH_VALGRIND" != "no"; then
                    256:  AC_CHECK_HEADERS([valgrind/valgrind.h])
                    257: fi
                    258: 
                    259: dnl Check for openssl
                    260: AC_MSG_CHECKING(for OpenSSL)
                    261: AC_ARG_WITH(openssl,
                    262:     AC_HELP_STRING([--with-openssl@<:@=DIR@:>@],[Include openssl support (default no)]),
                    263:     [WITH_OPENSSL=$withval],[WITH_OPENSSL=no])
                    264: 
                    265: if test "$WITH_OPENSSL" != "no"; then
                    266:     use_openssl=yes
                    267:     if test "$WITH_OPENSSL" != "yes"; then
                    268:        CPPFLAGS="$CPPFLAGS -I$WITH_OPENSSL/include"
                    269:        LDFLAGS="$LDFLAGS -L$WITH_OPENSSL/lib"
                    270:     fi
                    271: else
                    272:     use_openssl=no
                    273: fi
                    274: AC_MSG_RESULT([$use_openssl])
                    275: 
                    276: AC_ARG_WITH(openssl-includes,
                    277:     AC_HELP_STRING([--with-openssl-includes=DIR],[OpenSSL includes]),
                    278:     [ use_openssl=yes CPPFLAGS="$CPPFLAGS -I$withval" ]
                    279: )
                    280: 
                    281: AC_ARG_WITH(openssl-libs,
                    282:     AC_HELP_STRING([--with-openssl-libs=DIR],[OpenSSL libraries]),
                    283:     [ use_openssl=yes LDFLAGS="$LDFLAGS -L$withval" ]
                    284: )
                    285: 
                    286: AC_ARG_WITH(kerberos5,
                    287:     AC_HELP_STRING([--with-kerberos5],[use Kerberos5 support with OpenSSL]),
                    288:     [ use_kerberos=yes ], [use_kerberos=no]
                    289: )
                    290: 
                    291: if test "x$use_openssl" = "xyes"; then
                    292:     if test "x$use_kerberos" != "xyes"; then
                    293:         CPPFLAGS="$CPPFLAGS -DOPENSSL_NO_KRB5"
                    294:     fi
                    295: 
                    296:     AC_CHECK_HEADERS([openssl/ssl.h])
                    297:     OLDLIBS="$LIBS"
                    298:     AC_CHECK_LIB(crypto, BIO_f_base64, [
                    299:       AC_CHECK_LIB(ssl, SSL_new, [ SSL_LIB="-lssl -lcrypto"
                    300:                                 AC_DEFINE(HAVE_LIBSSL, [], [Have libssl]) ], [], [ -lcrypto "$DL_LIB" ])
                    301:     ], [], [])
                    302:     LIBS="$OLDLIBS"
                    303:     AC_SUBST(SSL_LIB)
                    304: fi
                    305: 
                    306: AC_MSG_CHECKING(for perl regular expressions support)
                    307: AC_ARG_WITH(pcre, AC_HELP_STRING([--with-pcre],[Enable pcre support (default yes)]),
                    308:     [WITH_PCRE=$withval],[WITH_PCRE=yes])
                    309: AC_MSG_RESULT([$WITH_PCRE])
                    310: 
                    311: if test "$WITH_PCRE" != "no"; then
                    312:   AC_PATH_PROG(PCRECONFIG, pcre-config)
                    313: 
                    314:   if test x"$PCRECONFIG" != x; then
                    315:     PCRE_LIB=`$PCRECONFIG --libs`
                    316:     CPPFLAGS="$CPPFLAGS `$PCRECONFIG --cflags`"
                    317:     AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre])
                    318:     AC_DEFINE([HAVE_PCRE_H], [1], [pcre.h])
                    319:   else
                    320:      AC_MSG_ERROR([pcre-config not found, install the pcre-devel package or build with --without-pcre])
                    321:   fi
                    322: fi
                    323: 
                    324: AC_SUBST(PCRE_LIB)
                    325: 
                    326: AC_MSG_CHECKING(for zlib support)
                    327: AC_ARG_WITH(zlib, AC_HELP_STRING([--with-zlib],[Enable zlib support for mod_compress]),
                    328:     [WITH_ZLIB=$withval],[WITH_ZLIB=yes])
                    329: AC_MSG_RESULT([$WITH_ZLIB])
                    330: 
                    331: if test "$WITH_ZLIB" != "no"; then
                    332:   AC_CHECK_LIB(z, deflate, [
                    333:     AC_CHECK_HEADERS([zlib.h],[
                    334:       Z_LIB=-lz
                    335:       AC_DEFINE([HAVE_LIBZ], [1], [libz])
                    336:       AC_DEFINE([HAVE_ZLIB_H], [1])
                    337:     ])
                    338:   ])
                    339:   if test x$Z_LIB = x; then
                    340:      AC_MSG_ERROR([zlib-headers and/or libs where not found, install them or build with --without-zlib])
                    341:   fi
                    342: fi
                    343: AC_SUBST(Z_LIB)
                    344: 
                    345: AC_MSG_CHECKING(for bzip2 support)
                    346: AC_ARG_WITH(bzip2, AC_HELP_STRING([--with-bzip2],[Enable bzip2 support for mod_compress]),
                    347:     [WITH_BZIP2=$withval],[WITH_BZIP2=yes])
                    348: AC_MSG_RESULT([$WITH_BZIP2])
                    349: 
                    350: if test "$WITH_BZIP2" != "no"; then
                    351:   AC_CHECK_LIB(bz2, BZ2_bzCompress, [
                    352:     AC_CHECK_HEADERS([bzlib.h],[
                    353:       BZ_LIB=-lbz2
                    354:       AC_DEFINE([HAVE_LIBBZ2], [1], [libbz2])
                    355:       AC_DEFINE([HAVE_BZLIB_H], [1])
                    356:     ])
                    357:   ])
                    358:   if test x$BZ_LIB = x; then
                    359:      AC_MSG_ERROR([bzip2-headers and/or libs where not found, install them or build with --without-bzip2])
                    360:   fi
                    361: fi
                    362: AC_SUBST(BZ_LIB)
                    363: 
                    364: dnl Check for gamin
                    365: AC_MSG_CHECKING(for FAM)
                    366: AC_ARG_WITH(fam, AC_HELP_STRING([--with-fam],[fam/gamin for reducing number of stat() calls]),
                    367: [WITH_FAM=$withval],[WITH_FAM=no])
                    368: AC_MSG_RESULT([$WITH_FAM])
                    369: 
                    370: if test "$WITH_FAM" != "no"; then
                    371:   AC_CHECK_LIB(fam, FAMOpen2, [
                    372:     AC_CHECK_HEADERS([fam.h],[
                    373:       FAM_LIBS=-lfam
                    374:       AC_DEFINE([HAVE_LIBFAM], [1], [libfam])
                    375:       AC_DEFINE([HAVE_FAM_H], [1], [fam.h])
                    376:     ])
                    377:   ])
                    378:   if test "x$FAM_LIBS" = x; then
                    379:     PKG_CHECK_MODULES(FAM, gamin >= 0.1.0, [
                    380:       AC_DEFINE([HAVE_LIBFAM], [1], [libfam])
                    381:       AC_DEFINE([HAVE_FAM_H], [1], [fam.h])
                    382:     ])
                    383:   fi
                    384:   OLD_LIBS=$LIBS
                    385:   LIBS=$FAM_LIBS
                    386:   AC_CHECK_FUNCS([FAMNoExists])
                    387:   LIBS=$OLD_LIBS
                    388:   
                    389:   if test x$FAM_LIBS = x; then
                    390:      AC_MSG_ERROR([fam/gamin-headers and/or libs where not found, install them or build with --without-fam])
                    391:   fi
                    392: fi
                    393: 
                    394: AC_MSG_CHECKING(for properties in mod_webdav)
                    395: AC_ARG_WITH(webdav-props, AC_HELP_STRING([--with-webdav-props],[properties in mod_webdav]),
                    396: [WITH_WEBDAV_PROPS=$withval],[WITH_WEBDAV_PROPS=no])
                    397: AC_MSG_RESULT([$WITH_WEBDAV_PROPS])
                    398: 
                    399: if test "$WITH_WEBDAV_PROPS" != "no"; then
                    400:  PKG_CHECK_MODULES(XML, libxml-2.0, [
                    401:     AC_DEFINE([HAVE_LIBXML2], [1], [libxml2])
                    402:     AC_DEFINE([HAVE_LIBXML_H], [1], [libxml.h])
                    403:  ])
                    404:  PKG_CHECK_MODULES(SQLITE, sqlite3, [
                    405:     AC_DEFINE([HAVE_SQLITE3], [1], [libsqlite3])
                    406:     AC_DEFINE([HAVE_SQLITE3_H], [1], [sqlite3.h])
                    407:  ])
                    408: 
                    409:  AC_MSG_CHECKING(for locks in mod_webdav)
                    410:  AC_ARG_WITH(webdav-locks, AC_HELP_STRING([--with-webdav-locks],[locks in mod_webdav]),
                    411:  [WITH_WEBDAV_LOCKS=$withval],[WITH_WEBDAV_LOCKS=no])
                    412:  AC_MSG_RESULT([$WITH_WEBDAV_LOCKS])
                    413: 
                    414:  if test "$WITH_WEBDAV_LOCKS" != "no"; then
                    415:    AC_CHECK_LIB(uuid, uuid_unparse, [
                    416:          AC_CHECK_HEADERS([uuid/uuid.h],[
                    417:                  UUID_LIBS=-luuid
                    418:                  AC_DEFINE([HAVE_UUID], [1], [libuuid])
                    419:                 AC_DEFINE([HAVE_UUID_H], [1], [uuid/uuid.h is available])
                    420:          ])
                    421:  ])
                    422: 
                    423:  fi
                    424: fi
                    425: AC_SUBST(UUID_LIBS)
                    426: 
                    427: dnl Check for gdbm
                    428: AC_MSG_CHECKING(for gdbm)
                    429: AC_ARG_WITH(gdbm, AC_HELP_STRING([--with-gdbm],[gdbm storage for mod_trigger_b4_dl]),
                    430: [WITH_GDBM=$withval],[WITH_GDBM=no])
                    431: AC_MSG_RESULT([$WITH_GDBM])
                    432: 
                    433: if test "$WITH_GDBM" != "no"; then
                    434:  AC_CHECK_LIB(gdbm, gdbm_open, [
                    435:          AC_CHECK_HEADERS([gdbm.h],[
                    436:                  GDBM_LIB=-lgdbm
                    437:                  AC_DEFINE([HAVE_GDBM], [1], [libgdbm])
                    438:                 AC_DEFINE([HAVE_GDBM_H], [1])
                    439:          ])
                    440:  ])
                    441:  AC_SUBST(GDBM_LIB)
                    442: fi
                    443: 
                    444: dnl Check for memcache
                    445: AC_MSG_CHECKING(for memcache)
                    446: AC_ARG_WITH(memcache, AC_HELP_STRING([--with-memcache],[memcached storage for mod_trigger_b4_dl]),
                    447: [WITH_MEMCACHE=$withval],[WITH_MEMCACHE=no])
                    448: AC_MSG_RESULT([$WITH_MEMCACHE])
                    449: if test "$WITH_MEMCACHE" != "no"; then
                    450:  AC_CHECK_LIB(memcache, mc_new, [
                    451:          AC_CHECK_HEADERS([memcache.h],[
                    452:                  MEMCACHE_LIB=-lmemcache
                    453:                  AC_DEFINE([HAVE_MEMCACHE], [1], [libmemcache])
                    454:                 AC_DEFINE([HAVE_MEMCACHE_H], [1], [memcache.h])
                    455:          ])
                    456:  ])
                    457:  AC_SUBST(MEMCACHE_LIB)
                    458: fi
                    459: 
                    460: dnl Check for lua
                    461: AC_MSG_CHECKING(if lua-support is requested)
                    462: AC_ARG_WITH(lua, AC_HELP_STRING([--with-lua],[lua engine for mod_cml]),
                    463: [WITH_LUA=$withval],[WITH_LUA=no])
                    464: 
                    465: AC_MSG_RESULT($WITH_LUA)
                    466: if test "$WITH_LUA" != "no"; then
                    467:  if test "$WITH_LUA" = "yes"; then
                    468:   WITH_LUA=lua
                    469:  fi
                    470:  dnl first check for lua5.1 (debian and others), then lua-5.1 (freebsd), then $WITH_LUA (defaults to lua)
                    471:  dnl check "lua" last now that lua5.2 is out
                    472:  PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1, [
                    473:   AC_DEFINE([HAVE_LUA], [1], [liblua])
                    474:   AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
                    475:  ],[
                    476:   PKG_CHECK_MODULES(LUA, lua-5.1 >= 5.1, [
                    477:    AC_DEFINE([HAVE_LUA], [1], [liblua])
                    478:    AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
                    479:   ],[
                    480:    PKG_CHECK_MODULES(LUA, $WITH_LUA >= 5.1, [
                    481:     AC_DEFINE([HAVE_LUA], [1], [liblua])
                    482:     AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
                    483:    ])
                    484:   ])
                    485:  ])
                    486: 
                    487:  AC_SUBST(LUA_CFLAGS)
                    488:  AC_SUBST(LUA_LIBS)
                    489: fi
                    490: 
                    491: save_LIBS=$LIBS
                    492: AC_SEARCH_LIBS(crypt,crypt,[
                    493:   AC_CHECK_HEADERS([crypt.h],[
                    494:     AC_DEFINE([HAVE_CRYPT_H], [1])
                    495:   ])
                    496: 
                    497:   AC_DEFINE([HAVE_LIBCRYPT], [1], [libcrypt])
                    498:   if test "$ac_cv_search_crypt" != no; then
                    499:     test "$ac_cv_search_crypt" = "none required" || CRYPT_LIB="$ac_cv_search_crypt"
                    500:   fi
                    501: ])
                    502: LIBS=$save_LIBS
                    503: AC_SUBST(CRYPT_LIB)
                    504: 
                    505: save_LIBS=$LIBS
                    506: AC_SEARCH_LIBS(sendfilev,sendfile,[
                    507:   if test "$ac_cv_search_sendfilev" != no; then
                    508:     test "$ac_cv_search_sendfilev" = "none required" || SENDFILE_LIB="$ac_cv_search_sendfilev"
                    509:     AC_DEFINE([HAVE_SENDFILEV], [1], [solaris sendfilev])
                    510:   fi
                    511: ])
                    512: LIBS=$save_LIBS
                    513: AC_SUBST(SENDFILE_LIB)
                    514: 
                    515: case $host_os in
                    516:        *mingw* ) LIBS="$LIBS -lwsock32";;
                    517:         * ) ;;
                    518: esac
                    519: 
                    520: AC_CHECK_FUNCS([dup2 getcwd inet_ntoa inet_ntop memset mmap munmap strchr \
                    521:                  strdup strerror strstr strtol sendfile  getopt socket lstat \
                    522:                  gethostbyname poll epoll_ctl getrlimit chroot \
                    523:                  getuid select signal pathconf madvise posix_fadvise posix_madvise \
                    524:                  writev sigaction sendfile64 send_file kqueue port_create localtime_r gmtime_r])
                    525: 
                    526: AC_MSG_CHECKING(for Large File System support)
                    527: AC_ARG_ENABLE(lfs,
                    528:  AC_HELP_STRING([--enable-lfs],[Turn on Large File System (default)]),
                    529:  [case "${enableval}" in
                    530:    yes) CPPFLAGS="${CPPFLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES" ;;
                    531:     no) ;;
                    532:      *) AC_MSG_ERROR(bad value ${enableval} for --enable-lfs) ;;
                    533:   esac],[CPPFLAGS="${CPPFLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES"
                    534:         enable_lfs=yes])
                    535: AC_MSG_RESULT($enableval)
                    536: 
                    537: AC_CHECK_SIZEOF(long)
                    538: AC_CHECK_SIZEOF(off_t)
                    539: 
                    540: if test "x$ac_cv_func_sendfile" = xyes; then
                    541:        dnl check if sendfile works
                    542:         AC_MSG_CHECKING(if sendfile works)
                    543:        if test "x$cross_compiling" = xno; then
                    544:        AC_TRY_RUN([
                    545:                    #ifdef HAVE_SYS_SENDFILE_H
                    546:                    #include <sys/sendfile.h>
                    547:                    #endif /* HAVE_SYS_SENDFILE_H */
                    548:                    #include <errno.h>
                    549:                    int main() {
                    550:                      int o = 0;
                    551:                      if (-1 == sendfile(-1, 0, &o, 0) && errno == ENOSYS) return -1;
                    552:                      return 0;
                    553:                    } ],
                    554:                    AC_MSG_RESULT(yes),
                    555:                    [ AC_MSG_RESULT(no)
                    556:                    AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile]) ] )
                    557:        else
                    558:              AC_MSG_RESULT(no, cross-compiling)
                    559:              AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile])
                    560:        fi
                    561: fi
                    562: 
                    563: dnl Check for IPv6 support
                    564: 
                    565: AC_ARG_ENABLE(ipv6,
                    566:  AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
                    567:  [case "${enableval}" in
                    568:    yes) ipv6=true ;;
                    569:     no) ipv6=false ;;
                    570:      *) AC_MSG_ERROR(bad value ${enableval} for --enable-ipv6) ;;
                    571:   esac],[ipv6=true])
                    572: 
                    573: if test x$ipv6 = xtrue; then
                    574:   AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
                    575:   [AC_TRY_LINK([ #include <sys/types.h>
                    576: #include <sys/socket.h>
                    577: #include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0; ],
                    578:   [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
                    579: 
                    580:   if test "$ac_cv_ipv6_support" = yes; then
                    581:     AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
                    582:   fi
                    583: fi
                    584: 
                    585: # disable mmap by default; if a mmapped file gets truncated, the process gets a SIGBUS signal
                    586: # on reading the truncated area which we can't handle (yet).
                    587: # lighttpd may always use mmap with files it owns (created tmp files)
                    588: AC_ARG_ENABLE(mmap,
                    589:   AC_HELP_STRING([--enable-mmap],[use mmap if available (DANGEROUS, allows local users to trigger SIGBUS crashes)]),
                    590:   [case "${enableval}" in
                    591:    yes) mmap=true ;;
                    592:     no) mmap=false ;;
                    593:      *) AC_MSG_ERROR(bad value ${enableval} for --enable-mmap) ;;
                    594:   esac],[mmap=false])
                    595: 
                    596: if test x$mmap = xtrue; then
                    597:   AC_DEFINE(ENABLE_MMAP, [1], [Use mmap if available])
                    598: fi
                    599: 
                    600: 
                    601: AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
                    602: 
                    603: dnl check for fastcgi lib, for the tests only
                    604: fastcgi_found=no
                    605: AC_CHECK_LIB(fcgi, FCGI_Accept, [
                    606:  AC_CHECK_HEADERS([fastcgi.h fastcgi/fastcgi.h],[
                    607:    fastcgi_found=yes
                    608:  ])
                    609: ])
                    610: 
                    611: AM_CONDITIONAL(CHECK_WITH_FASTCGI, test "x$fastcgi_found" = xyes)
                    612: 
                    613: 
                    614: dnl check for extra compiler options (warning options)
                    615: if test "${GCC}" = "yes"; then
                    616:     CFLAGS="${CFLAGS} -Wall -W -Wshadow -pedantic -std=gnu99"
                    617: fi
                    618: 
                    619: AC_ARG_ENABLE(extra-warnings,
                    620:  AC_HELP_STRING([--enable-extra-warnings],[enable extra warnings (gcc specific)]),
                    621:  [case "${enableval}" in
                    622:    yes) extrawarnings=true ;;
                    623:     no) extrawarnings=false ;;
                    624:      *) AC_MSG_ERROR(bad value ${enableval} for --enable-extra-warnings) ;;
                    625:   esac],[extrawarnings=false])
                    626: 
                    627: if test x$extrawarnings = xtrue; then
                    628:     CFLAGS="${CFLAGS} -g -O2 -g2 -Wall -Wmissing-declarations -Wdeclaration-after-statement -Wno-pointer-sign -Wcast-align -Winline -Wsign-compare -Wnested-externs -Wpointer-arith -Wl,--as-needed -Wformat-security"
                    629: fi
                    630: 
                    631: dnl build version-id
                    632: LIGHTTPD_VERSION_ID=`echo $PACKAGE_VERSION | $AWK -F '.' '{print "(" $1 " << 16 | " $2 " << 8 | " $3 ")"}'`
                    633: AC_DEFINE_UNQUOTED([LIGHTTPD_VERSION_ID], [$LIGHTTPD_VERSION_ID], [lighttpd-version-id])
                    634: 
                    635: AC_CONFIG_FILES([Makefile src/Makefile
                    636:                 doc/config/conf.d/Makefile \
                    637:                 doc/config/vhosts.d/Makefile \
                    638:                 doc/config/Makefile \
                    639:                 doc/scripts/Makefile \
                    640:                 doc/initscripts/Makefile \
                    641:                 doc/systemd/Makefile \
                    642:                 doc/outdated/Makefile \
                    643:                 doc/Makefile \
                    644:                 tests/Makefile \
                    645:                 tests/docroot/Makefile \
                    646:                 tests/docroot/123/Makefile \
                    647:                 tests/docroot/www/Makefile \
                    648:                 tests/docroot/www/go/Makefile \
                    649:                 tests/docroot/www/indexfile/Makefile \
                    650:                 tests/docroot/www/expire/Makefile \
                    651:                 distribute.sh])
                    652: AC_OUTPUT
                    653: 
                    654: 
                    655: do_build="mod_cgi mod_fastcgi mod_extforward mod_proxy mod_evhost mod_simple_vhost mod_access mod_alias mod_setenv mod_usertrack mod_auth mod_status mod_accesslog"
                    656: do_build="$do_build mod_rrdtool mod_secdownload mod_expire mod_compress mod_dirlisting mod_indexfile mod_userdir mod_webdav mod_staticfile mod_scgi mod_flv_streaming"
                    657: 
                    658: plugins="mod_rewrite mod_redirect mod_ssi mod_trigger_b4_dl"
                    659: features="regex-conditionals"
                    660: if test ! "x$PCRE_LIB" = x; then
                    661:        do_build="$do_build $plugins"
                    662:        enable_feature="$features"
                    663: else
                    664:        no_build="$no_build $plugins"
                    665:        disable_feature="$features"
                    666: fi
                    667: 
                    668: plugins="mod_mysql_vhost"
                    669: if test ! "x$MYSQL_LIBS" = x; then
                    670:        do_build="$do_build $plugins"
                    671: else
                    672:        no_build="$no_build $plugins"
                    673: fi
                    674: 
                    675: plugins="mod_cml mod_magnet"
                    676: if test ! "x$LUA_LIBS" = x; then
                    677:        do_build="$do_build $plugins"
                    678: else
                    679:        no_build="$no_build $plugins"
                    680: fi
                    681: 
                    682: features="storage-gdbm"
                    683: if test ! "x$GDBM_LIB" = x; then
                    684:        enable_feature="$enable_feature $features"
                    685: else
                    686:        disable_feature="$disable_feature $features"
                    687: fi
                    688: 
                    689: features="storage-memcache"
                    690: if test ! "x$MEMCACHE_LIB" = x; then
                    691:        enable_feature="$enable_feature $features"
                    692: else
                    693:        disable_feature="$disable_feature $features"
                    694: fi
                    695: 
                    696: features="compress-gzip compress-deflate"
                    697: if test ! "x$Z_LIB" = x; then
                    698:        enable_feature="$enable_feature $features"
                    699: else
                    700:        disable_feature="$disable_feature $features"
                    701: fi
                    702: 
                    703: features="compress-bzip2"
                    704: if test ! "x$BZ_LIB" = x; then
                    705:        enable_feature="$enable_feature $features"
                    706: else
                    707:        disable_feature="$disable_feature $features"
                    708: fi
                    709: 
                    710: features="auth-ldap"
                    711: if test ! "x$LDAP_LIB" = x; then
                    712:        enable_feature="$enable_feature $features"
                    713: else
                    714:        disable_feature="$disable_feature $features"
                    715: fi
                    716: 
                    717: features="network-openssl"
                    718: if test ! "x$SSL_LIB" = x; then
                    719:        enable_feature="$enable_feature $features"
                    720: else
                    721:        disable_feature="$disable_feature $features"
                    722: fi
                    723: 
                    724: dnl no crypt call
                    725: features="auth-crypt"
                    726: if test "$ac_cv_search_crypt" = no; then
                    727:        disable_feature="$disable_feature $features"
                    728: else
                    729:        enable_feature="$enable_feature $features"
                    730: fi
                    731: 
                    732: features="network-ipv6"
                    733: if test "$ac_cv_ipv6_support" = yes; then
                    734:        enable_feature="$enable_feature $features"
                    735: else
                    736:        disable_feature="$disable_feature $features"
                    737: fi
                    738: 
                    739: features="large-files"
                    740: if test "$enable_lfs" = yes; then
                    741:        enable_feature="$enable_feature $features"
                    742: else
                    743:        disable_feature="$disable_feature $features"
                    744: fi
                    745: 
                    746: features="stat-cache-fam"
                    747: if test ! "x$FAM_LIBS" = x; then
                    748:        enable_feature="$enable_feature $features"
                    749: else
                    750:        disable_feature="$disable_feature $features"
                    751: fi
                    752: 
                    753: features="webdav-properties"
                    754: if test "x$XML_LIBS" \!= x -a "x$SQLITE_LIBS" \!= x; then
                    755:        enable_feature="$enable_feature $features"
                    756: else
                    757:        disable_feature="$disable_feature $features"
                    758: fi
                    759: 
                    760: features="webdav-locks"
                    761: if test "x$UUID_LIBS" \!= x; then
                    762:        enable_feature="$enable_feature $features"
                    763: else
                    764:        disable_feature="$disable_feature $features"
                    765: fi
                    766: 
                    767: 
                    768: dnl output
                    769: 
                    770: $ECHO
                    771: $ECHO "Plugins:"
                    772: $ECHO
                    773: 
                    774: $ECHO "enabled: "
                    775: for p in $do_build; do
                    776:        $ECHO "  $p"
                    777: done | sort
                    778: 
                    779: $ECHO "disabled: "
                    780: for p in $no_build; do
                    781:        $ECHO "  $p"
                    782: done | sort
                    783: 
                    784: $ECHO
                    785: $ECHO "Features:"
                    786: $ECHO
                    787: 
                    788: $ECHO "enabled: "
                    789: for p in $enable_feature; do
                    790:        $ECHO "  $p"
                    791: done | sort
                    792: 
                    793: $ECHO "disabled: "
                    794: for p in $disable_feature; do
                    795:        $ECHO "  $p"
                    796: done | sort
                    797: 
                    798: $ECHO

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>