2009-06-08 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/upstream/at-spi2-core.git] / configure.ac
1 AC_INIT([at-spi2-core], [0.1.0], [accessibility-atspi@lists.linux-foundation.org])
2 AC_CONFIG_AUX_DIR(config)
3 AC_CONFIG_MACRO_DIR([m4])
4
5 AT_SPI_CORE_MAJOR_VERSION=0
6 AT_SPI_CORE_MINOR_VERSION=1
7 AT_SPI_CORE_VERSION="$AT_SPI_CORE_MAJOR_VERSION.$AT_SPI_CORE_MINOR_VERSION"
8 AC_SUBST(AT_SPI_CORE_VERSION)
9
10 DBIND_MAJOR_VERSION=0
11 DBIND_MINOR_VERSION=1
12 DBIND_VERSION="$DBIND_MAJOR_VERSION.$DBIND_MINOR_VERSION"
13 AC_SUBST(DBIND_VERSION)
14
15 DROUTE_MAJOR_VERSION=0
16 DROUTE_MINOR_VERSION=1
17 DROUTE_VERSION="$DROUTE_MAJOR_VERSION.$DROUTE_MINOR_VERSION"
18 AC_SUBST(DROUTE_VERSION) 
19
20 LT_RELEASE=$AT_SPI_CORE_VERSION
21 LT_CURRENT=0
22 LT_REVISION=0
23 LT_AGE=0
24 LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
25 AC_SUBST(LT_VERSION_INFO)
26 AC_SUBST(LT_RELEASE)
27 AC_SUBST(LT_CURRENT)
28 AC_SUBST(LT_REVISION)
29 AC_SUBST(LT_AGE)
30
31 AM_INIT_AUTOMAKE([-Wall foreign])
32
33 AC_PROG_CC
34 AM_PATH_PYTHON(2.4)
35 AM_DISABLE_STATIC
36 AM_PROG_LIBTOOL
37 PKG_PROG_PKG_CONFIG
38
39 AC_CONFIG_HEADERS([config.h])
40
41 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.0])
42 AC_SUBST(DBUS_LIBS)
43 AC_SUBST(DBUS_CFLAGS)
44
45 PKG_CHECK_MODULES(GLIB, [glib-2.0])
46 AC_SUBST(GLIB_LIBS)
47 AC_SUBST(GLIB_CFLAGS)
48
49 PKG_CHECK_MODULES(DBUS_GLIB, [dbus-glib-1 >= 0.7.0])
50 AC_SUBST(DBUS_GLIB_LIBS)
51 AC_SUBST(DBUS_GLIB_CFLAGS)
52
53 PKG_CHECK_MODULES(GOBJ, [gobject-2.0 >= 2.0.0])
54 AC_SUBST(GOBJ_LIBS)
55 AC_SUBST(GOBJ_CFLAGS)
56
57 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.0.0])      
58 AC_SUBST(GMODULE_LIBS)
59 AC_SUBST(GMODULE_CFLAGS)
60
61 PKG_CHECK_MODULES(GDK, [gdk-2.0 >= 2.0.0])
62 AC_SUBST(GDK_LIBS)
63 AC_SUBST(GDK_CFLAGS)
64
65 AC_PATH_XTRA
66
67 if test x$no_x = xyes ; then
68         AC_MSG_ERROR([X development libraries not found])
69 else
70         X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
71 fi
72 AC_SUBST(X_LIBS)
73
74 #LIBS="$LIBS $X_LIBS"
75 AC_CHECK_LIB(Xtst, XTestFakeKeyEvent, XTST_LIBS=-lXtst,[
76         AC_MSG_ERROR([Couldn't find the Xtst library. Check config.log])],
77         -lX11 -lXext)
78 AC_SUBST(XTST_LIBS)
79
80 have_xkb=
81 AC_CHECK_LIB(X11, XkbQueryExtension, have_xkb="maybe")
82 if test "x$have_xkb" = "xmaybe"; then 
83         AC_CHECK_HEADER(X11/XKBlib.h, have_xkb=yes)
84 fi
85 if test "x$have_xkb" = "xyes"; then
86         AC_MSG_RESULT(yes)
87         AC_DEFINE([HAVE_XKB], [], Xkb is present)
88 fi
89
90 have_xinput=
91 AC_CHECK_LIB(Xi, XOpenDevice, XINPUT_LIBS=-lXi,,-lXext)
92 if test "x$XINPUT_LIBS" = x; then
93         AC_MSG_ERROR(Couldn't find the XInput library. Check config.log for details)
94 fi                             
95 AC_CHECK_HEADER(X11/extensions/XInput.h, have_xinput=yes)
96 AC_SUBST(XINPUT_LIBS)
97
98 AC_ARG_ENABLE(xevie, [--enable-xevie  Build with XEViE support [default=yes]], enable_xevie="$enableval", enable_xevie=yes)
99
100 if test x$enable_xevie = xyes ; then
101         have_xevie=
102         AC_CHECK_LIB(Xext, XevieStart, have_xevie="yes")
103
104         if test "x$have_xevie" = "xyes"; then
105                 XEVIE_LIBS="-lXext"
106                 AC_DEFINE([HAVE_XEVIE], [], Xevie is present)
107         else
108            AC_CHECK_LIB(Xevie, XevieQueryVersion, have_xevie="maybe",,-lXevie -lXext)
109            if test "x$have_xevie" = "xmaybe"; then
110               AC_CHECK_HEADER(X11/extensions/Xevie.h, have_xevie=yes, [], [#include <X11/Xlib.h>])
111               if test "x$have_xevie" = "xyes"; then
112                       XEVIE_LIBS="-lXext -lXevie"              
113                       AC_DEFINE([HAVE_XEVIE], [], Xevie is present)
114               fi
115            fi   
116         fi
117         AC_SUBST(XEVIE_LIBS)
118 fi
119
120 dnl Allow disabling SMlib
121 AC_ARG_ENABLE(sm, [  --enable-sm  Enable session management support [default=yes]], enable_sm="$enableval", enable_sm=yes)
122
123 if test x$enable_sm = xyes ; then
124         have_sm=
125         AC_CHECK_LIB(SM, SmcSaveYourselfDone, have_sm="yes")
126         if test x$have_sm = xyes ; then
127                 SM_LIBS="-lSM -lICE"
128                 AC_DEFINE(HAVE_SM, , [Building with SM support])
129         fi
130         AC_SUBST(SM_LIBS)
131 fi
132
133
134 AC_ARG_VAR([DEFAULT_ATSPI_INTROSPECTION_PATH],
135            [Set the default path for the install ofDBus introspection XML
136             relative to the pkgdatadir.])
137 if test -z "$DEFAULT_ATSPI_INTROSPECTION_PATH"; then
138           DEFAULT_ATSPI_INTROSPECTION_PATH=dbus
139 fi
140
141 AC_ARG_WITH(dbus-services,
142            [AC_HELP_STRING([--with-dbus-services=<dir>],
143            [where D-BUS services directory is])])
144 if ! test -z "$with_dbus_services" ; then
145            DBUS_SERVICES_DIR="$with_dbus_services"
146 else
147            DBUS_SERVICES_DIR="$datadir/dbus-1/services"
148 fi
149 AC_SUBST(DBUS_SERVICES_DIR)
150
151 dnl find sizes & alignments
152 orig_CPPFLAGS=$CPPFLAGS
153 CPPFLAGS="$CPPFLAGS $DBUS_CFLAGS"
154 DBIND_CHECK_ALIGNOF(char)
155 DBIND_CHECK_ALIGNOF(dbus_bool_t)
156 DBIND_CHECK_ALIGNOF(dbus_int16_t)
157 DBIND_CHECK_ALIGNOF(dbus_int32_t)
158 DBIND_CHECK_ALIGNOF(dbus_int64_t)
159 DBIND_CHECK_ALIGNOF(double)
160 DBIND_CHECK_ALIGNOF(dbind_pointer)
161 DBIND_CHECK_ALIGNOF(dbind_struct)
162 CPPFLAGS=$orig_CPPFLAGS 
163
164 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
165
166 AC_CONFIG_FILES([Makefile
167                  pkgconfig/dbind-0.1.pc
168                  pkgconfig/dbind-0.1-uninstalled.pc
169                  pkgconfig/droute-0.1.pc
170                  pkgconfig/droute-0.1-uninstalled.pc
171                  pkgconfig/Makefile
172                  xml/Makefile
173                  tools/Makefile
174                  droute/Makefile
175                  registryd/Makefile
176                  registryd/at-spi-registryd.desktop.in
177                  dbind/Makefile
178                  dbind/dbind-config.h])
179
180 AC_OUTPUT