Commit | Line | Data |
737bf5cf |
1 | dnl $Id: configure.in,v 1.8 2001/09/21 16:49:36 skimo Exp $ |
0198fd3c |
2 | dnl |
3 | dnl This file is an input file used by the GNU "autoconf" program to |
4 | dnl generate the file "configure", which is run during the build |
5 | dnl to configure the system for the local environment. |
f802ee92 |
6 | |
7 | # This file and the script it generates is used by both the devkit |
8 | # and the Perl FCGI module. Although each has slightly different |
9 | # requirements, this allows the build environment to maintained by one |
10 | # file set. The FCGI build is idendified by the presence of the |
11 | # file FCGI.XL. If its not found, its consider a devkit build. |
0198fd3c |
12 | |
8bd181b5 |
13 | AC_INIT |
af1181af |
14 | AM_INIT_AUTOMAKE(fcgi, 2.2.1) |
f802ee92 |
15 | |
16 | if test -f "FCGI.XL"; then |
17 | FCGI_BUILD='true' |
18 | fi |
19 | |
20 | if test "$FCGI_BUILD"; then |
af1181af |
21 | AM_CONFIG_HEADER([fcgi_config.h]) |
f802ee92 |
22 | else |
af1181af |
23 | AM_CONFIG_HEADER([include/fcgi_config.h]) |
f802ee92 |
24 | fi |
8bd181b5 |
25 | |
26 | AC_PROG_CC |
27 | AC_PROG_CPP |
28 | AC_PROG_INSTALL |
ec728770 |
29 | AC_PROG_LIBTOOL |
8bd181b5 |
30 | AC_PROG_RANLIB |
eb7bc90d |
31 | AC_CHECK_TOOL([AR], [ar], [ar]) |
32 | |
33 | AC_CHECK_LIB([nsl], [main]) ac_cv_lib_nsl=ac_cv_lib_nsl_main |
34 | AC_CHECK_LIB([resolv], [main]) ac_cv_lib_resolv=ac_cv_lib_resolv_main |
35 | AC_CHECK_LIB([socket], [main]) ac_cv_lib_socket=ac_cv_lib_socket_main |
36 | AC_CHECK_LIB([dnet_stub], [main]) ac_cv_lib_dnet_stub=ac_cv_lib_dnet_stub_main |
37 | AC_CHECK_LIB([ieee], [main]) ac_cv_lib_ieee=ac_cv_lib_ieee_main |
38 | |
737bf5cf |
39 | AC_SUBST(threaded) |
eb7bc90d |
40 | AC_CHECK_LIB([pthread], [main], |
41 | [AC_DEFINE([HAVE_LIBPTHREAD], [1], |
42 | [Define if you have the pthread library]) |
737bf5cf |
43 | AC_SUBST([HAVE_LIBPTHREAD]) |
44 | threaded=threaded]) |
eb7bc90d |
45 | ac_cv_lib_pthread=ac_cv_lib_pthread_main |
46 | |
47 | AC_CHECK_TYPE([ssize_t], [int]) |
48 | |
49 | AC_MSG_CHECKING([for sun_len in sys/un.h]) |
50 | AC_EGREP_HEADER([sun_len], [sys/un.h], |
51 | [AC_MSG_RESULT([yes]) |
52 | AC_DEFINE([HAVE_SOCKADDR_UN_SUN_LEN], [1], |
53 | [Define if sockaddr_un in sys/un.h contains a sun_len component])], |
54 | AC_MSG_RESULT([no])) |
55 | |
56 | AC_REPLACE_FUNCS([strerror]) |
57 | |
58 | AC_MSG_CHECKING([for fpos_t in stdio.h]) |
59 | AC_EGREP_HEADER([fpos_t], [stdio.h], |
60 | [AC_MSG_RESULT([yes]) |
61 | AC_DEFINE([HAVE_FPOS], [1], [Define if the fpos_t typedef is in stdio.h])], |
62 | AC_MSG_RESULT([no])) |
63 | |
64 | AC_CHECK_HEADERS([sys/socket.h netdb.h netinet/in.h arpa/inet.h sys/time.h limits.h sys/param.h unistd.h]) |
65 | |
66 | AC_MSG_CHECKING([for a fileno() prototype in stdio.h]) |
67 | AC_EGREP_HEADER([fileno], [stdio.h], |
68 | [AC_MSG_RESULT([yes]) |
69 | AC_DEFINE([HAVE_FILENO_PROTO], [1], |
70 | [Define if there's a fileno() prototype in stdio.h])], |
71 | AC_MSG_RESULT([no])) |
72 | |
73 | if test "$HAVE_SYS_SOCKET_H"; then |
74 | AC_MSG_CHECKING([for socklen_t in sys/socket.h]) |
75 | AC_EGREP_HEADER([socklen_t], [sys/socket.h], |
76 | [AC_MSG_RESULT([yes]) |
77 | AC_DEFINE([HAVE_SOCKLEN], [1], |
78 | [Define if the socklen_t typedef is in sys/socket.h])], |
79 | AC_MSG_RESULT([no])) |
3361128b |
80 | fi |
81 | |
0198fd3c |
82 | #-------------------------------------------------------------------- |
83 | # Do we need cross-process locking on this platform? |
84 | #-------------------------------------------------------------------- |
eb7bc90d |
85 | AC_MSG_CHECKING([whether cross-process locking is required by accept()]) |
0198fd3c |
86 | case "`uname -sr`" in |
eb7bc90d |
87 | IRIX\ 5.* | SunOS\ 5.* | UNIX_System_V\ 4.0) |
88 | AC_MSG_RESULT([yes]) |
89 | AC_DEFINE([USE_LOCKING], [1], |
90 | [Define if cross-process locking is required by accept()]) |
91 | ;; |
0198fd3c |
92 | *) |
eb7bc90d |
93 | AC_MSG_RESULT([no]) |
94 | ;; |
0198fd3c |
95 | esac |
96 | |
97 | #-------------------------------------------------------------------- |
98 | # Does va_arg(arg, long double) crash the compiler? |
99 | # hpux 9.04 compiler does and so does Stratus FTX (uses HP's compiler) |
100 | #-------------------------------------------------------------------- |
eb7bc90d |
101 | AC_MSG_CHECKING([whether va_arg(arg, long double) crashes the compiler]) |
0198fd3c |
102 | AC_TRY_COMPILE([#include <stdarg.h>], |
103 | [long double lDblArg; va_list arg; lDblArg = va_arg(arg, long double);], |
eb7bc90d |
104 | AC_MSG_RESULT([no]), |
105 | [AC_MSG_RESULT([yes]) |
106 | AC_DEFINE([HAVE_VA_ARG_LONG_DOUBLE_BUG], [1], |
107 | [Define if va_arg(arg, long double) crashes the compiler])]) |
0198fd3c |
108 | |
f802ee92 |
109 | AC_C_CONST |
110 | AC_C_INLINE |
111 | |
0198fd3c |
112 | #-------------------------------------------------------------------- |
f802ee92 |
113 | # This is a little hokie in that it avoids including config.guess |
114 | # and config.sub in the distribution, but its been working so far. |
115 | # Windows builds don't run configure so we should be safe fixing |
116 | # this to 'unix' (at least for now). |
0198fd3c |
117 | #-------------------------------------------------------------------- |
f802ee92 |
118 | SYSTEM=unix |
eb7bc90d |
119 | AC_SUBST([SYSTEM]) |
f802ee92 |
120 | |
121 | L=a |
eb7bc90d |
122 | AC_SUBST([L]) |
f802ee92 |
123 | |
124 | if test "$GCC"; then |
eb7bc90d |
125 | CCDEFS="$CCDEFS -Wall -Wmissing-prototypes" |
f802ee92 |
126 | fi |
127 | |
eb7bc90d |
128 | AC_SUBST([CCDEFS]) |
f802ee92 |
129 | |
eb7bc90d |
130 | AC_OBJEXT |
131 | AC_SUBST([EXEEXT]) |
f802ee92 |
132 | |
133 | if test -z "$FCGI_BUILD"; then |
134 | AC_CONFIG_FILES([Makefile |
135 | libfcgi/Makefile |
136 | cgi-fcgi/Makefile |
137 | examples/Makefile]) |
138 | fi |
139 | |
8bd181b5 |
140 | AC_OUTPUT |
0198fd3c |
141 | |