Navit学习笔记(四)
本文阐述Navit的Makefile工程文件的定义,主要目的是理顺整个Navit项目的框架。Navit 项目的层级结构如下(图中没有将Navit所有的目录列出):
navit(根目录,一级目录)
....intl
....man
....navit(源代码,二级目录)
........android
........autoload
........binding
........fib-1.1
........font
........fonts
........graphics
........gui
........map
........maps
........maptool
........osd
........plugin
........script
........speech
........support(工程支持库类,三级目录)
............espeak
............ezxml
............glib(子类,四级目录)
............libc
............libpng
............win32
............wordexp
............zib
........tools
........vehicle
........xpm
........xslt
......
...po(国际化相关的目录)
....intl
....man
....navit(源代码,二级目录)
........android
........autoload
........binding
........fib-1.1
........font
........fonts
........graphics
........gui
........map
........maps
........maptool
........osd
........plugin
........script
........speech
........support(工程支持库类,三级目录)
............espeak
............ezxml
............glib(子类,四级目录)
............libc
............libpng
............win32
............wordexp
............zib
........tools
........vehicle
........xpm
........xslt
......
...po(国际化相关的目录)
...
一、根目录(一级目录)
根目录中有Makefile.am Makefile.in Makefile.inc三个工程文件。Makefile.inc文件中定义了根目录、子目录Makefile.am文件要用的一些变量,这些变量主要是一些工程文件子目录的路径,文件的内容如下:
1 modulebindingdir=$(pkglibdir)/binding
2 modulemapdir=$(pkglibdir)/map
3 modulefontdir=$(pkglibdir)/font
4 modulegraphicsdir=$(pkglibdir)/graphics
5 moduleguidir=$(pkglibdir)/gui
6 modulespeechdir=$(pkglibdir)/speech
7 moduleosddir=$(pkglibdir)/osd
8 modulevehicledir=$(pkglibdir)/vehicle
9 moduleplugindir=$(pkglibdir)/plugin
10 moduleautoloaddir=$(pkglibdir)/autoload
11 pkgdocdir=$(pkgdatadir)
12 xpmdir=$(pkgdatadir)/xpm
13 skinsdir=$(pkgdatadir)/skins
14 fontsdir=$(pkgdatadir)/fonts
15 mapsdir=$(pkgdatadir)/maps
2 modulemapdir=$(pkglibdir)/map
3 modulefontdir=$(pkglibdir)/font
4 modulegraphicsdir=$(pkglibdir)/graphics
5 moduleguidir=$(pkglibdir)/gui
6 modulespeechdir=$(pkglibdir)/speech
7 moduleosddir=$(pkglibdir)/osd
8 modulevehicledir=$(pkglibdir)/vehicle
9 moduleplugindir=$(pkglibdir)/plugin
10 moduleautoloaddir=$(pkglibdir)/autoload
11 pkgdocdir=$(pkgdatadir)
12 xpmdir=$(pkgdatadir)/xpm
13 skinsdir=$(pkgdatadir)/skins
14 fontsdir=$(pkgdatadir)/fonts
15 mapsdir=$(pkgdatadir)/maps
Makefile.am文件是整个工程编译的规则和关键,结合下文configure.in文件,通过autotools工具生存Configure文件和Makefile文件。怎样使用autotools工具请参考《Make工具之autotools宝典》。(为书写方便,一些说明和注释直接标记在文件中,但在实际使用过程中,请按照GUN的标准书写):
ACLOCAL_AMFLAGS= -I m4
//包含Makefile.inc文件中定义的路径
include $(top_srcdir)/Makefile.inc
//工程包含的子目录
SUBDIRS=
if ENABLE_NLS //如果工程包含国家化配置
XCFLAGS=-DINSTALLPREFIX=INSTALLDIR
if SUPPORT_WIN32 //如果支持win32
XCFLAGS+=-DSUBLANG_BENGALI_BANGLADESH=0x03 -DSUBLANG_PUNJABI_PAKISTAN=0x03 -DSUBLANG_ROMANIAN_MOLDOVA=0x03
if SUPPORT_WIN32CE //如果支持 win32 ce
if SHARED_LIBNAVIT //如果共享Navit库
XCFLAGS+=-L../navit/support/libc -lsupport_libc
AM_MAKEFLAGS=l=l
SUBDIRS+=navit/support/libc
endif
endif
endif
if SUPPORT_ANDROID //如果支持android
XCFLAGS+=-Xcompiler -nostartfiles
endif
export XCFLAGS
SUBDIRS+=intl po man //包含intl po man文件夹
endif
SUBDIRS+=navit
pkgdoc_DATA = README
//程序发布是时包含的文件
EXTRA_DIST = README COPYRIGHT LGPL-2 GPL-2 COPYING INSTALL
//程序发布是时包含的目录
DIST_SUBDIRS=intl po navit man
//包含Makefile.inc文件中定义的路径
include $(top_srcdir)/Makefile.inc
//工程包含的子目录
SUBDIRS=
if ENABLE_NLS //如果工程包含国家化配置
XCFLAGS=-DINSTALLPREFIX=INSTALLDIR
if SUPPORT_WIN32 //如果支持win32
XCFLAGS+=-DSUBLANG_BENGALI_BANGLADESH=0x03 -DSUBLANG_PUNJABI_PAKISTAN=0x03 -DSUBLANG_ROMANIAN_MOLDOVA=0x03
if SUPPORT_WIN32CE //如果支持 win32 ce
if SHARED_LIBNAVIT //如果共享Navit库
XCFLAGS+=-L../navit/support/libc -lsupport_libc
AM_MAKEFLAGS=l=l
SUBDIRS+=navit/support/libc
endif
endif
endif
if SUPPORT_ANDROID //如果支持android
XCFLAGS+=-Xcompiler -nostartfiles
endif
export XCFLAGS
SUBDIRS+=intl po man //包含intl po man文件夹
endif
SUBDIRS+=navit
pkgdoc_DATA = README
//程序发布是时包含的文件
EXTRA_DIST = README COPYRIGHT LGPL-2 GPL-2 COPYING INSTALL
//程序发布是时包含的目录
DIST_SUBDIRS=intl po navit man
configure.in 文件是对整个Navit系统进行配置的文件,自定义的一些配置内容都包含在该文件中。该文件和上文的Makefile.am文件通过autotools工具可以生成Makefile文件。
1 //设置项目名称,版本号
2 AC_INIT(navit, 0.2.0)
3 AC_CONFIG_MACRO_DIR([m4])
4 SOURCE_MODE=svn
5
6 AM_INIT_AUTOMAKE
7 AM_CONFIG_HEADER(config.h)
8 //输出自定义的SOURCE_MODE变量
9 AC_SUBST(SOURCE_MODE)
10 //如果检测到SOURCE_MODE_SVN运行模式,则定义宏SOURCE_MODE_SVN用于Makefile.am文件
11 AM_CONDITIONAL(SOURCE_MODE_SVN, [test "x${SOURCE_MODE}" = "xsvn"])
12
13 if test "x${SOURCE_MODE}" = "xsvn" ; then
14 USE_MAINTAINER_MODE=yes
15 else
16 USE_MAINTAINER_MODE=no
17 fi
18 //定义宏AM_MAINTAINER_MODE,
19 AC_DEFUN([AM_MAINTAINER_MODE],
20 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
21 dnl maintainer-mode is enabled by default (reason of inclusion of this function)
22 AC_ARG_ENABLE(maintainer-mode,
23 [ --enable-maintainer-mode enable make rules and dependencies not useful
24 (and sometimes confusing) to the casual installer],
25 USE_MAINTAINER_MODE=$enableval)
26 AC_MSG_RESULT([$USE_MAINTAINER_MODE])
27 AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
28 MAINT=$MAINTAINER_MODE_TRUE
29 AC_SUBST(MAINT)dnl
30 ]
31 )
32
33 AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
34
35 AM_MAINTAINER_MODE
36
37 plugins=yes; plugins_reason=default
38 postgresql=yes; postgresql_reason=default
39 samplemap=yes; samplemap_reason=default
40 binding_dbus=yes; binding_dbus_reason=default
41 binding_dbus_use_system_bus=no
42 binding_python=yes; binding_python_reason=default
43 font_freetype=yes; font_freetype_reason=default
44 fontconfig=yes; fontconfig_reason=default
45 fribidi=yes; fribidi_reason=default
46 gui_gtk=no; gui_gtk_reason=default
47 gui_win32=no; gui_win32_reason=default
48 gui_internal=yes; gui_internal_reason=default
49 gui_qml=no; gui_qml_reason=default
50 graphics=yes; graphics_reason=default
51 graphics_gd=no; graphics_gd_reason=default
52 graphics_gtk_drawing_area=no; graphics_gtk_drawing_area_reason=default
53 graphics_qt_qpainter=yes; graphics_qt_qpainter_reason=default
54 graphics_null=yes; graphics_null_reason=default
55 graphics_opengl=yes; graphics_opengl_reason=default
56 graphics_sdl=yes; graphics_sdl_reason=default
57 graphics_win32=no; graphics_win32_reason=default
58 maptool=yes; maptool_reason=default
59 map_binfile=yes; map_binfile_reason=default
60 map_filter=yes; map_filter_reason=default
61 map_mg=yes; map_mg_reason=default
62 map_shapefile=yes; map_shapefile_reason=default
63 map_textfile=yes; map_textfile_reason=default
64 osd_core=yes; osd_core_reason=default
65 plugin_pedestrian=no; plugin_pedestrian_reason=default
66 routing=yes; routing_reason=default
67 speech_android=no; speech_android_reason=default
68 speech_cmdline=yes; speech_cmdline_reason=default
69 speech_dbus=no; speech_dbus_reason=default
70 speech_espeak=no; speech_espeak_reason=default
71 speech_speech_dispatcher=yes; speech_speech_dispatcher_reason=default
72 vehicle_demo=yes; vehicle_demo_reason=default
73 vehicle_file=yes; vehicle_file_reason=default
74 vehicle_gpsd=yes; vehicle_gpsd_reason=default
75 vehicle_gpsd_dbus=no; vehicle_gpsd_dbus_reason=default
76 vehicle_gypsy=yes; vehicle_gypsy_reason=default
77 vehicle_null=no; vehicle_null_reason=default
78 vehicle_wince=no; vehicle_wince_reason=default
79 vehicle_iphone=no; vehicle_iphone_reason=default
80 vehicle_android=no; vehicle_android_reason=default
81 graphics_android=no; graphics_android_reason=default
82 vehicle_maemo=no; vehicle_maemo_reason=default
83
84 shared_libnavit=no
85 LIBNAVIT=navit
86 bin_navit=yes
87 //只执行AC_CANONICAL_SYSTEM中关于主机类型功能的子集
88 AC_CANONICAL_HOST
89 win32=no
90 win32ce=no
91 case $host_os in
92 wince|mingw32ce|cegcc)
93 win32=yes
94 win32ce=yes
95 AC_DEFINE(HAVE_API_WIN32_BASE, 1, [Have Windows Base API])
96 AC_DEFINE(HAVE_API_WIN32_CE, 1, [Have Windows CE API])
97 gui_win32=yes; gui_win32_reason="host_os is wince"
98 graphics_win32=yes; graphics_win32_reason="host_os is wince"
99 vehicle_wince=yes; vehcile_wince_reason="host_os is wince"
100 speech_espeak=yes; speech_espeak_reason="host_os is wince"
101 support_libpng=yes
102 maptool=no; maptool_reason="host_os is wince"
103 ;;
104 mingw32)
105 win32=yes
106 AC_DEFINE(HAVE_API_WIN32_BASE, 1, [Have Windows Base API])
107 AC_DEFINE(HAVE_API_WIN32, 1, [Have Windows API])
108 gui_win32=yes; gui_win32_reason="host_os is mingw32"
109 graphics_win32=yes; graphics_win32_reason="host_os is mingw32"
110 speech_espeak=yes; speech_espeak_reason="host_os is mingw32"
111 support_libpng=yes
112 ;;
113 linux*_android)
114 android=yes
115 shared_libnavit=yes
116 bin_navit=no
117 AC_DEFINE(HAVE_API_ANDROID, 1, [Have Android API])
118 echo "void dl_unwind_find_exidx(void) {}" >crt0.c
119 $CC -c crt0.c
120 $AR r libg.a crt0.o
121 vehicle_android=yes; vehicle_android_reason="host_os is android"
122 graphics_android=yes; graphics_android_reason="host_os is android"
123 speech_android=yes; speech_android_reason="host_os is android"
124 MODULE_LDFLAGS="-module -Xcompiler -nostdlib -Xcompiler -Wl,-rpath -Xcompiler -Wl,/data/data/org.navitproject.navit/lib"
125 MODULE_LIBADD="-llog"
126 LIBNAVIT=_data_data_org.navitproject.navit_lib_navit
127 NAVIT_MODULE_LDFLAGS="$MODULE_LDFLAGS -L\$(top_builddir)/navit -l$LIBNAVIT"
128 ;;
129 esac
130 if test "x$win32" = "xyes"
131 then
132 NAVIT_CFLAGS="$NAVIT_CFLAGS -I\$(top_srcdir)/navit/support/win32"
133 NAVIT_LIBS="$NAVIT_LIBS -L\$(top_builddir)/navit/support/win32 -lsupport_win32"
134 fi
135
136
137 AM_CONDITIONAL(SUPPORT_WIN32, [test "x$win32" = "xyes"])
138 AM_CONDITIONAL(SUPPORT_WIN32CE, [test "x$win32ce" = "xyes"])
139 AM_CONDITIONAL(SUPPORT_ANDROID, [test "x$android" = "xyes"])
140
141 if test "x$support_libpng" = "xyes"
142 then
143 NAVIT_CFLAGS="$NAVIT_CFLAGS -I\$(top_srcdir)/navit/support/libpng"
144 NAVIT_LIBS="$NAVIT_LIBS -L\$(top_builddir)/navit/support/libpng -lsupport_libpng"
145 fi
146 AM_CONDITIONAL(SUPPORT_LIBPNG, [test "x$support_libpng" = "xyes"])
147
148 AC_SUBST(MODULE_LDFLAGS)
149 AC_SUBST(MODULE_LIBADD)
150 AC_SUBST(NAVIT_MODULE_LDFLAGS)
151
152 LIBS="$LIBS -lm"
153 if test "$win32" == "no" -a test "$host_os" != "cygwin"; then
154 LIBS="$LIBS -rdynamic"
155 fi
156
157 m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],
158 [AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_GNU_SOURCE])])
159
160 AC_USE_SYSTEM_EXTENSIONS
161
162 m4_ifdef([AC_PROG_OBJC],[AC_PROG_OBJC])
163 AC_PROG_CC
164 m4_ifdef([AC_PROG_OBJC],[AC_PROG_OBJC],[AC_SUBST([OBJC],["$CC"])
165 AC_SUBST([OBJCFLAGS],["$CFLAGS"])])
166 m4_ifndef([AC_PROG_OBJC],[_AM_DEPENDENCIES(OBJC)])
167
168 if eval "test x`uname` = xDarwin"; then
169 CFLAGS="$CFLAGS -I/opt/local/include -L/opt/local/lib"
170 fi
171 if eval "test x$GCC = xyes"; then
172 CFLAGS="$CFLAGS -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE"
173 fi
174 AM_PROG_CC_C_O
175
176 AC_PROG_CXX
177 if eval "test x$GXX = xyes"; then
178 CXXFLAGS="$CXXFLAGS -Wall -Wcast-align -Wpointer-arith -Wreturn-type -D_GNU_SOURCE"
179 fi
180
181 PKG_CHECK_EXISTS
182 if test "x${cross_compiling}" = "xyes"; then
183 samplemap="no";samplemap_reason="not supported for cross compiling"
184 binding_python="no";binding_python_reason="not supported for cross compiling"
185 postgresql="no";postgresql_reason="not supported for cross compiling"
186 AC_MSG_CHECKING([for a C compiler for build tools])
187 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
188 else
189 CC_FOR_BUILD=$CC
190 fi
191 CCLD_FOR_BUILD="$CC_FOR_BUILD"
192 AC_SUBST(cross_compiling)
193 AM_CONDITIONAL(CROSS_COMPILING, test "x${cross_compiling}" = "xyes")
194 AC_SUBST(CC_FOR_BUILD)
195 AC_SUBST(CCLD_FOR_BUILD)
196
197 # Endianness
198 # defines WORDS_BIGENDIAN for big-endian systems
199 AC_C_BIGENDIAN
200
201 AC_ARG_ENABLE(variant, [ --enable-variant=something set variant], NAVIT_VARIANT=$enableval)
202 AC_SUBST(NAVIT_VARIANT)
203
204 AC_ARG_ENABLE(cache-size, [ --enable-cache-size=size in bytes set cache size], AC_DEFINE_UNQUOTED(CACHE_SIZE,[${enableval}], [Size of Cache in Bytes]))
205
206 AC_ARG_ENABLE(avoid-unaligned, [ --enable-avoid-unaligned avoid unaligned accesses], AVOID_UNALIGNED=$enableval, AVOID_UNALIGNED=no)
207 test x"${AVOID_UNALIGNED}" = xyes && AC_DEFINE(AVOID_UNALIGNED,[],Define to avoid unaligned access)
208
209 AC_ARG_ENABLE(avoid-float, [ --enable-avoid-float avoid floating point calculations], AVOID_FLOAT=$enableval, AVOID_FLOAT=no)
210 test x"${AVOID_FLOAT}" = xyes && AC_DEFINE(AVOID_FLOAT,[],Define to avoid floating point)
211
212 AC_ARG_ENABLE(transformation-roll, [ --enable-transformation-roll add support for specifying roll angle in transformation], ENABLE_ROLL=$enableval, ENABLE_ROLL=no)
213 test x"${ENABLE_ROLL}" = xyes && AC_DEFINE(ENABLE_ROLL,[],Define to add support for specifying roll angle in transformation)
214
215 AC_ARG_ENABLE(hildon, [ --disable-hildon build without maemo/hildon support], enable_hildon=$enableval, enable_hildon=yes)
216 if test "x${enable_hildon}" = "xyes" ; then
217 PKG_CHECK_MODULES(HILDON, hildon-1 >= 0.9.9, , [
218 AC_MSG_RESULT(no)
219 enable_hildon=no
220 ])
221 PKG_CHECK_MODULES(GPSBT, gpsbt, [
222 AC_DEFINE(HAVE_GPSBT, 1, [Have the gpsbt library])
223 AC_SUBST(GPSBT_CFLAGS)
224 AC_SUBST(GPSBT_LIBS)
225 ], [
226 AC_MSG_RESULT(no)
227 ])
228 if test x"${enable_hildon}" = xyes ; then
229 AC_DEFINE(USE_HILDON, 1, [Build with maemo/hildon support])
230 AC_SUBST(HILDON_CFLAGS)
231 AC_SUBST(HILDON_LIBS)
232 fi
233 fi
234 AM_CONDITIONAL(USE_HILDON, test "${enable_hildon}" = "xyes")
235
236 AC_ARG_ENABLE(osso, [ --disable-osso build without maemo/osso support], enable_osso=$enableval, enable_osso=yes)
237 if test "x${enable_osso}" = "xyes" ; then
238 PKG_CHECK_MODULES(LIBOSSO, libosso, , [
239 AC_MSG_RESULT(no)
240 enable_osso=no
241 ])
242 if test x"${enable_osso}" = xyes ; then
243 AC_DEFINE(USE_OSSO, 1, [Build with maemo/osso support])
244 AC_SUBST(LIBOSSO_CFLAGS)
245 AC_SUBST(LIBOSSO_LIBS)
246 fi
247 fi
248 echo ${enable_osso}
249 AM_CONDITIONAL(USE_OSSO, test "x${enable_osso}" = "xyes")
250
251 AC_ARG_ENABLE(garmin, [ --disable-garmin disable garmin support], USE_GARMIN=$enableval, USE_GARMIN=yes)
252
253 # samplemap
254 AC_PATH_PROG(_PATH_BZCAT,[bzcat])
255 if test "x${_PATH_BZCAT}" = "x" ; then
256 samplemap=no; samplemap_reason="bzcat missing"
257 fi
258 AC_ARG_ENABLE(maptool, [ --disable-maptool don't build maptool], maptool=$enableval;maptool_reason="configure parameter")
259 AM_CONDITIONAL(MAPTOOL, [test "x$maptool" = "xyes"])
260 if test "x$maptool" != "xyes"; then
261 samplemap=no; samplemap_reason="maptool disabled"
262 fi
263 AC_ARG_ENABLE(samplemap, [ --disable-samplemap don't build the samplemap], samplemap=$enableval;samplemap_reason="configure parameter")
264 AM_CONDITIONAL(BUILD_SAMPLEMAP, [test "x$samplemap" = "xyes"])
265
266 AC_ARG_ENABLE(fastmath, [ --disable-fastmath don't build with fastmath], fastmath=$enableval, fastmath=yes)
267 AM_CONDITIONAL(FASTMATH, [test "x$fastmath" = "xyes"])
268
269 if test x"$fastmath" = xyes; then
270 if eval "test x$GCC = xyes"; then
271 CFLAGS="$CFLAGS -ffast-math"
272 fi
273 fi
274
275 X_CFLAGS="-I$x_includes"
276 AS_IF([test -n "$ac_x_libraries"], [X_LIBS="-L$ac_x_libraries"])
277
278 # glib
279 AC_ARG_ENABLE(glib, [ --disable-glib don't build with external glib], glib=$enableval, glib=yes)
280 if test "x${glib}" = "xyes" -a "x${GLIB_CFLAGS}" = "x" -a "x${GLIB_LIBS}" = "x"; then
281 PKG_CHECK_MODULES(GLIB, [glib-2.0 gthread-2.0], [glib=yes],[glib=no])
282 fi
283 if test "x${glib}" = "xyes"; then
284 AC_DEFINE(HAVE_GLIB, 1, [Define to 1 if you have (external) glib library])
285 else
286 GLIB_CFLAGS="-I\$(top_srcdir)/navit/support -I\$(top_srcdir)/navit/support/glib -I\$(top_srcdir)/navit/support/ezxml"
287 GLIB_LIBS="-L\$(top_builddir)/navit/support/glib -lsupport_glib -L\$(top_builddir)/navit/support/ezxml -lsupport_ezxml"
288 if test "x${win32}" != "xyes" -a "x${android}" != "xyes"; then
289 GLIB_LIBS="$GLIB_LIBS -lpthread"
290 fi
291 fi
292
293 # gmodule
294 AC_ARG_ENABLE(gmodule, [ --disable-gmodule don't build with gmodule], gmodule=$enableval, gmodule=yes)
295 if test x"${gmodule}" = "xyes"; then
296 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0], [gmodule=yes], [gmodule=no])
297 fi
298 if test "x${gmodule}" = "xyes"; then
299 AC_DEFINE(HAVE_GMODULE, 1, [Define to 1 if you have gmodule])
300 else
301 AC_CHECK_LIB(dl, dlopen,
302 [plugins_reason="default, via dlopen";GMODULE_LIBS="-ldl";AC_DEFINE(HAVE_DLOPEN, 1, [Define to 1 if you have dlopen])],
303 [plugins="no"; plugins_reason="package gmodule and dlopen missing"]
304 )
305 fi
306
307 # libcrypto
308 AC_CHECK_LIB(crypto, AES_encrypt, [CRYPTO_LIBS="-lcrypto";AC_DEFINE(HAVE_LIBCRYPTO, 1, [Define to 1 if you have libcrypto])])
309 AC_SUBST(CRYPTO_LIBS)
310
311 # plugins
312 AC_ARG_ENABLE(plugins, [ --disable-plugins disable plugins], [ plugins=$enableval;plugin_reason="configure parameter" ])
313 AC_ARG_ENABLE(shared-libnavit, [ --enable-shared-libnavit], [ shared_libnavit=$enableval])
314 if test "x${plugins}" = "xyes"; then
315 AC_ENABLE_SHARED
316 AC_DISABLE_STATIC
317 AC_DEFINE(
318 [USE_PLUGINS],
319 [],
320 Define to 1 if you have plugins.
321 )
322 if test "x${win32}" = "xyes"; then
323 shared_libnavit=yes
324 NAVIT_MODULE_LDFLAGS="-no-undefined -L\$(top_builddir)/navit -l$LIBNAVIT -L\$(top_builddir)/intl -lintl"
325 fi
326 else
327 if test "x${shared_libnavit}" = "xyes"; then
328 AC_ENABLE_SHARED
329 AC_DISABLE_STATIC
330 else
331 AC_DISABLE_SHARED
332 AC_ENABLE_STATIC
333 fi
334 fi
335 AM_CONDITIONAL(PLUGINS, [test "x$plugins" = "xyes"])
336 AM_CONDITIONAL(SHARED_LIBNAVIT, [test "x$shared_libnavit" = "xyes"])
337 AM_CONDITIONAL(BIN_NAVIT, [test "x$bin_navit" = "xyes"])
338 AC_PROG_LIBTOOL
339 AC_SUBST(LIBNAVIT)
340
341 AM_CONDITIONAL(EVENT_GLIB, [test "x$glib" = "xyes"])
342 AM_CONDITIONAL(SUPPORT_GLIB, [test "x$glib" = "xno"])
343 AM_CONDITIONAL(SUPPORT_EZXML, [test "x$glib" = "xno"])
344
345 if test "x${ZLIB_CFLAGS}" = "x" -a "x${ZLIB_LIBS}" = "x"; then
346 AC_CHECK_HEADER(
347 zlib.h,
348 AC_DEFINE(
349 [HAVE_ZLIB],
350 [],
351 Define to 1 if you have the <zlib.h> header file.
352 )
353 ZLIB_LIBS="-lz"
354 zlib=yes,
355 ZLIB_CFLAGS="-I\$(top_srcdir)/navit/support/zlib"
356 ZLIB_LIBS="-L\$(top_builddir)/navit/support/zlib -lsupport_zlib"
357 zlib=no
358 )
359 else
360 zlib=yes
361 fi
362 AM_CONDITIONAL(SUPPORT_ZLIB, [test "x$zlib" = "xno"])
363 AC_SUBST(ZLIB_CFLAGS)
364 AC_SUBST(ZLIB_LIBS)
365
366 AC_CHECK_HEADER(sys/socket.h, AC_DEFINE([HAVE_SOCKET],[],Define to 1 if you have sockets))
367
368 # gtk
369 PKG_CHECK_MODULES(GTK2, [gtk+-2.0], [gtk2_pkgconfig=yes], [gtk2_pkgconfig=no])
370 if test "x$gtk2_pkgconfig" = "xyes"; then
371 AC_DEFINE(HAVE_GTK2, 1, [Define to 1 if you have gtk2])
372 graphics_gtk_drawing_area=yes; graphics_gtk_drawing_area_reason="gtk+-2.0 present"
373 gui_gtk=yes; gui_gtk_reason="gtk+-2.0 present"
374 fi
375
376 # fsync
377 AC_MSG_CHECKING(for fsync)
378 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))
379
380 # system
381 AC_MSG_CHECKING(for system)
382 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))
383
384 AC_MSG_CHECKING(for CreateProcess)
385 AC_TRY_LINK([#include <windows.h>], [CreateProcess(NULL,NULL,NULL,NULL,0,0,NULL,NULL,NULL,NULL);],AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CREATEPROCESS, 1, [Define to 1 if you have the `CreateProcess' function.]) speech_cmdline=yes; speech_cmdline_reason="CreateProcess exists", AC_MSG_RESULT(no))
386
387 AC_ARG_ENABLE(graphics-sdl, [ --disable-graphics-sdl don't create graphics sdl], graphics_sdl=$enableval;graphics_sdl_reason="configure parameter")
388
389 if test "x${graphics_sdl}" = "xyes" ; then
390 PKG_CHECK_MODULES(SDL,
391 [sdl],
392 [graphics_sdl="yes"
393 graphics_sdl_reason="sdl present"] ,
394 [graphics_sdl="no"
395 graphics_sdl_reason="sdl not available"]
396 )
397 AC_SUBST(SDL_CFLAGS)
398 AC_SUBST(SDL_LIBS)
399 fi
400 if test "x${graphics_sdl}" = "xyes" ; then
401 save_CPPFLAGS=$CPPFLAGS
402 CPPFLAGS="$SDL_CFLAGS $CPPFLAGS"
403 AC_CHECK_HEADER(SDL_image.h,SDL_IMAGE_LIBS=-lSDL_image,graphics_sdl="no";graphics_sdl_reason="SDL_image.h missing")
404 AC_SUBST(SDL_IMAGE_LIBS)
405 CPPFLAGS=$save_CPPFLAGS
406 fi
407 if test "x${graphics_sdl}" = "xyes" ; then
408 AC_DEFINE(USE_GRAPHICS_SDL, 1, [Build with graphics sdl])
409 fi
410 AM_CONDITIONAL(USE_GRAPHICS_SDL, test "x${graphics_sdl}" = "xyes")
411
412 AC_ARG_ENABLE(postgresql, [ --disable-postgresql don't add postgresql support to maptool], postgresql=$enableval;postgresql_reason="configure parameter")
413 if test "x${postgresql}" = "xyes" ; then
414 if test -z "$PG_CONFIG"; then
415 AC_PATH_PROG([PG_CONFIG], [pg_config], [])
416 fi
417 AC_MSG_CHECKING([for PostgreSQL libraries with $PG_CONFIG])
418 if test ! -x "$PG_CONFIG"; then
419 if test "x${PG_CONFIG}" = "x" ; then
420 postgresql_reason="$PG_CONFIG not executable"
421 else
422 postgresql_reason="pg_config missing"
423 fi
424 postgresql=no
425 AC_MSG_RESULT([no])
426 else
427 POSTGRESQL_CFLAGS="-I`$PG_CONFIG --includedir`"
428 POSTGRESQL_LIBS="-L`$PG_CONFIG --libdir` -lpq"
429 AC_DEFINE(HAVE_POSTGRESQL, 1, [Postgresql libraries available])
430 AC_SUBST(POSTGRESQL_CFLAGS)
431 AC_SUBST(POSTGRESQL_LIBS)
432 AC_MSG_RESULT([yes])
433 fi
434 fi
435 AM_CONDITIONAL(HAVE_POSTGRESQL, test "x${postgresql}" = "xyes")
436 # font
437 # freetype
438 AC_ARG_ENABLE(font-freetype, [ --disable-font-freetype don't add freetype support], font_freetype=$enableval;font_freetype_reason="configure parameter")
439 if test "x${font_freetype}" = "xyes" -a "x${FREETYPE2_CFLAGS}" = "x" -a "x${FREETYPE2_LIBS}" = "x"; then
440 PKG_CHECK_MODULES(FREETYPE2, [freetype2], , [font_freetype=no;font_freetype_reason="Package freetype2 missing"])
441 else
442 fribidi=no
443 fi
444 AC_SUBST(FREETYPE2_CFLAGS)
445 AC_SUBST(FREETYPE2_LIBS)
446 AM_CONDITIONAL(FONT_FREETYPE, test "x${font_freetype}" = "xyes")
447 AC_ARG_WITH(freetype-fonts, [ --with-freetype-fonts specify what fonts to use], AC_DEFINE_UNQUOTED(FREETYPE_FONTS,[${withval}],[Freetype fonts to use]))
448
449 AC_ARG_ENABLE(fontconfig, [ --disable-fontconfig don't add fontconfig support], fontconfig=$enableval;fontconfig_reason="configure parameter")
450 if test "x${fontconfig}" = "xyes"; then
451 PKG_CHECK_MODULES(FONTCONFIG, [fontconfig], [fontconfig=yes], [fontconfig=no])
452 fi
453 if test "x$fontconfig" = "xyes"; then
454 AC_DEFINE(HAVE_FONTCONFIG, 1, [Define to 1 if you have fontconfig])
455 fi
456 AC_SUBST(FONTCONFIG_CFLAGS)
457 AC_SUBST(FONTCONFIG_LIBS)
458
459 AM_CONDITIONAL(FONTS, test "x${font_freetype}" = "xyes" -a "x$fontconfig" != "xyes")
460
461 # fribidi
462 AC_ARG_ENABLE(fribidi, [ --disable-fribidi dont build with fribidi], fribidi=$enableval;fribidi_reason="configure parameter", fribidi=yes)
463 if test x"${fribidi}" = "xyes"; then
464 PKG_CHECK_MODULES(FRIBIDI, [fribidi], [fribidi=yes], [fribidi=no;fribidi_reason="FriBidi library not found"])
465 fi
466 if test x"${fribidi}" = "xyes"; then
467 AC_DEFINE(USE_FRIBIDI, 1, [Build with fribidi support])
468 fi
469 AC_SUBST(FRIBIDI_CFLAGS)
470 AC_SUBST(FRIBIDI_LIBS)
471
472 PKG_CHECK_MODULES(IMLIB2, [imlib2], [imlib2_pkgconfig=yes], [imlib2_pkgconfig=no])
473 if test "x$imlib2_pkgconfig" = "xyes"; then
474 AC_DEFINE(HAVE_IMLIB2, 1, [Define to 1 if you have imlib2])
475 fi
476 AC_SUBST(IMLIB2_CFLAGS)
477 AC_SUBST(IMLIB2_LIBS)
478
479
480
481 AC_ARG_ENABLE(gui-sdl, [ --disable-gui-sdl don't create gui sdl ], MODULE_GUI_SDL=$enableval, MODULE_GUI_SDL=yes)
482 if test "x$MODULE_GUI_SDL" = "xyes"; then
483 AC_CHECK_HEADER(
484 SDL/SDL.h,
485 AC_DEFINE(
486 [HAVE_LIBSDL],
487 [],
488 Define to 1 if you have the <SDL/SDL.h> header file.
489 )
490 SDL_LIBS="-lSDL"
491 sdl=yes,
492 AC_MSG_WARN([*** no SDL/SDL.h -- SDL support disabled])
493 )
494 fi
495
496 AC_CHECK_HEADER(
497 X11/Xmu/Xmu.h,
498 AC_DEFINE(
499 [HAVE_XMU],
500 [],
501 Define to 1 if you have the <X11/Xmu/Xmu.h> header file.
502 )
503 xmu=yes,
504 AC_MSG_WARN([*** no X11/Xmu/Xmu.h -- opengl and SDL support disabled])
505 )
506
507 AC_ARG_ENABLE(graphics-opengl, [ --disable-graphics-opengl disable graphics type OpenGL], graphics_opengl=$enableval;graphics_opengl_reason="configure parameter")
508 if test "x${graphics_opengl}" = "xyes" ; then
509
510 AC_CHECK_HEADER(
511 GL/gl.h,
512 AC_DEFINE(
513 [HAVE_OPENGL],
514 [],
515 Define to 1 if you have the <GL/gl.h> header file.
516 )
517 OPENGL_LIBS="$X_LIBS -lGL -lGLU"
518 opengl=yes,
519 AC_MSG_WARN([*** no GL/gl.h -- opengl and SDL support disabled];graphics_opengl=no;graphics_opengl_reason="Headers missing")
520 )
521
522 AC_CHECK_HEADER(
523 GL/glut.h,
524 AC_DEFINE(
525 [HAVE_GLUT],
526 [],
527 Define to 1 if you have the <GL/glut.h> header file.
528 )
529 glut=yes,
530 AC_MSG_WARN([*** no GL/glut.h -- opengl and SDL support disabled]);graphics_opengl=no;graphics_opengl_reason="Headers missing"
531 )
532
533 AC_SUBST(OPENGL_CFLAGS)
534 AC_SUBST(OPENGL_LIBS)
535
536 AC_CHECK_HEADER(
537 GL/glc.h,
538 AC_DEFINE(
539 [HAVE_GLC],
540 [],
541 Define to 1 if you have the <GL/glc.h> header file.
542 )
543 GLC_LIBS="-lGLC"
544 glc=yes,
545 AC_MSG_WARN([*** no GL/glc.h -- opengl and SDL support disabled])
546 )
547 AC_SUBST(GLC_CFLAGS)
548 AC_SUBST(GLC_LIBS)
549 fi
550
551 AM_CONDITIONAL(GUI_SDL, [test "x$sdl" = "xyes" -a "x$opengl" = "xyes" -a "x$glc" = "xyes" -a "x$xmu" = "xyes" ])
552 AM_CONDITIONAL(GRAPHICS_OPENGL, [test "x$glut" = "xyes" -a "x$opengl" = "xyes" -a "x$glc" = "xyes" ])
553
554 system_shapefile=no
555 AC_CHECK_HEADERS(
556 [shapefil.h libshp/shapefil.h],
557 AC_DEFINE(
558 [HAVE_SYS_SHAPEFILELIB],
559 [1],
560 Define to 1 if you have the <libshp/shapefil.h> header file.
561 )
562 SHAPEFILE_LIBS="-lshp"
563 system_shapefile=yes
564 )
565 AC_SUBST(SHAPEFILE_CFLAGS)
566 AC_SUBST(SHAPEFILE_LIBS)
567 AM_CONDITIONAL(HAVE_SYSTEM_SHAPEFILELIB, [test "x$system_shapefile" = "xyes" ])
568 if test x"${system_shapefile}" = xno
569 then
570 AC_MSG_WARN([*** no libshp/shapefil.h -- using included copy])
571 fi
572
573
574 if test x"${USE_GARMIN}" = xyes
575 then
576 # check for libgarmin
577 PKG_CHECK_MODULES(LIBGARMIN, libgarmin, use_libgarmin=yes, use_libgarmin=no)
578 AC_SUBST(LIBGARMIN_CFLAGS)
579 AC_SUBST(LIBGARMIN_LIBS)
580 fi
581 AM_CONDITIONAL(HAVELIBGARMIN, [test "x$use_libgarmin" = "xyes"])
582
583 ## binding
584 # python
585 AC_ARG_ENABLE(binding-python, [ --disable-binding-python don't create binding python], binding_python=$enableval;binding_python_reason="configure parameter")
586 if test "x${binding_python}" = "xyes"; then
587 AC_PATH_PROG(_PATH_PYTHON,[python])
588 dnl Libraries and flags for embedded Python.
589 dnl FIXME: I wish there was a less icky way to get this.
590 if test "x${_PATH_PYTHON}" != "x" ; then
591 AC_MSG_CHECKING(for Python linkage)
592 AC_PATH_PROG([PYTHONCONFIG], [python-config], [])
593 if test "x${PYTHONCONFIG}" = "x" ; then
594 py_prefix=`$_PATH_PYTHON -c 'import sys; print sys.prefix'`
595 py_ver=`$_PATH_PYTHON -c 'import sys; print sys.version[[:3]]'`
596 py_lib=`$_PATH_PYTHON -c 'import sys; print sys.lib'`
597 py_libdir="${py_prefix}/${py_lib}/python${py_ver}"
598 PYTHON_CFLAGS="-I${py_prefix}/include/python${py_ver}"
599 if test -f $py_libdir/config/Makefile -a -f $py_prefix/include/python${py_ver}/Python.h; then
600 py_libs=`grep '^LIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
601 py_libc=`grep '^LIBC=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
602 py_libm=`grep '^LIBM=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
603 py_liblocalmod=`grep '^LOCALMODLIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
604 py_libbasemod=`grep '^BASEMODLIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
605 PYTHON_LIBS="-L$py_libdir/config $py_libs $py_libc $py_libm -lpython$py_ver $py_liblocalmod $py_libbasemod"
606 PYTHON_LIBS=`echo $PYTHON_LIBS | sed -e 's/[ \\t]*/ /g'`
607 AC_MSG_RESULT($py_libdir)
608 else
609 binding_python="no"
610 binding_python_reason="$py_libdir/config/Makefile or $py_prefix/include/python${py_ver}/Python.h missing"
611 fi
612
613 else
614 PYTHON_CFLAGS="`${PYTHONCONFIG} --cflags`"
615 PYTHON_LIBS="`${PYTHONCONFIG} --ldflags`"
616 fi
617 else
618 binding_python="no"
619 binding_python_reason="python executable missing"
620 fi
621 fi
622 if test "x${binding_python}" = xyes ; then
623 AC_DEFINE(USE_BINDING_PYTHON, 1, [Build with binding python])
624 fi
625 AC_SUBST(PYTHON_CFLAGS)
626 AC_SUBST(PYTHON_LIBS)
627 AM_CONDITIONAL(BINDING_PYTHON, test "x${binding_python}" = "xyes")
628
629 # dbus
630 AC_ARG_ENABLE(binding-dbus, [ --disable-binding-dbus don't create binding dbus], binding_dbus=$enableval;binding_dbus_reason="configure parameter")
631 AC_ARG_ENABLE(binding-dbus-use-system-bus, [ --enable-binding-dbus-use-system-bus use system bus for dbus binding], binding_dbus_use_system_bus=$enableval)
632 if test "x${binding_dbus}" = "xyes" ; then
633 PKG_CHECK_MODULES(DBUS, [dbus-glib-1], ,binding_dbus=no)
634 fi
635 if test "x${binding_dbus}" = "xyes" ; then
636 AC_DEFINE(USE_BINDING_DBUS, 1, [Build with binding dbus])
637 vehicle_gpsd_dbus="yes"
638 vehicle_gpsd_dbus_reason="dbus binding present"
639 speech_dbus="yes"
640 speech_dbus_reason="dbus binding present"
641 fi
642 if test "x${binding_dbus_use_system_bus}" = "xyes" ; then
643 AC_DEFINE(DBUS_USE_SYSTEM_BUS, 1, [Use system bus instead of session bus for binding dbus])
644 fi
645 AC_SUBST(DBUS_CFLAGS)
646 AC_SUBST(DBUS_LIBS)
647 AM_CONDITIONAL(BINDING_DBUS, test "x${binding_dbus}" = "xyes")
648 AM_CONDITIONAL(VEHICLE_GPSD_DBUS, test "x${vehicle_gpsd_dbus}" = "xyes")
649 AM_CONDITIONAL(SPEECH_DBUS, test "x${speech_dbus}" = "xyes")
650 AC_ARG_WITH(dbus-service-dir, [ --with-dbus-service-dir specify where the dbus service dir resides], DBUS_SERVICE_DIR=$withval, DBUS_SERVICE_DIR="$datarootdir/dbus-1/services")
651 AC_SUBST(DBUS_SERVICE_DIR)
652
653 # svg
654 AC_ARG_ENABLE(svg, [ --disable-svg disable Scalable Vector Graphics], enable_svg=$enableval, enable_svg=yes)
655 AC_ARG_ENABLE(svg2png, [ --disable-svg2png disable conversion of svgs to pngs], enable_svg2png=$enableval, enable_svg2png=yes)
656 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")
657 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="8 16 32 48 96")
658 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="8 16 32 48 96")
659 AC_ARG_WITH(svg2png-use-convert, [ --with-svg2png-use-convert use imagemagick's convert for png creation], SVG2PNG_CONVERTER="convert")
660 AC_ARG_WITH(svg2png-use-rsvg-convert, [ --with-svg2png-use-rsvg-convert use librsvg's rsvg-convert for png creation], SVG2PNG_CONVERTER="rsvg-convert")
661 AC_ARG_WITH(svg2png-use-inkscape, [ --with-svg2png-use-inkscape use inkscapes internal convert routines for png creation], SVG2PNG_CONVERTER="inkscape")
662 AC_ARG_WITH(svg2png-use-ksvgtopng4, [ --with-svg2png-use-ksvgtopng4 use kde4's ksvgtopng4 for png creation], SVG2PNG_CONVERTER="ksvgtopng4")
663 AC_ARG_WITH(svg2png-use-ksvgtopng, [ --with-svg2png-use-ksvgtopng use kde3's convert for png creation], SVG2PNG_CONVERTER="ksvgtopng")
664 if test "x${enable_svg2png}" = "xyes" ; then
665 if test "x${SVG2PNG_CONVERTER}" = "x"; then
666 SVG2PNG_CONVERTER="rsvg-convert ksvgtopng ksvgtopng4 inkscape convert"
667 fi
668 AC_PATH_PROGS([SVG2PNG], ${SVG2PNG_CONVERTER}, [none])
669 if test "x${SVG2PNG}" = "xnone"; then
670 enable_svg2png="no"
671 fi
672 fi
673 AC_SUBST(SVG2PNG)
674 AC_SUBST(SVG2PNG_SCALES)
675 AC_SUBST(SVG2PNG_SCALES_FLAG)
676 AC_SUBST(SVG2PNG_SCALES_NAV)
677 AM_CONDITIONAL(USE_SVG2PNG_SCALES, test "x${SVG2PNG_SCALES}" != "xyes" -a "x${SVG2PNG_SCALES}" != "x")
678 AM_CONDITIONAL(USE_SVG2PNG_SCALES_FLAG, test "x${SVG2PNG_SCALES_FLAG}" != "xyes" -a "x${SVG2PNG_SCALES_FLAG}" != "x")
679 AM_CONDITIONAL(USE_SVG2PNG_SCALES_NAV, test "x${SVG2PNG_SCALES_NAV}" != "xyes" -a "x${SVG2PNG_SCALES_NAV}" != "x")
680 AM_CONDITIONAL(USE_SVG2PNG, test "x${enable_svg2png}" = "xyes")
681 AM_CONDITIONAL(USE_SVG, test "x${enable_svg}" = "xyes")
682
683 # XSLTS
684 AC_ARG_WITH(xslts, [ --with-xslts enable processing of navit.xml with given xslt scripts], XSLTS=$withval, XSLTS="")
685 AC_SUBST(XSLTS)
686 AC_ARG_WITH(saxon, [ --with-saxon specify the saxon xslt processor], SAXON=$withval, SAXON="saxon")
687 AC_SUBST(SAXON)
688
689 # Android Permissions
690 AC_ARG_WITH(android-permissions, [ --with-android-permissions Set additional android permissions], ANDROID_PERMISSIONS=$withval, ANDROID_PERMISSIONS="")
691 AC_SUBST(ANDROID_PERMISSIONS)
692
693 # NLS
694
695 AC_ARG_ENABLE(nls,
696 [ --disable-nls disable Native Language Support ( gettext/libintl )],
697 enable_nls=$enableval, enable_nls=yes)
698
699
700 INTLIBS=""
701 MOFILES=""
702 POFILES=""
703 POIFILES=""
704 LINGUAS=""
705
706 xgettext_glade=no
707 if test "x$enable_nls" = "xyes"; then
708
709 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"],[INTLIBS="-lintl" HAVEGETTEXT="yes"])
710 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
711 AC_CHECK_PROG(MSGMERGE, msgmerge, msgmerge)
712 AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt)
713
714 if test "$XGETTEXT" != ""; then
715 if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
716 echo "xgettext isn't GNU version"
717 XGETTEXT=""
718 else
719 if echo '<test/>' | $XGETTEXT -L Glade - ; then
720 xgettext_glade=yes
721 fi
722 fi
723 fi
724
725 if test "$XGETTEXT" != "" ; then
726 PO=""
727 if test "$LINGUAS" = ""; then
728 ling=` (cd $srcdir/po; /bin/ls *.po.in) `
729 for l in $ling; do
730 lcode=`basename $l .po.in`
731 LINGUAS="$LINGUAS$lcode "
732 done
733 fi
734 AC_DEFINE(ENABLE_NLS, [1], [NLS Please])
735 echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
736 else
737 LINGUAS=""
738 PO=""
739 echo "xgettext doesn't exist; will not build i18n support"
740 enable_nls=no
741 fi
742 for lang in $LINGUAS; do
743 MOFILES="$MOFILES $lang.mo"
744 done
745 for lang in $LINGUAS; do
746 POFILES="$POFILES $lang.po"
747 done
748 for lang in $LINGUAS; do
749 POIFILES="$POIFILES $lang.po.in"
750 done
751
752 AC_SUBST(INTLIBS)
753 AC_SUBST(MOFILES)
754 AC_SUBST(POFILES)
755 AC_SUBST(POIFILES)
756 AM_GNU_GETTEXT_VERSION
757 AM_GNU_GETTEXT(no-libtool, need-ngettext, \$(top_builddir)/intl/)
758 if test "x${shared_libnavit}" = "xyes" -a "x${win32ce}" = "xyes"; then
759 INTLLIBS="\$(top_builddir)/intl/libintl.la"
760 LIBINTL=$INTLLIBS
761 LTLIBINTL=$INTLLIBS
762 fi
763 AC_SUBST(LIBINTL)
764 AC_SUBST(LTLIBINTL)
765 if test x"$LIBINTL" != "x" ;then
766 CFLAGS="$CFLAGS -I\$(top_builddir)/intl/"
767 fi
768
769 fi
770 AM_CONDITIONAL(ENABLE_NLS, [test "x$enable_nls" = "xyes"])
771 AM_CONDITIONAL(XGETTEXT_GLADE, [test "x$xgettext_glade" = "xyes"])
772 AC_CHECK_HEADER(
773 byteswap.h,
774 AC_DEFINE(
775 [HAVE_BYTESWAP_H],
776 [1],
777 [Define to 1 if you have byteswap.h],
778 )
779 ,
780 )
781
782 PACKAGE=navit
783 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
784 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
785 AC_SUBST(PACKAGE)
786 AC_SUBST(VERSION)
787
788 AC_CHECK_HEADER(wordexp.h,wordexp_h=yes,wordexp_h=no;NAVIT_CFLAGS="$NAVIT_CFLAGS -I\$(top_srcdir)/navit/support/wordexp";WORDEXP_LIBS="-L\$(top_builddir)/navit/support/wordexp -lsupport_wordexp")
789 AM_CONDITIONAL(SUPPORT_WORDEXP, [test "x$wordexp_h" = "xno"])
790
791 support_libc=no
792 AC_ARG_ENABLE(support_libc, [ --enable-support-libc enable builtin mini libc ], support_libc=$enableval)
793 AM_CONDITIONAL(SUPPORT_LIBC, [test "x$support_libc" = "xyes"])
794 if test "x$support_libc" = "xyes"; then
795 CFLAGS="$CFLAGS -I\$(top_srcdir)/navit/support/libc"
796 LIBC_LIBS="-L\$(top_builddir)/navit/support/libc -lsupport_libc"
797 fi
798
799 ## graphics
800 AC_ARG_ENABLE(graphics, [ --disable-graphics disable graphics], graphics=$enableval;graphics_reason="configure parameter")
801 AM_CONDITIONAL(GRAPHICS, test "x${graphics}" = "xyes")
802 if test "x$graphics" = "xyes"; then
803 AC_DEFINE([USE_GRAPHICS],[1],Define to 1 if you want to use graphics.)
804 fi
805
806 # gd
807
808 # android
809 AC_ARG_ENABLE(graphics-android, [ --disable-graphics-android disable graphics type android], graphics_android=$enableval;graphics_android_reason="configure parameter")
810 AM_CONDITIONAL(GRAPHICS_ANDROID, test "x${graphics_android}" = "xyes")
811 # gd
812 AC_ARG_ENABLE(graphics-gd, [ --enable-graphics-gd enable graphics type gd], graphics_gd=$enableval;graphics_gd_reason="configure parameter")
813 if test "x${graphics_gd}" = "xyes" ; then
814 if test -z "$GDLIB_CONFIG"; then
815 AC_PATH_PROG([GDLIB_CONFIG], [gdlib-config], [])
816 fi
817 AC_MSG_CHECKING([for gdlib with $GDLIB_CONFIG])
818 if test ! -x "$GDLIB_CONFIG"; then
819 if test "x${GDLIB_CONFIG}" = "x" ; then
820 graphics_gd_reason="$GDLIB_CONFIG not executable"
821 else
822 graphics_gd_reason="gdlib-config missing"
823 fi
824 graphics_gd=no
825 AC_MSG_RESULT([no])
826 else
827 if test "x${GD_CFLAGS}" = "x" ; then
828 GD_CFLAGS="-I`$GDLIB_CONFIG --includedir`"
829 fi
830 if test "x${GD_LIBS}" = "x" ; then
831 GD_LIBS="-L`$GDLIB_CONFIG --libdir` -lgd `$GDLIB_CONFIG --libs`"
832 fi
833 AC_SUBST(GD_CFLAGS)
834 AC_SUBST(GD_LIBS)
835 AC_MSG_RESULT([yes])
836 fi
837 fi
838 AM_CONDITIONAL(GRAPHICS_GD, test "x${graphics_gd}" = "xyes")
839 AC_CHECK_HEADER(
840 sys/shm.h,
841 AC_DEFINE(
842 [HAVE_SHMEM],
843 [],
844 Define to 1 if you have shared memory
845 )
846 )
847 AC_CHECK_HEADER(
848 X11/xpm.h,
849 AC_DEFINE(
850 [HAVE_XPM],
851 [],
852 Define to 1 if you have xpm header
853 )
854 )
855 if test "x${graphics_gd}" = "xyes" ; then
856 save_CPPFLAGS=$CPPFLAGS
857 save_LIBS=$LIBS
858 LIBS="$GD_LIBS $LIBS"
859 CPPFLAGS="$GD_CFLAGS $CPPFLAGS"
860 AC_TRY_LINK([#include <gd.h>], [gdImageCreateFromPng(0);],AC_MSG_RESULT(yes);AC_DEFINE(HAVE_GRAPHICS_GD_PNG, 1, [Define to 1 if you have png support in gd.]),AC_MSG_RESULT(no))
861 CPPFLAGS=$save_CPPFLAGS
862 LIBS=$save_LIBS
863 fi
864
865 # gtk_drawing_area
866 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")
867 AM_CONDITIONAL(GRAPHICS_GTK_DRAWING_AREA, [test "x${graphics_gtk_drawing_area}" = "xyes"])
868 # null
869 AC_ARG_ENABLE(graphics-null, [ --disable-graphics-null disable graphics type null], graphics_null=$enableval;graphics_null_reason="configure parameter")
870 AM_CONDITIONAL(GRAPHICS_NULL, test "x${graphics_null}" = "xyes")
871 # win32
872 AC_ARG_ENABLE(graphics-win32, [ --disable-graphics-win32 disable graphics type win32], graphics_win32=$enableval;graphics_win32_reason="configure parameter")
873 AM_CONDITIONAL(GRAPHICS_WIN32, test "x${graphics_win32}" = "xyes")
874 # qt_qpainter
875 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")
876 if test "x${graphics_qt_qpainter}" = "xyes" -a "x${QT_GUI_CFLAGS}" = "x" -a "x${QT_GUI_LIBS}" = "x"; then
877 PKG_CHECK_MODULES(QT_GUI, [QtGui QtCore],graphics_qt_qpainter=yes,graphics_qt_qpainter=no;graphics_qt_qpainter_reason="Packages QtGui and/or QtCore missing")
878 if test "x${graphics_qt_qpainter}" = "xno"; then
879 PKG_CHECK_MODULES(QT_GUI, [qt-mt],graphics_qt_qpainter=yes;graphics_qt_qpainter_reason="Package qt-mt present",graphics_qt_qpainter=no)
880 fi
881 fi
882 if test "x${graphics_qt_qpainter}" = "xyes" ; then
883 PKG_CHECK_MODULES(QT_SVG, [QtSvg], have_qt_svg=yes, have_qt_svg=no)
884 if test "x${have_qt_svg}" = "xyes"; then
885 AC_DEFINE([HAVE_QT_SVG],[],Define to 1 if qt supports svg)
886 fi
887 fi
888 if test "x${graphics_qt_qpainter}" = "xyes" ; then
889 AC_DEFINE(USE_GRAPICS_QT_QPAINTER, 1, [Build with graphics qt_qpainter])
890 fi
891 AC_SUBST(QT_GUI_CFLAGS)
892 AC_SUBST(QT_GUI_LIBS)
893 AC_SUBST(QT_SVG_CFLAGS)
894 AC_SUBST(QT_SVG_LIBS)
895 AM_CONDITIONAL(GRAPHICS_QT_QPAINTER, test "x${graphics_qt_qpainter}" = "xyes")
896 MOC=`$PKG_CONFIG QtGui --variable=moc_location`
897 if test "x${MOC}" = "x"; then
898 AC_CHECK_PROG(MOC, moc, moc)
899 fi
900 AC_SUBST(MOC)
901
902
903 ## map
904 # binfile
905 AC_ARG_ENABLE(map-binfile, [ --disable-map-binfile disable graphics type android], map_binfile=$enableval;map_binfile_reason="configure parameter")
906 AM_CONDITIONAL(MAP_BINFILE, test "x${map_binfile}" = "xyes")
907 # filter
908 AC_ARG_ENABLE(map-filter, [ --disable-map-filter disable graphics type android], map_filter=$enableval;map_filter_reason="configure parameter")
909 AM_CONDITIONAL(MAP_FILTER, test "x${map_filter}" = "xyes")
910 # mg
911 AC_ARG_ENABLE(map-mg, [ --disable-map-mg disable graphics type android], map_mg=$enableval;map_mg_reason="configure parameter")
912 AM_CONDITIONAL(MAP_MG, test "x${map_mg}" = "xyes")
913 # shapefile
914 AC_ARG_ENABLE(map-shapefile, [ --disable-map-shapefile disable graphics type android], map_shapefile=$enableval;map_shapefile_reason="configure parameter")
915 AM_CONDITIONAL(MAP_SHAPEFILE, test "x${map_shapefile}" = "xyes")
916 # textfile
917 AC_ARG_ENABLE(map-textfile, [ --disable-map-textfile disable graphics type android], map_textfile=$enableval;map_textfile_reason="configure parameter")
918 AM_CONDITIONAL(MAP_TEXTFILE, test "x${map_textfile}" = "xyes")
919
920 ## osd
921 # core
922 AC_ARG_ENABLE(osd-core, [ --disable-osd-core disable graphics type android], osd_core=$enableval;osd_core_reason="configure parameter")
923 AM_CONDITIONAL(OSD_CORE, test "x${osd_core}" = "xyes")
924
925 ## gui
926 # gtk
927 AC_ARG_ENABLE(gui-gtk, [ --disable-gui-gtk disable gui type gtk ], gui_gtk=$enableval)
928 AM_CONDITIONAL(GUI_GTK, [test "x${gui_gtk}" = "xyes"])
929 # internal
930 AC_ARG_ENABLE(gui-internal, [ --disable-gui-internal disable gui type internal], gui_internal=$enableval;gui_internal_reason="configure parameter")
931 AM_CONDITIONAL(GUI_INTERNAL, test "x${gui_internal}" = "xyes")
932 # win32
933 AC_ARG_ENABLE(gui-win32, [ --disable-gui-win32 disable gui type win32], gui_win32=$enableval;gui_win32_reason="configure parameter")
934 AM_CONDITIONAL(GUI_WIN32, test "x${gui_win32}" = "xyes")
935 # qml
936 AC_ARG_ENABLE(gui-qml, [ --disable-gui-qml disable gui type QML], gui_qml=$enableval;gui_qml_reason="configure parameter")
937 if test "x${gui_qml}" = "xyes" -a "x${QT_GUI_CFLAGS}" = "x" -a "x${QT_GUI_LIBS}" = "x"; then
938 PKG_CHECK_MODULES(QT_GUI, [QtGui QtCore], ,gui_qml=no;gui_qml_reason="Packages QtGui and/or QtCore are missing")
939 fi
940 if test "x${gui_qml}" = "xyes" -a "x${QT_XML_CFLAGS}" = "x" -a "x${QT_XML_LIBS}" = "x"; then
941 PKG_CHECK_MODULES(QT_XML, [QtXml], ,gui_qml=no;gui_qml_reason="Package QtXml is missing")
942 fi
943 if test "x${gui_qml}" = "xyes" -a "x${QT_DECLARATIVE_CFLAGS}" = "x" -a "x${QT_DECLARATIVE_LIBS}" = "x"; then
944 PKG_CHECK_MODULES(QT_DECLARATIVE, [QtDeclarative >= 4.6.0 ], ,gui_qml=no;gui_qml_reason="Packages QtDeclarative is missing")
945 fi
946 if test "x${gui_qml}" = "xyes" ; then
947 AC_DEFINE(USE_GUI_QML, 1, [Build with gui qml])
948 fi
949 AC_SUBST(QT_GUI_CFLAGS)
950 AC_SUBST(QT_GUI_LIBS)
951 AC_SUBST(QT_DECLARATIVE_CFLAGS)
952 AC_SUBST(QT_DECLARATIVE_LIBS)
953 AC_SUBST(QT_XML_CFLAGS)
954 AC_SUBST(QT_XML_LIBS)
955 AM_CONDITIONAL(GUI_QML, test "x${gui_qml}" = "xyes")
956
957 ## plugins
958 # pedestrian
959 AC_ARG_ENABLE(plugin-pedestrian, [ --enable-plugin-pedestrian enable pedestrian plugin], plugin_pedestrian=$enableval;plugin_pedestrian_reason="configure parameter")
960 AM_CONDITIONAL(PLUGIN_PEDESTRIAN, test "x${plugin_pedestrian}" = "xyes")
961
962 ## routing
963 AC_ARG_ENABLE(routing, [ --disable-routing disable routing], routing=$enableval;routing_reason="configure parameter")
964 AM_CONDITIONAL(ROUTING, test "x${routing}" = "xyes")
965 if test "x$routing" = "xyes"; then
966 AC_DEFINE([USE_ROUTING],[1],Define to 1 if you want to have routing.)
967 fi
968
969 ## speech
970 # android
971 AC_ARG_ENABLE(speech-android, [ --disable-speech-android disable speech type android], speech_android=$enableval;speech_android_reason="configure parameter")
972 AM_CONDITIONAL(SPEECH_ANDROID, test "x${speech_android}" = "xyes")
973 # cmdline
974 AC_ARG_ENABLE(speech-cmdline, [ --disable-speech-cmdline disable speech type cmdline], speech_cmdline=$enableval;speech_cmdline_reason="configure parameter")
975 AM_CONDITIONAL(SPEECH_CMDLINE, test "x${speech_cmdline}" = "xyes")
976 # espeak
977 AC_ARG_ENABLE(speech-espeak, [ --disable-speech-espeak disable speech type espeak], speech_espeak=$enableval;speech_espeak_reason="configure parameter")
978 AM_CONDITIONAL(SPEECH_ESPEAK, test "x${speech_espeak}" = "xyes")
979 # speech-dispatcher
980 AC_ARG_ENABLE(speech-speech-dispatcher, [ --disable-speech-speech-dispatcher disable speech type speech-dispatcher], speech_speech_dispatcher=$enableval;speech_speech_dispatcher_reason="configure parameter")
981 if test "x$speech_speech_dispatcher" = "xyes"; then
982 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")
983 fi
984 AC_SUBST(SPEECHD_CFLAGS)
985 AC_SUBST(SPEECHD_LIBS)
986 AM_CONDITIONAL(SPEECH_SPEECH_DISPATCHER, test "x${speech_speech_dispatcher}" = "xyes")
987 AM_CONDITIONAL(SUPPORT_ESPEAK, test "x${support_espeak}" = "xyes")
988
989 ## vehicle
990 # android
991 AC_ARG_ENABLE(vehicle-android, [ --disable-vehicle-android disable vehicle type android], vehicle_android=$enableval;vehicle_android_reason="configure parameter")
992 AM_CONDITIONAL(VEHICLE_ANDROID, test "x${vehicle_android}" = "xyes")
993 # demo
994 AC_ARG_ENABLE(vehicle-demo, [ --disable-vehicle-demo disable vehicle type demo], vehicle_demo=$enableval;vehicle_demo_reason="configure parameter")
995 AM_CONDITIONAL(VEHICLE_DEMO, test "x${vehicle_demo}" = "xyes")
996 # file
997 AC_ARG_ENABLE(vehicle-file, [ --disable-vehicle-file disable vehicle type file], vehicle_file=$enableval;vehicle_file_reason="configure parameter")
998 AM_CONDITIONAL(VEHICLE_FILE, test "x${vehicle_file}" = "xyes")
999 # gpsd
1000 AC_ARG_ENABLE(vehicle-gpsd, [ --disable-vehicle-gpsd disable vehicle type gpsd], vehicle_gpsd=$enableval;vehicle_gpsd_reason="configure parameter")
1001 if test "x${vehicle_gpsd}" = xyes
1002 then
1003 PKG_CHECK_MODULES([GPSD], [libgps], have_libgps="yes", have_libgps="no")
1004 if test "x$have_libgps" = "xyes"; then
1005 AC_DEFINE([HAVE_LIBGPS],[],Define to 1 if you have libgps.)
1006 PKG_CHECK_MODULES([LIBGPS19], [libgps >= 2.90], have_libgps19="yes", have_libgps19="no")
1007 if test "x$have_libgps19" = "xyes"; then
1008 AC_DEFINE([HAVE_LIBGPS19],[],Define to 1 if you have libgps19.)
1009 fi
1010 else
1011 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 and no gpsd pkgconfig" )
1012 fi
1013 fi
1014 AC_SUBST(GPSD_CFLAGS)
1015 AC_SUBST(GPSD_LIBS)
1016 AM_CONDITIONAL(VEHICLE_GPSD, [test "x${vehicle_gpsd}" = "xyes"])
1017 # gypsy
1018 AC_ARG_ENABLE(vehicle-gypsy,[ --disable-vehicle-gypsy disable vehicle type gypsy], vehicle_gypsy=$enableval;vehicle_gypsy_reason="configure parameter")
1019 if test "x${vehicle_gypsy}" = "xyes"
1020 then
1021 PKG_CHECK_MODULES(GYPSY, gypsy, ,vehicle_gypsy=no;vehicle_gypsy_reason="package gypsy missing")
1022 fi
1023 AC_SUBST(GYPSY_CFLAGS)
1024 AC_SUBST(GYPSY_LIBS)
1025 AM_CONDITIONAL(VEHICLE_GYPSY, test "x${vehicle_gypsy}" = "xyes")
1026 # maemo
1027 AC_ARG_ENABLE(vehicle-maemo, [ --disable-vehicle-maemo disable vehicle type maemo], vehicle_maemo=$enableval;vehicle_maemo_reason="configure parameter")
1028 if test "x${vehicle_maemo}" = "xyes" ; then
1029 PKG_CHECK_MODULES(LIBLOCATION, liblocation, [
1030 AC_SUBST(LIBLOCATION_CFLAGS)
1031 AC_SUBST(LIBLOCATION_LIBS)
1032 ], [
1033 AC_MSG_RESULT(no)
1034 vehicle_maemo=no
1035 vehicle_maemo_reason="no maemo location library found"
1036 ])
1037 fi
1038 AM_CONDITIONAL(VEHICLE_MAEMO, test "x${vehicle_maemo}" = "xyes")
1039 # null
1040 AC_ARG_ENABLE(vehicle-null, [ --enable-vehicle-null enable vehicle type null], vehicle_null=$enableval;vehicle_null_reason="configure parameter")
1041 AM_CONDITIONAL(VEHICLE_NULL, test "x${vehicle_null}" = "xyes")
1042 # wince
1043 AC_ARG_ENABLE(vehicle-wince, [ --disable-vehicle-wince disable vehicle type wince], vehicle_wince=$enableval;vehicle_wince_reason="configure parameter")
1044 AM_CONDITIONAL(VEHICLE_WINCE, test "x${vehicle_wince}" = "xyes")
1045 # iphone
1046 AC_ARG_ENABLE(vehicle-iphone, [ --disable-vehicle-iphone disable vehicle type iphone], vehicle_iphone=$enableval;vehicle_iphone_reason="configure parameter")
1047 AM_CONDITIONAL(VEHICLE_IPHONE, test "x${vehicle_iphone}" = "xyes")
1048 if test "x${vehicle_iphone}" = "xyes"
1049 then
1050 IPHONE_LIBS=-Wl,-framework,CoreLocation
1051 fi
1052 AC_SUBST(IPHONE_CFLAGS)
1053 AC_SUBST(IPHONE_LIBS)
1054 NAVIT_CFLAGS="$NAVIT_CFLAGS $GLIB_CFLAGS $GMODULE_CFLAGS"
1055 NAVIT_LIBS="$NAVIT_LIBS $GLIB_LIBS $GMODULE_LIBS $LIBINTL"
1056 AC_SUBST(NAVIT_CFLAGS)
1057 AC_SUBST(NAVIT_LIBS)
1058 AC_SUBST(WORDEXP_LIBS)
1059 AC_SUBST(LIBC_LIBS)
1060 AC_SUBST(WINDRES)
1061
1062 AC_CONFIG_FILES([
1063 Makefile
1064 navit/Makefile
1065 navit/autoload/Makefile
1066 navit/autoload/osso/Makefile
1067 navit/binding/Makefile
1068 navit/binding/python/Makefile
1069 navit/binding/dbus/Makefile
1070 navit/map/Makefile
1071 navit/map/mg/Makefile
1072 navit/map/textfile/Makefile
1073 navit/map/shapefile/Makefile
1074 navit/map/filter/Makefile
1075 navit/map/binfile/Makefile
1076 navit/map/garmin/Makefile
1077 navit/maptool/Makefile
1078 navit/fib-1.1/Makefile
1079 navit/font/Makefile
1080 navit/font/freetype/Makefile
1081 navit/fonts/Makefile
1082 navit/graphics/Makefile
1083 navit/graphics/android/Makefile
1084 navit/graphics/gd/Makefile
1085 navit/graphics/gtk_drawing_area/Makefile
1086 navit/graphics/opengl/Makefile
1087 navit/graphics/null/Makefile
1088 navit/graphics/sdl/Makefile
1089 navit/graphics/qt_qpainter/Makefile
1090 navit/graphics/win32/Makefile
1091 navit/gui/Makefile
1092 navit/gui/gtk/Makefile
1093 navit/gui/internal/Makefile
1094 navit/gui/win32/Makefile
1095 navit/gui/qml/Makefile
1096 navit/gui/qml/skins/Makefile
1097 navit/gui/qml/skins/navit/Makefile
1098 navit/osd/Makefile
1099 navit/osd/core/Makefile
1100 navit/plugin/Makefile
1101 navit/plugin/pedestrian/Makefile
1102 navit/speech/Makefile
1103 navit/speech/android/Makefile
1104 navit/speech/cmdline/Makefile
1105 navit/speech/dbus/Makefile
1106 navit/speech/espeak/Makefile
1107 navit/speech/speech_dispatcher/Makefile
1108 navit/support/Makefile
1109 navit/support/espeak/Makefile
1110 navit/support/ezxml/Makefile
1111 navit/support/glib/Makefile
1112 navit/support/libc/Makefile
1113 navit/support/libpng/Makefile
1114 navit/support/win32/Makefile
1115 navit/support/wordexp/Makefile
1116 navit/support/zlib/Makefile
1117 navit/vehicle/Makefile
1118 navit/vehicle/android/Makefile
1119 navit/vehicle/file/Makefile
1120 navit/vehicle/gpsd/Makefile
1121 navit/vehicle/gpsd_dbus/Makefile
1122 navit/vehicle/gypsy/Makefile
1123 navit/vehicle/maemo/Makefile
1124 navit/vehicle/null/Makefile
1125 navit/vehicle/demo/Makefile
1126 navit/vehicle/wince/Makefile
1127 navit/vehicle/iphone/Makefile
1128 navit/xpm/Makefile
1129 navit/maps/Makefile
1130 intl/Makefile
1131 po/Makefile
1132 man/Makefile
1133 ])
1134 #src/data/garmin_img/Makefile
1135
1136 AC_OUTPUT
1137
1138
1139 echo ""
1140 echo ""
1141 echo "Summary of your installation :"
1142 # FIXME : maybe elaborate missing dependencies
1143 if test x"$sdl" != xyes
1144 then
1145 sdl_failures="(libsdl maybe?) "
1146 fi
1147 if test x"$xmu" != xyes
1148 then
1149 sdl_failures=$sdl_failures"libxmu "
1150 fi
1151 if test x"$glut" != xyes
1152 then
1153 sdl_failures=$sdl_failures"glut "
1154 fi
1155 if test x"$glc" != xyes
1156 then
1157 sdl_failures=$sdl_failures"quesoglc "
1158 fi
1159 if test -z "$sdl_failures"
1160 then
1161 echo "OpenGL gui : ENABLED, with $CEGUI_LIBS"
1162 else
1163 echo "OpenGL gui : DISABLED : you are missing $sdl_failures"
1164 fi
1165 if test x"$enable_hildon" = xyes
1166 then
1167 echo "Maemo/Hildon: ENABLED"
1168 else
1169 echo "Maemo/Hildon: DISABLED"
1170 fi
1171 if test x"$enable_osso" = xyes
1172 then
1173 echo "Maemo/OSSO: ENABLED"
1174 else
1175 echo "Maemo/OSSO: DISABLED"
1176 fi
1177 if test x"${USE_GARMIN}" = xyes
1178 then
1179 if test "x$use_libgarmin" = "xyes"
1180 then
1181 echo "Garmin IMG : ENABLED"
1182 else
1183 echo "Garmin IMG : DISABLED (you don't have libgarmin)"
1184 fi
1185 else
1186 echo "Garmin IMG : DISABLED (you requested it)"
1187 fi
1188
1189 if test x"$LIBINTL" = "x" ;then
1190 nls_libs="system gettext support"
1191 else
1192 nls_libs="$LIBINTL"
1193 fi
1194 echo "Plugins: $plugins ($plugins_reason)"
1195 echo "Postgresql: $postgresql ($postgresql_reason)"
1196 echo "Samplemap: $samplemap ($samplemap_reason)"
1197 echo "NLS Support: $enable_nls ($nls_libs)"
1198 echo "Routing: $routing ($routing_reason)"
1199 echo "Font renderers:"
1200 echo " freetype: $font_freetype ($font_freetype_reason)"
1201 echo " FriBidi enabled: $fribidi ($fribidi_reason)"
1202
1203 echo "Graphics types: $graphics ($graphics_reason)"
1204 echo " android: $graphics_android ($graphics_android_reason)"
1205 echo " gtk_drawing_area: $graphics_gtk_drawing_area ($graphics_gtk_drawing_area_reason)"
1206 echo " null: $graphics_null ($graphics_null_reason)"
1207 echo " qt_qpainter: $graphics_qt_qpainter ($graphics_qt_qpainter_reason)"
1208 echo " win32: $graphics_win32 ($graphics_win32_reason)"
1209 echo " OpenGL: $graphics_opengl ($graphics_opengl_reason)"
1210 echo " gd: $graphics_gd ($graphics_gd_reason)"
1211 echo " sdl: $graphics_sdl ($graphics_sdl_reason)"
1212
1213 echo "GUI types:"
1214 echo " gtk: $gui_gtk ($gui_gtk_reason)"
1215 echo " internal: $gui_internal ($gui_internal_reason)"
1216 echo " win32: $gui_win32 ($gui_win32_reason)"
1217 echo " qml: $gui_qml ($gui_qml_reason)"
1218
1219 echo "Map types:"
1220 echo " binfile: $map_binfile ($map_binfile_reason)"
1221 echo " filter: $map_filter ($map_filter_reason)"
1222 echo " mg: $map_mg ($map_mg_reason)"
1223 echo " shapefile: $map_shapefile ($map_shapefile_reason)"
1224 echo " textfile: $map_textfile ($map_textfile_reason)"
1225
1226
1227 echo "Bindings:"
1228 echo " dbus: $binding_dbus ($binding_dbus_reason)"
1229 echo " python: $binding_python ($binding_python_reason)"
1230
1231 echo "OSD types:"
1232 echo " core: $osd_core ($osd_core_reason)"
1233
1234 echo "Plugins:"
1235 echo " pedestrian: $plugin_pedestrian ($plugin_pedestrian_reason)"
1236
1237 echo "Speech types:"
1238 echo " android: $speech_android ($speech_android_reason)"
1239 echo " cmdline: $speech_cmdline ($speech_cmdline_reason)"
1240 echo " dbus: $speech_dbus ($speech_dbus_reason)"
1241 echo " espeak: $speech_espeak ($speech_espeak_reason)"
1242 echo " speech_dispatcher: $speech_speech_dispatcher ($speech_speech_dispatcher_reason)"
1243
1244 echo "Vehicle types:"
1245 echo " android: $vehicle_android ($vehicle_android_reason)"
1246 echo " demo: $vehicle_demo ($vehicle_demo_reason)"
1247 echo " file: $vehicle_file ($vehicle_file_reason)"
1248 echo " gpsd: $vehicle_gpsd ($vehicle_gpsd_reason)"
1249 echo " gpsd_dbus: $vehicle_gpsd_dbus ($vehicle_gpsd_dbus_reason)"
1250 echo " gypsy: $vehicle_gypsy ($vehicle_gypsy_reason)"
1251 echo " maemo: $vehicle_maemo ($vehicle_maemo_reason)"
1252 echo " null: $vehicle_null ($vehicle_null_reason)"
1253 echo " wince: $vehicle_wince ($vehicle_wince_reason)"
1254 echo " iphone: $vehicle_iphone ($vehicle_iphone_reason)"
1255
1256 if test "x${gtk2_pkgconfig}" != "xyes" -a "x${gui_win32}" != "xyes" -a "x${gui_internal}" != "xyes" -a "x${gui_qml}" != "xyes"
1257 then
1258 echo ""
1259 echo ""
1260 echo "*** WARNING! you have no gui that can be built! ***"
1261 echo "Please install the dependency for at least gtk or sdl gui"
1262 echo "For more details, see the wiki at http://wiki.navit-project.org/"
1263 echo ""
1264 fi
1265
2 AC_INIT(navit, 0.2.0)
3 AC_CONFIG_MACRO_DIR([m4])
4 SOURCE_MODE=svn
5
6 AM_INIT_AUTOMAKE
7 AM_CONFIG_HEADER(config.h)
8 //输出自定义的SOURCE_MODE变量
9 AC_SUBST(SOURCE_MODE)
10 //如果检测到SOURCE_MODE_SVN运行模式,则定义宏SOURCE_MODE_SVN用于Makefile.am文件
11 AM_CONDITIONAL(SOURCE_MODE_SVN, [test "x${SOURCE_MODE}" = "xsvn"])
12
13 if test "x${SOURCE_MODE}" = "xsvn" ; then
14 USE_MAINTAINER_MODE=yes
15 else
16 USE_MAINTAINER_MODE=no
17 fi
18 //定义宏AM_MAINTAINER_MODE,
19 AC_DEFUN([AM_MAINTAINER_MODE],
20 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
21 dnl maintainer-mode is enabled by default (reason of inclusion of this function)
22 AC_ARG_ENABLE(maintainer-mode,
23 [ --enable-maintainer-mode enable make rules and dependencies not useful
24 (and sometimes confusing) to the casual installer],
25 USE_MAINTAINER_MODE=$enableval)
26 AC_MSG_RESULT([$USE_MAINTAINER_MODE])
27 AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
28 MAINT=$MAINTAINER_MODE_TRUE
29 AC_SUBST(MAINT)dnl
30 ]
31 )
32
33 AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
34
35 AM_MAINTAINER_MODE
36
37 plugins=yes; plugins_reason=default
38 postgresql=yes; postgresql_reason=default
39 samplemap=yes; samplemap_reason=default
40 binding_dbus=yes; binding_dbus_reason=default
41 binding_dbus_use_system_bus=no
42 binding_python=yes; binding_python_reason=default
43 font_freetype=yes; font_freetype_reason=default
44 fontconfig=yes; fontconfig_reason=default
45 fribidi=yes; fribidi_reason=default
46 gui_gtk=no; gui_gtk_reason=default
47 gui_win32=no; gui_win32_reason=default
48 gui_internal=yes; gui_internal_reason=default
49 gui_qml=no; gui_qml_reason=default
50 graphics=yes; graphics_reason=default
51 graphics_gd=no; graphics_gd_reason=default
52 graphics_gtk_drawing_area=no; graphics_gtk_drawing_area_reason=default
53 graphics_qt_qpainter=yes; graphics_qt_qpainter_reason=default
54 graphics_null=yes; graphics_null_reason=default
55 graphics_opengl=yes; graphics_opengl_reason=default
56 graphics_sdl=yes; graphics_sdl_reason=default
57 graphics_win32=no; graphics_win32_reason=default
58 maptool=yes; maptool_reason=default
59 map_binfile=yes; map_binfile_reason=default
60 map_filter=yes; map_filter_reason=default
61 map_mg=yes; map_mg_reason=default
62 map_shapefile=yes; map_shapefile_reason=default
63 map_textfile=yes; map_textfile_reason=default
64 osd_core=yes; osd_core_reason=default
65 plugin_pedestrian=no; plugin_pedestrian_reason=default
66 routing=yes; routing_reason=default
67 speech_android=no; speech_android_reason=default
68 speech_cmdline=yes; speech_cmdline_reason=default
69 speech_dbus=no; speech_dbus_reason=default
70 speech_espeak=no; speech_espeak_reason=default
71 speech_speech_dispatcher=yes; speech_speech_dispatcher_reason=default
72 vehicle_demo=yes; vehicle_demo_reason=default
73 vehicle_file=yes; vehicle_file_reason=default
74 vehicle_gpsd=yes; vehicle_gpsd_reason=default
75 vehicle_gpsd_dbus=no; vehicle_gpsd_dbus_reason=default
76 vehicle_gypsy=yes; vehicle_gypsy_reason=default
77 vehicle_null=no; vehicle_null_reason=default
78 vehicle_wince=no; vehicle_wince_reason=default
79 vehicle_iphone=no; vehicle_iphone_reason=default
80 vehicle_android=no; vehicle_android_reason=default
81 graphics_android=no; graphics_android_reason=default
82 vehicle_maemo=no; vehicle_maemo_reason=default
83
84 shared_libnavit=no
85 LIBNAVIT=navit
86 bin_navit=yes
87 //只执行AC_CANONICAL_SYSTEM中关于主机类型功能的子集
88 AC_CANONICAL_HOST
89 win32=no
90 win32ce=no
91 case $host_os in
92 wince|mingw32ce|cegcc)
93 win32=yes
94 win32ce=yes
95 AC_DEFINE(HAVE_API_WIN32_BASE, 1, [Have Windows Base API])
96 AC_DEFINE(HAVE_API_WIN32_CE, 1, [Have Windows CE API])
97 gui_win32=yes; gui_win32_reason="host_os is wince"
98 graphics_win32=yes; graphics_win32_reason="host_os is wince"
99 vehicle_wince=yes; vehcile_wince_reason="host_os is wince"
100 speech_espeak=yes; speech_espeak_reason="host_os is wince"
101 support_libpng=yes
102 maptool=no; maptool_reason="host_os is wince"
103 ;;
104 mingw32)
105 win32=yes
106 AC_DEFINE(HAVE_API_WIN32_BASE, 1, [Have Windows Base API])
107 AC_DEFINE(HAVE_API_WIN32, 1, [Have Windows API])
108 gui_win32=yes; gui_win32_reason="host_os is mingw32"
109 graphics_win32=yes; graphics_win32_reason="host_os is mingw32"
110 speech_espeak=yes; speech_espeak_reason="host_os is mingw32"
111 support_libpng=yes
112 ;;
113 linux*_android)
114 android=yes
115 shared_libnavit=yes
116 bin_navit=no
117 AC_DEFINE(HAVE_API_ANDROID, 1, [Have Android API])
118 echo "void dl_unwind_find_exidx(void) {}" >crt0.c
119 $CC -c crt0.c
120 $AR r libg.a crt0.o
121 vehicle_android=yes; vehicle_android_reason="host_os is android"
122 graphics_android=yes; graphics_android_reason="host_os is android"
123 speech_android=yes; speech_android_reason="host_os is android"
124 MODULE_LDFLAGS="-module -Xcompiler -nostdlib -Xcompiler -Wl,-rpath -Xcompiler -Wl,/data/data/org.navitproject.navit/lib"
125 MODULE_LIBADD="-llog"
126 LIBNAVIT=_data_data_org.navitproject.navit_lib_navit
127 NAVIT_MODULE_LDFLAGS="$MODULE_LDFLAGS -L\$(top_builddir)/navit -l$LIBNAVIT"
128 ;;
129 esac
130 if test "x$win32" = "xyes"
131 then
132 NAVIT_CFLAGS="$NAVIT_CFLAGS -I\$(top_srcdir)/navit/support/win32"
133 NAVIT_LIBS="$NAVIT_LIBS -L\$(top_builddir)/navit/support/win32 -lsupport_win32"
134 fi
135
136
137 AM_CONDITIONAL(SUPPORT_WIN32, [test "x$win32" = "xyes"])
138 AM_CONDITIONAL(SUPPORT_WIN32CE, [test "x$win32ce" = "xyes"])
139 AM_CONDITIONAL(SUPPORT_ANDROID, [test "x$android" = "xyes"])
140
141 if test "x$support_libpng" = "xyes"
142 then
143 NAVIT_CFLAGS="$NAVIT_CFLAGS -I\$(top_srcdir)/navit/support/libpng"
144 NAVIT_LIBS="$NAVIT_LIBS -L\$(top_builddir)/navit/support/libpng -lsupport_libpng"
145 fi
146 AM_CONDITIONAL(SUPPORT_LIBPNG, [test "x$support_libpng" = "xyes"])
147
148 AC_SUBST(MODULE_LDFLAGS)
149 AC_SUBST(MODULE_LIBADD)
150 AC_SUBST(NAVIT_MODULE_LDFLAGS)
151
152 LIBS="$LIBS -lm"
153 if test "$win32" == "no" -a test "$host_os" != "cygwin"; then
154 LIBS="$LIBS -rdynamic"
155 fi
156
157 m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],
158 [AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_GNU_SOURCE])])
159
160 AC_USE_SYSTEM_EXTENSIONS
161
162 m4_ifdef([AC_PROG_OBJC],[AC_PROG_OBJC])
163 AC_PROG_CC
164 m4_ifdef([AC_PROG_OBJC],[AC_PROG_OBJC],[AC_SUBST([OBJC],["$CC"])
165 AC_SUBST([OBJCFLAGS],["$CFLAGS"])])
166 m4_ifndef([AC_PROG_OBJC],[_AM_DEPENDENCIES(OBJC)])
167
168 if eval "test x`uname` = xDarwin"; then
169 CFLAGS="$CFLAGS -I/opt/local/include -L/opt/local/lib"
170 fi
171 if eval "test x$GCC = xyes"; then
172 CFLAGS="$CFLAGS -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE"
173 fi
174 AM_PROG_CC_C_O
175
176 AC_PROG_CXX
177 if eval "test x$GXX = xyes"; then
178 CXXFLAGS="$CXXFLAGS -Wall -Wcast-align -Wpointer-arith -Wreturn-type -D_GNU_SOURCE"
179 fi
180
181 PKG_CHECK_EXISTS
182 if test "x${cross_compiling}" = "xyes"; then
183 samplemap="no";samplemap_reason="not supported for cross compiling"
184 binding_python="no";binding_python_reason="not supported for cross compiling"
185 postgresql="no";postgresql_reason="not supported for cross compiling"
186 AC_MSG_CHECKING([for a C compiler for build tools])
187 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
188 else
189 CC_FOR_BUILD=$CC
190 fi
191 CCLD_FOR_BUILD="$CC_FOR_BUILD"
192 AC_SUBST(cross_compiling)
193 AM_CONDITIONAL(CROSS_COMPILING, test "x${cross_compiling}" = "xyes")
194 AC_SUBST(CC_FOR_BUILD)
195 AC_SUBST(CCLD_FOR_BUILD)
196
197 # Endianness
198 # defines WORDS_BIGENDIAN for big-endian systems
199 AC_C_BIGENDIAN
200
201 AC_ARG_ENABLE(variant, [ --enable-variant=something set variant], NAVIT_VARIANT=$enableval)
202 AC_SUBST(NAVIT_VARIANT)
203
204 AC_ARG_ENABLE(cache-size, [ --enable-cache-size=size in bytes set cache size], AC_DEFINE_UNQUOTED(CACHE_SIZE,[${enableval}], [Size of Cache in Bytes]))
205
206 AC_ARG_ENABLE(avoid-unaligned, [ --enable-avoid-unaligned avoid unaligned accesses], AVOID_UNALIGNED=$enableval, AVOID_UNALIGNED=no)
207 test x"${AVOID_UNALIGNED}" = xyes && AC_DEFINE(AVOID_UNALIGNED,[],Define to avoid unaligned access)
208
209 AC_ARG_ENABLE(avoid-float, [ --enable-avoid-float avoid floating point calculations], AVOID_FLOAT=$enableval, AVOID_FLOAT=no)
210 test x"${AVOID_FLOAT}" = xyes && AC_DEFINE(AVOID_FLOAT,[],Define to avoid floating point)
211
212 AC_ARG_ENABLE(transformation-roll, [ --enable-transformation-roll add support for specifying roll angle in transformation], ENABLE_ROLL=$enableval, ENABLE_ROLL=no)
213 test x"${ENABLE_ROLL}" = xyes && AC_DEFINE(ENABLE_ROLL,[],Define to add support for specifying roll angle in transformation)
214
215 AC_ARG_ENABLE(hildon, [ --disable-hildon build without maemo/hildon support], enable_hildon=$enableval, enable_hildon=yes)
216 if test "x${enable_hildon}" = "xyes" ; then
217 PKG_CHECK_MODULES(HILDON, hildon-1 >= 0.9.9, , [
218 AC_MSG_RESULT(no)
219 enable_hildon=no
220 ])
221 PKG_CHECK_MODULES(GPSBT, gpsbt, [
222 AC_DEFINE(HAVE_GPSBT, 1, [Have the gpsbt library])
223 AC_SUBST(GPSBT_CFLAGS)
224 AC_SUBST(GPSBT_LIBS)
225 ], [
226 AC_MSG_RESULT(no)
227 ])
228 if test x"${enable_hildon}" = xyes ; then
229 AC_DEFINE(USE_HILDON, 1, [Build with maemo/hildon support])
230 AC_SUBST(HILDON_CFLAGS)
231 AC_SUBST(HILDON_LIBS)
232 fi
233 fi
234 AM_CONDITIONAL(USE_HILDON, test "${enable_hildon}" = "xyes")
235
236 AC_ARG_ENABLE(osso, [ --disable-osso build without maemo/osso support], enable_osso=$enableval, enable_osso=yes)
237 if test "x${enable_osso}" = "xyes" ; then
238 PKG_CHECK_MODULES(LIBOSSO, libosso, , [
239 AC_MSG_RESULT(no)
240 enable_osso=no
241 ])
242 if test x"${enable_osso}" = xyes ; then
243 AC_DEFINE(USE_OSSO, 1, [Build with maemo/osso support])
244 AC_SUBST(LIBOSSO_CFLAGS)
245 AC_SUBST(LIBOSSO_LIBS)
246 fi
247 fi
248 echo ${enable_osso}
249 AM_CONDITIONAL(USE_OSSO, test "x${enable_osso}" = "xyes")
250
251 AC_ARG_ENABLE(garmin, [ --disable-garmin disable garmin support], USE_GARMIN=$enableval, USE_GARMIN=yes)
252
253 # samplemap
254 AC_PATH_PROG(_PATH_BZCAT,[bzcat])
255 if test "x${_PATH_BZCAT}" = "x" ; then
256 samplemap=no; samplemap_reason="bzcat missing"
257 fi
258 AC_ARG_ENABLE(maptool, [ --disable-maptool don't build maptool], maptool=$enableval;maptool_reason="configure parameter")
259 AM_CONDITIONAL(MAPTOOL, [test "x$maptool" = "xyes"])
260 if test "x$maptool" != "xyes"; then
261 samplemap=no; samplemap_reason="maptool disabled"
262 fi
263 AC_ARG_ENABLE(samplemap, [ --disable-samplemap don't build the samplemap], samplemap=$enableval;samplemap_reason="configure parameter")
264 AM_CONDITIONAL(BUILD_SAMPLEMAP, [test "x$samplemap" = "xyes"])
265
266 AC_ARG_ENABLE(fastmath, [ --disable-fastmath don't build with fastmath], fastmath=$enableval, fastmath=yes)
267 AM_CONDITIONAL(FASTMATH, [test "x$fastmath" = "xyes"])
268
269 if test x"$fastmath" = xyes; then
270 if eval "test x$GCC = xyes"; then
271 CFLAGS="$CFLAGS -ffast-math"
272 fi
273 fi
274
275 X_CFLAGS="-I$x_includes"
276 AS_IF([test -n "$ac_x_libraries"], [X_LIBS="-L$ac_x_libraries"])
277
278 # glib
279 AC_ARG_ENABLE(glib, [ --disable-glib don't build with external glib], glib=$enableval, glib=yes)
280 if test "x${glib}" = "xyes" -a "x${GLIB_CFLAGS}" = "x" -a "x${GLIB_LIBS}" = "x"; then
281 PKG_CHECK_MODULES(GLIB, [glib-2.0 gthread-2.0], [glib=yes],[glib=no])
282 fi
283 if test "x${glib}" = "xyes"; then
284 AC_DEFINE(HAVE_GLIB, 1, [Define to 1 if you have (external) glib library])
285 else
286 GLIB_CFLAGS="-I\$(top_srcdir)/navit/support -I\$(top_srcdir)/navit/support/glib -I\$(top_srcdir)/navit/support/ezxml"
287 GLIB_LIBS="-L\$(top_builddir)/navit/support/glib -lsupport_glib -L\$(top_builddir)/navit/support/ezxml -lsupport_ezxml"
288 if test "x${win32}" != "xyes" -a "x${android}" != "xyes"; then
289 GLIB_LIBS="$GLIB_LIBS -lpthread"
290 fi
291 fi
292
293 # gmodule
294 AC_ARG_ENABLE(gmodule, [ --disable-gmodule don't build with gmodule], gmodule=$enableval, gmodule=yes)
295 if test x"${gmodule}" = "xyes"; then
296 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0], [gmodule=yes], [gmodule=no])
297 fi
298 if test "x${gmodule}" = "xyes"; then
299 AC_DEFINE(HAVE_GMODULE, 1, [Define to 1 if you have gmodule])
300 else
301 AC_CHECK_LIB(dl, dlopen,
302 [plugins_reason="default, via dlopen";GMODULE_LIBS="-ldl";AC_DEFINE(HAVE_DLOPEN, 1, [Define to 1 if you have dlopen])],
303 [plugins="no"; plugins_reason="package gmodule and dlopen missing"]
304 )
305 fi
306
307 # libcrypto
308 AC_CHECK_LIB(crypto, AES_encrypt, [CRYPTO_LIBS="-lcrypto";AC_DEFINE(HAVE_LIBCRYPTO, 1, [Define to 1 if you have libcrypto])])
309 AC_SUBST(CRYPTO_LIBS)
310
311 # plugins
312 AC_ARG_ENABLE(plugins, [ --disable-plugins disable plugins], [ plugins=$enableval;plugin_reason="configure parameter" ])
313 AC_ARG_ENABLE(shared-libnavit, [ --enable-shared-libnavit], [ shared_libnavit=$enableval])
314 if test "x${plugins}" = "xyes"; then
315 AC_ENABLE_SHARED
316 AC_DISABLE_STATIC
317 AC_DEFINE(
318 [USE_PLUGINS],
319 [],
320 Define to 1 if you have plugins.
321 )
322 if test "x${win32}" = "xyes"; then
323 shared_libnavit=yes
324 NAVIT_MODULE_LDFLAGS="-no-undefined -L\$(top_builddir)/navit -l$LIBNAVIT -L\$(top_builddir)/intl -lintl"
325 fi
326 else
327 if test "x${shared_libnavit}" = "xyes"; then
328 AC_ENABLE_SHARED
329 AC_DISABLE_STATIC
330 else
331 AC_DISABLE_SHARED
332 AC_ENABLE_STATIC
333 fi
334 fi
335 AM_CONDITIONAL(PLUGINS, [test "x$plugins" = "xyes"])
336 AM_CONDITIONAL(SHARED_LIBNAVIT, [test "x$shared_libnavit" = "xyes"])
337 AM_CONDITIONAL(BIN_NAVIT, [test "x$bin_navit" = "xyes"])
338 AC_PROG_LIBTOOL
339 AC_SUBST(LIBNAVIT)
340
341 AM_CONDITIONAL(EVENT_GLIB, [test "x$glib" = "xyes"])
342 AM_CONDITIONAL(SUPPORT_GLIB, [test "x$glib" = "xno"])
343 AM_CONDITIONAL(SUPPORT_EZXML, [test "x$glib" = "xno"])
344
345 if test "x${ZLIB_CFLAGS}" = "x" -a "x${ZLIB_LIBS}" = "x"; then
346 AC_CHECK_HEADER(
347 zlib.h,
348 AC_DEFINE(
349 [HAVE_ZLIB],
350 [],
351 Define to 1 if you have the <zlib.h> header file.
352 )
353 ZLIB_LIBS="-lz"
354 zlib=yes,
355 ZLIB_CFLAGS="-I\$(top_srcdir)/navit/support/zlib"
356 ZLIB_LIBS="-L\$(top_builddir)/navit/support/zlib -lsupport_zlib"
357 zlib=no
358 )
359 else
360 zlib=yes
361 fi
362 AM_CONDITIONAL(SUPPORT_ZLIB, [test "x$zlib" = "xno"])
363 AC_SUBST(ZLIB_CFLAGS)
364 AC_SUBST(ZLIB_LIBS)
365
366 AC_CHECK_HEADER(sys/socket.h, AC_DEFINE([HAVE_SOCKET],[],Define to 1 if you have sockets))
367
368 # gtk
369 PKG_CHECK_MODULES(GTK2, [gtk+-2.0], [gtk2_pkgconfig=yes], [gtk2_pkgconfig=no])
370 if test "x$gtk2_pkgconfig" = "xyes"; then
371 AC_DEFINE(HAVE_GTK2, 1, [Define to 1 if you have gtk2])
372 graphics_gtk_drawing_area=yes; graphics_gtk_drawing_area_reason="gtk+-2.0 present"
373 gui_gtk=yes; gui_gtk_reason="gtk+-2.0 present"
374 fi
375
376 # fsync
377 AC_MSG_CHECKING(for fsync)
378 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))
379
380 # system
381 AC_MSG_CHECKING(for system)
382 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))
383
384 AC_MSG_CHECKING(for CreateProcess)
385 AC_TRY_LINK([#include <windows.h>], [CreateProcess(NULL,NULL,NULL,NULL,0,0,NULL,NULL,NULL,NULL);],AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CREATEPROCESS, 1, [Define to 1 if you have the `CreateProcess' function.]) speech_cmdline=yes; speech_cmdline_reason="CreateProcess exists", AC_MSG_RESULT(no))
386
387 AC_ARG_ENABLE(graphics-sdl, [ --disable-graphics-sdl don't create graphics sdl], graphics_sdl=$enableval;graphics_sdl_reason="configure parameter")
388
389 if test "x${graphics_sdl}" = "xyes" ; then
390 PKG_CHECK_MODULES(SDL,
391 [sdl],
392 [graphics_sdl="yes"
393 graphics_sdl_reason="sdl present"] ,
394 [graphics_sdl="no"
395 graphics_sdl_reason="sdl not available"]
396 )
397 AC_SUBST(SDL_CFLAGS)
398 AC_SUBST(SDL_LIBS)
399 fi
400 if test "x${graphics_sdl}" = "xyes" ; then
401 save_CPPFLAGS=$CPPFLAGS
402 CPPFLAGS="$SDL_CFLAGS $CPPFLAGS"
403 AC_CHECK_HEADER(SDL_image.h,SDL_IMAGE_LIBS=-lSDL_image,graphics_sdl="no";graphics_sdl_reason="SDL_image.h missing")
404 AC_SUBST(SDL_IMAGE_LIBS)
405 CPPFLAGS=$save_CPPFLAGS
406 fi
407 if test "x${graphics_sdl}" = "xyes" ; then
408 AC_DEFINE(USE_GRAPHICS_SDL, 1, [Build with graphics sdl])
409 fi
410 AM_CONDITIONAL(USE_GRAPHICS_SDL, test "x${graphics_sdl}" = "xyes")
411
412 AC_ARG_ENABLE(postgresql, [ --disable-postgresql don't add postgresql support to maptool], postgresql=$enableval;postgresql_reason="configure parameter")
413 if test "x${postgresql}" = "xyes" ; then
414 if test -z "$PG_CONFIG"; then
415 AC_PATH_PROG([PG_CONFIG], [pg_config], [])
416 fi
417 AC_MSG_CHECKING([for PostgreSQL libraries with $PG_CONFIG])
418 if test ! -x "$PG_CONFIG"; then
419 if test "x${PG_CONFIG}" = "x" ; then
420 postgresql_reason="$PG_CONFIG not executable"
421 else
422 postgresql_reason="pg_config missing"
423 fi
424 postgresql=no
425 AC_MSG_RESULT([no])
426 else
427 POSTGRESQL_CFLAGS="-I`$PG_CONFIG --includedir`"
428 POSTGRESQL_LIBS="-L`$PG_CONFIG --libdir` -lpq"
429 AC_DEFINE(HAVE_POSTGRESQL, 1, [Postgresql libraries available])
430 AC_SUBST(POSTGRESQL_CFLAGS)
431 AC_SUBST(POSTGRESQL_LIBS)
432 AC_MSG_RESULT([yes])
433 fi
434 fi
435 AM_CONDITIONAL(HAVE_POSTGRESQL, test "x${postgresql}" = "xyes")
436 # font
437 # freetype
438 AC_ARG_ENABLE(font-freetype, [ --disable-font-freetype don't add freetype support], font_freetype=$enableval;font_freetype_reason="configure parameter")
439 if test "x${font_freetype}" = "xyes" -a "x${FREETYPE2_CFLAGS}" = "x" -a "x${FREETYPE2_LIBS}" = "x"; then
440 PKG_CHECK_MODULES(FREETYPE2, [freetype2], , [font_freetype=no;font_freetype_reason="Package freetype2 missing"])
441 else
442 fribidi=no
443 fi
444 AC_SUBST(FREETYPE2_CFLAGS)
445 AC_SUBST(FREETYPE2_LIBS)
446 AM_CONDITIONAL(FONT_FREETYPE, test "x${font_freetype}" = "xyes")
447 AC_ARG_WITH(freetype-fonts, [ --with-freetype-fonts specify what fonts to use], AC_DEFINE_UNQUOTED(FREETYPE_FONTS,[${withval}],[Freetype fonts to use]))
448
449 AC_ARG_ENABLE(fontconfig, [ --disable-fontconfig don't add fontconfig support], fontconfig=$enableval;fontconfig_reason="configure parameter")
450 if test "x${fontconfig}" = "xyes"; then
451 PKG_CHECK_MODULES(FONTCONFIG, [fontconfig], [fontconfig=yes], [fontconfig=no])
452 fi
453 if test "x$fontconfig" = "xyes"; then
454 AC_DEFINE(HAVE_FONTCONFIG, 1, [Define to 1 if you have fontconfig])
455 fi
456 AC_SUBST(FONTCONFIG_CFLAGS)
457 AC_SUBST(FONTCONFIG_LIBS)
458
459 AM_CONDITIONAL(FONTS, test "x${font_freetype}" = "xyes" -a "x$fontconfig" != "xyes")
460
461 # fribidi
462 AC_ARG_ENABLE(fribidi, [ --disable-fribidi dont build with fribidi], fribidi=$enableval;fribidi_reason="configure parameter", fribidi=yes)
463 if test x"${fribidi}" = "xyes"; then
464 PKG_CHECK_MODULES(FRIBIDI, [fribidi], [fribidi=yes], [fribidi=no;fribidi_reason="FriBidi library not found"])
465 fi
466 if test x"${fribidi}" = "xyes"; then
467 AC_DEFINE(USE_FRIBIDI, 1, [Build with fribidi support])
468 fi
469 AC_SUBST(FRIBIDI_CFLAGS)
470 AC_SUBST(FRIBIDI_LIBS)
471
472 PKG_CHECK_MODULES(IMLIB2, [imlib2], [imlib2_pkgconfig=yes], [imlib2_pkgconfig=no])
473 if test "x$imlib2_pkgconfig" = "xyes"; then
474 AC_DEFINE(HAVE_IMLIB2, 1, [Define to 1 if you have imlib2])
475 fi
476 AC_SUBST(IMLIB2_CFLAGS)
477 AC_SUBST(IMLIB2_LIBS)
478
479
480
481 AC_ARG_ENABLE(gui-sdl, [ --disable-gui-sdl don't create gui sdl ], MODULE_GUI_SDL=$enableval, MODULE_GUI_SDL=yes)
482 if test "x$MODULE_GUI_SDL" = "xyes"; then
483 AC_CHECK_HEADER(
484 SDL/SDL.h,
485 AC_DEFINE(
486 [HAVE_LIBSDL],
487 [],
488 Define to 1 if you have the <SDL/SDL.h> header file.
489 )
490 SDL_LIBS="-lSDL"
491 sdl=yes,
492 AC_MSG_WARN([*** no SDL/SDL.h -- SDL support disabled])
493 )
494 fi
495
496 AC_CHECK_HEADER(
497 X11/Xmu/Xmu.h,
498 AC_DEFINE(
499 [HAVE_XMU],
500 [],
501 Define to 1 if you have the <X11/Xmu/Xmu.h> header file.
502 )
503 xmu=yes,
504 AC_MSG_WARN([*** no X11/Xmu/Xmu.h -- opengl and SDL support disabled])
505 )
506
507 AC_ARG_ENABLE(graphics-opengl, [ --disable-graphics-opengl disable graphics type OpenGL], graphics_opengl=$enableval;graphics_opengl_reason="configure parameter")
508 if test "x${graphics_opengl}" = "xyes" ; then
509
510 AC_CHECK_HEADER(
511 GL/gl.h,
512 AC_DEFINE(
513 [HAVE_OPENGL],
514 [],
515 Define to 1 if you have the <GL/gl.h> header file.
516 )
517 OPENGL_LIBS="$X_LIBS -lGL -lGLU"
518 opengl=yes,
519 AC_MSG_WARN([*** no GL/gl.h -- opengl and SDL support disabled];graphics_opengl=no;graphics_opengl_reason="Headers missing")
520 )
521
522 AC_CHECK_HEADER(
523 GL/glut.h,
524 AC_DEFINE(
525 [HAVE_GLUT],
526 [],
527 Define to 1 if you have the <GL/glut.h> header file.
528 )
529 glut=yes,
530 AC_MSG_WARN([*** no GL/glut.h -- opengl and SDL support disabled]);graphics_opengl=no;graphics_opengl_reason="Headers missing"
531 )
532
533 AC_SUBST(OPENGL_CFLAGS)
534 AC_SUBST(OPENGL_LIBS)
535
536 AC_CHECK_HEADER(
537 GL/glc.h,
538 AC_DEFINE(
539 [HAVE_GLC],
540 [],
541 Define to 1 if you have the <GL/glc.h> header file.
542 )
543 GLC_LIBS="-lGLC"
544 glc=yes,
545 AC_MSG_WARN([*** no GL/glc.h -- opengl and SDL support disabled])
546 )
547 AC_SUBST(GLC_CFLAGS)
548 AC_SUBST(GLC_LIBS)
549 fi
550
551 AM_CONDITIONAL(GUI_SDL, [test "x$sdl" = "xyes" -a "x$opengl" = "xyes" -a "x$glc" = "xyes" -a "x$xmu" = "xyes" ])
552 AM_CONDITIONAL(GRAPHICS_OPENGL, [test "x$glut" = "xyes" -a "x$opengl" = "xyes" -a "x$glc" = "xyes" ])
553
554 system_shapefile=no
555 AC_CHECK_HEADERS(
556 [shapefil.h libshp/shapefil.h],
557 AC_DEFINE(
558 [HAVE_SYS_SHAPEFILELIB],
559 [1],
560 Define to 1 if you have the <libshp/shapefil.h> header file.
561 )
562 SHAPEFILE_LIBS="-lshp"
563 system_shapefile=yes
564 )
565 AC_SUBST(SHAPEFILE_CFLAGS)
566 AC_SUBST(SHAPEFILE_LIBS)
567 AM_CONDITIONAL(HAVE_SYSTEM_SHAPEFILELIB, [test "x$system_shapefile" = "xyes" ])
568 if test x"${system_shapefile}" = xno
569 then
570 AC_MSG_WARN([*** no libshp/shapefil.h -- using included copy])
571 fi
572
573
574 if test x"${USE_GARMIN}" = xyes
575 then
576 # check for libgarmin
577 PKG_CHECK_MODULES(LIBGARMIN, libgarmin, use_libgarmin=yes, use_libgarmin=no)
578 AC_SUBST(LIBGARMIN_CFLAGS)
579 AC_SUBST(LIBGARMIN_LIBS)
580 fi
581 AM_CONDITIONAL(HAVELIBGARMIN, [test "x$use_libgarmin" = "xyes"])
582
583 ## binding
584 # python
585 AC_ARG_ENABLE(binding-python, [ --disable-binding-python don't create binding python], binding_python=$enableval;binding_python_reason="configure parameter")
586 if test "x${binding_python}" = "xyes"; then
587 AC_PATH_PROG(_PATH_PYTHON,[python])
588 dnl Libraries and flags for embedded Python.
589 dnl FIXME: I wish there was a less icky way to get this.
590 if test "x${_PATH_PYTHON}" != "x" ; then
591 AC_MSG_CHECKING(for Python linkage)
592 AC_PATH_PROG([PYTHONCONFIG], [python-config], [])
593 if test "x${PYTHONCONFIG}" = "x" ; then
594 py_prefix=`$_PATH_PYTHON -c 'import sys; print sys.prefix'`
595 py_ver=`$_PATH_PYTHON -c 'import sys; print sys.version[[:3]]'`
596 py_lib=`$_PATH_PYTHON -c 'import sys; print sys.lib'`
597 py_libdir="${py_prefix}/${py_lib}/python${py_ver}"
598 PYTHON_CFLAGS="-I${py_prefix}/include/python${py_ver}"
599 if test -f $py_libdir/config/Makefile -a -f $py_prefix/include/python${py_ver}/Python.h; then
600 py_libs=`grep '^LIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
601 py_libc=`grep '^LIBC=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
602 py_libm=`grep '^LIBM=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
603 py_liblocalmod=`grep '^LOCALMODLIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
604 py_libbasemod=`grep '^BASEMODLIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'`
605 PYTHON_LIBS="-L$py_libdir/config $py_libs $py_libc $py_libm -lpython$py_ver $py_liblocalmod $py_libbasemod"
606 PYTHON_LIBS=`echo $PYTHON_LIBS | sed -e 's/[ \\t]*/ /g'`
607 AC_MSG_RESULT($py_libdir)
608 else
609 binding_python="no"
610 binding_python_reason="$py_libdir/config/Makefile or $py_prefix/include/python${py_ver}/Python.h missing"
611 fi
612
613 else
614 PYTHON_CFLAGS="`${PYTHONCONFIG} --cflags`"
615 PYTHON_LIBS="`${PYTHONCONFIG} --ldflags`"
616 fi
617 else
618 binding_python="no"
619 binding_python_reason="python executable missing"
620 fi
621 fi
622 if test "x${binding_python}" = xyes ; then
623 AC_DEFINE(USE_BINDING_PYTHON, 1, [Build with binding python])
624 fi
625 AC_SUBST(PYTHON_CFLAGS)
626 AC_SUBST(PYTHON_LIBS)
627 AM_CONDITIONAL(BINDING_PYTHON, test "x${binding_python}" = "xyes")
628
629 # dbus
630 AC_ARG_ENABLE(binding-dbus, [ --disable-binding-dbus don't create binding dbus], binding_dbus=$enableval;binding_dbus_reason="configure parameter")
631 AC_ARG_ENABLE(binding-dbus-use-system-bus, [ --enable-binding-dbus-use-system-bus use system bus for dbus binding], binding_dbus_use_system_bus=$enableval)
632 if test "x${binding_dbus}" = "xyes" ; then
633 PKG_CHECK_MODULES(DBUS, [dbus-glib-1], ,binding_dbus=no)
634 fi
635 if test "x${binding_dbus}" = "xyes" ; then
636 AC_DEFINE(USE_BINDING_DBUS, 1, [Build with binding dbus])
637 vehicle_gpsd_dbus="yes"
638 vehicle_gpsd_dbus_reason="dbus binding present"
639 speech_dbus="yes"
640 speech_dbus_reason="dbus binding present"
641 fi
642 if test "x${binding_dbus_use_system_bus}" = "xyes" ; then
643 AC_DEFINE(DBUS_USE_SYSTEM_BUS, 1, [Use system bus instead of session bus for binding dbus])
644 fi
645 AC_SUBST(DBUS_CFLAGS)
646 AC_SUBST(DBUS_LIBS)
647 AM_CONDITIONAL(BINDING_DBUS, test "x${binding_dbus}" = "xyes")
648 AM_CONDITIONAL(VEHICLE_GPSD_DBUS, test "x${vehicle_gpsd_dbus}" = "xyes")
649 AM_CONDITIONAL(SPEECH_DBUS, test "x${speech_dbus}" = "xyes")
650 AC_ARG_WITH(dbus-service-dir, [ --with-dbus-service-dir specify where the dbus service dir resides], DBUS_SERVICE_DIR=$withval, DBUS_SERVICE_DIR="$datarootdir/dbus-1/services")
651 AC_SUBST(DBUS_SERVICE_DIR)
652
653 # svg
654 AC_ARG_ENABLE(svg, [ --disable-svg disable Scalable Vector Graphics], enable_svg=$enableval, enable_svg=yes)
655 AC_ARG_ENABLE(svg2png, [ --disable-svg2png disable conversion of svgs to pngs], enable_svg2png=$enableval, enable_svg2png=yes)
656 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")
657 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="8 16 32 48 96")
658 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="8 16 32 48 96")
659 AC_ARG_WITH(svg2png-use-convert, [ --with-svg2png-use-convert use imagemagick's convert for png creation], SVG2PNG_CONVERTER="convert")
660 AC_ARG_WITH(svg2png-use-rsvg-convert, [ --with-svg2png-use-rsvg-convert use librsvg's rsvg-convert for png creation], SVG2PNG_CONVERTER="rsvg-convert")
661 AC_ARG_WITH(svg2png-use-inkscape, [ --with-svg2png-use-inkscape use inkscapes internal convert routines for png creation], SVG2PNG_CONVERTER="inkscape")
662 AC_ARG_WITH(svg2png-use-ksvgtopng4, [ --with-svg2png-use-ksvgtopng4 use kde4's ksvgtopng4 for png creation], SVG2PNG_CONVERTER="ksvgtopng4")
663 AC_ARG_WITH(svg2png-use-ksvgtopng, [ --with-svg2png-use-ksvgtopng use kde3's convert for png creation], SVG2PNG_CONVERTER="ksvgtopng")
664 if test "x${enable_svg2png}" = "xyes" ; then
665 if test "x${SVG2PNG_CONVERTER}" = "x"; then
666 SVG2PNG_CONVERTER="rsvg-convert ksvgtopng ksvgtopng4 inkscape convert"
667 fi
668 AC_PATH_PROGS([SVG2PNG], ${SVG2PNG_CONVERTER}, [none])
669 if test "x${SVG2PNG}" = "xnone"; then
670 enable_svg2png="no"
671 fi
672 fi
673 AC_SUBST(SVG2PNG)
674 AC_SUBST(SVG2PNG_SCALES)
675 AC_SUBST(SVG2PNG_SCALES_FLAG)
676 AC_SUBST(SVG2PNG_SCALES_NAV)
677 AM_CONDITIONAL(USE_SVG2PNG_SCALES, test "x${SVG2PNG_SCALES}" != "xyes" -a "x${SVG2PNG_SCALES}" != "x")
678 AM_CONDITIONAL(USE_SVG2PNG_SCALES_FLAG, test "x${SVG2PNG_SCALES_FLAG}" != "xyes" -a "x${SVG2PNG_SCALES_FLAG}" != "x")
679 AM_CONDITIONAL(USE_SVG2PNG_SCALES_NAV, test "x${SVG2PNG_SCALES_NAV}" != "xyes" -a "x${SVG2PNG_SCALES_NAV}" != "x")
680 AM_CONDITIONAL(USE_SVG2PNG, test "x${enable_svg2png}" = "xyes")
681 AM_CONDITIONAL(USE_SVG, test "x${enable_svg}" = "xyes")
682
683 # XSLTS
684 AC_ARG_WITH(xslts, [ --with-xslts enable processing of navit.xml with given xslt scripts], XSLTS=$withval, XSLTS="")
685 AC_SUBST(XSLTS)
686 AC_ARG_WITH(saxon, [ --with-saxon specify the saxon xslt processor], SAXON=$withval, SAXON="saxon")
687 AC_SUBST(SAXON)
688
689 # Android Permissions
690 AC_ARG_WITH(android-permissions, [ --with-android-permissions Set additional android permissions], ANDROID_PERMISSIONS=$withval, ANDROID_PERMISSIONS="")
691 AC_SUBST(ANDROID_PERMISSIONS)
692
693 # NLS
694
695 AC_ARG_ENABLE(nls,
696 [ --disable-nls disable Native Language Support ( gettext/libintl )],
697 enable_nls=$enableval, enable_nls=yes)
698
699
700 INTLIBS=""
701 MOFILES=""
702 POFILES=""
703 POIFILES=""
704 LINGUAS=""
705
706 xgettext_glade=no
707 if test "x$enable_nls" = "xyes"; then
708
709 AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"],[INTLIBS="-lintl" HAVEGETTEXT="yes"])
710 AC_CHECK_PROG(XGETTEXT, xgettext, xgettext)
711 AC_CHECK_PROG(MSGMERGE, msgmerge, msgmerge)
712 AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt)
713
714 if test "$XGETTEXT" != ""; then
715 if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then
716 echo "xgettext isn't GNU version"
717 XGETTEXT=""
718 else
719 if echo '<test/>' | $XGETTEXT -L Glade - ; then
720 xgettext_glade=yes
721 fi
722 fi
723 fi
724
725 if test "$XGETTEXT" != "" ; then
726 PO=""
727 if test "$LINGUAS" = ""; then
728 ling=` (cd $srcdir/po; /bin/ls *.po.in) `
729 for l in $ling; do
730 lcode=`basename $l .po.in`
731 LINGUAS="$LINGUAS$lcode "
732 done
733 fi
734 AC_DEFINE(ENABLE_NLS, [1], [NLS Please])
735 echo "xgettext and gettext() exist; will build i18n support for $LINGUAS"
736 else
737 LINGUAS=""
738 PO=""
739 echo "xgettext doesn't exist; will not build i18n support"
740 enable_nls=no
741 fi
742 for lang in $LINGUAS; do
743 MOFILES="$MOFILES $lang.mo"
744 done
745 for lang in $LINGUAS; do
746 POFILES="$POFILES $lang.po"
747 done
748 for lang in $LINGUAS; do
749 POIFILES="$POIFILES $lang.po.in"
750 done
751
752 AC_SUBST(INTLIBS)
753 AC_SUBST(MOFILES)
754 AC_SUBST(POFILES)
755 AC_SUBST(POIFILES)
756 AM_GNU_GETTEXT_VERSION
757 AM_GNU_GETTEXT(no-libtool, need-ngettext, \$(top_builddir)/intl/)
758 if test "x${shared_libnavit}" = "xyes" -a "x${win32ce}" = "xyes"; then
759 INTLLIBS="\$(top_builddir)/intl/libintl.la"
760 LIBINTL=$INTLLIBS
761 LTLIBINTL=$INTLLIBS
762 fi
763 AC_SUBST(LIBINTL)
764 AC_SUBST(LTLIBINTL)
765 if test x"$LIBINTL" != "x" ;then
766 CFLAGS="$CFLAGS -I\$(top_builddir)/intl/"
767 fi
768
769 fi
770 AM_CONDITIONAL(ENABLE_NLS, [test "x$enable_nls" = "xyes"])
771 AM_CONDITIONAL(XGETTEXT_GLADE, [test "x$xgettext_glade" = "xyes"])
772 AC_CHECK_HEADER(
773 byteswap.h,
774 AC_DEFINE(
775 [HAVE_BYTESWAP_H],
776 [1],
777 [Define to 1 if you have byteswap.h],
778 )
779 ,
780 )
781
782 PACKAGE=navit
783 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
784 AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
785 AC_SUBST(PACKAGE)
786 AC_SUBST(VERSION)
787
788 AC_CHECK_HEADER(wordexp.h,wordexp_h=yes,wordexp_h=no;NAVIT_CFLAGS="$NAVIT_CFLAGS -I\$(top_srcdir)/navit/support/wordexp";WORDEXP_LIBS="-L\$(top_builddir)/navit/support/wordexp -lsupport_wordexp")
789 AM_CONDITIONAL(SUPPORT_WORDEXP, [test "x$wordexp_h" = "xno"])
790
791 support_libc=no
792 AC_ARG_ENABLE(support_libc, [ --enable-support-libc enable builtin mini libc ], support_libc=$enableval)
793 AM_CONDITIONAL(SUPPORT_LIBC, [test "x$support_libc" = "xyes"])
794 if test "x$support_libc" = "xyes"; then
795 CFLAGS="$CFLAGS -I\$(top_srcdir)/navit/support/libc"
796 LIBC_LIBS="-L\$(top_builddir)/navit/support/libc -lsupport_libc"
797 fi
798
799 ## graphics
800 AC_ARG_ENABLE(graphics, [ --disable-graphics disable graphics], graphics=$enableval;graphics_reason="configure parameter")
801 AM_CONDITIONAL(GRAPHICS, test "x${graphics}" = "xyes")
802 if test "x$graphics" = "xyes"; then
803 AC_DEFINE([USE_GRAPHICS],[1],Define to 1 if you want to use graphics.)
804 fi
805
806 # gd
807
808 # android
809 AC_ARG_ENABLE(graphics-android, [ --disable-graphics-android disable graphics type android], graphics_android=$enableval;graphics_android_reason="configure parameter")
810 AM_CONDITIONAL(GRAPHICS_ANDROID, test "x${graphics_android}" = "xyes")
811 # gd
812 AC_ARG_ENABLE(graphics-gd, [ --enable-graphics-gd enable graphics type gd], graphics_gd=$enableval;graphics_gd_reason="configure parameter")
813 if test "x${graphics_gd}" = "xyes" ; then
814 if test -z "$GDLIB_CONFIG"; then
815 AC_PATH_PROG([GDLIB_CONFIG], [gdlib-config], [])
816 fi
817 AC_MSG_CHECKING([for gdlib with $GDLIB_CONFIG])
818 if test ! -x "$GDLIB_CONFIG"; then
819 if test "x${GDLIB_CONFIG}" = "x" ; then
820 graphics_gd_reason="$GDLIB_CONFIG not executable"
821 else
822 graphics_gd_reason="gdlib-config missing"
823 fi
824 graphics_gd=no
825 AC_MSG_RESULT([no])
826 else
827 if test "x${GD_CFLAGS}" = "x" ; then
828 GD_CFLAGS="-I`$GDLIB_CONFIG --includedir`"
829 fi
830 if test "x${GD_LIBS}" = "x" ; then
831 GD_LIBS="-L`$GDLIB_CONFIG --libdir` -lgd `$GDLIB_CONFIG --libs`"
832 fi
833 AC_SUBST(GD_CFLAGS)
834 AC_SUBST(GD_LIBS)
835 AC_MSG_RESULT([yes])
836 fi
837 fi
838 AM_CONDITIONAL(GRAPHICS_GD, test "x${graphics_gd}" = "xyes")
839 AC_CHECK_HEADER(
840 sys/shm.h,
841 AC_DEFINE(
842 [HAVE_SHMEM],
843 [],
844 Define to 1 if you have shared memory
845 )
846 )
847 AC_CHECK_HEADER(
848 X11/xpm.h,
849 AC_DEFINE(
850 [HAVE_XPM],
851 [],
852 Define to 1 if you have xpm header
853 )
854 )
855 if test "x${graphics_gd}" = "xyes" ; then
856 save_CPPFLAGS=$CPPFLAGS
857 save_LIBS=$LIBS
858 LIBS="$GD_LIBS $LIBS"
859 CPPFLAGS="$GD_CFLAGS $CPPFLAGS"
860 AC_TRY_LINK([#include <gd.h>], [gdImageCreateFromPng(0);],AC_MSG_RESULT(yes);AC_DEFINE(HAVE_GRAPHICS_GD_PNG, 1, [Define to 1 if you have png support in gd.]),AC_MSG_RESULT(no))
861 CPPFLAGS=$save_CPPFLAGS
862 LIBS=$save_LIBS
863 fi
864
865 # gtk_drawing_area
866 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")
867 AM_CONDITIONAL(GRAPHICS_GTK_DRAWING_AREA, [test "x${graphics_gtk_drawing_area}" = "xyes"])
868 # null
869 AC_ARG_ENABLE(graphics-null, [ --disable-graphics-null disable graphics type null], graphics_null=$enableval;graphics_null_reason="configure parameter")
870 AM_CONDITIONAL(GRAPHICS_NULL, test "x${graphics_null}" = "xyes")
871 # win32
872 AC_ARG_ENABLE(graphics-win32, [ --disable-graphics-win32 disable graphics type win32], graphics_win32=$enableval;graphics_win32_reason="configure parameter")
873 AM_CONDITIONAL(GRAPHICS_WIN32, test "x${graphics_win32}" = "xyes")
874 # qt_qpainter
875 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")
876 if test "x${graphics_qt_qpainter}" = "xyes" -a "x${QT_GUI_CFLAGS}" = "x" -a "x${QT_GUI_LIBS}" = "x"; then
877 PKG_CHECK_MODULES(QT_GUI, [QtGui QtCore],graphics_qt_qpainter=yes,graphics_qt_qpainter=no;graphics_qt_qpainter_reason="Packages QtGui and/or QtCore missing")
878 if test "x${graphics_qt_qpainter}" = "xno"; then
879 PKG_CHECK_MODULES(QT_GUI, [qt-mt],graphics_qt_qpainter=yes;graphics_qt_qpainter_reason="Package qt-mt present",graphics_qt_qpainter=no)
880 fi
881 fi
882 if test "x${graphics_qt_qpainter}" = "xyes" ; then
883 PKG_CHECK_MODULES(QT_SVG, [QtSvg], have_qt_svg=yes, have_qt_svg=no)
884 if test "x${have_qt_svg}" = "xyes"; then
885 AC_DEFINE([HAVE_QT_SVG],[],Define to 1 if qt supports svg)
886 fi
887 fi
888 if test "x${graphics_qt_qpainter}" = "xyes" ; then
889 AC_DEFINE(USE_GRAPICS_QT_QPAINTER, 1, [Build with graphics qt_qpainter])
890 fi
891 AC_SUBST(QT_GUI_CFLAGS)
892 AC_SUBST(QT_GUI_LIBS)
893 AC_SUBST(QT_SVG_CFLAGS)
894 AC_SUBST(QT_SVG_LIBS)
895 AM_CONDITIONAL(GRAPHICS_QT_QPAINTER, test "x${graphics_qt_qpainter}" = "xyes")
896 MOC=`$PKG_CONFIG QtGui --variable=moc_location`
897 if test "x${MOC}" = "x"; then
898 AC_CHECK_PROG(MOC, moc, moc)
899 fi
900 AC_SUBST(MOC)
901
902
903 ## map
904 # binfile
905 AC_ARG_ENABLE(map-binfile, [ --disable-map-binfile disable graphics type android], map_binfile=$enableval;map_binfile_reason="configure parameter")
906 AM_CONDITIONAL(MAP_BINFILE, test "x${map_binfile}" = "xyes")
907 # filter
908 AC_ARG_ENABLE(map-filter, [ --disable-map-filter disable graphics type android], map_filter=$enableval;map_filter_reason="configure parameter")
909 AM_CONDITIONAL(MAP_FILTER, test "x${map_filter}" = "xyes")
910 # mg
911 AC_ARG_ENABLE(map-mg, [ --disable-map-mg disable graphics type android], map_mg=$enableval;map_mg_reason="configure parameter")
912 AM_CONDITIONAL(MAP_MG, test "x${map_mg}" = "xyes")
913 # shapefile
914 AC_ARG_ENABLE(map-shapefile, [ --disable-map-shapefile disable graphics type android], map_shapefile=$enableval;map_shapefile_reason="configure parameter")
915 AM_CONDITIONAL(MAP_SHAPEFILE, test "x${map_shapefile}" = "xyes")
916 # textfile
917 AC_ARG_ENABLE(map-textfile, [ --disable-map-textfile disable graphics type android], map_textfile=$enableval;map_textfile_reason="configure parameter")
918 AM_CONDITIONAL(MAP_TEXTFILE, test "x${map_textfile}" = "xyes")
919
920 ## osd
921 # core
922 AC_ARG_ENABLE(osd-core, [ --disable-osd-core disable graphics type android], osd_core=$enableval;osd_core_reason="configure parameter")
923 AM_CONDITIONAL(OSD_CORE, test "x${osd_core}" = "xyes")
924
925 ## gui
926 # gtk
927 AC_ARG_ENABLE(gui-gtk, [ --disable-gui-gtk disable gui type gtk ], gui_gtk=$enableval)
928 AM_CONDITIONAL(GUI_GTK, [test "x${gui_gtk}" = "xyes"])
929 # internal
930 AC_ARG_ENABLE(gui-internal, [ --disable-gui-internal disable gui type internal], gui_internal=$enableval;gui_internal_reason="configure parameter")
931 AM_CONDITIONAL(GUI_INTERNAL, test "x${gui_internal}" = "xyes")
932 # win32
933 AC_ARG_ENABLE(gui-win32, [ --disable-gui-win32 disable gui type win32], gui_win32=$enableval;gui_win32_reason="configure parameter")
934 AM_CONDITIONAL(GUI_WIN32, test "x${gui_win32}" = "xyes")
935 # qml
936 AC_ARG_ENABLE(gui-qml, [ --disable-gui-qml disable gui type QML], gui_qml=$enableval;gui_qml_reason="configure parameter")
937 if test "x${gui_qml}" = "xyes" -a "x${QT_GUI_CFLAGS}" = "x" -a "x${QT_GUI_LIBS}" = "x"; then
938 PKG_CHECK_MODULES(QT_GUI, [QtGui QtCore], ,gui_qml=no;gui_qml_reason="Packages QtGui and/or QtCore are missing")
939 fi
940 if test "x${gui_qml}" = "xyes" -a "x${QT_XML_CFLAGS}" = "x" -a "x${QT_XML_LIBS}" = "x"; then
941 PKG_CHECK_MODULES(QT_XML, [QtXml], ,gui_qml=no;gui_qml_reason="Package QtXml is missing")
942 fi
943 if test "x${gui_qml}" = "xyes" -a "x${QT_DECLARATIVE_CFLAGS}" = "x" -a "x${QT_DECLARATIVE_LIBS}" = "x"; then
944 PKG_CHECK_MODULES(QT_DECLARATIVE, [QtDeclarative >= 4.6.0 ], ,gui_qml=no;gui_qml_reason="Packages QtDeclarative is missing")
945 fi
946 if test "x${gui_qml}" = "xyes" ; then
947 AC_DEFINE(USE_GUI_QML, 1, [Build with gui qml])
948 fi
949 AC_SUBST(QT_GUI_CFLAGS)
950 AC_SUBST(QT_GUI_LIBS)
951 AC_SUBST(QT_DECLARATIVE_CFLAGS)
952 AC_SUBST(QT_DECLARATIVE_LIBS)
953 AC_SUBST(QT_XML_CFLAGS)
954 AC_SUBST(QT_XML_LIBS)
955 AM_CONDITIONAL(GUI_QML, test "x${gui_qml}" = "xyes")
956
957 ## plugins
958 # pedestrian
959 AC_ARG_ENABLE(plugin-pedestrian, [ --enable-plugin-pedestrian enable pedestrian plugin], plugin_pedestrian=$enableval;plugin_pedestrian_reason="configure parameter")
960 AM_CONDITIONAL(PLUGIN_PEDESTRIAN, test "x${plugin_pedestrian}" = "xyes")
961
962 ## routing
963 AC_ARG_ENABLE(routing, [ --disable-routing disable routing], routing=$enableval;routing_reason="configure parameter")
964 AM_CONDITIONAL(ROUTING, test "x${routing}" = "xyes")
965 if test "x$routing" = "xyes"; then
966 AC_DEFINE([USE_ROUTING],[1],Define to 1 if you want to have routing.)
967 fi
968
969 ## speech
970 # android
971 AC_ARG_ENABLE(speech-android, [ --disable-speech-android disable speech type android], speech_android=$enableval;speech_android_reason="configure parameter")
972 AM_CONDITIONAL(SPEECH_ANDROID, test "x${speech_android}" = "xyes")
973 # cmdline
974 AC_ARG_ENABLE(speech-cmdline, [ --disable-speech-cmdline disable speech type cmdline], speech_cmdline=$enableval;speech_cmdline_reason="configure parameter")
975 AM_CONDITIONAL(SPEECH_CMDLINE, test "x${speech_cmdline}" = "xyes")
976 # espeak
977 AC_ARG_ENABLE(speech-espeak, [ --disable-speech-espeak disable speech type espeak], speech_espeak=$enableval;speech_espeak_reason="configure parameter")
978 AM_CONDITIONAL(SPEECH_ESPEAK, test "x${speech_espeak}" = "xyes")
979 # speech-dispatcher
980 AC_ARG_ENABLE(speech-speech-dispatcher, [ --disable-speech-speech-dispatcher disable speech type speech-dispatcher], speech_speech_dispatcher=$enableval;speech_speech_dispatcher_reason="configure parameter")
981 if test "x$speech_speech_dispatcher" = "xyes"; then
982 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")
983 fi
984 AC_SUBST(SPEECHD_CFLAGS)
985 AC_SUBST(SPEECHD_LIBS)
986 AM_CONDITIONAL(SPEECH_SPEECH_DISPATCHER, test "x${speech_speech_dispatcher}" = "xyes")
987 AM_CONDITIONAL(SUPPORT_ESPEAK, test "x${support_espeak}" = "xyes")
988
989 ## vehicle
990 # android
991 AC_ARG_ENABLE(vehicle-android, [ --disable-vehicle-android disable vehicle type android], vehicle_android=$enableval;vehicle_android_reason="configure parameter")
992 AM_CONDITIONAL(VEHICLE_ANDROID, test "x${vehicle_android}" = "xyes")
993 # demo
994 AC_ARG_ENABLE(vehicle-demo, [ --disable-vehicle-demo disable vehicle type demo], vehicle_demo=$enableval;vehicle_demo_reason="configure parameter")
995 AM_CONDITIONAL(VEHICLE_DEMO, test "x${vehicle_demo}" = "xyes")
996 # file
997 AC_ARG_ENABLE(vehicle-file, [ --disable-vehicle-file disable vehicle type file], vehicle_file=$enableval;vehicle_file_reason="configure parameter")
998 AM_CONDITIONAL(VEHICLE_FILE, test "x${vehicle_file}" = "xyes")
999 # gpsd
1000 AC_ARG_ENABLE(vehicle-gpsd, [ --disable-vehicle-gpsd disable vehicle type gpsd], vehicle_gpsd=$enableval;vehicle_gpsd_reason="configure parameter")
1001 if test "x${vehicle_gpsd}" = xyes
1002 then
1003 PKG_CHECK_MODULES([GPSD], [libgps], have_libgps="yes", have_libgps="no")
1004 if test "x$have_libgps" = "xyes"; then
1005 AC_DEFINE([HAVE_LIBGPS],[],Define to 1 if you have libgps.)
1006 PKG_CHECK_MODULES([LIBGPS19], [libgps >= 2.90], have_libgps19="yes", have_libgps19="no")
1007 if test "x$have_libgps19" = "xyes"; then
1008 AC_DEFINE([HAVE_LIBGPS19],[],Define to 1 if you have libgps19.)
1009 fi
1010 else
1011 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 and no gpsd pkgconfig" )
1012 fi
1013 fi
1014 AC_SUBST(GPSD_CFLAGS)
1015 AC_SUBST(GPSD_LIBS)
1016 AM_CONDITIONAL(VEHICLE_GPSD, [test "x${vehicle_gpsd}" = "xyes"])
1017 # gypsy
1018 AC_ARG_ENABLE(vehicle-gypsy,[ --disable-vehicle-gypsy disable vehicle type gypsy], vehicle_gypsy=$enableval;vehicle_gypsy_reason="configure parameter")
1019 if test "x${vehicle_gypsy}" = "xyes"
1020 then
1021 PKG_CHECK_MODULES(GYPSY, gypsy, ,vehicle_gypsy=no;vehicle_gypsy_reason="package gypsy missing")
1022 fi
1023 AC_SUBST(GYPSY_CFLAGS)
1024 AC_SUBST(GYPSY_LIBS)
1025 AM_CONDITIONAL(VEHICLE_GYPSY, test "x${vehicle_gypsy}" = "xyes")
1026 # maemo
1027 AC_ARG_ENABLE(vehicle-maemo, [ --disable-vehicle-maemo disable vehicle type maemo], vehicle_maemo=$enableval;vehicle_maemo_reason="configure parameter")
1028 if test "x${vehicle_maemo}" = "xyes" ; then
1029 PKG_CHECK_MODULES(LIBLOCATION, liblocation, [
1030 AC_SUBST(LIBLOCATION_CFLAGS)
1031 AC_SUBST(LIBLOCATION_LIBS)
1032 ], [
1033 AC_MSG_RESULT(no)
1034 vehicle_maemo=no
1035 vehicle_maemo_reason="no maemo location library found"
1036 ])
1037 fi
1038 AM_CONDITIONAL(VEHICLE_MAEMO, test "x${vehicle_maemo}" = "xyes")
1039 # null
1040 AC_ARG_ENABLE(vehicle-null, [ --enable-vehicle-null enable vehicle type null], vehicle_null=$enableval;vehicle_null_reason="configure parameter")
1041 AM_CONDITIONAL(VEHICLE_NULL, test "x${vehicle_null}" = "xyes")
1042 # wince
1043 AC_ARG_ENABLE(vehicle-wince, [ --disable-vehicle-wince disable vehicle type wince], vehicle_wince=$enableval;vehicle_wince_reason="configure parameter")
1044 AM_CONDITIONAL(VEHICLE_WINCE, test "x${vehicle_wince}" = "xyes")
1045 # iphone
1046 AC_ARG_ENABLE(vehicle-iphone, [ --disable-vehicle-iphone disable vehicle type iphone], vehicle_iphone=$enableval;vehicle_iphone_reason="configure parameter")
1047 AM_CONDITIONAL(VEHICLE_IPHONE, test "x${vehicle_iphone}" = "xyes")
1048 if test "x${vehicle_iphone}" = "xyes"
1049 then
1050 IPHONE_LIBS=-Wl,-framework,CoreLocation
1051 fi
1052 AC_SUBST(IPHONE_CFLAGS)
1053 AC_SUBST(IPHONE_LIBS)
1054 NAVIT_CFLAGS="$NAVIT_CFLAGS $GLIB_CFLAGS $GMODULE_CFLAGS"
1055 NAVIT_LIBS="$NAVIT_LIBS $GLIB_LIBS $GMODULE_LIBS $LIBINTL"
1056 AC_SUBST(NAVIT_CFLAGS)
1057 AC_SUBST(NAVIT_LIBS)
1058 AC_SUBST(WORDEXP_LIBS)
1059 AC_SUBST(LIBC_LIBS)
1060 AC_SUBST(WINDRES)
1061
1062 AC_CONFIG_FILES([
1063 Makefile
1064 navit/Makefile
1065 navit/autoload/Makefile
1066 navit/autoload/osso/Makefile
1067 navit/binding/Makefile
1068 navit/binding/python/Makefile
1069 navit/binding/dbus/Makefile
1070 navit/map/Makefile
1071 navit/map/mg/Makefile
1072 navit/map/textfile/Makefile
1073 navit/map/shapefile/Makefile
1074 navit/map/filter/Makefile
1075 navit/map/binfile/Makefile
1076 navit/map/garmin/Makefile
1077 navit/maptool/Makefile
1078 navit/fib-1.1/Makefile
1079 navit/font/Makefile
1080 navit/font/freetype/Makefile
1081 navit/fonts/Makefile
1082 navit/graphics/Makefile
1083 navit/graphics/android/Makefile
1084 navit/graphics/gd/Makefile
1085 navit/graphics/gtk_drawing_area/Makefile
1086 navit/graphics/opengl/Makefile
1087 navit/graphics/null/Makefile
1088 navit/graphics/sdl/Makefile
1089 navit/graphics/qt_qpainter/Makefile
1090 navit/graphics/win32/Makefile
1091 navit/gui/Makefile
1092 navit/gui/gtk/Makefile
1093 navit/gui/internal/Makefile
1094 navit/gui/win32/Makefile
1095 navit/gui/qml/Makefile
1096 navit/gui/qml/skins/Makefile
1097 navit/gui/qml/skins/navit/Makefile
1098 navit/osd/Makefile
1099 navit/osd/core/Makefile
1100 navit/plugin/Makefile
1101 navit/plugin/pedestrian/Makefile
1102 navit/speech/Makefile
1103 navit/speech/android/Makefile
1104 navit/speech/cmdline/Makefile
1105 navit/speech/dbus/Makefile
1106 navit/speech/espeak/Makefile
1107 navit/speech/speech_dispatcher/Makefile
1108 navit/support/Makefile
1109 navit/support/espeak/Makefile
1110 navit/support/ezxml/Makefile
1111 navit/support/glib/Makefile
1112 navit/support/libc/Makefile
1113 navit/support/libpng/Makefile
1114 navit/support/win32/Makefile
1115 navit/support/wordexp/Makefile
1116 navit/support/zlib/Makefile
1117 navit/vehicle/Makefile
1118 navit/vehicle/android/Makefile
1119 navit/vehicle/file/Makefile
1120 navit/vehicle/gpsd/Makefile
1121 navit/vehicle/gpsd_dbus/Makefile
1122 navit/vehicle/gypsy/Makefile
1123 navit/vehicle/maemo/Makefile
1124 navit/vehicle/null/Makefile
1125 navit/vehicle/demo/Makefile
1126 navit/vehicle/wince/Makefile
1127 navit/vehicle/iphone/Makefile
1128 navit/xpm/Makefile
1129 navit/maps/Makefile
1130 intl/Makefile
1131 po/Makefile
1132 man/Makefile
1133 ])
1134 #src/data/garmin_img/Makefile
1135
1136 AC_OUTPUT
1137
1138
1139 echo ""
1140 echo ""
1141 echo "Summary of your installation :"
1142 # FIXME : maybe elaborate missing dependencies
1143 if test x"$sdl" != xyes
1144 then
1145 sdl_failures="(libsdl maybe?) "
1146 fi
1147 if test x"$xmu" != xyes
1148 then
1149 sdl_failures=$sdl_failures"libxmu "
1150 fi
1151 if test x"$glut" != xyes
1152 then
1153 sdl_failures=$sdl_failures"glut "
1154 fi
1155 if test x"$glc" != xyes
1156 then
1157 sdl_failures=$sdl_failures"quesoglc "
1158 fi
1159 if test -z "$sdl_failures"
1160 then
1161 echo "OpenGL gui : ENABLED, with $CEGUI_LIBS"
1162 else
1163 echo "OpenGL gui : DISABLED : you are missing $sdl_failures"
1164 fi
1165 if test x"$enable_hildon" = xyes
1166 then
1167 echo "Maemo/Hildon: ENABLED"
1168 else
1169 echo "Maemo/Hildon: DISABLED"
1170 fi
1171 if test x"$enable_osso" = xyes
1172 then
1173 echo "Maemo/OSSO: ENABLED"
1174 else
1175 echo "Maemo/OSSO: DISABLED"
1176 fi
1177 if test x"${USE_GARMIN}" = xyes
1178 then
1179 if test "x$use_libgarmin" = "xyes"
1180 then
1181 echo "Garmin IMG : ENABLED"
1182 else
1183 echo "Garmin IMG : DISABLED (you don't have libgarmin)"
1184 fi
1185 else
1186 echo "Garmin IMG : DISABLED (you requested it)"
1187 fi
1188
1189 if test x"$LIBINTL" = "x" ;then
1190 nls_libs="system gettext support"
1191 else
1192 nls_libs="$LIBINTL"
1193 fi
1194 echo "Plugins: $plugins ($plugins_reason)"
1195 echo "Postgresql: $postgresql ($postgresql_reason)"
1196 echo "Samplemap: $samplemap ($samplemap_reason)"
1197 echo "NLS Support: $enable_nls ($nls_libs)"
1198 echo "Routing: $routing ($routing_reason)"
1199 echo "Font renderers:"
1200 echo " freetype: $font_freetype ($font_freetype_reason)"
1201 echo " FriBidi enabled: $fribidi ($fribidi_reason)"
1202
1203 echo "Graphics types: $graphics ($graphics_reason)"
1204 echo " android: $graphics_android ($graphics_android_reason)"
1205 echo " gtk_drawing_area: $graphics_gtk_drawing_area ($graphics_gtk_drawing_area_reason)"
1206 echo " null: $graphics_null ($graphics_null_reason)"
1207 echo " qt_qpainter: $graphics_qt_qpainter ($graphics_qt_qpainter_reason)"
1208 echo " win32: $graphics_win32 ($graphics_win32_reason)"
1209 echo " OpenGL: $graphics_opengl ($graphics_opengl_reason)"
1210 echo " gd: $graphics_gd ($graphics_gd_reason)"
1211 echo " sdl: $graphics_sdl ($graphics_sdl_reason)"
1212
1213 echo "GUI types:"
1214 echo " gtk: $gui_gtk ($gui_gtk_reason)"
1215 echo " internal: $gui_internal ($gui_internal_reason)"
1216 echo " win32: $gui_win32 ($gui_win32_reason)"
1217 echo " qml: $gui_qml ($gui_qml_reason)"
1218
1219 echo "Map types:"
1220 echo " binfile: $map_binfile ($map_binfile_reason)"
1221 echo " filter: $map_filter ($map_filter_reason)"
1222 echo " mg: $map_mg ($map_mg_reason)"
1223 echo " shapefile: $map_shapefile ($map_shapefile_reason)"
1224 echo " textfile: $map_textfile ($map_textfile_reason)"
1225
1226
1227 echo "Bindings:"
1228 echo " dbus: $binding_dbus ($binding_dbus_reason)"
1229 echo " python: $binding_python ($binding_python_reason)"
1230
1231 echo "OSD types:"
1232 echo " core: $osd_core ($osd_core_reason)"
1233
1234 echo "Plugins:"
1235 echo " pedestrian: $plugin_pedestrian ($plugin_pedestrian_reason)"
1236
1237 echo "Speech types:"
1238 echo " android: $speech_android ($speech_android_reason)"
1239 echo " cmdline: $speech_cmdline ($speech_cmdline_reason)"
1240 echo " dbus: $speech_dbus ($speech_dbus_reason)"
1241 echo " espeak: $speech_espeak ($speech_espeak_reason)"
1242 echo " speech_dispatcher: $speech_speech_dispatcher ($speech_speech_dispatcher_reason)"
1243
1244 echo "Vehicle types:"
1245 echo " android: $vehicle_android ($vehicle_android_reason)"
1246 echo " demo: $vehicle_demo ($vehicle_demo_reason)"
1247 echo " file: $vehicle_file ($vehicle_file_reason)"
1248 echo " gpsd: $vehicle_gpsd ($vehicle_gpsd_reason)"
1249 echo " gpsd_dbus: $vehicle_gpsd_dbus ($vehicle_gpsd_dbus_reason)"
1250 echo " gypsy: $vehicle_gypsy ($vehicle_gypsy_reason)"
1251 echo " maemo: $vehicle_maemo ($vehicle_maemo_reason)"
1252 echo " null: $vehicle_null ($vehicle_null_reason)"
1253 echo " wince: $vehicle_wince ($vehicle_wince_reason)"
1254 echo " iphone: $vehicle_iphone ($vehicle_iphone_reason)"
1255
1256 if test "x${gtk2_pkgconfig}" != "xyes" -a "x${gui_win32}" != "xyes" -a "x${gui_internal}" != "xyes" -a "x${gui_qml}" != "xyes"
1257 then
1258 echo ""
1259 echo ""
1260 echo "*** WARNING! you have no gui that can be built! ***"
1261 echo "Please install the dependency for at least gtk or sdl gui"
1262 echo "For more details, see the wiki at http://wiki.navit-project.org/"
1263 echo ""
1264 fi
1265