Annotation of parser3/configure.in, revision 1.1
1.1 ! paf 1: dnl Process this file with autoconf to produce a configure script.
! 2: AC_INIT(README)
! 3: AM_INIT_AUTOMAKE(parser, 3.0b, nodefine)
! 4:
! 5: dnl not perfect, but would do
! 6: P3S=`pwd`
! 7: AC_SUBST(P3S)
! 8:
! 9: PARSER_VERSION=$VERSION
! 10: echo "/* automatically generated by configure */" > src/include/pa_version.h.new
! 11: echo "/* edit configure.in to change version number */" >> src/include/pa_version.h.new
! 12: echo "#define PARSER_VERSION \"$PARSER_VERSION\"" >> src/include/pa_version.h.new
! 13: cmp src/include/pa_version.h.new src/include/pa_version.h >/dev/null 2>&1
! 14: if test $? -ne 0 ; then
! 15: rm -f src/include/pa_version.h && mv src/include/pa_version.h.new src/include/pa_version.h && \
! 16: echo 'Updated src/include/pa_version.h'
! 17: else
! 18: rm -f src/include/pa_version.h.new
! 19: fi
! 20:
! 21: AC_PROG_INSTALL
! 22: AC_PROG_CC
! 23: AC_LANG_C AC_C_INLINE
! 24: AC_PROG_CXX
! 25: AC_LANG_CPLUSPLUS
! 26:
! 27:
! 28: dnl Arguments
! 29:
! 30: AC_ARG_ENABLE(string-origins, [ --disable-string-origins to switch off string origin tracking],
! 31: [
! 32: if test "$enableval" = "no"; then
! 33: AC_DEFINE(NO_STRING_ORIGIN,,no string origin tracking)
! 34: fi
! 35: ]
! 36: )
! 37:
! 38: AC_ARG_WITH(apache13,[ --with-apache13[=D] D is the Apache13 source distribution directory
! 39: builds library for apache_module using that dir
! 40: (do not add /src)],
! 41: APACHE13=$withval
! 42: if test \! -f "$APACHE13/src/include/httpd.h"; then
! 43: AC_MSG_ERROR($APACHE13 does not seem to be valid Apache13 source distribution directory)
! 44: fi
! 45: )
! 46: AC_SUBST(APACHE13)
! 47: AM_CONDITIONAL(COMPILE_APACHE13_MODULE, test -n "$APACHE13")
! 48:
! 49:
! 50: AC_ARG_WITH(pathlink,[ --with-pathlink[=LKEY] put dynamic libraries paths to binary
! 51: using linker key (-R, -rpath-link)],
! 52: LD_PATHLINK=$withval
! 53: )
! 54:
! 55: AC_ARG_WITH(gnome-xml,[ --with-gnome-xml[=D] D is the directory where
! 56: Gnome XML libraries are installed],[
! 57: GNOME_XML=$withval
! 58: XMLBIN_DIR="$GNOME_XML/bin"
! 59: XMLINC_DIR="$GNOME_XML/include"
! 60: XMLLIB_DIR="$GNOME_XML/lib"
! 61:
! 62: if test \! -d $XMLBIN_DIR -o \! -d $XMLINC_DIR -o \! -d $XMLLIB_DIR; then
! 63: AC_MSG_ERROR($GNOME_XML does not seem to be valid Gnome installation directory)
! 64: fi
! 65:
! 66: AC_DEFINE(XML,,xml-abled parser)
! 67:
! 68: LIBXML2_SO_NAME=`cd $XMLLIB_DIR ; ls libxml2.?? libxml2.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'`
! 69: if test -z "$LIBXML2_SO_NAME"; then
! 70: AC_MSG_ERROR($LIBXML_DIR does not containt XML2 dynamic library)
! 71: fi
! 72: LIBGDOME_SO_NAME=`cd $XMLLIB_DIR ; ls libgdome.?? libgdome.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'`
! 73: if test -z "$LIBGDOME_SO_NAME"; then
! 74: AC_MSG_ERROR($LIBXML_DIR does not containt GDOME dynamic library)
! 75: fi
! 76: LIBXSLT_SO_NAME=`cd $XMLLIB_DIR ; ls libxslt.?? libxslt.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'`
! 77: if test -z "$LIBXSLT_SO_NAME"; then
! 78: AC_MSG_ERROR($LIBXML_DIR does not containt XSLT dynamic library)
! 79: fi
! 80: LIBEXSLT_SO_NAME=`cd $XMLLIB_DIR ; ls libexslt.?? libexslt.??? 2>/dev/null | grep -v \.la$ | sed 's/lib//' | sed 's/\..*//'`
! 81: if test -z "$LIBEXSLT_SO_NAME"; then
! 82: AC_MSG_ERROR($LIBXML_DIR does not containt EXSLT dynamic library)
! 83: fi
! 84:
! 85: GLIB_CONFIG=$XMLBIN_DIR/glib-config
! 86: if test \! -x $GLIB_CONFIG; then
! 87: GLIB_CONFIG=glib-config
! 88: fi
! 89: GLIB_CFLAGS=`$GLIB_CONFIG --cflags`
! 90: GLIB_LIBS=`$GLIB_CONFIG --libs`
! 91:
! 92: XML_INCLUDES="$GLIB_CFLAGS -I$XMLINC_DIR -I$XMLINC_DIR/libgdome -I$XMLINC_DIR/libxml2"
! 93: XML_LIBS="-L$XMLLIB_DIR -lglib -l$LIBXML2_SO_NAME -l$LIBGDOME_SO_NAME -l$LIBXSLT_SO_NAME -l$LIBEXSLT_SO_NAME"
! 94: if test \! -z "$LD_PATHLINK"; then
! 95: XML_LIBS="$XML_LIBS -Wl,$LD_PATHLINK -Wl,$XMLLIB_DIR"
! 96: fi
! 97: ])
! 98: AC_SUBST(XML_INCLUDES)
! 99: AC_SUBST(XML_LIBS)
! 100:
! 101: AC_ARG_WITH(db2,[ --with-db2[=D] D is the DB2 installation directory
! 102: DO NOT FORGET TO COMPILE DB2 WITH EXCEPTIONS SUPPORT!],
! 103: DB2_INST=$withval
! 104: if test \! -f "$DB2_INST/include/db.h"; then
! 105: AC_MSG_ERROR($DB2_INST does not seem to be valid DB2 installation directory)
! 106: fi
! 107: if test \! -f "$DB2_INST/lib/libdb.a"; then
! 108: AC_MSG_ERROR($DB2_INST does not seem to be valid DB2 installation directory)
! 109: fi
! 110:
! 111: AC_MSG_CHECKING(version of LIBDB)
! 112: AC_TRY_COMPILE(
! 113: #include <$DB2_INST/include/db.h>
! 114: ,
! 115: #ifdef DB_VERSION_MAJOR
! 116: # if DB_VERSION_MAJOR!=2
! 117: # error Parser needs LIBDB of 2.x.x version to compile
! 118: # endif
! 119: #else
! 120: # error DB_VERSION_MAJOR not defined
! 121: #endif
! 122: ,[
! 123: AC_MSG_RESULT(ok)
! 124: DB2=1
! 125: AC_DEFINE(DB2,,DB2-abled parser)
! 126: DB2_INCLUDES="-I$DB2_INST/include"
! 127: DB2_LIBS="-L$DB2_INST/lib -ldb"
! 128: ],
! 129: AC_MSG_ERROR(bad, we need 2.x.x version)
! 130: )
! 131: )
! 132: AC_SUBST(DB2_INCLUDES)
! 133: AC_SUBST(DB2_LIBS)
! 134:
! 135: dnl AC_CANONICAL_SYSTEM
! 136: AC_CANONICAL_HOST
! 137: AC_SUBST(host_os)
! 138:
! 139: dnl Checks for programs.
! 140: AC_PROG_INSTALL
! 141: AC_PROG_MAKE_SET
! 142: AC_PROG_RANLIB
! 143: AC_PROG_AWK
! 144:
! 145: AC_PROG_YACC
! 146: if test "$YACC" != "bison -y"; then
! 147: AC_MSG_WARN(to regenerate Parser grammar YOU WOULD NEED BISON)
! 148: else
! 149: AC_MSG_CHECKING(bison version)
! 150: oldIFS=$IFS; IFS=.
! 151: set `bison -V | sed -e 's/^GNU Bison version //'`
! 152: IFS=$oldIFS
! 153: if test "$1" = "1" -a "$2" -lt "25"; then
! 154: AC_MSG_WARN(Bison 1.25 or newer needed to regenerate Parser compiler (found $1.$2).)
! 155: fi
! 156: AC_MSG_RESULT($1.$2 (ok))
! 157: fi
! 158:
! 159: dnl Enable building of the convenience library
! 160: dnl and set LIBLTDL accordingly
! 161: AC_LIBLTDL_CONVENIENCE(src/libltdl)
! 162: dnl Substitute INCLTDL and LIBLTDL in the Makefiles
! 163: AC_SUBST(INCLTDL)
! 164: AC_SUBST(LIBLTDL)
! 165: AC_SUBST(LIBADD_DL)
! 166: dnl Configure libtool
! 167: AM_PROG_LIBTOOL
! 168: AC_SUBST(LIBTOOL_DEPS)
! 169:
! 170: dnl Configure libltdl
! 171: AC_CONFIG_SUBDIRS(src/libltdl)
! 172:
! 173: dnl Checks for typedefs, structures, and compiler characteristics.
! 174:
! 175: AC_TYPE_SIZE_T
! 176:
! 177: dnl Checks for header files.
! 178:
! 179: AC_CHECK_HEADERS(
! 180: unistd.h \
! 181: process.h \
! 182: stddef.h \
! 183: stdarg.h \
! 184: fcntl.h \
! 185: sys/stat.h \
! 186: io.h \
! 187: stdio.h \
! 188: errno.h \
! 189: ctype.h \
! 190: math.h \
! 191: time.h \
! 192: stdlib.h \
! 193: string.h \
! 194: direct.h \
! 195: setjmp.h \
! 196: memory.h \
! 197: new \
! 198: sys/file.h \
! 199: sys/locking.h \
! 200: sys/types.h
! 201: )
! 202:
! 203: dnl Checks for libraries.
! 204:
! 205: dnl Some systems (Solaris 2.x) require libnsl (Network Services Library)
! 206: case "$host" in
! 207: *-sunos5.6* | *-solaris2.6*)
! 208: AC_CHECK_LIB(xnet, main)
! 209: ;;
! 210: *-sunos5* | *-solaris2*)
! 211: AC_CHECK_LIB(socket, main)
! 212: AC_CHECK_LIB(nsl, main)
! 213: ;;
! 214: *-nec-sysv4*)
! 215: AC_CHECK_LIB(nsl, gethostbyname)
! 216: AC_CHECK_LIB(socket, socket)
! 217: ;;
! 218: *-cygwin*)
! 219: AC_DEFINE(WIN32,,Windows32 target platform)
! 220: AC_CHECK_LIB(wsock32, socket)
! 221: ;;
! 222: esac
! 223:
! 224: AC_CHECK_LIB(m, sin)
! 225:
! 226: dnl Checks for functions.
! 227:
! 228: AC_CHECK_FUNCS(
! 229: trunc \
! 230: round \
! 231: sign \
! 232: flock \
! 233: _locking \
! 234: lockf
! 235: )
! 236:
! 237: AC_MSG_CHECKING(whether compiler supports pragma pack)
! 238: AC_TRY_COMPILE(
! 239: ,
! 240: #pragma pack(1)
! 241: struct must_be_1_byte {
! 242: char c;
! 243: };
! 244: #pragma pack()
! 245: if(sizeof(must_be_1_byte)!=1)
! 246: return 1;
! 247: ,[
! 248: AC_MSG_RESULT(yes)
! 249: AC_DEFINE(HAVE_PRAGMA_PACK,,compiler supports pragma pack)
! 250: ],
! 251: AC_MSG_RESULT(no)
! 252: )
! 253:
! 254: AC_MSG_CHECKING(for set_new_handler)
! 255: AC_TRY_COMPILE(
! 256: #ifdef HAVE_NEW
! 257: #include <new>
! 258: #endif
! 259: void failed_new() {}
! 260: ,
! 261: std::set_new_handler(failed_new);
! 262: ,[
! 263: AC_MSG_RESULT(yes)
! 264: AC_DEFINE(HAVE_SET_NEW_HANDLER,,library has set_new_handler func)
! 265: ],
! 266: AC_MSG_RESULT(no)
! 267: )
! 268:
! 269:
! 270: dnl AC_ARG_ENABLE(db, [ --enable-db to enable 'hashfile' parser class],
! 271: dnl [
! 272: dnl if test "$enableval" != "no"; then
! 273: dnl AC_CHECK_HEADERS(db.h)
! 274: dnl AC_CHECK_LIB(db, __db_open)
! 275: dnl fi
! 276: dnl ]
! 277: dnl )
! 278:
! 279: dnl Apache libs
! 280: APACHE_LIBS=$LIBS
! 281: AC_CHECK_LIB(stdc++, __builtin_new,
! 282: APACHE_LIBS="$APACHE_LIBS -lstdc++"
! 283: )
! 284: AC_SUBST(APACHE_LIBS)
! 285:
! 286:
! 287: dnl install directories
! 288:
! 289: # expand apostrophed
! 290: e_sysconfdir=$sysconfdir
! 291: test "$e_sysconfdir" = "\${prefix}/etc" && e_sysconfdir="${prefix}/etc"
! 292:
! 293: dnl this is used in targets/cgi/parser3.C to load root config
! 294:
! 295: PARSER_ROOT_CONFIG_DIR=$e_sysconfdir
! 296: AC_SUBST(PARSER_ROOT_CONFIG_DIR)
! 297:
! 298: dnl these are used to fill in etc/parser3.conf
! 299:
! 300: charsetsdir=$e_sysconfdir/parser3.charsets
! 301: AC_SUBST(charsetsdir)
! 302:
! 303: # expand apostrophed
! 304: e_libdir=$libdir
! 305: if test "$e_libdir" = "\${exec_prefix}/lib"; then
! 306:
! 307: # Let make expand exec_prefix.
! 308: e_exec_prefix=$exec_prefix
! 309: test "x$e_exec_prefix" = xNONE && e_exec_prefix=$prefix
! 310:
! 311: # expand apostrophed
! 312: test "$e_libdir" = "\${exec_prefix}/lib" && e_libdir="${e_exec_prefix}/lib"
! 313: fi
! 314:
! 315: sqldriversdir=$e_libdir
! 316: AC_SUBST(sqldriversdir)
! 317:
! 318:
! 319: dnl Output makefiles
! 320:
! 321: AM_CONFIG_HEADER(src/include/pa_config_auto.h)
! 322: AC_OUTPUT(Makefile src/Makefile src/libltdl/Makefile src/types/Makefile src/classes/Makefile src/classes/gd/Makefile src/main/Makefile src/pcre/Makefile src/targets/Makefile src/targets/cgi/pa_config_paths.h src/targets/cgi/Makefile src/targets/apache13/Makefile src/targets/apache13/p3runConfigure etc/parser3.charsets/Makefile etc/parser3.conf etc/Makefile)
E-mail: