1529b0685SStefan Bühlerdnl -*- Autoconf -*- 2529b0685SStefan Bühlerdnl Process this file with autoconf to produce a configure script. 3d8d7d197SStefan Bühlerdnl 4d8d7d197SStefan Bühlerdnl Indentation rules: 5d8d7d197SStefan Bühlerdnl - closing braces not at the beginning of a line must match opening 6d8d7d197SStefan Bühlerdnl braces earlier on that line 7d8d7d197SStefan Bühlerdnl - closing braces at the beginning of a line: 8d8d7d197SStefan Bühlerdnl - must not be followed by anything else apart from "," or comments 9d8d7d197SStefan Bühlerdnl - must match opening braces from another line and indented the 10d8d7d197SStefan Bühlerdnl same as that other line 11d8d7d197SStefan Bühlerdnl - if one argument was put on a new line, all following arguments 12d8d7d197SStefan Bühlerdnl must be on their own line too 13d8d7d197SStefan Bühlerdnl - if an argument uses more than one line and is not a single 14d8d7d197SStefan Bühlerdnl function call, the argument should be on different lines than the 15d8d7d197SStefan Bühlerdnl wrapping braces 16acca2a3fSGlenn StraussAC_PREREQ([2.60]) 17*add03ac2SGlenn StraussAC_INIT([lighttpd],[1.4.70],[https://redmine.lighttpd.net/projects/lighttpd/boards/2],[lighttpd],[https://www.lighttpd.net/]) 1881587537SStefan BühlerAC_CONFIG_SRCDIR([src/server.c]) 19bb1d35dcSGlenn StraussAC_CONFIG_HEADERS([config.h]) 20759121daSStefan BühlerAC_CONFIG_MACRO_DIR([m4]) 2181587537SStefan Bühler 22cfd13c79SStefan BühlerAC_CANONICAL_HOST 2381587537SStefan Bühler 246ccccaaaSGlenn StraussAM_INIT_AUTOMAKE([1.13 -Wall -Wno-portability -Wno-override foreign dist-xz tar-ustar serial-tests silent-rules subdir-objects]) 25c4f21458SStefan Bühler 26c4f21458SStefan Bühlerdnl @synopsis TRY_CFLAGS [compiler flags] 272b9be8f0SStefan Bühlerdnl @summary check whether compiler supports given flags and adds them to CFLAGS 28c4f21458SStefan BühlerAC_DEFUN([TRY_CFLAGS], 29c4f21458SStefan Bühler[dnl 30c4f21458SStefan Bühler AC_MSG_CHECKING([if $CC supports $1]) 31c4f21458SStefan Bühler AC_LANG_PUSH([C]) 32c4f21458SStefan Bühler ac_try_cflags_saved_cflags="${CFLAGS}" 33c4f21458SStefan Bühler CFLAGS="${CFLAGS} $1" 34c4f21458SStefan Bühler AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], 35c4f21458SStefan Bühler [AC_MSG_RESULT([yes])], 36c4f21458SStefan Bühler [ 37c4f21458SStefan Bühler AC_MSG_ERROR([no]) 38c4f21458SStefan Bühler CFLAGS="${ac_try_cflags_saved_cflags}" 39c4f21458SStefan Bühler ] 40c4f21458SStefan Bühler ) 41c4f21458SStefan Bühler AC_LANG_POP([C]) 42c4f21458SStefan Bühler]) 43c4f21458SStefan Bühler 442b9be8f0SStefan Bühlerdnl @synopsis TRY_LDFLAGS [linker flags] 452b9be8f0SStefan Bühlerdnl @summary check whether linker supports given flags and adds them to LDFLAGS 462b9be8f0SStefan BühlerAC_DEFUN([TRY_LDFLAGS], 472b9be8f0SStefan Bühler[dnl 482b9be8f0SStefan Bühler AC_MSG_CHECKING([if $LD supports $1]) 492b9be8f0SStefan Bühler AC_LANG_PUSH([C]) 502b9be8f0SStefan Bühler ac_try_ldflags_saved_ldflags="${LDFLAGS}" 512b9be8f0SStefan Bühler LDFLAGS="${LDFLAGS} $1" 522b9be8f0SStefan Bühler AC_LINK_IFELSE([AC_LANG_PROGRAM([])], 532b9be8f0SStefan Bühler [AC_MSG_RESULT([yes])], 542b9be8f0SStefan Bühler [ 552b9be8f0SStefan Bühler AC_MSG_ERROR([no]) 562b9be8f0SStefan Bühler LDFLAGS="${ac_try_ldflags_saved_cflags}" 572b9be8f0SStefan Bühler ] 582b9be8f0SStefan Bühler ) 592b9be8f0SStefan Bühler AC_LANG_POP([C]) 602b9be8f0SStefan Bühler]) 61c4f21458SStefan Bühler 62529b0685SStefan Bühlerdnl Checks for programs. 6381587537SStefan BühlerAC_PROG_CC 6416823cd9SGlenn StraussAC_PROG_CC_C99 6530c54b65SAndreas OberritterAX_PROG_CC_FOR_BUILD 66acca2a3fSGlenn StraussLT_PATH_LD 6781587537SStefan BühlerAC_PROG_INSTALL 6881587537SStefan BühlerAC_PROG_CPP 6981587537SStefan BühlerAC_PROG_MAKE_SET 7081587537SStefan Bühler 71f107bac8SStefan BühlerAC_USE_SYSTEM_EXTENSIONS 72f107bac8SStefan BühlerAM_PROG_AR 73bb1d35dcSGlenn StraussAC_C_INLINE 74bb1d35dcSGlenn StraussAC_C_RESTRICT 7581587537SStefan Bühler 7681587537SStefan Bühlerdnl AC_CANONICAL_HOST 77d8d7d197SStefan Bühlercase "$host_os" in 78539deb73SGlenn Strauss*darwin*|*cygwin*|*aix*|*mingw*|*midipix* ) NO_RDYNAMIC=yes ;; 7981587537SStefan Bühler* ) NO_RDYNAMIC=no ;; 8081587537SStefan Bühleresac 81d8d7d197SStefan BühlerAM_CONDITIONAL([NO_RDYNAMIC], [test "$NO_RDYNAMIC" = yes]) 8281587537SStefan Bühler 83d8d7d197SStefan BühlerAM_CONDITIONAL([LIGHTTPD_STATIC], [test "$LIGHTTPD_STATIC" = yes]) 8483d896d0SGlenn Strauss 8581587537SStefan BühlerAC_EXEEXT 8681587537SStefan Bühler 8781587537SStefan Bühlerdnl libtool 88a89e94e0SGlenn StraussLT_INIT([dlopen disable-static shared]) 8981587537SStefan Bühler 9081587537SStefan Bühlerdnl for solaris 91f107bac8SStefan BühlerCPPFLAGS="${CPPFLAGS} -D_REENTRANT" 9281587537SStefan Bühler 93529b0685SStefan Bühlerdnl Checks for header files. 94d8d7d197SStefan Bühler 95d8d7d197SStefan Bühlerdnl checks for sys/wait.h => HAVE_SYS_WAIT_H 9681587537SStefan BühlerAC_HEADER_SYS_WAIT 97d8d7d197SStefan BühlerAC_CHECK_HEADERS([\ 98d8d7d197SStefan Bühler getopt.h \ 99bb1d35dcSGlenn Strauss inttypes.h \ 100d8d7d197SStefan Bühler poll.h \ 101d8d7d197SStefan Bühler pwd.h \ 102d8d7d197SStefan Bühler stdlib.h \ 103bb1d35dcSGlenn Strauss stdint.h \ 104d8d7d197SStefan Bühler strings.h \ 1057ce8b22cSGlenn Strauss sys/inotify.h \ 1068c9b5480SNiclas Rosenvik sys/loadavg.h \ 107d8d7d197SStefan Bühler sys/poll.h \ 108d8d7d197SStefan Bühler sys/prctl.h \ 109f36908deSGlenn Strauss sys/procctl.h \ 110d8d7d197SStefan Bühler sys/sendfile.h \ 111d8d7d197SStefan Bühler sys/time.h \ 112d8d7d197SStefan Bühler sys/uio.h \ 113d8d7d197SStefan Bühler sys/un.h \ 114d8d7d197SStefan Bühler syslog.h \ 115d8d7d197SStefan Bühler uuid/uuid.h \ 116d8d7d197SStefan Bühler]) 11781587537SStefan Bühler 118529b0685SStefan Bühlerdnl Checks for typedefs, structures, and compiler characteristics. 11981587537SStefan BühlerAC_C_CONST 12081587537SStefan BühlerAC_C_INLINE 12181587537SStefan BühlerAC_TYPE_OFF_T 12281587537SStefan BühlerAC_TYPE_PID_T 12381587537SStefan BühlerAC_TYPE_SIZE_T 12481587537SStefan Bühler 125d8d7d197SStefan BühlerAC_CHECK_MEMBER([struct tm.tm_gmtoff], 126d8d7d197SStefan Bühler [AC_DEFINE([HAVE_STRUCT_TM_GMTOFF], [1], [gmtoff in struct tm])], 127d8d7d197SStefan Bühler [], 128d8d7d197SStefan Bühler [#include <time.h>] 129d8d7d197SStefan Bühler) 130d8d7d197SStefan BühlerAC_CHECK_TYPES([socklen_t], 131d8d7d197SStefan Bühler [], dnl defines HAVE_SOCKLEN_T 132d8d7d197SStefan Bühler [], 133d8d7d197SStefan Bühler [ 134d8d7d197SStefan Bühler #include <sys/types.h> 135d8d7d197SStefan Bühler #include <sys/socket.h> 136d8d7d197SStefan Bühler ] 137d8d7d197SStefan Bühler) 13881587537SStefan Bühler 139618fb436SGlenn Straussdnl solaris needs -lsocket -lnsl 140618fb436SGlenn Straussdnl Haiku needs -lnetwork 141c0f040eaSDavid CarlierAC_SEARCH_LIBS([socket], [socket network]) 142c0f040eaSDavid CarlierAC_SEARCH_LIBS([gethostbyname], [nsl socket network]) 143955b029fSStefan Bühler 144955b029fSStefan Bühlerdnl clock_gettime() needs -lrt with glibc < 2.17, and possibly other platforms 145955b029fSStefan BühlerAC_SEARCH_LIBS([clock_gettime], [rt]) 146955b029fSStefan Bühler 14752c48983SGlenn Straussdnl FreeBSD elftc_copyfile() 14852c48983SGlenn Strausssave_LIBS=$LIBS 14952c48983SGlenn StraussLIBS= 15052c48983SGlenn StraussAC_SEARCH_LIBS([elftc_copyfile], [elftc], [ 15152c48983SGlenn Strauss AC_CHECK_HEADERS([libelftc.h], [ 15252c48983SGlenn Strauss ELFTC_LIB=$LIBS 15352c48983SGlenn Strauss AC_DEFINE([HAVE_LIBELFTC], [1], [libelftc]) 15452c48983SGlenn Strauss AC_DEFINE([HAVE_ELFTC_COPYFILE], [1], [elftc_copyfile]) 15552c48983SGlenn Strauss ]) 15652c48983SGlenn Strauss]) 15752c48983SGlenn StraussLIBS=$save_LIBS 15852c48983SGlenn StraussAC_SUBST([ELFTC_LIB]) 15952c48983SGlenn Strauss 160955b029fSStefan Bühlerdnl need dlopen/-ldl to load plugins (when not on windows) 161955b029fSStefan Bühlersave_LIBS=$LIBS 162955b029fSStefan BühlerLIBS= 163955b029fSStefan BühlerAC_SEARCH_LIBS([dlopen], [dl], [ 164955b029fSStefan Bühler AC_CHECK_HEADERS([dlfcn.h], [ 165955b029fSStefan Bühler DL_LIB=$LIBS 166955b029fSStefan Bühler AC_DEFINE([HAVE_LIBDL], [1], [libdl]) 167955b029fSStefan Bühler AC_DEFINE([HAVE_DLFCN_H], [1]) 168955b029fSStefan Bühler ]) 169955b029fSStefan Bühler]) 170955b029fSStefan BühlerLIBS=$save_LIBS 171955b029fSStefan BühlerAC_SUBST([DL_LIB]) 172955b029fSStefan Bühler 17341cd7d25SStefan Bühlerdnl prepare pkg-config usage below 17441cd7d25SStefan BühlerPKG_PROG_PKG_CONFIG 175b0126de9SStefan Bühler 176f8eb52ebSStefan Bühlerdnl checking for libev 17741cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 178d8d7d197SStefan BühlerAC_MSG_CHECKING([for libev support]) 179d8d7d197SStefan BühlerAC_ARG_WITH([libev], 180acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-libev@<:@=PATH@:>@], 181d8d7d197SStefan Bühler [Include libev support for fdevent handlers in PATH/include and PATH/lib] 182d8d7d197SStefan Bühler )], 183d8d7d197SStefan Bühler [WITH_LIBEV=$withval], 184d8d7d197SStefan Bühler [WITH_LIBEV=no] 185d8d7d197SStefan Bühler) 18641cd7d25SStefan BühlerAC_MSG_RESULT([$WITH_LIBEV]) 18733fd0db9SGlenn Straussdnl ignore WITH_LIBEV 188f8eb52ebSStefan Bühler 18941cd7d25SStefan Bühlerdnl Checks for mysql 19041cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 191d8d7d197SStefan BühlerAC_MSG_CHECKING([for MySQL support]) 192d8d7d197SStefan BühlerAC_ARG_WITH([mysql], 193acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-mysql@<:@=PATH@:>@], 194d8d7d197SStefan Bühler [Include MySQL support. PATH is the path to 'mysql_config'] 195d8d7d197SStefan Bühler )], 196d8d7d197SStefan Bühler [WITH_MYSQL=$withval], 197d8d7d197SStefan Bühler [WITH_MYSQL=no] 198d8d7d197SStefan Bühler) 19941cd7d25SStefan BühlerAC_MSG_RESULT([$WITH_MYSQL]) 20041cd7d25SStefan Bühler 2014608ddecSGlenn StraussMYSQL_CFLAGS= 20241cd7d25SStefan BühlerMYSQL_LIBS= 20381587537SStefan Bühler 204d8d7d197SStefan Bühlerif test "$WITH_MYSQL" != no; then 205d8d7d197SStefan Bühler if test "$WITH_MYSQL" = yes; then 2064608ddecSGlenn Strauss PKG_CHECK_MODULES([MYSQL],[mariadb],[ 2074608ddecSGlenn Strauss MYSQL_CONFIG=$PKG_CONFIG 2084608ddecSGlenn Strauss ],[ 2094608ddecSGlenn Strauss PKG_CHECK_MODULES([MYSQL],[mysqlclient],[ 2104608ddecSGlenn Strauss MYSQL_CONFIG=$PKG_CONFIG 2114608ddecSGlenn Strauss ],[ 212d8d7d197SStefan Bühler AC_PATH_PROG([MYSQL_CONFIG], [mysql_config]) 2134608ddecSGlenn Strauss ]) 2144608ddecSGlenn Strauss ]) 21581587537SStefan Bühler else 21681587537SStefan Bühler MYSQL_CONFIG=$WITH_MYSQL 21781587537SStefan Bühler fi 21881587537SStefan Bühler 2194608ddecSGlenn Strauss if test "$MYSQL_CONFIG" != "$PKG_CONFIG"; then 220d8d7d197SStefan Bühler if test -z "$MYSQL_CONFIG"; then 221d8d7d197SStefan Bühler AC_MSG_ERROR([mysql_config is not found]) 22281587537SStefan Bühler fi 223d8d7d197SStefan Bühler if test ! -x "$MYSQL_CONFIG"; then 224d8d7d197SStefan Bühler AC_MSG_ERROR([mysql_config not exists or not executable, use --with-mysql=path-to-mysql_config]) 22581587537SStefan Bühler fi 22681587537SStefan Bühler 227d8d7d197SStefan Bühler if "$MYSQL_CONFIG" | grep -- '--include' > /dev/null ; then 2284608ddecSGlenn Strauss MYSQL_CFLAGS=`"$MYSQL_CONFIG" --include | sed s/\'//g` 22981587537SStefan Bühler else 2304608ddecSGlenn Strauss MYSQL_CFLAGS=`"$MYSQL_CONFIG" --cflags | sed s/\'//g` 23181587537SStefan Bühler fi 232d8d7d197SStefan Bühler MYSQL_LIBS=`"$MYSQL_CONFIG" --libs | sed s/\'//g` 2334608ddecSGlenn Strauss fi 23481587537SStefan Bühler 235d8d7d197SStefan Bühler AC_MSG_CHECKING([for MySQL includes at]) 2364608ddecSGlenn Strauss AC_MSG_RESULT([$MYSQL_CFLAGS]) 23781587537SStefan Bühler 238d8d7d197SStefan Bühler AC_MSG_CHECKING([for MySQL libraries at]) 239d8d7d197SStefan Bühler AC_MSG_RESULT([$MYSQL_LIBS]) 24081587537SStefan Bühler 24181587537SStefan Bühler AC_DEFINE([HAVE_MYSQL], [1], [mysql support]) 24281587537SStefan Bühlerfi 243d8d7d197SStefan BühlerAM_CONDITIONAL([BUILD_WITH_MYSQL], [test "$WITH_MYSQL" != no]) 24481587537SStefan Bühler 245d8d7d197SStefan BühlerAC_SUBST([MYSQL_LIBS]) 2464608ddecSGlenn StraussAC_SUBST([MYSQL_CFLAGS]) 24781587537SStefan Bühler 24841cd7d25SStefan Bühlerdnl Checks for pgsql 24941cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 250d8d7d197SStefan BühlerAC_MSG_CHECKING([for PgSQL support]) 251d8d7d197SStefan BühlerAC_ARG_WITH([pgsql], 252acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-pgsql@<:@=PATH@:>@], 253d8d7d197SStefan Bühler [Include PgSQL support. PATH is the path to 'pg_config'] 254d8d7d197SStefan Bühler )], 255d8d7d197SStefan Bühler [WITH_PGSQL=$withval], 256d8d7d197SStefan Bühler [WITH_PGSQL=no] 257d8d7d197SStefan Bühler) 25841cd7d25SStefan BühlerAC_MSG_RESULT([$WITH_PGSQL]) 25941cd7d25SStefan Bühler 260e790203aSGlenn StraussPGSQL_CFLAGS= 26141cd7d25SStefan BühlerPGSQL_LIBS= 2622f83aac9SGlenn Strauss 263d8d7d197SStefan Bühlerif test "$WITH_PGSQL" != no; then 264d8d7d197SStefan Bühler if test "$WITH_PGSQL" = yes; then 2653eff9bacSGlenn Strauss PKG_CHECK_MODULES([PGSQL],[libpq],[ 2663eff9bacSGlenn Strauss PGSQL_CONFIG=$PKG_CONFIG 2673eff9bacSGlenn Strauss ],[ 268d8d7d197SStefan Bühler AC_PATH_PROG([PGSQL_CONFIG], [pg_config]) 2693eff9bacSGlenn Strauss ]) 2702f83aac9SGlenn Strauss else 2712f83aac9SGlenn Strauss PGSQL_CONFIG=$WITH_PGSQL 2722f83aac9SGlenn Strauss fi 2732f83aac9SGlenn Strauss 2743eff9bacSGlenn Strauss if test "$PGSQL_CONFIG" != "$PKG_CONFIG"; then 275d8d7d197SStefan Bühler if test -z "$PGSQL_CONFIG"; then 276d8d7d197SStefan Bühler AC_MSG_ERROR([pg_config is not found]) 2772f83aac9SGlenn Strauss fi 278d8d7d197SStefan Bühler if test ! -x "$PGSQL_CONFIG"; then 279d8d7d197SStefan Bühler AC_MSG_ERROR([pg_config not exists or not executable, use --with-pgsql=path-to-pg_config]) 2802f83aac9SGlenn Strauss fi 2812f83aac9SGlenn Strauss 282e790203aSGlenn Strauss PGSQL_CFLAGS="-I`"$PGSQL_CONFIG" --includedir`" 283d8d7d197SStefan Bühler PGSQL_LIBS="-L`"$PGSQL_CONFIG" --libdir` -lpq" 2843eff9bacSGlenn Strauss fi 2852f83aac9SGlenn Strauss 286d8d7d197SStefan Bühler AC_MSG_CHECKING([for PgSQL includes at]) 287e790203aSGlenn Strauss AC_MSG_RESULT([$PGSQL_CFLAGS]) 2882f83aac9SGlenn Strauss 289d8d7d197SStefan Bühler AC_MSG_CHECKING([for PgSQL libraries at]) 290d8d7d197SStefan Bühler AC_MSG_RESULT([$PGSQL_LIBS]) 2912f83aac9SGlenn Strauss 2922f83aac9SGlenn Strauss AC_DEFINE([HAVE_PGSQL], [1], [pgsql support]) 2932f83aac9SGlenn Straussfi 294d8d7d197SStefan BühlerAM_CONDITIONAL([BUILD_WITH_PGSQL], [test "$WITH_PGSQL" != no]) 2952f83aac9SGlenn Strauss 296d8d7d197SStefan BühlerAC_SUBST([PGSQL_LIBS]) 297e790203aSGlenn StraussAC_SUBST([PGSQL_CFLAGS]) 2982f83aac9SGlenn Strauss 2992f83aac9SGlenn Straussdnl Checks for libdbi library 30041cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 301d8d7d197SStefan BühlerAC_MSG_CHECKING([for LibDBI support]) 302d8d7d197SStefan BühlerAC_ARG_WITH([dbi], 303acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-dbi@<:@=PATH@:>@], 304d8d7d197SStefan Bühler [Include DBI support in PATH/include/dbi.h and PATH/lib] 305d8d7d197SStefan Bühler )], 306d8d7d197SStefan Bühler [WITH_DBI=$withval], 307d8d7d197SStefan Bühler [WITH_DBI=no] 308d8d7d197SStefan Bühler) 30941cd7d25SStefan BühlerAC_MSG_RESULT([$WITH_DBI]) 31041cd7d25SStefan Bühler 31141cd7d25SStefan BühlerDBI_INCLUDE= 31241cd7d25SStefan BühlerDBI_LIBS= 3132f83aac9SGlenn Strauss 314d8d7d197SStefan Bühlerif test "$WITH_DBI" != no; then 315d8d7d197SStefan Bühler if test "$WITH_DBI" != yes; then 316d61714ddSGlenn Strauss DBI_CFLAGS="-I$WITH_DBI/include" 317d61714ddSGlenn Strauss DBI_LIBS="-L$WITH_DBI/lib -ldbi" 3182f83aac9SGlenn Strauss else 319d8d7d197SStefan Bühler AC_CHECK_HEADERS([dbi/dbi.h], 320d8d7d197SStefan Bühler [AC_CHECK_LIB([dbi], [dbi_version], 321d8d7d197SStefan Bühler [ 322d8d7d197SStefan Bühler DBI_CFLAGS= 3232f83aac9SGlenn Strauss DBI_LIBS="-ldbi" 324d8d7d197SStefan Bühler ], 325d8d7d197SStefan Bühler [AC_MSG_ERROR([LibDBI not found])] 326d8d7d197SStefan Bühler )], 32741cd7d25SStefan Bühler [AC_MSG_ERROR([LibDBI header not found])] 3282f83aac9SGlenn Strauss ) 3292f83aac9SGlenn Strauss fi 3302f83aac9SGlenn Strauss 3312f83aac9SGlenn Strauss AC_DEFINE([HAVE_DBI], [1], [LibDBI support]) 3322f83aac9SGlenn Straussfi 333d8d7d197SStefan BühlerAM_CONDITIONAL([BUILD_WITH_DBI], [test "$WITH_DBI" != no]) 3342f83aac9SGlenn Strauss 335d8d7d197SStefan BühlerAC_SUBST([DBI_LIBS]) 336d8d7d197SStefan BühlerAC_SUBST([DBI_CFLAGS]) 3372f83aac9SGlenn Strauss 338d61714ddSGlenn Straussdnl Checks for libsasl2 library 339d61714ddSGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 340d61714ddSGlenn StraussAC_MSG_CHECKING([for LibSASL support]) 341d61714ddSGlenn StraussAC_ARG_WITH([sasl], 342acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-sasl@<:@=PATH@:>@], 343d61714ddSGlenn Strauss [Include SASL support in PATH/include/sasl/sasl.h and PATH/lib] 344d61714ddSGlenn Strauss )], 345d61714ddSGlenn Strauss [WITH_SASL=$withval], 346d61714ddSGlenn Strauss [WITH_SASL=no] 347d61714ddSGlenn Strauss) 348d61714ddSGlenn StraussAC_MSG_RESULT([$WITH_SASL]) 349d61714ddSGlenn Strauss 350d61714ddSGlenn StraussSASL_INCLUDE= 351d61714ddSGlenn StraussSASL_LIBS= 352d61714ddSGlenn Strauss 353d61714ddSGlenn Straussif test "$WITH_SASL" != no; then 354d61714ddSGlenn Strauss if test "$WITH_SASL" != yes; then 355d61714ddSGlenn Strauss SASL_CFLAGS="-I$WITH_SASL/include" 356d61714ddSGlenn Strauss SASL_LIBS="-L$WITH_SASL/lib -lsasl2" 357d61714ddSGlenn Strauss else 358d61714ddSGlenn Strauss AC_CHECK_HEADERS([sasl/sasl.h], 359d61714ddSGlenn Strauss [AC_CHECK_LIB([sasl2], [sasl_server_init], 360d61714ddSGlenn Strauss [ 361d61714ddSGlenn Strauss SASL_CFLAGS= 362d61714ddSGlenn Strauss SASL_LIBS="-lsasl2" 363d61714ddSGlenn Strauss ], 364d61714ddSGlenn Strauss [AC_MSG_ERROR([libsasl2 not found])] 365d61714ddSGlenn Strauss )], 366d61714ddSGlenn Strauss [AC_MSG_ERROR([SASL header not found])] 367d61714ddSGlenn Strauss ) 368d61714ddSGlenn Strauss fi 369d61714ddSGlenn Strauss 370d61714ddSGlenn Strauss AC_DEFINE([HAVE_SASL], [1], [LibSASL support]) 371d61714ddSGlenn Straussfi 372d61714ddSGlenn StraussAM_CONDITIONAL([BUILD_WITH_SASL], [test "$WITH_SASL" != no]) 373d61714ddSGlenn Strauss 374d61714ddSGlenn StraussAC_SUBST([SASL_LIBS]) 375d61714ddSGlenn StraussAC_SUBST([SASL_CFLAGS]) 376d61714ddSGlenn Strauss 3772f83aac9SGlenn Strauss 37881587537SStefan Bühlerdnl Check for LDAP 37941cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 380d8d7d197SStefan BühlerAC_MSG_CHECKING([for LDAP support]) 381d8d7d197SStefan BühlerAC_ARG_WITH([ldap], 382acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-ldap], [enable LDAP support])], 383d8d7d197SStefan Bühler [WITH_LDAP=$withval], 384d8d7d197SStefan Bühler [WITH_LDAP=no] 385d8d7d197SStefan Bühler) 38641cd7d25SStefan BühlerAC_MSG_RESULT([$WITH_LDAP]) 38741cd7d25SStefan Bühler 388d8d7d197SStefan Bühlerif test "$WITH_LDAP" != no; then 389fdc4c324SGlenn Strauss AC_CHECK_LIB([ldap], [ldap_sasl_bind_s], 39041cd7d25SStefan Bühler [AC_CHECK_HEADERS([ldap.h], 39141cd7d25SStefan Bühler [ 39281587537SStefan Bühler LDAP_LIB=-lldap 39381587537SStefan Bühler AC_DEFINE([HAVE_LIBLDAP], [1], [libldap]) 39481587537SStefan Bühler AC_DEFINE([HAVE_LDAP_H], [1]) 39541cd7d25SStefan Bühler ], 39641cd7d25SStefan Bühler [AC_MSG_ERROR([ldap headers not found, install them or build without --with-ldap])] 39741cd7d25SStefan Bühler )], 39841cd7d25SStefan Bühler [AC_MSG_ERROR([ldap library not found, install it or build without --with-ldap])] 399d8d7d197SStefan Bühler ) 400d8d7d197SStefan Bühler AC_SUBST([LDAP_LIB]) 401d8d7d197SStefan Bühler AC_CHECK_LIB([lber], [ber_printf], 40241cd7d25SStefan Bühler [AC_CHECK_HEADERS([lber.h], 40341cd7d25SStefan Bühler [ 40481587537SStefan Bühler LBER_LIB=-llber 40581587537SStefan Bühler AC_DEFINE([HAVE_LIBLBER], [1], [liblber]) 40681587537SStefan Bühler AC_DEFINE([HAVE_LBER_H], [1]) 40741cd7d25SStefan Bühler ], 40841cd7d25SStefan Bühler [AC_MSG_ERROR([lber headers not found, install them or build without --with-ldap])] 40941cd7d25SStefan Bühler )], 41041cd7d25SStefan Bühler [AC_MSG_ERROR([lber library not found, install it or build without --with-ldap])] 411d8d7d197SStefan Bühler ) 412d8d7d197SStefan Bühler AC_SUBST([LBER_LIB]) 41381587537SStefan Bühlerfi 414d8d7d197SStefan BühlerAM_CONDITIONAL([BUILD_WITH_LDAP], [test "$WITH_LDAP" != no]) 41581587537SStefan Bühler 416df4812ecSGlenn Straussdnl Check for PAM 417df4812ecSGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 418df4812ecSGlenn StraussAC_MSG_CHECKING(for PAM support) 419df4812ecSGlenn StraussAC_ARG_WITH([pam], 420acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-pam],[enable PAM support])], 421df4812ecSGlenn Strauss [WITH_PAM=$withval], 422df4812ecSGlenn Strauss [WITH_PAM=no] 423df4812ecSGlenn Strauss) 424df4812ecSGlenn StraussAC_MSG_RESULT([$withval]) 425df4812ecSGlenn Strauss 426df4812ecSGlenn Straussif test "$WITH_PAM" != "no"; then 427df4812ecSGlenn Strauss AC_CHECK_LIB([pam], [pam_start], 428df4812ecSGlenn Strauss [AC_CHECK_HEADERS([security/pam_appl.h],[ 429df4812ecSGlenn Strauss PAM_LIB=-lpam 430df4812ecSGlenn Strauss AC_DEFINE([HAVE_PAM], [1], [libpam]) 431df4812ecSGlenn Strauss AC_DEFINE([HAVE_SECURITY_PAM_APPL_H], [1]) 432df4812ecSGlenn Strauss ], 433df4812ecSGlenn Strauss [AC_MSG_ERROR([pam headers not found, install them or build without --with-pam])] 434df4812ecSGlenn Strauss )], 435df4812ecSGlenn Strauss [AC_MSG_ERROR([pam library not found, install it or build without --with-pam])] 436df4812ecSGlenn Strauss ) 437df4812ecSGlenn Strauss AC_SUBST(PAM_LIB) 438df4812ecSGlenn Straussfi 439df4812ecSGlenn StraussAM_CONDITIONAL([BUILD_WITH_PAM], [test "$WITH_PAM" != no]) 440df4812ecSGlenn Strauss 44181587537SStefan Bühlerdnl Check for xattr 44241cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 443d8d7d197SStefan BühlerAC_MSG_CHECKING([for extended attributes support]) 444d8d7d197SStefan BühlerAC_ARG_WITH([attr], 445acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-attr], [enable extended attribute support])], 446d8d7d197SStefan Bühler [WITH_ATTR=$withval], 447d8d7d197SStefan Bühler [WITH_ATTR=no] 448d8d7d197SStefan Bühler) 44941cd7d25SStefan BühlerAC_MSG_RESULT([$WITH_ATTR]) 45041cd7d25SStefan Bühler 451d8d7d197SStefan Bühlerif test "$WITH_ATTR" != no; then 45241cd7d25SStefan Bühler have_xattr=no 4534d55d4adSMoritz Wilhelmy 454455dc037SGlenn Strauss # Linux getxattr 455455dc037SGlenn Strauss AC_CHECK_FUNC([getxattr], [ 456455dc037SGlenn Strauss AC_CHECK_HEADERS([sys/xattr.h], [ 457455dc037SGlenn Strauss AC_DEFINE([HAVE_XATTR], [1], [Linux extended attributes]) 458455dc037SGlenn Strauss AC_DEFINE([HAVE_SYS_XATTR_H], [1]) 459455dc037SGlenn Strauss have_xattr=yes 460455dc037SGlenn Strauss ]) 461455dc037SGlenn Strauss ]) 462455dc037SGlenn Strauss 4634d55d4adSMoritz Wilhelmy # (Free)BSD extattr 4644d55d4adSMoritz Wilhelmy AC_CHECK_FUNC([extattr_get_file], [ 4654d55d4adSMoritz Wilhelmy AC_CHECK_HEADERS([sys/extattr.h], [ 4664d55d4adSMoritz Wilhelmy AC_DEFINE([HAVE_EXTATTR], [1], [BSD extended attributes]) 4674d55d4adSMoritz Wilhelmy AC_DEFINE([HAVE_SYS_EXTATTR_H], [1]) 46841cd7d25SStefan Bühler have_xattr=yes 4694d55d4adSMoritz Wilhelmy ]) 4704d55d4adSMoritz Wilhelmy ]) 47141cd7d25SStefan Bühler 47218850c5cSGlenn Strauss # libattr (linux only?) 47318850c5cSGlenn Strauss if test "$have_xattr" = no; then 47418850c5cSGlenn Strauss AC_CHECK_LIB([attr], [attr_get], [ 47518850c5cSGlenn Strauss AC_CHECK_HEADERS([attr/attributes.h], [ 47618850c5cSGlenn Strauss ATTR_LIB=-lattr 47718850c5cSGlenn Strauss AC_DEFINE([HAVE_XATTR], [1], [libattr]) 47818850c5cSGlenn Strauss AC_DEFINE([HAVE_ATTR_ATTRIBUTES_H], [1]) 47918850c5cSGlenn Strauss have_xattr=yes 48018850c5cSGlenn Strauss ]) 48118850c5cSGlenn Strauss ]) 48218850c5cSGlenn Strauss fi 48318850c5cSGlenn Strauss AC_SUBST([ATTR_LIB]) 48418850c5cSGlenn Strauss 48541cd7d25SStefan Bühler if test "$have_xattr" = no; then 48641cd7d25SStefan Bühler AC_MSG_ERROR([no backend found implementing extended attributes]) 48741cd7d25SStefan Bühler fi 48881587537SStefan Bühlerfi 48981587537SStefan Bühler 49081587537SStefan Bühlerdnl Check for valgrind 49141cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 492d8d7d197SStefan BühlerAC_MSG_CHECKING([for valgrind]) 493d8d7d197SStefan BühlerAC_ARG_WITH([valgrind], 494acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-valgrind], 495d8d7d197SStefan Bühler [enable internal support for valgrind] 496d8d7d197SStefan Bühler )], 497d8d7d197SStefan Bühler [WITH_VALGRIND=$withval], 498d8d7d197SStefan Bühler [WITH_VALGRIND=no] 499d8d7d197SStefan Bühler) 50081587537SStefan BühlerAC_MSG_RESULT([$WITH_VALGRIND]) 50141cd7d25SStefan Bühler 502d8d7d197SStefan Bühlerif test "$WITH_VALGRIND" != no; then 50341cd7d25SStefan Bühler AC_CHECK_HEADERS([valgrind/valgrind.h], [], [ 50441cd7d25SStefan Bühler AC_MSG_ERROR([valgrind headers not found. install them or build without --with-valgrind]) 50541cd7d25SStefan Bühler ]) 50681587537SStefan Bühlerfi 50781587537SStefan Bühler 5083521be8bSStefan Bühlerdnl Checking for libunwind 50941cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 510d8d7d197SStefan BühlerAC_MSG_CHECKING([for libunwind]) 511d8d7d197SStefan BühlerAC_ARG_WITH([libunwind], 512acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-libunwind], 513d8d7d197SStefan Bühler [Include libunwind support for backtraces on assert failures] 514d8d7d197SStefan Bühler )], 515d8d7d197SStefan Bühler [WITH_LIBUNWIND=$withval], 516d8d7d197SStefan Bühler [WITH_LIBUNWIND=no] 517d8d7d197SStefan Bühler) 5181c1a6378SGlenn StraussAC_MSG_RESULT([$WITH_LIBUNWIND]) 5191c1a6378SGlenn Strauss 52041cd7d25SStefan Bühlerif test "$WITH_LIBUNWIND" != no; then 52141cd7d25SStefan Bühler PKG_CHECK_MODULES([LIBUNWIND], [libunwind], [], [ 52241cd7d25SStefan Bühler AC_MSG_ERROR([libunwind not found. install it or build without --with-libunwind]) 52341cd7d25SStefan Bühler ]) 52441cd7d25SStefan Bühler AC_DEFINE([HAVE_LIBUNWIND], [1], [Have libunwind support]) 52541cd7d25SStefan Bühlerfi 52641cd7d25SStefan Bühler 5271c1a6378SGlenn Straussdnl Checking for kerberos5 52841cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 529d8d7d197SStefan BühlerAC_MSG_CHECKING([for kerberos5]) 530d8d7d197SStefan BühlerAC_ARG_WITH([krb5], 531acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-krb5@<:@=DIR@:>@], [Use Kerberos 5])], 532d8d7d197SStefan Bühler [WITH_KRB5=$withval], 533d8d7d197SStefan Bühler [WITH_KRB5=no] 534d8d7d197SStefan Bühler) 53541cd7d25SStefan BühlerAC_MSG_RESULT([$WITH_KRB5]) 53641cd7d25SStefan Bühler 537d8d7d197SStefan Bühlerif test "$WITH_KRB5" != no; then 538d8d7d197SStefan Bühler if test "$WITH_KRB5" != yes; then 5392c69ef67SStefan Bühler krb5_append_CPPFLAGS=" -I$WITH_KRB5/include" 5402c69ef67SStefan Bühler krb5_append_LDFLAGS=" -L$WITH_KRB5/lib" 5411c1a6378SGlenn Strauss fi 5421c1a6378SGlenn Straussfi 5431c1a6378SGlenn Strauss 5442c69ef67SStefan BühlerAC_MSG_CHECKING([custom include directory for kerberos5]) 545d8d7d197SStefan BühlerAC_ARG_WITH([krb5-includes], 546acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-krb5-includes=DIR], [Kerberos includes])], 547d8d7d197SStefan Bühler [ 5482c69ef67SStefan Bühler if test "$WITH_KRB5" = no; then 5492c69ef67SStefan Bühler AC_MSG_ERROR([build --with-krb5 to use --with-krb5-includes]) 5502c69ef67SStefan Bühler fi 5512c69ef67SStefan Bühler krb5_append_CPPFLAGS=" -I$withval" 5522c69ef67SStefan Bühler AC_MSG_RESULT([$withval]) 5532c69ef67SStefan Bühler ], 5542c69ef67SStefan Bühler [AC_MSG_RESULT([no])] 5551c1a6378SGlenn Strauss) 5561c1a6378SGlenn Strauss 5572c69ef67SStefan BühlerAC_MSG_CHECKING([custom lib directory for kerberos5]) 558d8d7d197SStefan BühlerAC_ARG_WITH([krb5-libs], 559acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-krb5-libs=DIR], [Kerberos libraries])], 560d8d7d197SStefan Bühler [ 5612c69ef67SStefan Bühler if test "$WITH_KRB5" = no; then 5622c69ef67SStefan Bühler AC_MSG_ERROR([build --with-krb5 to use --with-krb5-libs]) 5632c69ef67SStefan Bühler fi 5642c69ef67SStefan Bühler krb5_append_LDFLAGS=" -L$withval" 5652c69ef67SStefan Bühler AC_MSG_RESULT([$withval]) 5662c69ef67SStefan Bühler ], 5672c69ef67SStefan Bühler [AC_MSG_RESULT([no])] 5681c1a6378SGlenn Strauss) 5691c1a6378SGlenn Strauss 5702c69ef67SStefan Bühlerif test "$WITH_KRB5" != no; then 5712c69ef67SStefan Bühler CPPFLAGS="${CPPFLAGS}${krb5_append_CPPFLAGS}" 5722c69ef67SStefan Bühler LDFLAGS="${LDFLAGS}${krb5_append_LDFLAGS}" 5732c69ef67SStefan Bühler 574d8d7d197SStefan Bühler AC_CHECK_LIB([gssapi_krb5], [gss_acquire_cred], 575d8d7d197SStefan Bühler [AC_CHECK_HEADERS([gssapi/gssapi_krb5.h], 576d8d7d197SStefan Bühler [ 5775feb2694SGlenn Strauss KRB5_LIB="-lkrb5 -lgssapi_krb5" 578d8d7d197SStefan Bühler AC_DEFINE([HAVE_KRB5], [1], [libgssapi_krb5]) 5792c69ef67SStefan Bühler ], 5802c69ef67SStefan Bühler [AC_MSG_ERROR([gssapi_krb5 headers were not found, install them or build without --with-krb5])] 5812c69ef67SStefan Bühler )], 5822c69ef67SStefan Bühler [AC_MSG_ERROR([gssapi_krb5 libs were not found, install them or build without --with-krb5])] 583d8d7d197SStefan Bühler ) 584d8d7d197SStefan Bühler case "$host_os" in 5856be68f56SGlenn Strauss *darwin*|*cygwin* ) KRB5_LIB="$KRB5_LIB -lcom_err" ;; 586f94d666dSGlenn Strauss * ) ;; 587f94d666dSGlenn Strauss esac 5881c1a6378SGlenn Straussfi 5892c69ef67SStefan Bühler 5902c69ef67SStefan BühlerAM_CONDITIONAL([BUILD_WITH_KRB5], [test "$WITH_KRB5" != no]) 591d8d7d197SStefan BühlerAC_SUBST([KRB5_LIB]) 5923521be8bSStefan Bühler 59381587537SStefan Bühlerdnl Check for openssl 59441cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 595d8d7d197SStefan BühlerAC_MSG_CHECKING([for OpenSSL]) 596d8d7d197SStefan BühlerAC_ARG_WITH([openssl], 597acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-openssl@<:@=DIR@:>@], 598d8d7d197SStefan Bühler [Include openssl support (default no)] 599d8d7d197SStefan Bühler )], 600d8d7d197SStefan Bühler [WITH_OPENSSL=$withval], 601d8d7d197SStefan Bühler [WITH_OPENSSL=no] 602d8d7d197SStefan Bühler) 60341cd7d25SStefan BühlerAC_MSG_RESULT([$WITH_OPENSSL]) 604c3a85c9bSGlenn StraussAM_CONDITIONAL([BUILD_WITH_OPENSSL], test ! "$WITH_OPENSSL" = no) 60581587537SStefan Bühler 606d8d7d197SStefan Bühlerif test "$WITH_OPENSSL" != no; then 607d8d7d197SStefan Bühler if test "$WITH_OPENSSL" != yes; then 60834ded724SStefan Bühler openssl_append_CPPFLAGS=" -I$WITH_OPENSSL/include" 60934ded724SStefan Bühler openssl_append_LDFLAGS=" -L$WITH_OPENSSL/lib" 61081587537SStefan Bühler fi 61181587537SStefan Bühlerfi 61281587537SStefan Bühler 61334ded724SStefan BühlerAC_MSG_CHECKING([custom include directory for openssl]) 614d8d7d197SStefan BühlerAC_ARG_WITH([openssl-includes], 615acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-openssl-includes=DIR], [OpenSSL includes])], 616d8d7d197SStefan Bühler [ 61734ded724SStefan Bühler if test "$WITH_OPENSSL" = no; then 61834ded724SStefan Bühler AC_MSG_ERROR([build --with-openssl to use --with-openssl-includes]) 61934ded724SStefan Bühler fi 62034ded724SStefan Bühler openssl_append_CPPFLAGS=" -I$withval" 62134ded724SStefan Bühler AC_MSG_RESULT([$withval]) 62234ded724SStefan Bühler ], 62334ded724SStefan Bühler [AC_MSG_RESULT([no])] 62481587537SStefan Bühler) 62581587537SStefan Bühler 62634ded724SStefan BühlerAC_MSG_CHECKING([custom lib directory for openssl]) 627d8d7d197SStefan BühlerAC_ARG_WITH([openssl-libs], 628acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-openssl-libs=DIR], [OpenSSL libraries])], 629d8d7d197SStefan Bühler [ 63034ded724SStefan Bühler if test "$WITH_OPENSSL" = no; then 63134ded724SStefan Bühler AC_MSG_ERROR([build --with-openssl to use --with-openssl-libs]) 63234ded724SStefan Bühler fi 63334ded724SStefan Bühler openssl_append_LDFLAGS=" -L$withval" 63434ded724SStefan Bühler AC_MSG_RESULT([$withval]) 63534ded724SStefan Bühler ], 63634ded724SStefan Bühler [AC_MSG_RESULT([no])] 63781587537SStefan Bühler) 63881587537SStefan Bühler 63934ded724SStefan Bühlerif test "$WITH_OPENSSL" != no; then 6402c69ef67SStefan Bühler if test "$WITH_KRB5" != no; then 6411ca52fdcSGlenn Strauss AC_DEFINE([USE_OPENSSL_KERBEROS], [1], [with kerberos]) 64281587537SStefan Bühler fi 64381587537SStefan Bühler 64434ded724SStefan Bühler CPPFLAGS="${CPPFLAGS}${openssl_append_CPPFLAGS}" 64534ded724SStefan Bühler LDFLAGS="${LDFLAGS}${openssl_append_LDFLAGS}" 64634ded724SStefan Bühler 64734ded724SStefan Bühler AC_CHECK_HEADERS([openssl/ssl.h], [], [ 64834ded724SStefan Bühler AC_MSG_ERROR([openssl headers not found. install them or build without --with-openssl]) 64934ded724SStefan Bühler ]) 650b17c37c5SGlenn Strauss AC_CHECK_LIB([crypto], [RAND_bytes], 65134ded724SStefan Bühler [CRYPTO_LIB="-lcrypto"], 65234ded724SStefan Bühler [AC_MSG_ERROR([openssl crypto library not found. install it or build without --with-openssl])] 653d8d7d197SStefan Bühler ) 65434ded724SStefan Bühler AC_CHECK_LIB([ssl], [SSL_new], 655c3a85c9bSGlenn Strauss [OPENSSL_LIBS="${openssl_append_LDFLAGS} -lssl -lcrypto"], 65634ded724SStefan Bühler [AC_MSG_ERROR([openssl ssl library not found. install it or build without --with-openssl])], 65734ded724SStefan Bühler [ -lcrypto "$DL_LIB" ] 65834ded724SStefan Bühler ) 65934ded724SStefan Bühler 660cb753ec5SGlenn Strauss AC_DEFINE([HAVE_LIBSSL], [1], [Have libssl]) 661c3a85c9bSGlenn Strauss OPENSSL_CFLAGS="${openssl_append_CPPFLAGS}" 662c3a85c9bSGlenn Strauss AC_SUBST([OPENSSL_CFLAGS]) 663c3a85c9bSGlenn Strauss AC_SUBST([OPENSSL_LIBS]) 664d8d7d197SStefan Bühler AC_SUBST([CRYPTO_LIB]) 66581587537SStefan Bühlerfi 66681587537SStefan Bühler 667778b07a0SGlenn Straussdnl Check for wolfSSL 668778b07a0SGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 669778b07a0SGlenn StraussAC_MSG_CHECKING([for wolfSSL]) 670778b07a0SGlenn StraussAC_ARG_WITH([wolfssl], 671acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-wolfssl@<:@=DIR@:>@], 672ceddd40aSGlenn Strauss [Include wolfSSL support (default no)] 673778b07a0SGlenn Strauss )], 674778b07a0SGlenn Strauss [WITH_WOLFSSL=$withval], 675778b07a0SGlenn Strauss [WITH_WOLFSSL=no] 676778b07a0SGlenn Strauss) 677778b07a0SGlenn StraussAC_MSG_RESULT([$WITH_WOLFSSL]) 678c3a85c9bSGlenn StraussAM_CONDITIONAL([BUILD_WITH_WOLFSSL], test ! "$WITH_WOLFSSL" = no) 679778b07a0SGlenn Strauss 680778b07a0SGlenn Straussif test "$WITH_WOLFSSL" != no; then 681c3a85c9bSGlenn Strauss CPPFLAGS_SAVE="${CPPFLAGS}" 682c3a85c9bSGlenn Strauss LDFLAGS_SAVE="${LDFLAGS}" 683c3a85c9bSGlenn Strauss if test "$WITH_WOLFSSL" != yes; then 684c3a85c9bSGlenn Strauss WOLFSSL_CFLAGS="-I$WITH_WOLFSSL/include -I$WITH_WOLFSSL/include/wolfssl" 685c3a85c9bSGlenn Strauss WOLFSSL_LIBS="-L$WITH_WOLFSSL/lib -lwolfssl" 6868f31ed7fSGlenn Strauss LDFLAGS="${LDFLAGS} -L$WITH_WOLFSSL/lib" 6878f31ed7fSGlenn Strauss else 6888f31ed7fSGlenn Strauss PKG_CHECK_MODULES([WOLFSSL], [wolfssl], [], [ 6898f31ed7fSGlenn Strauss AC_MSG_ERROR([wolfssl not found, install it or build without --with-wolfssl]) 6908f31ed7fSGlenn Strauss ]) 6918f31ed7fSGlenn Strauss if test "$WOLFSSL_LIBS" != "-lwolfssl"; then 6928f31ed7fSGlenn Strauss LDFLAGS="${LDFLAGS} ${WOLFSSL_LIBS% -lwolfssl}" 6938f31ed7fSGlenn Strauss fi 694778b07a0SGlenn Strauss fi 695778b07a0SGlenn Strauss 6968f31ed7fSGlenn Strauss CPPFLAGS="${CPPFLAGS} $WOLFSSL_CFLAGS" 697778b07a0SGlenn Strauss AC_CHECK_HEADERS([wolfssl/ssl.h], [], [ 698778b07a0SGlenn Strauss AC_MSG_ERROR([wolfssl headers not found. install them or build without --with-wolfssl]) 699778b07a0SGlenn Strauss ]) 700778b07a0SGlenn Strauss AC_CHECK_LIB([wolfssl], [wolfSSL_Init], 701c3a85c9bSGlenn Strauss [WOLFSSL_CRYPTO_LIB="-lwolfssl"], 702778b07a0SGlenn Strauss [AC_MSG_ERROR([wolfssl crypto library not found. install it or build without --with-wolfssl])] 703778b07a0SGlenn Strauss ) 704778b07a0SGlenn Strauss AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 705778b07a0SGlenn Strauss #include <wolfssl/options.h> 70617d8d9c9SGlenn Strauss #if !defined(HAVE_LIGHTY) && !defined(OPENSSL_EXTRA) 707778b07a0SGlenn Strauss #error HAVE_LIGHTY macro not defined 708778b07a0SGlenn Strauss #endif 709778b07a0SGlenn Strauss ]])], [], [AC_MSG_ERROR([wolfssl must be built with ./configure --enable-lighty])]) 710778b07a0SGlenn Strauss 711c3a85c9bSGlenn Strauss AC_SUBST([WOLFSSL_CFLAGS]) 712c3a85c9bSGlenn Strauss AC_SUBST([WOLFSSL_LIBS]) 713c3a85c9bSGlenn Strauss if test "$WITH_OPENSSL" = no; then 714c3a85c9bSGlenn Strauss CRYPTO_LIB="$WOLFSSL_CRYPTO_LIB" 715778b07a0SGlenn Strauss AC_SUBST([CRYPTO_LIB]) 716c3a85c9bSGlenn Strauss else 717c3a85c9bSGlenn Strauss CPPFLAGS="${CPPFLAGS_SAVE}" 718c3a85c9bSGlenn Strauss LDFLAGS="${LDFLAGS_SAVE}" 719778b07a0SGlenn Strauss fi 720778b07a0SGlenn Straussfi 721778b07a0SGlenn Strauss 722cb753ec5SGlenn Straussdnl Check for mbedTLS 723cb753ec5SGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 724cb753ec5SGlenn StraussAC_MSG_CHECKING([for mbedTLS]) 725cb753ec5SGlenn StraussAC_ARG_WITH([mbedtls], 726acca2a3fSGlenn Strauss AS_HELP_STRING([--with-mbedtls@<:@=DIR@:>@],[Include mbedTLS support. DIR points to the installation root. (default no)]), 727cb753ec5SGlenn Strauss [WITH_MBEDTLS=$withval], 728cb753ec5SGlenn Strauss [WITH_MBEDTLS=no] 729cb753ec5SGlenn Strauss) 730cb753ec5SGlenn Strauss 731cb753ec5SGlenn Straussif test "$WITH_MBEDTLS" != "no"; then 732cb753ec5SGlenn Strauss use_mbedtls=yes 733cb753ec5SGlenn Strauss if test "$WITH_MBEDTLS" != "yes"; then 734cb753ec5SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_MBEDTLS/include" 735cb753ec5SGlenn Strauss LDFLAGS="$LDFLAGS -L$WITH_MBEDTLS/lib" 736cb753ec5SGlenn Strauss fi 737cb753ec5SGlenn Strausselse 738cb753ec5SGlenn Strauss use_mbedtls=no 739cb753ec5SGlenn Straussfi 740cb753ec5SGlenn StraussAC_MSG_RESULT([$use_mbedtls]) 741cb753ec5SGlenn StraussAM_CONDITIONAL(BUILD_WITH_MBEDTLS, test ! $WITH_MBEDTLS = no) 742cb753ec5SGlenn Strauss 743cb753ec5SGlenn Straussif test "x$use_mbedtls" = "xyes"; then 744cb753ec5SGlenn Strauss AC_CHECK_HEADERS([mbedtls/ssl.h]) 745cb753ec5SGlenn Strauss OLDLIBS="$LIBS" 746cb753ec5SGlenn Strauss AC_CHECK_LIB(mbedcrypto, mbedtls_base64_encode, 747cb753ec5SGlenn Strauss [AC_CHECK_LIB(mbedx509, mbedtls_x509_get_name, 748955c95bfSGlenn Strauss [AC_CHECK_LIB(mbedtls, mbedtls_ssl_init, 749c3a85c9bSGlenn Strauss [MTLS_LIBS="-lmbedtls -lmbedx509 -lmbedcrypto" 750cb753ec5SGlenn Strauss CRYPTO_LIB="-lmbedcrypto" 751cb753ec5SGlenn Strauss AC_DEFINE(HAVE_LIBMBEDTLS, [1], [Have libmbedtls library]) 752cb753ec5SGlenn Strauss AC_DEFINE(HAVE_LIBMBEDX509, [1], [Have libmbedx509 library]) 753cb753ec5SGlenn Strauss AC_DEFINE(HAVE_LIBMBEDCRYPTO, [1], [Have libmbedcrypto library]) ], 754cb753ec5SGlenn Strauss [],[-lmbedcrypto "$DL_LIB"]) 755cb753ec5SGlenn Strauss ],[],[-lmbedcrypto "$DL_LIB"]) 756cb753ec5SGlenn Strauss ],[],[]) 757cb753ec5SGlenn Strauss LIBS="$OLDLIBS" 758c3a85c9bSGlenn Strauss AC_SUBST(MTLS_LIBS) 759cb753ec5SGlenn Strauss AC_SUBST(CRYPTO_LIB) 760cb753ec5SGlenn Straussfi 761cb753ec5SGlenn Strauss 762b28a3714SGlenn Straussdnl Check for Nettle (and overwrite CRYPTO_LIB if set by OpenSSL or wolfSSL) 763b28a3714SGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 764b28a3714SGlenn StraussAC_MSG_CHECKING([for Nettle]) 765b28a3714SGlenn StraussAC_ARG_WITH([nettle], 766acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-nettle@<:@=DIR@:>@], 767b28a3714SGlenn Strauss [Include Nettle support (default no)] 768b28a3714SGlenn Strauss )], 769b28a3714SGlenn Strauss [WITH_NETTLE=$withval], 770b28a3714SGlenn Strauss [WITH_NETTLE=no] 771b28a3714SGlenn Strauss) 772b28a3714SGlenn StraussAC_MSG_RESULT([$WITH_NETTLE]) 773b28a3714SGlenn Strauss 774b28a3714SGlenn Straussif test "$WITH_NETTLE" != no; then 775b28a3714SGlenn Strauss if test "$WITH_NETTLE" != yes; then 776b28a3714SGlenn Strauss CPPFLAGS="${CPPFLAGS} -I$WITH_NETTLE/include" 777b28a3714SGlenn Strauss LDFLAGS="${LDFLAGS} -L$WITH_NETTLE/lib" 778b28a3714SGlenn Strauss fi 779b28a3714SGlenn Strauss 780b28a3714SGlenn Strauss AC_CHECK_HEADERS([nettle/nettle-types.h], [], [ 781b28a3714SGlenn Strauss AC_MSG_ERROR([nettle headers not found. install them or build without --with-nettle]) 782b28a3714SGlenn Strauss ]) 783b28a3714SGlenn Strauss AC_CHECK_LIB([nettle], [nettle_md5_init], 784b28a3714SGlenn Strauss [CRYPTO_LIB="-lnettle"], 785b28a3714SGlenn Strauss [AC_MSG_ERROR([nettle crypto library not found. install it or build without --with-nettle])] 786b28a3714SGlenn Strauss ) 787b28a3714SGlenn Strauss 788b28a3714SGlenn Strauss AC_SUBST([CRYPTO_LIB]) 789b28a3714SGlenn Straussfi 790b28a3714SGlenn Strauss 791bf4054f8SGlenn Straussdnl Check for GnuTLS 792bf4054f8SGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 793bf4054f8SGlenn StraussAC_MSG_CHECKING([for GnuTLS]) 794bf4054f8SGlenn StraussAC_ARG_WITH([gnutls], 795acca2a3fSGlenn Strauss AS_HELP_STRING([--with-gnutls@<:@=DIR@:>@],[Include GnuTLS support. DIR points to the installation root. (default no)]), 796bf4054f8SGlenn Strauss [WITH_GNUTLS=$withval], 797bf4054f8SGlenn Strauss [WITH_GNUTLS=no] 798bf4054f8SGlenn Strauss) 799bf4054f8SGlenn Strauss 800bf4054f8SGlenn Straussif test "$WITH_GNUTLS" != "no"; then 801bf4054f8SGlenn Strauss use_gnutls=yes 802bf4054f8SGlenn Strausselse 803bf4054f8SGlenn Strauss use_gnutls=no 804bf4054f8SGlenn Straussfi 805bf4054f8SGlenn StraussAC_MSG_RESULT([$use_gnutls]) 806bf4054f8SGlenn StraussAM_CONDITIONAL(BUILD_WITH_GNUTLS, test ! $WITH_GNUTLS = no) 807bf4054f8SGlenn Strauss 808bf4054f8SGlenn StraussGNUTLS_CFLAGS= 809bf4054f8SGlenn StraussGNUTLS_LIBS= 810bf4054f8SGlenn Strauss 811bf4054f8SGlenn Straussif test "x$use_gnutls" = "xyes"; then 812bf4054f8SGlenn Strauss if test "$WITH_GNUTLS" != "yes"; then 813bf4054f8SGlenn Strauss GNUTLS_CFLAGS="-I$WITH_GNUTLS/include" 814db7252ecSGlenn Strauss GNUTLS_LIBS="-L$WITH_GNUTLS/lib -lgnutls" 815bf4054f8SGlenn Strauss else 816bf4054f8SGlenn Strauss dnl oldest GnuTLS supported release is 3.3.x at time this is being written 817bf4054f8SGlenn Strauss PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.3.0]) 818bf4054f8SGlenn Strauss fi 819bf4054f8SGlenn Strauss AC_SUBST([GNUTLS_CFLAGS]) 820bf4054f8SGlenn Strauss AC_SUBST([GNUTLS_LIBS]) 821bf4054f8SGlenn Strauss AC_DEFINE([HAVE_GNUTLS_CRYPTO_H], [1], [gnutls/crypto.h]) 822bf4054f8SGlenn Strauss if test "$WITH_OPENSSL" = no && test "$WITH_WOLFSSL" = no && \ 823bf4054f8SGlenn Strauss test "$WITH_MBEDTLS" = no && test "$WITH_NETTLE" = no; then 824bf4054f8SGlenn Strauss AC_SUBST([CRYPTO_LIB],[$GNUTLS_LIBS]) 825bf4054f8SGlenn Strauss fi 826bf4054f8SGlenn Straussfi 827bf4054f8SGlenn Strauss 828e00deb55SGlenn Straussdnl Check for NSS 829e00deb55SGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 830e00deb55SGlenn StraussAC_MSG_CHECKING([for NSS]) 831e00deb55SGlenn StraussAC_ARG_WITH([nss], 832acca2a3fSGlenn Strauss AS_HELP_STRING([--with-nss@<:@=DIR@:>@],[Include NSS support. DIR points to the installation root. (default no)]), 833e00deb55SGlenn Strauss [WITH_NSS=$withval], 834e00deb55SGlenn Strauss [WITH_NSS=no] 835e00deb55SGlenn Strauss) 836e00deb55SGlenn Strauss 837e00deb55SGlenn Straussif test "$WITH_NSS" != "no"; then 838e00deb55SGlenn Strauss use_nss=yes 839e00deb55SGlenn Strausselse 840e00deb55SGlenn Strauss use_nss=no 841e00deb55SGlenn Straussfi 842e00deb55SGlenn StraussAC_MSG_RESULT([$use_nss]) 843e00deb55SGlenn StraussAM_CONDITIONAL(BUILD_WITH_NSS, test ! $WITH_NSS = no) 844e00deb55SGlenn Strauss 845e00deb55SGlenn StraussNSS_CFLAGS= 846e00deb55SGlenn StraussNSS_LIBS= 847e00deb55SGlenn Strauss 848e00deb55SGlenn Straussif test "x$use_nss" = "xyes"; then 849e00deb55SGlenn Strauss if test "$WITH_NSS" != "yes"; then 850e00deb55SGlenn Strauss NSS_CFLAGS="-I$WITH_NSS/include" 851db7252ecSGlenn Strauss NSS_LIBS="-L$WITH_NSS/lib -lnss3" 852e00deb55SGlenn Strauss else 853e00deb55SGlenn Strauss PKG_CHECK_MODULES([NSS],[nss]) 854871ef50eSGlenn Strauss if test "x$CRYPTO_LIB" = "x"; then 855871ef50eSGlenn Strauss PKG_CHECK_MODULES([NSPR],[nspr]) 856871ef50eSGlenn Strauss CPPFLAGS="$CPPFLAGS $NSPR_CFLAGS" 857871ef50eSGlenn Strauss fi 858e00deb55SGlenn Strauss fi 85931a7f0d4SGlenn Strauss AC_DEFINE([HAVE_NSS_NSS_H], [1], [nss/nss.h]) 860e00deb55SGlenn Strauss AC_DEFINE([HAVE_NSS3_NSS_H], [1], [nss3/nss.h]) 861e00deb55SGlenn Strauss AC_SUBST([NSS_CFLAGS]) 862e00deb55SGlenn Strauss AC_SUBST([NSS_LIBS]) 863a46f519eSGlenn Strauss if test "x$CRYPTO_LIB" = "x"; then 864a46f519eSGlenn Strauss CRYPTO_LIB="-lnss3" 865a46f519eSGlenn Strauss AC_SUBST([CRYPTO_LIB]) 866a46f519eSGlenn Strauss fi 867e00deb55SGlenn Straussfi 868e00deb55SGlenn Strauss 869778b07a0SGlenn Strauss 870750414d3SGlenn Straussdnl pcre support 871750414d3SGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 872750414d3SGlenn StraussAC_MSG_CHECKING([for perl regular expressions support]) 873750414d3SGlenn StraussAC_ARG_WITH([pcre], 874e563ae01SGlenn Strauss [AS_HELP_STRING([--with-pcre], [Enable pcre support (default no)])], 875750414d3SGlenn Strauss [WITH_PCRE=$withval], 876750414d3SGlenn Strauss [WITH_PCRE=no] 877750414d3SGlenn Strauss) 878750414d3SGlenn StraussAC_MSG_RESULT([$WITH_PCRE]) 879750414d3SGlenn Strauss 8807512d82cSGlenn Straussdnl pcre2 support 8817512d82cSGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 8827512d82cSGlenn StraussAC_MSG_CHECKING([for perl regular expressions support]) 8837512d82cSGlenn StraussAC_ARG_WITH([pcre2], 884e563ae01SGlenn Strauss [AS_HELP_STRING([--with-pcre2], [Enable pcre2 support (default yes)])], 8857512d82cSGlenn Strauss [WITH_PCRE2=$withval], 886750414d3SGlenn Strauss [WITH_PCRE2=yes] 8877512d82cSGlenn Strauss) 8887512d82cSGlenn StraussAC_MSG_RESULT([$WITH_PCRE2]) 8897512d82cSGlenn Strauss 890750414d3SGlenn Straussif test "$WITH_PCRE2" != no && test "$WITH_PCRE" = "no"; then 8917512d82cSGlenn Strauss if test "$WITH_PCRE2" != yes; then 8927512d82cSGlenn Strauss PCRE_LIB="-L$WITH_PCRE2/lib -lpcre2-8" 8933b728179SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_PCRE2/include" 8947512d82cSGlenn Strauss else 895fa82e037SGlenn Strauss PKG_CHECK_MODULES([PCRE2],[libpcre2-8],[ 896fa82e037SGlenn Strauss PCRE_LIB="$PCRE2_LIBS" 897fa82e037SGlenn Strauss CPPFLAGS="$CPPFLAGS $PCRE2_CFLAGS" 898fa82e037SGlenn Strauss ],[ 8997512d82cSGlenn Strauss AC_PATH_PROG([PCRE2CONFIG], [pcre2-config]) 9007512d82cSGlenn Strauss if test -n "$PCRE2CONFIG"; then 9017512d82cSGlenn Strauss PCRE_LIB=`"$PCRE2CONFIG" --libs8` 9027512d82cSGlenn Strauss CPPFLAGS="$CPPFLAGS `"$PCRE2CONFIG" --cflags`" 9037512d82cSGlenn Strauss fi 904fa82e037SGlenn Strauss ]) 9057512d82cSGlenn Strauss fi 9067512d82cSGlenn Strauss 9077512d82cSGlenn Strauss if test -z "$PCRE_LIB"; then 9087512d82cSGlenn Strauss AC_MSG_ERROR([pcre2-config not found, install the pcre2-devel package or build with --without-pcre2]) 9097512d82cSGlenn Strauss fi 9107512d82cSGlenn Strauss 9117512d82cSGlenn Strauss AC_DEFINE([HAVE_PCRE], [1], [libpcre2-8]) 9127512d82cSGlenn Strauss AC_DEFINE([HAVE_PCRE2_H], [1], [pcre.h]) 9137512d82cSGlenn Strauss AC_SUBST([PCRE_LIB]) 9147512d82cSGlenn Straussfi 9157512d82cSGlenn Strauss 916750414d3SGlenn Straussif test "$WITH_PCRE" != no; then 917d8d7d197SStefan Bühler if test "$WITH_PCRE" != yes; then 918427acbf0SGlenn Strauss PCRE_LIB="-L$WITH_PCRE/lib -lpcre" 919427acbf0SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_PCRE/include" 920427acbf0SGlenn Strauss else 921d8d7d197SStefan Bühler AC_PATH_PROG([PCRECONFIG], [pcre-config]) 922d8d7d197SStefan Bühler if test -n "$PCRECONFIG"; then 923d8d7d197SStefan Bühler PCRE_LIB=`"$PCRECONFIG" --libs` 924d8d7d197SStefan Bühler CPPFLAGS="$CPPFLAGS `"$PCRECONFIG" --cflags`" 925427acbf0SGlenn Strauss fi 926427acbf0SGlenn Strauss fi 927427acbf0SGlenn Strauss 92841cd7d25SStefan Bühler if test -z "$PCRE_LIB"; then 92941cd7d25SStefan Bühler AC_MSG_ERROR([pcre-config not found, install the pcre-devel package or build with --without-pcre]) 93041cd7d25SStefan Bühler fi 93141cd7d25SStefan Bühler 9327512d82cSGlenn Strauss AC_DEFINE([HAVE_PCRE], [1], [libpcre]) 93381587537SStefan Bühler AC_DEFINE([HAVE_PCRE_H], [1], [pcre.h]) 934d8d7d197SStefan Bühler AC_SUBST([PCRE_LIB]) 93581587537SStefan Bühlerfi 93681587537SStefan Bühler 937750414d3SGlenn Strauss 93841cd7d25SStefan Bühlerdnl zlib 93941cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 940d8d7d197SStefan BühlerAC_MSG_CHECKING([for zlib support]) 941d8d7d197SStefan BühlerAC_ARG_WITH([zlib], 942acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-zlib], 943bc5d4b34SGlenn Strauss [Enable zlib support for mod_deflate] 944d8d7d197SStefan Bühler )], 945d8d7d197SStefan Bühler [WITH_ZLIB=$withval], 946d8d7d197SStefan Bühler [WITH_ZLIB=yes] 947d8d7d197SStefan Bühler) 94881587537SStefan BühlerAC_MSG_RESULT([$WITH_ZLIB]) 94981587537SStefan Bühler 950d8d7d197SStefan Bühlerif test "$WITH_ZLIB" != no; then 951d8d7d197SStefan Bühler if test "$WITH_ZLIB" != yes; then 952427acbf0SGlenn Strauss Z_LIB="-L$WITH_ZLIB -lz" 953427acbf0SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_ZLIB" 954427acbf0SGlenn Strauss else 95541cd7d25SStefan Bühler AC_CHECK_HEADERS([zlib.h], [], 95641cd7d25SStefan Bühler [AC_MSG_ERROR([zlib headers not found, install them or build without --with-zlib])] 95741cd7d25SStefan Bühler ) 95841cd7d25SStefan Bühler AC_CHECK_LIB([z], [deflate], 95941cd7d25SStefan Bühler [Z_LIB=-lz], 96041cd7d25SStefan Bühler [AC_MSG_ERROR([zlib library not found, install it or build without --with-zlib])] 96141cd7d25SStefan Bühler ) 962427acbf0SGlenn Strauss fi 963427acbf0SGlenn Strauss 96481587537SStefan Bühler AC_DEFINE([HAVE_LIBZ], [1], [libz]) 96581587537SStefan Bühler AC_DEFINE([HAVE_ZLIB_H], [1]) 966d8d7d197SStefan Bühler AC_SUBST([Z_LIB]) 967427acbf0SGlenn Straussfi 96881587537SStefan Bühler 9699211fb3dSGlenn Straussdnl zstd 9709211fb3dSGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 9719211fb3dSGlenn StraussAC_MSG_CHECKING([for zstd support]) 9729211fb3dSGlenn StraussAC_ARG_WITH([zstd], 9739211fb3dSGlenn Strauss [AS_HELP_STRING([--with-zstd], 9749211fb3dSGlenn Strauss [Enable zstd support for mod_deflate] 9759211fb3dSGlenn Strauss )], 9769211fb3dSGlenn Strauss [WITH_ZSTD=$withval], 9779211fb3dSGlenn Strauss [WITH_ZSTD=no] 9789211fb3dSGlenn Strauss) 9799211fb3dSGlenn StraussAC_MSG_RESULT([$WITH_ZSTD]) 9809211fb3dSGlenn Strauss 9819211fb3dSGlenn Straussif test "$WITH_ZSTD" != no; then 9829211fb3dSGlenn Strauss if test "$WITH_ZSTD" != yes; then 9839211fb3dSGlenn Strauss ZSTD_LIB="-L$WITH_ZSTD -lzstd" 9849211fb3dSGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_ZSTD" 9859211fb3dSGlenn Strauss else 9869211fb3dSGlenn Strauss AC_CHECK_HEADERS([zstd.h], [], 9879211fb3dSGlenn Strauss [AC_MSG_ERROR([zstd headers not found, install them or build without --with-zstd])] 9889211fb3dSGlenn Strauss ) 9899211fb3dSGlenn Strauss AC_CHECK_LIB([zstd], [ZSTD_versionNumber], 9909211fb3dSGlenn Strauss [ZSTD_LIB=-lzstd], 9919211fb3dSGlenn Strauss [AC_MSG_ERROR([zstd library not found, install it or build without --with-zstd])] 9929211fb3dSGlenn Strauss ) 9939211fb3dSGlenn Strauss fi 9949211fb3dSGlenn Strauss 9959211fb3dSGlenn Strauss AC_DEFINE([HAVE_ZSTD], [1], [libzstd]) 9969211fb3dSGlenn Strauss AC_DEFINE([HAVE_ZSTD_H], [1]) 9979211fb3dSGlenn Strauss AC_SUBST([ZSTD_LIB]) 9989211fb3dSGlenn Straussfi 9999211fb3dSGlenn Strauss 100041cd7d25SStefan Bühlerdnl bzip2 100141cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1002d8d7d197SStefan BühlerAC_MSG_CHECKING([for bzip2 support]) 1003d8d7d197SStefan BühlerAC_ARG_WITH([bzip2], 1004acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-bzip2], 1005bc5d4b34SGlenn Strauss [Enable bzip2 support for mod_deflate] 1006d8d7d197SStefan Bühler )], 1007d8d7d197SStefan Bühler [WITH_BZIP2=$withval], 1008f47ffb43SGlenn Strauss [WITH_BZIP2=no] 1009d8d7d197SStefan Bühler) 101081587537SStefan BühlerAC_MSG_RESULT([$WITH_BZIP2]) 101181587537SStefan Bühler 1012d8d7d197SStefan Bühlerif test "$WITH_BZIP2" != no; then 1013d8d7d197SStefan Bühler if test "$WITH_BZIP2" != yes; then 1014427acbf0SGlenn Strauss BZ_LIB="-L$WITH_BZIP2 -lbz2" 1015427acbf0SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_BZIP2" 1016427acbf0SGlenn Strauss else 101741cd7d25SStefan Bühler AC_CHECK_HEADERS([bzlib.h], [], [ 101841cd7d25SStefan Bühler AC_MSG_ERROR([bzip2 headers not found, install them or build without --with-bzip2]) 1019427acbf0SGlenn Strauss ]) 102041cd7d25SStefan Bühler AC_CHECK_LIB([bz2], [BZ2_bzCompress], 102141cd7d25SStefan Bühler [BZ_LIB=-lbz2], 102241cd7d25SStefan Bühler [AC_MSG_ERROR([bzip2 library not found, install it or build without --with-bzip2])] 102341cd7d25SStefan Bühler ) 1024427acbf0SGlenn Strauss fi 1025427acbf0SGlenn Strauss 102681587537SStefan Bühler AC_DEFINE([HAVE_LIBBZ2], [1], [libbz2]) 102781587537SStefan Bühler AC_DEFINE([HAVE_BZLIB_H], [1]) 1028d8d7d197SStefan Bühler AC_SUBST([BZ_LIB]) 1029427acbf0SGlenn Straussfi 103081587537SStefan Bühler 10318d5e237cSGlenn Straussdnl brotli 10328d5e237cSGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 10338d5e237cSGlenn StraussAC_MSG_CHECKING([for brotli support]) 10348d5e237cSGlenn StraussAC_ARG_WITH([brotli], 1035acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-brotli], 10368d5e237cSGlenn Strauss [Enable brotli support for mod_deflate] 10378d5e237cSGlenn Strauss )], 10388d5e237cSGlenn Strauss [WITH_BROTLI=$withval], 10398d5e237cSGlenn Strauss [WITH_BROTLI=no] 10408d5e237cSGlenn Strauss) 10418d5e237cSGlenn StraussAC_MSG_RESULT([$WITH_BROTLI]) 10428d5e237cSGlenn Strauss 10438d5e237cSGlenn Straussif test "$WITH_BROTLI" != no; then 10448d5e237cSGlenn Strauss if test "$WITH_BROTLI" != yes; then 10457ff2a467SGlenn Strauss BROTLI_LIBS="-L$WITH_BROTLI -lbrotlienc" 10468d5e237cSGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_BROTLI" 10478d5e237cSGlenn Strauss else 10488d5e237cSGlenn Strauss PKG_CHECK_MODULES([BROTLI], [libbrotlienc], [], [ 10498d5e237cSGlenn Strauss AC_MSG_ERROR([brotli not found, install it or build without --with-brotli]) 10508d5e237cSGlenn Strauss ]) 10518d5e237cSGlenn Strauss fi 10528d5e237cSGlenn Strauss 10538d5e237cSGlenn Strauss AC_DEFINE([HAVE_BROTLI_ENCODE_H], [1], [brotli/encode.h]) 10548d5e237cSGlenn Strauss AC_DEFINE([HAVE_BROTLI], [1], [libbrotlienc]) 10558d5e237cSGlenn Strauss AC_SUBST([BROTLI_CFLAGS]) 10568d5e237cSGlenn Strauss AC_SUBST([BROTLI_LIBS]) 10578d5e237cSGlenn Straussfi 10588d5e237cSGlenn Strauss 1059d68fc639SGlenn Straussdnl libdeflate 1060d68fc639SGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 1061d68fc639SGlenn StraussAC_MSG_CHECKING([for libdeflate support]) 1062d68fc639SGlenn StraussAC_ARG_WITH([libdeflate], 1063d68fc639SGlenn Strauss [AS_HELP_STRING([--with-libdeflate], 1064d68fc639SGlenn Strauss [Enable libdeflate support for mod_deflate] 1065d68fc639SGlenn Strauss )], 1066d68fc639SGlenn Strauss [WITH_LIBDEFLATE=$withval], 1067d68fc639SGlenn Strauss [WITH_LIBDEFLATE=no] 1068d68fc639SGlenn Strauss) 1069d68fc639SGlenn StraussAC_MSG_RESULT([$WITH_LIBDEFLATE]) 1070d68fc639SGlenn Strauss 1071d68fc639SGlenn Straussif test "$WITH_LIBDEFLATE" != no; then 1072d68fc639SGlenn Strauss if test "$WITH_LIBDEFLATE" != yes; then 1073d68fc639SGlenn Strauss DEFLATE_LIBS="-L$WITH_LIBDEFLATE -ldeflate" 1074d68fc639SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_LIBDEFLATE" 1075d68fc639SGlenn Strauss else 1076d68fc639SGlenn Strauss AC_CHECK_HEADERS([libdeflate.h], [], 1077d68fc639SGlenn Strauss [AC_MSG_ERROR([libdeflate header not found, install them or build without --with-libdeflate])] 1078d68fc639SGlenn Strauss ) 1079d68fc639SGlenn Strauss AC_CHECK_LIB([deflate], [libdeflate_alloc_compressor], 1080d68fc639SGlenn Strauss [DEFLATE_LIBS=-ldeflate], 1081d68fc639SGlenn Strauss [AC_MSG_ERROR([libdeflate library not found, install it or build without --with-libdeflate])] 1082d68fc639SGlenn Strauss ) 1083d68fc639SGlenn Strauss fi 1084d68fc639SGlenn Strauss 1085d68fc639SGlenn Strauss AC_DEFINE([HAVE_LIBDEFLATE], [1], [libdeflate]) 1086d68fc639SGlenn Strauss AC_SUBST([DEFLATE_LIBS]) 1087d68fc639SGlenn Straussfi 1088d68fc639SGlenn Strauss 108941cd7d25SStefan Bühlerdnl Check for fam/gamin 109041cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1091d8d7d197SStefan BühlerAC_MSG_CHECKING([for FAM]) 1092d8d7d197SStefan BühlerAC_ARG_WITH([fam], 1093acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-fam], 1094d8d7d197SStefan Bühler [fam/gamin for reducing number of stat() calls] 1095d8d7d197SStefan Bühler )], 1096d8d7d197SStefan Bühler [WITH_FAM=$withval], 1097d8d7d197SStefan Bühler [WITH_FAM=no] 1098d8d7d197SStefan Bühler) 109981587537SStefan BühlerAC_MSG_RESULT([$WITH_FAM]) 110081587537SStefan Bühler 110128fc51c7SGlenn Straussdnl "$ac_cv_func_kqueue" is set further below 110228fc51c7SGlenn Strausscase "$host_os" in 110328fc51c7SGlenn Strauss*bsd*|*darwin* ) WITH_FAM=no ;; 110428fc51c7SGlenn Strauss* ) ;; 110528fc51c7SGlenn Straussesac 110628fc51c7SGlenn Strauss 110728fc51c7SGlenn Straussif test "$ac_cv_header_sys_inotify_h" != no; then 11087ce8b22cSGlenn Strauss WITH_FAM=no 11097ce8b22cSGlenn Straussfi 11107ce8b22cSGlenn Strauss 1111d8d7d197SStefan Bühlerif test "$WITH_FAM" != no; then 1112d8d7d197SStefan Bühler if test "$WITH_FAM" != yes; then 1113427acbf0SGlenn Strauss FAM_LIBS="-L$WITH_FAM -lfam" 1114427acbf0SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_FAM" 1115427acbf0SGlenn Strauss else 1116d8d7d197SStefan Bühler AC_CHECK_LIB([fam], [FAMOpen2], [ 1117427acbf0SGlenn Strauss AC_CHECK_HEADERS([fam.h], [FAM_LIBS=-lfam]) 111881587537SStefan Bühler ]) 111941cd7d25SStefan Bühler dnl fam has no pkg-config so far, so just search for gamin as fallback 1120d8d7d197SStefan Bühler if test -z "$FAM_LIBS"; then 1121d8d7d197SStefan Bühler PKG_CHECK_MODULES([FAM], [gamin >= 0.1.0]) 112281587537SStefan Bühler fi 1123427acbf0SGlenn Strauss fi 1124427acbf0SGlenn Strauss 112541cd7d25SStefan Bühler if test -z "$FAM_LIBS"; then 112641cd7d25SStefan Bühler AC_MSG_ERROR([fam/gamin headers and/or libs were not found, install them or build without --with-fam]) 112741cd7d25SStefan Bühler fi 112841cd7d25SStefan Bühler 112981587537SStefan Bühler OLD_LIBS=$LIBS 113081587537SStefan Bühler LIBS=$FAM_LIBS 113181587537SStefan Bühler AC_CHECK_FUNCS([FAMNoExists]) 113281587537SStefan Bühler LIBS=$OLD_LIBS 113381587537SStefan Bühler 1134427acbf0SGlenn Strauss AC_DEFINE([HAVE_LIBFAM], [1], [libfam]) 1135427acbf0SGlenn Strauss AC_DEFINE([HAVE_FAM_H], [1], [fam.h]) 1136d8d7d197SStefan Bühler AC_SUBST([FAM_LIBS]) 113781587537SStefan Bühlerfi 113881587537SStefan Bühler 113941cd7d25SStefan Bühler 114041cd7d25SStefan Bühlerdnl webdav props (xml2 and sqlite3) 114141cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1142d8d7d197SStefan BühlerAC_MSG_CHECKING([for properties in mod_webdav]) 1143d8d7d197SStefan BühlerAC_ARG_WITH([webdav-props], 1144acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-webdav-props], [properties in mod_webdav])], 1145d8d7d197SStefan Bühler [WITH_WEBDAV_PROPS=$withval], 1146d8d7d197SStefan Bühler [WITH_WEBDAV_PROPS=no] 1147d8d7d197SStefan Bühler) 114881587537SStefan BühlerAC_MSG_RESULT([$WITH_WEBDAV_PROPS]) 114981587537SStefan Bühler 1150d8d7d197SStefan Bühlerif test "$WITH_WEBDAV_PROPS" != no; then 1151d8d7d197SStefan Bühler AC_MSG_CHECKING([for libxml2]) 1152d8d7d197SStefan Bühler AC_ARG_WITH([libxml], 1153acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-libxml], 1154d8d7d197SStefan Bühler [libxml2 for properties in mod_webdav] 1155d8d7d197SStefan Bühler )], 1156d8d7d197SStefan Bühler [WITH_LIBXML=$withval], 1157d8d7d197SStefan Bühler [WITH_LIBXML=yes] 1158d8d7d197SStefan Bühler ) 1159427acbf0SGlenn Strauss AC_MSG_RESULT([$WITH_LIBXML]) 1160427acbf0SGlenn Strauss 116141cd7d25SStefan Bühler if test "$WITH_LIBXML" = no; then 116241cd7d25SStefan Bühler AC_MSG_ERROR([--with-webdav-props requires libxml]) 116341cd7d25SStefan Bühler fi 116441cd7d25SStefan Bühler 1165d8d7d197SStefan Bühler if test "$WITH_LIBXML" != yes; then 1166427acbf0SGlenn Strauss XML_LIBS="-L$WITH_LIBXML/.libs -lxml2" 1167427acbf0SGlenn Strauss XML_CFLAGS="-I$WITH_LIBXML/include" 1168427acbf0SGlenn Strauss else 116941cd7d25SStefan Bühler PKG_CHECK_MODULES([XML], [libxml-2.0], [], [ 117041cd7d25SStefan Bühler AC_MSG_ERROR([libxml2 not found, install it or build without --with-webdav-props]) 117141cd7d25SStefan Bühler ]) 1172427acbf0SGlenn Strauss fi 1173427acbf0SGlenn Strauss 117481587537SStefan Bühler AC_DEFINE([HAVE_LIBXML2], [1], [libxml2]) 117581587537SStefan Bühler AC_DEFINE([HAVE_LIBXML_H], [1], [libxml.h]) 1176d8d7d197SStefan Bühler AC_SUBST([XML_LIBS]) 1177d8d7d197SStefan Bühler AC_SUBST([XML_CFLAGS]) 1178427acbf0SGlenn Strauss 1179d8d7d197SStefan Bühler AC_MSG_CHECKING([for sqlite]) 1180d8d7d197SStefan Bühler AC_ARG_WITH([sqlite], 1181acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-sqlite], 1182d8d7d197SStefan Bühler [sqlite for properties in mod_webdav] 1183d8d7d197SStefan Bühler )], 1184d8d7d197SStefan Bühler [WITH_SQLITE=$withval], 1185d8d7d197SStefan Bühler [WITH_SQLITE=yes] 1186d8d7d197SStefan Bühler ) 1187427acbf0SGlenn Strauss AC_MSG_RESULT([$WITH_SQLITE]) 1188427acbf0SGlenn Strauss 118941cd7d25SStefan Bühler if test "$WITH_SQLITE" = no; then 119041cd7d25SStefan Bühler AC_MSG_ERROR([--with-webdav-props requires sqlite]) 119141cd7d25SStefan Bühler fi 119241cd7d25SStefan Bühler 1193d8d7d197SStefan Bühler if test "$WITH_SQLITE" != yes; then 1194427acbf0SGlenn Strauss SQLITE_LIBS="-L$WITH_SQLITE/.libs -lsqlite3" 1195427acbf0SGlenn Strauss SQLITE_CFLAGS="-I$WITH_SQLITE" 1196427acbf0SGlenn Strauss else 119741cd7d25SStefan Bühler PKG_CHECK_MODULES([SQLITE], [sqlite3], [], [ 119841cd7d25SStefan Bühler AC_MSG_ERROR([sqlite3 not found, install it or build without --with-webdav-props]) 119941cd7d25SStefan Bühler ]) 1200427acbf0SGlenn Strauss fi 1201427acbf0SGlenn Strauss 120281587537SStefan Bühler AC_DEFINE([HAVE_SQLITE3], [1], [libsqlite3]) 120381587537SStefan Bühler AC_DEFINE([HAVE_SQLITE3_H], [1], [sqlite3.h]) 1204d8d7d197SStefan Bühler AC_SUBST([SQLITE_LIBS]) 1205d8d7d197SStefan Bühler AC_SUBST([SQLITE_CFLAGS]) 1206427acbf0SGlenn Straussfi 120781587537SStefan Bühler 120841cd7d25SStefan Bühler 120941cd7d25SStefan Bühlerdnl webdav locks (uuid) 121041cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1211d8d7d197SStefan BühlerAC_MSG_CHECKING([for locks in mod_webdav]) 1212d8d7d197SStefan BühlerAC_ARG_WITH([webdav-locks], 1213acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-webdav-locks], 121441cd7d25SStefan Bühler [locks in mod_webdav (requires webdav properties)] 121541cd7d25SStefan Bühler )], 1216d8d7d197SStefan Bühler [WITH_WEBDAV_LOCKS=$withval], 1217d8d7d197SStefan Bühler [WITH_WEBDAV_LOCKS=no] 1218d8d7d197SStefan Bühler) 121981587537SStefan BühlerAC_MSG_RESULT([$WITH_WEBDAV_LOCKS]) 122081587537SStefan Bühler 1221d8d7d197SStefan Bühlerif test "$WITH_WEBDAV_LOCKS" != no; then 122241cd7d25SStefan Bühler if test "$WITH_WEBDAV_PROPS" = no; then 122341cd7d25SStefan Bühler AC_MSG_ERROR([--with-webdav-locks requires --with-webdav-props]) 122441cd7d25SStefan Bühler fi 122541cd7d25SStefan Bühler 1226d8d7d197SStefan Bühler AC_MSG_CHECKING([for libuuid]) 1227d8d7d197SStefan Bühler AC_ARG_WITH([uuid], 1228acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-uuid], [uuid for locks in mod_webdav])], 1229d8d7d197SStefan Bühler [WITH_UUID=$withval], 1230d8d7d197SStefan Bühler [WITH_UUID=yes] 1231d8d7d197SStefan Bühler ) 1232427acbf0SGlenn Strauss AC_MSG_RESULT([$WITH_UUID]) 1233427acbf0SGlenn Strauss 123441cd7d25SStefan Bühler if test "$WITH_UUID" = no; then 123541cd7d25SStefan Bühler AC_MSG_ERROR([--with-webdav-locks requires uuid]) 123641cd7d25SStefan Bühler fi 123741cd7d25SStefan Bühler 1238d8d7d197SStefan Bühler if test "$WITH_UUID" != yes; then 1239427acbf0SGlenn Strauss UUID_LIBS="-L$WITH_UUID -luuid" 1240427acbf0SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_UUID" 1241427acbf0SGlenn Strauss else 124241cd7d25SStefan Bühler AC_CHECK_LIB([uuid], [uuid_unparse], 124341cd7d25SStefan Bühler [UUID_LIBS=-luuid], 124441cd7d25SStefan Bühler [AC_MSG_ERROR([uuid lib not found, install it or build without --with-webdav-locks])] 124541cd7d25SStefan Bühler ) 124641cd7d25SStefan Bühler AC_CHECK_HEADERS([uuid/uuid.h], [], 124741cd7d25SStefan Bühler [AC_MSG_ERROR([uuid headers not found, install them or build without --with-webdav-locks])] 124841cd7d25SStefan Bühler ) 1249427acbf0SGlenn Strauss fi 1250427acbf0SGlenn Strauss 12516962fc2aSyangfl AC_DEFINE([HAVE_LIBUUID], [1], [libuuid]) 12526962fc2aSyangfl AC_DEFINE([HAVE_UUID_UUID_H], [1], [uuid/uuid.h is available]) 1253d8d7d197SStefan Bühler AC_SUBST([UUID_LIBS]) 1254427acbf0SGlenn Straussfi 125581587537SStefan Bühler 125607622251SGlenn Straussdnl xxhash 125707622251SGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 125807622251SGlenn StraussAC_MSG_CHECKING([for xxhash support]) 125907622251SGlenn StraussAC_ARG_WITH([xxhash], 1260acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-xxhash], 126107622251SGlenn Strauss [Enable system-provided xxhash] 126207622251SGlenn Strauss )], 126307622251SGlenn Strauss [WITH_XXHASH=$withval], 126407622251SGlenn Strauss [WITH_XXHASH=no] 126507622251SGlenn Strauss) 126607622251SGlenn StraussAC_MSG_RESULT([$WITH_XXHASH]) 126707622251SGlenn Strauss 126807622251SGlenn Straussif test "$WITH_XXHASH" != no; then 126907622251SGlenn Strauss if test "$WITH_XXHASH" != yes; then 127007622251SGlenn Strauss XXHASH_LIBS="-L$WITH_XXHASH -lxxhash" 127107622251SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_XXHASH" 127207622251SGlenn Strauss else 127307622251SGlenn Strauss PKG_CHECK_MODULES([XXHASH], [libxxhash], [], [ 12745e711068SGlenn Strauss AC_CHECK_LIB([xxhash], [XXH_versionNumber], 12755e711068SGlenn Strauss [XXHASH_LIBS=-lxxhash], 12765e711068SGlenn Strauss [AC_MSG_ERROR([xxhash not found, install it or build without --with-xxhash])] 12775e711068SGlenn Strauss ) 12785e711068SGlenn Strauss AC_CHECK_HEADERS([xxhash.h], [], 12795e711068SGlenn Strauss [AC_MSG_ERROR([xxhash not found, install it or build without --with-xxhash])] 12805e711068SGlenn Strauss ) 128107622251SGlenn Strauss ]) 128207622251SGlenn Strauss fi 128307622251SGlenn Strauss 128407622251SGlenn Strauss AC_DEFINE([HAVE_XXHASH_H], [1], [xxhash.h]) 128507622251SGlenn Strauss AC_DEFINE([HAVE_XXHASH], [1], [xxhash]) 128607622251SGlenn Strauss AC_SUBST([XXHASH_CFLAGS]) 128707622251SGlenn Strauss AC_SUBST([XXHASH_LIBS]) 128807622251SGlenn Straussfi 128907622251SGlenn Strauss 12904ac239c4SGlenn Straussdnl Check for maxminddb 12914ac239c4SGlenn StraussAC_MSG_NOTICE([----------------------------------------]) 12924ac239c4SGlenn StraussAC_MSG_CHECKING([for maxminddb]) 12934ac239c4SGlenn StraussAC_ARG_WITH([maxminddb], 1294acca2a3fSGlenn Strauss [AS_HELP_STRING([--with-maxminddb], [IP-based geolocation lookup])], 12954ac239c4SGlenn Strauss [WITH_MAXMINDDB=$withval], 12964ac239c4SGlenn Strauss [WITH_MAXMINDDB=no] 12974ac239c4SGlenn Strauss) 12984ac239c4SGlenn StraussAC_MSG_RESULT([$WITH_MAXMINDDB]) 12994ac239c4SGlenn Strauss 13004ac239c4SGlenn Straussif test "$WITH_MAXMINDDB" != no; then 13014ac239c4SGlenn Strauss if test "$WITH_MAXMINDDB" != yes; then 13024ac239c4SGlenn Strauss MAXMINDDB_LIB="-L$WITH_MAXMINDDB -lmaxminddb" 13034ac239c4SGlenn Strauss CPPFLAGS="$CPPFLAGS -I$WITH_MAXMINDDB" 13044ac239c4SGlenn Strauss else 13054ac239c4SGlenn Strauss AC_CHECK_LIB([maxminddb], [MMDB_open], 13064ac239c4SGlenn Strauss [MAXMINDDB_LIB=-lmaxminddb], 13074ac239c4SGlenn Strauss [AC_MSG_ERROR([maxminddb lib not found, install it or build without --with-maxminddb])] 13084ac239c4SGlenn Strauss ) 13094ac239c4SGlenn Strauss AC_CHECK_HEADERS([maxminddb.h], [], 13104ac239c4SGlenn Strauss [AC_MSG_ERROR([maxminddb headers not found, install them or build without --with-maxminddb])] 13114ac239c4SGlenn Strauss ) 13124ac239c4SGlenn Strauss fi 13134ac239c4SGlenn Strauss 13144ac239c4SGlenn Strauss AC_DEFINE([HAVE_MAXMINDDB], [1], [libmaxminddb]) 13154ac239c4SGlenn Strauss AC_DEFINE([HAVE_MAXMINDDB_H], [1]) 13164ac239c4SGlenn Strauss AC_SUBST([MAXMINDDB_LIB]) 13174ac239c4SGlenn Straussfi 13184ac239c4SGlenn StraussAM_CONDITIONAL([BUILD_WITH_MAXMINDDB], [test "$WITH_MAXMINDDB" != no]) 13194ac239c4SGlenn Strauss 132081587537SStefan Bühlerdnl Check for lua 132141cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1322d8d7d197SStefan BühlerAC_MSG_CHECKING([if lua-support is requested]) 1323d8d7d197SStefan BühlerAC_ARG_WITH([lua], 132486c2d309SGlenn Strauss [AS_HELP_STRING([--with-lua], [lua engine for mod_magnet])], 1325d8d7d197SStefan Bühler [WITH_LUA=$withval], 1326d8d7d197SStefan Bühler [WITH_LUA=no] 1327d8d7d197SStefan Bühler) 132841cd7d25SStefan BühlerAC_MSG_RESULT([$WITH_LUA]) 132981587537SStefan Bühler 1330d8d7d197SStefan Bühlerif test "$WITH_LUA" != no; then 1331427acbf0SGlenn Strauss found_lua=0 1332d8d7d197SStefan Bühler if test "$WITH_LUA" != yes; then 1333d8d7d197SStefan Bühler PKG_CHECK_MODULES([LUA], [$WITH_LUA >= 5.1], 1334d8d7d197SStefan Bühler [found_lua=1], 1335d8d7d197SStefan Bühler [AC_MSG_NOTICE([Couldn\'t find requested lua pkg-config module $WITH_LUA])] 1336d8d7d197SStefan Bühler ) 1337427acbf0SGlenn Strauss if test "$found_lua" = "0"; then 1338427acbf0SGlenn Strauss LUA_LIBS="-L$WITH_LUA -llua" 1339427acbf0SGlenn Strauss LUA_CFLAGS="-I$WITH_LUA" 1340427acbf0SGlenn Strauss fi 1341c354229fSStefan Bühler else 134264aff80dSGlenn Strauss for luaname in lua5.4 lua-5.4 lua5.3 lua-5.3 lua5.2 lua-5.2 lua5.1 lua-5.1 lua; do 1343c354229fSStefan Bühler if test "$found_lua" = "0"; then 1344d8d7d197SStefan Bühler PKG_CHECK_MODULES([LUA], [$luaname >= 5.1], 1345d8d7d197SStefan Bühler [found_lua=1], 1346d8d7d197SStefan Bühler [AC_MSG_NOTICE([Couldn\'t find $luaname])] 1347d8d7d197SStefan Bühler ) 1348c354229fSStefan Bühler fi 1349c354229fSStefan Bühler done 1350c354229fSStefan Bühler if test "$found_lua" = "0"; then 1351d8d7d197SStefan Bühler AC_MSG_ERROR([Couldn\'t find any lua pkg-config module]) 1352c354229fSStefan Bühler fi 1353c354229fSStefan Bühler fi 135481587537SStefan Bühler 1355427acbf0SGlenn Strauss AC_DEFINE([HAVE_LUA_H], [1], [lua.h]) 1356d8d7d197SStefan Bühler AC_SUBST([LUA_LIBS]) 1357d8d7d197SStefan Bühler AC_SUBST([LUA_CFLAGS]) 135881587537SStefan Bühlerfi 1359d8d7d197SStefan BühlerAM_CONDITIONAL([BUILD_WITH_LUA], [test "$WITH_LUA" != no]) 136081587537SStefan Bühler 136141cd7d25SStefan Bühlerdnl "--with-FEATURE" blocks end 136241cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 136341cd7d25SStefan Bühler 1364c9249672SStefan Bühlerdnl search for crypt_r and (fallback) for crypt 136581587537SStefan Bühlersave_LIBS=$LIBS 1366c9249672SStefan BühlerLIBS= 136758544669SStefan Bühlerfound_crypt=no 1368d8d7d197SStefan BühlerAC_SEARCH_LIBS([crypt_r], [crypt], 1369d8d7d197SStefan Bühler [ 1370c9249672SStefan Bühler AC_DEFINE([HAVE_CRYPT_R], [1], [crypt_r]) 137158544669SStefan Bühler AC_CHECK_HEADERS([crypt.h]) 1372c9249672SStefan Bühler CRYPT_LIB=$LIBS 137358544669SStefan Bühler found_crypt=crypt_r 1374d8d7d197SStefan Bühler ], 137558544669SStefan Bühler [AC_SEARCH_LIBS([crypt], [crypt], [ 1376d7cd5b08SStefan Bühler AC_DEFINE([HAVE_CRYPT], [1], [crypt]) 137758544669SStefan Bühler AC_CHECK_HEADERS([crypt.h]) 1378c9249672SStefan Bühler CRYPT_LIB=$LIBS 137958544669SStefan Bühler found_crypt=crypt 138058544669SStefan Bühler ])] 1381d8d7d197SStefan Bühler) 138281587537SStefan BühlerLIBS=$save_LIBS 1383c9249672SStefan BühlerAC_SUBST([CRYPT_LIB]) 138481587537SStefan Bühler 138558544669SStefan BühlerAC_MSG_CHECKING([crypt_r/crypt support]) 138658544669SStefan BühlerAC_MSG_RESULT([$found_crypt]) 138758544669SStefan Bühler 138841cd7d25SStefan Bühlerdnl check whether sendfilev needs -lsendfile 1389c0ced4e8SGlenn Strausscase "$host_os" in 1390c0ced4e8SGlenn Strauss*sunos*|*solaris* ) 139141cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 139281587537SStefan Bühlersave_LIBS=$LIBS 139341cd7d25SStefan BühlerLIBS= 139441cd7d25SStefan Bühlerhave_sendfilev=no 1395d8d7d197SStefan BühlerAC_SEARCH_LIBS([sendfilev], [sendfile], [ 139641cd7d25SStefan Bühler if test -z "$LIBS"; then 139741cd7d25SStefan Bühler have_sendfilev=yes 139841cd7d25SStefan Bühler else 139941cd7d25SStefan Bühler have_sendfilev=$LIBS 140081587537SStefan Bühler fi 140141cd7d25SStefan Bühler SENDFILE_LIB=$LIBS 140241cd7d25SStefan Bühler AC_DEFINE([HAVE_SENDFILEV], [1], [solaris sendfilev]) 140381587537SStefan Bühler]) 140481587537SStefan BühlerLIBS=$save_LIBS 1405d8d7d197SStefan BühlerAC_SUBST([SENDFILE_LIB]) 140681587537SStefan Bühler 140741cd7d25SStefan BühlerAC_MSG_CHECKING([solaris sendfilev present]) 140841cd7d25SStefan BühlerAC_MSG_RESULT([$have_sendfilev]) 1409c0ced4e8SGlenn Strauss ;; 1410c0ced4e8SGlenn Strauss* ) ;; 1411c0ced4e8SGlenn Straussesac 141241cd7d25SStefan Bühler 141341cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 141441cd7d25SStefan Bühler 1415d8d7d197SStefan Bühlercase "$host_os" in 141681587537SStefan Bühler*mingw* ) LIBS="$LIBS -lwsock32" ;; 141781587537SStefan Bühler* ) ;; 141881587537SStefan Bühleresac 141981587537SStefan Bühler 1420d8d7d197SStefan BühlerAC_CHECK_FUNCS([\ 1421d8d7d197SStefan Bühler arc4random_buf \ 1422d8d7d197SStefan Bühler chroot \ 1423d8d7d197SStefan Bühler clock_gettime \ 14240d62b865SGlenn Strauss copy_file_range \ 1425d8d7d197SStefan Bühler explicit_bzero \ 142679760d93SStefan Bühler explicit_memset \ 142767515718SStefan Bühler fork \ 1428d8d7d197SStefan Bühler getloadavg \ 1429d8d7d197SStefan Bühler getuid \ 1430d8d7d197SStefan Bühler gmtime_r \ 14313579c322SGlenn Strauss inet_aton \ 1432d8d7d197SStefan Bühler inet_pton \ 1433d8d7d197SStefan Bühler issetugid \ 1434d8d7d197SStefan Bühler jrand48 \ 1435d8d7d197SStefan Bühler localtime_r \ 1436d8d7d197SStefan Bühler lstat \ 1437d8d7d197SStefan Bühler madvise \ 143882fbfcbaSGlenn Strauss mempcpy \ 1439d8d7d197SStefan Bühler memset_s \ 14409f62f1b1SGlenn Strauss mkostemp \ 1441d8d7d197SStefan Bühler pipe2 \ 1442d8d7d197SStefan Bühler poll \ 14435cab11b7SGlenn Strauss pread \ 14445cab11b7SGlenn Strauss pwrite \ 1445d8d7d197SStefan Bühler sendfile \ 1446d8d7d197SStefan Bühler sendfile64 \ 14475cab11b7SGlenn Strauss splice \ 1448d8d7d197SStefan Bühler srandom \ 144986c39754SGlenn Strauss strerror_r \ 1450f8cc9fb9SGlenn Strauss timegm \ 1451d8d7d197SStefan Bühler]) 145241cd7d25SStefan BühlerAC_CHECK_HEADERS([linux/random.h], [AC_CHECK_FUNCS([getrandom])]) 1453aeba3144SGlenn StraussAC_CHECK_HEADERS([malloc.h], [AC_CHECK_FUNCS([malloc_trim mallopt])]) 1454aeba3144SGlenn StraussAC_CHECK_HEADERS([signal.h], [AC_CHECK_FUNCS([signal sigaction])]) 1455aeba3144SGlenn StraussAC_CHECK_HEADERS([sys/epoll.h], [AC_CHECK_FUNCS([epoll_ctl])]) 1456aeba3144SGlenn StraussAC_CHECK_HEADERS([sys/event.h], [AC_CHECK_FUNCS([kqueue])]) 1457aeba3144SGlenn StraussAC_CHECK_HEADERS([sys/mman.h], [AC_CHECK_FUNCS([mmap])]) 1458aeba3144SGlenn StraussAC_CHECK_HEADERS([sys/random.h], [AC_CHECK_FUNCS([getentropy])]) 1459aeba3144SGlenn StraussAC_CHECK_HEADERS([sys/resource.h], [AC_CHECK_FUNCS([getrlimit])]) 1460aeba3144SGlenn StraussAC_CHECK_HEADERS([sys/uio.h], [AC_CHECK_FUNCS([preadv pwritev writev])]) 1461aeba3144SGlenn Straussif test "$ac_cv_func_poll" = no; then 1462aeba3144SGlenn Strauss AC_CHECK_HEADERS([sys/select.h]) 1463aeba3144SGlenn Strauss AC_CHECK_FUNCS([select]) 1464aeba3144SGlenn Straussfi 1465448621e0SGlenn Strauss 1466b6bd11c1SDavid Carliercase "$host_os" in 1467448621e0SGlenn Strauss*sunos*|*solaris* ) 1468448621e0SGlenn Strauss AC_CHECK_HEADERS([priv.h], [AC_CHECK_FUNCS([setpflags])]) 1469448621e0SGlenn Strauss AC_CHECK_HEADERS([port.h], [AC_CHECK_FUNCS([port_create])]) 1470448621e0SGlenn Strauss AC_CHECK_HEADERS([\ 1471448621e0SGlenn Strauss sys/devpoll.h \ 1472448621e0SGlenn Strauss sys/filio.h \ 1473448621e0SGlenn Strauss ]) 1474448621e0SGlenn Strauss ;; 1475b6bd11c1SDavid Carlier* ) ;; 1476b6bd11c1SDavid Carlieresac 1477d7be04beSLoganaden Velvindron 147841cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1479d8d7d197SStefan BühlerAC_MSG_CHECKING([if weak symbols are supported]) 1480d8d7d197SStefan BühlerAC_LINK_IFELSE( 1481d8d7d197SStefan Bühler [AC_LANG_PROGRAM([[ 1482d7be04beSLoganaden Velvindron __attribute__((weak)) void __dummy(void *x) { } 1483d7be04beSLoganaden Velvindron void f(void *x) { __dummy(x); } 1484d7be04beSLoganaden Velvindron ]])], 1485d7be04beSLoganaden Velvindron [ 1486d8d7d197SStefan Bühler AC_MSG_RESULT([yes]) 1487d7be04beSLoganaden Velvindron AC_DEFINE([HAVE_WEAK_SYMBOLS], [1], [weak symbols are supported]) 1488d8d7d197SStefan Bühler ], 1489d8d7d197SStefan Bühler [AC_MSG_RESULT([no])] 1490d8d7d197SStefan Bühler) 149181587537SStefan Bühler 149241cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1493d8d7d197SStefan BühlerAC_MSG_CHECKING([for Large File System support]) 1494d8d7d197SStefan BühlerAC_ARG_ENABLE([lfs], 1495acca2a3fSGlenn Strauss [AS_HELP_STRING([--enable-lfs], 1496d8d7d197SStefan Bühler [Turn on Large File System (default)] 1497d8d7d197SStefan Bühler )], 1498d8d7d197SStefan Bühler [ 1499d8d7d197SStefan Bühler case "${enableval}" in 150041cd7d25SStefan Bühler yes) ENABLE_LFS=yes ;; 150147df989cSGlenn Strauss no) ENABLE_LFS=yes 150247df989cSGlenn Strauss AC_MSG_NOTICE([large file support forced; --disable-lfs ignored]) ;; 1503d8d7d197SStefan Bühler *) AC_MSG_ERROR([bad value ${enableval} for --enable-lfs]) ;; 1504d8d7d197SStefan Bühler esac 1505d8d7d197SStefan Bühler ], 150641cd7d25SStefan Bühler [ ENABLE_LFS=yes ] 1507d8d7d197SStefan Bühler) 150841cd7d25SStefan BühlerAC_MSG_RESULT([$ENABLE_LFS]) 150941cd7d25SStefan Bühlerif test "$ENABLE_LFS" = yes; then 15101bb0cbc7SGlenn Strauss CPPFLAGS="${CPPFLAGS} -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_DEFAULT_SOURCE" 151182c199dbSGlenn Strauss AC_SYS_LARGEFILE 151241cd7d25SStefan Bühlerfi 151381587537SStefan Bühler 1514529b0685SStefan Bühlerdnl check if sendfile works 151541cd7d25SStefan Bühlerif test "$ac_cv_func_sendfile" = yes; then 151641cd7d25SStefan Bühler AC_MSG_NOTICE([----------------------------------------]) 1517d8d7d197SStefan Bühler AC_MSG_CHECKING([if sendfile works]) 1518d8d7d197SStefan Bühler if test "$cross_compiling" = no; then 1519acca2a3fSGlenn Strauss AC_RUN_IFELSE([AC_LANG_SOURCE( 1520acca2a3fSGlenn Strauss [[ 152181587537SStefan Bühler #ifdef HAVE_SYS_SENDFILE_H 152281587537SStefan Bühler #include <sys/sendfile.h> 152381587537SStefan Bühler #endif /* HAVE_SYS_SENDFILE_H */ 152481587537SStefan Bühler #include <errno.h> 15250ebcfbd7SGlenn Strauss #include <sys/types.h> 15260ebcfbd7SGlenn Strauss #include <sys/socket.h> 15270ebcfbd7SGlenn Strauss #include <sys/uio.h> 15286516c5a2SGlenn Strauss int main(void) { 152981587537SStefan Bühler int o = 0; 153081587537SStefan Bühler if (-1 == sendfile(-1, 0, &o, 0) && errno == ENOSYS) return -1; 153181587537SStefan Bühler return 0; 1532d8d7d197SStefan Bühler } 1533acca2a3fSGlenn Strauss ]])], 1534d8d7d197SStefan Bühler [AC_MSG_RESULT([yes])], 1535d8d7d197SStefan Bühler [ 1536d8d7d197SStefan Bühler AC_MSG_RESULT([no]) 1537d8d7d197SStefan Bühler AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile]) 1538acca2a3fSGlenn Strauss ],[] 1539d8d7d197SStefan Bühler ) 154081587537SStefan Bühler fi 154181587537SStefan Bühlerfi 154281587537SStefan Bühler 154381587537SStefan Bühlerdnl Check for IPv6 support 154441cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1545d8d7d197SStefan BühlerAC_ARG_ENABLE([ipv6], 1546acca2a3fSGlenn Strauss [AS_HELP_STRING([--disable-ipv6], [disable IPv6 support])], 1547d8d7d197SStefan Bühler [ 1548d8d7d197SStefan Bühler case "${enableval}" in 154981587537SStefan Bühler yes) ipv6=true ;; 155081587537SStefan Bühler no) ipv6=false ;; 1551d8d7d197SStefan Bühler *) AC_MSG_ERROR([bad value ${enableval} for --enable-ipv6]) ;; 1552d8d7d197SStefan Bühler esac 1553d8d7d197SStefan Bühler ], 1554d8d7d197SStefan Bühler [ipv6=true] 1555d8d7d197SStefan Bühler) 155681587537SStefan Bühler 1557d8d7d197SStefan Bühlerif test "$ipv6" = true; then 1558d8d7d197SStefan Bühler AC_CACHE_CHECK([for IPv6 support], [ac_cv_ipv6_support], [ 1559acca2a3fSGlenn Strauss AC_LINK_IFELSE([AC_LANG_PROGRAM( 1560acca2a3fSGlenn Strauss [[ 1561d8d7d197SStefan Bühler #include <sys/types.h> 156281587537SStefan Bühler #include <sys/socket.h> 1563d8d7d197SStefan Bühler #include <netinet/in.h> 1564acca2a3fSGlenn Strauss ]], 1565acca2a3fSGlenn Strauss [[ 1566d8d7d197SStefan Bühler struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0; 1567acca2a3fSGlenn Strauss ]])], 1568d8d7d197SStefan Bühler [ac_cv_ipv6_support=yes], 1569d8d7d197SStefan Bühler [ac_cv_ipv6_support=no] 1570d8d7d197SStefan Bühler ) 1571d8d7d197SStefan Bühler ]) 157281587537SStefan Bühler 157381587537SStefan Bühler if test "$ac_cv_ipv6_support" = yes; then 1574d8d7d197SStefan Bühler AC_DEFINE([HAVE_IPV6], [1], [Whether to enable IPv6 support]) 157541cd7d25SStefan Bühler else 157641cd7d25SStefan Bühler AC_MSG_ERROR([IPv6 seems broken. Fix it or build with --disable-ipv6]) 157781587537SStefan Bühler fi 157881587537SStefan Bühlerfi 157981587537SStefan Bühler 1580caab4cdfSGlenn Strauss# disable mmap by default 1581f4c3a99eSStefan Bühler# lighttpd may always use mmap with files it owns (created tmp files) 158241cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1583caab4cdfSGlenn StraussAC_MSG_CHECKING([use mmap if available]) 1584d8d7d197SStefan BühlerAC_ARG_ENABLE([mmap], 1585acca2a3fSGlenn Strauss [AS_HELP_STRING([--enable-mmap], 1586caab4cdfSGlenn Strauss [use mmap if available] 1587d8d7d197SStefan Bühler )], 1588d8d7d197SStefan Bühler [ 1589d8d7d197SStefan Bühler case "${enableval}" in 1590f4c3a99eSStefan Bühler yes) mmap=true ;; 1591f4c3a99eSStefan Bühler no) mmap=false ;; 1592d8d7d197SStefan Bühler *) AC_MSG_ERROR([bad value ${enableval} for --enable-mmap]) ;; 1593d8d7d197SStefan Bühler esac 1594d8d7d197SStefan Bühler ], 1595d8d7d197SStefan Bühler [mmap=false] 1596d8d7d197SStefan Bühler) 159741cd7d25SStefan BühlerAC_MSG_RESULT([$mmap]) 1598f4c3a99eSStefan Bühler 1599d8d7d197SStefan Bühlerif test "$mmap" = true; then 1600d8d7d197SStefan Bühler AC_DEFINE([ENABLE_MMAP], [1], [Use mmap if available]) 1601f4c3a99eSStefan Bühlerfi 1602f4c3a99eSStefan Bühler 160381587537SStefan Bühler 160441cd7d25SStefan BühlerAC_MSG_NOTICE([----------------------------------------]) 1605529b0685SStefan Bühlerdnl check for extra compiler options (warning options) 1606d8d7d197SStefan Bühlerif test "${GCC}" = yes; then 1607457d78c6SGlenn Strauss TRY_CFLAGS([-pipe -Wall -W -Wshadow -pedantic]) 160881587537SStefan Bühlerfi 160981587537SStefan Bühler 1610d8d7d197SStefan BühlerAC_ARG_ENABLE([extra-warnings], 1611acca2a3fSGlenn Strauss [AS_HELP_STRING([--enable-extra-warnings], 1612d8d7d197SStefan Bühler [enable extra warnings (gcc specific)] 1613d8d7d197SStefan Bühler )], 1614d8d7d197SStefan Bühler [ 1615d8d7d197SStefan Bühler case "${enableval}" in 16161e8147fcSGlenn Strauss error) extrawarnings=error ;; 161781587537SStefan Bühler yes) extrawarnings=true ;; 161881587537SStefan Bühler no) extrawarnings=false ;; 1619d8d7d197SStefan Bühler *) AC_MSG_ERROR([bad value ${enableval} for --enable-extra-warnings]) ;; 1620d8d7d197SStefan Bühler esac 1621d8d7d197SStefan Bühler ], 1622d8d7d197SStefan Bühler [extrawarnings=false] 1623d8d7d197SStefan Bühler) 162481587537SStefan Bühler 1625d8d7d197SStefan Bühlerif test "$extrawarnings" = true || test "$extrawarnings" = error; then 16262f46736eSGlenn Strauss TRY_CFLAGS([-g -O2 -g2 -Wall -Wmissing-declarations -Wcast-align -Wsign-compare -Wnested-externs -Wpointer-arith -D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security]) 1627f95ca5efSGlenn Strauss TRY_CFLAGS([-fstack-protector-strong]) 1628fbefda35SGlenn Strauss case "$host_os" in 1629fbefda35SGlenn Strauss *darwin* ) ;; 1630fbefda35SGlenn Strauss * ) TRY_LDFLAGS([-Wl,--as-needed]) ;; 1631fbefda35SGlenn Strauss esac 1632d8d7d197SStefan Bühler if test "$extrawarnings" = error; then 16331e8147fcSGlenn Strauss AS_VAR_APPEND([CFLAGS], [" -Werror"]) 1634fbefda35SGlenn Strauss case "$host_os" in 1635fbefda35SGlenn Strauss *darwin* ) ;; 1636fbefda35SGlenn Strauss * ) AS_VAR_APPEND([LDFLAGS], [" -Wl,--fatal-warnings"]) ;; 1637fbefda35SGlenn Strauss esac 16381e8147fcSGlenn Strauss fi 163981587537SStefan Bühlerfi 164081587537SStefan Bühler 164181587537SStefan Bühlerdnl build version-id 16426976b5e8SStefan BühlerLIGHTTPD_VERSION_ID=m4_format([0x%x%02x%02x], m4_unquote(m4_split(AC_PACKAGE_VERSION, [\.]))) 164381587537SStefan BühlerAC_DEFINE_UNQUOTED([LIGHTTPD_VERSION_ID], [$LIGHTTPD_VERSION_ID], [lighttpd-version-id]) 164481587537SStefan Bühler 1645d8d7d197SStefan BühlerAC_CONFIG_FILES([\ 1646d8d7d197SStefan Bühler distribute.sh \ 164706721fcbSMarcus Rückert doc/config/conf.d/Makefile \ 164806721fcbSMarcus Rückert doc/config/Makefile \ 1649d8d7d197SStefan Bühler doc/config/vhosts.d/Makefile \ 1650d8d7d197SStefan Bühler doc/Makefile \ 1651d8d7d197SStefan Bühler doc/outdated/Makefile \ 1652ac087bd9SMarcus Rückert doc/scripts/Makefile \ 165310e5fda6SStefan Bühler doc/systemd/Makefile \ 1654d8d7d197SStefan Bühler Makefile \ 1655d8d7d197SStefan Bühler src/Makefile \ 1656d8d7d197SStefan Bühler tests/docroot/Makefile \ 1657d8d7d197SStefan Bühler tests/Makefile \ 1658d8d7d197SStefan Bühler]) 165981587537SStefan BühlerAC_OUTPUT 166081587537SStefan Bühler 1661d8d7d197SStefan Bühlerdo_build="\ 1662d8d7d197SStefan Bühler mod_access \ 1663d8d7d197SStefan Bühler mod_accesslog \ 1664a1bb0c0dSGlenn Strauss mod_ajp13 \ 1665d8d7d197SStefan Bühler mod_alias \ 1666d8d7d197SStefan Bühler mod_auth \ 1667d8d7d197SStefan Bühler mod_authn_file \ 1668d8d7d197SStefan Bühler mod_cgi \ 1669d8d7d197SStefan Bühler mod_deflate \ 1670d8d7d197SStefan Bühler mod_dirlisting \ 1671d8d7d197SStefan Bühler mod_evhost \ 1672d8d7d197SStefan Bühler mod_expire \ 1673d8d7d197SStefan Bühler mod_extforward \ 1674d8d7d197SStefan Bühler mod_fastcgi \ 1675d8d7d197SStefan Bühler mod_indexfile \ 1676d8d7d197SStefan Bühler mod_proxy \ 1677a45f3bacSStefan Bühler mod_redirect \ 1678a45f3bacSStefan Bühler mod_rewrite \ 1679d8d7d197SStefan Bühler mod_rrdtool \ 1680d8d7d197SStefan Bühler mod_scgi \ 1681d8d7d197SStefan Bühler mod_setenv \ 1682d8d7d197SStefan Bühler mod_simple_vhost \ 1683fc1ddbedSGlenn Strauss mod_sockproxy \ 1684d8d7d197SStefan Bühler mod_ssi \ 1685d8d7d197SStefan Bühler mod_staticfile \ 1686d8d7d197SStefan Bühler mod_status \ 1687d8d7d197SStefan Bühler mod_userdir \ 1688d8d7d197SStefan Bühler mod_vhostdb \ 1689d8d7d197SStefan Bühler mod_webdav \ 1690d8d7d197SStefan Bühler mod_wstunnel \ 1691d8d7d197SStefan Bühler" 169281587537SStefan Bühler 1693a45f3bacSStefan Bühlerlighty_track_feature() { 1694a45f3bacSStefan Bühler if eval "$3"; then 1695a45f3bacSStefan Bühler enable_feature="$enable_feature $1" 1696a45f3bacSStefan Bühler do_build="$do_build $2" 169781587537SStefan Bühler else 1698a45f3bacSStefan Bühler disable_feature="$disable_feature $1" 1699a45f3bacSStefan Bühler no_build="$no_build $2" 170081587537SStefan Bühler fi 1701a45f3bacSStefan Bühler} 170281587537SStefan Bühler 1703a45f3bacSStefan Bühlerlighty_track_feature "regex-conditionals" "" \ 17049abc08d7SGlenn Strauss 'test "$WITH_PCRE" != no || test "$WITH_PCRE2" != no' 1705c073a31fSGlenn Strauss 170686c2d309SGlenn Strausslighty_track_feature "mysql" "mod_vhostdb_mysql" \ 1707a45f3bacSStefan Bühler 'test "$WITH_MYSQL" != no' 170881587537SStefan Bühler 1709a45f3bacSStefan Bühlerlighty_track_feature "postgresql" "mod_vhostdb_pgsql" \ 1710a45f3bacSStefan Bühler 'test "$WITH_PGSQL" != no' 1711c073a31fSGlenn Strauss 1712fed2ecaeSGlenn Strausslighty_track_feature "dbi" "mod_authn_dbi mod_vhostdb_dbi" \ 1713a45f3bacSStefan Bühler 'test "$WITH_DBI" != no' 171481587537SStefan Bühler 171586c2d309SGlenn Strausslighty_track_feature "lua" "mod_magnet" \ 1716a45f3bacSStefan Bühler 'test "$WITH_LUA" != no' 171781587537SStefan Bühler 17184ac239c4SGlenn Strausslighty_track_feature "maxminddb" "mod_maxminddb" \ 17194ac239c4SGlenn Strauss 'test "$WITH_MAXMINDDB" != no' 17204ac239c4SGlenn Strauss 1721a45f3bacSStefan Bühlerlighty_track_feature "compress-gzip compress-deflate" "" \ 1722a45f3bacSStefan Bühler 'test "$WITH_ZLIB" != no' 172381587537SStefan Bühler 1724a45f3bacSStefan Bühlerlighty_track_feature "compress-bzip2" "" \ 1725a45f3bacSStefan Bühler 'test "$WITH_BZIP2" != no' 172606cb0c30SGlenn Strauss 17278d5e237cSGlenn Strausslighty_track_feature "compress-brotli" "" \ 17288d5e237cSGlenn Strauss 'test "$WITH_BROTLI" != no' 17298d5e237cSGlenn Strauss 173037dd53baSGlenn Strausslighty_track_feature "compress-zstd" "" \ 173137dd53baSGlenn Strauss 'test "$WITH_ZSTD" != no' 173237dd53baSGlenn Strauss 1733a45f3bacSStefan Bühlerlighty_track_feature "kerberos" "mod_authn_gssapi" \ 1734a45f3bacSStefan Bühler 'test "$WITH_KRB5" != no' 173581587537SStefan Bühler 1736a45f3bacSStefan Bühlerlighty_track_feature "ldap" "mod_authn_ldap mod_vhostdb_ldap" \ 1737a45f3bacSStefan Bühler 'test "$WITH_LDAP" != no' 173881587537SStefan Bühler 1739df4812ecSGlenn Strausslighty_track_feature "pam" "mod_authn_pam" \ 1740df4812ecSGlenn Strauss 'test "$WITH_PAM" != no' 1741df4812ecSGlenn Strauss 1742a45f3bacSStefan Bühlerlighty_track_feature "network-openssl" "mod_openssl" \ 1743c3a85c9bSGlenn Strauss 'test "$WITH_OPENSSL" != no' 174481587537SStefan Bühler 1745cb753ec5SGlenn Strausslighty_track_feature "network-mbedtls" "mod_mbedtls" \ 1746cb753ec5SGlenn Strauss 'test "$WITH_MBEDTLS" != no' 1747cb753ec5SGlenn Strauss 1748bf4054f8SGlenn Strausslighty_track_feature "network-gnutls" "mod_gnutls" \ 1749bf4054f8SGlenn Strauss 'test "$WITH_GNUTLS" != no' 1750bf4054f8SGlenn Strauss 1751e00deb55SGlenn Strausslighty_track_feature "network-nss" "mod_nss" \ 1752e00deb55SGlenn Strauss 'test "$WITH_NSS" != no' 1753e00deb55SGlenn Strauss 1754c3a85c9bSGlenn Strausslighty_track_feature "network-wolfssl" "mod_wolfssl" \ 1755c3a85c9bSGlenn Strauss 'test "$WITH_WOLFSSL" != no' 1756c3a85c9bSGlenn Strauss 1757a45f3bacSStefan Bühlerlighty_track_feature "auth-crypt" "" \ 1758a45f3bacSStefan Bühler 'test "$found_crypt" != no' 175981587537SStefan Bühler 1760a45f3bacSStefan Bühlerlighty_track_feature "network-ipv6" "" \ 1761a45f3bacSStefan Bühler 'test "$ac_cv_ipv6_support" != no' 176281587537SStefan Bühler 1763a45f3bacSStefan Bühlerlighty_track_feature "large-files" "" \ 1764a45f3bacSStefan Bühler 'test "$ENABLE_LFS" = yes' 176581587537SStefan Bühler 176628fc51c7SGlenn Strausscase "$host_os" in 176728fc51c7SGlenn Strauss*linux* ) 176828fc51c7SGlenn Strausslighty_track_feature "stat-cache-inotify" "" \ 176928fc51c7SGlenn Strauss 'test "$ac_cv_header_sys_inotify_h" != no' 177028fc51c7SGlenn Strauss ;; 177128fc51c7SGlenn Strauss* ) ;; 177228fc51c7SGlenn Straussesac 177328fc51c7SGlenn Strauss 177428fc51c7SGlenn Strausscase "$host_os" in 177528fc51c7SGlenn Strauss*bsd*|*darwin* ) 177628fc51c7SGlenn Strausslighty_track_feature "stat-cache-kqueue" "" \ 177728fc51c7SGlenn Strauss 'test "$ac_cv_func_kqueue" != no' 177828fc51c7SGlenn Strauss ;; 177928fc51c7SGlenn Strauss* ) ;; 178028fc51c7SGlenn Straussesac 178128fc51c7SGlenn Strauss 178228fc51c7SGlenn Strausscase "$host_os" in 178328fc51c7SGlenn Strauss*bsd*|*darwin*|*linux* ) 178428fc51c7SGlenn Strauss ;; 178528fc51c7SGlenn Strauss* ) 1786a45f3bacSStefan Bühlerlighty_track_feature "stat-cache-fam" "" \ 1787a45f3bacSStefan Bühler 'test "$WITH_FAM" != no' 178828fc51c7SGlenn Strauss ;; 178928fc51c7SGlenn Straussesac 179081587537SStefan Bühler 1791a45f3bacSStefan Bühlerlighty_track_feature "webdav-properties" "" \ 1792a45f3bacSStefan Bühler 'test "$WITH_WEBDAV_PROPS" != no' 179381587537SStefan Bühler 1794a45f3bacSStefan Bühlerlighty_track_feature "webdav-locks" "" \ 1795a45f3bacSStefan Bühler 'test "$WITH_WEBDAV_LOCKS" != no' 179681587537SStefan Bühler 1797529b0685SStefan Bühlerdnl output 179881587537SStefan Bühler 179981587537SStefan Bühler$ECHO 180081587537SStefan Bühler$ECHO "Plugins:" 180181587537SStefan Bühler$ECHO 180281587537SStefan Bühler 180381587537SStefan Bühler$ECHO "enabled: " 180481587537SStefan Bühlerfor p in $do_build; do 180581587537SStefan Bühler $ECHO " $p" 180681587537SStefan Bühlerdone | sort 180781587537SStefan Bühler 180881587537SStefan Bühler$ECHO "disabled: " 180981587537SStefan Bühlerfor p in $no_build; do 181081587537SStefan Bühler $ECHO " $p" 181181587537SStefan Bühlerdone | sort 181281587537SStefan Bühler 181381587537SStefan Bühler$ECHO 181481587537SStefan Bühler$ECHO "Features:" 181581587537SStefan Bühler$ECHO 181681587537SStefan Bühler 181781587537SStefan Bühler$ECHO "enabled: " 181881587537SStefan Bühlerfor p in $enable_feature; do 181981587537SStefan Bühler $ECHO " $p" 182081587537SStefan Bühlerdone | sort 182181587537SStefan Bühler 182281587537SStefan Bühler$ECHO "disabled: " 182381587537SStefan Bühlerfor p in $disable_feature; do 182481587537SStefan Bühler $ECHO " $p" 182581587537SStefan Bühlerdone | sort 182681587537SStefan Bühler 182781587537SStefan Bühler$ECHO 1828