root/tags/release-1.3.12/configure.in

Revision 60, 11.3 kB (checked in by jan, 3 years ago)

fixed #25 by setting all duplicates to 400

Line 
1#                                               -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3AC_PREREQ(2.57)
4AC_INIT(lighttpd, 1.3.12, jan@kneschke.de)
5AC_CONFIG_SRCDIR([src/server.c])
6
7AC_CANONICAL_TARGET
8
9AM_INIT_AUTOMAKE
10
11AC_CONFIG_HEADER([config.h])
12
13AM_MAINTAINER_MODE
14
15# Checks for programs.
16AC_PROG_CC
17AC_PROG_LD
18AC_PROG_INSTALL
19AC_PROG_AWK
20AC_PROG_CPP
21dnl AC_PROG_CXX
22AC_PROG_LN_S
23AC_PROG_MAKE_SET
24
25dnl check environment
26AC_AIX
27AC_ISC_POSIX
28AC_MINIX
29
30dnl AC_CANONICAL_HOST
31case $host_os in
32        *darwin*|*cygwin*|*aix*|*mingw* ) NO_RDYNAMIC=yes;;
33        * ) NO_RDYNAMIC=no;;
34esac
35AM_CONDITIONAL(NO_RDYNAMIC, test x$NO_RDYNAMIC = xyes)
36
37AC_EXEEXT
38
39dnl more automake stuff
40AM_C_PROTOTYPES
41
42dnl libtool
43AC_DISABLE_STATIC       
44AC_ENABLE_SHARED
45
46AC_LIBTOOL_DLOPEN
47AC_PROG_LIBTOOL
48
49dnl for solaris and localtime_r
50CPPFLAGS="${CPPFLAGS} -D_REENTRANT"
51
52# Checks for header files.
53AC_HEADER_STDC
54AC_HEADER_SYS_WAIT
55AC_CHECK_HEADERS([arpa/inet.h fcntl.h netinet/in.h stdlib.h string.h \
56sys/socket.h sys/time.h unistd.h sys/sendfile.h sys/uio.h \
57getopt.h sys/epoll.h sys/select.h poll.h sys/poll.h sys/devpoll.h sys/filio.h \
58sys/mman.h sys/event.h sys/port.h winsock2.h pwd.h \
59sys/resource.h sys/un.h syslog.h])
60
61# Checks for typedefs, structures, and compiler characteristics.
62AC_C_CONST
63AC_C_INLINE
64AC_C_CHAR_UNSIGNED
65AC_TYPE_OFF_T
66AC_TYPE_PID_T
67AC_TYPE_SIZE_T
68
69AC_CHECK_MEMBER(struct tm.tm_gmtoff,AC_DEFINE([HAVE_STRUCT_TM_GMTOFF],[1],[gmtoff in struct tm]),,[#include <time.h>])
70AC_CHECK_TYPES(struct sockaddr_storage,,,[#include <sys/socket.h>])
71AC_CHECK_TYPES(socklen_t,,,[#include <sys/types.h>
72#include <sys/socket.h>])
73
74# Checks for library functions.
75AC_FUNC_FORK
76dnl AC_FUNC_MALLOC
77#AC_FUNC_MMAP
78dnl AC_FUNC_REALLOC
79AC_TYPE_SIGNAL
80AC_FUNC_STAT
81AC_FUNC_STRFTIME
82
83dnl Checks for database.
84MYSQL_INCLUDE=""
85
86AC_PATH_PROG(MYSQLCONFIG, mysql_config)
87AC_MSG_CHECKING(for MySQL support)
88AC_ARG_WITH(mysql,
89    AC_HELP_STRING([--with-mysql@<:@=PATH@:>@],[Include MySQL support. PATH is the path to 'mysql_config']),
90    [
91  if test "$withval" != "no"; then
92    if test "$withval" = "yes"; then
93       withval=$MYSQLCONFIG
94    fi
95
96    if test \! -x $withval; then
97      echo "--with-mysql=path-to-mysql_config"
98    fi
99    MYSQL_INCLUDE="`$withval --cflags | sed s/\'//g`"
100    MYSQL_LIBS="`$withval --libs | sed s/\'//g`"
101
102    AC_MSG_RESULT(yes)
103
104    AC_MSG_CHECKING(for MySQL includes at)
105    AC_MSG_RESULT($MYSQL_INCLUDE)
106
107    AC_MSG_CHECKING(for MySQL libraries at)
108    AC_MSG_RESULT($MYSQL_LIBS)
109  dnl check for errmsg.h, which isn't installed by some versions of 3.21
110    old_CPPFLAGS="$CPPFLAGS"
111    CPPFLAGS="$CPPFLAGS $MYSQL_INCLUDE"
112    AC_CHECK_HEADERS(errmsg.h mysql.h)
113    CPPFLAGS="$old_CPPFLAGS"
114
115    AC_DEFINE([HAVE_MYSQL], [1], [mysql support])
116  else
117    AC_MSG_RESULT(no)
118  fi
119],[AC_MSG_RESULT(no)])
120
121AC_SUBST(MYSQL_LIBS)
122AC_SUBST(MYSQL_INCLUDE)
123
124
125AC_MSG_CHECKING(for LDAP support)
126AC_ARG_WITH(ldap, AC_HELP_STRING([--with-ldap],[enable LDAP support]),
127[AC_MSG_RESULT(yes)
128 AC_CHECK_LIB(ldap, ldap_bind, [
129  AC_CHECK_HEADERS([ldap.h],[
130    LDAP_LIB=-lldap
131    AC_DEFINE([HAVE_LIBLDAP], [1], [libldap])
132    AC_DEFINE([HAVE_LDAP_H], [1])
133  ])
134 ])
135 AC_SUBST(LDAP_LIB)
136 AC_CHECK_LIB(lber, ber_printf, [
137  AC_CHECK_HEADERS([lber.h],[
138    LBER_LIB=-llber
139    AC_DEFINE([HAVE_LIBLBER], [1], [liblber])
140    AC_DEFINE([HAVE_LBER_H], [1])
141  ])
142 ])
143 AC_SUBST(LBER_LIB)
144
145],[AC_MSG_RESULT(no)])
146
147AC_MSG_CHECKING(for extended attributes support)
148AC_ARG_WITH(attr, AC_HELP_STRING([--with-attr],[enable extended attribute support]),
149[AC_MSG_RESULT(yes)
150 AC_CHECK_LIB(attr, attr_get, [
151        AC_CHECK_HEADERS([attr/attributes.h],[
152                ATTR_LIB=-lattr
153                AC_DEFINE([HAVE_XATTR], [1], [libattr])
154                AC_DEFINE([HAVE_ATTR_ATTRIBUTES_H], [1])
155        ])
156 ])
157],[AC_MSG_RESULT(no)])
158AC_SUBST(ATTR_LIB)
159
160AC_MSG_CHECKING(for valgrind)
161AC_ARG_WITH(valgrind, AC_HELP_STRING([--with-valgrind],[enable internal
162support for valgrind]),
163[AC_MSG_RESULT(yes)
164 AC_CHECK_HEADERS([valgrind/valgrind.h])
165],[AC_MSG_RESULT(no)])
166
167AC_MSG_CHECKING(for OpenSSL)
168dnl check for openssl
169    AC_ARG_WITH(openssl,
170    AC_HELP_STRING([--with-openssl@<:@=DIR@:>@],[Include openssl support (default no)]),
171[
172    if test "$withval" != "no"; then
173        if test "$withval" != "yes"; then
174            CPPFLAGS="$CPPFLAGS -I$withval/include"
175            LDFLAGS="$LDFLAGS -L$withval/lib"
176        fi
177       
178        use_openssl=yes
179        AC_MSG_RESULT($withval)
180    else
181        use_openssl=no
182        AC_MSG_RESULT(no)
183    fi
184],[
185    use_openssl=no
186    AC_MSG_RESULT(no)
187])
188   
189AC_ARG_WITH(openssl-includes,
190    AC_HELP_STRING([--with-openssl-includes=DIR],[OpenSSL includes]),
191    [ use_openssl=yes CPPFLAGS="$CPPFLAGS -I$withval" ]
192)
193
194AC_ARG_WITH(openssl-libs,
195    AC_HELP_STRING([--with-openssl-libs=DIR],[OpenSSL libraries]),
196    [ use_openssl=yes LDFLAGS="$LDFLAGS -L$withval" ]
197)
198
199if test "x$use_openssl" = "xyes"; then
200    AC_CHECK_HEADERS([openssl/ssl.h])
201    OLDLIBS="$LIBS"
202    AC_CHECK_LIB(crypto, BIO_f_base64, [
203      AC_CHECK_LIB(ssl, SSL_new, [ SSL_LIB="-lssl -lcrypto"
204                                 AC_DEFINE(HAVE_LIBSSL, [], [Have libssl]) ], [], [ -lcrypto ])
205    ], [], [])
206    LIBS="$OLDLIBS"
207    AC_SUBST(SSL_LIB)
208fi
209
210if test "x$cross_compiling" = xno; then
211  AC_PATH_PROG(PCRECONFIG, pcre-config)
212
213  if test x"$PCRECONFIG" != x; then
214    PCRE_LIB=`$PCRECONFIG --libs`
215    CPPFLAGS="$CPPFLAGS `$PCRECONFIG --cflags`"
216    OLDLIBS="$LIBS"
217    LIBS="$LIBS $PCRE_LIB"
218    AC_CHECK_LIB(pcre, pcre_compile, [
219      AC_CHECK_HEADERS([pcre.h], [
220        AC_DEFINE([HAVE_LIBPCRE], [1], [libpcre])
221        AC_DEFINE([HAVE_PCRE_H], [1])
222      ])
223    ])
224    LIBS="$OLDLIBS"
225  fi
226fi
227
228AC_SUBST(PCRE_LIB)
229
230AC_CHECK_LIB(z, deflate, [
231  AC_CHECK_HEADERS([zlib.h],[
232    Z_LIB=-lz
233    AC_DEFINE([HAVE_LIBZ], [1], [libz])
234    AC_DEFINE([HAVE_ZLIB_H], [1])
235  ])
236])
237AC_SUBST(Z_LIB)
238
239AC_CHECK_LIB(bz2, BZ2_bzCompress, [
240  AC_CHECK_HEADERS([bzlib.h],[
241    BZ_LIB=-lbz2
242    AC_DEFINE([HAVE_LIBBZ2], [1], [libbz2])
243    AC_DEFINE([HAVE_BZLIB_H], [1])
244  ])
245])
246AC_SUBST(BZ_LIB)
247
248AC_SEARCH_LIBS(socket,socket)
249AC_SEARCH_LIBS(gethostbyname,nsl socket)
250AC_SEARCH_LIBS(hstrerror,resolv)
251
252save_LIBS=$LIBS
253AC_SEARCH_LIBS(dlopen,dl,[
254  AC_CHECK_HEADERS([dlfcn.h],[
255    if test "$ac_cv_search_dlopen" != no; then
256      test "$ac_cv_search_dlopen" = "none required" || DL_LIB="$ac_cv_search_dlopen"
257    fi
258
259    AC_DEFINE([HAVE_LIBDL], [1], [libdl])
260    AC_DEFINE([HAVE_DLFCN_H], [1])
261  ])
262])
263LIBS=$save_LIBS
264AC_SUBST(DL_LIB)
265
266save_LIBS=$LIBS
267AC_SEARCH_LIBS(crypt,crypt,[
268  AC_CHECK_HEADERS([crypt.h],[
269    AC_DEFINE([HAVE_CRYPT_H], [1])
270  ])
271
272  AC_DEFINE([HAVE_LIBCRYPT], [1], [libcrypt])
273  if test "$ac_cv_search_crypt" != no; then
274    test "$ac_cv_search_crypt" = "none required" || CRYPT_LIB="$ac_cv_search_crypt"
275  fi
276])
277LIBS=$save_LIBS
278AC_SUBST(CRYPT_LIB)
279
280save_LIBS=$LIBS
281AC_SEARCH_LIBS(sendfilev,sendfile,[
282  if test "$ac_cv_search_sendfilev" != no; then
283    test "$ac_cv_search_sendfilev" = "none required" || SENDFILE_LIB="$ac_cv_search_sendfilev"
284    AC_DEFINE([HAVE_SENDFILEV], [1], [solaris sendfilev])
285  fi
286])
287LIBS=$save_LIBS
288AC_SUBST(SENDFILE_LIB)
289
290case $host_os in
291        *mingw* ) LIBS="$LIBS -lwsock32";;
292        * ) ;;
293esac
294
295AC_CHECK_FUNCS([dup2 getcwd inet_ntoa inet_ntop memset mmap munmap strchr \
296                  strdup strerror strstr strtol sendfile  getopt socket \
297                  gethostbyname poll sigtimedwait epoll_ctl getrlimit chroot \
298                  getuid select signal\
299                  writev sigaction sendfile64 send_file kqueue port_create localtime_r])
300
301if test "x$ac_cv_func_sendfile" = xyes; then
302        # check if sendfile works
303        AC_MSG_CHECKING(if sendfile works)
304        if test "x$cross_compiling" = xno; then
305        AC_TRY_RUN([
306                    #include <errno.h>
307                    int main() {
308                      int o = 0;
309                      if (-1 == sendfile(0, 0, &o, 0) && errno == ENOSYS) return -1;
310                      return 0;
311                    } ],
312                    AC_MSG_RESULT(yes),
313                    [ AC_MSG_RESULT(no)
314                    AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile]) ] )
315        else
316              AC_MSG_RESULT(no, cross-compiling)
317              AC_DEFINE([HAVE_SENDFILE_BROKEN], [1], [broken sendfile])
318        fi
319fi
320
321dnl Check for IPv6 support
322
323AC_ARG_ENABLE(ipv6,
324 AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
325 [case "${enableval}" in
326   yes) ipv6=true ;;
327    no) ipv6=false ;;
328     *) AC_MSG_ERROR(bad value ${enableval} for --enable-ipv6) ;;
329  esac],[ipv6=true])
330
331if test x$ipv6 = xtrue; then
332  AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
333  [AC_TRY_LINK([ #include <sys/types.h>
334#include <sys/socket.h>
335#include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0; ],
336  [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
337 
338  if test "$ac_cv_ipv6_support" = yes; then
339    AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
340  fi
341fi
342
343
344AC_MSG_CHECKING(for Large File System support)
345AC_ARG_ENABLE(lfs,
346 AC_HELP_STRING([--enable-lfs],[Turn on Large File System (default)]),
347 [case "${enableval}" in
348   yes) CPPFLAGS="${CPPFLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES" ;;
349    no) ;;
350     *) AC_MSG_ERROR(bad value ${enableval} for --enable-lfs) ;;
351  esac],[CPPFLAGS="${CPPFLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES"])
352AC_MSG_RESULT($enableval)
353
354AC_CHECK_SIZEOF(long)
355AC_CHECK_SIZEOF(off_t)
356
357AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = xyes)
358
359dnl check for fastcgi lib, for the tests only
360fastcgi_found=no
361AC_CHECK_LIB(fcgi, FCGI_Accept, [
362 AC_CHECK_HEADERS([fastcgi.h],[
363   fastcgi_found=yes
364 ])
365])
366
367AM_CONDITIONAL(CHECK_WITH_FASTCGI, test "x$fastcgi_found" = xyes)
368
369if test "${GCC}" = "yes"; then
370       CFLAGS="${CFLAGS} -Wall -W -Wshadow -pedantic"
371fi
372
373dnl build version-id
374LIGHTTPD_VERSION_ID=`echo $PACKAGE_VERSION | $AWK -F '.' '{print "(" $1 " << 16 | " $2 " << 8 | " $3 ")"}'`
375AC_DEFINE_UNQUOTED([LIGHTTPD_VERSION_ID], [$LIGHTTPD_VERSION_ID], [lighttpd-version-id])
376
377AC_CONFIG_FILES([Makefile debian/Makefile src/Makefile doc/Makefile tests/Makefile \
378                 tests/docroot/Makefile \
379                 tests/docroot/123/Makefile \
380                 tests/docroot/www/Makefile \
381                 tests/docroot/www/go/Makefile \
382                 tests/docroot/www/indexfile/Makefile \
383                 tests/docroot/www/expire/Makefile \
384                 lighttpd.spec distribute.sh cygwin/Makefile cygwin/lighttpd.README
385                 openwrt/Makefile openwrt/control openwrt/lighttpd.mk])
386AC_OUTPUT
387
388$ECHO
389$ECHO "Plugins:"
390$ECHO
391if test ! "x$PCRE_LIB" = x; then
392  $ECHO "mod_rewrite     : enabled"
393  $ECHO "mod_redirect    : enabled"
394  $ECHO "mod_ssi         : enabled"
395else
396  $ECHO "mod_rewrite     : disabled (libpcre missing)"
397  $ECHO "mod_redirect    : disabled (libpcre missing)"
398  $ECHO "mod_ssi         : disabled (libpcre missing)"
399fi
400
401$ECHO "mod_cgi         : enabled"
402$ECHO "mod_fastcgi     : enabled"
403$ECHO "mod_proxy       : enabled"
404$ECHO "mod_evhost      : enabled"
405$ECHO "mod_simple_vhost: enabled"
406
407if test "x$MYSQL_LIBS" = x; then
408  $ECHO "mod_mysql_vhost : disabled (libmysqlclient missing or mysql support disabled)"
409else
410  $ECHO "mod_mysql_vhost : enabled"
411fi
412
413$ECHO "mod_access      : enabled"
414$ECHO "mod_alias       : enabled"
415$ECHO "mod_setenv      : enabled"
416$ECHO "mod_usertrack   : enabled"
417if test "x$Z_LIB" = x; then
418  $ECHO "mod_compress    : disabled (libz missing)"
419else
420  $ECHO "mod_compress    : enabled"
421fi
422
423# no crypt call
424if test "$ac_cv_search_crypt" = no; then
425  $ECHO "mod_auth        : enabled, crypt() support disabled"
426else
427  $ECHO "mod_auth        : enabled"
428fi
429$ECHO "mod_status      : enabled"
430$ECHO "mod_accesslog   : enabled"
431$ECHO "mod_rrdtool     : enabled"
432$ECHO "mod_secdownload : enabled"
433$ECHO "mod_expire      : enabled"
434
435$ECHO
Note: See TracBrowser for help on using the browser.