-dnl Copyright © 2019-2020 Nick Bowler
+dnl Copyright © 2019-2021 Nick Bowler
dnl
dnl Based on original work Copyright © 1999-2013 Jiri (George) Lebl.
dnl
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 subdir-objects dist-xz])
+AM_INIT_AUTOMAKE([-Wall -Wno-portability subdir-objects dist-xz])
AM_SILENT_RULES([yes])
DX_AUTOMAKE_COMPAT
AC_PROG_CC
+gl_EARLY
+
AC_PROG_CXX
AC_PROG_YACC
+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])
-LT_INIT
-
DX_PROG_FLEX([], [have_flex=yes], [have_flex=no])
AM_CONDITIONAL([HAVE_FLEX], [test x"$have_flex" = x"yes"])
DX_LIB_GLIB2([], [gobject], [HAVE_GOBJECT=true], [HAVE_GOBJECT=false])
AC_SUBST([HAVE_GOBJECT])
+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])