]> err.no Git - mapper/blob - configure.ac
Merge branch 'master' of git://git.tal.org/mapper
[mapper] / configure.ac
1 #
2 # This file is part of maemo-mapper
3 #
4 # Copyright (C) 2006 John Costigan.
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License along
17 # with this program; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #
20
21 AC_INIT(Makefile.am)
22 AM_INIT_AUTOMAKE(mapper, 1.0.3.90)
23 AM_MAINTAINER_MODE
24
25 AC_PROG_CPP
26 AC_CONFIG_HEADERS(src/config.h)
27 AC_PROG_INSTALL
28 AC_PROG_LIBTOOL
29 AC_SYS_LARGEFILE
30 dnl PKG_PROG_PKG_CONFIG
31
32 dnl Debugging options to enable debug macros
33 DEBUG_FLAGS=
34 AC_ARG_ENABLE(debug,     [  --enable-debug                compile with DEBUG],,enable_debug=no)
35
36 if test "x$enable_debug" = "xyes"; then
37     DEBUG_FLAGS="$DEBUG_FLAGS -DDEBUG -g -fno-omit-frame-pointer"
38 else
39     DEBUG_FLAGS="$DEBUG_FLAGS -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT"
40 fi
41
42 CFLAGS="$CFLAGS $DEBUG_FLAGS -Wall -Wmissing-prototypes -Wmissing-declarations"
43
44 PKG_CHECK_MODULES(GLIBGTK, glib-2.0 gconf-2.0 dbus-glib-1 gtk+-2.0)
45 AC_SUBST(GLIBGTK_LIBS)
46 AC_SUBST(GLIBGTK_CFLAGS)
47
48 AC_ARG_ENABLE([770],AS_HELP_STRING([--enable-770],[Build for Nokia 770/N800]),
49               [enable_770=$enableval], [enable_770=no])
50
51 AC_ARG_ENABLE([hildon],AS_HELP_STRING([--enable-hildon],[Build for Hildon]),
52               [enable_hildon=$enableval], [enable_hildon=no])
53
54 AC_ARG_ENABLE([itbtdbus],AS_HELP_STRING([--enable-itbtdbus],[Use IT D-Bus Bluetooth interface]),
55               [enable_itbtdbus=$enableval], [enable_itbtdbus=no])
56
57 AC_ARG_ENABLE([btdbus],AS_HELP_STRING([--enable-btdbus],[Use D-Bus bluez interface]),
58               [enable_btdbus=$enableval], [enable_btdbus=no])
59
60 if test "x$enable_770" = "xno" ; then
61   WITH_DEVICE_770=no
62 else
63   WITH_DEVICE_770=yes
64   enable_hildon=yes
65   AC_DEFINE([WITH_DEVICE_770], 1, [With 770/N800 specific code])
66 fi
67
68 if test "x$enable_itbtdbus" = "xno" ; then
69   WITH_HILDON_DBUS_BT=no
70   enable_btdbus=yes
71 else
72   WITH_HILDON_DBUS_BT=yes
73   AC_CHECK_HEADERS([bt-dbus.h], [ac_cv_btdbus_h=yes])
74   AC_DEFINE([WITH_HILDON_DBUS_BT], 1, [IT D-Bus bluetooth])
75 fi
76
77 if test "x$enable_btdbus" = "xno" ; then
78   WITH_BLUEZ_DBUS_BT=no
79 else
80   WITH_BLUEZ_DBUS_BT=yes
81   PKG_CHECK_MODULES(BLUEZ, bluez)
82   AC_SUBST(BLUEZ_LIBS)
83   AC_SUBST(BLUEZ_CFLAGS)
84   AC_DEFINE([WITH_BLUEZ_DBUS_BT], 1, [bluez D-Bus bluetooth])
85 fi
86
87 if test "x$enable_hildon" = "xyes" ; then
88  dnl Ckeck for hildon-libs
89  PKG_CHECK_MODULES(HILDON, hildon-libs, HAVE_HILDON=yes, HAVE_HILDON=no)
90
91  if test "x$HAVE_HILDON" = "xno"; then
92   PKG_CHECK_MODULES(HILDON, hildon-1, HAVE_HILDON1=yes, HAVE_HILDON1=no)
93  fi
94
95  if test "x$HAVE_HILDON" = "xyes"; then
96   AC_DEFINE(WITH_HILDON, 1, [build with Maemo/Hildon user interface])
97  else
98   AC_MSG_RESULT(no)
99  fi
100 else
101  HAVE_HILDON=no
102  HAVE_HILDON1=no
103 fi
104
105 if test "x$HAVE_HILDON1" = "xyes"; then
106   AC_DEFINE(WITH_HILDON, 1, [build with Maemo/Hildon user interface])
107   AC_DEFINE(WITH_HILDON_NEW, 1, [build with new Hildon libs])
108   HAVE_HILDON=yes
109 else
110   AC_MSG_RESULT(no)
111 fi
112
113 dnl make HILDON_CFLAGS and HILDON_LIBS available
114 if test "x$HAVE_HILDON" = "xyes"; then
115  AC_SUBST(HILDON_CFLAGS)
116  AC_SUBST(HILDON_LIBS)
117
118  PKG_CHECK_MODULES(OSSO, libosso >= 1, HAVE_OSSO=yes, HAVE_OSSO=no)
119  if test "x$HAVE_OSSO" = "xyes"; then
120   AC_DEFINE(WITH_OSSO, 1, [build with Nokia osso])
121   AC_SUBST(OSSO_LIBS)
122   AC_SUBST(OSSO_CFLAGS)
123  else
124   AC_MSG_RESULT(no)
125  fi
126
127  if test "x$HAVE_OSSO" = "xyes"; then
128
129  PKG_CHECK_MODULES(CONIC, conic, CONIC=yes, CONIC=no)
130  if test "x$CONIC" = "xyes"; then
131   AC_DEFINE(WITH_CONIC, 1, [build with Nokia Internet Connectivity library])
132   AC_SUBST(CONIC_LIBS)
133   AC_SUBST(CONIC_CFLAGS)
134  else
135   AC_MSG_RESULT(no)
136   PKG_CHECK_MODULES(OSSO_IC, osso-ic, HAVE_OSSO_IC=yes, HAVE_OSSO_IC=no)
137   if test "x$HAVE_OSSO_IC" = "xyes"; then
138    AC_DEFINE(WITH_OSSO_IC, 1, [build with Nokia osso ic])
139    AC_SUBST(OSSO_IC_LIBS)
140    AC_SUBST(OSSO_IC_CFLAGS)
141   else
142    AC_MSG_RESULT(no)
143   fi
144  fi
145
146  PKG_CHECK_MODULES(HILDON_HELP, hildon-help, HAVE_HILDON_HELP=yes, HAVE_HILDON_HELP=no)
147  if test "x$HAVE_HILDON_HELP" = "xyes"; then
148   AC_DEFINE(WITH_HILDON_HELP, 1, [build with Nokia hildon help (new)])
149   AC_SUBST(HILDON_HELP_LIBS)
150   AC_SUBST(HILDON_HELP_CFLAGS)
151  else
152   AC_MSG_RESULT(no)
153   PKG_CHECK_MODULES(OSSO_HELP, libossohelp, HAVE_OSSO_HELP=yes, HAVE_OSSO_HELP=no)
154   if test "x$HAVE_OSSO_HELP" = "xyes"; then
155    AC_DEFINE(WITH_OSSO_HELP, 1, [build with Nokia osso help (old)])
156    AC_SUBST(OSSO_HELP_LIBS)
157    AC_SUBST(OSSO_HELP_CFLAGS)
158   else
159    AC_MSG_RESULT(no)
160   fi
161  fi
162
163  # libosso
164  fi
165
166  PKG_CHECK_MODULES(HILDONFM, hildon-fm, HAVE_HILDONFM=yes, HAVE_HILDONFM=no)
167  if test "x$HAVE_HILDONFM" = "xyes"; then
168   AC_DEFINE(WITH_HILDONFM, 1, [build with Hildon Filemanager 1])
169   AC_SUBST(HILDONFM_LIBS)
170   AC_SUBST(HILDONFM_CFLAGS)
171  else
172   AC_MSG_RESULT(no)
173   PKG_CHECK_MODULES(HILDONFM, hildon-fm-2, HAVE_HILDONFM=yes, HAVE_HILDONFM=no)
174   if test "x$HAVE_HILDONFM" = "xyes"; then
175    AC_DEFINE(WITH_HILDONFM, 1, [build with Hildon Filemanager 2])
176    AC_SUBST(HILDONFM_LIBS)
177    AC_SUBST(HILDONFM_CFLAGS)
178   else
179    AC_MSG_RESULT(no)
180   fi
181  fi
182
183 fi
184
185 AM_CONDITIONAL(WITH_HILDON, test "x$HAVE_HILDON" = "xyes")
186 AM_CONDITIONAL(WITH_OSSO, test "x$HAVE_OSSO" = "xyes")
187
188 AC_CHECK_HEADERS([gps.h], [ac_cv_gps_h=yes])
189 AC_CHECK_LIB(gps, gps_open,[ac_cv_libgps=yes] )
190 if test "x$ac_cv_libgps" = xyes; then
191         AC_DEFINE(WITH_LIBGPS, 1, [build with gpsd])
192 fi
193
194 PKG_CHECK_MODULES(GEOCLUE, geoclue, HAVE_GEOCLUE=yes, HAVE_GEOCLUE=no)
195
196 if test "x$HAVE_GEOCLUE" = "xyes"; then
197  AC_DEFINE(WITH_GEOCLUE, 1, [build with Geoclue])
198  AC_SUBST(GEOCLUE_CFLAGS)
199  AC_SUBST(GEOCLUE_LIBS)
200 fi
201
202 PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0 >= 2.8.4.11 gnome-vfs-module-2.0 >= 2.8.4.11)
203 AC_SUBST(GNOME_VFS_LIBS)
204 AC_SUBST(GNOME_VFS_CFLAGS)
205
206 PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.6.16)
207 AC_SUBST(LIBXML2_LIBS)
208 AC_SUBST(LIBXML2_CFLAGS)
209
210 PKG_CHECK_MODULES(LIBCURL, libcurl)
211 AC_SUBST(LIBCURL_LIBS)
212 AC_SUBST(LIBCURL_CFLAGS)
213
214 PKG_CHECK_MODULES(SQLITE, sqlite3)
215 AC_SUBST(SQLITE_LIBS)
216 AC_SUBST(SQLITE_CFLAGS)
217
218 PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10, HAVE_GST=yes, HAVE_GST=no)
219 if test "x$HAVE_GST" = "xyes"; then
220  AC_DEFINE(WITH_GST, 1, [build with Gstreamer])
221  GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstapp-0.10"
222  AC_SUBST(GSTREAMER_LIBS)
223  AC_SUBST(GSTREAMER_CFLAGS)
224 else
225  AC_MSG_ERROR([Mapper requires gstreamer.])
226 fi
227
228 AC_CHECK_HEADERS(bzlib.h,
229     BZ2_LIBS="$BZ2_LIBS -lbz2",
230     AC_MSG_ERROR([Mapper requires libbz2.])
231     )
232 AC_SUBST(BZ2_LIBS)
233
234 AC_CHECK_LIB([expat], [XML_ParserCreate],
235   AC_DEFINE(HAVE_LIBEXPAT, 1, [Defined if you have libexpat])
236   AC_SUBST(EXPAT_LIBS)
237 )
238
239 AC_CHECK_HEADERS(expat.h,
240         EXPAT_LIBS="-lexpat",
241         AC_MSG_ERROR([Mapper requires libexpat.])
242         )
243 AC_SUBST(EXPAT_LIBS)
244
245 AC_CHECK_HEADER(espeak/speak_lib.h, HAVE_ESPEAK=yes, HAVE_ESPEAK=no)
246 if test "x$HAVE_GST" = "xyes"; then
247 ESPEAK_LIBS="-lespeak"
248 ESPEAK_CFLAGS="-I/usr/include/espeak"
249 AC_CHECK_LIB([espeak], [espeak_Initialize],
250   AC_DEFINE(WITH_ESPEAK, 1, [Defined if you have espeak])
251   AC_SUBST(ESPEAK_CFLAGS)
252   AC_SUBST(ESPEAK_LIBS)
253 )
254 fi
255
256 # Localisation
257 if test "x$HAVE_HILDON" = "xyes"; then
258  localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`
259 else
260  localedir=
261 fi
262 AC_PROG_INTLTOOL([0.23])
263 GETTEXT_PACKAGE=$PACKAGE
264 AC_SUBST(GETTEXT_PACKAGE)
265 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "${GETTEXT_PACKAGE}", [Name of gettext package])
266 ALL_LINGUAS="en_US en_GB nl_NL it_IT bg_BG fi_FI"
267 AM_GLIB_GNU_GETTEXT
268
269 if test "x$HAVE_HILDON" = "xyes"; then
270 # To make application visible in maemo Task Navigator it needs a Desktop
271 # file for the application.
272 # D-BUS service file is needed to be able to launch the maemo application
273 # and connect it to D-BUS services.
274 # The following line defines install directories for these files.
275  desktopentrydir=`$PKG_CONFIG osso-af-settings --variable=desktopentrydir`
276  serviceentrydir=`$PKG_CONFIG osso-af-settings --variable=dbusservicedir`
277
278 # Application pixmaps install directory
279  pixmapdir=`$PKG_CONFIG osso-af-settings --variable=hildonpixmapdir`
280
281 # Help file install directory
282  helpfile_engbdir=$datadir/osso-help/en_US
283
284 # Hildon control panel plugin install directories
285  pluginlibdir=`$PKG_CONFIG hildon-control-panel --variable=plugindir`
286  plugindesktopentrydir=`$PKG_CONFIG hildon-control-panel --variable=plugindesktopentrydir`
287
288  # Application icon install directories
289  icon_26x26dir=$datadir/icons/hicolor/26x26/hildon
290  icon_34x34dir=$datadir/icons/hicolor/34x34/hildon
291  icon_40x40dir=$datadir/icons/hicolor/40x40/hildon
292  icon_50x50dir=$datadir/icons/hicolor/50x50/hildon
293  icon_scalabledir=$datadir/icons/hicolor/scalable/hildon
294
295  # Help file install directory
296  helpfile_enusdir=$datadir/osso-help/en_US
297  helpfile_engbdir=$datadir/osso-help/en_GB
298
299  AC_SUBST(helpfile_enusdir)
300  AC_SUBST(helpfile_engbdir)
301
302 else
303  desktopentrydir=$datadir/applications
304  serviceentrydir=
305  pixmapdir=$datadir/pixmaps
306  pluginlibdir=
307  plugindesktopentrydir=
308
309  # Application icon install directories
310  icon_26x26dir=$datadir/icons/hicolor/26x26
311  icon_34x34dir=$datadir/icons/hicolor/34x34
312  icon_40x40dir=$datadir/icons/hicolor/40x40
313  icon_50x50dir=$datadir/icons/hicolor/50x50
314  icon_scalabledir=$datadir/icons/hicolor/scalable
315
316 fi
317
318 # Define as variables in Makefiles
319 AC_SUBST(desktopentrydir)
320 AC_SUBST(serviceentrydir)
321 AC_SUBST(localedir)
322 AC_SUBST(pixmapdir)
323 AC_SUBST(icon_26x26dir)
324 AC_SUBST(icon_34x34dir)
325 AC_SUBST(icon_40x40dir)
326 AC_SUBST(icon_50x50dir)
327 AC_SUBST(icon_scalabledir)
328 AC_SUBST(pluginlibdir)
329 AC_SUBST(plugindesktopentrydir)
330
331 AC_DEFINE_UNQUOTED([LOCALEDIR], "${localedir}", [Runtime locale catalog files path])
332 AC_DEFINE_UNQUOTED([PIXMAPDIR], "${pixmapdir}", [Runtime pixmap files path])
333
334 # Produce output files
335 AC_OUTPUT(
336           Makefile \
337           src/Makefile \
338           data/Makefile \
339           data/help/Makefile \
340           po/Makefile.in \
341           po/Makefile
342 )
343
344 echo "Hildon:                     ${enable_hildon}"
345 echo "IT specials (770/N800):     ${enable_770}"
346 echo "IT D-Bus Bluetooth:         ${enable_itbtdbus}"
347 echo "Bluez D-Bus:                ${enable_btdbus}"