Add:vehicle/maemo:Added support for Maemo/Fremantle liblocation API.
[navit-package] / configure.in
index e38415f..4d83836 100644 (file)
@@ -1,4 +1,5 @@
 AC_INIT(navit, 0.2.0)
+AC_CONFIG_MACRO_DIR([m4])
 SOURCE_MODE=svn
 
 AM_INIT_AUTOMAKE
@@ -50,21 +51,29 @@ graphics_sdl=yes; graphics_sdl_reason=default
 graphics_win32=no; graphics_win32_reason=default
 speech_android=no; speech_android_reason=default
 speech_cmdline=yes; speech_cmdline_reason=default
+speech_dbus=no; speech_dbus_reason=default
+speech_espeak=no; speech_espeak_reason=default
 speech_speech_dispatcher=yes; speech_speech_dispatcher_reason=default
 vehicle_demo=yes; vehicle_demo_reason=default
 vehicle_file=yes; vehicle_file_reason=default
 vehicle_gpsd=yes; vehicle_gpsd_reason=default
+vehicle_gpsd_dbus=no; vehicle_gpsd_dbus_reason=default
 vehicle_gypsy=yes; vehicle_gypsy_reason=default
+vehicle_null=no; vehicle_null_reason=default
 vehicle_wince=no; vehicle_wince_reason=default
 vehicle_iphone=no; vehicle_iphone_reason=default
 vehicle_android=no; vehicle_android_reason=default
 graphics_android=no; graphics_android_reason=default
+vehicle_maemo=no; vehicle_maemo_reason=default
+
+shared_libnavit=no
+bin_navit=yes
 
 AC_CANONICAL_HOST
 win32=no
 win32ce=no
 case $host_os in
-wince)
+wince|mingw32ce|cegcc)
        win32=yes
        win32ce=yes
        AC_DEFINE(HAVE_API_WIN32_BASE, 1, [Have Windows Base API])
@@ -72,6 +81,7 @@ wince)
        gui_win32=yes; gui_win32_reason="host_os is wince"
        graphics_win32=yes; graphics_win32_reason="host_os is wince"
        vehicle_wince=yes; vehcile_wince_reason="host_os is wince"
+       speech_espeak=yes; speech_espeak_reason="host_os is wince"
        support_libpng=yes
        ;;
 mingw32)
@@ -80,10 +90,13 @@ mingw32)
        AC_DEFINE(HAVE_API_WIN32, 1, [Have Windows API])
        gui_win32=yes; gui_win32_reason="host_os is mingw32"
        graphics_win32=yes; graphics_win32_reason="host_os is mingw32"
+       speech_espeak=yes; speech_espeak_reason="host_os is mingw32"
        support_libpng=yes
        ;;
 linux*_android)
        android=yes
+       shared_libnavit=yes
+       bin_navit=no
        AC_DEFINE(HAVE_API_ANDROID, 1, [Have Android API])
        echo "void dl_unwind_find_exidx(void) {}" >crt0.c
        $CC -c crt0.c
@@ -91,7 +104,9 @@ linux*_android)
        vehicle_android=yes; vehicle_android_reason="host_os is android"
        graphics_android=yes; graphics_android_reason="host_os is android"
        speech_android=yes; speech_android_reason="host_os is android"
-       MODULE_LDFLAGS="-Xcompiler -nostdlib"
+       MODULE_LDFLAGS="-module -Xcompiler -nostdlib"
+       MODULE_LIBADD="-llog"
+       NAVIT_MODULE_LDFLAGS="$MODULE_LDFLAGS -L\$(top_builddir)/navit -lnavit"
        ;;
 esac
 if test "x$win32" = "xyes"
@@ -113,6 +128,8 @@ fi
 AM_CONDITIONAL(SUPPORT_LIBPNG, [test "x$support_libpng" = "xyes"])
 
 AC_SUBST(MODULE_LDFLAGS)
+AC_SUBST(MODULE_LIBADD)
+AC_SUBST(NAVIT_MODULE_LDFLAGS)
 
 LIBS="$LIBS -lm"
 if test "$win32" == "no"; then
@@ -251,11 +268,17 @@ if test "x${plugins}" = "xyes"; then
                [],
                Define to 1 if you have plugins.
        )
+       if test "x${win32}" = "xyes"; then
+               shared_libnavit=yes
+               NAVIT_MODULE_LDFLAGS="-no-undefined -L\$(top_builddir)/navit -lnavit -L\$(top_builddir)/intl -lintl"
+       fi
 else
        AC_DISABLE_SHARED
        AC_ENABLE_STATIC
 fi
 AM_CONDITIONAL(PLUGINS, [test "x$plugins" = "xyes"])
+AM_CONDITIONAL(SHARED_LIBNAVIT, [test "x$shared_libnavit" = "xyes"])
+AM_CONDITIONAL(BIN_NAVIT, [test "x$bin_navit" = "xyes"])
 AC_PROG_LIBTOOL
 
 AM_CONDITIONAL(EVENT_GLIB, [test "x$glib" = "xyes"])
@@ -300,28 +323,21 @@ AC_MSG_CHECKING(for CreateProcess)
 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))
 
 AC_ARG_ENABLE(graphics-sdl, [  --disable-graphics-sdl             don't create graphics sdl], graphics_sdl=$enableval;graphics_sdl_reason="configure parameter")
+
 if test "x${graphics_sdl}" = "xyes" ; then
-       if test -z "$SDL_CONFIG"; then
-            AC_PATH_PROG([SDL_CONFIG], [sdl-config], [])
-        fi
-fi
-if test "x${graphics_sdl}" = "xyes" ; then
-        AC_MSG_CHECKING([for SDL libraries with $SDL_CONFIG])
-       if test ! -x "$SDL_CONFIG"; then
-           graphics_sdl = "no"
-           graphics_sdl_reason = "sdl-config not available"
-            AC_MSG_RESULT([no])
-       else
-           SDL_CFLAGS="`$SDL_CONFIG --cflags`"
-           SDL_LIBS="`$SDL_CONFIG --libs`"
-           AC_SUBST(SDL_CFLAGS)
-           AC_SUBST(SDL_LIBS)
-            AC_MSG_RESULT([yes])
-               fi 
+        PKG_CHECK_MODULES(SDL, 
+                          [sdl], 
+                          [graphics_sdl="yes"
+                           graphics_sdl_reason="sdl present"] , 
+                          [graphics_sdl="no"
+                           graphics_sdl_reason="sdl not available"]
+                         )
+        AC_SUBST(SDL_CFLAGS)
+        AC_SUBST(SDL_LIBS)
 fi
 if test "x${graphics_sdl}" = "xyes" ; then
        save_CPPFLAGS=$CPPFLAGS
-       CPPFLAGS="$($SDL_CONFIG --cflags) $CPPFLAGS"
+       CPPFLAGS="$SDL_CFLAGS $CPPFLAGS"
        AC_CHECK_HEADER(SDL_image.h,SDL_IMAGE_LIBS=-lSDL_image,graphics_sdl="no";graphics_sdl_reason="SDL_image.h missing")
        AC_SUBST(SDL_IMAGE_LIBS)
        CPPFLAGS=$save_CPPFLAGS
@@ -522,10 +538,18 @@ if test "x${binding_dbus}" = "xyes" ; then
 fi
 if test "x${binding_dbus}" = "xyes" ; then
        AC_DEFINE(USE_BINDING_DBUS, 1, [Build with binding dbus])
+       vehicle_gpsd_dbus="yes"
+       vehicle_gpsd_dbus_reason="dbus binding present"
+       speech_dbus="yes"
+       speech_dbus_reason="dbus binding present"
 fi
 AC_SUBST(DBUS_CFLAGS)
 AC_SUBST(DBUS_LIBS)
 AM_CONDITIONAL(BINDING_DBUS, test "x${binding_dbus}" = "xyes")
+AM_CONDITIONAL(VEHICLE_GPSD_DBUS, test "x${vehicle_gpsd_dbus}" = "xyes")
+AM_CONDITIONAL(SPEECH_DBUS, test "x${speech_dbus}" = "xyes")
+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")
+AC_SUBST(DBUS_SERVICE_DIR)
 
 # svg
 AC_ARG_ENABLE(svg, [  --disable-svg        disable Scalable Vector Graphics], enable_svg=$enableval, enable_svg=yes)
@@ -540,7 +564,7 @@ AC_ARG_WITH(svg2png-use-ksvgtopng4, [  --with-svg2png-use-ksvgtopng4   use kde4'
 AC_ARG_WITH(svg2png-use-ksvgtopng, [  --with-svg2png-use-ksvgtopng   use kde3's convert for png creation], SVG2PNG_CONVERTER="ksvgtopng")
 if test "x${enable_svg2png}" = "xyes" ; then
     if test "x${SVG2PNG_CONVERTER}" = "x"; then
-        SVG2PNG_CONVERTER="ksvgtopng ksvgtopng4 rsvg-convert inkscape convert"
+        SVG2PNG_CONVERTER="rsvg-convert ksvgtopng ksvgtopng4 inkscape convert"
     fi
     AC_PATH_PROGS([SVG2PNG], ${SVG2PNG_CONVERTER}, [none])
     if test "x${SVG2PNG}" = "xnone"; then
@@ -560,6 +584,12 @@ AM_CONDITIONAL(USE_SVG, test "x${enable_svg}" = "xyes")
 # XSLTS
 AC_ARG_WITH(xslts, [  --with-xslts   enable processing of navit.xml with given xslt scripts], XSLTS=$withval, XSLTS="")
 AC_SUBST(XSLTS)
+AC_ARG_WITH(saxon, [ --with-saxon   specify the saxon xslt processor], SAXON=$withval, SAXON="saxon")
+AC_SUBST(SAXON)
+
+# Android Permissions
+AC_ARG_WITH(android-permissions, [  --with-android-permissions   Set additional android permissions], ANDROID_PERMISSIONS=$withval, ANDROID_PERMISSIONS="")
+AC_SUBST(ANDROID_PERMISSIONS)
 
 # NLS
 
@@ -620,7 +650,7 @@ AC_SUBST(MOFILES)
 AC_SUBST(POFILES)
 AC_SUBST(POIFILES)
 AM_GNU_GETTEXT_VERSION
-AM_GNU_GETTEXT(no-libtool, need-ngettext, \$(top_builddir)/intl/)
+AM_GNU_GETTEXT(use-libtool, need-ngettext, \$(top_builddir)/intl/)
 AC_SUBST(LIBINTL)
 AC_SUBST(LTLIBINTL)
 if test x"$LIBINTL" != "x" ;then
@@ -653,6 +683,7 @@ AC_ARG_ENABLE(support_libc, [  --enable-support-libc enable builtin mini libc ],
 AM_CONDITIONAL(SUPPORT_LIBC, [test "x$support_libc" = "xyes"])
 if test "x$support_libc" = "xyes"; then
        CFLAGS="$CFLAGS -I\$(top_srcdir)/navit/support/libc"
+       LIBC_LIBS="-L\$(top_builddir)/navit/support/libc -lsupport_libc"
 fi
 
 ## graphics
@@ -727,7 +758,10 @@ AM_CONDITIONAL(SPEECH_ANDROID, test "x${speech_android}" = "xyes")
 # cmdline
 AC_ARG_ENABLE(speech-cmdline, [  --disable-speech-cmdline            disable speech type cmdline], speech_cmdline=$enableval;speech_cmdline_reason="configure parameter")
 AM_CONDITIONAL(SPEECH_CMDLINE, test "x${speech_cmdline}" = "xyes")
-# cmdline
+# espeak
+AC_ARG_ENABLE(speech-espeak, [  --disable-speech-espeak            disable speech type espeak], speech_espeak=$enableval;speech_espeak_reason="configure parameter")
+AM_CONDITIONAL(SPEECH_ESPEAK, test "x${speech_espeak}" = "xyes")
+# speech-dispatcher
 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")
 if test "x$speech_speech_dispatcher" = "xyes"; then
        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")
@@ -735,6 +769,7 @@ fi
 AC_SUBST(SPEECHD_CFLAGS)
 AC_SUBST(SPEECHD_LIBS)
 AM_CONDITIONAL(SPEECH_SPEECH_DISPATCHER, test "x${speech_speech_dispatcher}" = "xyes")
+AM_CONDITIONAL(SUPPORT_ESPEAK, test "x${support_espeak}" = "xyes")
 
 ## vehicle
 # android
@@ -764,6 +799,22 @@ fi
 AC_SUBST(GYPSY_CFLAGS)
 AC_SUBST(GYPSY_LIBS)
 AM_CONDITIONAL(VEHICLE_GYPSY, test "x${vehicle_gypsy}" = "xyes")
+# maemo
+AC_ARG_ENABLE(vehicle-maemo, [  --disable-vehicle-maemo             disable vehicle type maemo], vehicle_maemo=$enableval;vehicle_maemo_reason="configure parameter")
+if test "x${vehicle_maemo}" = "xyes" ; then
+       PKG_CHECK_MODULES(LIBLOCATION, liblocation, [
+               AC_SUBST(LIBLOCATION_CFLAGS)
+               AC_SUBST(LIBLOCATION_LIBS)
+               ], [
+               AC_MSG_RESULT(no)
+               vehicle_maemo=no
+               vehicle_maemo_reason="no maemo location library found"
+       ])
+fi
+AM_CONDITIONAL(VEHICLE_MAEMO, test "x${vehicle_maemo}" = "xyes")
+# null
+AC_ARG_ENABLE(vehicle-null, [  --enable-vehicle-null             enable vehicle type null], vehicle_null=$enableval;vehicle_null_reason="configure parameter")
+AM_CONDITIONAL(VEHICLE_NULL, test "x${vehicle_null}" = "xyes")
 # wince
 AC_ARG_ENABLE(vehicle-wince, [  --disable-vehicle-wince             disable vehicle type wince], vehicle_wince=$enableval;vehicle_wince_reason="configure parameter")
 AM_CONDITIONAL(VEHICLE_WINCE, test "x${vehicle_wince}" = "xyes")
@@ -781,6 +832,7 @@ NAVIT_LIBS="$NAVIT_LIBS $GLIB_LIBS $GMODULE_LIBS $LIBINTL"
 AC_SUBST(NAVIT_CFLAGS)
 AC_SUBST(NAVIT_LIBS)
 AC_SUBST(WORDEXP_LIBS)
+AC_SUBST(LIBC_LIBS)
 AC_SUBST(WINDRES)
 
 AC_CONFIG_FILES([
@@ -793,11 +845,13 @@ navit/map/Makefile
 navit/map/mg/Makefile
 navit/map/textfile/Makefile
 navit/map/shapefile/Makefile
+navit/map/filter/Makefile
 navit/map/binfile/Makefile
 navit/map/garmin/Makefile
 navit/map/poi_geodownload/Makefile
 navit/map/poi_geodownload/libmdb/Makefile
 navit/map/poi_geodownload/libmdb/include/Makefile
+navit/maptool/Makefile
 navit/fib-1.1/Makefile
 navit/font/Makefile
 navit/font/freetype/Makefile
@@ -820,6 +874,8 @@ navit/osd/core/Makefile
 navit/speech/Makefile
 navit/speech/android/Makefile
 navit/speech/cmdline/Makefile
+navit/speech/dbus/Makefile
+navit/speech/espeak/Makefile
 navit/speech/speech_dispatcher/Makefile
 navit/support/Makefile
 navit/support/espeak/Makefile
@@ -834,7 +890,10 @@ navit/vehicle/Makefile
 navit/vehicle/android/Makefile
 navit/vehicle/file/Makefile
 navit/vehicle/gpsd/Makefile
+navit/vehicle/gpsd_dbus/Makefile
 navit/vehicle/gypsy/Makefile
+navit/vehicle/maemo/Makefile
+navit/vehicle/null/Makefile
 navit/vehicle/demo/Makefile
 navit/vehicle/wince/Makefile
 navit/vehicle/iphone/Makefile
@@ -924,6 +983,8 @@ echo "  python:            $binding_python ($binding_python_reason)"
 echo "Speech types:"
 echo "  android:           $speech_android ($speech_android_reason)"
 echo "  cmdline:           $speech_cmdline ($speech_cmdline_reason)"
+echo "  dbus:              $speech_dbus ($speech_dbus_reason)"
+echo "  espeak:            $speech_espeak ($speech_espeak_reason)"
 echo "  speech_dispatcher: $speech_speech_dispatcher ($speech_speech_dispatcher_reason)"
 
 echo "Vehicle types:"
@@ -931,7 +992,10 @@ echo "  android:           $vehicle_android ($vehicle_android_reason)"
 echo "  demo:              $vehicle_demo ($vehicle_demo_reason)"
 echo "  file:              $vehicle_file ($vehicle_file_reason)"
 echo "  gpsd:              $vehicle_gpsd ($vehicle_gpsd_reason)"
+echo "  gpsd_dbus:         $vehicle_gpsd_dbus ($vehicle_gpsd_dbus_reason)"
 echo "  gypsy:             $vehicle_gypsy ($vehicle_gypsy_reason)"
+echo "  maemo:             $vehicle_maemo ($vehicle_maemo_reason)"
+echo "  null:              $vehicle_null ($vehicle_null_reason)"
 echo "  wince:             $vehicle_wince ($vehicle_wince_reason)"
 echo "  iphone:            $vehicle_iphone ($vehicle_iphone_reason)"