2.26.0
[platform/upstream/at-spi2-core.git] / configure.ac
index 4e9d0a7..8c4fca2 100644 (file)
@@ -1,25 +1,14 @@
-AC_INIT([at-spi2-core], [0.1.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])
 
 AT_SPI_CORE_MAJOR_VERSION=0
 AT_SPI_CORE_MINOR_VERSION=1
-AT_SPI_CORE_MICRO_VERSION=1
+AT_SPI_CORE_MICRO_VERSION=3
 AT_SPI_CORE_VERSION="$AT_SPI_CORE_MAJOR_VERSION.$AT_SPI_CORE_MINOR_VERSION"
 AC_SUBST(AT_SPI_CORE_VERSION)
 
-DBIND_MAJOR_VERSION=0
-DBIND_MINOR_VERSION=1
-DBIND_MICRO_VERSION=1
-DBIND_VERSION="$DBIND_MAJOR_VERSION.$DBIND_MINOR_VERSION"
-AC_SUBST(DBIND_VERSION)
-
-DROUTE_MAJOR_VERSION=0
-DROUTE_MINOR_VERSION=1
-DROUTE_MICRO_VERSION=1
-DROUTE_VERSION="$DROUTE_MAJOR_VERSION.$DROUTE_MINOR_VERSION"
-AC_SUBST(DROUTE_VERSION) 
-
 LT_RELEASE=$AT_SPI_CORE_VERSION
 LT_CURRENT=0
 LT_REVISION=1
@@ -31,117 +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)
 
-PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.0.0])     
-AC_SUBST(GMODULE_LIBS)
-AC_SUBST(GMODULE_CFLAGS)
-
-PKG_CHECK_MODULES(GDK, [gdk-2.0 >= 2.0.0])
-AC_SUBST(GDK_LIBS)
-AC_SUBST(GDK_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
-
-dnl Allow disabling SMlib
-AC_ARG_ENABLE(sm, [  --enable-sm  Enable session management support [default=yes]], enable_sm="$enableval", enable_sm=yes)
-
-if test x$enable_sm = xyes ; then
-       have_sm=
-       AC_CHECK_LIB(SM, SmcSaveYourselfDone, have_sm="yes")
-       if test x$have_sm = xyes ; then
-               SM_LIBS="-lSM -lICE"
-               AC_DEFINE(HAVE_SM, , [Building with SM support])
-       fi
-       AC_SUBST(SM_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=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
+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"
@@ -150,33 +146,45 @@ else
 fi
 AC_SUBST(DBUS_SERVICES_DIR)
 
+GOBJECT_INTROSPECTION_CHECK([1.32.0])
+
+AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
+
 dnl find sizes & alignments
 orig_CPPFLAGS=$CPPFLAGS
 CPPFLAGS="$CPPFLAGS $DBUS_CFLAGS"
-DBIND_CHECK_ALIGNOF(char)
-DBIND_CHECK_ALIGNOF(dbus_bool_t)
-DBIND_CHECK_ALIGNOF(dbus_int16_t)
-DBIND_CHECK_ALIGNOF(dbus_int32_t)
-DBIND_CHECK_ALIGNOF(dbus_int64_t)
-DBIND_CHECK_ALIGNOF(double)
-DBIND_CHECK_ALIGNOF(dbind_pointer)
-DBIND_CHECK_ALIGNOF(dbind_struct)
-CPPFLAGS=$orig_CPPFLAGS 
+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
 
-AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
+CPPFLAGS=$orig_CPPFLAGS 
 
-AC_CONFIG_FILES([Makefile
-                 pkgconfig/dbind-0.1.pc
-                 pkgconfig/dbind-0.1-uninstalled.pc
-                 pkgconfig/droute-0.1.pc
-                 pkgconfig/droute-0.1-uninstalled.pc
-                 pkgconfig/Makefile
-                xml/Makefile
-                tools/Makefile
-                droute/Makefile
-                registryd/Makefile
-                registryd/at-spi-registryd.desktop.in
-                dbind/Makefile
-                dbind/dbind-config.h])
+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