Add a check for limits.h
[catagits/fcgi2.git] / perl / configure.in
1 dnl     $Id: configure.in,v 1.3 2001/08/29 18:43:30 robs 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 dnl
7
8 AC_INIT(fcgiapp.c)
9 #--------------------------------------------------------------------
10 #  Perform common OMI configuration. This will include:
11 #       1) Choosing compiler and associated build options.
12 #       2) Checking for various common build associated programs.
13 #       3) Determining the best build options for this platform.
14 #       4) Checking for certain common header files.
15 #       5) Checking for exports/global switch.
16 #       6) Importing OMI dependencies (header files, libraries, and binaries).
17 #       7) Checking for existence of various system libraries and routines.
18 #--------------------------------------------------------------------
19
20 AC_PROG_CC
21 AC_CONFIG_HEADER(fcgi_config.h)
22 AC_MSG_CHECKING(for sun_len in sys/un.h)
23 AC_EGREP_HEADER(sun_len,
24    sys/un.h,
25    AC_MSG_RESULT(yes)
26    AC_DEFINE(HAVE_SOCKADDR_UN_SUN_LEN),
27    AC_MSG_RESULT(no))
28
29 #--------------------------------------------------------------------
30 #  What extra libraries do we need for this platform?
31 #--------------------------------------------------------------------
32
33 AC_CHECK_FUNCS(strerror strtol)
34
35 AC_REPLACE_FUNCS(strerror strtol)
36
37 #--------------------------------------------------------------------
38 #       Include sys/select.h if it exists and if it supplies things
39 #       that appear to be useful and aren't already in sys/types.h.
40 #       This appears to be true only on the RS/6000 under AIX.  Some
41 #       systems like OSF/1 have a sys/select.h that's of no use, and
42 #       other systems like SCO UNIX have a sys/select.h that's
43 #       pernicious.  If "fd_set" isn't defined anywhere then set a
44 #       special flag.
45 #--------------------------------------------------------------------
46
47 AC_MSG_CHECKING(for fd_set in in sys/types.h)
48 AC_TRY_LINK([#include <sys/types.h>],
49    [fd_set readMask, writeMask;],
50    AC_MSG_RESULT(yes),
51    AC_MSG_RESULT(no)
52    AC_MSG_CHECKING(for fd_mask in in sys/select.h)
53    AC_HEADER_EGREP(fd_mask,
54       sys/select.h,
55       AC_MSG_RESULT(yes)
56       AC_DEFINE(HAVE_SYS_SELECT_H),
57       AC_MSG_RESULT(no)
58       AC_DEFINE(NO_FD_SET)))
59
60 AC_MSG_CHECKING(for fpos in stdio.h)
61 AC_EGREP_HEADER(fpos_t,
62    stdio.h,
63    AC_MSG_RESULT(yes)
64    AC_DEFINE(HAVE_FPOS),
65    AC_MSG_RESULT(no))
66
67 AC_HAVE_HEADERS(windows.h)
68 AC_HAVE_HEADERS(sys/socket.h, [have_sys_socket=yes])
69 AC_HAVE_HEADERS(winsock.h)
70 AC_HAVE_HEADERS(netdb.h)
71 AC_HAVE_HEADERS(netinet/in.h)
72 AC_HAVE_HEADERS(arpa/inet.h)
73 AC_HAVE_HEADERS(strings.h)
74 AC_HAVE_HEADERS(sys/time.h)
75 AC_HAVE_HEADERS(limits.h)
76
77 if test "x$have_sys_socket" = "xyes"; then
78     AC_MSG_CHECKING(for socklen_t in sys/socket.h)
79     AC_EGREP_HEADER(socklen_t,
80        sys/socket.h,
81        AC_MSG_RESULT(yes)
82        AC_DEFINE(HAVE_SOCKLEN),
83        AC_MSG_RESULT(no))
84 fi
85
86 #--------------------------------------------------------------------
87 #  Do we need cross-process locking on this platform?
88 #--------------------------------------------------------------------
89 AC_MSG_CHECKING("if this machine needs cross-process locking")
90 case "`uname -sr`" in
91     IRIX\ 5.*)  
92         AC_DEFINE(USE_LOCKING)
93         AC_MSG_RESULT(yes)
94     ;;
95     SunOS\ 5.*) 
96         AC_DEFINE(USE_LOCKING)
97         AC_MSG_RESULT(yes)
98     ;;
99     UNIX_System_V\ 4.0)
100         AC_DEFINE(USE_LOCKING)
101         AC_MSG_RESULT(yes)
102     ;;
103     *)
104         AC_MSG_RESULT(no)
105     ;;
106 esac
107
108 #--------------------------------------------------------------------
109 #  Does va_arg(arg, long double) crash the compiler?
110 #  hpux 9.04 compiler does and so does Stratus FTX (uses HP's compiler)
111 #--------------------------------------------------------------------
112 AC_MSG_CHECKING(if va_arg(arg, long double) crashes the compiler)
113 AC_TRY_COMPILE([#include <stdarg.h>],
114    [long double lDblArg; va_list arg; lDblArg = va_arg(arg, long double);],
115    AC_MSG_RESULT(no),
116    AC_DEFINE(HAVE_VA_ARG_LONG_DOUBLE_BUG)
117    AC_MSG_RESULT(yes))
118
119 #--------------------------------------------------------------------
120 #  What's the target system?
121 #--------------------------------------------------------------------
122 case "$PLATFORM_CLASS" in
123     WINDOWS)    
124         SYSTEM="win32"
125     ;;
126     UNIX)       
127         SYSTEM="unix"
128     ;;
129 esac
130
131 AC_SUBST(SYSTEM)
132 AC_OUTPUT()