dnl Process this file with autoconf to produce a configure script. AC_INIT(mdbtools, 0.7, [mdbtools-dev@lists.sourceforge.net]) AC_CONFIG_SRCDIR(src/extras/mdb-dump.c) AM_INIT_AUTOMAKE AM_MAINTAINER_MODE([enable]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_HEADERS(include/config.h) AC_PROG_CC(gcc) dnl Checks for programs. AC_PROG_MAKE_SET AC_PROG_LIBTOOL AM_PROG_LEX AC_PROG_YACC dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(fcntl.h limits.h unistd.h) AC_CHECK_HEADERS(wordexp.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T AM_ICONV # add -DHAVE_INCONV to CFLAGS. We should not use #include <config.h> in # public headers if test "$am_cv_func_iconv" = "yes"; then CFLAGS="$CFLAGS -DHAVE_ICONV" fi AM_GCC_ATTRIBUTE_ALIAS if test "$am_cv_gcc_have_attribute_alias" = "yes"; then CFLAGS="$CFLAGS -DHAVE_ATTRIBUTE_ALIAS" fi dnl no optional stuff by default OPTDIRS="" dnl --------------------------------------------------------------------- dnl Compile time options dnl --------------------------------------------------------------------- sql=true AC_MSG_CHECKING( Are we using flex ) if test "x$LEX" = "xflex"; then LFLAGS="$LFLAGS -i -8" AC_MSG_RESULT( yes ); else AC_MSG_RESULT( no - SQL engine disable); sql=false fi if test "x$YACC" = "x"; then sql=false fi if test "x$sql" = "xtrue"; then CFLAGS="$CFLAGS -DSQL" OPTDIRS="$OPTDIRS sql" fi AM_CONDITIONAL(SQL, test x$sql = xtrue) AC_SUBST(SQL) AC_SUBST(LFLAGS) CFLAGS="$CFLAGS -Wall" dnl Enable -Wl,--as-needed by default to prevent overlinking AC_ARG_ENABLE([as-needed], AC_HELP_STRING([--disable-as-needed], [Disable overlinking protection]), [enable_as_needed=$enableval], [enable_as_needed=yes]) if test "x$enable_as_needed" != "xno"; then AC_MSG_CHECKING([whether $LD accepts --as-needed]) case `$LD --as-needed -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) LDFLAGS="$LDFLAGS -Wl,--as-needed" AC_MSG_RESULT([yes]) ;; *) AC_MSG_RESULT([no]) ;; esac fi dnl check whether ld supports --version-script VERSION_SCRIPT=yes AC_ARG_ENABLE([ld-version-script], AS_HELP_STRING([--disable-ld-version-script], [Disable linker version script for libraries (default is to use linker version script if the linker supports it)]), [VERSION_SCRIPT=$enableval], []) AC_MSG_CHECKING([whether the linker supports version scripts]) SAVED_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -Wl,--version-script,conftest.map" cat > conftest.map <<EOF VERS_1 { global: *; }; EOF AC_LINK_IFELSE(AC_LANG_PROGRAM([], []), [VERSION_SCRIPT_FLAG=-Wl,--version-script,; AC_MSG_RESULT([yes (GNU style)])], []) if test "x$VERSION_SCRIPT_FLAG" = "x"; then LDFLAGS="$SAVED_LDFLAGS -Wl,-M,conftest.map" AC_LINK_IFELSE(AC_LANG_PROGRAM([], []), [VERSION_SCRIPT_FLAG=-Wl,-M,; AC_MSG_RESULT([yes (Sun style)])], []) fi if test "x$VERSION_SCRIPT_FLAG" = "x"; then VERSION_SCRIPT=no AC_MSG_RESULT(no) fi LDFLAGS="$SAVED_LDFLAGS" AC_MSG_CHECKING([whether to use version script when building libraries]) AC_MSG_RESULT($VERSION_SCRIPT) AM_CONDITIONAL(VERSION_SCRIPT, test "x$VERSION_SCRIPT" = "xyes") AC_SUBST(VERSION_SCRIPT_FLAG) dnl check for iODBC AC_ARG_WITH(iodbc, [ --with-iodbc=/path/to/iodbc build odbc driver against iODBC]) if test "$with_iodbc"; then HAVE_ODBC=true ODBC_CFLAGS="-I$with_iodbc/include" ODBC_LIBS="-L$with_iodbc/lib" CFLAGS="$CFLAGS -DIODBC" OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $ODBC_LIBS" AC_CHECK_LIB(iodbcinst, SQLGetPrivateProfileString, [ODBC_LIBS="$ODBC_LIBS -liodbcinst" AC_DEFINE_UNQUOTED(HAVE_SQLGETPRIVATEPROFILESTRING, 1, [Define to 1 if you have the SQLGetPrivateProfileString function.])]) LDFLAGS=$OLDLDFLAGS fi dnl check for unixODBC AC_ARG_WITH(unixodbc, [ --with-unixodbc=/path/to/unixodbc build odbc driver against unixODBC]) if test "$with_unixodbc"; then HAVE_ODBC=true ODBC_CFLAGS="-I$with_unixodbc/include" ODBC_LIBS="-L$with_unixodbc/lib" CFLAGS="$CFLAGS -DUNIXODBC" OLDLDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $ODBC_LIBS" AC_CHECK_LIB(odbcinst, SQLGetPrivateProfileString, [ODBC_LIBS="$ODBC_LIBS -lodbcinst" AC_DEFINE_UNQUOTED(HAVE_SQLGETPRIVATEPROFILESTRING, 1, [Define to 1 if you have the SQLGetPrivateProfileString function.])]) LDFLAGS=$OLDLDFLAGS fi if test "x$HAVE_ODBC" = "xtrue"; then if test "x$sql" != "xtrue" ; then echo echo ODBC requires flex and bison for the SQL engine exit 1 fi AC_SUBST(ODBC_CFLAGS) AC_SUBST(ODBC_LIBS) OPTDIRS="$OPTDIRS odbc" fi dnl check for glib/gtk/gnome PKG_CHECK_MODULES(GLIB, glib-2.0, , AC_MSG_ERROR([ glib 2.0 is required by MDB Tools (runtime and devel). It can be downloaded at www.gtk.org. ])) PKG_CHECK_MODULES(GNOME,gtk+-2.0 >= 2.14 libglade-2.0 libgnomeui-2.0, HAVE_GNOME=true, HAVE_GNOME=false) AC_ARG_ENABLE(gmdb2, AC_HELP_STRING([--disable-gmdb2], [do not build gmdb2]), [build_gmdb2=$enableval], [build_gmdb2=yes]) if test "$build_gmdb2" = "yes" ; then if test "x$HAVE_GNOME" = "xtrue"; then AC_SUBST(GNOME_CFLAGS) AC_SUBST(GNOME_LIBS) OPTDIRS="$OPTDIRS gmdb2" fi else AC_MSG_NOTICE(gmdb2 disabled) fi AC_SUBST([OPTDIRS]) AC_CONFIG_FILES([src/Makefile]) ################################################## # Check for gtk-doc. ################################################## AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ]) if test "x$with_html_dir" = "x" ; then HTML_DIR='${datadir}/gtk-doc/html' else HTML_DIR=$with_html_dir fi AC_SUBST(HTML_DIR) gtk_doc_min_version=1.0 AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version]) if pkg-config --atleast-version=$gtk_doc_min_version gtk-doc; then AC_MSG_RESULT(yes) GTKDOC=true else AC_MSG_RESULT(no) GTKDOC=false fi dnl Let people disable the gtk-doc stuff. AC_ARG_ENABLE(gtk-doc, [ --enable-gtk-doc Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto) if test x$enable_gtk_doc = xauto ; then if test x$GTKDOC = xtrue ; then enable_gtk_doc=yes else enable_gtk_doc=no fi fi AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes) AM_CONDITIONAL(ENABLE_DOCBOOK, test -n "$DOCBOOK_DSL") dnl Checks for library functions. VL_LIB_READLINE localedir=${datadir}/locale AC_SUBST(localedir) AC_OUTPUT([ libmdb.pc libmdbsql.pc src/util/Makefile src/extras/Makefile Makefile include/Makefile src/libmdb/Makefile src/sql/Makefile src/odbc/Makefile doc/Makefile src/gmdb2/Makefile src/gmdb2/gladefiles/Makefile src/gmdb2/pixmaps/Makefile src/gmdb2/help/Makefile src/gmdb2/help/C/Makefile mdbtools.spec include/mdbver.h]) dnl doc/reference/libmdb/Makefile])