AC_INIT(navit, 0.0.4) AM_INIT_AUTOMAKE AM_CONFIG_HEADER(config.h) AM_MAINTAINER_MODE m4_ifndef([AC_USE_SYSTEM_EXTENSIONS], [AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_GNU_SOURCE])]) AC_USE_SYSTEM_EXTENSIONS AC_PROG_CC if eval "test x$GCC = xyes"; then CFLAGS="$CFLAGS -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE" fi AC_PROG_CXX if eval "test x$GXX = xyes"; then CXXFLAGS="$CXXFLAGS -Wall -Wcast-align -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE" fi PKG_CHECK_EXISTS AC_ARG_ENABLE(plugins, [ --disable-plugins disable plugins], [ AC_DISABLE_SHARED AC_ENABLE_STATIC plugins=$enableval ], [ AC_ENABLE_SHARED AC_DISABLE_STATIC AC_DEFINE( [USE_PLUGINS], [], Define to 1 if you have plugins. ) plugins=yes ] ) AC_PROG_LIBTOOL AC_ARG_ENABLE(avoid-unaligned, [ --enable-avoid-unaligned avoid unaligned accesses], AVOID_UNALIGNED=$enableval, AVOID_UNALIGNED=no) test x"${AVOID_UNALIGNED}" = xyes && AC_DEFINE(AVOID_UNALIGNED,[],Define to avoid unaligned access) AC_ARG_ENABLE(avoid-float, [ --enable-avoid-float avoid floating point calculations], AVOID_FLOAT=$enableval, AVOID_FLOAT=no) test x"${AVOID_FLOAT}" = xyes && AC_DEFINE(AVOID_FLOAT,[],Define to avoid floating point) AC_ARG_ENABLE(hildon, [ --enable-hildon build with maemo/hildon support], enable_hildon=$enableval, enable_hildon=no) if test "x${enable_hildon}" = "xyes" ; then PKG_CHECK_MODULES(enable_hildon, hildon-libs >= 0.12.24, , [ AC_MSG_RESULT(no) enable_hildon=no ]) if test x"${enable_hildon}" = xyes ; then AC_DEFINE(USE_HILDON, 1, [Build with maemo/hildon support]) AC_SUBST(HILDON_CFLAGS) AC_SUBST(HILDON_LIBS) fi fi AM_CONDITIONAL(USE_HILDON, test "${enable_hildon}" = "xyes") AC_ARG_ENABLE(libgps, [ --disable-libgps don't use libgps], USE_LIBGPS=$enableval, USE_LIBGPS=yes) AC_ARG_ENABLE(garmin, [ --disable-garmin disable garmin support], USE_GARMIN=$enableval, USE_GARMIN=yes) AC_ARG_ENABLE(samplemap, [ --disable-samplemap don't build the samplemap], samplemap=$enableval, samplemap=yes) AM_CONDITIONAL(BUILD_SAMPLEMAP, [test "x$samplemap" = "xyes"]) AC_ARG_ENABLE(fastmath, [ --disable-fastmath don't build with fastmath], fastmath=$enableval, fastmath=yes) AM_CONDITIONAL(FASTMATH, [test "x$fastmath" = "xyes"]) if test x"$fastmath" = xyes; then if eval "test x$GCC = xyes"; then CFLAGS="$CFLAGS -ffast-math" fi fi X_CFLAGS="-I$x_includes" X_LIBS="-L$ac_x_libraries" PKG_CHECK_MODULES(NAVIT, [glib-2.0 gmodule-2.0], [], AC_MSG_ERROR([glib-2.0 or gmodule-2.0 not found. Usually you need to install a package named glib2-devel or libglib2.0-dev])) AC_SUBST(NAVIT_CFLAGS) AC_SUBST(NAVIT_LIBS) AC_CHECK_HEADER( zlib.h, AC_DEFINE( [HAVE_ZLIB], [], Define to 1 if you have the header file. ) ZLIB_LIBS="-lz", AC_MSG_WARN([*** no zlib.h\ -- reduced functionality of osm2navit]) ) AC_SUBST(ZLIB_LIBS) AC_ARG_ENABLE(gui-gtk, [ --disable-gui-gtk don't create gui gtk ], MODULE_GUI_GTK=$enableval, MODULE_GUI_GTK=yes) if test "x$MODULE_GUI_GTK" = "xyes"; then PKG_CHECK_MODULES(GTK2, [gtk+-2.0], [gtk2_pkgconfig=yes], [gtk2_pkgconfig=no]) if test "x$gtk2_pkgconfig" = "xyes"; then AC_DEFINE(HAVE_GTK2, 1, [Define to 1 if you have gtk2]) fi fi GTK2_CFLAGS="$GTK2_CFLAGS -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" AC_SUBST(GTK2_CFLAGS) AC_SUBST(GTK2_LIBS) AM_CONDITIONAL(GUI_GTK, [test "x$gtk2_pkgconfig" = "xyes"]) AM_CONDITIONAL(GRAPHICS_GTK_DRAWING_AREA, [test "x$gtk2_pkgconfig" = "xyes"]) AM_CONDITIONAL(PLUGINS, [test "x$plugins" = "xyes"]) PKG_CHECK_MODULES(FREETYPE2, [freetype2], [freetype2_pkgconfig=yes], [freetype2_pkgconfig=no]) if test "x$freetype2_pkgconfig" = "xyes"; then AC_DEFINE(HAVE_FREETYPE2, 1, [Define to 1 if you have freetype2]) fi AC_SUBST(FREETYPE2_CFLAGS) AC_SUBST(FREETYPE2_LIBS) PKG_CHECK_MODULES(FONTCONFIG, [fontconfig], [fontconfig_pkgconfig=yes], [fontconfig_pkgconfig=no]) if test "x$fontconfig_pkgconfig" = "xyes"; then AC_DEFINE(HAVE_FONTCONFIG, 1, [Define to 1 if you have fontconfig]) fi AC_SUBST(FONTCONFIG_CFLAGS) AC_SUBST(FONTCONFIG_LIBS) PKG_CHECK_MODULES(IMLIB2, [imlib2], [imlib2_pkgconfig=yes], [imlib2_pkgconfig=no]) if test "x$imlib2_pkgconfig" = "xyes"; then AC_DEFINE(HAVE_IMLIB2, 1, [Define to 1 if you have imlib2]) fi AC_SUBST(IMLIB2_CFLAGS) AC_SUBST(IMLIB2_LIBS) AC_ARG_ENABLE(speech-speechd, [ --disable-speech-speechd don't create speech speechd ], MODULE_SPEECH_SPEECHD=$enableval, MODULE_SPEECH_SPEECHD=yes) if test "x$MODULE_SPEECH_SPEECHD" = "xyes"; then AC_CHECK_HEADER(libspeechd.h, AC_DEFINE([HAVE_LIBSPEECHD],[],Define to 1 if you have the header file.) SPEECHD_LIBS="-lspeechd" speechd=yes, AC_MSG_WARN([*** no libspeechd.h -- Speech output disabled])) fi AC_SUBST(SPEECHD_CFLAGS) AC_SUBST(SPEECHD_LIBS) AM_CONDITIONAL(SPEECH_SPEECH_DISPATCHER, [test "x$speechd" = "xyes"]) AC_ARG_ENABLE(gui-sdl, [ --disable-gui-sdl don't create gui sdl ], MODULE_GUI_SDL=$enableval, MODULE_GUI_SDL=yes) if test "x$MODULE_GUI_SDL" = "xyes"; then AC_CHECK_HEADER( SDL/SDL.h, AC_DEFINE( [HAVE_LIBSDL], [], Define to 1 if you have the header file. ) SDL_LIBS="-lSDL" sdl=yes, AC_MSG_WARN([*** no SDL/SDL.h -- SDL support disabled]) ) fi AC_SUBST(SDL_CFLAGS) AC_SUBST(SDL_LIBS) PKG_CHECK_MODULES( [CEGUI], [CEGUI-OPENGL >= 0.5.0], [ AC_DEFINE( [HAVE_CEGUI], [], [Define to 1 if you have the @<:@CEGUI/CEGUI.h@:>@ header file.]) cegui=yes ], [AC_MSG_WARN([*** CEGUI not found -- SDL support disabled])] ) AC_CHECK_HEADER( GL/gl.h, AC_DEFINE( [HAVE_OPENGL], [], Define to 1 if you have the header file. ) OPENGL_LIBS="$X_LIBS -lGL -lGLU" opengl=yes, AC_MSG_WARN([*** no GL/gl.h -- opengl and SDL support disabled]) ) AC_CHECK_HEADER( GL/glut.h, AC_DEFINE( [HAVE_GLUT], [], Define to 1 if you have the header file. ) glut=yes, AC_MSG_WARN([*** no GL/glut.h -- opengl and SDL support disabled]) ) AC_SUBST(OPENGL_CFLAGS) AC_SUBST(OPENGL_LIBS) AC_CHECK_HEADER( GL/glc.h, AC_DEFINE( [HAVE_GLC], [], Define to 1 if you have the header file. ) GLC_LIBS="-lGLC" glc=yes, AC_MSG_WARN([*** no GL/glc.h -- opengl and SDL support disabled]) ) AC_SUBST(GLC_CFLAGS) AC_SUBST(GLC_LIBS) if test x"$cegui" = xyes then # Save the LIBS into a temp var since AC_CHECK_LIB adds the lib into LIBS # and we want just to check and use CEGUI_LIBS libstemp="$LIBS" # For CEGUI, we have to check the presence of some libraries. # The following are mandatory (used by navit) # If the user installed NavIt without, issue a warning and disable CEGUI AC_CHECK_LIB(CEGUIBase, main, [], [ echo "Error! Something is wrong with CEGUIBase. Do you have at least cegui-0.5?" ]) AC_CHECK_LIB(CEGUIOpenGLRenderer, main, [], [ echo "Error! Something is wrong with CEGUIOpenGLRenderer. Do you have at least cegui-0.5? " ], $OPENGL_LIBS ) AC_CHECK_LIB(CEGUIFalagardWRBase, main, [], [ echo "Error! Something is wrong with CEGUIFalagardWRBase. Do you have at least cegui-0.5?" ], $OPENGL_LIBS) CEGUI_LIBS="-lCEGUIBase -lCEGUIOpenGLRenderer -lCEGUIFalagardWRBase" # The following are optionnal, but we need to link against them if cegui was built with them libssilly="$OPENGL_LIBS -lpng" AC_CHECK_LIB(CEGUISILLYImageCodec, createImageCodec, [CEGUI_LIBS="$CEGUI_LIBS -lCEGUISILLYImageCodec"], [echo "CEGUISILLYImageCodec not found/not working, disabled."], $libssilly ) AC_CHECK_LIB(CEGUIXercesParser, main, [CEGUI_LIBS="$CEGUI_LIBS -lCEGUIXercesParser"], [echo "CEGUIXercesParser not found/not working, disabled."], $OPENGL_LIBS ) AC_CHECK_LIB(CEGUIExpatParser, main, [CEGUI_LIBS="$CEGUI_LIBS -lCEGUIExpatParser"], [echo "CEGUIExpatParser not found/not working, disabled."], $OPENGL_LIBS ) AC_CHECK_LIB(CEGUILibxmlParser, main, [CEGUI_LIBS="$CEGUI_LIBS -lCEGUILibxmlParser"], [echo "CEGUILibxmlParser not found/not working, disabled."], $OPENGL_LIBS ) AC_CHECK_LIB(CEGUITinyXMLParser, main, [CEGUI_LIBS="$CEGUI_LIBS -lCEGUITinyXMLParser"], [echo "CEGUITinyXMLParser not found/not working, disabled."], $OPENGL_LIBS ) AC_CHECK_LIB(CEGUIDevILImageCodec, main, [CEGUI_LIBS="$CEGUI_LIBS -lCEGUIDevILImageCodec"], [echo "CEGUIDevILImageCodec not found/not working, disabled."], $OPENGL_LIBS ) AC_CHECK_LIB(CEGUITGAImageCodec, createImageCodec, [CEGUI_LIBS="$CEGUI_LIBS -lCEGUITGAImageCodec"], [echo "GUITGAImageCodec not found/not working, disabled."], $OPENGL_LIBS ) LIBS="$libstemp" echo "LIBS : $CEGUI_LIBS" fi AC_SUBST(CEGUI_CFLAGS) AC_SUBST(CEGUI_LIBS) AM_CONDITIONAL(GUI_SDL, [test "x$sdl" = "xyes" -a "x$cegui" = "xyes" -a "x$opengl" = "xyes" -a "x$glc" = "xyes" ]) AM_CONDITIONAL(GRAPHICS_OPENGL, [test "x$opengl" = "xyes" -a "x$glc" = "xyes" ]) if test x"${USE_LIBGPS}" = xyes then AC_CHECK_HEADER(gps.h, AC_DEFINE([HAVE_LIBGPS],[],Define to 1 if you have the header file.) GPSD_LIBS="-lgps" gpsd=yes, AC_MSG_WARN([*** no gps.h -- gpsd support disabled])) fi AC_SUBST(GPSD_CFLAGS) AC_SUBST(GPSD_LIBS) AM_CONDITIONAL(VEHICLE_GPSD, [test "x$gpsd" = "xyes"]) if test x"${USE_GARMIN}" = xyes then # check for libgarmin PKG_CHECK_MODULES(LIBGARMIN, libgarmin, use_libgarmin=yes, use_libgarmin=no) AC_SUBST(LIBGARMIN_CFLAGS) AC_SUBST(LIBGARMIN_LIBS) fi AM_CONDITIONAL(HAVELIBGARMIN, [test "x$use_libgarmin" = "xyes"]) AC_ARG_ENABLE(binding-python, [ --disable-binding-python don't create binding python ], MODULE_BINDING_PYTHON=$enableval, MODULE_BINDING_PYTHON=yes) if test "$cross_compiling" = no; then if test "x$MODULE_BINDING_PYTHON" = "xyes"; then AC_PATH_PROG(_PATH_PYTHON,[python]) dnl Libraries and flags for embedded Python. dnl FIXME: I wish there was a less icky way to get this. if test x"$_PATH_PYTHON" != x ; then AC_MSG_CHECKING(for Python linkage) py_prefix=`$_PATH_PYTHON -c 'import sys; print sys.prefix'` py_ver=`$_PATH_PYTHON -c 'import sys; print sys.version[[:3]]'` py_libdir="${py_prefix}/lib/python${py_ver}" PYTHON_CFLAGS="-I${py_prefix}/include/python${py_ver}" if test -f $py_libdir/config/Makefile -a -f $py_prefix/include/python${py_ver}/Python.h; then py_libs=`grep '^LIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'` py_libc=`grep '^LIBC=' $py_libdir/config/Makefile | sed -e 's/^.*=//'` py_libm=`grep '^LIBM=' $py_libdir/config/Makefile | sed -e 's/^.*=//'` py_liblocalmod=`grep '^LOCALMODLIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'` py_libbasemod=`grep '^BASEMODLIBS=' $py_libdir/config/Makefile | sed -e 's/^.*=//'` PYTHON_LIBS="-L$py_libdir/config $py_libs $py_libc $py_libm -lpython$py_ver $py_liblocalmod $py_libbasemod" PYTHON_LIBS=`echo $PYTHON_LIBS | sed -e 's/[ \\t]*/ /g'` AC_DEFINE(HAVE_PYTHON, 1, [Define to 1 if you have python]) python=yes AC_MSG_RESULT($py_libdir) else AC_MSG_WARN([$py_libdir/config/Makefile or $py_prefix/include/python${py_ver}/Python.h missing, support for python disabled]) fi fi fi else AC_MSG_WARN([*** cross compiling, support for python disabled]) fi AC_SUBST(PYTHON_CFLAGS) AC_SUBST(PYTHON_LIBS) AM_CONDITIONAL(BINDING_PYTHON, [test "x$python" = "xyes"]) # NLS AC_ARG_ENABLE(nls, [ --disable-nls disable Native Language Support ( gettext/libintl )], enable_nls=$enableval, enable_nls=yes) INTLIBS="" MOFILES="" POFILES="" LINGUAS="" if test x$enable_nls = xyes; then AC_CHECK_FUNC(gettext, [HAVEGETTEXT="yes"], AC_CHECK_LIB(intl, gettext, [INTLIBS="-lintl" HAVEGETTEXT="yes"], INTLIBS="" )) AC_CHECK_PROG(XGETTEXT, xgettext, xgettext) AC_CHECK_PROG(MSGMERGE, msgmerge, msgmerge) AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt) if test "$XGETTEXT" != ""; then if $XGETTEXT --help 2>&1 | grep illegal >/dev/null ; then echo "xgettext isn't GNU version" XGETTEXT="" fi fi if test "$XGETTEXT" != "" -a "$HAVEGETTEXT" != ""; then PO="" if test "$LINGUAS" = ""; then ling=` (cd $srcdir/po; /bin/ls *.po) ` for l in $ling; do lcode=`basename $l .po` LINGUAS="$LINGUAS$lcode " done fi AC_DEFINE(ENABLE_NLS, [1], [NLS Please]) echo "xgettext and gettext() exist; will build i18n support for $LINGUAS" else LINGUAS="" PO="" echo "xgettext and libintl.a don't both exist; will not build i18n support" fi for lang in $LINGUAS; do MOFILES="$MOFILES $lang.mo" done for lang in $LINGUAS; do POFILES="$POFILES $lang.po" done fi AC_SUBST(INTLIBS) AC_SUBST(MOFILES) AC_SUBST(POFILES) AM_GNU_GETTEXT_VERSION AM_GNU_GETTEXT LIBS="$LIBS -lm -rdynamic" PACKAGE=navit AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_SUBST(PACKAGE) AC_SUBST(VERSION) AC_CONFIG_FILES([ Makefile src/Makefile src/binding/Makefile src/binding/python/Makefile src/data/Makefile src/data/mg/Makefile src/data/textfile/Makefile src/data/binfile/Makefile src/data/garmin/Makefile src/data/poi_geodownload/Makefile src/data/poi_geodownload/libmdb/Makefile src/data/poi_geodownload/libmdb/include/Makefile src/fib-1.1/Makefile src/graphics/Makefile src/graphics/gtk_drawing_area/Makefile src/graphics/opengl/Makefile src/graphics/null/Makefile src/gui/Makefile src/gui/gtk/Makefile src/gui/sdl/Makefile src/gui/sdl/datafiles/Makefile src/osd/Makefile src/osd/core/Makefile src/speech/Makefile src/speech/cmdline/Makefile src/speech/speech_dispatcher/Makefile src/vehicle/Makefile src/vehicle/file/Makefile src/vehicle/gpsd/Makefile src/vehicle/demo/Makefile src/xpm/Makefile src/maps/Makefile intl/Makefile po/Makefile ]) #src/data/garmin_img/Makefile AC_OUTPUT echo "" echo "" echo "Summary of your installation :" if test x"$gtk2_pkgconfig" = xyes then echo "GTK gui : ENABLED" else echo "GTK gui : DISABLED : you are missing a dependency. To fix this install a package named gtk2-devel or libgtk2.0-dev" fi # FIXME : maybe elaborate missing dependencies if test x"$sdl" = xyes then if test x"$cegui" = xyes then if test x"$glut" = xyes then if test x"$glc" = xyes then echo "OpenGL gui : ENABLED, with $CEGUI_LIBS" else echo "OpenGL gui : DISABLED, you are missing quesoglc" fi else echo "OpenGL gui : DISABLED, your are missing glut" fi else echo "OpenGL gui : DISABLED : you are missing cegui-devel >= 0.5" fi else echo "OpenGL gui : DISABLED : you are missing a SDL dependency (libsdl maybe?)" fi if test x"$enable_hildon" = xyes then echo "Maemo/Hildon: ENABLED" else echo "Maemo/Hildon: DISABLED" fi if test x"$gpsd" = xyes then echo "GPSD support: ENABLED" else echo "GPSD support: DISABLED" fi if test x"$speechd" = xyes then echo "SPEECHD : ENABLED" else echo "SPEECHD : DISABLED" fi if test x"${USE_GARMIN}" = xyes then if test "x$use_libgarmin" = "xyes" then echo "Garmin IMG : ENABLED" else echo "Garmin IMG : DISABLED (you don't have libgarmin)" fi else echo "Garmin IMG : DISABLED (you requested it)" fi if test "x$samplemap" = "xyes" then echo "Samplemap : ENABLED" else echo "Samplemap : DISABLED" fi if [ test x"$gtk2_pkgconfig" != xyes ] && [ test x"$sdl" != xyes ] then echo "" echo "" echo "*** WARNING! you have no gui that can be built! ***" echo "Please install the dependency for at least gtk or sdl gui" echo "For more details, see the wiki at http://wiki.navit-project.org/" echo "" exit 1 fi