tagging release
[dasher.git] / trunk / configure.in
blob35b153120a04c26a695c18a8249e6a4068b418ab
1 AC_PREREQ(2.56)
2 AC_INIT([dasher],[4.3.6],[http://bugzilla.gnome.org/enter_bug.cgi?product=dasher])
3 AC_REVISION([$Id: configure.in,v])
4 AC_CONFIG_SRCDIR([Src/main.cc])
5 AC_CONFIG_HEADERS(config.h)
7 dnl The following two changes are required currently for the Maemo build (but will break the GNOME build)
9 dnl AM_INIT_AUTOMAKE([1.9 gnu check-news dist-bzip2 no-dist-gzip])
10 AM_INIT_AUTOMAKE([1.8 gnu check-news dist-bzip2 no-dist-gzip])
11 AM_MAINTAINER_MODE
13 AC_PROG_MAKE_SET
14 IT_PROG_INTLTOOL([0.34.90])
15 dnl AC_PROG_INTLTOOL(0.30)
17 AC_DISABLE_STATIC
18 AC_PROG_LIBTOOL
19 changequote(,)dnl
20 if test "x$GCC" = "xyes"; then
21   CXXFLAGS="$CXXFLAGS -Wall -Wno-non-virtual-dtor"
22   case " $CXXFLAGS " in
23   *[\ \ ]-O*) ;;
24   *) CXXFLAGS="$CXXFLAGS -O2" ;;
25   esac
27 changequote([,])dnl
29 dnl AM_ICONV
31 GETTEXT_PACKAGE=dasher
32 AC_SUBST(GETTEXT_PACKAGE)
33 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])
34 AM_GLIB_GNU_GETTEXT
36 AC_PROG_CXX
38 AC_PROG_LD_GNU
40 WITHGTK2=true;
42 PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.4, have_glib=true, have_glib=false)
44 AC_CHECK_LIB(expat, XML_Parse,, AC_MSG_ERROR([Expat library not found.]))
46 AC_ARG_ENABLE(debug,
47         AC_HELP_STRING([--enable-debug],[build with additional debugging checks (default is NO)]),
48          if test $withval = "no"; then
49            DEBUG=false;
50          else
51            DEBUG=true;
52          fi,
53          DEBUG=false)
55 AC_ARG_WITH([gnome],
56          AC_HELP_STRING([--with-gnome],[build with GNOME support (default is YES)]), 
57          if test $withval = "no"; then
58            WITHGNOME=false; 
59          else
60            WITHGNOME=true;
61          fi, 
62          WITHGNOME=true)
64 AC_ARG_ENABLE([speech],
65          AC_HELP_STRING([--enable-speech],[build with speech support (default is NO)]),
66          if test $enableval = "no"; then
67            WITHSPEECH=false; 
68          else
69            WITHSPEECH=true;
70          fi, 
71          WITHSPEECH=false)
73 AC_ARG_WITH([qte],
74          AC_HELP_STRING([--with-qte],[build with QTE support (default is NO -- currently untested)]), 
75          if test $withval = "no"; then
76            WITHQTE=false; 
77          else
78            WITHQTE=true;
79          fi, 
80          WITHQTE=false)
82 AC_ARG_WITH([gpe],
83          AC_HELP_STRING([--with-gpe],[build with GPE support (default is NO -- currently untested)]), 
84          if test $withval = "no"; then
85            WITHGPE=false; 
86          else
87            WITHGPE=true;
88          fi, 
89          WITHGPE=false)
91 AC_ARG_ENABLE([a11y],
92          AC_HELP_STRING([--enable-a11y],[build with support for the GNOME accessibility framework (default is YES)]),
93          if test $enableval = "no"; then
94            WITHA11Y=false; 
95          else
96            WITHA11Y=true;
97          fi, 
98          WITHA11Y=true)
100 AC_ARG_ENABLE([japanese],
101          AC_HELP_STRING([--enable-japanese],[build with support for Japanese Kanji entry (experimental -- default is NO)]),
102          if test $enableval = "no"; then
103            WITHJAPANESE=false; 
104          else
105            AC_CHECK_LIB(canna, RkBgnBun,, AC_MSG_ERROR([Canna library not found (required for Japanese).]))
106            WITHJAPANESE=true;
107          fi, 
108          WITHJAPANESE=false)
110 AC_ARG_ENABLE([chinese],
111          AC_HELP_STRING([--enable-chinese],[build with support for Chinese PinYin entry (experimental -- default is NO)]),
112          if test $enableval = "no"; then
113            WITHCHINESE=false; 
114          else
115            AC_CHECK_LIB(ce, CEConvert, , AC_MSG_ERROR([CE library not found (required for Chinese).]))
116            WITHCHINESE=true;
117          fi, 
118          WITHCHINESE=false)
120 AC_ARG_ENABLE([joystick],
121          AC_HELP_STRING([--enable-joystick],[Build with Linux joystick support (note that other UNIX based operating systems aren't supported here)]),
122          if test $enableval = "no"; then
123            WITHJOYSTICK=false; 
124          else
125            WITHJOYSTICK=true;
126          fi, 
127          WITHJOYSTICK=false)
129 AC_ARG_WITH([maemo],
130         AC_HELP_STRING([--with-maemo],[build with Maemo support (default is NO)]),
131         if test $withval = "yes"; then
132            WITHMAEMO=true;
133            WITHGNOME=false;
134            WITHA11Y=false;
135         else
136            WITHMAEMO=false;
137         fi,
138         WITHMAEMO=false)
140 AC_ARG_WITH([maemo-fullscreen],
141         AC_HELP_STRING([--with-maemo-fullscreen],[build as standalone Maemo fullscreen app (default is NO)]),
142         if test $withval = "yes"; then
143            WITHMAEMOFULLSCREEN=true;
144            WITHMAEMO=true;
145            WITHGNOME=false;
146            WITHA11Y=false;
147         else
148            WITHMAEMOFULLSCREEN=false;
149         fi,
150         WITHMAEMOFULLSCREEN=false)
153 dnl AC_ARG_WITH([darwin],
154 dnl     AC_HELP_STRING([--with-darwin],[build with Darwin (Mac OS X) support (default is NO)]),
155 dnl     if test $withval = "yes"; then
156 dnl        WITHDARWIN=true;
157 dnl     else
158 dnl        WITHDARWIN=false;
159 dnl     fi,
160 dnl     WITHDARWIN=false)
162 AC_ARG_WITH([cairo],
163          AC_HELP_STRING([--with-cairo],[build with cairo support (default is YES)]),
164          if test $withval = "no"; then
165            WITHCAIRO=false; 
166          else
167            WITHCAIRO=true;
168          fi, 
169          WITHCAIRO=true)
171 if [[ x"$WITHGTK2" = xtrue ]]
172 then 
173         PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.4.0,[GTK2HERE=true],[GTK2HERE=false]) 
174         PKG_CHECK_MODULES(GCONF, gconf-2.0,[GCONF2HERE=true],[GCONF2HERE=false])
175         if [[ x$GCONF2HERE = xfalse ]]; then
176            AC_MSG_WARN("GConf was not detected - user preferences will not be stored.")
177         fi
180 if [[ x"$GTK2HERE" = xtrue ]] && [[ x"$WITHGTK2" = xtrue ]] && [[ x"$WITHQTE" != xtrue ]]
181 then
182         BUILDGTK2=true
183 elif [[ x"$GTK2HERE" = xtrue ]] && [[ x"$WITHQTE" != xtrue ]]
184 then
185         BUILDGTK2=true
186 else 
187         BUILDGTK2=false
190 if [[ x$BUILDGTK2 = xfalse ]] && [[ x"$WITHQTE" != xtrue ]]
191 then
192         echo $WITHGTK2
193         AC_ERROR("Unable to find GTK2 or another necessary library. See the previous line for more useful data.")
196 if [[ x"$WITHQTE" != xtrue ]]
197 then
198 dnl test for X libraries
199         if test x$no_x = xyes ; then
200           AC_MSG_ERROR([X development libraries not found])
201         else
202           X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
203         fi
205 dnl path to Xtst
206         AC_CHECK_LIB(Xtst, XTestFakeKeyEvent, XTST_LIBS=-lXtst)
207         if test "x$XTST_LIBS" = x; then
208           save_LIBS="$LIBS"
209           for xtstpath in /usr/X11R6/lib64 /usr/X11R6/lib /usr/openwin/lib $x_libraries; do
210             LIBS="-L$xtstpath -lXtst"
211             case "$host" in
212             *solaris*) XTST_RPATH_FLAGS="-R$xtstpath" ;;
213             esac
214             AC_MSG_CHECKING(for -lXtst in $xtstpath)
215             AC_TRY_LINK([], [XTestFakeKeyEvent()], [
216                 AC_MSG_RESULT(yes)
217                 XTST_LIBS="$XTST_RPATH_FLAGS -L$xtstpath -lXtst"
218                 LIBS="$save_LIBS"
219                 break],[AC_MSG_RESULT(no)])
220           done
221         fi
222         if test "x$XTST_LIBS" = x; then
223           AC_MSG_ERROR(Couldn't find the Xtst library. Check config.log for details)
224         else
225           X_LIBS="$X_LIBS $XTST_LIBS"
226           AC_DEFINE(HAVE_XTST, 1, [The XTest extension is present])
227         fi
229 AC_SUBST(X_LIBS)
232 if [[ x"$DEBUG" = xtrue ]]; then
233         AC_DEFINE([DEBUG], 1, [Additional debug checks enabled])
236 if [[ x"$WITHGNOME" = xtrue ]]; then
237         PKG_CHECK_MODULES(gnome, libgnome-2.0 libgnomeui-2.0 gnome-vfs-2.0)
238         AC_DEFINE([GNOME_LIBS], 1, [libgnome-2, libgnomeui-2, and gnome-vfs-2 are present])
241 if [[ x"$WITHSPEECH" = xtrue ]]; then
242         PKG_CHECK_MODULES(gnome_speech, gnome-speech-1.0 bonobo-activation-2.0 libbonobo-2.0 ORBit-2.0)
243         AC_DEFINE([GNOME_SPEECH], 1, [gnome_speech-1 libraries are present])
244 #       SPEECH_SOURCES='speech.$(OBJEXT)'
247 if [[ x"$WITHA11Y" = xtrue ]]; then
248         PKG_CHECK_MODULES(gnome_a11y, bonobo-activation-2.0 libbonobo-2.0 ORBit-2.0 libgnomeui-2.0 cspi-1.0 atk)
249         AC_DEFINE([GNOME_A11Y], 1, [gnome_a11y libraries are present])
252 if [[ x"$WITHJAPANESE" = xtrue ]]; then
253         AC_DEFINE([JAPANESE], 1, [Japanese support enabled])
254         JAPANESE_SOURCES='CannaConversionHelper.$(OBJEXT)'
255 else
256         JAPANESE_SOURCES=
259 AC_SUBST(JAPANESE_SOURCES)
261 if [[ x"$WITHCHINESE" = xtrue ]]; then
262         AC_DEFINE([CHINESE], 1, [Chinese support enabled])
263         CHINESE_SOURCES='PinYinConversionHelper.$(OBJEXT)'
264 else
265         CHINESE_SOURCES=
268 AC_SUBST(CHINESE_SOURCES)
270 if [[ x"$WITHJOYSTICK" = xtrue ]]; then
271         AC_DEFINE([JOYSTICK], 1, [Linux joystick support enabled])
275 if [[ x"$WITHGPE" = xtrue ]]; then
276         AC_DEFINE([WITH_GPE], 1, [gpe is present])
279 dnl if [[ x"$WITHDARWIN" = xtrue ]]; then
280 dnl         AC_DEFINE([WITH_DARWIN], 1, [Targeting Darwin/X11])
281 dnl fi
283 if [[ x"$WITHMAEMO" = xtrue ]]; then
284       AC_DEFINE([WITH_MAEMO], 1, [Maemo is present])
285       dnl Yes, this sucks
286       glade_LIBS="/usr/lib/libglade-2.0.a"
287       PKG_CHECK_MODULES(hildon, hildon-libs)
288       AC_CHECK_LIB(osso, osso_initialize,, AC_MSG_ERROR([Osso library not found.]))
289 fi                      
291 if [[ x"$WITHMAEMOFULLSCREEN" = xtrue ]]; then
292       AC_DEFINE([WITH_MAEMOFULLSCREEN], 1, [Building as fullscreen Maemo app])
295 if [[ x"$WITHCAIRO" = xtrue ]]; then
296         PKG_CHECK_MODULES(cairo, gtk+-2.0 >= 2.8.0)
297         AC_DEFINE([WITH_CAIRO], 1, [use cairo (needs Gtk+ >= 2.8.0)])
300 if [[ x"$BUILDGTK2" = xtrue ]]; then 
301         PKG_CHECK_MODULES(glade, libglade-2.0)
302         if [[ x"$WITHMAEMO" = xtrue ]]; then
303                 dnl Yes, this sucks
304                 glade_LIBS=`echo $glade_LIBS | sed s/-lglade-2.0//`
305                 glade_LIBS="$glade_LIBS /usr/lib/libglade-2.0.a"
306         fi
308         PKG_CHECK_MODULES(gthread, gthread-2.0)
311 dnl     if [[ x"$WITHMAEMO" = xfalse ]]; then
312 dnl             PKG_CHECK_MODULES(wnck, libwnck-1.0)
313 dnl             AC_DEFINE([HAVE_WNCK], 1, [wnck is present])
314 dnl     fi
317 if [[ x"$GCONF2HERE" = xtrue ]]; then
318         AM_GCONF_SOURCE_2
319         AC_DEFINE([WITH_GCONF], 1, [Use GConf])
322 AC_SUBST(gnome_speech_LIBS)
323 AC_SUBST(gnome_speech_CFLAGS)
324 AC_SUBST([SPEECH_SOURCES])
326 AC_SUBST(gnome_a11y_LIBS)
327 AC_SUBST(gnome_a11y_CFLAGS)
328 AC_SUBST([A11Y_SOURCES])
330 AC_SUBST(gnome_LIBS)
331 AC_SUBST(gnome_CFLAGS)
333 AC_SUBST(glade_LIBS)
334 AC_SUBST(glade_CFLAGS)
336 AC_SUBST(gthread_LIBS)
337 AC_SUBST(gthread_CFLAGS)
339 AC_SUBST(wnck_LIBS)
340 AC_SUBST(wnck_CFLAGS)
342 AC_SUBST(hildon_LIBS)
343 AC_SUBST(hildon_CFLAGS)
345 AC_SUBST(GETTEXT_PACKAGE)
347 AM_CONDITIONAL(DOGTK2, test x$BUILDGTK2 = xtrue)        
348 AM_CONDITIONAL(DOQTE, test x$WITHQTE = xtrue)
349 AM_CONDITIONAL(GNOME_SPEECH, test x$WITHSPEECH = xtrue)
350 AM_CONDITIONAL(GNOME_A11Y, test x$WITHA11Y = xtrue)
351 AM_CONDITIONAL(WITH_GPE, test x$WITHGPE = xtrue)
352 AM_CONDITIONAL(WITH_MAEMO, test x$WITHMAEMO = xtrue)
353 AM_CONDITIONAL(WITH_MAEMOFULLSCREEN, test x$WITHMAEMOFULLSCREEN = xtrue)
354 AM_CONDITIONAL(JAPANESE, test x$WITHJAPANESE = xtrue)
355 AM_CONDITIONAL(CHINESE, test x$WITHCHINESE = xtrue)
356 AM_CONDITIONAL(JOYSITICK, test x$WITHJOYSTICK = xtrue)
358 AC_SUBST(GTK2_CFLAGS)
359 AC_SUBST(GTK2_LIBS)
361 AC_SUBST(GCONF_CFLAGS)
362 AC_SUBST(GCONF_LIBS)
364 if [[ x"$WITHGPE" = xtrue ]]; then
365         SETTINGS_CFLAGS=" "
366         SETTINGS_LIBS="-lgpewidget -lXsettings-client -lXsettings"
367 else
368         SETTINGS_CFLAGS=$GCONF_CFLAGS
369         SETTINGS_LIBS=$GCONF_LIBS
371 AC_SUBST(SETTINGS_CFLAGS)
372 AC_SUBST(SETTINGS_LIBS)
374 GTK2BUILD_CFLAGS="$GTK2_CFLAGS $SETTINGS_CFLAGS $gthread_CFLAGS $gnome_speech_CFLAGS $gnome_a11y_CFLAGS $glade_CFLAGS $gnome_CFLAGS $wnck_CFLAGS $hildon_CFLAGS"
376 dnl Check for GNU ld stolen from libtool.m4 - code reuse would be nice here
378 AC_CACHE_CHECK([if the linker ($LD) is GNU ld], have_prog_gnu_ld,
379 [# I'd rather use --version here, but apparently some GNU lds only accept -v.
380 case `$LD -v 2>&1 </dev/null` in
381 *GNU* | *'with BFD'*)
382 have_prog_gnu_ld=yes
385 have_prog_gnu_ld=no
387 esac])
389 if [[ x"$have_prog_gnu_ld" = xyes ]]; then
390    ed_flags="-Wl,--export-dynamic,"
391 else
392    ed_flags=""
395 GTK2BUILD_LIBS="$X_LIBS $GTK2_LIBS $SETTINGS_LIBS $gthread_LIBS $gnome_speech_LIBS $gnome_a11y_LIBS $glade_LIBS $gnome_LIBS $wnck_LIBS $hildon_LIBS $ed_flags"
397 AC_SUBST(GTK2BUILD_CFLAGS)
398 AC_SUBST(GTK2BUILD_LIBS)
400 if [[ x"$WITHGNOME" = xtrue ]]; then
401 GNOME_DOC_INIT
402 else
403 AM_CONDITIONAL(ENABLE_SK, false)
406 AC_CONFIG_FILES([Makefile
407                  Src/Makefile
408                  Src/Common/Makefile
409                  Src/DasherCore/Makefile
410                  Src/DasherCore/Alphabet/Makefile
411                  Src/DasherCore/LanguageModelling/Makefile
412                  Src/Gtk2/Makefile
413                  Src/Qt/Makefile
414                  Src/Win32/Makefile
415                  Data/dasher.desktop.in
416                  Data/Makefile
417                  Data/training/Makefile
418                  Data/alphabets/Makefile
419                  Data/glade/Makefile
420                  Data/colours/Makefile
421                  Data/controllabels/Makefile
422                  Data/Help/Makefile
423                  Data/Help/Gnome/Makefile
424                  Doc/Makefile
425                  Doc/user/Makefile
426                  Utils/Makefile
427                  po/Makefile.in])
430 dnl              Data/Help/Gnome/eu/Makefile
433 AC_OUTPUT