File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / lighttpd / configure.ac
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Nov 2 10:35:00 2016 UTC (7 years, 7 months ago) by misho
Branches: lighttpd, MAIN
CVS tags: v1_4_41p8, HEAD
lighttpd 1.4.41

    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.41], [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_HOST
   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-xz 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: 
   27: dnl @synopsis TRY_CFLAGS [compiler flags]
   28: dnl @summary check whether compiler supports given flags and adds them to CFLAGS
   29: AC_DEFUN([TRY_CFLAGS],
   30: [dnl
   31:   AC_MSG_CHECKING([if $CC supports $1])
   32:   AC_LANG_PUSH([C])
   33:   ac_try_cflags_saved_cflags="${CFLAGS}"
   34:   CFLAGS="${CFLAGS} $1"
   35:   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
   36:     [AC_MSG_RESULT([yes])],
   37:     [
   38:       AC_MSG_ERROR([no])
   39:       CFLAGS="${ac_try_cflags_saved_cflags}"
   40:     ]
   41:   )
   42:   AC_LANG_POP([C])
   43: ])
   44: 
   45: dnl @synopsis TRY_LDFLAGS [linker flags]
   46: dnl @summary check whether linker supports given flags and adds them to LDFLAGS
   47: AC_DEFUN([TRY_LDFLAGS],
   48: [dnl
   49:   AC_MSG_CHECKING([if $LD supports $1])
   50:   AC_LANG_PUSH([C])
   51:   ac_try_ldflags_saved_ldflags="${LDFLAGS}"
   52:   LDFLAGS="${LDFLAGS} $1"
   53:   AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
   54:     [AC_MSG_RESULT([yes])],
   55:     [
   56:       AC_MSG_ERROR([no])
   57:       LDFLAGS="${ac_try_ldflags_saved_cflags}"
   58:     ]
   59:   )
   60:   AC_LANG_POP([C])
   61: ])
   62: 
   63: dnl Checks for programs.
   64: AC_PROG_CC
   65: AM_PROG_CC_C_O
   66: AC_PROG_LD
   67: AC_PROG_INSTALL
   68: AC_PROG_AWK
   69: AC_PROG_CPP
   70: dnl AC_PROG_CXX
   71: AC_PROG_LN_S
   72: AC_PROG_MAKE_SET
   73: 
   74: dnl AM_PROG_AR is needed for some linker stuff
   75: dnl AC_USE_SYSTEM_EXTENSIONS requires autoconf 2.60
   76: m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_USE_SYSTEM_EXTENSIONS])
   77: dnl AM_PROG_AR requires automake 1.11 (and uses AC_COMPILE_IFELSE which wants AC_USE_SYSTEM_EXTENSIONS)
   78: m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
   79: 
   80: dnl check environment
   81: AC_AIX
   82: AC_ISC_POSIX
   83: AC_MINIX
   84: 
   85: dnl AC_CANONICAL_HOST
   86: case $host_os in
   87: 	*darwin*|*cygwin*|*aix*|*mingw* ) NO_RDYNAMIC=yes;;
   88: 	* ) NO_RDYNAMIC=no;;
   89: esac
   90: AM_CONDITIONAL(NO_RDYNAMIC, test x$NO_RDYNAMIC = xyes)
   91: 
   92: if test -z "$LIGHTTPD_STATIC"; then
   93:   LIGHTTPD_STATIC=no
   94: fi
   95: AM_CONDITIONAL(LIGHTTPD_STATIC, test x$LIGHTTPD_STATIC = xyes)
   96: 
   97: AC_EXEEXT
   98: 
   99: dnl libtool
  100: AC_DISABLE_STATIC
  101: AC_ENABLE_SHARED
  102: 
  103: AC_LIBTOOL_DLOPEN
  104: AC_PROG_LIBTOOL
  105: 
  106: dnl for solaris
  107: CPPFLAGS="${CPPFLAGS} -D_REENTRANT -D__EXTENSIONS__"
  108: 
  109: dnl Checks for header files.
  110: AC_HEADER_STDC
  111: AC_HEADER_SYS_WAIT
  112: AC_CHECK_HEADERS([arpa/inet.h fcntl.h netinet/in.h stdlib.h string.h \
  113: sys/socket.h sys/time.h unistd.h sys/sendfile.h sys/uio.h \
  114: getopt.h sys/epoll.h sys/select.h poll.h sys/poll.h sys/devpoll.h sys/filio.h \
  115: sys/mman.h sys/event.h port.h pwd.h \
  116: sys/resource.h sys/un.h syslog.h sys/prctl.h uuid/uuid.h])
  117: 
  118: dnl Checks for typedefs, structures, and compiler characteristics.
  119: AC_C_CONST
  120: AC_C_INLINE
  121: AC_C_CHAR_UNSIGNED
  122: AC_TYPE_OFF_T
  123: AC_TYPE_PID_T
  124: AC_TYPE_SIZE_T
  125: 
  126: AC_CHECK_MEMBER(struct tm.tm_gmtoff,[AC_DEFINE([HAVE_STRUCT_TM_GMTOFF],[1],[gmtoff in struct tm])],,[#include <time.h>])
  127: AC_CHECK_TYPES(struct sockaddr_storage,,,[#include <sys/socket.h>])
  128: AC_CHECK_TYPES(socklen_t,,,[#include <sys/types.h>
  129: #include <sys/socket.h>])
  130: 
  131: dnl Checks for library functions.
  132: AC_FUNC_FORK
  133: dnl AC_FUNC_MALLOC
  134: dnl AC_FUNC_MMAP
  135: dnl AC_FUNC_REALLOC
  136: AC_TYPE_SIGNAL
  137: AC_FUNC_STAT
  138: AC_FUNC_STRFTIME
  139: 
  140: if test -z "$PKG_CONFIG"; then
  141:   AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
  142: fi
  143: 
  144: dnl checking for libev
  145: AC_MSG_CHECKING(for libev support)
  146: AC_ARG_WITH(libev,
  147:     AC_HELP_STRING([--with-libev@<:@=PATH@:>@],[Include libev support for fdevent handlers in PATH/include and PATH/lib]),
  148:     [WITH_LIBEV=$withval],[WITH_LIBEV=no])
  149: 
  150: LIBEV_CFLAGS=""
  151: LIBEV_LIBS=""
  152: 
  153: if test "$WITH_LIBEV" != "no"; then
  154: 	PKG_CHECK_MODULES(LIBEV, libev, [], [
  155: 		dnl no pkg-config for libev, searching manually:
  156: 
  157: 		if test "$WITH_LIBEV" != "yes"; then
  158: 			LIBEV_CFLAGS="-I$WITH_LIBEV/include"
  159: 			LIBEV_LIBS="-L$WITH_LIBEV/lib -lev"
  160: 		else
  161: 			AC_CHECK_HEADERS([ev.h],[
  162: 				AC_CHECK_LIB([ev], [ev_time], [
  163: 						LIBEV_CFLAGS=""
  164: 						LIBEV_LIBS="-lev"
  165: 					],[
  166: 					AC_MSG_ERROR([libev not found])
  167: 					]
  168: 				)],[
  169: 					AC_MSG_ERROR([libev not found])
  170: 				]
  171: 			)
  172: 		fi
  173: 	])
  174: 
  175: 	AC_DEFINE([HAVE_LIBEV], [1], [libev support])
  176: fi
  177: 
  178: AC_SUBST(LIBEV_CFLAGS)
  179: AC_SUBST(LIBEV_LIBS)
  180: 
  181: dnl Checks for database.
  182: MYSQL_INCLUDE=""
  183: MYSQL_LIBS=""
  184: 
  185: AC_MSG_CHECKING(for MySQL support)
  186: AC_ARG_WITH(mysql,
  187:     AC_HELP_STRING([--with-mysql@<:@=PATH@:>@],[Include MySQL support. PATH is the path to 'mysql_config']),
  188:     [WITH_MYSQL=$withval],[WITH_MYSQL=no])
  189: 
  190: if test "$WITH_MYSQL" != "no"; then
  191:   AC_MSG_RESULT(yes)
  192:   if test "$WITH_MYSQL" = "yes"; then
  193:     AC_PATH_PROG(MYSQL_CONFIG, mysql_config)
  194:   else
  195:     MYSQL_CONFIG=$WITH_MYSQL
  196:   fi
  197: 
  198:   if test "$MYSQL_CONFIG" = ""; then
  199:     AC_MSG_ERROR(mysql_config is not found)
  200:   fi
  201:   if test \! -x $MYSQL_CONFIG; then
  202:     AC_MSG_ERROR(mysql_config not exists or not executable, use --with-mysql=path-to-mysql_config)
  203:   fi
  204: 
  205:   if $MYSQL_CONFIG | grep -- '--include' > /dev/null ; then
  206:     MYSQL_INCLUDE="`$MYSQL_CONFIG --include | sed s/\'//g`"
  207:   else
  208:     MYSQL_INCLUDE="`$MYSQL_CONFIG --cflags | sed s/\'//g`"
  209:   fi
  210:   MYSQL_LIBS="`$MYSQL_CONFIG --libs | sed s/\'//g`"
  211: 
  212:   AC_MSG_CHECKING(for MySQL includes at)
  213:   AC_MSG_RESULT($MYSQL_INCLUDE)
  214: 
  215:   AC_MSG_CHECKING(for MySQL libraries at)
  216:   AC_MSG_RESULT($MYSQL_LIBS)
  217: dnl check for errmsg.h, which isn't installed by some versions of 3.21
  218:   old_CPPFLAGS="$CPPFLAGS"
  219:   CPPFLAGS="$CPPFLAGS $MYSQL_INCLUDE"
  220:   AC_CHECK_HEADERS(errmsg.h mysql.h)
  221:   CPPFLAGS="$old_CPPFLAGS"
  222: 
  223:   AC_DEFINE([HAVE_MYSQL], [1], [mysql support])
  224: else
  225:   AC_MSG_RESULT(no)
  226: fi
  227: 
  228: AC_SUBST(MYSQL_LIBS)
  229: AC_SUBST(MYSQL_INCLUDE)
  230: 
  231: dnl Check for LDAP
  232: AC_MSG_CHECKING(for LDAP support)
  233: AC_ARG_WITH(ldap, AC_HELP_STRING([--with-ldap],[enable LDAP support]),
  234: [WITH_LDAP=$withval], [WITH_LDAP=no])
  235: AC_MSG_RESULT([$withval])
  236: if test "$WITH_LDAP" != "no"; then
  237:  AC_CHECK_LIB(ldap, ldap_bind, [
  238:   AC_CHECK_HEADERS([ldap.h],[
  239:     LDAP_LIB=-lldap
  240:     AC_DEFINE([HAVE_LIBLDAP], [1], [libldap])
  241:     AC_DEFINE([HAVE_LDAP_H], [1])
  242:     AC_DEFINE([LDAP_DEPRECATED], [1], [Using deprecated ldap api])
  243:   ])
  244:  ])
  245:  AC_SUBST(LDAP_LIB)
  246:  AC_CHECK_LIB(lber, ber_printf, [
  247:   AC_CHECK_HEADERS([lber.h],[
  248:     LBER_LIB=-llber
  249:     AC_DEFINE([HAVE_LIBLBER], [1], [liblber])
  250:     AC_DEFINE([HAVE_LBER_H], [1])
  251:   ])
  252:  ])
  253:  AC_SUBST(LBER_LIB)
  254: fi
  255: 
  256: dnl Check for xattr
  257: AC_MSG_CHECKING(for extended attributes support)
  258: AC_ARG_WITH(attr, AC_HELP_STRING([--with-attr],[enable extended attribute support]),
  259: [WITH_ATTR=$withval],[WITH_ATTR=no])
  260: AC_MSG_RESULT($withval)
  261: if test "$WITH_ATTR" != "no"; then
  262:   # libattr (linux only?)
  263:   AC_CHECK_LIB(attr, attr_get, [
  264:     AC_CHECK_HEADERS([attr/attributes.h],[
  265:       ATTR_LIB=-lattr
  266:       AC_DEFINE([HAVE_XATTR], [1], [libattr])
  267:       AC_DEFINE([HAVE_ATTR_ATTRIBUTES_H], [1])
  268:     ])
  269:   ])
  270:   AC_SUBST(ATTR_LIB)
  271: 
  272:   # (Free)BSD extattr
  273:   AC_CHECK_FUNC([extattr_get_file], [
  274:     AC_CHECK_HEADERS([sys/extattr.h],[
  275:       AC_DEFINE([HAVE_EXTATTR], [1], [BSD extended attributes])
  276:       AC_DEFINE([HAVE_SYS_EXTATTR_H], [1])
  277:     ])
  278:   ])
  279: fi
  280: 
  281: dnl openssl on solaris needs -lsocket -lnsl
  282: AC_SEARCH_LIBS(socket,socket)
  283: AC_SEARCH_LIBS(gethostbyname,nsl socket)
  284: AC_SEARCH_LIBS(hstrerror,resolv)
  285: 
  286: dnl On Haiku accept() and friends are in libnetwork
  287: AC_SEARCH_LIBS(accept,network)
  288: 
  289: dnl clock_gettime() needs -lrt with glibc < 2.17, and possibly other platforms
  290: AC_SEARCH_LIBS([clock_gettime],[rt])
  291: 
  292: save_LIBS=$LIBS
  293: AC_SEARCH_LIBS(dlopen,dl,[
  294:   AC_CHECK_HEADERS([dlfcn.h],[
  295:     if test "$ac_cv_search_dlopen" != no; then
  296:       test "$ac_cv_search_dlopen" = "none required" || DL_LIB="$ac_cv_search_dlopen"
  297:     fi
  298: 
  299:     AC_DEFINE([HAVE_LIBDL], [1], [libdl])
  300:     AC_DEFINE([HAVE_DLFCN_H], [1])
  301:   ])
  302: ])
  303: LIBS=$save_LIBS
  304: AC_SUBST(DL_LIB)
  305: 
  306: dnl Check for valgrind
  307: AC_MSG_CHECKING(for valgrind)
  308: AC_ARG_WITH(valgrind, AC_HELP_STRING([--with-valgrind],[enable internal support for valgrind]),
  309: [WITH_VALGRIND=$withval],[WITH_VALGRIND=no])
  310: AC_MSG_RESULT([$WITH_VALGRIND])
  311: if test "$WITH_VALGRIND" != "no"; then
  312:  AC_CHECK_HEADERS([valgrind/valgrind.h])
  313: fi
  314: 
  315: dnl Checking for libunwind
  316: AC_MSG_CHECKING(for libunwind)
  317: AC_ARG_WITH(libunwind,
  318:     AC_HELP_STRING([--with-libunwind],[Include libunwind support for backtraces on assert failures]),
  319:     [WITH_LIBUNWIND=$withval],[WITH_LIBUNWIND=no])
  320: 
  321: if test "$WITH_LIBUNWIND" != "no"; then
  322:   PKG_CHECK_MODULES(LIBUNWIND, libunwind)
  323:   AC_DEFINE(HAVE_LIBUNWIND, 1, [Have libunwind support])
  324: fi
  325: 
  326: dnl Check for openssl
  327: AC_MSG_CHECKING(for OpenSSL)
  328: AC_ARG_WITH(openssl,
  329:     AC_HELP_STRING([--with-openssl@<:@=DIR@:>@],[Include openssl support (default no)]),
  330:     [WITH_OPENSSL=$withval],[WITH_OPENSSL=no])
  331: 
  332: if test "$WITH_OPENSSL" != "no"; then
  333:     use_openssl=yes
  334:     if test "$WITH_OPENSSL" != "yes"; then
  335: 	CPPFLAGS="$CPPFLAGS -I$WITH_OPENSSL/include"
  336: 	LDFLAGS="$LDFLAGS -L$WITH_OPENSSL/lib"
  337:     fi
  338: else
  339:     use_openssl=no
  340: fi
  341: AC_MSG_RESULT([$use_openssl])
  342: 
  343: AC_ARG_WITH(openssl-includes,
  344:     AC_HELP_STRING([--with-openssl-includes=DIR],[OpenSSL includes]),
  345:     [ use_openssl=yes CPPFLAGS="$CPPFLAGS -I$withval" ]
  346: )
  347: 
  348: AC_ARG_WITH(openssl-libs,
  349:     AC_HELP_STRING([--with-openssl-libs=DIR],[OpenSSL libraries]),
  350:     [ use_openssl=yes LDFLAGS="$LDFLAGS -L$withval" ]
  351: )
  352: 
  353: AC_ARG_WITH(kerberos5,
  354:     AC_HELP_STRING([--with-kerberos5],[use Kerberos5 support with OpenSSL]),
  355:     [ use_kerberos=yes ], [use_kerberos=no]
  356: )
  357: 
  358: if test "x$use_openssl" = "xyes"; then
  359:     if test "x$use_kerberos" = "xyes"; then
  360:         AC_DEFINE([USE_OPENSSL_KERBEROS], [1], [with kerberos])
  361:     fi
  362: 
  363:     AC_CHECK_HEADERS([openssl/ssl.h])
  364:     OLDLIBS="$LIBS"
  365:     AC_CHECK_LIB(crypto, BIO_f_base64, [
  366:       AC_CHECK_LIB(ssl, SSL_new, [ SSL_LIB="-lssl -lcrypto"
  367: 				 AC_DEFINE(HAVE_LIBSSL, [], [Have libssl]) ], [], [ -lcrypto "$DL_LIB" ])
  368:     ], [], [])
  369:     LIBS="$OLDLIBS"
  370:     AC_SUBST(SSL_LIB)
  371: fi
  372: 
  373: AC_MSG_CHECKING(for perl regular expressions support)
  374: AC_ARG_WITH(pcre, AC_HELP_STRING([--with-pcre],[Enable pcre support (default yes)]),
  375:     [WITH_PCRE=$withval],[WITH_PCRE=yes])
  376: AC_MSG_RESULT([$WITH_PCRE])
  377: 
  378: if test "$WITH_PCRE" != "no"; then
  379: 		if test "$WITH_PCRE" != "yes"; then
  380: 			PCRE_LIB="-L$WITH_PCRE/lib -lpcre"
  381: 			CPPFLAGS="$CPPFLAGS -I$WITH_PCRE/include"
  382: 		else
  383: 			AC_PATH_PROG(PCRECONFIG, pcre-config)
  384: 			if test x"$PCRECONFIG" != x; then
  385: 				PCRE_LIB=`$PCRECONFIG --libs`
  386: 				CPPFLAGS="$CPPFLAGS `$PCRECONFIG --cflags`"
  387: 			fi
  388: 		fi
  389: 
  390:   if test x"$PCRE_LIB" != x; then
  391:     AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre])
  392:     AC_DEFINE([HAVE_PCRE_H], [1], [pcre.h])
  393:     AC_SUBST(PCRE_LIB)
  394:   else
  395:     AC_MSG_ERROR([pcre-config not found, install the pcre-devel package or build with --without-pcre])
  396:   fi
  397: fi
  398: 
  399: AC_MSG_CHECKING(for zlib support)
  400: AC_ARG_WITH(zlib, AC_HELP_STRING([--with-zlib],[Enable zlib support for mod_compress]),
  401:     [WITH_ZLIB=$withval],[WITH_ZLIB=yes])
  402: AC_MSG_RESULT([$WITH_ZLIB])
  403: 
  404: if test "$WITH_ZLIB" != "no"; then
  405: 		if test "$WITH_ZLIB" != "yes"; then
  406: 			Z_LIB="-L$WITH_ZLIB -lz"
  407: 			CPPFLAGS="$CPPFLAGS -I$WITH_ZLIB"
  408: 		else
  409: 			AC_CHECK_LIB(z, deflate, [
  410: 			  AC_CHECK_HEADERS([zlib.h],[Z_LIB=-lz])
  411: 			])
  412: 		fi
  413: 
  414:   if test x"$Z_LIB" != x; then
  415:     AC_DEFINE([HAVE_LIBZ], [1], [libz])
  416:     AC_DEFINE([HAVE_ZLIB_H], [1])
  417:     AC_SUBST(Z_LIB)
  418:   else
  419:     AC_MSG_ERROR([zlib-headers and/or libs were not found, install them or build with --without-zlib])
  420:   fi
  421: fi
  422: 
  423: AC_MSG_CHECKING(for bzip2 support)
  424: AC_ARG_WITH(bzip2, AC_HELP_STRING([--with-bzip2],[Enable bzip2 support for mod_compress]),
  425:     [WITH_BZIP2=$withval],[WITH_BZIP2=yes])
  426: AC_MSG_RESULT([$WITH_BZIP2])
  427: 
  428: if test "$WITH_BZIP2" != "no"; then
  429: 		if test "$WITH_BZIP2" != "yes"; then
  430: 			BZ_LIB="-L$WITH_BZIP2 -lbz2"
  431: 			CPPFLAGS="$CPPFLAGS -I$WITH_BZIP2"
  432: 		else
  433: 			AC_CHECK_LIB(bz2, BZ2_bzCompress, [
  434: 			  AC_CHECK_HEADERS([bzlib.h],[BZ_LIB=-lbz2])
  435: 			])
  436: 		fi
  437: 
  438:   if test x"$BZ_LIB" != x; then
  439:     AC_DEFINE([HAVE_LIBBZ2], [1], [libbz2])
  440:     AC_DEFINE([HAVE_BZLIB_H], [1])
  441:     AC_SUBST(BZ_LIB)
  442:   else
  443:     AC_MSG_ERROR([bzip2-headers and/or libs were not found, install them or build with --without-bzip2])
  444:   fi
  445: fi
  446: 
  447: dnl Check for gamin
  448: AC_MSG_CHECKING(for FAM)
  449: AC_ARG_WITH(fam, AC_HELP_STRING([--with-fam],[fam/gamin for reducing number of stat() calls]),
  450: [WITH_FAM=$withval],[WITH_FAM=no])
  451: AC_MSG_RESULT([$WITH_FAM])
  452: 
  453: if test "$WITH_FAM" != "no"; then
  454: 		if test "$WITH_FAM" != "yes"; then
  455: 			FAM_LIBS="-L$WITH_FAM -lfam"
  456: 			CPPFLAGS="$CPPFLAGS -I$WITH_FAM"
  457: 		else
  458: 			AC_CHECK_LIB(fam, FAMOpen2, [
  459: 			  AC_CHECK_HEADERS([fam.h],[FAM_LIBS=-lfam])
  460: 			])
  461: 			if test "x$FAM_LIBS" = x; then
  462: 			  PKG_CHECK_MODULES(FAM, gamin >= 0.1.0)
  463: 			fi
  464: 		fi
  465: 
  466:   if test x"$FAM_LIBS" != x; then
  467:     OLD_LIBS=$LIBS
  468:     LIBS=$FAM_LIBS
  469:     AC_CHECK_FUNCS([FAMNoExists])
  470:     LIBS=$OLD_LIBS
  471: 
  472:     AC_DEFINE([HAVE_LIBFAM], [1], [libfam])
  473:     AC_DEFINE([HAVE_FAM_H], [1], [fam.h])
  474:     AC_SUBST(FAM_LIBS)
  475:   else
  476:      AC_MSG_ERROR([fam/gamin-headers and/or libs were not found, install them or build with --without-fam])
  477:   fi
  478: fi
  479: 
  480: AC_MSG_CHECKING(for properties in mod_webdav)
  481: AC_ARG_WITH(webdav-props, AC_HELP_STRING([--with-webdav-props],[properties in mod_webdav]),
  482: [WITH_WEBDAV_PROPS=$withval],[WITH_WEBDAV_PROPS=no])
  483: AC_MSG_RESULT([$WITH_WEBDAV_PROPS])
  484: 
  485: if test "$WITH_WEBDAV_PROPS" != "no"; then
  486: 
  487:   AC_MSG_CHECKING(for libxml2)
  488:   AC_ARG_WITH(libxml, AC_HELP_STRING([--with-libxml],[libxml2 for properties in mod_webdav]),
  489:   [WITH_LIBXML=$withval],[WITH_LIBXML=yes])
  490:   AC_MSG_RESULT([$WITH_LIBXML])
  491: 
  492:   if test "$WITH_LIBXML" != "no"; then
  493: 		if test "$WITH_LIBXML" != "yes"; then
  494: 			XML_LIBS="-L$WITH_LIBXML/.libs -lxml2"
  495: 			XML_CFLAGS="-I$WITH_LIBXML/include"
  496: 		else
  497: 			PKG_CHECK_MODULES(XML, libxml-2.0)
  498: 		fi
  499: 
  500:     if test x"$XML_LIBS" != x; then
  501:       AC_DEFINE([HAVE_LIBXML2], [1], [libxml2])
  502:       AC_DEFINE([HAVE_LIBXML_H], [1], [libxml.h])
  503:       AC_SUBST(XML_LIBS)
  504:       AC_SUBST(XML_CFLAGS)
  505:     else
  506:       AC_MSG_ERROR([libxml2-headers and/or libs were not found, install them or build with --without-webdav-props])
  507:     fi
  508:   fi
  509: 
  510:   AC_MSG_CHECKING(for sqlite)
  511:   AC_ARG_WITH(sqlite, AC_HELP_STRING([--with-sqlite],[sqlite for properties in mod_webdav]),
  512:   [WITH_SQLITE=$withval],[WITH_SQLITE=yes])
  513:   AC_MSG_RESULT([$WITH_SQLITE])
  514: 
  515:   if test "$WITH_SQLITE" != "no"; then
  516: 		if test "$WITH_SQLITE" != "yes"; then
  517: 			SQLITE_LIBS="-L$WITH_SQLITE/.libs -lsqlite3"
  518: 			SQLITE_CFLAGS="-I$WITH_SQLITE"
  519: 		else
  520: 			PKG_CHECK_MODULES(SQLITE, sqlite3)
  521: 		fi
  522: 
  523:     if test x"$SQLITE_LIBS" != x; then
  524:       AC_DEFINE([HAVE_SQLITE3], [1], [libsqlite3])
  525:       AC_DEFINE([HAVE_SQLITE3_H], [1], [sqlite3.h])
  526:       AC_SUBST(SQLITE_LIBS)
  527:       AC_SUBST(SQLITE_CFLAGS)
  528:     else
  529:       AC_MSG_ERROR([sqlite-headers and/or libs were not found, install them or build with --without-webdav-props])
  530:     fi
  531:   fi
  532: 
  533:   AC_MSG_CHECKING(for locks in mod_webdav)
  534:   AC_ARG_WITH(webdav-locks, AC_HELP_STRING([--with-webdav-locks],[locks in mod_webdav]),
  535:   [WITH_WEBDAV_LOCKS=$withval],[WITH_WEBDAV_LOCKS=no])
  536:   AC_MSG_RESULT([$WITH_WEBDAV_LOCKS])
  537: 
  538:   if test "$WITH_WEBDAV_LOCKS" != "no"; then
  539: 
  540:     AC_MSG_CHECKING(for libuuid)
  541:     AC_ARG_WITH(uuid, AC_HELP_STRING([--with-uuid],[uuid for locks in mod_webdav]),
  542:     [WITH_UUID=$withval],[WITH_UUID=yes])
  543:     AC_MSG_RESULT([$WITH_UUID])
  544: 
  545:     if test "$WITH_UUID" != "no"; then
  546: 		if test "$WITH_UUID" != "yes"; then
  547: 			UUID_LIBS="-L$WITH_UUID -luuid"
  548: 			CPPFLAGS="$CPPFLAGS -I$WITH_UUID"
  549: 		else
  550: 			AC_CHECK_LIB(uuid, uuid_unparse, [
  551: 			  AC_CHECK_HEADERS([uuid/uuid.h],[UUID_LIBS=-luuid])
  552: 			])
  553: 		fi
  554: 
  555:       if test x"$UUID_LIBS" != x; then
  556:         AC_DEFINE([HAVE_UUID], [1], [libuuid])
  557:         AC_DEFINE([HAVE_UUID_H], [1], [uuid/uuid.h is available])
  558:         AC_SUBST(UUID_LIBS)
  559:       else
  560:         AC_MSG_ERROR([uuid-headers and/or libs were not found, install them or build with --without-webdav-locks])
  561:       fi
  562:     fi
  563: 
  564:   fi
  565: 
  566: fi
  567: 
  568: dnl Check for gdbm
  569: AC_MSG_CHECKING(for gdbm)
  570: AC_ARG_WITH(gdbm, AC_HELP_STRING([--with-gdbm],[gdbm storage for mod_trigger_b4_dl]),
  571: [WITH_GDBM=$withval],[WITH_GDBM=no])
  572: AC_MSG_RESULT([$WITH_GDBM])
  573: 
  574: if test "$WITH_GDBM" != "no"; then
  575: 		if test "$WITH_GDBM" != "yes"; then
  576: 			GDBM_LIB="-L$WITH_GDBM -lgdbm"
  577: 			CPPFLAGS="$CPPFLAGS -I$WITH_GDBM"
  578: 		else
  579: 			AC_CHECK_LIB(gdbm, gdbm_open, [
  580: 			  AC_CHECK_HEADERS([gdbm.h],[GDBM_LIB=-lgdbm])
  581: 			])
  582: 		fi
  583: 
  584:   if test x"$GDBM_LIB" != x; then
  585:     AC_DEFINE([HAVE_GDBM], [1], [libgdbm])
  586:     AC_DEFINE([HAVE_GDBM_H], [1])
  587:     AC_SUBST(GDBM_LIB)
  588:   else
  589:     AC_MSG_ERROR([gdbm headers and/or libs were not found, install them or build with --without-gdbm])
  590:   fi
  591: fi
  592: 
  593: dnl Check for memcached
  594: AC_MSG_CHECKING(for memcached)
  595: AC_ARG_WITH(memcached, AC_HELP_STRING([--with-memcached],[memcached storage for mod_trigger_b4_dl]),
  596: [WITH_MEMCACHED=$withval],[WITH_MEMCACHED=no])
  597: AC_MSG_RESULT([$WITH_MEMCACHED])
  598: 
  599: if test "$WITH_MEMCACHED" != "no"; then
  600: 		if test "$WITH_MEMCACHED" != "yes"; then
  601: 			MEMCACHED_LIB="-L$WITH_MEMCACHED -lMEMCACHED"
  602: 			CPPFLAGS="$CPPFLAGS -I$WITH_MEMCACHED"
  603: 		else
  604: 			AC_CHECK_LIB(memcached, memcached, [
  605: 			  AC_CHECK_HEADERS([libmemcached/memcached.h],[
  606: 			    MEMCACHED_LIB=-lmemcached
  607: 			  ])
  608: 			])
  609: 		fi
  610: 
  611:   if test x"$MEMCACHED_LIB" != x; then
  612:     AC_DEFINE([USE_MEMCACHED], [1], [libmemcached])
  613:     AC_SUBST(MEMCACHED_LIB)
  614:   else
  615:     AC_MSG_ERROR([memcached headers and/or libs were not found, install them or build with --without-memcached])
  616:   fi
  617: fi
  618: 
  619: dnl Check for lua
  620: AC_MSG_CHECKING(if lua-support is requested)
  621: AC_ARG_WITH(lua, AC_HELP_STRING([--with-lua],[lua engine for mod_cml]),
  622: [WITH_LUA=$withval],[WITH_LUA=no])
  623: 
  624: AC_MSG_RESULT($WITH_LUA)
  625: if test "$WITH_LUA" != "no"; then
  626:   found_lua=0
  627:   if test "$WITH_LUA" != "yes"; then
  628:     PKG_CHECK_MODULES(LUA, $WITH_LUA >= 5.1, [
  629:       found_lua=1
  630:     ],[
  631:       AC_MSG_NOTICE([Couldn't find requested lua pkg-config module $WITH_LUA])
  632:     ])
  633:     if test "$found_lua" = "0"; then
  634:       LUA_LIBS="-L$WITH_LUA -llua"
  635:       LUA_CFLAGS="-I$WITH_LUA"
  636:     fi
  637:   else
  638:     for luaname in lua5.3 lua-5.3 lua5.2 lua-5.2 lua5.1 lua-5.1 lua; do
  639:       if test "$found_lua" = "0"; then
  640:         PKG_CHECK_MODULES(LUA, $luaname >= 5.1, [
  641:           found_lua=1
  642:         ], [
  643:           AC_MSG_NOTICE([Couldn't find $luaname])
  644:         ])
  645:       fi
  646:     done
  647:     if test "$found_lua" = "0"; then
  648:       AC_MSG_ERROR([Couldn't find any lua pkg-config module])
  649:     fi
  650:   fi
  651: 
  652:   if test x"$LUA_LIBS" != x; then
  653:     AC_DEFINE([HAVE_LUA], [1], [liblua])
  654:     AC_DEFINE([HAVE_LUA_H], [1], [lua.h])
  655:     AC_SUBST(LUA_LIBS)
  656:     AC_SUBST(LUA_CFLAGS)
  657:   else
  658:     AC_MSG_ERROR([lua headers and/or libs were not found, install them or build with --without-lua])
  659:   fi
  660: fi
  661: 
  662: dnl search for crypt_r and (fallback) for crypt
  663: save_LIBS=$LIBS
  664: LIBS=
  665: AC_SEARCH_LIBS([crypt_r],[crypt],[
  666:   AC_DEFINE([HAVE_CRYPT_R], [1], [crypt_r])
  667:   AC_CHECK_HEADERS([crypt.h],[
  668:     AC_DEFINE([HAVE_CRYPT_H], [1], [crypt.h])
  669:   ])
  670: 
  671:   CRYPT_LIB=$LIBS
  672: ],[
  673:   AC_SEARCH_LIBS([crypt],[crypt],[
  674:     AC_DEFINE([HAVE_CRYPT], [1], [crypt])
  675:     AC_CHECK_HEADERS([crypt.h],[
  676:       AC_DEFINE([HAVE_CRYPT_H], [1], [crypt.h])
  677:     ])
  678: 
  679:     CRYPT_LIB=$LIBS
  680:   ])
  681: ])
  682: LIBS=$save_LIBS
  683: AC_SUBST([CRYPT_LIB])
  684: 
  685: save_LIBS=$LIBS
  686: AC_SEARCH_LIBS(sendfilev,sendfile,[
  687:   if test "$ac_cv_search_sendfilev" != no; then
  688:     test "$ac_cv_search_sendfilev" = "none required" || SENDFILE_LIB="$ac_cv_search_sendfilev"
  689:     AC_DEFINE([HAVE_SENDFILEV], [1], [solaris sendfilev])
  690:   fi
  691: ])
  692: LIBS=$save_LIBS
  693: AC_SUBST(SENDFILE_LIB)
  694: 
  695: case $host_os in
  696: 	*mingw* ) LIBS="$LIBS -lwsock32";;
  697:         * ) ;;
  698: esac
  699: 
  700: AC_CHECK_FUNCS([dup2 getcwd inet_ntoa inet_ntop inet_pton issetugid memset mmap munmap strchr \
  701: 		  strdup strerror strstr strtol sendfile  getopt socket lstat \
  702: 		  gethostbyname poll epoll_ctl getrlimit chroot \
  703: 		  getuid select signal pathconf madvise posix_fadvise posix_madvise \
  704: 		  writev sigaction sendfile64 send_file kqueue port_create localtime_r gmtime_r \
  705: 		  memset_s explicit_bzero clock_gettime])
  706: 
  707: AC_MSG_CHECKING(if weak symbols are supported)
  708: AC_LINK_IFELSE([AC_LANG_PROGRAM([[
  709: 		__attribute__((weak)) void __dummy(void *x) { }
  710: 		void f(void *x) { __dummy(x); }
  711: 	]])],
  712: 	[
  713: 		AC_MSG_RESULT(yes)
  714: 		AC_DEFINE([HAVE_WEAK_SYMBOLS], [1], [weak symbols are supported])
  715: 	],[AC_MSG_RESULT(no)])
  716: 
  717: AC_MSG_CHECKING(for Large File System support)
  718: AC_ARG_ENABLE(lfs,
  719:  AC_HELP_STRING([--enable-lfs],[Turn on Large File System (default)]),
  720:  [case "${enableval}" in
  721:    yes) CPPFLAGS="${CPPFLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES" ;;
  722:     no) ;;
  723:      *) AC_MSG_ERROR(bad value ${enableval} for --enable-lfs) ;;
  724:   esac],[CPPFLAGS="${CPPFLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES"
  725: 	 enable_lfs=yes])
  726: AC_MSG_RESULT($enableval)
  727: 
  728: AC_CHECK_SIZEOF(long)
  729: AC_CHECK_SIZEOF(off_t)
  730: 
  731: if test "x$ac_cv_func_sendfile" = xyes; then
  732: 	dnl check if sendfile works
  733:         AC_MSG_CHECKING(if sendfile works)
  734: 	if test "x$cross_compiling" = xno; then
  735: 	AC_TRY_RUN([
  736: 		    #ifdef HAVE_SYS_SENDFILE_H
  737: 		    #include <sys/sendfile.h>
  738: 		    #endif /* HAVE_SYS_SENDFILE_H */
  739: 		    #include <errno.h>
  740: 		    int main() {
  741: 		      int o = 0;
  742: 		      if (-1 == sendfile(-1, 0, &o, 0) && errno == ENOSYS) return -1;
  743: 		      return 0;
  744: 		    } ],
  745: 		    AC_MSG_RESULT(yes),
  746: 		    [ AC_MSG_RESULT(no)
  747: 		    AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile]) ] )
  748: 	else
  749: 	      AC_MSG_RESULT(no, cross-compiling)
  750: 	      AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile])
  751: 	fi
  752: fi
  753: 
  754: dnl Check for IPv6 support
  755: 
  756: AC_ARG_ENABLE(ipv6,
  757:  AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
  758:  [case "${enableval}" in
  759:    yes) ipv6=true ;;
  760:     no) ipv6=false ;;
  761:      *) AC_MSG_ERROR(bad value ${enableval} for --enable-ipv6) ;;
  762:   esac],[ipv6=true])
  763: 
  764: if test x$ipv6 = xtrue; then
  765:   AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
  766:   [AC_TRY_LINK([ #include <sys/types.h>
  767: #include <sys/socket.h>
  768: #include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0; ],
  769:   [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
  770: 
  771:   if test "$ac_cv_ipv6_support" = yes; then
  772:     AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
  773:   fi
  774: fi
  775: 
  776: # disable mmap by default; if a mmapped file gets truncated, the process gets a SIGBUS signal
  777: # on reading the truncated area which we can't handle (yet).
  778: # lighttpd may always use mmap with files it owns (created tmp files)
  779: AC_ARG_ENABLE(mmap,
  780:   AC_HELP_STRING([--enable-mmap],[use mmap if available (DANGEROUS, allows local users to trigger SIGBUS crashes)]),
  781:   [case "${enableval}" in
  782:    yes) mmap=true ;;
  783:     no) mmap=false ;;
  784:      *) AC_MSG_ERROR(bad value ${enableval} for --enable-mmap) ;;
  785:   esac],[mmap=false])
  786: 
  787: if test x$mmap = xtrue; then
  788:   AC_DEFINE(ENABLE_MMAP, [1], [Use mmap if available])
  789: fi
  790: 
  791: 
  792: AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
  793: 
  794: dnl check for fastcgi lib, for the tests only
  795: fastcgi_found=no
  796: AC_CHECK_LIB(fcgi, FCGI_Accept, [
  797:  AC_CHECK_HEADERS([fastcgi.h fastcgi/fastcgi.h],[
  798:    fastcgi_found=yes
  799:  ])
  800: ])
  801: 
  802: AM_CONDITIONAL(CHECK_WITH_FASTCGI, test "x$fastcgi_found" = xyes)
  803: 
  804: 
  805: dnl check for extra compiler options (warning options)
  806: if test "${GCC}" = "yes"; then
  807:   TRY_CFLAGS([-Wall -W -Wshadow -pedantic])
  808:   TRY_CFLAGS([-std=gnu99])
  809: fi
  810: 
  811: AC_ARG_ENABLE(extra-warnings,
  812:  AC_HELP_STRING([--enable-extra-warnings],[enable extra warnings (gcc specific)]),
  813:  [case "${enableval}" in
  814:    yes) extrawarnings=true ;;
  815:     no) extrawarnings=false ;;
  816:      *) AC_MSG_ERROR(bad value ${enableval} for --enable-extra-warnings) ;;
  817:   esac],[extrawarnings=false])
  818: 
  819: if test x$extrawarnings = xtrue; then
  820:   TRY_CFLAGS([-g -O2 -g2 -Wall -Wmissing-declarations -Wdeclaration-after-statement -Wcast-align -Wsign-compare -Wnested-externs -Wpointer-arith -D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security])
  821:   TRY_LDFLAGS([-Wl,--as-needed])
  822: fi
  823: 
  824: dnl build version-id
  825: LIGHTTPD_VERSION_ID=`echo $PACKAGE_VERSION | $AWK -F '.' '{print "(" $1 " << 16 | " $2 " << 8 | " $3 ")"}'`
  826: AC_DEFINE_UNQUOTED([LIGHTTPD_VERSION_ID], [$LIGHTTPD_VERSION_ID], [lighttpd-version-id])
  827: 
  828: AC_CONFIG_FILES([Makefile src/Makefile
  829: 		 doc/config/conf.d/Makefile \
  830: 		 doc/config/vhosts.d/Makefile \
  831: 		 doc/config/Makefile \
  832: 		 doc/scripts/Makefile \
  833: 		 doc/initscripts/Makefile \
  834: 		 doc/systemd/Makefile \
  835: 		 doc/outdated/Makefile \
  836: 		 doc/Makefile \
  837: 		 tests/Makefile \
  838: 		 tests/docroot/Makefile \
  839: 		 tests/docroot/123/Makefile \
  840: 		 tests/docroot/www/Makefile \
  841: 		 tests/docroot/www/go/Makefile \
  842: 		 tests/docroot/www/indexfile/Makefile \
  843: 		 tests/docroot/www/expire/Makefile \
  844: 		 distribute.sh])
  845: AC_OUTPUT
  846: 
  847: 
  848: 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"
  849: 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 mod_ssi"
  850: 
  851: plugins="mod_rewrite mod_redirect mod_trigger_b4_dl"
  852: features="regex-conditionals"
  853: if test ! "x$PCRE_LIB" = x; then
  854: 	do_build="$do_build $plugins"
  855: 	enable_feature="$features"
  856: else
  857: 	no_build="$no_build $plugins"
  858: 	disable_feature="$features"
  859: fi
  860: 
  861: plugins="mod_mysql_vhost"
  862: if test ! "x$MYSQL_LIBS" = x; then
  863: 	do_build="$do_build $plugins"
  864: else
  865: 	no_build="$no_build $plugins"
  866: fi
  867: 
  868: plugins="mod_cml mod_magnet"
  869: if test ! "x$LUA_LIBS" = x; then
  870: 	do_build="$do_build $plugins"
  871: else
  872: 	no_build="$no_build $plugins"
  873: fi
  874: 
  875: features="storage-gdbm"
  876: if test ! "x$GDBM_LIB" = x; then
  877: 	enable_feature="$enable_feature $features"
  878: else
  879: 	disable_feature="$disable_feature $features"
  880: fi
  881: 
  882: features="storage-memcached"
  883: if test ! "x$MEMCACHED_LIB" = x; then
  884: 	enable_feature="$enable_feature $features"
  885: else
  886: 	disable_feature="$disable_feature $features"
  887: fi
  888: 
  889: features="compress-gzip compress-deflate"
  890: if test ! "x$Z_LIB" = x; then
  891: 	enable_feature="$enable_feature $features"
  892: else
  893: 	disable_feature="$disable_feature $features"
  894: fi
  895: 
  896: features="compress-bzip2"
  897: if test ! "x$BZ_LIB" = x; then
  898: 	enable_feature="$enable_feature $features"
  899: else
  900: 	disable_feature="$disable_feature $features"
  901: fi
  902: 
  903: features="auth-ldap"
  904: if test ! "x$LDAP_LIB" = x; then
  905: 	enable_feature="$enable_feature $features"
  906: else
  907: 	disable_feature="$disable_feature $features"
  908: fi
  909: 
  910: features="network-openssl"
  911: if test ! "x$SSL_LIB" = x; then
  912: 	enable_feature="$enable_feature $features"
  913: else
  914: 	disable_feature="$disable_feature $features"
  915: fi
  916: 
  917: dnl no crypt call
  918: features="auth-crypt"
  919: if test "$ac_cv_search_crypt" = no; then
  920: 	disable_feature="$disable_feature $features"
  921: else
  922: 	enable_feature="$enable_feature $features"
  923: fi
  924: 
  925: features="network-ipv6"
  926: if test "$ac_cv_ipv6_support" = yes; then
  927: 	enable_feature="$enable_feature $features"
  928: else
  929: 	disable_feature="$disable_feature $features"
  930: fi
  931: 
  932: features="large-files"
  933: if test "$enable_lfs" = yes; then
  934: 	enable_feature="$enable_feature $features"
  935: else
  936: 	disable_feature="$disable_feature $features"
  937: fi
  938: 
  939: features="stat-cache-fam"
  940: if test ! "x$FAM_LIBS" = x; then
  941: 	enable_feature="$enable_feature $features"
  942: else
  943: 	disable_feature="$disable_feature $features"
  944: fi
  945: 
  946: features="webdav-properties"
  947: if test "x$XML_LIBS" \!= x -a "x$SQLITE_LIBS" \!= x; then
  948: 	enable_feature="$enable_feature $features"
  949: else
  950: 	disable_feature="$disable_feature $features"
  951: fi
  952: 
  953: features="webdav-locks"
  954: if test "x$UUID_LIBS" \!= x; then
  955: 	enable_feature="$enable_feature $features"
  956: else
  957: 	disable_feature="$disable_feature $features"
  958: fi
  959: 
  960: 
  961: dnl output
  962: 
  963: $ECHO
  964: $ECHO "Plugins:"
  965: $ECHO
  966: 
  967: $ECHO "enabled: "
  968: for p in $do_build; do
  969: 	$ECHO "  $p"
  970: done | sort
  971: 
  972: $ECHO "disabled: "
  973: for p in $no_build; do
  974: 	$ECHO "  $p"
  975: done | sort
  976: 
  977: $ECHO
  978: $ECHO "Features:"
  979: $ECHO
  980: 
  981: $ECHO "enabled: "
  982: for p in $enable_feature; do
  983: 	$ECHO "  $p"
  984: done | sort
  985: 
  986: $ECHO "disabled: "
  987: for p in $disable_feature; do
  988: 	$ECHO "  $p"
  989: done | sort
  990: 
  991: $ECHO

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