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