diff --git a/.travis.yml b/.travis.yml index 2216bb7..3a9553f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ before_script: - autoreconf -i -f -Wno-portability script: - - ./configure --disable-man --disable-silent-rules + - ./configure --disable-man --disable-silent-rules --disable-glib - make - ./src/util/mdb-array test/data/ASampleDatabase.accdb "Asset Items" - ./src/util/mdb-array test/data/nwind.mdb "Customers" diff --git a/configure.ac b/configure.ac index e5aa945..3a54164 100644 --- a/configure.ac +++ b/configure.ac @@ -152,13 +152,22 @@ pkg-config is required. See pkg-config.freedesktop.org]) fi +dnl See if GLib is present and wanted +AC_ARG_ENABLE(glib, + AS_HELP_STRING([--disable-glib], [do not link with GLib]), + [enable_glib=$enableval], [enable_glib=yes]) -dnl check for glib/gtk/gnome -PKG_CHECK_MODULES([GLIB], [glib-2.0], AM_CONDITIONAL([HAVE_GLIB], true), AM_CONDITIONAL([HAVE_GLIB], false)) -if test "x$HAVE_GLIB" = "xtrue"; then - GLIB_CFLAGS="$GLIB_CFLAGS -DHAVE_GLIB=1" +if test "$enable_glib" = "yes"; then + PKG_CHECK_MODULES([GLIB], [glib-2.0], HAVE_GLIB=true, HAVE_GLIB=false) + if test "x$HAVE_GLIB" = "xtrue"; then + GLIB_CFLAGS="$GLIB_CFLAGS -DHAVE_GLIB=1" + else + enable_glib=no + fi fi +AM_CONDITIONAL(FAKE_GLIB, test "x$enable_glib" != "xyes") +dnl check for gtk/gnome PKG_CHECK_MODULES([GNOME], [gtk+-2.0 >= 2.14 libglade-2.0 libgnomeui-2.0], HAVE_GNOME=true, HAVE_GNOME=false) GNOME_DOC_INIT @@ -282,6 +291,8 @@ if test x$sql = xtrue; then summary=${bold_green}enabled; else summary=${bold_re AC_MSG_NOTICE([ SQL : ${summary}${reset}]) if test x$HAVE_ODBC = xtrue; then summary=${bold_green}enabled; else summary=${bold_red}disabled; fi AC_MSG_NOTICE([ ODBC : ${summary}${reset}]) +if test x$enable_glib = xyes; then summary=${bold_green}enabled; else summary=${bold_red}disabled; fi +AC_MSG_NOTICE([ GLib : ${summary}${reset}]) if test x$build_gmdb2 = xyes; then summary=${bold_green}enabled; else summary=${bold_red}disabled; fi AC_MSG_NOTICE([ UI : ${summary}${reset}]) if test x$enable_gtk_doc = xyes; then summary=${bold_green}enabled; else summary=${bold_red}disabled; fi diff --git a/include/Makefile.am b/include/Makefile.am index c19d930..bc5aa3f 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,5 +1,5 @@ include_HEADERS = mdbtools.h mdbsql.h mdbver.h -if !HAVE_GLIB +if FAKE_GLIB include_HEADERS += mdbfakeglib.h endif noinst_HEADERS = mdbprivate.h diff --git a/src/libmdb/Makefile.am b/src/libmdb/Makefile.am index aa3742e..2e74a19 100644 --- a/src/libmdb/Makefile.am +++ b/src/libmdb/Makefile.am @@ -1,6 +1,6 @@ lib_LTLIBRARIES = libmdb.la libmdb_la_SOURCES= catalog.c mem.c file.c table.c data.c dump.c backend.c money.c sargs.c index.c like.c write.c stats.c map.c props.c worktable.c options.c iconv.c -if !HAVE_GLIB +if FAKE_GLIB libmdb_la_SOURCES += fakeglib.c endif libmdb_la_LDFLAGS = -version-info 2:1:0 -export-symbols-regex '^(mdb_|_mdb_put_int16$$|_mdb_put_int32$$)' diff --git a/src/sql/Makefile.am b/src/sql/Makefile.am index 7a353f2..5c2a7a7 100644 --- a/src/sql/Makefile.am +++ b/src/sql/Makefile.am @@ -3,7 +3,7 @@ BUILT_SOURCES = parser.h AM_YFLAGS = -d lib_LTLIBRARIES = libmdbsql.la libmdbsql_la_SOURCES= mdbsql.c parser.y lexer.l -if !HAVE_GLIB +if FAKE_GLIB libmdbsql_la_SOURCES += ../libmdb/fakeglib.c endif libmdbsql_la_LDFLAGS = -version-info 2:0:0 -export-symbols-regex '^mdb_sql_' diff --git a/src/util/Makefile.am b/src/util/Makefile.am index 470e6c5..a03c75b 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -9,7 +9,7 @@ mdb_sql_SOURCES = mdb-sql.c mdb_ver_SOURCES = mdb-ver.c mdb_import_SOURCES = mdb-import.c updrow_SOURCES = updrow.c -if !HAVE_GLIB +if FAKE_GLIB mdb_export_SOURCES += ../libmdb/fakeglib.c mdb_schema_SOURCES += ../libmdb/fakeglib.c mdb_tables_SOURCES += ../libmdb/fakeglib.c