--- parser3/Attic/configure.in 2003/03/12 14:13:41 1.62.2.4 +++ parser3/Attic/configure.in 2005/11/22 15:55:14 1.85 @@ -2,13 +2,16 @@ 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.2.0beta, nodefine) dnl expand srcdir P3S=`cd $srcdir/src ; pwd` AC_SUBST(P3S) -PARSER_VERSION=$VERSION +dnl AC_CANONICAL_SYSTEM +AC_CANONICAL_HOST + +PARSER_VERSION="$VERSION (compiled on $host)" echo "/* automatically generated by configure */" > $srcdir/src/include/pa_version.h.new echo "/* edit configure.in to change version number */" >> $srcdir/src/include/pa_version.h.new echo "#define PARSER_VERSION \"$PARSER_VERSION\"" >> $srcdir/src/include/pa_version.h.new @@ -21,8 +24,7 @@ else fi -dnl AC_CANONICAL_SYSTEM -AC_CANONICAL_HOST + AC_SUBST(host_os) case $host_os in *cygwin* ) AC_DEFINE(CYGWIN,,using cygwin building environment);; @@ -50,11 +52,24 @@ 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(build-warnings, [ --with-build-warnings to enable build-time compiler warnings if gcc is used], + AC_MSG_WARN(enabling compiler warnings) + CXXFLAGS="$CXXFLAGS -W -Wall -Wstrict-prototypes -Wmissing-prototypes" +) + + +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 +92,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" @@ -215,6 +221,37 @@ AC_ARG_WITH(sjlj-exceptions,[ --with-sj 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)], @@ -381,10 +418,17 @@ 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. +AC_C_BIGENDIAN( + AC_DEFINE(PA_BIG_ENDIAN,,compile for sparc processor) +, + AC_DEFINE(PA_LITTLE_ENDIAN,,compile for intel processor or compatible) +, + AC_MSG_ERROR(word endianness not determined for some obscure reason) +) + AC_TYPE_SIZE_T dnl gmime AC_CHECK_TYPE(off_t, long) @@ -396,6 +440,7 @@ dnl Checks for C header files. AC_HEADER_TIME AC_CHECK_HEADERS( +assert.h \ signal.h \ unistd.h \ process.h \ @@ -410,7 +455,6 @@ ctype.h \ math.h \ crypt.h \ time.h sys/time.h \ -stdlib.h \ string.h \ direct.h \ setjmp.h \ @@ -459,9 +503,6 @@ AC_CHECK_LIB(crypt, crypt) dnl Checks for functions. AC_CHECK_FUNCS( -trunc \ -round \ -sign \ flock \ _locking \ fcntl \ @@ -470,13 +511,25 @@ ftruncate \ getrusage \ gettimeofday \ crypt \ -sigsetjmp siglongjmp +sigsetjmp \ +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). +dnl We require qsort(3) AC_CHECK_FUNCS(qsort, , AC_MSG_ERROR([No qsort library function.])) -AC_CHECK_FUNCS(select, , AC_MSG_ERROR([No select library function.])) dnl For correct mail receiving we need to know local offset from GMT dnl it be timezone+(daylight?60*60*sign(timezone):0) @@ -529,36 +582,6 @@ dnl fi dnl ] dnl ) -dnl install directories - -# expand apostrophed -e_prefix=$prefix -test "x$e_prefix" = xNONE && e_prefix=$ac_default_prefix - -e_sysconfdir=$sysconfdir -test "$e_sysconfdir" = "\${prefix}/etc" && e_sysconfdir="${e_prefix}/etc" - -dnl these are used to fill in etc/parser3.conf - -charsetsdir=$e_sysconfdir/parser3.charsets -AC_SUBST(charsetsdir) - -# expand apostrophed -e_libdir=$libdir -if test "$e_libdir" = "\${exec_prefix}/lib"; then - - # Let make expand exec_prefix. - e_exec_prefix=$exec_prefix - test "x$e_exec_prefix" = xNONE && e_exec_prefix=$e_prefix - - # expand apostrophed - test "$e_libdir" = "\${exec_prefix}/lib" && e_libdir="${e_exec_prefix}/lib" -fi - -sqldriversdir=$e_libdir -AC_SUBST(sqldriversdir) - - dnl Output header and makefiles AH_TEMPLATE([HAVE_DLD],[Define if you have the GNU dld library]) @@ -590,4 +613,35 @@ 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/include/Makefile + src/main/Makefile + src/sql/Makefile + src/lib/Makefile + src/lib/patches/Makefile + src/lib/gd/Makefile + src/lib/smtp/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/lib/sdbm/Makefile + src/lib/sdbm/apr-include/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)