Fix:gui_internal:Fix anomaly with default country handling.|Thanks to Stressedpiper...
[navit-package] / configure.in
1 AC_INIT(navit, 0.1.1)
2 SOURCE_MODE=svn
3
4 AM_INIT_AUTOMAKE
5 AM_CONFIG_HEADER(config.h)
6
7 AC_SUBST(SOURCE_MODE)
8 AM_CONDITIONAL(SOURCE_MODE_SVN, [test "x${SOURCE_MODE}" = "xsvn"])
9
10 if test "x${SOURCE_MODE}" = "xsvn" ; then
11         USE_MAINTAINER_MODE=yes
12 else
13         USE_MAINTAINER_MODE=no
14 fi
15
16 AC_DEFUN([AM_MAINTAINER_MODE],
17 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
18   dnl maintainer-mode is enabled by default (reason of inclusion of this function)
19   AC_ARG_ENABLE(maintainer-mode,
20 [  --enable-maintainer-mode  enable make rules and dependencies not useful
21                           (and sometimes confusing) to the casual installer],
22       USE_MAINTAINER_MODE=$enableval)
23   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
24   AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
25   MAINT=$MAINTAINER_MODE_TRUE
26   AC_SUBST(MAINT)dnl
27 ]
28 )
29
30 AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
31
32 AM_MAINTAINER_MODE
33
34
35 plugins=yes; plugins_reason=default
36 postgresql=yes; postgresql_reason=default
37 samplemap=yes; samplemap_reason=default
38 binding_dbus=yes; binding_dbus_reason=default
39 binding_python=yes; binding_python_reason=default
40 font_freetype=yes; font_freetype_reason=default
41 gui_gtk=no; gui_gtk_reason=default
42 gui_win32=no; gui_win32_reason=default
43 gui_internal=yes; gui_internal_reason=default
44 graphics_gd=no; graphics_gd_reason=default
45 graphics_gtk_drawing_area=no; graphics_gtk_drawing_area_reason=default
46 graphics_qt_qpainter=yes; graphics_qt_qpainter_reason=default
47 graphics_opengl=yes; graphics_opengl_reason=default
48 graphics_win32=no; graphics_win32_reason=default
49 speech_cmdline=yes; speech_cmdline_reason=default
50 speech_speech_dispatcher=yes; speech_speech_dispatcher_reason=default
51 vehicle_demo=yes; vehicle_demo_reason=default
52 vehicle_file=yes; vehicle_file_reason=default
53 vehicle_gpsd=yes; vehicle_gpsd_reason=default
54 vehicle_gypsy=yes; vehicle_gypsy_reason=default
55 vehicle_wince=no; vehicle_wince_reason=default
56
57 m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],
58         [AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_GNU_SOURCE])])
59
60 AC_USE_SYSTEM_EXTENSIONS
61
62 AC_PROG_CC
63 if eval "test x$GCC = xyes"; then
64         CFLAGS="$CFLAGS -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE"
65 fi
66 AM_PROG_CC_C_O
67
68 AC_PROG_CXX
69 if eval "test x$GXX = xyes"; then
70         CXXFLAGS="$CXXFLAGS -Wall -Wcast-align -Wpointer-arith -Wreturn-type -D_GNU_SOURCE"
71 fi
72
73 PKG_CHECK_EXISTS
74 if test "x${cross_compiling}" = "xyes"; then
75         samplemap="no";samplemap_reason="not supported for cross compiling"
76         binding_python="no";binding_python_reason="not supported for cross compiling"
77         postgresql="no";postgresql_reason="not supported for cross compiling"
78         AC_MSG_CHECKING([for a C compiler for build tools])
79         AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
80 else
81         CC_FOR_BUILD=$CC
82 fi
83 CCLD_FOR_BUILD="$CC_FOR_BUILD"
84 AC_SUBST(cross_compiling)
85 AC_SUBST(CC_FOR_BUILD)
86 AC_SUBST(CCLD_FOR_BUILD)
87
88 AC_ARG_ENABLE(variant, [  --enable-variant=something          set variant], NAVIT_VARIANT=$enableval)
89 AC_SUBST(NAVIT_VARIANT)
90
91 AC_ARG_ENABLE(avoid-unaligned, [  --enable-avoid-unaligned          avoid unaligned accesses], AVOID_UNALIGNED=$enableval, AVOID_UNALIGNED=no)
92 test x"${AVOID_UNALIGNED}" = xyes && AC_DEFINE(AVOID_UNALIGNED,[],Define to avoid unaligned access)
93
94 AC_ARG_ENABLE(avoid-float, [  --enable-avoid-float              avoid floating point calculations], AVOID_FLOAT=$enableval, AVOID_FLOAT=no)
95 test x"${AVOID_FLOAT}" = xyes && AC_DEFINE(AVOID_FLOAT,[],Define to avoid floating point)
96
97 AC_ARG_ENABLE(transformation-roll, [  --enable-transformation-roll      add support for specifying roll angle in transformation], ENABLE_ROLL=$enableval, ENABLE_ROLL=no)
98 test x"${ENABLE_ROLL}" = xyes && AC_DEFINE(ENABLE_ROLL,[],Define to add support for specifying roll angle in transformation)
99
100 AC_ARG_ENABLE(hildon, [  --disable-hildon              build without maemo/hildon support], enable_hildon=$enableval, enable_hildon=yes)
101 if test "x${enable_hildon}" = "xyes" ; then
102         PKG_CHECK_MODULES(HILDON, hildon-1 >= 0.9.9, , [
103                 AC_MSG_RESULT(no)
104                 enable_hildon=no
105         ])
106         PKG_CHECK_MODULES(GPSBT, gpsbt, [
107                 AC_DEFINE(HAVE_GPSBT, 1, [Have the gpsbt library])
108                 AC_SUBST(GPSBT_CFLAGS)
109                 AC_SUBST(GPSBT_LIBS)
110                 ], [
111                 AC_MSG_RESULT(no)
112         ])
113         if test x"${enable_hildon}" = xyes ; then
114                 AC_DEFINE(USE_HILDON, 1, [Build with maemo/hildon support])
115                 AC_SUBST(HILDON_CFLAGS)
116                 AC_SUBST(HILDON_LIBS)
117         fi
118 fi
119 AM_CONDITIONAL(USE_HILDON, test "${enable_hildon}" = "xyes")
120
121 AC_ARG_ENABLE(garmin, [  --disable-garmin             disable garmin support], USE_GARMIN=$enableval, USE_GARMIN=yes)
122
123 # samplemap
124 AC_PATH_PROG(_PATH_BZCAT,[bzcat])
125 if test "x${_PATH_BZCAT}" = "x" ; then
126         samplemap=no; samplemap_reason="bzcat missing"
127 fi
128 AC_ARG_ENABLE(samplemap, [  --disable-samplemap             don't build the samplemap], samplemap=$enableval;samplemap_reason="configure parameter")
129 AM_CONDITIONAL(BUILD_SAMPLEMAP, [test "x$samplemap" = "xyes"])
130
131 AC_ARG_ENABLE(fastmath, [  --disable-fastmath             don't build with fastmath], fastmath=$enableval, fastmath=yes)
132 AM_CONDITIONAL(FASTMATH, [test "x$fastmath" = "xyes"])
133
134 if test x"$fastmath" = xyes; then
135         if eval "test x$GCC = xyes"; then
136                 CFLAGS="$CFLAGS -ffast-math"
137         fi
138 fi
139
140 X_CFLAGS="-I$x_includes"
141 AS_IF([test -n "$ac_x_libraries"], [X_LIBS="-L$ac_x_libraries"])
142
143 # glib
144 AC_ARG_ENABLE(glib, [  --disable-glib             don't build with external glib], glib=$enableval, glib=yes)
145 if test x"${glib}" = "xyes"; then
146         PKG_CHECK_MODULES(GLIB, [glib-2.0 gthread-2.0], [glib=yes],[glib=no])
147 fi
148 if test "x${glib}" = "xyes"; then
149         AC_DEFINE(HAVE_GLIB, 1, [Define to 1 if you have (external) glib library])
150 else
151         GLIB_CFLAGS="-I\$(top_srcdir)/navit/support -I\$(top_srcdir)/navit/support/glib -I\$(top_srcdir)/navit/support/ezxml"
152         GLIB_LIBS="-L\$(top_builddir)/navit/support/glib -lsupport_glib -L\$(top_builddir)/navit/support/ezxml -lsupport_ezxml"
153 fi
154
155 # gmodule
156 AC_ARG_ENABLE(gmodule, [  --disable-gmodule             don't build with gmodule], gmodule=$enableval, gmodule=yes)
157 if test x"${gmodule}" = "xyes"; then
158         PKG_CHECK_MODULES(GMODULE, [gmodule-2.0], [gmodule=yes], [gmodule=no])
159 fi
160 if test "x${gmodule}" = "xyes"; then
161         AC_DEFINE(HAVE_GMODULE, 1, [Define to 1 if you have gmodule])
162 else
163         AC_CHECK_LIB(dl, dlopen,
164                 [plugins_reason="default, via dlopen";GMODULE_LIBS="-ldl";AC_DEFINE(HAVE_DLOPEN, 1, [Define to 1 if you have dlopen])],          
165                 [plugins="no"; plugins_reason="package gmodule and dlopen missing"]
166         )
167 fi
168 # plugins
169 AC_ARG_ENABLE(plugins,  [  --disable-plugins          disable plugins], [ plugins=$enableval;plugin_reason="configure parameter" ])
170 if test "x${plugins}" = "xyes"; then
171         AC_ENABLE_SHARED
172         AC_DISABLE_STATIC
173         AC_DEFINE(
174                 [USE_PLUGINS],
175                 [],
176                 Define to 1 if you have plugins.
177         )
178 else
179         AC_DISABLE_SHARED
180         AC_ENABLE_STATIC
181 fi
182 AM_CONDITIONAL(PLUGINS, [test "x$plugins" = "xyes"])
183 AC_PROG_LIBTOOL
184
185 AM_CONDITIONAL(EVENT_GLIB, [test "x$glib" = "xyes"])
186 AM_CONDITIONAL(SUPPORT_GLIB, [test "x$glib" = "xno"])
187 AM_CONDITIONAL(SUPPORT_EZXML, [test "x$glib" = "xno"])
188 AM_CONDITIONAL(MAP_POI_GEODOWNLOAD, [test "x$glib" = "xyes"])
189
190 AC_CHECK_HEADER(
191         zlib.h,
192         AC_DEFINE(
193                 [HAVE_ZLIB],
194                 [],
195                 Define to 1 if you have the <zlib.h> header file.
196         )
197         ZLIB_LIBS="-lz"
198         zlib=yes,
199         ZLIB_CFLAGS="-I\$(top_srcdir)/navit/support/zlib"
200         ZLIB_LIBS="-L\$(top_builddir)/navit/support/zlib -lsupport_zlib"
201         zlib=no
202 )
203 AM_CONDITIONAL(SUPPORT_ZLIB, [test "x$zlib" = "xno"])
204 AC_SUBST(ZLIB_CFLAGS)
205 AC_SUBST(ZLIB_LIBS)
206
207 # gtk
208 PKG_CHECK_MODULES(GTK2, [gtk+-2.0], [gtk2_pkgconfig=yes], [gtk2_pkgconfig=no])
209 if test "x$gtk2_pkgconfig" = "xyes"; then
210         AC_DEFINE(HAVE_GTK2, 1, [Define to 1 if you have gtk2])
211         graphics_gtk_drawing_area=yes; graphics_gtk_drawing_area_reason="gtk+-2.0 present"
212         gui_gtk=yes; gui_gtk_reason="gtk+-2.0 present"
213 fi
214
215 # fsync
216 AC_MSG_CHECKING(for fsync)
217 AC_TRY_LINK([#include <unistd.h>], [fsync(0);],AC_MSG_RESULT(yes);AC_DEFINE(HAVE_FSYNC, 1, [Define to 1 if you have the `fsync' function.]),AC_MSG_RESULT(no))
218
219 # system
220 AC_MSG_CHECKING(for system)
221 AC_TRY_LINK([#include <stdlib.h>], [system("/bin/true");],AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SYSTEM, 1, [Define to 1 if you have the `system' function.]),speech_cmdline=no; speech_cmdline_reason="not supported without system()"; AC_MSG_RESULT(no))
222
223 AC_ARG_ENABLE(graphics-sdl, [  --disable-graphics-sdl             don't create graphics sdl], enable_graphics_sdl=$enableval, enable_graphics_sdl=yes)
224 if test "x${enable_graphics_sdl}" = "xyes" ; then
225         if test -z "$SDL_CONFIG"; then
226             AC_PATH_PROG([SDL_CONFIG], [sdl-config], [])
227         fi
228 fi
229 if test "x${enable_graphics_sdl}" = "xyes" ; then
230         AC_MSG_CHECKING([for SDL libraries with $SDL_CONFIG])
231         if test ! -x "$SDL_CONFIG"; then
232             enable_graphics_sdl = "no"
233             AC_MSG_RESULT([no])
234         else
235             SDL_CFLAGS="`$SDL_CONFIG --cflags`"
236             SDL_LIBS="`$SDL_CONFIG --libs`"
237             AC_SUBST(SDL_CFLAGS)
238             AC_SUBST(SDL_LIBS)
239             AC_MSG_RESULT([yes])
240         fi 
241 fi
242 if test "x${enable_graphics_sdl}" = "xyes" ; then
243         save_CPPFLAGS=$CPPFLAGS
244         CPPFLAGS="$($SDL_CONFIG --cflags) $CPPFLAGS"
245         AC_CHECK_HEADER(SDL_image.h,SDL_IMAGE_LIBS=-lSDL_image,enable_graphics_sdl=no)
246         AC_SUBST(SDL_IMAGE_LIBS)
247         CPPFLAGS=$save_CPPFLAGS
248 fi
249 if test "x${enable_graphics_sdl}" = "xyes" ; then
250         AC_DEFINE(USE_GRAPHICS_SDL, 1, [Build with graphics sdl])
251 fi
252 AM_CONDITIONAL(USE_GRAPHICS_SDL, test "x${enable_graphics_sdl}" = "xyes")
253
254 AC_ARG_ENABLE(postgresql, [  --disable-postgresql             don't add postgresql support to osm2navit], postgresql=$enableval;postgresql_reason="configure parameter")
255 if test "x${postgresql}" = "xyes" ; then
256         if test -z "$PG_CONFIG"; then
257             AC_PATH_PROG([PG_CONFIG], [pg_config], [])
258         fi
259         AC_MSG_CHECKING([for PostgreSQL libraries with $PG_CONFIG])
260         if test ! -x "$PG_CONFIG"; then
261             if test "x${PG_CONFIG}" = "x" ; then
262                  postgresql_reason="$PG_CONFIG not executable"
263             else
264                  postgresql_reason="pg_config missing"
265             fi
266             postgresql=no 
267             AC_MSG_RESULT([no])
268         else
269             POSTGRESQL_CFLAGS="-I`$PG_CONFIG --includedir`"
270             POSTGRESQL_LIBS="-L`$PG_CONFIG --libdir` -lpq"
271             AC_DEFINE(HAVE_POSTGRESQL, 1, [Postgresql libraries available])
272             AC_SUBST(POSTGRESQL_CFLAGS)
273             AC_SUBST(POSTGRESQL_LIBS)
274             AC_MSG_RESULT([yes])
275         fi 
276 fi
277 AM_CONDITIONAL(HAVE_POSTGRESQL, test "x${postgresql}" = "xyes")
278 # font
279 # freetype
280 AC_ARG_ENABLE(font-freetype, [  --disable-font-freetype             don't add freetype support], font_freetype=$enableval;font_freetype_reason="configure parameter")
281 if test "x${font_freetype}" = "xyes" -a "x${FREETYPE2_CFLAGS}" = "x" -a "x${FREETYPE2_LIBS}" = "x"; then
282         PKG_CHECK_MODULES(FREETYPE2, [freetype2], , [font_freetype=no;font_freetype_reason="Package freetype2 missing"])
283 fi
284 AC_SUBST(FREETYPE2_CFLAGS)
285 AC_SUBST(FREETYPE2_LIBS)
286 AM_CONDITIONAL(FONT_FREETYPE, test "x${font_freetype}" = "xyes")
287
288 PKG_CHECK_MODULES(FONTCONFIG, [fontconfig], [fontconfig_pkgconfig=yes], [fontconfig_pkgconfig=no])
289 if test "x$fontconfig_pkgconfig" = "xyes"; then
290    AC_DEFINE(HAVE_FONTCONFIG, 1, [Define to 1 if you have fontconfig])
291 fi
292 AC_SUBST(FONTCONFIG_CFLAGS)
293 AC_SUBST(FONTCONFIG_LIBS)
294
295 AM_CONDITIONAL(FONTS, test "x${font_freetype}" = "xyes" -a "x$fontconfig_pkgconfig" != "xyes")
296
297 PKG_CHECK_MODULES(IMLIB2, [imlib2], [imlib2_pkgconfig=yes], [imlib2_pkgconfig=no])
298 if test "x$imlib2_pkgconfig" = "xyes"; then
299    AC_DEFINE(HAVE_IMLIB2, 1, [Define to 1 if you have imlib2])
300 fi
301 AC_SUBST(IMLIB2_CFLAGS)
302 AC_SUBST(IMLIB2_LIBS)
303
304
305
306 AC_ARG_ENABLE(gui-sdl, [  --disable-gui-sdl             don't create gui sdl ], MODULE_GUI_SDL=$enableval, MODULE_GUI_SDL=yes)
307 if test "x$MODULE_GUI_SDL" = "xyes"; then
308         AC_CHECK_HEADER(
309                 SDL/SDL.h,
310                 AC_DEFINE(
311                         [HAVE_LIBSDL],
312                         [],
313                         Define to 1 if you have the <SDL/SDL.h> header file.
314                         )
315                         SDL_LIBS="-lSDL"
316                         sdl=yes,
317                 AC_MSG_WARN([*** no SDL/SDL.h -- SDL support disabled])
318         )
319 fi
320
321 AC_CHECK_HEADER(
322         X11/Xmu/Xmu.h,
323         AC_DEFINE(
324                 [HAVE_XMU],
325                 [],
326                 Define to 1 if you have the <X11/Xmu/Xmu.h> header file.
327                 )
328                 xmu=yes,
329         AC_MSG_WARN([*** no X11/Xmu/Xmu.h -- opengl and SDL support disabled])
330 )
331
332 AC_ARG_ENABLE(graphics-opengl, [  --disable-graphics-opengl      disable graphics type OpenGL], graphics_opengl=$enableval;graphics_opengl_reason="configure parameter")
333 if test "x${graphics_opengl}" = "xyes" ; then
334
335 AC_CHECK_HEADER(
336         GL/gl.h,
337         AC_DEFINE(
338                 [HAVE_OPENGL],
339                 [],
340                 Define to 1 if you have the <GL/gl.h> header file.
341                 )
342                 OPENGL_LIBS="$X_LIBS -lGL -lGLU"
343                 opengl=yes,
344         AC_MSG_WARN([*** no GL/gl.h -- opengl and SDL support disabled];graphics_opengl=no;graphics_opengl_reason="Headers missing")
345 )
346
347 AC_CHECK_HEADER(
348         GL/glut.h,
349         AC_DEFINE(
350                 [HAVE_GLUT],
351                 [],
352                 Define to 1 if you have the <GL/glut.h> header file.
353                 )
354                 glut=yes,
355         AC_MSG_WARN([*** no GL/glut.h -- opengl and SDL support disabled]);graphics_opengl=no;graphics_opengl_reason="Headers missing"
356 )
357
358 AC_SUBST(OPENGL_CFLAGS)
359 AC_SUBST(OPENGL_LIBS)
360
361 AC_CHECK_HEADER(
362         GL/glc.h,
363         AC_DEFINE(
364                 [HAVE_GLC],
365                 [],
366                 Define to 1 if you have the <GL/glc.h> header file.
367                 )
368                 GLC_LIBS="-lGLC"
369                 glc=yes,
370         AC_MSG_WARN([*** no GL/glc.h -- opengl and SDL support disabled])
371 )
372 AC_SUBST(GLC_CFLAGS)
373 AC_SUBST(GLC_LIBS)
374 fi
375
376 AM_CONDITIONAL(GUI_SDL, [test "x$sdl" = "xyes" -a "x$opengl" = "xyes" -a "x$glc" = "xyes" -a "x$xmu" = "xyes" ])
377 AM_CONDITIONAL(GRAPHICS_OPENGL, [test "x$glut" = "xyes" - "x$opengl" = "xyes" -a "x$glc" = "xyes" ])
378
379
380 if test x"${USE_GARMIN}" = xyes
381 then
382         # check for libgarmin
383         PKG_CHECK_MODULES(LIBGARMIN, libgarmin, use_libgarmin=yes, use_libgarmin=no)
384         AC_SUBST(LIBGARMIN_CFLAGS)
385         AC_SUBST(LIBGARMIN_LIBS)
386 fi
387         AM_CONDITIONAL(HAVELIBGARMIN, [test "x$use_libgarmin" = "xyes"])
388
389 ## binding
390 # python
391 AC_ARG_ENABLE(binding-python, [  --disable-binding-python             don't create binding python], binding_python=$enableval;binding_python_reason="configure parameter")
392 if test "x${binding_python}" = "xyes"; then
393         AC_PATH_PROG(_PATH_PYTHON,[python])
394         dnl Libraries and flags for embedded Python.
395         dnl FIXME: I wish there was a less icky way to get this.
396         if test "x${_PATH_PYTHON}" != "x" ; then
397                 AC_MSG_CHECKING(for Python linkage)
398                 AC_PATH_PROG([PYTHONCONFIG], [python-config], [])
399                 if test "x${PYTHONCONFIG}" = "x" ; then
400                         py_prefix=`$_PATH_PYTHON -c 'import sys; print sys.prefix'`
401                         py_ver=`$_PATH_PYTHON -c 'import sys; print sys.version[[:3]]'`
402                         py_lib=`$_PATH_PYTHON -c 'import sys; print sys.lib'`
403                         py_libdir="${py_prefix}/${py_lib}/python${py_ver}"
404                         PYTHON_CFLAGS="-I${py_prefix}/include/python${py_ver}"
405                         if test -f $py_libdir/config/Makefile -a -f $py_prefix/include/python${py_ver}/Python.h; then
406                                 py_libs=`grep '^LIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
407                                 py_libc=`grep '^LIBC=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
408                                 py_libm=`grep '^LIBM=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
409                                 py_liblocalmod=`grep '^LOCALMODLIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
410                                 py_libbasemod=`grep '^BASEMODLIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
411                                 PYTHON_LIBS="-L$py_libdir/config $py_libs $py_libc $py_libm -lpython$py_ver $py_liblocalmod $py_libbasemod"
412                                 PYTHON_LIBS=`echo $PYTHON_LIBS | sed -e 's/[ \\t]*/ /g'`
413                                 AC_MSG_RESULT($py_libdir)
414                         else
415                                 binding_python="no"
416                                 binding_python_reason="$py_libdir/config/Makefile or $py_prefix/include/python${py_ver}/Python.h missing"
417                         fi
418
419                 else
420                         PYTHON_CFLAGS="`${PYTHONCONFIG} --cflags`"
421                         PYTHON_LIBS="`${PYTHONCONFIG} --ldflags`"
422                 fi
423         else
424                 binding_python="no"
425                 binding_python_reason="python executable missing"
426         fi
427 fi
428 if test "x${binding_python}" = xyes ; then
429         AC_DEFINE(USE_BINDING_PYTHON, 1, [Build with binding python])
430 fi
431 AC_SUBST(PYTHON_CFLAGS)
432 AC_SUBST(PYTHON_LIBS)
433 AM_CONDITIONAL(BINDING_PYTHON, test "x${binding_python}" = "xyes")
434
435 # dbus
436 AC_ARG_ENABLE(binding-dbus,   [  --disable-binding-dbus               don't create binding dbus], binding_dbus=$enableval;binding_dbus_reason="configure parameter")
437 if test "x${binding_dbus}" = "xyes" ; then
438         PKG_CHECK_MODULES(DBUS, [dbus-glib-1], ,binding_dbus=no)
439 fi
440 if test "x${binding_dbus}" = "xyes" ; then
441         AC_DEFINE(USE_BINDING_DBUS, 1, [Build with binding dbus])
442 fi
443 AC_SUBST(DBUS_CFLAGS)
444 AC_SUBST(DBUS_LIBS)
445 AM_CONDITIONAL(BINDING_DBUS, test "x${binding_dbus}" = "xyes")
446
447 # svg
448 AC_ARG_ENABLE(svg, [  --disable-svg        disable Scalable Vector Graphics], enable_svg=$enableval, enable_svg=yes)
449 AC_ARG_ENABLE(svg2png, [  --disable-svg2png        disable conversion of svgs to pngs], enable_svg2png=$enableval, enable_svg2png=yes)
450 AC_ARG_ENABLE(svg2png-scaling, [  --enable-svg2png-scaling   enable conversion of svgs to pngs with specified sizes], SVG2PNG_SCALES=$enableval, SVG2PNG_SCALES="8 16 32 48 96")
451 AC_ARG_ENABLE(svg2png-scaling-flag, [  --enable-svg2png-scaling-flag   enable conversion of flag svgs to pngs with specified sizes], SVG2PNG_SCALES_FLAG=$enableval, SVG2PNG_SCALES_FLAG="")
452 AC_ARG_ENABLE(svg2png-scaling-nav, [  --enable-svg2png-scaling-nav   enable conversion of nav svgs to pngs with specified sizes], SVG2PNG_SCALES_NAV=$enableval, SVG2PNG_SCALES_NAV="")
453 AC_ARG_WITH(svg2png-use-convert, [  --with-svg2png-use-convert   use imagemagick's convert for png creation], SVG2PNG_CONVERTER="convert")
454 AC_ARG_WITH(svg2png-use-rsvg-convert, [  --with-svg2png-use-rsvg-convert   use librsvg's rsvg-convert for png creation], SVG2PNG_CONVERTER="rsvg-convert")
455 AC_ARG_WITH(svg2png-use-inkscape, [  --with-svg2png-use-inkscape   use inkscapes internal convert routines for png creation], SVG2PNG_CONVERTER="inkscape")
456 AC_ARG_WITH(svg2png-use-ksvgtopng4, [  --with-svg2png-use-ksvgtopng4   use kde4's ksvgtopng4 for png creation], SVG2PNG_CONVERTER="ksvgtopng4")
457 AC_ARG_WITH(svg2png-use-ksvgtopng, [  --with-svg2png-use-ksvgtopng   use kde3's convert for png creation], SVG2PNG_CONVERTER="ksvgtopng")
458 if test "x${enable_svg2png}" = "xyes" ; then
459     if test "x${SVG2PNG_CONVERTER}" = "x"; then
460         SVG2PNG_CONVERTER="ksvgtopng ksvgtopng4 rsvg-convert inkscape convert"
461     fi
462     AC_PATH_PROGS([SVG2PNG], ${SVG2PNG_CONVERTER}, [none])
463     if test "x${SVG2PNG}" = "xnone"; then
464         enable_svg2png="no"
465     fi
466 fi
467 AC_SUBST(SVG2PNG)
468 AC_SUBST(SVG2PNG_SCALES)
469 AC_SUBST(SVG2PNG_SCALES_FLAG)
470 AC_SUBST(SVG2PNG_SCALES_NAV)
471 AM_CONDITIONAL(USE_SVG2PNG_SCALES, test "x${SVG2PNG_SCALES}" != "xyes" -a "x${SVG2PNG_SCALES}" != "x")
472 AM_CONDITIONAL(USE_SVG2PNG_SCALES_FLAG, test "x${SVG2PNG_SCALES_FLAG}" != "xyes" -a "x${SVG2PNG_SCALES_FLAG}" != "x")
473 AM_CONDITIONAL(USE_SVG2PNG_SCALES_NAV, test "x${SVG2PNG_SCALES_NAV}" != "xyes" -a "x${SVG2PNG_SCALES_NAV}" != "x")
474 AM_CONDITIONAL(USE_SVG2PNG, test "x${enable_svg2png}" = "xyes")
475 AM_CONDITIONAL(USE_SVG, test "x${enable_svg}" = "xyes")
476
477 # NLS
478
479 AC_ARG_ENABLE(nls,
480   [  --disable-nls        disable Native Language Support ( gettext/libintl )],
481    enable_nls=$enableval, enable_nls=yes)
482
483
484 INTLIBS=""
485 MOFILES=""
486 POFILES=""
487 POIFILES=""
488 LINGUAS=""
489
490 if test "x$enable_nls" = "xyes"; then
491
492   AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"] 
493              AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"],
494                          INTLIBS="" ))
495
496   AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
497   AC_CHECK_PROG(MSGMERGE, msgmerge, msgmerge)
498   AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt)
499
500   if test "$XGETTEXT" != ""; then 
501     if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
502         echo "xgettext isn't GNU version"
503         XGETTEXT=""
504     fi
505   fi
506
507   if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then
508      PO=""
509      if test "$LINGUAS" = ""; then
510            ling=` (cd $srcdir/po; /bin/ls *.po.in) `
511            for l in $ling; do
512                 lcode=`basename $l .po.in`
513                 LINGUAS="$LINGUAS$lcode "
514            done
515     fi
516     AC_DEFINE(ENABLE_NLS, [1], [NLS Please])
517     echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
518   else
519    LINGUAS=""
520    PO=""
521    echo "xgettext and libintl.a don't both exist; will not build i18n support"
522    enable_nls = no
523  fi
524  for lang in $LINGUAS; do
525     MOFILES="$MOFILES $lang.mo"
526  done
527  for lang in $LINGUAS; do
528     POFILES="$POFILES $lang.po"
529  done
530  for lang in $LINGUAS; do
531     POIFILES="$POIFILES $lang.po.in"
532  done
533
534 AC_SUBST(INTLIBS)
535 AC_SUBST(MOFILES)
536 AC_SUBST(POFILES)
537 AC_SUBST(POIFILES)
538 AM_GNU_GETTEXT_VERSION
539 AM_GNU_GETTEXT(no-libtool, need-ngettext, \$(top_builddir)/intl/)
540 AC_SUBST(LIBINTL)
541 AC_SUBST(LTLIBINTL)
542 if test x"$LIBINTL" != "x" ;then
543         CFLAGS="$CFLAGS -I\$(top_builddir)/intl/"
544 fi
545
546 fi
547 AM_CONDITIONAL(ENABLE_NLS, [test "x$enable_nls" = "xyes"])
548 AC_CHECK_HEADER(
549         byteswap.h,
550         AC_DEFINE(
551                 [HAVE_BYTESWAP_H],
552                 [1],
553                 [Define to 1 if you have byteswap.h],
554                 )
555                 ,
556 )
557
558 PACKAGE=navit
559 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
560 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
561 AC_SUBST(PACKAGE)
562 AC_SUBST(VERSION)
563
564 AC_CHECK_HEADER(wordexp.h,wordexp_h=yes,wordexp_h=no;NAVIT_CFLAGS="$NAVIT_CFLAGS -I\$(top_srcdir)/navit/support/wordexp";NAVIT_LIBS="$NAVIT_LIBS -L\$(top_builddir)/navit/support/wordexp -lsupport_wordexp")
565 AM_CONDITIONAL(SUPPORT_WORDEXP, [test "x$wordexp_h" = "xno"])
566
567 AC_CANONICAL_HOST
568 win32=no
569 win32ce=no
570 case $host_os in
571 wince)
572         win32=yes
573         win32ce=yes
574         AC_DEFINE(HAVE_API_WIN32_BASE, 1, [Have Windows Base API])
575         AC_DEFINE(HAVE_API_WIN32_CE, 1, [Have Windows CE API])
576         gui_win32=yes; gui_win32_reason="host_os is wince"
577         graphics_win32=yes; graphics_win32_reason="host_os is wince"
578         vehicle_wince=yes; vehcile_wince_reason="host_os is wince"
579         ;;
580 mingw32)
581         win32=yes
582         AC_DEFINE(HAVE_API_WIN32_BASE, 1, [Have Windows Base API])
583         AC_DEFINE(HAVE_API_WIN32, 1, [Have Windows API])
584         gui_win32=yes; gui_win32_reason="host_os is mingw32"
585         graphics_win32=yes; graphics_win32_reason="host_os is mingw32"
586 esac
587 if test "x$win32" = "xyes"
588 then
589         NAVIT_CFLAGS="$NAVIT_CFLAGS -I\$(top_srcdir)/navit/support/win32"
590         NAVIT_LIBS="$NAVIT_LIBS -L\$(top_builddir)/navit/support/win32 -lsupport_win32"
591 fi
592 AM_CONDITIONAL(SUPPORT_WIN32, [test "x$win32" = "xyes"])
593 AM_CONDITIONAL(SUPPORT_WIN32CE, [test "x$win32ce" = "xyes"])
594
595 LIBS="$LIBS -lm"
596 if test "$win32" == "no"; then
597         LIBS="$LIBS -rdynamic"
598 fi
599
600 support_libc=no
601 AC_ARG_ENABLE(support_libc, [  --enable-support-libc enable builtin mini libc ], support_libc=$enableval)
602 AM_CONDITIONAL(SUPPORT_LIBC, [test "x$support_libc" = "xyes"])
603 if test "x$support_libc" = "xyes"; then
604         CFLAGS="$CFLAGS -I\$(top_srcdir)/navit/support/libc"
605 fi
606
607 ## graphics
608 # gd
609 AC_ARG_ENABLE(graphics-gd, [  --enable-graphics-gd                enable graphics type gd], graphics_gd=$enableval;graphics_gd_reason="configure parameter")
610 if test "x${graphics_gd}" = "xyes" ; then
611         if test -z "$GDLIB_CONFIG"; then
612             AC_PATH_PROG([GDLIB_CONFIG], [gdlib-config], [])
613         fi
614         AC_MSG_CHECKING([for gdlib with $GDLIB_CONFIG])
615         if test ! -x "$GDLIB_CONFIG"; then
616             if test "x${GDLIB_CONFIG}" = "x" ; then
617                  graphics_gd_reason="$GDLIB_CONFIG not executable"
618             else
619                  graphics_gd_reason="gdlib-config missing"
620             fi
621             graphics_gd=no 
622             AC_MSG_RESULT([no])
623         else
624             GD_CFLAGS="-I`$GDLIB_CONFIG --includedir`"
625             GD_LIBS="-L`$GDLIB_CONFIG --libdir` -lgd `$GDLIB_CONFIG --libs`"
626             AC_SUBST(GD_CFLAGS)
627             AC_SUBST(GD_LIBS)
628             AC_MSG_RESULT([yes])
629         fi 
630 fi
631 AM_CONDITIONAL(GRAPHICS_GD, test "x${graphics_gd}" = "xyes")
632 # gtk_drawing_area
633 AC_ARG_ENABLE(graphics-gtk-drawing-area, [  --disable-graphics-gtk-drawing-area disable graphics type gtk_drawing_area], graphics_gtk_drawing_area=$enableval;graphics_gtk_drawing_area_reason="configure parameter")
634 AM_CONDITIONAL(GRAPHICS_GTK_DRAWING_AREA, [test "x${graphics_gtk_drawing_area}" = "xyes"])
635 # win32
636 AC_ARG_ENABLE(graphics-win32, [  --disable-graphics-win32            disable graphics type win32], graphics_win32=$enableval;graphics_win32_reason="configure parameter")
637 AM_CONDITIONAL(GRAPHICS_WIN32, test "x${graphics_win32}" = "xyes")
638 # qt_qpainter
639 AC_ARG_ENABLE(graphics-qt-qpainter, [  --disable-graphics-qt-qpainter      disable graphics type qt-qpainter], graphics_qt_qpainter=$enableval;graphics_qt_qpainter_reason="configure parameter")
640 if test "x${graphics_qt_qpainter}" = "xyes" -a "x${QT_GUI_CFLAGS}" = "x" -a "x${QT_GUI_LIBS}" = "x"; then
641         PKG_CHECK_MODULES(QT_GUI, [QtGui QtCore], ,graphics_qt_qpainter=no,graphics_qt_qpainter_reason="Packages QtGui and/or QtCore missing")
642 fi
643 if test "x${graphics_qt_qpainter}" = "xyes" ; then
644         AC_DEFINE(USE_GRAPICS_QT_QPAINTER, 1, [Build with graphics qt_qpainter])
645 fi
646 AC_SUBST(QT_GUI_CFLAGS)
647 AC_SUBST(QT_GUI_LIBS)
648 AM_CONDITIONAL(GRAPHICS_QT_QPAINTER, test "x${graphics_qt_qpainter}" = "xyes")
649
650 ## gui
651 # gtk
652 AC_ARG_ENABLE(gui-gtk, [  --disable-gui-gtk                   disable gui type gtk ], gui_gtk=$enableval)
653 AM_CONDITIONAL(GUI_GTK, [test "x${gui_gtk}" = "xyes"])
654 # internal
655 AC_ARG_ENABLE(gui-internal, [  --disable-gui-internal              disable gui type internal], gui_internal=$enableval;gui_internal_reason="configure parameter")
656 AM_CONDITIONAL(GUI_INTERNAL, test "x${gui_internal}" = "xyes")
657 # win32
658 AC_ARG_ENABLE(gui-win32, [  --disable-gui-win32                 disable gui type win32], gui_win32=$enableval;gui_win32_reason="configure parameter")
659 AM_CONDITIONAL(GUI_WIN32, test "x${gui_win32}" = "xyes")
660
661 ## speech
662 # cmdline
663 AC_ARG_ENABLE(speech-cmdline, [  --disable-speech-cmdline            disable speech type cmdline], speech_cmdline=$enableval;speech_cmdline_reason="configure parameter")
664 AM_CONDITIONAL(SPEECH_CMDLINE, test "x${speech_cmdline}" = "xyes")
665 # cmdline
666 AC_ARG_ENABLE(speech-speechd, [  --disable-speech-speech-dispatcher  disable speech type speech-dispatcher], speech_speech_dispatcher=$enableval;speech_speech_dispatcher_reason="configure parameter")
667 if test "x$speech_speech_dispatcher" = "xyes"; then
668         AC_CHECK_HEADER(libspeechd.h, AC_DEFINE([HAVE_LIBSPEECHD],[],Define to 1 if you have the <libspeechd.h> header file.) SPEECHD_LIBS="-lspeechd",  speech_speech_dispatcher=no; speech_speech_dispatcher_reason="libspeechd.h missing")
669 fi
670 AC_SUBST(SPEECHD_CFLAGS)
671 AC_SUBST(SPEECHD_LIBS)
672 AM_CONDITIONAL(SPEECH_SPEECH_DISPATCHER, test "x${speech_speech_dispatcher}" = "xyes")
673
674 ## vehicle
675 # demo
676 AC_ARG_ENABLE(vehicle-demo, [  --disable-vehicle-demo              disable vehicle type demo], vehicle_demo=$enableval;vehicle_demo_reason="configure parameter")
677 AM_CONDITIONAL(VEHICLE_DEMO, test "x${vehicle_demo}" = "xyes")
678 # file
679 AC_ARG_ENABLE(vehicle-file, [  --disable-vehicle-file              disable vehicle type file], vehicle_file=$enableval;vehicle_file_reason="configure parameter")
680 AM_CONDITIONAL(VEHICLE_FILE, test "x${vehicle_file}" = "xyes")
681 # gpsd
682 AC_ARG_ENABLE(vehicle-gpsd, [  --disable-vehicle-gpsd              disable vehicle type gpsd], vehicle_gpsd=$enableval;vehicle_gpsd_reason="configure parameter")
683 if test "x${vehicle_gpsd}" = xyes
684 then
685         AC_CHECK_HEADER(gps.h, AC_DEFINE([HAVE_LIBGPS],[],Define to 1 if you have the <gps.h> header file.) GPSD_LIBS="-lgps", vehicle_gpsd=no; vehicle_gpsd_reason="no gps.h" )
686 fi
687 AC_SUBST(GPSD_CFLAGS)
688 AC_SUBST(GPSD_LIBS)
689 AM_CONDITIONAL(VEHICLE_GPSD, [test "x${vehicle_gpsd}" = "xyes"])
690 # gypsy
691 AC_ARG_ENABLE(vehicle-gypsy,[  --disable-vehicle-gypsy             disable vehicle type gypsy], vehicle_gypsy=$enableval;vehicle_gypsy_reason="configure parameter")
692 if test "x${vehicle_gypsy}" = "xyes"
693 then
694         PKG_CHECK_MODULES(GYPSY, gypsy, ,vehicle_gypsy=no;vehicle_gypsy_reason="package gypsy missing")
695 fi
696 AC_SUBST(GYPSY_CFLAGS)
697 AC_SUBST(GYPSY_LIBS)
698 AM_CONDITIONAL(VEHICLE_GYPSY, test "x${vehicle_gypsy}" = "xyes")
699 # wince
700 AC_ARG_ENABLE(vehicle-wince, [  --disable-vehicle-wince             disable vehicle type wince], vehicle_wince=$enableval;vehicle_wince_reason="configure parameter")
701 AM_CONDITIONAL(VEHICLE_WINCE, test "x${vehicle_wince}" = "xyes")
702
703 NAVIT_CFLAGS="$NAVIT_CFLAGS $GLIB_CFLAGS $GMODULE_CFLAGS"
704 NAVIT_LIBS="$NAVIT_LIBS $GLIB_LIBS $GMODULE_LIBS $LIBINTL"
705 AC_SUBST(NAVIT_CFLAGS)
706 AC_SUBST(NAVIT_LIBS)
707 AC_SUBST(WINDRES)
708
709 AC_CONFIG_FILES([
710 Makefile
711 navit/Makefile
712 navit/binding/Makefile
713 navit/binding/python/Makefile
714 navit/binding/dbus/Makefile
715 navit/map/Makefile
716 navit/map/mg/Makefile
717 navit/map/textfile/Makefile
718 navit/map/shapefile/Makefile
719 navit/map/binfile/Makefile
720 navit/map/garmin/Makefile
721 navit/map/poi_geodownload/Makefile
722 navit/map/poi_geodownload/libmdb/Makefile
723 navit/map/poi_geodownload/libmdb/include/Makefile
724 navit/fib-1.1/Makefile
725 navit/font/Makefile
726 navit/font/freetype/Makefile
727 navit/fonts/Makefile
728 navit/graphics/Makefile
729 navit/graphics/gd/Makefile
730 navit/graphics/gtk_drawing_area/Makefile
731 navit/graphics/opengl/Makefile
732 navit/graphics/null/Makefile
733 navit/graphics/sdl/Makefile
734 navit/graphics/qt_qpainter/Makefile
735 navit/graphics/win32/Makefile
736 navit/gui/Makefile
737 navit/gui/gtk/Makefile
738 navit/gui/internal/Makefile
739 navit/gui/win32/Makefile
740 navit/osd/Makefile
741 navit/osd/core/Makefile
742 navit/speech/Makefile
743 navit/speech/cmdline/Makefile
744 navit/speech/speech_dispatcher/Makefile
745 navit/support/Makefile
746 navit/support/ezxml/Makefile
747 navit/support/glib/Makefile
748 navit/support/libc/Makefile
749 navit/support/win32/Makefile
750 navit/support/wordexp/Makefile
751 navit/support/zlib/Makefile
752 navit/vehicle/Makefile
753 navit/vehicle/file/Makefile
754 navit/vehicle/gpsd/Makefile
755 navit/vehicle/gypsy/Makefile
756 navit/vehicle/demo/Makefile
757 navit/vehicle/wince/Makefile
758 navit/xpm/Makefile
759 navit/maps/Makefile
760 intl/Makefile
761 po/Makefile
762 ])
763 #src/data/garmin_img/Makefile
764
765 AC_OUTPUT
766
767
768 echo ""
769 echo ""
770 echo "Summary of your installation :"
771 # FIXME : maybe elaborate missing dependencies
772 if test x"$sdl" != xyes
773         then
774         sdl_failures="(libsdl maybe?) "
775 fi
776 if test x"$xmu" != xyes
777         then                
778         sdl_failures=$sdl_failures"libxmu "
779 fi        
780 if test x"$glut" != xyes
781        then
782         sdl_failures=$sdl_failures"glut "
783 fi
784 if test x"$glc" != xyes
785         then
786         sdl_failures=$sdl_failures"quesoglc "
787 fi
788 if test -z "$sdl_failures"
789         then
790         echo "OpenGL gui  : ENABLED, with $CEGUI_LIBS"
791         else
792                  echo "OpenGL gui  : DISABLED : you are missing $sdl_failures"
793 fi
794 if test x"$enable_hildon" = xyes
795         then
796         echo "Maemo/Hildon: ENABLED"
797         else
798         echo "Maemo/Hildon: DISABLED"
799 fi
800 if test x"${USE_GARMIN}" = xyes
801         then
802         if test "x$use_libgarmin" = "xyes"
803                 then
804                 echo "Garmin IMG  : ENABLED"
805                 else
806                 echo "Garmin IMG  : DISABLED (you don't have libgarmin)"
807         fi
808         else 
809                 echo "Garmin IMG  : DISABLED (you requested it)"
810 fi
811
812 if test x"$LIBINTL" = "x" ;then
813         nls_libs="system gettext support"
814 else
815         nls_libs="$LIBINTL"
816 fi
817 echo "Plugins:             $plugins ($plugins_reason)"
818 echo "Postgresql:          $postgresql ($postgresql_reason)"
819 echo "Samplemap:           $samplemap ($samplemap_reason)"
820 echo "NLS Support:         $enable_nls ($nls_libs)"
821 echo "Font renderers:"
822 echo "  freetype:          $font_freetype ($font_freetype_reason)"
823 echo "Graphics types:"
824 echo "  gtk_drawing_area:  $graphics_gtk_drawing_area ($graphics_gtk_drawing_area_reason)"
825 echo "  qt_qpainter:       $graphics_qt_qpainter ($graphics_qt_qpainter_reason)"
826 echo "  win32:             $graphics_win32 ($graphics_win32_reason)"
827 echo "  OpenGL:            $graphics_opengl ($graphics_opengl_reason)"
828 echo "  gd:                $graphics_gd ($graphics_gd_reason)"
829
830 echo "GUI types:"
831 echo "  gtk:               $gui_gtk ($gui_gtk_reason)"
832 echo "  internal:          $gui_internal ($gui_internal_reason)"
833 echo "  win32:             $gui_win32 ($gui_win32_reason)"
834
835 echo "Bindings:"
836 echo "  dbus:              $binding_dbus ($binding_dbus_reason)"
837 echo "  python:            $binding_python ($binding_python_reason)"
838
839 echo "Speech types:"
840 echo "  cmdline:           $speech_cmdline ($speech_cmdline_reason)"
841 echo "  speech_dispatcher: $speech_speech_dispatcher ($speech_speech_dispatcher_reason)"
842
843 echo "Vehicle types:"
844 echo "  demo:              $vehicle_demo ($vehicle_demo_reason)"
845 echo "  file:              $vehicle_file ($vehicle_file_reason)"
846 echo "  gpsd:              $vehicle_gpsd ($vehicle_gpsd_reason)"
847 echo "  gypsy:             $vehicle_gypsy ($vehicle_gypsy_reason)"
848 echo "  wince:             $vehicle_wince ($vehicle_wince_reason)"
849
850 if  test "x${gtk2_pkgconfig}" != "xyes" -a "x${gui_win32}" != "xyes" -a "x${gui_internal}" != "xyes"
851 then
852         echo ""
853         echo "" 
854         echo "*** WARNING! you have no gui that can be built! ***"
855         echo "Please install the dependency for at least gtk or sdl gui"
856         echo "For more details, see the wiki at http://wiki.navit-project.org/"
857         echo "" 
858         exit 1
859 fi
860