2007-12-03 Li Yuan <li.yuan@sun.com>
[platform/core/uifw/at-spi2-atk.git] / configure.in
1 AC_INIT(idl/Accessibility.idl)
2
3 AT_SPI_MAJOR_VERSION=1
4 AT_SPI_MINOR_VERSION=21
5 AT_SPI_MICRO_VERSION=3
6 AT_SPI_INTERFACE_AGE=0
7 AT_SPI_BINARY_AGE=0
8 AT_SPI_VERSION="$AT_SPI_MAJOR_VERSION.$AT_SPI_MINOR_VERSION.$AT_SPI_MICRO_VERSION"
9 AM_INIT_AUTOMAKE(at-spi, $AT_SPI_VERSION)
10 AC_SUBST(AT_SPI_MAJOR_VERSION)
11 AC_SUBST(AT_SPI_MINOR_VERSION)
12 AC_SUBST(AT_SPI_MICRO_VERSION)
13 AC_SUBST(AT_SPI_INTERFACE_AGE)
14 AC_SUBST(AT_SPI_BINARY_AGE)
15
16 # libtool versioning
17 LT_RELEASE=$AT_SPI_MAJOR_VERSION.$AT_SPI_MINOR_VERSION
18 LT_CURRENT=10
19 LT_REVISION=11
20 LT_AGE=10
21 LT_VERSION_INFO='-version-info ${LT_CURRENT}:${LT_REVISION}:${LT_AGE}'
22 AC_SUBST(LT_VERSION_INFO)
23 AC_SUBST(LT_RELEASE)
24 AC_SUBST(LT_CURRENT)
25 AC_SUBST(LT_REVISION)
26 AC_SUBST(LT_AGE)
27
28 dnl required versions of other tools.
29 m4_define([req_ver_atk],        [1.17.0])
30 m4_define([req_ver_gtk],        [2.10.0])
31 m4_define([req_ver_gail],       [1.9.0])
32 m4_define([req_ver_libbonobo],  [1.107.0])
33
34 dnl Specify a header configuration file
35 AM_CONFIG_HEADER(config.h)
36
37 dnl Initialize maintainer mode
38 AM_MAINTAINER_MODE
39
40 dnl translation of any at-spi strings: used only for .server
41 IT_PROG_INTLTOOL([0.35.0])
42
43 dnl Checks for programs
44 AC_PROG_CC
45 AC_PROG_INSTALL
46 AC_ISC_POSIX
47
48 # Check for Python
49
50 AM_PATH_PYTHON(2.4)
51
52 GNOME_COMMON_INIT
53 GNOME_COMPILE_WARNINGS(maximum)
54
55 dnl Initialize libtool
56 AM_DISABLE_STATIC
57 AM_PROG_LIBTOOL
58
59 GETTEXT_PACKAGE="${PACKAGE}"
60 AC_SUBST(GETTEXT_PACKAGE)
61 dnl internationalization support; uncomment if translatable strings are reintroduced
62 AM_GLIB_GNU_GETTEXT
63
64 # AM_GLIB_GNU_GETTEXT above subst. $DATADIRNAME
65 # this is the directory where the *.{mo,gmo} files are installed
66 localedir='${prefix}/${DATADIRNAME}/locale'
67 AC_SUBST(localedir)
68
69 GTK_DOC_CHECK([1.0])
70
71 AC_PATH_XTRA
72
73 if test x$no_x = xyes ; then
74         AC_MSG_ERROR([X development libraries not found])
75 else
76         X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
77 fi
78
79 AC_SUBST(X_LIBS)
80
81 dnl Check for obsolete (mis-numbered) versions of at-spi
82 dnl oldlibs=`echo $(libdir)/libspi.so.1.*`
83 dnl if test $$oldlibs != "$(libdir)/libspi.so.1.*" ; then
84 dnl   AC_MSG_ERROR(Old libspi.1.x library found in $libdir. Please remove $(libdir)/libspi.so.1 and $$oldlibs)
85 dnl fi
86
87 dnl Checks for libraries
88 PKG_CHECK_MODULES(LIBSPI, [
89         libbonobo-2.0   >= req_ver_libbonobo
90         atk             >= req_ver_atk
91 ])
92 AC_SUBST(LIBSPI_LIBS)
93 AC_SUBST(LIBSPI_CFLAGS)
94
95 PKG_CHECK_MODULES(REGISTRYD, [
96         libbonobo-2.0   >= req_ver_libbonobo
97         atk             >= req_ver_atk
98         gtk+-2.0        >= req_ver_gtk
99 ])
100 AC_SUBST(REGISTRYD_LIBS)
101 AC_SUBST(REGISTRYD_CFLAGS)
102
103 PKG_CHECK_MODULES(TESTS, [
104         libbonobo-2.0   >= req_ver_libbonobo
105         atk             >= req_ver_atk
106         gtk+-2.0        >= req_ver_gtk
107         gail            >= req_ver_gail
108 ])
109 AC_SUBST(TESTS_LIBS)
110 AC_SUBST(TESTS_CFLAGS)
111
112 PKG_CHECK_MODULES(ATK_BRIDGE, [
113         libbonobo-2.0   >= req_ver_libbonobo
114         atk             >= req_ver_atk
115 ])      
116 AC_SUBST(ATK_BRIDGE_LIBS)
117 AC_SUBST(ATK_BRIDGE_CFLAGS)
118
119 PKG_CHECK_MODULES(LIBCSPI, [
120         libbonobo-2.0   >= req_ver_libbonobo
121         atk             >= req_ver_atk
122 ])
123 AC_SUBST(LIBCSPI_LIBS)
124 AC_SUBST(LIBCSPI_CFLAGS)
125
126 PKG_CHECK_MODULES(ORBIT, [
127         ORBit-2.0
128 ])
129 AC_SUBST(ORBIT_LIBS)
130 AC_SUBST(ORBIT_CFLAGS)
131
132 dnl orbit-idl.
133 ORBIT_IDL="`$PKG_CONFIG --variable=orbit_idl ORBit-2.0`"
134 AC_SUBST(ORBIT_IDL)
135
136 dnl Bonobo and Bonobo-Activation idl files
137 BONOBO_ACTIVATION_IDL_DIR="`$PKG_CONFIG --variable=idldir bonobo-activation-2.0`"
138 LIBBONOBO_IDL_DIR="`$PKG_CONFIG --variable=idldir libbonobo-2.0`"
139 AC_SUBST(BONOBO_ACTIVATION_IDL_DIR)
140 AC_SUBST(LIBBONOBO_IDL_DIR)
141
142 LIBS="$LIBS $X_LIBS"
143 dnl path to Xtst
144 AC_CHECK_LIB(Xtst, XTestFakeKeyEvent, XTST_LIBS=-lXtst,[
145         AC_MSG_ERROR([Couldn't find the Xtst library. Check config.log])],
146         -lX11 -lXext)
147 AC_SUBST(XTST_LIBS)
148
149 have_xkb=
150 AC_CHECK_LIB(X11, XkbQueryExtension, have_xkb="maybe")
151 if test "x$have_xkb" = "xmaybe"; then 
152         AC_CHECK_HEADER(X11/XKBlib.h, have_xkb=yes)
153 fi
154 if test "x$have_xkb" = "xyes"; then
155         AC_MSG_RESULT(yes)
156         AC_DEFINE(HAVE_XKB)
157 fi
158
159 have_xinput=
160 AC_CHECK_LIB(Xi, XOpenDevice, XINPUT_LIBS=-lXi,,-lXext)
161 if test "x$XINPUT_LIBS" = x; then
162         AC_MSG_ERROR(Couldn't find the XInput library. Check config.log for details)
163 fi                             
164 AC_CHECK_HEADER(X11/extensions/XInput.h, have_xinput=yes)
165 AC_SUBST(XINPUT_LIBS)
166
167 dnl Allow disabling XEViE.
168 AC_ARG_ENABLE(xevie, [  --enable-xevie  Build with XEViE support [default=yes]], enable_xevie="$enableval", enable_xevie=yes)
169
170 if test x$enable_xevie = xyes ; then
171         have_xevie=
172         AC_CHECK_LIB(Xext, XevieStart, have_xevie="yes")
173
174         if test "x$have_xevie" = "xyes"; then
175                 XEVIE_LIBS="-lXext"
176                 AC_DEFINE(HAVE_XEVIE)
177         else
178            AC_CHECK_LIB(Xevie, XevieQueryVersion, have_xevie="maybe",,-lXevie -lXext)
179            if test "x$have_xevie" = "xmaybe"; then
180               AC_CHECK_HEADER(X11/extensions/Xevie.h, have_xevie=yes, [], [#include <X11/Xlib.h>])
181               if test "x$have_xevie" = "xyes"; then
182                       XEVIE_LIBS="-lXext -lXevie"              
183                       AC_DEFINE(HAVE_XEVIE)
184               fi
185            fi   
186         fi
187         AC_SUBST(XEVIE_LIBS)
188 fi
189
190 dnl CFLAGS="$CFLAGS -Wall"
191 AC_SUBST(CFLAGS)
192 AC_SUBST(CPPFLAGS)
193 AC_SUBST(LDFLAGS)
194
195 AC_CHECK_LIB(popt, poptGetContext, [POPT_LIBS="-lpopt"],
196 AC_MSG_ERROR([popt is required to build at-spi.
197 You can download the latest version from ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/]))
198 AC_SUBST(POPT_LIBS)
199 AC_MSG_CHECKING([for POPT_ARG_FLOAT in popt.h])
200 AC_TRY_CPP([#include <popt.h>
201 #ifndef POPT_ARG_FLOAT
202 #error popt too old
203 #endif], AC_MSG_RESULT(yes), [
204         AC_MSG_RESULT(no)
205         AC_MSG_ERROR([A newer version of popt is required to build at-spi.
206 You can download the latest version from ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/])
207 ])
208
209 #libtool option to strip symbols starting with cspi
210 #
211 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^cspi]].*"'
212 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
213
214 REBUILD=\#
215 if test "x$enable_rebuilds" = "xyes" && \
216         test -n "$PERL" && \
217         $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 && \
218         test -n "$AWK" ; then
219                 REBUILD=
220 fi
221 AC_SUBST(REBUILD)
222
223 AC_OUTPUT([
224 Makefile
225 po/Makefile.in
226 libspi-1.0.pc
227 libspi-1.0-uninstalled.pc
228 libloginhelper-1.0.pc
229 cspi-1.0.pc
230 cspi-1.0-uninstalled.pc
231 docs/Makefile
232 docs/reference/Makefile
233 docs/reference/cspi/Makefile
234 docs/reference/idl/Makefile
235 idl/Makefile
236 libspi/Makefile
237 registryd/Makefile
238 atk-bridge/Makefile
239 login-helper/Makefile
240 test/Makefile
241 cspi/Makefile
242 cspi/bonobo/Makefile
243 pyatspi/Makefile
244 ])
245
246 echo "AT-SPI setup:
247
248         Source code location:   ${srcdir}
249         Compiler:               ${CC} 
250         Prefix:                 ${prefix}
251
252         Welcome to the wonderful world of Accessibility.
253            http://developer.gnome.org/projects/gap/
254 "