use libtool
[catagits/fcgi2.git] / configure.in
1 dnl     $Id: configure.in,v 1.8 2001/09/21 16:49:36 skimo Exp $
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.
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.
12
13 AC_INIT
14 AM_INIT_AUTOMAKE(fcgi, 2.2.1)
15
16 if test -f "FCGI.XL"; then
17         FCGI_BUILD='true'
18 fi
19
20 if test "$FCGI_BUILD"; then
21         AM_CONFIG_HEADER([fcgi_config.h])
22 else
23         AM_CONFIG_HEADER([include/fcgi_config.h])
24 fi
25
26 AC_PROG_CC
27 AC_PROG_CPP 
28 AC_PROG_INSTALL 
29 AC_PROG_LIBTOOL
30 AC_PROG_RANLIB
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
39 AC_SUBST(threaded)
40 AC_CHECK_LIB([pthread],   [main], 
41         [AC_DEFINE([HAVE_LIBPTHREAD], [1],
42                            [Define if you have the pthread library])
43          AC_SUBST([HAVE_LIBPTHREAD])
44          threaded=threaded]) 
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]))
80 fi
81
82 #--------------------------------------------------------------------
83 #  Do we need cross-process locking on this platform?
84 #--------------------------------------------------------------------
85 AC_MSG_CHECKING([whether cross-process locking is required by accept()])
86 case "`uname -sr`" in
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         ;;
92     *)
93                 AC_MSG_RESULT([no])
94             ;;
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 #--------------------------------------------------------------------
101 AC_MSG_CHECKING([whether va_arg(arg, long double) crashes the compiler])
102 AC_TRY_COMPILE([#include <stdarg.h>],
103    [long double lDblArg; va_list arg; lDblArg = va_arg(arg, long double);],
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])])
108
109 AC_C_CONST 
110 AC_C_INLINE
111
112 #--------------------------------------------------------------------
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).
117 #--------------------------------------------------------------------
118 SYSTEM=unix
119 AC_SUBST([SYSTEM])
120
121 L=a
122 AC_SUBST([L])
123
124 if test "$GCC"; then
125         CCDEFS="$CCDEFS -Wall -Wmissing-prototypes"
126 fi
127
128 AC_SUBST([CCDEFS])
129
130 AC_OBJEXT
131 AC_SUBST([EXEEXT]) 
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
140 AC_OUTPUT
141