build: Clean up X11 detection and build
[platform/upstream/at-spi2-core.git] / configure.ac
1 AC_INIT([at-spi2-core], [2.25.2], [accessibility-atspi@lists.linux-foundation.org])
2 AC_PREREQ([2.59])
3 AC_CONFIG_AUX_DIR(config)
4 AC_CONFIG_MACRO_DIR([m4])
5
6 AT_SPI_CORE_MAJOR_VERSION=0
7 AT_SPI_CORE_MINOR_VERSION=1
8 AT_SPI_CORE_MICRO_VERSION=3
9 AT_SPI_CORE_VERSION="$AT_SPI_CORE_MAJOR_VERSION.$AT_SPI_CORE_MINOR_VERSION"
10 AC_SUBST(AT_SPI_CORE_VERSION)
11
12 LT_RELEASE=$AT_SPI_CORE_VERSION
13 LT_CURRENT=0
14 LT_REVISION=1
15 LT_AGE=0
16 LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
17 AC_SUBST(LT_VERSION_INFO)
18 AC_SUBST(LT_RELEASE)
19 AC_SUBST(LT_CURRENT)
20 AC_SUBST(LT_REVISION)
21 AC_SUBST(LT_AGE)
22
23 AM_INIT_AUTOMAKE([1.9 -Wall foreign no-dist-gzip dist-xz])
24
25 # Support silent build rules. Disable
26 # by either passing --disable-silent-rules to configure or passing V=1
27 # to make
28 AM_SILENT_RULES([yes])
29
30 AC_PROG_CC
31 AM_PROG_AR
32 LT_INIT([disable-static])
33 PKG_PROG_PKG_CONFIG
34
35 AC_CONFIG_HEADERS([config.h])
36
37 dnl translation of at-spi strings
38 IT_PROG_INTLTOOL([0.40.0])
39
40
41 GETTEXT_PACKAGE="${PACKAGE}"
42 AC_SUBST(GETTEXT_PACKAGE)
43
44 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0])
45 AC_SUBST(DBUS_LIBS)
46 AC_SUBST(DBUS_CFLAGS)
47
48 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.36.0])
49 AC_SUBST(GLIB_LIBS)
50 AC_SUBST(GLIB_CFLAGS)
51
52 PKG_CHECK_MODULES(GOBJ, [gobject-2.0 >= 2.0.0])
53 AC_SUBST(GOBJ_LIBS)
54 AC_SUBST(GOBJ_CFLAGS)
55
56 PKG_CHECK_MODULES(GIO, [gio-2.0 >= 2.28])
57 AC_SUBST(GIO_LIBS)
58 AC_SUBST(GIO_CFLAGS)
59
60 # --------------------------------------------------------------------
61 # Find DL functionality
62
63 AC_CHECK_LIB(c, dlopen, DL_LIBS="",
64         AC_CHECK_LIB(dl, dlopen, DL_LIBS="-ldl",
65                 AC_MSG_ERROR([Could not find a library with the dlopen function])
66         )
67 )
68
69 AC_SUBST(DL_LIBS)
70
71 AC_ARG_ENABLE(x11,
72               [AS_HELP_STRING([--disable-x11],
73                               [disable the X11 backend])],,
74                               [enable_x11=auto])
75
76 AS_IF([test "x$enable_x11" = xno], [
77   AM_CONDITIONAL(USE_X11, false)
78 ], [
79   PKG_CHECK_MODULES(X11, [x11], [
80     AC_DEFINE(HAVE_X11, 1, [Define to use X11])
81     AC_SUBST(HAVE_X11)
82     have_x11=yes
83   ], [
84     AS_IF([test "x$enable_x11" = xyes], [
85       AC_MSG_ERROR([Unable to find X11 development files])
86     ])
87     have_x11=no
88   ])
89
90   # Check for additional X11 extensions
91   AS_IF([test "x$have_x11" = xyes], [
92     # XTest (mandatory)
93     PKG_CHECK_MODULES(XTST, [xtst])
94     X11_CFLAGS="$X11_CFLAGS $XTST_CFLAGS"
95     X11_LIBS="$X11_LIBS $XTST_LIBS"
96
97     # XInput (mandatory)
98     PKG_CHECK_MODULES(XINPUT, [xi])
99     X11_CFLAGS="$X11_CFLAGS $XINPUT_CFLAGS"
100     X11_LIBS="$X11_LIBS $XINPUT_LIBS"
101
102     # XKB (optional)
103     PKG_CHECK_MODULES(XKB, [xkbcommon-x11], [
104       AC_DEFINE(HAVE_XKB, 1, [Define to use XKB])
105       X11_CFLAGS="$X11_CFLAGS $XKB_CFLAGS"
106       X11_LIBS="$X11_LIBS $XKB_LIBS"
107     ], [])
108   ])
109
110   AC_SUBST(X11_CFLAGS)
111   AC_SUBST(X11_LIBS)
112
113   AM_CONDITIONAL(USE_X11, test "x$have_x11" = xyes)
114 ])
115
116 AC_ARG_WITH([dbus_daemondir],
117         [AS_HELP_STRING([--with-dbus-daemondir=<directory>],
118                 [Directory where the DBUS daemon is installed])],
119     [DBUS_DAEMON="$with_dbus_daemondir/dbus-daemon"],
120     [AC_PATH_PROG([DBUS_DAEMON], [dbus-daemon], [XXXDBUSDAEMONNOTFOUND],
121                 [$PATH$PATH_SEPARATOR/sbin$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR]dnl
122 [/libexec$PATH_SEPARATOR/usr/libexec$PATH_SEPARATOR/usr/local/bin]dnl
123 [$PATH_SEPARATOR/usr/pkg/bin])]
124         )
125 if test "$DBUS_DAEMON" = "XXXDBUSDAEMONNOTFOUND"; then
126         DBUS_DAEMON = "$bindir/dbus-daemon"
127         AC_MSG_WARN([at-spi2 relies on dbus, and the dbus-daemon was not found])
128         AC_MSG_WARN([we assume that it will be installed in "$bindir"])
129 fi
130 AC_SUBST(DBUS_DAEMON)
131
132 AC_ARG_WITH(dbus-services,
133            [AS_HELP_STRING([--with-dbus-services=<directory>],
134            [where D-BUS services directory is])])
135 if ! test -z "$with_dbus_services" ; then
136            DBUS_SERVICES_DIR="$with_dbus_services"
137 else
138            DBUS_SERVICES_DIR="$datadir/dbus-1/services"
139 fi
140 AC_SUBST(DBUS_SERVICES_DIR)
141
142 AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
143
144 GOBJECT_INTROSPECTION_CHECK([0.9.6])
145
146 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
147
148 dnl find sizes & alignments
149 orig_CPPFLAGS=$CPPFLAGS
150 CPPFLAGS="$CPPFLAGS $DBUS_CFLAGS"
151 AC_CHECK_ALIGNOF(char)
152 AC_CHECK_ALIGNOF(dbus_bool_t, [#include <dbus/dbus.h>])
153 AC_CHECK_ALIGNOF(dbus_int16_t, [#include <dbus/dbus.h>])
154 AC_CHECK_ALIGNOF(dbus_int32_t, [#include <dbus/dbus.h>])
155 AC_CHECK_ALIGNOF(dbus_int64_t, [#include <dbus/dbus.h>])
156 AC_CHECK_ALIGNOF(double, [#include <dbus/dbus.h>])
157 AC_CHECK_ALIGNOF(dbind_pointer, [AC_INCLUDES_DEFAULT
158 typedef void *dbind_pointer;])
159 AC_CHECK_ALIGNOF(dbind_struct, [AC_INCLUDES_DEFAULT
160 typedef struct {char s1;} dbind_struct;])
161
162 GTK_DOC_CHECK([1.09])
163
164 if test "x$GCC" = xyes; then
165         CFLAGS="$CFLAGS -Werror-implicit-function-declaration"
166 fi
167 CPPFLAGS=$orig_CPPFLAGS 
168 AC_CONFIG_FILES([Makefile po/Makefile.in
169         xml/Makefile
170         dbind/Makefile
171         atspi/Makefile
172         registryd/Makefile
173         bus/Makefile
174 doc/Makefile
175 doc/libatspi/Makefile
176 doc/libatspi/version.xml
177 test/Makefile
178 atspi-2.pc
179 atspi-2-uninstalled.pc
180 ])
181
182 AC_OUTPUT