2.26.0
[platform/upstream/at-spi2-core.git] / configure.ac
index c65f25f..8c4fca2 100644 (file)
@@ -1,4 +1,5 @@
-AC_INIT([at-spi2-core], [0.3.1], [accessibility-atspi@lists.linux-foundation.org])
+AC_INIT([at-spi2-core], [2.26.0], [accessibility-atspi@lists.linux-foundation.org])
+AC_PREREQ([2.59])
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_MACRO_DIR([m4])
 
@@ -19,105 +20,124 @@ AC_SUBST(LT_CURRENT)
 AC_SUBST(LT_REVISION)
 AC_SUBST(LT_AGE)
 
-AM_INIT_AUTOMAKE([-Wall foreign])
+AM_INIT_AUTOMAKE([1.13 -Wall -Wno-portability foreign subdir-objects no-dist-gzip dist-xz])
 
-AC_PROG_CC
-AM_DISABLE_STATIC
-AM_PROG_LIBTOOL
+# Support silent build rules. Disable
+# by either passing --disable-silent-rules to configure or passing V=1
+# to make
+AM_SILENT_RULES([yes])
+
+AM_PROG_CC_C_O
+LT_INIT([disable-static])
 PKG_PROG_PKG_CONFIG
 
 AC_CONFIG_HEADERS([config.h])
 
+AC_PROG_SED
+
+AM_GNU_GETTEXT_VERSION([0.19.8])
+AM_GNU_GETTEXT([external])
+
+GETTEXT_PACKAGE="${PACKAGE}"
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],
+                   ["$GETTEXT_PACKAGE"],
+                   [The prefix for our gettext translation domains.])
+
 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0])
 AC_SUBST(DBUS_LIBS)
 AC_SUBST(DBUS_CFLAGS)
 
-PKG_CHECK_MODULES(GLIB, [glib-2.0])
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.36.0])
 AC_SUBST(GLIB_LIBS)
 AC_SUBST(GLIB_CFLAGS)
 
-PKG_CHECK_MODULES(DBUS_GLIB, [dbus-glib-1 >= 0.7.0])
-AC_SUBST(DBUS_GLIB_LIBS)
-AC_SUBST(DBUS_GLIB_CFLAGS)
+# Use pkg-config to find the glib-mkenums script
+GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
+AC_SUBST(GLIB_MKENUMS)
 
 PKG_CHECK_MODULES(GOBJ, [gobject-2.0 >= 2.0.0])
 AC_SUBST(GOBJ_LIBS)
 AC_SUBST(GOBJ_CFLAGS)
 
-AC_PATH_XTRA
-
-if test x$no_x = xyes ; then
-       AC_MSG_ERROR([X development libraries not found])
-else
-       X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
-fi
-AC_SUBST(X_LIBS)
-
-#LIBS="$LIBS $X_LIBS"
-AC_CHECK_LIB(Xtst, XTestFakeKeyEvent, XTST_LIBS=-lXtst,[
-       AC_MSG_ERROR([Couldn't find the Xtst library. Check config.log])],
-       -lX11 -lXext)
-AC_SUBST(XTST_LIBS)
-
-have_xkb=
-AC_CHECK_LIB(X11, XkbQueryExtension, have_xkb="maybe")
-if test "x$have_xkb" = "xmaybe"; then 
-       AC_CHECK_HEADER(X11/XKBlib.h, have_xkb=yes)
-fi
-if test "x$have_xkb" = "xyes"; then
-       AC_MSG_RESULT(yes)
-       AC_DEFINE([HAVE_XKB], [], Xkb is present)
-fi
-
-have_xinput=
-AC_CHECK_LIB(Xi, XOpenDevice, XINPUT_LIBS=-lXi,,-lXext)
-if test "x$XINPUT_LIBS" = x; then
-       AC_MSG_ERROR(Couldn't find the XInput library. Check config.log for details)
-fi                            
-AC_CHECK_HEADER(X11/extensions/XInput.h, have_xinput=yes)
-AC_SUBST(XINPUT_LIBS)
-
-AC_ARG_ENABLE(xevie, [--enable-xevie  Build with XEViE support [default=yes]], enable_xevie="$enableval", enable_xevie=yes)
-
-if test x$enable_xevie = xyes ; then
-       have_xevie=
-       AC_CHECK_LIB(Xext, XevieStart, have_xevie="yes")
-
-       if test "x$have_xevie" = "xyes"; then
-               XEVIE_LIBS="-lXext"
-               AC_DEFINE([HAVE_XEVIE], [], Xevie is present)
-       else
-          AC_CHECK_LIB(Xevie, XevieQueryVersion, have_xevie="maybe",,-lXevie -lXext)
-          if test "x$have_xevie" = "xmaybe"; then
-             AC_CHECK_HEADER(X11/extensions/Xevie.h, have_xevie=yes, [], [#include <X11/Xlib.h>])
-             if test "x$have_xevie" = "xyes"; then
-                     XEVIE_LIBS="-lXext -lXevie"              
-                     AC_DEFINE([HAVE_XEVIE], [], Xevie is present)
-             fi
-          fi   
-       fi
-       AC_SUBST(XEVIE_LIBS)
-fi
-
-AC_ARG_VAR([DEFAULT_ATSPI_INTROSPECTION_PATH],
-          [Set the default path for the install ofDBus introspection XML
-           relative to the pkgdatadir.])
-if test -z "$DEFAULT_ATSPI_INTROSPECTION_PATH"; then
-         DEFAULT_ATSPI_INTROSPECTION_PATH=at-spi2/dbus
+PKG_CHECK_MODULES(GIO, [gio-2.0 >= 2.28])
+AC_SUBST(GIO_LIBS)
+AC_SUBST(GIO_CFLAGS)
+
+# --------------------------------------------------------------------
+# Find DL functionality
+
+AC_CHECK_LIB(c, dlopen, DL_LIBS="",
+        AC_CHECK_LIB(dl, dlopen, DL_LIBS="-ldl",
+                AC_MSG_ERROR([Could not find a library with the dlopen function])
+        )
+)
+
+AC_SUBST(DL_LIBS)
+
+AC_ARG_ENABLE(x11,
+              [AS_HELP_STRING([--disable-x11],
+                              [disable the X11 backend])],,
+                             [enable_x11=auto])
+
+AS_IF([test "x$enable_x11" = xno], [
+  AM_CONDITIONAL(USE_X11, false)
+], [
+  PKG_CHECK_MODULES(X11, [x11], [
+    AC_DEFINE(HAVE_X11, 1, [Define to use X11])
+    AC_SUBST(HAVE_X11)
+    have_x11=yes
+  ], [
+    AS_IF([test "x$enable_x11" = xyes], [
+      AC_MSG_ERROR([Unable to find X11 development files])
+    ])
+    have_x11=no
+  ])
+
+  # Check for additional X11 extensions
+  AS_IF([test "x$have_x11" = xyes], [
+    # XTest (mandatory)
+    PKG_CHECK_MODULES(XTST, [xtst])
+    X11_CFLAGS="$X11_CFLAGS $XTST_CFLAGS"
+    X11_LIBS="$X11_LIBS $XTST_LIBS"
+
+    # XInput (mandatory)
+    PKG_CHECK_MODULES(XINPUT, [xi])
+    X11_CFLAGS="$X11_CFLAGS $XINPUT_CFLAGS"
+    X11_LIBS="$X11_LIBS $XINPUT_LIBS"
+
+    # XKB (optional)
+    PKG_CHECK_MODULES(XKB, [xkbcommon-x11], [
+      AC_DEFINE(HAVE_XKB, 1, [Define to use XKB])
+      X11_CFLAGS="$X11_CFLAGS $XKB_CFLAGS"
+      X11_LIBS="$X11_LIBS $XKB_LIBS"
+    ], [:])
+  ])
+
+  AC_SUBST(X11_CFLAGS)
+  AC_SUBST(X11_LIBS)
+
+  AM_CONDITIONAL(USE_X11, test "x$have_x11" = xyes)
+])
+
+AC_ARG_WITH([dbus_daemondir],
+       [AS_HELP_STRING([--with-dbus-daemondir=<directory>],
+               [Directory where the DBUS daemon is installed])],
+    [DBUS_DAEMON="$with_dbus_daemondir/dbus-daemon"],
+    [AC_PATH_PROG([DBUS_DAEMON], [dbus-daemon], [XXXDBUSDAEMONNOTFOUND],
+               [$PATH$PATH_SEPARATOR/sbin$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR]dnl
+[/libexec$PATH_SEPARATOR/usr/libexec$PATH_SEPARATOR/usr/local/bin]dnl
+[$PATH_SEPARATOR/usr/pkg/bin])]
+       )
+if test "$DBUS_DAEMON" = "XXXDBUSDAEMONNOTFOUND"; then
+       DBUS_DAEMON = "$bindir/dbus-daemon"
+       AC_MSG_WARN([at-spi2 relies on dbus, and the dbus-daemon was not found])
+       AC_MSG_WARN([we assume that it will be installed in "$bindir"])
 fi
-
-AS_AC_EXPAND(EXPANDED_BINDIR, "$bindir")
-AC_ARG_WITH(dbus_daemondir, AS_HELP_STRING([--with-dbus-daemondir=[dirname]],[Directory where the DBUS daemon is installed]))
-if test -z "$with_dbus_daemondir" ; then
-    DBUS_DAEMONDIR=$EXPANDED_BINDIR
-else
-    DBUS_DAEMONDIR=$with_dbus_daemondir
-fi
-AC_SUBST(DBUS_DAEMONDIR)
-AC_DEFINE_UNQUOTED(DBUS_DAEMONDIR,"$DBUS_DAEMONDIR", [Directory for installing the DBUS daemon])
+AC_SUBST(DBUS_DAEMON)
 
 AC_ARG_WITH(dbus-services,
-           [AC_HELP_STRING([--with-dbus-services=<dir>],
+           [AS_HELP_STRING([--with-dbus-services=<directory>],
            [where D-BUS services directory is])])
 if ! test -z "$with_dbus_services" ; then
            DBUS_SERVICES_DIR="$with_dbus_services"
@@ -126,16 +146,45 @@ else
 fi
 AC_SUBST(DBUS_SERVICES_DIR)
 
+GOBJECT_INTROSPECTION_CHECK([1.32.0])
+
 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
 
-AC_ARG_ENABLE(relocate, [  --enable-relocate  Relocate to coexist with CORBA [default=no]], enable_relocate="$enableval", enable_relocate=no)
-if test x$enable_relocate = xyes ; then
-       AC_DEFINE(RELOCATE, , [Relocate to coexist with CORBA])
+dnl find sizes & alignments
+orig_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$CPPFLAGS $DBUS_CFLAGS"
+AC_CHECK_ALIGNOF(char)
+AC_CHECK_ALIGNOF(dbus_bool_t, [#include <dbus/dbus.h>])
+AC_CHECK_ALIGNOF(dbus_int16_t, [#include <dbus/dbus.h>])
+AC_CHECK_ALIGNOF(dbus_int32_t, [#include <dbus/dbus.h>])
+AC_CHECK_ALIGNOF(dbus_int64_t, [#include <dbus/dbus.h>])
+AC_CHECK_ALIGNOF(double, [#include <dbus/dbus.h>])
+AC_CHECK_ALIGNOF(dbind_pointer, [AC_INCLUDES_DEFAULT
+typedef void *dbind_pointer;])
+AC_CHECK_ALIGNOF(dbind_struct, [AC_INCLUDES_DEFAULT
+typedef struct {char s1;} dbind_struct;])
+
+GTK_DOC_CHECK([1.25])
+
+if test "x$GCC" = xyes; then
+       CFLAGS="$CFLAGS -Werror-implicit-function-declaration"
 fi
-AM_CONDITIONAL(RELOCATE, test x$enable_relocate = xyes)
 
-AC_CONFIG_FILES([Makefile
-                xml/Makefile
-                registryd/Makefile])
+CPPFLAGS=$orig_CPPFLAGS 
+
+AC_CONFIG_FILES([
+        Makefile
+        po/Makefile.in
+       xml/Makefile
+       dbind/Makefile
+       atspi/Makefile
+       registryd/Makefile
+       bus/Makefile
+        doc/Makefile
+        doc/libatspi/Makefile
+        doc/libatspi/version.xml
+        test/Makefile
+        atspi-2.pc
+])
 
 AC_OUTPUT