]> git.draconx.ca Git - gob-dx.git/blobdiff - configure.ac
Replace gnulib patch with new common helper macro.
[gob-dx.git] / configure.ac
index 543a4c0f44d4057f36ad6996cc61b35ed015441f..fe3dae92897969be90707816c537af3c8b016485 100644 (file)
@@ -1,62 +1,79 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT([gob2], [2.0.20])
-AC_CONFIG_SRCDIR([src/treefuncs.h])
-AM_INIT_AUTOMAKE([dist-xz])
-
-AM_CONFIG_HEADER(config.h)
-AM_MAINTAINER_MODE
-
-GLIB_REQUIRED=2.4.0
-
+dnl Copyright © 2019-2023 Nick Bowler
 dnl
-dnl  An utter hack to allow embedding of gob inside other packages.
-dnl  if a file is found in the parent directory named NOINST_GOB, then
-dnl  gob is not installed
+dnl Based on original work Copyright © 1999-2013 Jiri (George) Lebl.
 dnl
+dnl License GPLv2+: GNU General Public License version 2 or any later version.
+dnl This is free software: you are free to change and redistribute it.
+dnl There is NO WARRANTY, to the extent permitted by law.
 
-AM_CONDITIONAL(NOINSTGOB, test -f ../NOINST_GOB)
+DX_PATCH_GNULIB
 
-dnl Is there a way to test NOINSTGOB here ?
-if test -f ../NOINST_GOB ; then
-  AC_MSG_RESULT([*** NOT Going to install GOB ***])
-  SUBDIRS="src examples"
-else
-  SUBDIRS="src examples doc"
-fi
-AC_SUBST(SUBDIRS)
+AC_INIT([GObject Builder], [2.0.20a], [nbowler@draconx.ca], [gob-dx])
+AC_CONFIG_SRCDIR([src/treefuncs.def])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_HEADERS([config.h])
+
+AM_INIT_AUTOMAKE([-Wall -Wno-portability subdir-objects dist-xz])
+AM_SILENT_RULES([yes])
+DX_AUTOMAKE_COMPAT
 
-dnl Checks for programs.
-AC_ISC_POSIX
 AC_PROG_CC
-AC_STDC_HEADERS
+gl_EARLY
+
+AC_PROG_CXX
 AC_PROG_YACC
-AM_PROG_LEX
-AC_PROG_INSTALL
-AC_PROG_CPP
-AC_PATH_PROG(RM, rm, /bin/rm)
-AC_PATH_PROG(MV, mv, /bin/mv)
-AC_PATH_PROG(TAR, tar, /bin/tar)
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
-AC_SUBST(GLIB_CFLAGS)
-AC_SUBST(GLIB_LIBS)
-dnl We don't check popt since we're not using it at the moment, but
-dnl We just might use it later
-dnl AC_CHECK_LIB(popt,poptGetContext, [POPT_LIB="-lpopt"],
-dnl         AC_MSG_ERROR(Popt library not found, find it on ftp://ftp.redhat.com/pub/redhat/code/))
-dnl AC_SUBST(POPT_LIB)
-
-
-dnl AM_PROG_LIBTOOL
-
-AC_SUBST(CFLAGS)
-AC_SUBST(CPPFLAGS)
-AC_SUBST(LDFLAGS)
-AC_SUBST(YFLAGS)
-
-AC_OUTPUT([
-gob2.spec
-Makefile
-src/Makefile
-doc/Makefile
-examples/Makefile
-doc/gob2.1])
+
+LT_INIT
+gl_INIT
+
+AC_CACHE_SAVE
+
+m4_include([lib/gnulib.mk])
+
+AC_ARG_VAR([PERL], [command to execute perl programs])
+AC_CHECK_PROGS([PERL], [perl], [false])
+AM_CONDITIONAL([HAVE_PERL], [$PERL -e 'my $x = 42; exit $x'; test $? = 42])
+
+DX_PROG_FLEX([], [have_flex=yes], [have_flex=no])
+AM_CONDITIONAL([HAVE_FLEX], [test x"$have_flex" = x"yes"])
+
+DX_LIB_GLIB2
+
+dnl Dependencies for test suite
+DX_LIB_GLIB2([], [gobject], [HAVE_GOBJECT=true], [HAVE_GOBJECT=false])
+AC_SUBST([HAVE_GOBJECT])
+
+save_LIBS=$LIBS
+LIBS="$LIBS $LIBGLIB_LIBS"
+AC_CHECK_FUNCS([g_string_append_printf g_ascii_strcasecmp])
+LIBS=$save_LIBS
+
+AM_CONDITIONAL([GOB_STRCASE], [test x"$ac_cv_func_g_ascii_strcasecmp" = x"no"])
+
+AS_IF([$HAVE_GOBJECT],
+  [AC_CACHE_CHECK([whether libgobject supports private data members],
+    [dx_cv_libgobject_privates],
+[save_CFLAGS=$CFLAGS
+CFLAGS="$CFLAGS $LIBGOBJECT_CFLAGS"
+AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+[#include <glib-object.h>
+#if defined(G_ADD_PRIVATE) || defined(G_TYPE_INSTANCE_GET_PRIVATE)
+#else
+DX_LIB_COMPILE_ERROR([private members not supported])
+#endif
+])], [dx_cv_libgobject_privates=yes], [dx_cv_libgobject_privates=no])
+CFLAGS=$save_CFLAGS])])
+
+AS_IF([test x"$dx_cv_libgobject_privates" = x"yes"],
+  [HAVE_GOBJECT_PRIVATES=true], [HAVE_GOBJECT_PRIVATES=false])
+AC_SUBST([HAVE_GOBJECT_PRIVATES])
+
+DX_LIB_GTK2([], [HAVE_GTK2=true], [HAVE_GTK2=false])
+AC_SUBST([HAVE_GTK2])
+
+AC_CONFIG_TESTDIR([.], [t:.])
+DX_PROG_AUTOTEST
+AM_CONDITIONAL([HAVE_AUTOTEST], [test x"$dx_cv_autotest_works" = x"yes"])
+
+AC_CONFIG_FILES([Makefile gob2.spec doc/gob2.1])
+AC_OUTPUT