root/configure.in

Revision 2a703f21db36b8570f17fff8432784f99650d838, 19.9 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 1 month ago)

fix the test syntax and use -shared-libgcc only with gcc

  • Property mode set to 100755
Line 
1 AC_INIT(src/noitd.c)
2
3 node=`hostname | cut -f1 -d '.' | tr '[A-Z]' '[a-z]'`
4 if test -f ".configure.$node"; then
5         echo "***********************************************************"
6         echo "* Loading node specific configure settings for $node."
7         echo "***********************************************************"
8         . ./.configure.$node
9 fi
10
11 AC_CANONICAL_HOST
12 AC_CONFIG_HEADER(src/noit_config.h)
13 AC_CONFIG_HEADER(src/jlog/jlog_config.h)
14
15 AC_ARG_ENABLE(strict,
16     [AC_HELP_STRING([--enable-strict],
17                     [Compile with warnings treated as errors])],
18                     enable_strict="$enableval",
19                     enable_strict=no)
20
21 AC_ARG_ENABLE(lua,
22     [AC_HELP_STRING([--enable-lua],
23                     [Choose a lua implementation: (no, lua52, LuaJIT)])],
24                     enable_lua="$enableval",
25                     enable_lua=LuaJIT)
26
27 if (test "$enable_lua" != "LuaJIT" && \
28         test "$enable_lua" != "lua52" && \
29         test "$enable_lua" != "no") ; then
30     AC_MSG_ERROR(Invalid value '$enable_lua' for --enable-lua)
31 fi
32
33 AC_PROG_CC
34 AC_C_INLINE
35 AC_C_BIGENDIAN
36 AC_PROG_CPP
37 AC_PROG_RANLIB
38 AC_PROG_INSTALL
39 AC_PROG_LN_S
40 AC_PATH_PROG(AR, ar)
41 AC_PATH_PROGS(PERL, perl)
42 AC_PATH_PROGS(XSLTPROC, xsltproc)
43 AC_PATH_PROGS(XMLLINT, xmllint)
44 AC_PATH_PROGS(JAVA, java)
45 AC_PATH_PROGS(JAVA, java, , $JAVA_HOME/bin)
46 AC_PATH_PROGS(JAVAC, javac)
47 AC_PATH_PROGS(JAVAC, javac, , $JAVA_HOME/bin)
48 AC_PATH_PROGS(JAR, jar)
49 AC_PATH_PROGS(JAR, jar, , $JAVA_HOME/bin)
50 AC_PATH_PROG(NROFF, nroff)
51 AC_SUBST(PERL)
52
53 ENABLE_LUA=$enable_lua
54 AC_SUBST(ENABLE_LUA)
55
56 if test "x$GCC" = "xyes" ; then
57   C99FLAG="-std=c99"
58   CFLAGS="$CFLAGS -g $C99FLAG"
59   DEPFLAGS="-MM"
60 else
61   C99FLAG="-xc99=all"
62   CFLAGS="$CFLAGS -g $C99FLAG"
63   DEPFLAGS="-xM1"
64 fi
65 SHLDFLAGS="$LDFLAGS"
66
67 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D_POSIX_SOURCE -D_POSIX_C_SOURCE=200112L "'-I$(top_srcdir)/src'
68 DTRACEHDR=dtrace_probes.h
69
70 case $host in
71 *-*-darwin*)
72         DTRACE=/usr/sbin/dtrace
73         DTRACE_ENABLED=1
74         PICFLAGS="-fPIC"
75         CPPFLAGS="$CPPFLAGS -D_DARWIN_C_SOURCE -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_6"
76         MODULELD="$CC -bundle -flat_namespace -undefined suppress"
77         SHLD="$CC -dynamiclib -flat_namespace -undefined suppress"
78         MODULEEXT=bundle
79         RLDFLAG="-Wl,--rpath="
80         # This is needed for luajit on Mac OS X
81         LDFLAGS="$LDFLAGS -pagezero_size 10000 -image_base 100000000"
82         SHLDFLAGS="$SHLDFLAGS -image_base 100000000"
83         ;;
84 *-*-solaris*)
85         DTRACE=/usr/sbin/dtrace
86         DTRACE_ENABLED=1
87         DTRACEOBJ=dtrace_stub.o
88         CFLAGS="$CFLAGS"
89         CPPFLAGS="$CPPFLAGS -D_XPG6 -D__EXTENSIONS__"
90         if test "x$GCC" != "xyes" ; then
91         AC_MSG_CHECKING([32 or 64 bit Solaris assembly])
92         if test -n "`echo $CFLAGS | grep m64`" ; then
93                 DTRACEFLAGS=-64
94                 if test -n "`isalist | grep sparc`"; then
95                         AC_MSG_RESULT([sparc 64])
96                         ATOMIC_OBJS="noit_atomic_sol_sparcv9.o"
97                 else
98                         AC_MSG_RESULT([intel 64])
99                         ATOMIC_OBJS="noit_atomic_sol_x86_64.o"
100                 fi
101         else
102                 if test -n "`isalist | grep sparc`"; then
103                         AC_MSG_RESULT([sparc 32])
104                         ATOMIC_OBJS="noit_atomic_sol_sparcv8plus.o"
105                 else
106                         AC_MSG_RESULT([intel 32])
107                         ATOMIC_OBJS="noit_atomic_sol_x86_32.o"
108                 fi
109         fi
110         fi
111         if test "x$GCC" != "xyes" ; then
112                 CFLAGS="$CFLAGS -mt"
113                 PICFLAGS="-Kpic"
114                 MODULELD="$CC -G"
115                 SHLD="$CC -G"
116         else
117                 PICFLAGS="-fPIC"
118                 MODULELD="$CC -shared"
119                 SHLD="$CC -shared"
120                 CLINKFLAGS="-shared-libgcc"
121         fi
122         MODULEEXT=so
123         RLDFLAG="-R"
124         WHOLE_ARCHIVE="-Wl,-z -Wl,allextract"
125         NOWHOLE_ARCHIVE="-Wl,-z -Wl,defaultextract"
126         ;;
127 *-*-openbsd*)
128         PICFLAGS="-fpic"
129         LDFLAGS="$LDFLAGS -Wl,-E"
130         MODULELD="$CC -shared"
131         SHLD="$CC -shared"
132         MODULEEXT=so
133         LDFLAGS="$LDFLAGS -L/usr/local/lib"
134         CFLAGS="$CFLAGS -I/usr/local/include"
135         RLDFLAG="-Wl,--rpath="
136         WHOLE_ARCHIVE="-Wl,--whole-archive"
137         NOWHOLE_ARCHIVE="-Wl,--no-whole-archive"
138         ;;
139 *-*-linux*)
140         LDFLAGS="$LDFLAGS -Wl,-E"
141         CPPFLAGS="$CPPFLAGS -D_SVID_SOURCE -D_BSD_SOURCE"
142         PICFLAGS="-fpic"
143         MODULELD="$CC -shared"
144         SHLD="$CC -shared"
145         MODULEEXT=so
146         RLDFLAG="-Wl,--rpath="
147         WHOLE_ARCHIVE="-Wl,--whole-archive"
148         NOWHOLE_ARCHIVE="-Wl,--no-whole-archive"
149         ;;
150 *-*-freebsd*)
151         PICFLAGS="-fpic"
152         MODULELD="$CC -shared"
153         LDFLAGS="$LDFLAGS -export-dynamic -L/usr/local/lib"
154         CFLAGS="$CFLAGS -DCOMPAT_43TTY -I/usr/local/include"
155         MODULEEXT=so
156         RLDFLAG="-Wl,--rpath="
157         ;;
158 *)
159         PICFLAGS="-fpic"
160         MODULELD="$CC -shared"
161         MODULEEXT=so
162         RLDFLAG="-Wl,--rpath="
163         ;;
164 esac
165 AC_SUBST(DTRACE)
166 AC_SUBST(DTRACE_ENABLED)
167 if test "x$DTRACE_ENABLED" = "x1" ; then
168         AC_DEFINE(DTRACE_ENABLED)
169 fi
170 AC_SUBST(DTRACEOBJ)
171 AC_SUBST(DTRACEHDR)
172 AC_SUBST(DTRACEFLAGS)
173 AC_SUBST(CLINKFLAGS)
174 AC_SUBST(SHLD)
175 AC_SUBST(RLDFLAG)
176 AC_SUBST(DEPFLAGS)
177 AC_SUBST(MODULELD)
178 AC_SUBST(MODULEEXT)
179 AC_SUBST(WHOLE_ARCHIVE)
180 AC_SUBST(NOWHOLE_ARCHIVE)
181 AC_SUBST(ATOMIC_OBJS)
182 AC_DEFINE_UNQUOTED(MODULEEXT, "$MODULEEXT", [module extension])
183 AC_MSG_CHECKING([enable build/install of the Java IEP and Jezebel bits])
184
185 LUA_MODULE=lua.$MODULEEXT
186 if test "$enable_lua" = "no"; then
187   LUA_MODULE=
188 fi
189
190
191 if test -z "$ac_cv_path_JAVA" \
192         -o -z "$ac_cv_path_JAVAC" \
193         -o -z "$ac_cv_path_JAR" ; then
194         AC_MSG_RESULT([no])
195 else
196         if $ac_cv_path_JAVA -cp buildtools version 1.6 ; then
197                 JAVAPARTS=java
198                 AC_MSG_RESULT([yes])
199         else
200                 JVERSION=`$ac_cv_path_JAVA -cp buildtools version 1.6`
201                 AC_MSG_RESULT([too old: $JVERSION]);
202         fi
203 fi
204 AC_SUBST(JAVAPARTS)
205
206 # Checks for data types
207 AC_CHECK_SIZEOF(char, 1)
208 AC_CHECK_SIZEOF(short int, 2)
209 AC_CHECK_SIZEOF(int, 4)
210 AC_CHECK_SIZEOF(long int, 4)
211 AC_CHECK_SIZEOF(long long int, 8)
212 AC_CHECK_SIZEOF(void *, 1)
213
214 AC_CHECK_LIB(umem, umem_cache_create, , )
215 AC_CHECK_LIB(z, compress2, , [AC_MSG_ERROR(*** zlib is required ***)])
216 AC_CHECK_LIB(rt, sem_init, , )
217 AC_CHECK_LIB(posix4, sem_wait, , )
218 AC_CHECK_LIB(pthread, pthread_create, , )
219 AC_CHECK_LIB(protobuf-c, protobuf_c_message_get_packed_size, ,
220              [AC_MSG_ERROR(libprotobuf-c required)])
221
222 AC_CHECK_FUNC(uuid_generate, , [
223   AC_MSG_WARN([uuid_generate not available])
224   AC_SEARCH_LIBS(uuid_generate, uuid e2fs-uuid, , [AC_MSG_ERROR(*** uuid is required ***)])])
225
226 # Some libraries provide an unparse_lower command
227 # we use that, so if it isn't present, we'll need
228 # to implement it.
229 AC_CHECK_FUNC(uuid_unparse_lower, [AC_DEFINE(HAVE_UUID_UNPARSE_LOWER)], )
230 AC_CHECK_LIB(util, openpty, , )
231 AC_CHECK_LIB(termcap, tputs, , )
232 AC_CHECK_LIB(curses, clear, , [AC_MSG_ERROR([curses not found, but required])])
233
234 CPPFLAGS="$CPPFLAGS `pcre-config --cflags`"
235 LDFLAGS="$LDFLAGS `pcre-config --libs`"
236 SHLDFLAGS="$SHLDFLAGS `pcre-config --libs`"
237 AC_CHECK_LIB(pcre, pcre_compile, ,
238         [
239                 AC_MSG_ERROR([libpcre not found, but required])
240         ]
241 )
242 AC_CHECK_LIB(crypto, ERR_load_CRYPTO_strings, ,
243         [
244                 AC_MSG_ERROR([libcrypto not found, but required])
245         ]
246 )
247 AC_CHECK_LIB(ssl, SSL_library_init, ,
248         [
249                 AC_MSG_ERROR([libssl not found, but required])
250         ]
251 )
252
253 old_LIBS="$LIBS"
254 old_CFLAGS="$CFLAGS"
255 AC_CHECK_LIB(pq, PQconnectdb,
256         [
257                 LIBS="$LIBS -lpq"
258                 PGLIBS="$LIBS"
259                 AC_SUBST(PGLIBS)
260         ],
261         [
262                 AC_MSG_ERROR([libpq required])
263         ]
264 )
265
266 AC_MSG_CHECKING([libpq includes])
267 PQICFLAGS=`pg_config --includedir`
268 if test -n "$PQICFLAGS" ; then
269   CFLAGS="$CFLAGS -I$PQICFLAGS"
270 fi
271
272 AC_TRY_LINK([
273         #include <libpq-fe.h>
274         ],
275         [ PGconn *dbh = PQconnectdb(""); ],
276         [],
277         [ AC_MSG_ERROR([Cannot compile/link against libpq]) ]
278 )
279 PGCFLAGS=$CFLAGS
280 AC_SUBST(PGCFLAGS)
281 LIBS=$old_LIBS
282 CFLAGS=$old_CFLAGS
283
284 AC_CHECK_HEADERS(gcrypt.h)
285
286 AC_CHECK_HEADERS(mysql.h mysql/mysql.h)
287
288 if test "$ac_cv_header_mysql_h" = "no" -a "$ac_cv_header_mysql_mysql_h" = "no" ; then
289         AC_MSG_WARN([No libmysqlclient, skipping mysql module])
290         AC_SUBST(MYCFLAGS)
291         AC_SUBST(MYLIBS)
292 else
293         LIBS=$old_LIBS
294         CFLAGS=$old_CFLAGS
295        
296         if test -z "$MYLIBS" ; then
297           MYLIBS="-lmysqlclient_r -lz -lssl -lcrypto"
298         fi
299        
300         old_CFLAGS=$CFLAGS
301         old_LIBS=$LIBS
302         CFLAGS="$CFLAGS $MYCFLAGS"
303         LIBS="$MYLIBS"
304        
305         AC_CHECK_FUNC(mysql_real_connect,
306                 [
307                         BUILD_MODULES="$BUILD_MODULES mysql.$MODULEEXT"
308                         MYCFLAGS="$CFLAGS"
309                         MYLIBS="$LIBS"
310                         AC_SUBST(MYCFLAGS)
311                         AC_SUBST(MYLIBS)
312                 ],
313                 [
314                         AC_MSG_WARN([No libmysqlclient, skipping mysql module])
315                         AC_SUBST(MYCFLAGS)
316                         AC_SUBST(MYLIBS)
317                 ]
318         )
319        
320        
321         LIBS=$old_LIBS
322         CFLAGS=$old_CFLAGS
323 fi
324
325 ########
326 #
327 # CHECK FOR VARIOUS MODULE CRITERIA
328 # We don't track the libs themselves, as we'll just explictly link
329 # against the in the makefile if we enable them to build (by adding
330 # them to the BUILD_MODULES list).
331 #
332 ########
333
334 # Should we build snmp checks?
335 HAS_NETSNMP="no"
336 AC_CHECK_HEADERS(net-snmp/net-snmp-config.h)
337 if test "$ac_cv_header_net_snmp_net_snmp_config_h" = "yes" ; then
338 SAVELIBS="$LIBS"
339 AC_CHECK_LIB(netsnmp, snmp_sess_open,
340         [
341                 BUILD_MODULES="$BUILD_MODULES snmp.$MODULEEXT"
342                 HAS_NETSNMP="yes"
343         ]
344 )
345 LIBS="$SAVELIBS"
346 fi
347 if test "x$HAS_NETSNMP" = "xno"; then
348         AC_MSG_WARN([No libnetsnmp, skipping snmp module])
349         if test -n "$LUA_MODULE"; then
350                 AC_MSG_ERROR([*** lua specified, but no SNMP ***])
351         fi
352 fi
353
354 # Should we build ssh2 checks?
355 SAVELIBS="$LIBS"
356 AC_CHECK_LIB(ssh2, libssh2_session_init_ex,
357         [
358                 BUILD_MODULES="$BUILD_MODULES ssh2.$MODULEEXT"
359         ],
360         [
361                 AC_MSG_WARN([No libssh2, skipping ssh2 module])
362         ]
363 )
364 LIBS="$SAVELIBS"
365
366 AC_MSG_CHECKING([libxml2 cflags])
367 XML2CFLAGS=`xml2-config --cflags`
368 CFLAGS="$CFLAGS $XML2CFLAGS"
369 AC_MSG_RESULT([$XML2CFLAGS])
370
371 AC_MSG_CHECKING([libxml2 libs])
372 XML2LIBS=`xml2-config --libs`
373 LIBS="$LIBS $XML2LIBS"
374 AC_MSG_RESULT([$XML2LIBS])
375
376 AC_CHECK_FUNC(xmlParseDocument, , [AC_MSG_ERROR(*** libxml2 is required ***)])
377
378 AC_MSG_CHECKING([libxslt cflags])
379 XSLTCFLAGS=`xslt-config --cflags`
380 CFLAGS="$CFLAGS $XSLTCFLAGS"
381 AC_MSG_RESULT([$XSLTCFLAGS])
382
383 AC_MSG_CHECKING([libxslt libs])
384 XSLTLIBS=`xslt-config --libs`
385 LIBS="$LIBS $XSLTLIBS"
386 AC_MSG_RESULT([$XSLTLIBS])
387
388 AC_CHECK_FUNC(xsltParseStylesheetDoc, , [AC_MSG_ERROR(*** libxslt is required ***)])
389
390 AC_MSG_CHECKING([apr-1-config for needed for stomp support])
391 APRPREFIX=`apr-1-config --prefix`
392 if test $? -eq "0"; then
393         BUILD_SMODULES="$BUILD_SMODULES stomp_driver.$MODULEEXT"
394 fi
395 AC_SUBST(APRPREFIX)
396 AC_MSG_RESULT([$APRPREFIX])
397
398 AC_MSG_CHECKING([libapr cflags])
399 APRCFLAGS="`apr-1-config --cflags --cppflags --includes`"
400 AC_SUBST(APRCFLAGS)
401 AC_MSG_RESULT([$APRCFLAGS])
402
403 AC_MSG_CHECKING([libapr libs])
404 APRLIBS="`apr-1-config --link-ld --ldflags --libs`"
405 AC_SUBST(APRLIBS)
406 AC_MSG_RESULT([$APRLIBS])
407
408 AC_TRY_LINK([],
409         [ issetugid(); ],
410         [ ac_cv_libc_defines_issetugid="yes" ],
411         [ ac_cv_libc_defines_issetugid="no" ]
412 )
413 if test "x$ac_cv_libc_defines_issetugid" = "xyes" ; then
414         AC_DEFINE(HAVE_ISSETUGID)
415 fi
416
417 AC_MSG_CHECKING([whether sem_init works])
418 AC_TRY_RUN(
419         [
420 #include <semaphore.h>
421 int main(void){sem_t s;return (0 != sem_init(&s,0,0));}
422         ],
423         [
424                 AC_MSG_RESULT(yes)
425                 AC_DEFINE(WORKING_SEM_INIT)
426         ],
427         [
428                 AC_MSG_RESULT(no)
429                 AC_MSG_WARN([****** sem_init() is broken, I'll implement one myself.])
430         ]
431 )
432
433 AC_FUNC_STRFTIME
434 AC_CHECK_FUNCS(ssetugid strlcpy strnstrn openpty inet_pton inet_ntop getopt \
435                poll vasprintf)
436
437 # Checks for header files.
438 AC_CHECK_HEADERS(sys/file.h sys/types.h dirent.h sys/param.h fcntl.h errno.h limits.h \
439                  sys/resource.h pthread.h semaphore.h pwd.h stdio.h stdlib.h string.h \
440                  ctype.h unistd.h time.h pty.h sys/stat.h sys/event.h libkern/OSAtomic.h \
441                  termio.h termios.h curses.h sys/cdefs.h grp.h netinet/in_systm.h \
442                  sys/ioctl_compat.h sys/filio.h util.h sys/time.h sys/mman.h \
443                  sys/ioctl.h stropts.h sys/stream.h alloca.h sys/wait.h bsd/libutil.h libutil.h)
444 AC_CHECK_HEADERS([term.h], [], [],
445      [[#ifdef HAVE_CURSES_H
446      # include <curses.h>
447      #endif
448      ]])
449
450 AC_CHECK_DECLS([openpty], [], [],
451                 [#if defined(HAVE_SYS_TYPES_H)
452                  # include <sys/types.h>
453                  #endif
454                  #if defined(HAVE_SYS_IOCTL_H)
455                  # include <sys/ioctl.h>
456                  #endif
457                  #if defined(HAVE_TERMIOS_H)
458                  # include <termios.h>
459                  #endif
460                  #if defined(HAVE_BSD_LIBUTIL_H)
461                  # include <bsd/libutil.h>
462                  #elif defined(HAVE_LIBUTIL_H)
463                  # include <libutil.h>
464                  #endif
465                  #if defined(HAVE_UTIL_H)
466                  # include <util.h>
467                  #endif
468                  #if defined(HAVE_PTY_H)
469                  # include <pty.h>
470                  #endif
471                 ])
472
473 AC_CHECK_FUNCS(getpwnam_r)
474 GETPWNAM_R_POSIX
475 AC_CHECK_FUNCS(getgrnam_r)
476 GETGRNAM_R_POSIX
477
478 AC_MSG_CHECKING(for tputs() function final argument type)
479 AC_EGREP_CPP([tputs.*[(][       ]*char[         ]*[)]],
480                 [#if defined(HAVE_TERM_H)
481                  #include <term.h>
482                  #endif
483                  #if defined(HAVE_CURSES_H)
484                  #include <curses.h>
485                  #endif],
486                 [AC_MSG_RESULT(char)
487                  AC_DEFINE(TPUTS_TAKES_CHAR)],
488                 [AC_MSG_RESULT(not char)])
489
490 AC_MSG_CHECKING(for tgoto() function final argument type)
491 AC_EGREP_CPP([tgoto.*[(][       ]*char[         ]*],
492                 [#if defined(HAVE_TERM_H)
493                  #include <term.h>
494                  #endif
495                  #if defined(HAVE_CURSES_H)
496                  #include <curses.h>
497                  #endif],
498                 [AC_MSG_RESULT(char)
499                  AC_DEFINE(TGOTO_TAKES_CHAR)],
500                 [AC_MSG_RESULT(not char)])
501
502 AC_CACHE_CHECK([for epoll support], ac_cv_have_epoll, [
503         AC_TRY_LINK(
504                 [ #include <sys/types.h> ],
505                 [ int a; a = epoll_create(); ],
506                 [ ac_cv_have_epoll="yes" ],
507                 [ ac_cv_have_epoll="no" ]
508         )
509 ])
510 if test "x$ac_cv_have_epoll" = "xyes" ; then
511         AC_DEFINE(HAVE_EPOLL)
512         EVENTER_OBJS="$EVENTER_OBJS eventer_epoll_impl.o"
513         AC_DEFINE_UNQUOTED(DEFAULT_EVENTER, "epoll")
514         have_epoll=1
515 fi
516
517 AC_CACHE_CHECK([for kqueue support], ac_cv_have_kqueue, [
518         AC_TRY_LINK(
519                 [ #include <sys/types.h> ],
520                 [ u_int a; a = kqueue(); ],
521                 [ ac_cv_have_kqueue="yes" ],
522                 [ ac_cv_have_kqueue="no" ]
523         )
524 ])
525 if test "x$ac_cv_have_kqueue" = "xyes" ; then
526         AC_DEFINE(HAVE_KQUEUE)
527         EVENTER_OBJS="$EVENTER_OBJS eventer_kqueue_impl.o"
528         AC_DEFINE_UNQUOTED(DEFAULT_EVENTER, "kqueue")
529         have_kqueue=1
530 fi
531
532 AC_CACHE_CHECK([for Solaris ports support], ac_cv_have_ports, [
533         AC_TRY_LINK(
534                 [ #include <port.h> ],
535                 [ u_int a; a = port_create(); ],
536                 [ ac_cv_have_ports="yes" ],
537                 [ ac_cv_have_ports="no" ]
538         )
539 ])
540 if test "x$ac_cv_have_ports" = "xyes" ; then
541         AC_DEFINE(HAVE_PORTS)
542         EVENTER_OBJS="$EVENTER_OBJS eventer_ports_impl.o"
543         AC_DEFINE_UNQUOTED(DEFAULT_EVENTER, "ports")
544         have_ports=1
545 fi
546
547 AC_SUBST(EVENTER_OBJS)
548
549 AC_CACHE_CHECK([for posix_readdir_r], ac_cv_have_posix_readdir_r, [
550         AC_TRY_COMPILE(
551                 [ #include <dirent.h> ],
552                 [ struct dirent *dep, de; readdir_r("/", &de, &dep); ],
553                 [ ac_cv_have_posix_readdir_r="yes" ],
554                 [ ac_cv_have_posix_readdir_r="no" ]
555         )
556 ])
557 if test "x$ac_cv_have_posix_readdir_r" = "xyes" ; then
558         AC_DEFINE(HAVE_POSIX_READDIR_R)
559         have_posix_readdir_r=1
560 fi
561
562 AC_CACHE_CHECK([for sig_t type], ac_cv_have_sig_t, [
563         AC_TRY_COMPILE(
564                 [ #include <signal.h> ],
565                 [ sig_t a; (void)a;],
566                 [ ac_cv_have_sig_t="yes" ],
567                 [ ac_cv_have_sig_t="no" ]
568         )
569 ])
570 if test "x$ac_cv_have_sig_t" = "xyes" ; then
571         AC_DEFINE(HAVE_SIG_T)
572         have_sig_t=1
573 fi
574
575 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [
576         AC_TRY_COMPILE(
577                 [ #include <sys/types.h> ],
578                 [ u_int a; a = 1;],
579                 [ ac_cv_have_u_int="yes" ],
580                 [ ac_cv_have_u_int="no" ]
581         )
582 ])
583 if test "x$ac_cv_have_u_int" = "xyes" ; then
584         AC_DEFINE(HAVE_U_INT)
585         have_u_int=1
586 fi
587
588 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [
589         AC_TRY_COMPILE(
590                 [ #include <sys/types.h> ],
591                 [ int8_t a; int16_t b; int32_t c; a = b = c = 1;],
592                 [ ac_cv_have_intxx_t="yes" ],
593                 [ ac_cv_have_intxx_t="no" ]
594         )
595 ])
596 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
597         AC_DEFINE(HAVE_INTXX_T)
598         have_intxx_t=1
599 fi
600        
601 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [
602         AC_TRY_COMPILE(
603                 [ #include <sys/types.h> ],
604                 [ int64_t a; a = 1;],
605                 [ ac_cv_have_int64_t="yes" ],
606                 [ ac_cv_have_int64_t="no" ]
607         )
608 ])
609 if test "x$ac_cv_have_int64_t" = "xyes" ; then
610         AC_DEFINE(HAVE_INT64_T)
611         have_int64_t=1
612 fi
613        
614 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [
615         AC_TRY_COMPILE(
616                 [ #include <sys/types.h> ],
617                 [ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;],
618                 [ ac_cv_have_u_intxx_t="yes" ],
619                 [ ac_cv_have_u_intxx_t="no" ]
620         )
621 ])
622 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
623         AC_DEFINE(HAVE_U_INTXX_T)
624         have_u_intxx_t=1
625 fi
626
627 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t, [
628         AC_TRY_COMPILE(
629                 [ #include <sys/types.h> ],
630                 [ u_int64_t a; a = 1;],
631                 [ ac_cv_have_u_int64_t="yes" ],
632                 [ ac_cv_have_u_int64_t="no" ]
633         )
634 ])
635 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
636         AC_DEFINE(HAVE_U_INT64_T)
637         have_u_int64_t=1
638 fi
639
640 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
641            test "x$ac_cv_header_sys_bitypes_h" = "xyes")
642 then
643         AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
644         AC_TRY_COMPILE(
645                 [
646 #include <sys/bitypes.h>
647                 ],
648                 [
649                         int8_t a; int16_t b; int32_t c;
650                         u_int8_t e; u_int16_t f; u_int32_t g;
651                         a = b = c = e = f = g = 1;
652                 ],
653                 [
654                         AC_DEFINE(HAVE_U_INTXX_T)
655                         AC_DEFINE(HAVE_INTXX_T)
656                         AC_MSG_RESULT(yes)
657                 ],
658                 [AC_MSG_RESULT(no)]
659         )
660 fi
661
662 if test -z "$have_u_intxx_t" ; then
663         AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t, [
664                 AC_TRY_COMPILE(
665                         [
666 #include <sys/types.h>
667                         ],
668                         [ uint8_t a; uint16_t b; uint32_t c; a = b = c = 1; ],
669                         [ ac_cv_have_uintxx_t="yes" ],
670                         [ ac_cv_have_uintxx_t="no" ]
671                 )
672         ])
673         if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
674                 AC_DEFINE(HAVE_UINTXX_T)
675         fi
676 fi
677
678 AC_CACHE_CHECK([for socklen_t], ac_cv_have_socklen_t, [
679         AC_TRY_COMPILE(
680                 [
681 #include <sys/types.h>
682 #include <sys/socket.h>
683                 ],
684                 [socklen_t foo; foo = 1235;],
685                 [ ac_cv_have_socklen_t="yes" ],
686                 [ ac_cv_have_socklen_t="no" ]
687         )
688 ])
689 if test "x$ac_cv_have_socklen_t" = "xyes" ; then
690         AC_DEFINE(HAVE_SOCKLEN_T)
691 fi
692
693 AC_CACHE_CHECK([for size_t], ac_cv_have_size_t, [
694         AC_TRY_COMPILE(
695                 [
696 #include <sys/types.h>
697                 ],
698                 [ size_t foo; foo = 1235; ],
699                 [ ac_cv_have_size_t="yes" ],
700                 [ ac_cv_have_size_t="no" ]
701         )
702 ])
703 if test "x$ac_cv_have_size_t" = "xyes" ; then
704         AC_DEFINE(HAVE_SIZE_T)
705 fi
706
707 AC_CACHE_CHECK([for ssize_t], ac_cv_have_ssize_t, [
708         AC_TRY_COMPILE(
709                 [
710 #include <sys/types.h>
711                 ],
712                 [ ssize_t foo; foo = 1235; ],
713                 [ ac_cv_have_ssize_t="yes" ],
714                 [ ac_cv_have_ssize_t="no" ]
715         )
716 ])
717 if test "x$ac_cv_have_ssize_t" = "xyes" ; then
718         AC_DEFINE(HAVE_SSIZE_T)
719 fi
720
721 BUILD_MODULES="$BUILD_MODULES $LUA_MODULE"
722
723 AC_SUBST(BUILD_MODULES)
724 AC_SUBST(BUILD_SMODULES)
725
726 docdir="docs"
727 mansubdir="man"
728 AC_SUBST(docdir)
729 AC_SUBST(mansubdir)
730 SHCFLAGS="$PICFLAGS $CFLAGS"
731 AC_SUBST(SHCFLAGS)
732 AC_SUBST(LD)
733 AC_SUBST(SHLDFLAGS)
734
735 SUBPREFIX="$prefix"
736 if test "x$prefix" = "xNONE"; then
737   SUBPREFIX="$ac_default_prefix"
738 fi
739 AC_MSG_CHECKING([Resolving libexec path...])
740 fullpath=$libexecdir
741 while test "x$temppath" != "x$fullpath" ; do
742   temppath=$fullpath
743   fullpath=`eval echo ${fullpath}`
744 done
745 fullpath=`echo $fullpath | sed "s~NONE~$SUBPREFIX~"`
746 AC_MSG_RESULT([$fullpath/noit])
747 AC_DEFINE_UNQUOTED(MODULES_DIR, "${fullpath}/noit")
748 MODULES_DIR=${fullpath}/noit
749 AC_SUBST(MODULES_DIR)
750
751 JAVA_LIB_DIR="$prefix/java"
752 AC_ARG_WITH(java-libdir,
753         [--with-javalibdir=PFX  prefix to install java libs (optional)],
754         [JAVA_LIB_DIR=$withval],)
755 AC_MSG_CHECKING([Resolving javalibdir path...])
756 fullpath=$JAVA_LIB_DIR
757 while test "x$temppath" != "x$fullpath" ; do
758   temppath=$fullpath
759   fullpath=`eval echo ${fullpath}`
760 done
761 fullpath=`echo $fullpath | sed "s~NONE~$SUBPREFIX~"`
762 JAVA_LIB_DIR=$fullpath
763 AC_MSG_RESULT([$fullpath])
764 AC_SUBST(JAVA_LIB_DIR)
765
766 AC_MSG_CHECKING([Resolving sysconfdir path...])
767 fullpath=$sysconfdir
768 while test "x$temppath" != "x$fullpath" ; do
769   temppath=$fullpath
770   fullpath=`eval echo ${fullpath}`
771 done
772 fullpath=`echo $fullpath | sed "s~NONE~$SUBPREFIX~"`
773 AC_MSG_RESULT([$fullpath])
774 AC_DEFINE_UNQUOTED(ETC_DIR, "${fullpath}")
775 ETC_DIR=${fullpath}
776 AC_SUBST(ETC_DIR)
777
778 if test -n "`$CC -V 2>&1 | grep 'Sun C'`"; then
779   if test "$enable_string" != "no"; then
780     CFLAGS="$CFLAGS -errwarn=%all"
781   fi
782 else
783   CFLAGS="$CFLAGS -Wall"
784   if test "$enable_strict" != "no"; then
785     CFLAGS="$CFLAGS -Werror"
786   fi
787 fi
788
789 LUACFLAGS=`echo $CFLAGS | sed -e "s#${C99FLAG}##g; s#-mt##g; s#-errwarn=%all##g;"`
790 AC_SUBST(LUACFLAGS)
791
792 UNAME_V=`uname -v`
793 UNAME_R=`uname -r`
794 UNAME_S=`uname -s`
795 UNAME_M=`uname -m`
796 UNAME_N=`uname -n`
797 UNAME_P=`uname -p`
798 AC_DEFINE_UNQUOTED(UNAME_V, "$UNAME_V")
799 AC_DEFINE_UNQUOTED(UNAME_R, "$UNAME_R")
800 AC_DEFINE_UNQUOTED(UNAME_S, "$UNAME_S")
801 AC_DEFINE_UNQUOTED(UNAME_M, "$UNAME_M")
802 AC_DEFINE_UNQUOTED(UNAME_N, "$UNAME_N")
803 AC_DEFINE_UNQUOTED(UNAME_P, "$UNAME_P")
804
805 AC_OUTPUT([
806 Makefile
807 src/Makefile
808 src/Makefile.objs
809 src/eventer/Makefile
810 src/jlog/Makefile
811 src/jlog/perl/Makefile.PL
812 src/lua/Makefile
813 src/udns/Makefile
814 src/json-lib/Makefile
815 src/yajl-lib/Makefile
816 src/man/Makefile
817 src/modules/Makefile
818 src/modules-lua/Makefile
819 src/utils/Makefile
820 src/noitedit/Makefile
821 src/java/Makefile
822 src/java/run-iep.sh
823 src/java/jezebel
824 src/scripts/noit-config
825 sql/Makefile
826 test/Makefile
827 ])
Note: See TracBrowser for help on using the browser.