--- parser3/Attic/configure.in 2003/03/12 09:40:19 1.62.2.3 +++ parser3/Attic/configure.in 2003/11/06 08:22:48 1.65 @@ -2,7 +2,7 @@ dnl Process this file with autoconf to p AC_INIT(README) AC_PREREQ(2.57) -AM_INIT_AUTOMAKE(parser, 3.0.HEAD, nodefine) +AM_INIT_AUTOMAKE(parser, 3.1.1, nodefine) dnl expand srcdir P3S=`cd $srcdir/src ; pwd` @@ -21,6 +21,7 @@ else fi + dnl AC_CANONICAL_SYSTEM AC_CANONICAL_HOST AC_SUBST(host_os) @@ -50,11 +51,18 @@ fi AC_PROG_CXX AC_PROG_CC -dnl most tests sould be compiled with C compiler [especially qsort test] -AC_LANG_C AC_C_INLINE +dnl most tests should be compiled with C compiler [especially qsort test] +AC_LANG_C +AC_C_INLINE dnl Arguments +AC_ARG_WITH(assertions, [ --with-assertions to enable assertions], + AC_MSG_WARN(enabling assertions) +, + AC_DEFINE(NDEBUG,,assertions disabled) +) + AC_ARG_ENABLE(safe-mode, [ --disable-safe-mode to enable reading and executing files belonging to group+user other then effective], [ @@ -77,15 +85,6 @@ fi ] ) -AC_ARG_ENABLE(string-origins, [ --disable-string-origins to switch off string origin tracking], -[ -if test "$enableval" = "no"; then - AC_MSG_WARN(disabling string origin tracking) - AC_DEFINE(NO_STRING_ORIGIN,,no string origin tracking) -fi -] -) - srccharsetsdir=$srcdir/etc/parser3.charsets CHARSETS_REQUESTED="windows-1251" @@ -205,15 +204,47 @@ AC_ARG_WITH(dynamic-stdcpp, [ --with-dy AC_MSG_WARN(libstdc++ will be linked dynamically: this is probably incompatible with other platforms) # this is for apache, it's linked with gcc and need to know # and it would not harm linking with c++ toolchain - LDFLAGS="$LDFLAGS -lstdc++" + CPP_LIBS="-lstdc++" ],[ - LDFLAGS="$LDFLAGS -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic" + CPP_LIBS="-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic" ]) +AC_SUBST(CPP_LIBS) AC_ARG_WITH(sjlj-exceptions,[ --with-sjlj-exceptions enable simple 'throw' from dynamic library], AC_DEFINE(PA_WITH_SJLJ_EXCEPTIONS,,one can throw from dynamic library) ) +GC_LIB_NAME=gc +AC_ARG_WITH(shared-gc,[ --with-shared-gc[=D] D is the directory where + Boehm garbage collecting library is installed (shared lib)],[ + GC_LIBS="-L$withval -l$GC_LIB_NAME" +]) +AC_ARG_WITH(static-gc,[ --with-static-gc[=D] D is the directory where + Boehm garbage collecting library is installed (static lib)],[ + GC_LIBS="-L$withval -Wl,-Bstatic -l$GC_LIB_NAME -Wl,-Bdynamic" +]) +if test -z "$GC_LIBS"; then + #undefined? use any found in system + GC_LIBS="-l$GC_LIB_NAME" + AC_MSG_WARN([neither --with-shared/static-gc were specified, hoping linker would find it]) +fi + +AC_MSG_CHECKING(for libgc) +SAVE_LIBS=$LIBS +LIBS="$LIBS $GC_LIBS" +AC_TRY_LINK([ + extern int GC_dont_gc; +],[ + GC_dont_gc=0; +], + AC_MSG_RESULT(yes) +, + AC_MSG_RESULT(no) + AC_MSG_ERROR(please specify path to libgc: --with-shared-gc OR --with-static-gc) +) +AC_SUBST(GC_LIBS) +LIBS=$SAVE_LIBS + AC_ARG_WITH(glib-config,[ --with-glib-config=FILE FILE is glib library configuration file (search for glib*-config)], @@ -380,7 +411,6 @@ AC_CONFIG_SUBDIRS(src/lib/ltdl) dnl detecting which libraries are needed to dynamic open AC_LTDL_DLLIB AC_SUBST(LIBADD_DL) -LIBS="$LIBS $LIBADD_DL" dnl Checks for typedefs, structures, and compiler characteristics. @@ -395,6 +425,7 @@ dnl Checks for C header files. AC_HEADER_TIME AC_CHECK_HEADERS( +assert.h \ signal.h \ unistd.h \ process.h \ @@ -409,7 +440,6 @@ ctype.h \ math.h \ crypt.h \ time.h sys/time.h \ -stdlib.h \ string.h \ direct.h \ setjmp.h \ @@ -458,9 +488,6 @@ AC_CHECK_LIB(crypt, crypt) dnl Checks for functions. AC_CHECK_FUNCS( -trunc \ -round \ -sign \ flock \ _locking \ fcntl \ @@ -469,8 +496,20 @@ ftruncate \ getrusage \ gettimeofday \ crypt \ -sigsetjmp siglongjmp +siglongjmp +) + +dnl on some linux[seen on 2.4] it's a macro +PA_CHECK_SIGSETJMP + +dnl see comment above +AC_LANG_PUSH(C++) +PA_CHECK_MATH_FUNCS_ONE_ARG( +trunc \ +round \ +sign ) +AC_LANG_POP dnl We require qsort(3) and select(2). @@ -589,4 +628,4 @@ AH_TEMPLATE([HAVE_TM_TZADJ], AM_CONFIG_HEADER(src/include/pa_config_auto.h) -AC_OUTPUT(Makefile src/Makefile src/types/Makefile src/classes/Makefile src/classes/gd/Makefile src/classes/smtp/Makefile src/include/Makefile src/main/Makefile src/sql/Makefile src/lib/Makefile src/lib/ltdl/Makefile src/lib/pcre/Makefile src/lib/md5/Makefile src/lib/patches/Makefile src/targets/Makefile src/targets/cgi/Makefile src/targets/apache13/Makefile src/targets/apache13/hook/Makefile src/targets/apache13/p3runConfigure src/targets/isapi/Makefile etc/Makefile etc/parser3.charsets/Makefile bin/Makefile bin/auto.p.dist) +AC_OUTPUT(Makefile src/Makefile src/types/Makefile src/classes/Makefile src/classes/gd/Makefile src/classes/smtp/Makefile src/include/Makefile src/main/Makefile src/sql/Makefile src/lib/Makefile src/lib/patches/Makefile src/lib/gc/Makefile src/lib/gc/include/Makefile src/lib/cord/Makefile src/lib/cord/include/Makefile src/lib/cord/include/private/Makefile src/lib/ltdl/Makefile src/lib/pcre/Makefile src/lib/md5/Makefile src/targets/Makefile src/targets/cgi/Makefile src/targets/apache13core/Makefile src/targets/apache13/Makefile src/targets/apache13/p3runConfigure src/targets/isapi/Makefile etc/Makefile etc/parser3.charsets/Makefile bin/Makefile bin/auto.p.dist)