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