1dnl -*- Autoconf -*- 2dnl Process this file with autoconf to produce a configure script. 3dnl 4dnl Indentation rules: 5dnl - closing braces not at the beginning of a line must match opening 6dnl braces earlier on that line 7dnl - closing braces at the beginning of a line: 8dnl - must not be followed by anything else apart from "," or comments 9dnl - must match opening braces from another line and indented the 10dnl same as that other line 11dnl - if one argument was put on a new line, all following arguments 12dnl must be on their own line too 13dnl - if an argument uses more than one line and is not a single 14dnl function call, the argument should be on different lines than the 15dnl wrapping braces 16AC_PREREQ([2.60]) 17AC_INIT([lighttpd],[1.4.70],[https://redmine.lighttpd.net/projects/lighttpd/boards/2],[lighttpd],[https://www.lighttpd.net/]) 18AC_CONFIG_SRCDIR([src/server.c]) 19AC_CONFIG_HEADERS([config.h]) 20AC_CONFIG_MACRO_DIR([m4]) 21 22AC_CANONICAL_HOST 23 24AM_INIT_AUTOMAKE([1.13 -Wall -Wno-portability -Wno-override foreign dist-xz tar-ustar serial-tests silent-rules subdir-objects]) 25 26dnl @synopsis TRY_CFLAGS [compiler flags] 27dnl @summary check whether compiler supports given flags and adds them to CFLAGS 28AC_DEFUN([TRY_CFLAGS], 29[dnl 30 AC_MSG_CHECKING([if $CC supports $1]) 31 AC_LANG_PUSH([C]) 32 ac_try_cflags_saved_cflags="${CFLAGS}" 33 CFLAGS="${CFLAGS} $1" 34 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], 35 [AC_MSG_RESULT([yes])], 36 [ 37 AC_MSG_ERROR([no]) 38 CFLAGS="${ac_try_cflags_saved_cflags}" 39 ] 40 ) 41 AC_LANG_POP([C]) 42]) 43 44dnl @synopsis TRY_LDFLAGS [linker flags] 45dnl @summary check whether linker supports given flags and adds them to LDFLAGS 46AC_DEFUN([TRY_LDFLAGS], 47[dnl 48 AC_MSG_CHECKING([if $LD supports $1]) 49 AC_LANG_PUSH([C]) 50 ac_try_ldflags_saved_ldflags="${LDFLAGS}" 51 LDFLAGS="${LDFLAGS} $1" 52 AC_LINK_IFELSE([AC_LANG_PROGRAM([])], 53 [AC_MSG_RESULT([yes])], 54 [ 55 AC_MSG_ERROR([no]) 56 LDFLAGS="${ac_try_ldflags_saved_cflags}" 57 ] 58 ) 59 AC_LANG_POP([C]) 60]) 61 62dnl Checks for programs. 63AC_PROG_CC 64AC_PROG_CC_C99 65AX_PROG_CC_FOR_BUILD 66LT_PATH_LD 67AC_PROG_INSTALL 68AC_PROG_CPP 69AC_PROG_MAKE_SET 70 71AC_USE_SYSTEM_EXTENSIONS 72AM_PROG_AR 73AC_C_INLINE 74AC_C_RESTRICT 75 76dnl AC_CANONICAL_HOST 77case "$host_os" in 78*darwin*|*cygwin*|*aix*|*mingw*|*midipix* ) NO_RDYNAMIC=yes ;; 79* ) NO_RDYNAMIC=no ;; 80esac 81AM_CONDITIONAL([NO_RDYNAMIC], [test "$NO_RDYNAMIC" = yes]) 82 83AM_CONDITIONAL([LIGHTTPD_STATIC], [test "$LIGHTTPD_STATIC" = yes]) 84 85AC_EXEEXT 86 87dnl libtool 88LT_INIT([dlopen disable-static shared]) 89 90dnl for solaris 91CPPFLAGS="${CPPFLAGS} -D_REENTRANT" 92 93dnl Checks for header files. 94 95dnl checks for sys/wait.h => HAVE_SYS_WAIT_H 96AC_HEADER_SYS_WAIT 97AC_CHECK_HEADERS([\ 98 getopt.h \ 99 inttypes.h \ 100 poll.h \ 101 pwd.h \ 102 stdlib.h \ 103 stdint.h \ 104 strings.h \ 105 sys/inotify.h \ 106 sys/loadavg.h \ 107 sys/poll.h \ 108 sys/prctl.h \ 109 sys/procctl.h \ 110 sys/sendfile.h \ 111 sys/time.h \ 112 sys/uio.h \ 113 sys/un.h \ 114 syslog.h \ 115 uuid/uuid.h \ 116]) 117 118dnl Checks for typedefs, structures, and compiler characteristics. 119AC_C_CONST 120AC_C_INLINE 121AC_TYPE_OFF_T 122AC_TYPE_PID_T 123AC_TYPE_SIZE_T 124 125AC_CHECK_MEMBER([struct tm.tm_gmtoff], 126 [AC_DEFINE([HAVE_STRUCT_TM_GMTOFF], [1], [gmtoff in struct tm])], 127 [], 128 [#include <time.h>] 129) 130AC_CHECK_TYPES([socklen_t], 131 [], dnl defines HAVE_SOCKLEN_T 132 [], 133 [ 134 #include <sys/types.h> 135 #include <sys/socket.h> 136 ] 137) 138 139dnl solaris needs -lsocket -lnsl 140dnl Haiku needs -lnetwork 141AC_SEARCH_LIBS([socket], [socket network]) 142AC_SEARCH_LIBS([gethostbyname], [nsl socket network]) 143 144dnl clock_gettime() needs -lrt with glibc < 2.17, and possibly other platforms 145AC_SEARCH_LIBS([clock_gettime], [rt]) 146 147dnl FreeBSD elftc_copyfile() 148save_LIBS=$LIBS 149LIBS= 150AC_SEARCH_LIBS([elftc_copyfile], [elftc], [ 151 AC_CHECK_HEADERS([libelftc.h], [ 152 ELFTC_LIB=$LIBS 153 AC_DEFINE([HAVE_LIBELFTC], [1], [libelftc]) 154 AC_DEFINE([HAVE_ELFTC_COPYFILE], [1], [elftc_copyfile]) 155 ]) 156]) 157LIBS=$save_LIBS 158AC_SUBST([ELFTC_LIB]) 159 160dnl need dlopen/-ldl to load plugins (when not on windows) 161save_LIBS=$LIBS 162LIBS= 163AC_SEARCH_LIBS([dlopen], [dl], [ 164 AC_CHECK_HEADERS([dlfcn.h], [ 165 DL_LIB=$LIBS 166 AC_DEFINE([HAVE_LIBDL], [1], [libdl]) 167 AC_DEFINE([HAVE_DLFCN_H], [1]) 168 ]) 169]) 170LIBS=$save_LIBS 171AC_SUBST([DL_LIB]) 172 173dnl prepare pkg-config usage below 174PKG_PROG_PKG_CONFIG 175 176dnl checking for libev 177AC_MSG_NOTICE([----------------------------------------]) 178AC_MSG_CHECKING([for libev support]) 179AC_ARG_WITH([libev], 180 [AS_HELP_STRING([--with-libev@<:@=PATH@:>@], 181 [Include libev support for fdevent handlers in PATH/include and PATH/lib] 182 )], 183 [WITH_LIBEV=$withval], 184 [WITH_LIBEV=no] 185) 186AC_MSG_RESULT([$WITH_LIBEV]) 187dnl ignore WITH_LIBEV 188 189dnl Checks for mysql 190AC_MSG_NOTICE([----------------------------------------]) 191AC_MSG_CHECKING([for MySQL support]) 192AC_ARG_WITH([mysql], 193 [AS_HELP_STRING([--with-mysql@<:@=PATH@:>@], 194 [Include MySQL support. PATH is the path to 'mysql_config'] 195 )], 196 [WITH_MYSQL=$withval], 197 [WITH_MYSQL=no] 198) 199AC_MSG_RESULT([$WITH_MYSQL]) 200 201MYSQL_CFLAGS= 202MYSQL_LIBS= 203 204if test "$WITH_MYSQL" != no; then 205 if test "$WITH_MYSQL" = yes; then 206 PKG_CHECK_MODULES([MYSQL],[mariadb],[ 207 MYSQL_CONFIG=$PKG_CONFIG 208 ],[ 209 PKG_CHECK_MODULES([MYSQL],[mysqlclient],[ 210 MYSQL_CONFIG=$PKG_CONFIG 211 ],[ 212 AC_PATH_PROG([MYSQL_CONFIG], [mysql_config]) 213 ]) 214 ]) 215 else 216 MYSQL_CONFIG=$WITH_MYSQL 217 fi 218 219 if test "$MYSQL_CONFIG" != "$PKG_CONFIG"; then 220 if test -z "$MYSQL_CONFIG"; then 221 AC_MSG_ERROR([mysql_config is not found]) 222 fi 223 if test ! -x "$MYSQL_CONFIG"; then 224 AC_MSG_ERROR([mysql_config not exists or not executable, use --with-mysql=path-to-mysql_config]) 225 fi 226 227 if "$MYSQL_CONFIG" | grep -- '--include' > /dev/null ; then 228 MYSQL_CFLAGS=`"$MYSQL_CONFIG" --include | sed s/\'//g` 229 else 230 MYSQL_CFLAGS=`"$MYSQL_CONFIG" --cflags | sed s/\'//g` 231 fi 232 MYSQL_LIBS=`"$MYSQL_CONFIG" --libs | sed s/\'//g` 233 fi 234 235 AC_MSG_CHECKING([for MySQL includes at]) 236 AC_MSG_RESULT([$MYSQL_CFLAGS]) 237 238 AC_MSG_CHECKING([for MySQL libraries at]) 239 AC_MSG_RESULT([$MYSQL_LIBS]) 240 241 AC_DEFINE([HAVE_MYSQL], [1], [mysql support]) 242fi 243AM_CONDITIONAL([BUILD_WITH_MYSQL], [test "$WITH_MYSQL" != no]) 244 245AC_SUBST([MYSQL_LIBS]) 246AC_SUBST([MYSQL_CFLAGS]) 247 248dnl Checks for pgsql 249AC_MSG_NOTICE([----------------------------------------]) 250AC_MSG_CHECKING([for PgSQL support]) 251AC_ARG_WITH([pgsql], 252 [AS_HELP_STRING([--with-pgsql@<:@=PATH@:>@], 253 [Include PgSQL support. PATH is the path to 'pg_config'] 254 )], 255 [WITH_PGSQL=$withval], 256 [WITH_PGSQL=no] 257) 258AC_MSG_RESULT([$WITH_PGSQL]) 259 260PGSQL_CFLAGS= 261PGSQL_LIBS= 262 263if test "$WITH_PGSQL" != no; then 264 if test "$WITH_PGSQL" = yes; then 265 PKG_CHECK_MODULES([PGSQL],[libpq],[ 266 PGSQL_CONFIG=$PKG_CONFIG 267 ],[ 268 AC_PATH_PROG([PGSQL_CONFIG], [pg_config]) 269 ]) 270 else 271 PGSQL_CONFIG=$WITH_PGSQL 272 fi 273 274 if test "$PGSQL_CONFIG" != "$PKG_CONFIG"; then 275 if test -z "$PGSQL_CONFIG"; then 276 AC_MSG_ERROR([pg_config is not found]) 277 fi 278 if test ! -x "$PGSQL_CONFIG"; then 279 AC_MSG_ERROR([pg_config not exists or not executable, use --with-pgsql=path-to-pg_config]) 280 fi 281 282 PGSQL_CFLAGS="-I`"$PGSQL_CONFIG" --includedir`" 283 PGSQL_LIBS="-L`"$PGSQL_CONFIG" --libdir` -lpq" 284 fi 285 286 AC_MSG_CHECKING([for PgSQL includes at]) 287 AC_MSG_RESULT([$PGSQL_CFLAGS]) 288 289 AC_MSG_CHECKING([for PgSQL libraries at]) 290 AC_MSG_RESULT([$PGSQL_LIBS]) 291 292 AC_DEFINE([HAVE_PGSQL], [1], [pgsql support]) 293fi 294AM_CONDITIONAL([BUILD_WITH_PGSQL], [test "$WITH_PGSQL" != no]) 295 296AC_SUBST([PGSQL_LIBS]) 297AC_SUBST([PGSQL_CFLAGS]) 298 299dnl Checks for libdbi library 300AC_MSG_NOTICE([----------------------------------------]) 301AC_MSG_CHECKING([for LibDBI support]) 302AC_ARG_WITH([dbi], 303 [AS_HELP_STRING([--with-dbi@<:@=PATH@:>@], 304 [Include DBI support in PATH/include/dbi.h and PATH/lib] 305 )], 306 [WITH_DBI=$withval], 307 [WITH_DBI=no] 308) 309AC_MSG_RESULT([$WITH_DBI]) 310 311DBI_INCLUDE= 312DBI_LIBS= 313 314if test "$WITH_DBI" != no; then 315 if test "$WITH_DBI" != yes; then 316 DBI_CFLAGS="-I$WITH_DBI/include" 317 DBI_LIBS="-L$WITH_DBI/lib -ldbi" 318 else 319 AC_CHECK_HEADERS([dbi/dbi.h], 320 [AC_CHECK_LIB([dbi], [dbi_version], 321 [ 322 DBI_CFLAGS= 323 DBI_LIBS="-ldbi" 324 ], 325 [AC_MSG_ERROR([LibDBI not found])] 326 )], 327 [AC_MSG_ERROR([LibDBI header not found])] 328 ) 329 fi 330 331 AC_DEFINE([HAVE_DBI], [1], [LibDBI support]) 332fi 333AM_CONDITIONAL([BUILD_WITH_DBI], [test "$WITH_DBI" != no]) 334 335AC_SUBST([DBI_LIBS]) 336AC_SUBST([DBI_CFLAGS]) 337 338dnl Checks for libsasl2 library 339AC_MSG_NOTICE([----------------------------------------]) 340AC_MSG_CHECKING([for LibSASL support]) 341AC_ARG_WITH([sasl], 342 [AS_HELP_STRING([--with-sasl@<:@=PATH@:>@], 343 [Include SASL support in PATH/include/sasl/sasl.h and PATH/lib] 344 )], 345 [WITH_SASL=$withval], 346 [WITH_SASL=no] 347) 348AC_MSG_RESULT([$WITH_SASL]) 349 350SASL_INCLUDE= 351SASL_LIBS= 352 353if test "$WITH_SASL" != no; then 354 if test "$WITH_SASL" != yes; then 355 SASL_CFLAGS="-I$WITH_SASL/include" 356 SASL_LIBS="-L$WITH_SASL/lib -lsasl2" 357 else 358 AC_CHECK_HEADERS([sasl/sasl.h], 359 [AC_CHECK_LIB([sasl2], [sasl_server_init], 360 [ 361 SASL_CFLAGS= 362 SASL_LIBS="-lsasl2" 363 ], 364 [AC_MSG_ERROR([libsasl2 not found])] 365 )], 366 [AC_MSG_ERROR([SASL header not found])] 367 ) 368 fi 369 370 AC_DEFINE([HAVE_SASL], [1], [LibSASL support]) 371fi 372AM_CONDITIONAL([BUILD_WITH_SASL], [test "$WITH_SASL" != no]) 373 374AC_SUBST([SASL_LIBS]) 375AC_SUBST([SASL_CFLAGS]) 376 377 378dnl Check for LDAP 379AC_MSG_NOTICE([----------------------------------------]) 380AC_MSG_CHECKING([for LDAP support]) 381AC_ARG_WITH([ldap], 382 [AS_HELP_STRING([--with-ldap], [enable LDAP support])], 383 [WITH_LDAP=$withval], 384 [WITH_LDAP=no] 385) 386AC_MSG_RESULT([$WITH_LDAP]) 387 388if test "$WITH_LDAP" != no; then 389 AC_CHECK_LIB([ldap], [ldap_sasl_bind_s], 390 [AC_CHECK_HEADERS([ldap.h], 391 [ 392 LDAP_LIB=-lldap 393 AC_DEFINE([HAVE_LIBLDAP], [1], [libldap]) 394 AC_DEFINE([HAVE_LDAP_H], [1]) 395 ], 396 [AC_MSG_ERROR([ldap headers not found, install them or build without --with-ldap])] 397 )], 398 [AC_MSG_ERROR([ldap library not found, install it or build without --with-ldap])] 399 ) 400 AC_SUBST([LDAP_LIB]) 401 AC_CHECK_LIB([lber], [ber_printf], 402 [AC_CHECK_HEADERS([lber.h], 403 [ 404 LBER_LIB=-llber 405 AC_DEFINE([HAVE_LIBLBER], [1], [liblber]) 406 AC_DEFINE([HAVE_LBER_H], [1]) 407 ], 408 [AC_MSG_ERROR([lber headers not found, install them or build without --with-ldap])] 409 )], 410 [AC_MSG_ERROR([lber library not found, install it or build without --with-ldap])] 411 ) 412 AC_SUBST([LBER_LIB]) 413fi 414AM_CONDITIONAL([BUILD_WITH_LDAP], [test "$WITH_LDAP" != no]) 415 416dnl Check for PAM 417AC_MSG_NOTICE([----------------------------------------]) 418AC_MSG_CHECKING(for PAM support) 419AC_ARG_WITH([pam], 420 [AS_HELP_STRING([--with-pam],[enable PAM support])], 421 [WITH_PAM=$withval], 422 [WITH_PAM=no] 423) 424AC_MSG_RESULT([$withval]) 425 426if test "$WITH_PAM" != "no"; then 427 AC_CHECK_LIB([pam], [pam_start], 428 [AC_CHECK_HEADERS([security/pam_appl.h],[ 429 PAM_LIB=-lpam 430 AC_DEFINE([HAVE_PAM], [1], [libpam]) 431 AC_DEFINE([HAVE_SECURITY_PAM_APPL_H], [1]) 432 ], 433 [AC_MSG_ERROR([pam headers not found, install them or build without --with-pam])] 434 )], 435 [AC_MSG_ERROR([pam library not found, install it or build without --with-pam])] 436 ) 437 AC_SUBST(PAM_LIB) 438fi 439AM_CONDITIONAL([BUILD_WITH_PAM], [test "$WITH_PAM" != no]) 440 441dnl Check for xattr 442AC_MSG_NOTICE([----------------------------------------]) 443AC_MSG_CHECKING([for extended attributes support]) 444AC_ARG_WITH([attr], 445 [AS_HELP_STRING([--with-attr], [enable extended attribute support])], 446 [WITH_ATTR=$withval], 447 [WITH_ATTR=no] 448) 449AC_MSG_RESULT([$WITH_ATTR]) 450 451if test "$WITH_ATTR" != no; then 452 have_xattr=no 453 454 # Linux getxattr 455 AC_CHECK_FUNC([getxattr], [ 456 AC_CHECK_HEADERS([sys/xattr.h], [ 457 AC_DEFINE([HAVE_XATTR], [1], [Linux extended attributes]) 458 AC_DEFINE([HAVE_SYS_XATTR_H], [1]) 459 have_xattr=yes 460 ]) 461 ]) 462 463 # (Free)BSD extattr 464 AC_CHECK_FUNC([extattr_get_file], [ 465 AC_CHECK_HEADERS([sys/extattr.h], [ 466 AC_DEFINE([HAVE_EXTATTR], [1], [BSD extended attributes]) 467 AC_DEFINE([HAVE_SYS_EXTATTR_H], [1]) 468 have_xattr=yes 469 ]) 470 ]) 471 472 # libattr (linux only?) 473 if test "$have_xattr" = no; then 474 AC_CHECK_LIB([attr], [attr_get], [ 475 AC_CHECK_HEADERS([attr/attributes.h], [ 476 ATTR_LIB=-lattr 477 AC_DEFINE([HAVE_XATTR], [1], [libattr]) 478 AC_DEFINE([HAVE_ATTR_ATTRIBUTES_H], [1]) 479 have_xattr=yes 480 ]) 481 ]) 482 fi 483 AC_SUBST([ATTR_LIB]) 484 485 if test "$have_xattr" = no; then 486 AC_MSG_ERROR([no backend found implementing extended attributes]) 487 fi 488fi 489 490dnl Check for valgrind 491AC_MSG_NOTICE([----------------------------------------]) 492AC_MSG_CHECKING([for valgrind]) 493AC_ARG_WITH([valgrind], 494 [AS_HELP_STRING([--with-valgrind], 495 [enable internal support for valgrind] 496 )], 497 [WITH_VALGRIND=$withval], 498 [WITH_VALGRIND=no] 499) 500AC_MSG_RESULT([$WITH_VALGRIND]) 501 502if test "$WITH_VALGRIND" != no; then 503 AC_CHECK_HEADERS([valgrind/valgrind.h], [], [ 504 AC_MSG_ERROR([valgrind headers not found. install them or build without --with-valgrind]) 505 ]) 506fi 507 508dnl Checking for libunwind 509AC_MSG_NOTICE([----------------------------------------]) 510AC_MSG_CHECKING([for libunwind]) 511AC_ARG_WITH([libunwind], 512 [AS_HELP_STRING([--with-libunwind], 513 [Include libunwind support for backtraces on assert failures] 514 )], 515 [WITH_LIBUNWIND=$withval], 516 [WITH_LIBUNWIND=no] 517) 518AC_MSG_RESULT([$WITH_LIBUNWIND]) 519 520if test "$WITH_LIBUNWIND" != no; then 521 PKG_CHECK_MODULES([LIBUNWIND], [libunwind], [], [ 522 AC_MSG_ERROR([libunwind not found. install it or build without --with-libunwind]) 523 ]) 524 AC_DEFINE([HAVE_LIBUNWIND], [1], [Have libunwind support]) 525fi 526 527dnl Checking for kerberos5 528AC_MSG_NOTICE([----------------------------------------]) 529AC_MSG_CHECKING([for kerberos5]) 530AC_ARG_WITH([krb5], 531 [AS_HELP_STRING([--with-krb5@<:@=DIR@:>@], [Use Kerberos 5])], 532 [WITH_KRB5=$withval], 533 [WITH_KRB5=no] 534) 535AC_MSG_RESULT([$WITH_KRB5]) 536 537if test "$WITH_KRB5" != no; then 538 if test "$WITH_KRB5" != yes; then 539 krb5_append_CPPFLAGS=" -I$WITH_KRB5/include" 540 krb5_append_LDFLAGS=" -L$WITH_KRB5/lib" 541 fi 542fi 543 544AC_MSG_CHECKING([custom include directory for kerberos5]) 545AC_ARG_WITH([krb5-includes], 546 [AS_HELP_STRING([--with-krb5-includes=DIR], [Kerberos includes])], 547 [ 548 if test "$WITH_KRB5" = no; then 549 AC_MSG_ERROR([build --with-krb5 to use --with-krb5-includes]) 550 fi 551 krb5_append_CPPFLAGS=" -I$withval" 552 AC_MSG_RESULT([$withval]) 553 ], 554 [AC_MSG_RESULT([no])] 555) 556 557AC_MSG_CHECKING([custom lib directory for kerberos5]) 558AC_ARG_WITH([krb5-libs], 559 [AS_HELP_STRING([--with-krb5-libs=DIR], [Kerberos libraries])], 560 [ 561 if test "$WITH_KRB5" = no; then 562 AC_MSG_ERROR([build --with-krb5 to use --with-krb5-libs]) 563 fi 564 krb5_append_LDFLAGS=" -L$withval" 565 AC_MSG_RESULT([$withval]) 566 ], 567 [AC_MSG_RESULT([no])] 568) 569 570if test "$WITH_KRB5" != no; then 571 CPPFLAGS="${CPPFLAGS}${krb5_append_CPPFLAGS}" 572 LDFLAGS="${LDFLAGS}${krb5_append_LDFLAGS}" 573 574 AC_CHECK_LIB([gssapi_krb5], [gss_acquire_cred], 575 [AC_CHECK_HEADERS([gssapi/gssapi_krb5.h], 576 [ 577 KRB5_LIB="-lkrb5 -lgssapi_krb5" 578 AC_DEFINE([HAVE_KRB5], [1], [libgssapi_krb5]) 579 ], 580 [AC_MSG_ERROR([gssapi_krb5 headers were not found, install them or build without --with-krb5])] 581 )], 582 [AC_MSG_ERROR([gssapi_krb5 libs were not found, install them or build without --with-krb5])] 583 ) 584 case "$host_os" in 585 *darwin*|*cygwin* ) KRB5_LIB="$KRB5_LIB -lcom_err" ;; 586 * ) ;; 587 esac 588fi 589 590AM_CONDITIONAL([BUILD_WITH_KRB5], [test "$WITH_KRB5" != no]) 591AC_SUBST([KRB5_LIB]) 592 593dnl Check for openssl 594AC_MSG_NOTICE([----------------------------------------]) 595AC_MSG_CHECKING([for OpenSSL]) 596AC_ARG_WITH([openssl], 597 [AS_HELP_STRING([--with-openssl@<:@=DIR@:>@], 598 [Include openssl support (default no)] 599 )], 600 [WITH_OPENSSL=$withval], 601 [WITH_OPENSSL=no] 602) 603AC_MSG_RESULT([$WITH_OPENSSL]) 604AM_CONDITIONAL([BUILD_WITH_OPENSSL], test ! "$WITH_OPENSSL" = no) 605 606if test "$WITH_OPENSSL" != no; then 607 if test "$WITH_OPENSSL" != yes; then 608 openssl_append_CPPFLAGS=" -I$WITH_OPENSSL/include" 609 openssl_append_LDFLAGS=" -L$WITH_OPENSSL/lib" 610 fi 611fi 612 613AC_MSG_CHECKING([custom include directory for openssl]) 614AC_ARG_WITH([openssl-includes], 615 [AS_HELP_STRING([--with-openssl-includes=DIR], [OpenSSL includes])], 616 [ 617 if test "$WITH_OPENSSL" = no; then 618 AC_MSG_ERROR([build --with-openssl to use --with-openssl-includes]) 619 fi 620 openssl_append_CPPFLAGS=" -I$withval" 621 AC_MSG_RESULT([$withval]) 622 ], 623 [AC_MSG_RESULT([no])] 624) 625 626AC_MSG_CHECKING([custom lib directory for openssl]) 627AC_ARG_WITH([openssl-libs], 628 [AS_HELP_STRING([--with-openssl-libs=DIR], [OpenSSL libraries])], 629 [ 630 if test "$WITH_OPENSSL" = no; then 631 AC_MSG_ERROR([build --with-openssl to use --with-openssl-libs]) 632 fi 633 openssl_append_LDFLAGS=" -L$withval" 634 AC_MSG_RESULT([$withval]) 635 ], 636 [AC_MSG_RESULT([no])] 637) 638 639if test "$WITH_OPENSSL" != no; then 640 if test "$WITH_KRB5" != no; then 641 AC_DEFINE([USE_OPENSSL_KERBEROS], [1], [with kerberos]) 642 fi 643 644 CPPFLAGS="${CPPFLAGS}${openssl_append_CPPFLAGS}" 645 LDFLAGS="${LDFLAGS}${openssl_append_LDFLAGS}" 646 647 AC_CHECK_HEADERS([openssl/ssl.h], [], [ 648 AC_MSG_ERROR([openssl headers not found. install them or build without --with-openssl]) 649 ]) 650 AC_CHECK_LIB([crypto], [RAND_bytes], 651 [CRYPTO_LIB="-lcrypto"], 652 [AC_MSG_ERROR([openssl crypto library not found. install it or build without --with-openssl])] 653 ) 654 AC_CHECK_LIB([ssl], [SSL_new], 655 [OPENSSL_LIBS="${openssl_append_LDFLAGS} -lssl -lcrypto"], 656 [AC_MSG_ERROR([openssl ssl library not found. install it or build without --with-openssl])], 657 [ -lcrypto "$DL_LIB" ] 658 ) 659 660 AC_DEFINE([HAVE_LIBSSL], [1], [Have libssl]) 661 OPENSSL_CFLAGS="${openssl_append_CPPFLAGS}" 662 AC_SUBST([OPENSSL_CFLAGS]) 663 AC_SUBST([OPENSSL_LIBS]) 664 AC_SUBST([CRYPTO_LIB]) 665fi 666 667dnl Check for wolfSSL 668AC_MSG_NOTICE([----------------------------------------]) 669AC_MSG_CHECKING([for wolfSSL]) 670AC_ARG_WITH([wolfssl], 671 [AS_HELP_STRING([--with-wolfssl@<:@=DIR@:>@], 672 [Include wolfSSL support (default no)] 673 )], 674 [WITH_WOLFSSL=$withval], 675 [WITH_WOLFSSL=no] 676) 677AC_MSG_RESULT([$WITH_WOLFSSL]) 678AM_CONDITIONAL([BUILD_WITH_WOLFSSL], test ! "$WITH_WOLFSSL" = no) 679 680if test "$WITH_WOLFSSL" != no; then 681 CPPFLAGS_SAVE="${CPPFLAGS}" 682 LDFLAGS_SAVE="${LDFLAGS}" 683 if test "$WITH_WOLFSSL" != yes; then 684 WOLFSSL_CFLAGS="-I$WITH_WOLFSSL/include -I$WITH_WOLFSSL/include/wolfssl" 685 WOLFSSL_LIBS="-L$WITH_WOLFSSL/lib -lwolfssl" 686 LDFLAGS="${LDFLAGS} -L$WITH_WOLFSSL/lib" 687 else 688 PKG_CHECK_MODULES([WOLFSSL], [wolfssl], [], [ 689 AC_MSG_ERROR([wolfssl not found, install it or build without --with-wolfssl]) 690 ]) 691 if test "$WOLFSSL_LIBS" != "-lwolfssl"; then 692 LDFLAGS="${LDFLAGS} ${WOLFSSL_LIBS% -lwolfssl}" 693 fi 694 fi 695 696 CPPFLAGS="${CPPFLAGS} $WOLFSSL_CFLAGS" 697 AC_CHECK_HEADERS([wolfssl/ssl.h], [], [ 698 AC_MSG_ERROR([wolfssl headers not found. install them or build without --with-wolfssl]) 699 ]) 700 AC_CHECK_LIB([wolfssl], [wolfSSL_Init], 701 [WOLFSSL_CRYPTO_LIB="-lwolfssl"], 702 [AC_MSG_ERROR([wolfssl crypto library not found. install it or build without --with-wolfssl])] 703 ) 704 AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 705 #include <wolfssl/options.h> 706 #if !defined(HAVE_LIGHTY) && !defined(OPENSSL_EXTRA) 707 #error HAVE_LIGHTY macro not defined 708 #endif 709 ]])], [], [AC_MSG_ERROR([wolfssl must be built with ./configure --enable-lighty])]) 710 711 AC_SUBST([WOLFSSL_CFLAGS]) 712 AC_SUBST([WOLFSSL_LIBS]) 713 if test "$WITH_OPENSSL" = no; then 714 CRYPTO_LIB="$WOLFSSL_CRYPTO_LIB" 715 AC_SUBST([CRYPTO_LIB]) 716 else 717 CPPFLAGS="${CPPFLAGS_SAVE}" 718 LDFLAGS="${LDFLAGS_SAVE}" 719 fi 720fi 721 722dnl Check for mbedTLS 723AC_MSG_NOTICE([----------------------------------------]) 724AC_MSG_CHECKING([for mbedTLS]) 725AC_ARG_WITH([mbedtls], 726 AS_HELP_STRING([--with-mbedtls@<:@=DIR@:>@],[Include mbedTLS support. DIR points to the installation root. (default no)]), 727 [WITH_MBEDTLS=$withval], 728 [WITH_MBEDTLS=no] 729) 730 731if test "$WITH_MBEDTLS" != "no"; then 732 use_mbedtls=yes 733 if test "$WITH_MBEDTLS" != "yes"; then 734 CPPFLAGS="$CPPFLAGS -I$WITH_MBEDTLS/include" 735 LDFLAGS="$LDFLAGS -L$WITH_MBEDTLS/lib" 736 fi 737else 738 use_mbedtls=no 739fi 740AC_MSG_RESULT([$use_mbedtls]) 741AM_CONDITIONAL(BUILD_WITH_MBEDTLS, test ! $WITH_MBEDTLS = no) 742 743if test "x$use_mbedtls" = "xyes"; then 744 AC_CHECK_HEADERS([mbedtls/ssl.h]) 745 OLDLIBS="$LIBS" 746 AC_CHECK_LIB(mbedcrypto, mbedtls_base64_encode, 747 [AC_CHECK_LIB(mbedx509, mbedtls_x509_get_name, 748 [AC_CHECK_LIB(mbedtls, mbedtls_ssl_init, 749 [MTLS_LIBS="-lmbedtls -lmbedx509 -lmbedcrypto" 750 CRYPTO_LIB="-lmbedcrypto" 751 AC_DEFINE(HAVE_LIBMBEDTLS, [1], [Have libmbedtls library]) 752 AC_DEFINE(HAVE_LIBMBEDX509, [1], [Have libmbedx509 library]) 753 AC_DEFINE(HAVE_LIBMBEDCRYPTO, [1], [Have libmbedcrypto library]) ], 754 [],[-lmbedcrypto "$DL_LIB"]) 755 ],[],[-lmbedcrypto "$DL_LIB"]) 756 ],[],[]) 757 LIBS="$OLDLIBS" 758 AC_SUBST(MTLS_LIBS) 759 AC_SUBST(CRYPTO_LIB) 760fi 761 762dnl Check for Nettle (and overwrite CRYPTO_LIB if set by OpenSSL or wolfSSL) 763AC_MSG_NOTICE([----------------------------------------]) 764AC_MSG_CHECKING([for Nettle]) 765AC_ARG_WITH([nettle], 766 [AS_HELP_STRING([--with-nettle@<:@=DIR@:>@], 767 [Include Nettle support (default no)] 768 )], 769 [WITH_NETTLE=$withval], 770 [WITH_NETTLE=no] 771) 772AC_MSG_RESULT([$WITH_NETTLE]) 773 774if test "$WITH_NETTLE" != no; then 775 if test "$WITH_NETTLE" != yes; then 776 CPPFLAGS="${CPPFLAGS} -I$WITH_NETTLE/include" 777 LDFLAGS="${LDFLAGS} -L$WITH_NETTLE/lib" 778 fi 779 780 AC_CHECK_HEADERS([nettle/nettle-types.h], [], [ 781 AC_MSG_ERROR([nettle headers not found. install them or build without --with-nettle]) 782 ]) 783 AC_CHECK_LIB([nettle], [nettle_md5_init], 784 [CRYPTO_LIB="-lnettle"], 785 [AC_MSG_ERROR([nettle crypto library not found. install it or build without --with-nettle])] 786 ) 787 788 AC_SUBST([CRYPTO_LIB]) 789fi 790 791dnl Check for GnuTLS 792AC_MSG_NOTICE([----------------------------------------]) 793AC_MSG_CHECKING([for GnuTLS]) 794AC_ARG_WITH([gnutls], 795 AS_HELP_STRING([--with-gnutls@<:@=DIR@:>@],[Include GnuTLS support. DIR points to the installation root. (default no)]), 796 [WITH_GNUTLS=$withval], 797 [WITH_GNUTLS=no] 798) 799 800if test "$WITH_GNUTLS" != "no"; then 801 use_gnutls=yes 802else 803 use_gnutls=no 804fi 805AC_MSG_RESULT([$use_gnutls]) 806AM_CONDITIONAL(BUILD_WITH_GNUTLS, test ! $WITH_GNUTLS = no) 807 808GNUTLS_CFLAGS= 809GNUTLS_LIBS= 810 811if test "x$use_gnutls" = "xyes"; then 812 if test "$WITH_GNUTLS" != "yes"; then 813 GNUTLS_CFLAGS="-I$WITH_GNUTLS/include" 814 GNUTLS_LIBS="-L$WITH_GNUTLS/lib -lgnutls" 815 else 816 dnl oldest GnuTLS supported release is 3.3.x at time this is being written 817 PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.3.0]) 818 fi 819 AC_SUBST([GNUTLS_CFLAGS]) 820 AC_SUBST([GNUTLS_LIBS]) 821 AC_DEFINE([HAVE_GNUTLS_CRYPTO_H], [1], [gnutls/crypto.h]) 822 if test "$WITH_OPENSSL" = no && test "$WITH_WOLFSSL" = no && \ 823 test "$WITH_MBEDTLS" = no && test "$WITH_NETTLE" = no; then 824 AC_SUBST([CRYPTO_LIB],[$GNUTLS_LIBS]) 825 fi 826fi 827 828dnl Check for NSS 829AC_MSG_NOTICE([----------------------------------------]) 830AC_MSG_CHECKING([for NSS]) 831AC_ARG_WITH([nss], 832 AS_HELP_STRING([--with-nss@<:@=DIR@:>@],[Include NSS support. DIR points to the installation root. (default no)]), 833 [WITH_NSS=$withval], 834 [WITH_NSS=no] 835) 836 837if test "$WITH_NSS" != "no"; then 838 use_nss=yes 839else 840 use_nss=no 841fi 842AC_MSG_RESULT([$use_nss]) 843AM_CONDITIONAL(BUILD_WITH_NSS, test ! $WITH_NSS = no) 844 845NSS_CFLAGS= 846NSS_LIBS= 847 848if test "x$use_nss" = "xyes"; then 849 if test "$WITH_NSS" != "yes"; then 850 NSS_CFLAGS="-I$WITH_NSS/include" 851 NSS_LIBS="-L$WITH_NSS/lib -lnss3" 852 else 853 PKG_CHECK_MODULES([NSS],[nss]) 854 if test "x$CRYPTO_LIB" = "x"; then 855 PKG_CHECK_MODULES([NSPR],[nspr]) 856 CPPFLAGS="$CPPFLAGS $NSPR_CFLAGS" 857 fi 858 fi 859 AC_DEFINE([HAVE_NSS_NSS_H], [1], [nss/nss.h]) 860 AC_DEFINE([HAVE_NSS3_NSS_H], [1], [nss3/nss.h]) 861 AC_SUBST([NSS_CFLAGS]) 862 AC_SUBST([NSS_LIBS]) 863 if test "x$CRYPTO_LIB" = "x"; then 864 CRYPTO_LIB="-lnss3" 865 AC_SUBST([CRYPTO_LIB]) 866 fi 867fi 868 869 870dnl pcre support 871AC_MSG_NOTICE([----------------------------------------]) 872AC_MSG_CHECKING([for perl regular expressions support]) 873AC_ARG_WITH([pcre], 874 [AS_HELP_STRING([--with-pcre], [Enable pcre support (default no)])], 875 [WITH_PCRE=$withval], 876 [WITH_PCRE=no] 877) 878AC_MSG_RESULT([$WITH_PCRE]) 879 880dnl pcre2 support 881AC_MSG_NOTICE([----------------------------------------]) 882AC_MSG_CHECKING([for perl regular expressions support]) 883AC_ARG_WITH([pcre2], 884 [AS_HELP_STRING([--with-pcre2], [Enable pcre2 support (default yes)])], 885 [WITH_PCRE2=$withval], 886 [WITH_PCRE2=yes] 887) 888AC_MSG_RESULT([$WITH_PCRE2]) 889 890if test "$WITH_PCRE2" != no && test "$WITH_PCRE" = "no"; then 891 if test "$WITH_PCRE2" != yes; then 892 PCRE_LIB="-L$WITH_PCRE2/lib -lpcre2-8" 893 CPPFLAGS="$CPPFLAGS -I$WITH_PCRE2/include" 894 else 895 PKG_CHECK_MODULES([PCRE2],[libpcre2-8],[ 896 PCRE_LIB="$PCRE2_LIBS" 897 CPPFLAGS="$CPPFLAGS $PCRE2_CFLAGS" 898 ],[ 899 AC_PATH_PROG([PCRE2CONFIG], [pcre2-config]) 900 if test -n "$PCRE2CONFIG"; then 901 PCRE_LIB=`"$PCRE2CONFIG" --libs8` 902 CPPFLAGS="$CPPFLAGS `"$PCRE2CONFIG" --cflags`" 903 fi 904 ]) 905 fi 906 907 if test -z "$PCRE_LIB"; then 908 AC_MSG_ERROR([pcre2-config not found, install the pcre2-devel package or build with --without-pcre2]) 909 fi 910 911 AC_DEFINE([HAVE_PCRE], [1], [libpcre2-8]) 912 AC_DEFINE([HAVE_PCRE2_H], [1], [pcre.h]) 913 AC_SUBST([PCRE_LIB]) 914fi 915 916if test "$WITH_PCRE" != no; then 917 if test "$WITH_PCRE" != yes; then 918 PCRE_LIB="-L$WITH_PCRE/lib -lpcre" 919 CPPFLAGS="$CPPFLAGS -I$WITH_PCRE/include" 920 else 921 AC_PATH_PROG([PCRECONFIG], [pcre-config]) 922 if test -n "$PCRECONFIG"; then 923 PCRE_LIB=`"$PCRECONFIG" --libs` 924 CPPFLAGS="$CPPFLAGS `"$PCRECONFIG" --cflags`" 925 fi 926 fi 927 928 if test -z "$PCRE_LIB"; then 929 AC_MSG_ERROR([pcre-config not found, install the pcre-devel package or build with --without-pcre]) 930 fi 931 932 AC_DEFINE([HAVE_PCRE], [1], [libpcre]) 933 AC_DEFINE([HAVE_PCRE_H], [1], [pcre.h]) 934 AC_SUBST([PCRE_LIB]) 935fi 936 937 938dnl zlib 939AC_MSG_NOTICE([----------------------------------------]) 940AC_MSG_CHECKING([for zlib support]) 941AC_ARG_WITH([zlib], 942 [AS_HELP_STRING([--with-zlib], 943 [Enable zlib support for mod_deflate] 944 )], 945 [WITH_ZLIB=$withval], 946 [WITH_ZLIB=yes] 947) 948AC_MSG_RESULT([$WITH_ZLIB]) 949 950if test "$WITH_ZLIB" != no; then 951 if test "$WITH_ZLIB" != yes; then 952 Z_LIB="-L$WITH_ZLIB -lz" 953 CPPFLAGS="$CPPFLAGS -I$WITH_ZLIB" 954 else 955 AC_CHECK_HEADERS([zlib.h], [], 956 [AC_MSG_ERROR([zlib headers not found, install them or build without --with-zlib])] 957 ) 958 AC_CHECK_LIB([z], [deflate], 959 [Z_LIB=-lz], 960 [AC_MSG_ERROR([zlib library not found, install it or build without --with-zlib])] 961 ) 962 fi 963 964 AC_DEFINE([HAVE_LIBZ], [1], [libz]) 965 AC_DEFINE([HAVE_ZLIB_H], [1]) 966 AC_SUBST([Z_LIB]) 967fi 968 969dnl zstd 970AC_MSG_NOTICE([----------------------------------------]) 971AC_MSG_CHECKING([for zstd support]) 972AC_ARG_WITH([zstd], 973 [AS_HELP_STRING([--with-zstd], 974 [Enable zstd support for mod_deflate] 975 )], 976 [WITH_ZSTD=$withval], 977 [WITH_ZSTD=no] 978) 979AC_MSG_RESULT([$WITH_ZSTD]) 980 981if test "$WITH_ZSTD" != no; then 982 if test "$WITH_ZSTD" != yes; then 983 ZSTD_LIB="-L$WITH_ZSTD -lzstd" 984 CPPFLAGS="$CPPFLAGS -I$WITH_ZSTD" 985 else 986 AC_CHECK_HEADERS([zstd.h], [], 987 [AC_MSG_ERROR([zstd headers not found, install them or build without --with-zstd])] 988 ) 989 AC_CHECK_LIB([zstd], [ZSTD_versionNumber], 990 [ZSTD_LIB=-lzstd], 991 [AC_MSG_ERROR([zstd library not found, install it or build without --with-zstd])] 992 ) 993 fi 994 995 AC_DEFINE([HAVE_ZSTD], [1], [libzstd]) 996 AC_DEFINE([HAVE_ZSTD_H], [1]) 997 AC_SUBST([ZSTD_LIB]) 998fi 999 1000dnl bzip2 1001AC_MSG_NOTICE([----------------------------------------]) 1002AC_MSG_CHECKING([for bzip2 support]) 1003AC_ARG_WITH([bzip2], 1004 [AS_HELP_STRING([--with-bzip2], 1005 [Enable bzip2 support for mod_deflate] 1006 )], 1007 [WITH_BZIP2=$withval], 1008 [WITH_BZIP2=no] 1009) 1010AC_MSG_RESULT([$WITH_BZIP2]) 1011 1012if test "$WITH_BZIP2" != no; then 1013 if test "$WITH_BZIP2" != yes; then 1014 BZ_LIB="-L$WITH_BZIP2 -lbz2" 1015 CPPFLAGS="$CPPFLAGS -I$WITH_BZIP2" 1016 else 1017 AC_CHECK_HEADERS([bzlib.h], [], [ 1018 AC_MSG_ERROR([bzip2 headers not found, install them or build without --with-bzip2]) 1019 ]) 1020 AC_CHECK_LIB([bz2], [BZ2_bzCompress], 1021 [BZ_LIB=-lbz2], 1022 [AC_MSG_ERROR([bzip2 library not found, install it or build without --with-bzip2])] 1023 ) 1024 fi 1025 1026 AC_DEFINE([HAVE_LIBBZ2], [1], [libbz2]) 1027 AC_DEFINE([HAVE_BZLIB_H], [1]) 1028 AC_SUBST([BZ_LIB]) 1029fi 1030 1031dnl brotli 1032AC_MSG_NOTICE([----------------------------------------]) 1033AC_MSG_CHECKING([for brotli support]) 1034AC_ARG_WITH([brotli], 1035 [AS_HELP_STRING([--with-brotli], 1036 [Enable brotli support for mod_deflate] 1037 )], 1038 [WITH_BROTLI=$withval], 1039 [WITH_BROTLI=no] 1040) 1041AC_MSG_RESULT([$WITH_BROTLI]) 1042 1043if test "$WITH_BROTLI" != no; then 1044 if test "$WITH_BROTLI" != yes; then 1045 BROTLI_LIBS="-L$WITH_BROTLI -lbrotlienc" 1046 CPPFLAGS="$CPPFLAGS -I$WITH_BROTLI" 1047 else 1048 PKG_CHECK_MODULES([BROTLI], [libbrotlienc], [], [ 1049 AC_MSG_ERROR([brotli not found, install it or build without --with-brotli]) 1050 ]) 1051 fi 1052 1053 AC_DEFINE([HAVE_BROTLI_ENCODE_H], [1], [brotli/encode.h]) 1054 AC_DEFINE([HAVE_BROTLI], [1], [libbrotlienc]) 1055 AC_SUBST([BROTLI_CFLAGS]) 1056 AC_SUBST([BROTLI_LIBS]) 1057fi 1058 1059dnl libdeflate 1060AC_MSG_NOTICE([----------------------------------------]) 1061AC_MSG_CHECKING([for libdeflate support]) 1062AC_ARG_WITH([libdeflate], 1063 [AS_HELP_STRING([--with-libdeflate], 1064 [Enable libdeflate support for mod_deflate] 1065 )], 1066 [WITH_LIBDEFLATE=$withval], 1067 [WITH_LIBDEFLATE=no] 1068) 1069AC_MSG_RESULT([$WITH_LIBDEFLATE]) 1070 1071if test "$WITH_LIBDEFLATE" != no; then 1072 if test "$WITH_LIBDEFLATE" != yes; then 1073 DEFLATE_LIBS="-L$WITH_LIBDEFLATE -ldeflate" 1074 CPPFLAGS="$CPPFLAGS -I$WITH_LIBDEFLATE" 1075 else 1076 AC_CHECK_HEADERS([libdeflate.h], [], 1077 [AC_MSG_ERROR([libdeflate header not found, install them or build without --with-libdeflate])] 1078 ) 1079 AC_CHECK_LIB([deflate], [libdeflate_alloc_compressor], 1080 [DEFLATE_LIBS=-ldeflate], 1081 [AC_MSG_ERROR([libdeflate library not found, install it or build without --with-libdeflate])] 1082 ) 1083 fi 1084 1085 AC_DEFINE([HAVE_LIBDEFLATE], [1], [libdeflate]) 1086 AC_SUBST([DEFLATE_LIBS]) 1087fi 1088 1089dnl Check for fam/gamin 1090AC_MSG_NOTICE([----------------------------------------]) 1091AC_MSG_CHECKING([for FAM]) 1092AC_ARG_WITH([fam], 1093 [AS_HELP_STRING([--with-fam], 1094 [fam/gamin for reducing number of stat() calls] 1095 )], 1096 [WITH_FAM=$withval], 1097 [WITH_FAM=no] 1098) 1099AC_MSG_RESULT([$WITH_FAM]) 1100 1101dnl "$ac_cv_func_kqueue" is set further below 1102case "$host_os" in 1103*bsd*|*darwin* ) WITH_FAM=no ;; 1104* ) ;; 1105esac 1106 1107if test "$ac_cv_header_sys_inotify_h" != no; then 1108 WITH_FAM=no 1109fi 1110 1111if test "$WITH_FAM" != no; then 1112 if test "$WITH_FAM" != yes; then 1113 FAM_LIBS="-L$WITH_FAM -lfam" 1114 CPPFLAGS="$CPPFLAGS -I$WITH_FAM" 1115 else 1116 AC_CHECK_LIB([fam], [FAMOpen2], [ 1117 AC_CHECK_HEADERS([fam.h], [FAM_LIBS=-lfam]) 1118 ]) 1119 dnl fam has no pkg-config so far, so just search for gamin as fallback 1120 if test -z "$FAM_LIBS"; then 1121 PKG_CHECK_MODULES([FAM], [gamin >= 0.1.0]) 1122 fi 1123 fi 1124 1125 if test -z "$FAM_LIBS"; then 1126 AC_MSG_ERROR([fam/gamin headers and/or libs were not found, install them or build without --with-fam]) 1127 fi 1128 1129 OLD_LIBS=$LIBS 1130 LIBS=$FAM_LIBS 1131 AC_CHECK_FUNCS([FAMNoExists]) 1132 LIBS=$OLD_LIBS 1133 1134 AC_DEFINE([HAVE_LIBFAM], [1], [libfam]) 1135 AC_DEFINE([HAVE_FAM_H], [1], [fam.h]) 1136 AC_SUBST([FAM_LIBS]) 1137fi 1138 1139 1140dnl webdav props (xml2 and sqlite3) 1141AC_MSG_NOTICE([----------------------------------------]) 1142AC_MSG_CHECKING([for properties in mod_webdav]) 1143AC_ARG_WITH([webdav-props], 1144 [AS_HELP_STRING([--with-webdav-props], [properties in mod_webdav])], 1145 [WITH_WEBDAV_PROPS=$withval], 1146 [WITH_WEBDAV_PROPS=no] 1147) 1148AC_MSG_RESULT([$WITH_WEBDAV_PROPS]) 1149 1150if test "$WITH_WEBDAV_PROPS" != no; then 1151 AC_MSG_CHECKING([for libxml2]) 1152 AC_ARG_WITH([libxml], 1153 [AS_HELP_STRING([--with-libxml], 1154 [libxml2 for properties in mod_webdav] 1155 )], 1156 [WITH_LIBXML=$withval], 1157 [WITH_LIBXML=yes] 1158 ) 1159 AC_MSG_RESULT([$WITH_LIBXML]) 1160 1161 if test "$WITH_LIBXML" = no; then 1162 AC_MSG_ERROR([--with-webdav-props requires libxml]) 1163 fi 1164 1165 if test "$WITH_LIBXML" != yes; then 1166 XML_LIBS="-L$WITH_LIBXML/.libs -lxml2" 1167 XML_CFLAGS="-I$WITH_LIBXML/include" 1168 else 1169 PKG_CHECK_MODULES([XML], [libxml-2.0], [], [ 1170 AC_MSG_ERROR([libxml2 not found, install it or build without --with-webdav-props]) 1171 ]) 1172 fi 1173 1174 AC_DEFINE([HAVE_LIBXML2], [1], [libxml2]) 1175 AC_DEFINE([HAVE_LIBXML_H], [1], [libxml.h]) 1176 AC_SUBST([XML_LIBS]) 1177 AC_SUBST([XML_CFLAGS]) 1178 1179 AC_MSG_CHECKING([for sqlite]) 1180 AC_ARG_WITH([sqlite], 1181 [AS_HELP_STRING([--with-sqlite], 1182 [sqlite for properties in mod_webdav] 1183 )], 1184 [WITH_SQLITE=$withval], 1185 [WITH_SQLITE=yes] 1186 ) 1187 AC_MSG_RESULT([$WITH_SQLITE]) 1188 1189 if test "$WITH_SQLITE" = no; then 1190 AC_MSG_ERROR([--with-webdav-props requires sqlite]) 1191 fi 1192 1193 if test "$WITH_SQLITE" != yes; then 1194 SQLITE_LIBS="-L$WITH_SQLITE/.libs -lsqlite3" 1195 SQLITE_CFLAGS="-I$WITH_SQLITE" 1196 else 1197 PKG_CHECK_MODULES([SQLITE], [sqlite3], [], [ 1198 AC_MSG_ERROR([sqlite3 not found, install it or build without --with-webdav-props]) 1199 ]) 1200 fi 1201 1202 AC_DEFINE([HAVE_SQLITE3], [1], [libsqlite3]) 1203 AC_DEFINE([HAVE_SQLITE3_H], [1], [sqlite3.h]) 1204 AC_SUBST([SQLITE_LIBS]) 1205 AC_SUBST([SQLITE_CFLAGS]) 1206fi 1207 1208 1209dnl webdav locks (uuid) 1210AC_MSG_NOTICE([----------------------------------------]) 1211AC_MSG_CHECKING([for locks in mod_webdav]) 1212AC_ARG_WITH([webdav-locks], 1213 [AS_HELP_STRING([--with-webdav-locks], 1214 [locks in mod_webdav (requires webdav properties)] 1215 )], 1216 [WITH_WEBDAV_LOCKS=$withval], 1217 [WITH_WEBDAV_LOCKS=no] 1218) 1219AC_MSG_RESULT([$WITH_WEBDAV_LOCKS]) 1220 1221if test "$WITH_WEBDAV_LOCKS" != no; then 1222 if test "$WITH_WEBDAV_PROPS" = no; then 1223 AC_MSG_ERROR([--with-webdav-locks requires --with-webdav-props]) 1224 fi 1225 1226 AC_MSG_CHECKING([for libuuid]) 1227 AC_ARG_WITH([uuid], 1228 [AS_HELP_STRING([--with-uuid], [uuid for locks in mod_webdav])], 1229 [WITH_UUID=$withval], 1230 [WITH_UUID=yes] 1231 ) 1232 AC_MSG_RESULT([$WITH_UUID]) 1233 1234 if test "$WITH_UUID" = no; then 1235 AC_MSG_ERROR([--with-webdav-locks requires uuid]) 1236 fi 1237 1238 if test "$WITH_UUID" != yes; then 1239 UUID_LIBS="-L$WITH_UUID -luuid" 1240 CPPFLAGS="$CPPFLAGS -I$WITH_UUID" 1241 else 1242 AC_CHECK_LIB([uuid], [uuid_unparse], 1243 [UUID_LIBS=-luuid], 1244 [AC_MSG_ERROR([uuid lib not found, install it or build without --with-webdav-locks])] 1245 ) 1246 AC_CHECK_HEADERS([uuid/uuid.h], [], 1247 [AC_MSG_ERROR([uuid headers not found, install them or build without --with-webdav-locks])] 1248 ) 1249 fi 1250 1251 AC_DEFINE([HAVE_LIBUUID], [1], [libuuid]) 1252 AC_DEFINE([HAVE_UUID_UUID_H], [1], [uuid/uuid.h is available]) 1253 AC_SUBST([UUID_LIBS]) 1254fi 1255 1256dnl xxhash 1257AC_MSG_NOTICE([----------------------------------------]) 1258AC_MSG_CHECKING([for xxhash support]) 1259AC_ARG_WITH([xxhash], 1260 [AS_HELP_STRING([--with-xxhash], 1261 [Enable system-provided xxhash] 1262 )], 1263 [WITH_XXHASH=$withval], 1264 [WITH_XXHASH=no] 1265) 1266AC_MSG_RESULT([$WITH_XXHASH]) 1267 1268if test "$WITH_XXHASH" != no; then 1269 if test "$WITH_XXHASH" != yes; then 1270 XXHASH_LIBS="-L$WITH_XXHASH -lxxhash" 1271 CPPFLAGS="$CPPFLAGS -I$WITH_XXHASH" 1272 else 1273 PKG_CHECK_MODULES([XXHASH], [libxxhash], [], [ 1274 AC_CHECK_LIB([xxhash], [XXH_versionNumber], 1275 [XXHASH_LIBS=-lxxhash], 1276 [AC_MSG_ERROR([xxhash not found, install it or build without --with-xxhash])] 1277 ) 1278 AC_CHECK_HEADERS([xxhash.h], [], 1279 [AC_MSG_ERROR([xxhash not found, install it or build without --with-xxhash])] 1280 ) 1281 ]) 1282 fi 1283 1284 AC_DEFINE([HAVE_XXHASH_H], [1], [xxhash.h]) 1285 AC_DEFINE([HAVE_XXHASH], [1], [xxhash]) 1286 AC_SUBST([XXHASH_CFLAGS]) 1287 AC_SUBST([XXHASH_LIBS]) 1288fi 1289 1290dnl Check for maxminddb 1291AC_MSG_NOTICE([----------------------------------------]) 1292AC_MSG_CHECKING([for maxminddb]) 1293AC_ARG_WITH([maxminddb], 1294 [AS_HELP_STRING([--with-maxminddb], [IP-based geolocation lookup])], 1295 [WITH_MAXMINDDB=$withval], 1296 [WITH_MAXMINDDB=no] 1297) 1298AC_MSG_RESULT([$WITH_MAXMINDDB]) 1299 1300if test "$WITH_MAXMINDDB" != no; then 1301 if test "$WITH_MAXMINDDB" != yes; then 1302 MAXMINDDB_LIB="-L$WITH_MAXMINDDB -lmaxminddb" 1303 CPPFLAGS="$CPPFLAGS -I$WITH_MAXMINDDB" 1304 else 1305 AC_CHECK_LIB([maxminddb], [MMDB_open], 1306 [MAXMINDDB_LIB=-lmaxminddb], 1307 [AC_MSG_ERROR([maxminddb lib not found, install it or build without --with-maxminddb])] 1308 ) 1309 AC_CHECK_HEADERS([maxminddb.h], [], 1310 [AC_MSG_ERROR([maxminddb headers not found, install them or build without --with-maxminddb])] 1311 ) 1312 fi 1313 1314 AC_DEFINE([HAVE_MAXMINDDB], [1], [libmaxminddb]) 1315 AC_DEFINE([HAVE_MAXMINDDB_H], [1]) 1316 AC_SUBST([MAXMINDDB_LIB]) 1317fi 1318AM_CONDITIONAL([BUILD_WITH_MAXMINDDB], [test "$WITH_MAXMINDDB" != no]) 1319 1320dnl Check for lua 1321AC_MSG_NOTICE([----------------------------------------]) 1322AC_MSG_CHECKING([if lua-support is requested]) 1323AC_ARG_WITH([lua], 1324 [AS_HELP_STRING([--with-lua], [lua engine for mod_magnet])], 1325 [WITH_LUA=$withval], 1326 [WITH_LUA=no] 1327) 1328AC_MSG_RESULT([$WITH_LUA]) 1329 1330if test "$WITH_LUA" != no; then 1331 found_lua=0 1332 if test "$WITH_LUA" != yes; then 1333 PKG_CHECK_MODULES([LUA], [$WITH_LUA >= 5.1], 1334 [found_lua=1], 1335 [AC_MSG_NOTICE([Couldn\'t find requested lua pkg-config module $WITH_LUA])] 1336 ) 1337 if test "$found_lua" = "0"; then 1338 LUA_LIBS="-L$WITH_LUA -llua" 1339 LUA_CFLAGS="-I$WITH_LUA" 1340 fi 1341 else 1342 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 1343 if test "$found_lua" = "0"; then 1344 PKG_CHECK_MODULES([LUA], [$luaname >= 5.1], 1345 [found_lua=1], 1346 [AC_MSG_NOTICE([Couldn\'t find $luaname])] 1347 ) 1348 fi 1349 done 1350 if test "$found_lua" = "0"; then 1351 AC_MSG_ERROR([Couldn\'t find any lua pkg-config module]) 1352 fi 1353 fi 1354 1355 AC_DEFINE([HAVE_LUA_H], [1], [lua.h]) 1356 AC_SUBST([LUA_LIBS]) 1357 AC_SUBST([LUA_CFLAGS]) 1358fi 1359AM_CONDITIONAL([BUILD_WITH_LUA], [test "$WITH_LUA" != no]) 1360 1361dnl "--with-FEATURE" blocks end 1362AC_MSG_NOTICE([----------------------------------------]) 1363 1364dnl search for crypt_r and (fallback) for crypt 1365save_LIBS=$LIBS 1366LIBS= 1367found_crypt=no 1368AC_SEARCH_LIBS([crypt_r], [crypt], 1369 [ 1370 AC_DEFINE([HAVE_CRYPT_R], [1], [crypt_r]) 1371 AC_CHECK_HEADERS([crypt.h]) 1372 CRYPT_LIB=$LIBS 1373 found_crypt=crypt_r 1374 ], 1375 [AC_SEARCH_LIBS([crypt], [crypt], [ 1376 AC_DEFINE([HAVE_CRYPT], [1], [crypt]) 1377 AC_CHECK_HEADERS([crypt.h]) 1378 CRYPT_LIB=$LIBS 1379 found_crypt=crypt 1380 ])] 1381) 1382LIBS=$save_LIBS 1383AC_SUBST([CRYPT_LIB]) 1384 1385AC_MSG_CHECKING([crypt_r/crypt support]) 1386AC_MSG_RESULT([$found_crypt]) 1387 1388dnl check whether sendfilev needs -lsendfile 1389case "$host_os" in 1390*sunos*|*solaris* ) 1391AC_MSG_NOTICE([----------------------------------------]) 1392save_LIBS=$LIBS 1393LIBS= 1394have_sendfilev=no 1395AC_SEARCH_LIBS([sendfilev], [sendfile], [ 1396 if test -z "$LIBS"; then 1397 have_sendfilev=yes 1398 else 1399 have_sendfilev=$LIBS 1400 fi 1401 SENDFILE_LIB=$LIBS 1402 AC_DEFINE([HAVE_SENDFILEV], [1], [solaris sendfilev]) 1403]) 1404LIBS=$save_LIBS 1405AC_SUBST([SENDFILE_LIB]) 1406 1407AC_MSG_CHECKING([solaris sendfilev present]) 1408AC_MSG_RESULT([$have_sendfilev]) 1409 ;; 1410* ) ;; 1411esac 1412 1413AC_MSG_NOTICE([----------------------------------------]) 1414 1415case "$host_os" in 1416*mingw* ) LIBS="$LIBS -lwsock32" ;; 1417* ) ;; 1418esac 1419 1420AC_CHECK_FUNCS([\ 1421 arc4random_buf \ 1422 chroot \ 1423 clock_gettime \ 1424 copy_file_range \ 1425 explicit_bzero \ 1426 explicit_memset \ 1427 fork \ 1428 getloadavg \ 1429 getuid \ 1430 gmtime_r \ 1431 inet_aton \ 1432 inet_pton \ 1433 issetugid \ 1434 jrand48 \ 1435 localtime_r \ 1436 lstat \ 1437 madvise \ 1438 mempcpy \ 1439 memset_s \ 1440 mkostemp \ 1441 pipe2 \ 1442 poll \ 1443 pread \ 1444 pwrite \ 1445 sendfile \ 1446 sendfile64 \ 1447 splice \ 1448 srandom \ 1449 strerror_r \ 1450 timegm \ 1451]) 1452AC_CHECK_HEADERS([linux/random.h], [AC_CHECK_FUNCS([getrandom])]) 1453AC_CHECK_HEADERS([malloc.h], [AC_CHECK_FUNCS([malloc_trim mallopt])]) 1454AC_CHECK_HEADERS([signal.h], [AC_CHECK_FUNCS([signal sigaction])]) 1455AC_CHECK_HEADERS([sys/epoll.h], [AC_CHECK_FUNCS([epoll_ctl])]) 1456AC_CHECK_HEADERS([sys/event.h], [AC_CHECK_FUNCS([kqueue])]) 1457AC_CHECK_HEADERS([sys/mman.h], [AC_CHECK_FUNCS([mmap])]) 1458AC_CHECK_HEADERS([sys/random.h], [AC_CHECK_FUNCS([getentropy])]) 1459AC_CHECK_HEADERS([sys/resource.h], [AC_CHECK_FUNCS([getrlimit])]) 1460AC_CHECK_HEADERS([sys/uio.h], [AC_CHECK_FUNCS([preadv pwritev writev])]) 1461if test "$ac_cv_func_poll" = no; then 1462 AC_CHECK_HEADERS([sys/select.h]) 1463 AC_CHECK_FUNCS([select]) 1464fi 1465 1466case "$host_os" in 1467*sunos*|*solaris* ) 1468 AC_CHECK_HEADERS([priv.h], [AC_CHECK_FUNCS([setpflags])]) 1469 AC_CHECK_HEADERS([port.h], [AC_CHECK_FUNCS([port_create])]) 1470 AC_CHECK_HEADERS([\ 1471 sys/devpoll.h \ 1472 sys/filio.h \ 1473 ]) 1474 ;; 1475* ) ;; 1476esac 1477 1478AC_MSG_NOTICE([----------------------------------------]) 1479AC_MSG_CHECKING([if weak symbols are supported]) 1480AC_LINK_IFELSE( 1481 [AC_LANG_PROGRAM([[ 1482 __attribute__((weak)) void __dummy(void *x) { } 1483 void f(void *x) { __dummy(x); } 1484 ]])], 1485 [ 1486 AC_MSG_RESULT([yes]) 1487 AC_DEFINE([HAVE_WEAK_SYMBOLS], [1], [weak symbols are supported]) 1488 ], 1489 [AC_MSG_RESULT([no])] 1490) 1491 1492AC_MSG_NOTICE([----------------------------------------]) 1493AC_MSG_CHECKING([for Large File System support]) 1494AC_ARG_ENABLE([lfs], 1495 [AS_HELP_STRING([--enable-lfs], 1496 [Turn on Large File System (default)] 1497 )], 1498 [ 1499 case "${enableval}" in 1500 yes) ENABLE_LFS=yes ;; 1501 no) ENABLE_LFS=yes 1502 AC_MSG_NOTICE([large file support forced; --disable-lfs ignored]) ;; 1503 *) AC_MSG_ERROR([bad value ${enableval} for --enable-lfs]) ;; 1504 esac 1505 ], 1506 [ ENABLE_LFS=yes ] 1507) 1508AC_MSG_RESULT([$ENABLE_LFS]) 1509if test "$ENABLE_LFS" = yes; then 1510 CPPFLAGS="${CPPFLAGS} -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_DEFAULT_SOURCE" 1511 AC_SYS_LARGEFILE 1512fi 1513 1514dnl check if sendfile works 1515if test "$ac_cv_func_sendfile" = yes; then 1516 AC_MSG_NOTICE([----------------------------------------]) 1517 AC_MSG_CHECKING([if sendfile works]) 1518 if test "$cross_compiling" = no; then 1519 AC_RUN_IFELSE([AC_LANG_SOURCE( 1520 [[ 1521 #ifdef HAVE_SYS_SENDFILE_H 1522 #include <sys/sendfile.h> 1523 #endif /* HAVE_SYS_SENDFILE_H */ 1524 #include <errno.h> 1525 #include <sys/types.h> 1526 #include <sys/socket.h> 1527 #include <sys/uio.h> 1528 int main(void) { 1529 int o = 0; 1530 if (-1 == sendfile(-1, 0, &o, 0) && errno == ENOSYS) return -1; 1531 return 0; 1532 } 1533 ]])], 1534 [AC_MSG_RESULT([yes])], 1535 [ 1536 AC_MSG_RESULT([no]) 1537 AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile]) 1538 ],[] 1539 ) 1540 fi 1541fi 1542 1543dnl Check for IPv6 support 1544AC_MSG_NOTICE([----------------------------------------]) 1545AC_ARG_ENABLE([ipv6], 1546 [AS_HELP_STRING([--disable-ipv6], [disable IPv6 support])], 1547 [ 1548 case "${enableval}" in 1549 yes) ipv6=true ;; 1550 no) ipv6=false ;; 1551 *) AC_MSG_ERROR([bad value ${enableval} for --enable-ipv6]) ;; 1552 esac 1553 ], 1554 [ipv6=true] 1555) 1556 1557if test "$ipv6" = true; then 1558 AC_CACHE_CHECK([for IPv6 support], [ac_cv_ipv6_support], [ 1559 AC_LINK_IFELSE([AC_LANG_PROGRAM( 1560 [[ 1561 #include <sys/types.h> 1562 #include <sys/socket.h> 1563 #include <netinet/in.h> 1564 ]], 1565 [[ 1566 struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0; 1567 ]])], 1568 [ac_cv_ipv6_support=yes], 1569 [ac_cv_ipv6_support=no] 1570 ) 1571 ]) 1572 1573 if test "$ac_cv_ipv6_support" = yes; then 1574 AC_DEFINE([HAVE_IPV6], [1], [Whether to enable IPv6 support]) 1575 else 1576 AC_MSG_ERROR([IPv6 seems broken. Fix it or build with --disable-ipv6]) 1577 fi 1578fi 1579 1580# disable mmap by default 1581# lighttpd may always use mmap with files it owns (created tmp files) 1582AC_MSG_NOTICE([----------------------------------------]) 1583AC_MSG_CHECKING([use mmap if available]) 1584AC_ARG_ENABLE([mmap], 1585 [AS_HELP_STRING([--enable-mmap], 1586 [use mmap if available] 1587 )], 1588 [ 1589 case "${enableval}" in 1590 yes) mmap=true ;; 1591 no) mmap=false ;; 1592 *) AC_MSG_ERROR([bad value ${enableval} for --enable-mmap]) ;; 1593 esac 1594 ], 1595 [mmap=false] 1596) 1597AC_MSG_RESULT([$mmap]) 1598 1599if test "$mmap" = true; then 1600 AC_DEFINE([ENABLE_MMAP], [1], [Use mmap if available]) 1601fi 1602 1603 1604AC_MSG_NOTICE([----------------------------------------]) 1605dnl check for extra compiler options (warning options) 1606if test "${GCC}" = yes; then 1607 TRY_CFLAGS([-pipe -Wall -W -Wshadow -pedantic]) 1608fi 1609 1610AC_ARG_ENABLE([extra-warnings], 1611 [AS_HELP_STRING([--enable-extra-warnings], 1612 [enable extra warnings (gcc specific)] 1613 )], 1614 [ 1615 case "${enableval}" in 1616 error) extrawarnings=error ;; 1617 yes) extrawarnings=true ;; 1618 no) extrawarnings=false ;; 1619 *) AC_MSG_ERROR([bad value ${enableval} for --enable-extra-warnings]) ;; 1620 esac 1621 ], 1622 [extrawarnings=false] 1623) 1624 1625if test "$extrawarnings" = true || test "$extrawarnings" = error; then 1626 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]) 1627 TRY_CFLAGS([-fstack-protector-strong]) 1628 case "$host_os" in 1629 *darwin* ) ;; 1630 * ) TRY_LDFLAGS([-Wl,--as-needed]) ;; 1631 esac 1632 if test "$extrawarnings" = error; then 1633 AS_VAR_APPEND([CFLAGS], [" -Werror"]) 1634 case "$host_os" in 1635 *darwin* ) ;; 1636 * ) AS_VAR_APPEND([LDFLAGS], [" -Wl,--fatal-warnings"]) ;; 1637 esac 1638 fi 1639fi 1640 1641dnl build version-id 1642LIGHTTPD_VERSION_ID=m4_format([0x%x%02x%02x], m4_unquote(m4_split(AC_PACKAGE_VERSION, [\.]))) 1643AC_DEFINE_UNQUOTED([LIGHTTPD_VERSION_ID], [$LIGHTTPD_VERSION_ID], [lighttpd-version-id]) 1644 1645AC_CONFIG_FILES([\ 1646 distribute.sh \ 1647 doc/config/conf.d/Makefile \ 1648 doc/config/Makefile \ 1649 doc/config/vhosts.d/Makefile \ 1650 doc/Makefile \ 1651 doc/outdated/Makefile \ 1652 doc/scripts/Makefile \ 1653 doc/systemd/Makefile \ 1654 Makefile \ 1655 src/Makefile \ 1656 tests/docroot/Makefile \ 1657 tests/Makefile \ 1658]) 1659AC_OUTPUT 1660 1661do_build="\ 1662 mod_access \ 1663 mod_accesslog \ 1664 mod_ajp13 \ 1665 mod_alias \ 1666 mod_auth \ 1667 mod_authn_file \ 1668 mod_cgi \ 1669 mod_deflate \ 1670 mod_dirlisting \ 1671 mod_evhost \ 1672 mod_expire \ 1673 mod_extforward \ 1674 mod_fastcgi \ 1675 mod_indexfile \ 1676 mod_proxy \ 1677 mod_redirect \ 1678 mod_rewrite \ 1679 mod_rrdtool \ 1680 mod_scgi \ 1681 mod_setenv \ 1682 mod_simple_vhost \ 1683 mod_sockproxy \ 1684 mod_ssi \ 1685 mod_staticfile \ 1686 mod_status \ 1687 mod_userdir \ 1688 mod_vhostdb \ 1689 mod_webdav \ 1690 mod_wstunnel \ 1691" 1692 1693lighty_track_feature() { 1694 if eval "$3"; then 1695 enable_feature="$enable_feature $1" 1696 do_build="$do_build $2" 1697 else 1698 disable_feature="$disable_feature $1" 1699 no_build="$no_build $2" 1700 fi 1701} 1702 1703lighty_track_feature "regex-conditionals" "" \ 1704 'test "$WITH_PCRE" != no || test "$WITH_PCRE2" != no' 1705 1706lighty_track_feature "mysql" "mod_vhostdb_mysql" \ 1707 'test "$WITH_MYSQL" != no' 1708 1709lighty_track_feature "postgresql" "mod_vhostdb_pgsql" \ 1710 'test "$WITH_PGSQL" != no' 1711 1712lighty_track_feature "dbi" "mod_authn_dbi mod_vhostdb_dbi" \ 1713 'test "$WITH_DBI" != no' 1714 1715lighty_track_feature "lua" "mod_magnet" \ 1716 'test "$WITH_LUA" != no' 1717 1718lighty_track_feature "maxminddb" "mod_maxminddb" \ 1719 'test "$WITH_MAXMINDDB" != no' 1720 1721lighty_track_feature "compress-gzip compress-deflate" "" \ 1722 'test "$WITH_ZLIB" != no' 1723 1724lighty_track_feature "compress-bzip2" "" \ 1725 'test "$WITH_BZIP2" != no' 1726 1727lighty_track_feature "compress-brotli" "" \ 1728 'test "$WITH_BROTLI" != no' 1729 1730lighty_track_feature "compress-zstd" "" \ 1731 'test "$WITH_ZSTD" != no' 1732 1733lighty_track_feature "kerberos" "mod_authn_gssapi" \ 1734 'test "$WITH_KRB5" != no' 1735 1736lighty_track_feature "ldap" "mod_authn_ldap mod_vhostdb_ldap" \ 1737 'test "$WITH_LDAP" != no' 1738 1739lighty_track_feature "pam" "mod_authn_pam" \ 1740 'test "$WITH_PAM" != no' 1741 1742lighty_track_feature "network-openssl" "mod_openssl" \ 1743 'test "$WITH_OPENSSL" != no' 1744 1745lighty_track_feature "network-mbedtls" "mod_mbedtls" \ 1746 'test "$WITH_MBEDTLS" != no' 1747 1748lighty_track_feature "network-gnutls" "mod_gnutls" \ 1749 'test "$WITH_GNUTLS" != no' 1750 1751lighty_track_feature "network-nss" "mod_nss" \ 1752 'test "$WITH_NSS" != no' 1753 1754lighty_track_feature "network-wolfssl" "mod_wolfssl" \ 1755 'test "$WITH_WOLFSSL" != no' 1756 1757lighty_track_feature "auth-crypt" "" \ 1758 'test "$found_crypt" != no' 1759 1760lighty_track_feature "network-ipv6" "" \ 1761 'test "$ac_cv_ipv6_support" != no' 1762 1763lighty_track_feature "large-files" "" \ 1764 'test "$ENABLE_LFS" = yes' 1765 1766case "$host_os" in 1767*linux* ) 1768lighty_track_feature "stat-cache-inotify" "" \ 1769 'test "$ac_cv_header_sys_inotify_h" != no' 1770 ;; 1771* ) ;; 1772esac 1773 1774case "$host_os" in 1775*bsd*|*darwin* ) 1776lighty_track_feature "stat-cache-kqueue" "" \ 1777 'test "$ac_cv_func_kqueue" != no' 1778 ;; 1779* ) ;; 1780esac 1781 1782case "$host_os" in 1783*bsd*|*darwin*|*linux* ) 1784 ;; 1785* ) 1786lighty_track_feature "stat-cache-fam" "" \ 1787 'test "$WITH_FAM" != no' 1788 ;; 1789esac 1790 1791lighty_track_feature "webdav-properties" "" \ 1792 'test "$WITH_WEBDAV_PROPS" != no' 1793 1794lighty_track_feature "webdav-locks" "" \ 1795 'test "$WITH_WEBDAV_LOCKS" != no' 1796 1797dnl output 1798 1799$ECHO 1800$ECHO "Plugins:" 1801$ECHO 1802 1803$ECHO "enabled: " 1804for p in $do_build; do 1805 $ECHO " $p" 1806done | sort 1807 1808$ECHO "disabled: " 1809for p in $no_build; do 1810 $ECHO " $p" 1811done | sort 1812 1813$ECHO 1814$ECHO "Features:" 1815$ECHO 1816 1817$ECHO "enabled: " 1818for p in $enable_feature; do 1819 $ECHO " $p" 1820done | sort 1821 1822$ECHO "disabled: " 1823for p in $disable_feature; do 1824 $ECHO " $p" 1825done | sort 1826 1827$ECHO 1828