X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=configure.ac;h=a939ec6356491bec208d089c01ce8cebf363d05c;hb=6c2b7ff2c64e2f943c5924f59a4d86f396ed5cc8;hp=d59f418508a4ae7fe0038638f20ab58abcb6a6ca;hpb=cc26c75009c6ae49c5de429670fd06b1bc1e557d;p=mapper diff --git a/configure.ac b/configure.ac index d59f418..a939ec6 100644 --- a/configure.ac +++ b/configure.ac @@ -19,15 +19,22 @@ # AC_INIT(Makefile.am) -AM_INIT_AUTOMAKE(mapper, 1.0.0) +AM_INIT_AUTOMAKE(mapper, 1.0.3.95) +AC_CONFIG_MACRO_DIR(m4) AM_MAINTAINER_MODE AC_PROG_CPP AC_CONFIG_HEADERS(src/config.h) AC_PROG_INSTALL AC_PROG_LIBTOOL -AC_SYS_LARGEFILE -PKG_PROG_PKG_CONFIG +# AC_SYS_LARGEFILE +# ^That should do it but for some reason it won't so hack it: +# CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES" + +AC_DEFINE(_FILE_OFFSET_BITS, 64, [Enable LFS]) +AC_DEFINE(_GNU_SOURCE, 1, [Enable GNU Extensions]) + +dnl PKG_PROG_PKG_CONFIG dnl Debugging options to enable debug macros DEBUG_FLAGS= @@ -45,20 +52,138 @@ PKG_CHECK_MODULES(GLIBGTK, glib-2.0 gconf-2.0 dbus-glib-1 gtk+-2.0) AC_SUBST(GLIBGTK_LIBS) AC_SUBST(GLIBGTK_CFLAGS) -AC_ARG_ENABLE([nokia-770],AS_HELP_STRING([--enable-770],[Build for Nokia 770/N800]), +AC_PATH_PROG(GCONFTOOL, gconftool-2) +AM_GCONF_SOURCE_2 + +dnl Maemo has 3.8, but prefer new version in case it's available +PKG_CHECK_MODULES(GTKHTML, libgtkhtml-3.14, HAVE_GTKHTML=yes, HAVE_GTKHTML=no) +if test "x$HAVE_GTKHTML" = "xno"; then + PKG_CHECK_MODULES(GTKHTML, libgtkhtml-3.8) +fi +AC_SUBST(GTKHTML_LIBS) +AC_SUBST(GTKHTML_CFLAGS) + +PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0 >= 2.8.4.11 gnome-vfs-module-2.0 >= 2.8.4.11) +AC_SUBST(GNOME_VFS_LIBS) +AC_SUBST(GNOME_VFS_CFLAGS) + +PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.6.16) +AC_SUBST(LIBXML2_LIBS) +AC_SUBST(LIBXML2_CFLAGS) + +PKG_CHECK_MODULES(LIBCURL, libcurl) +AC_SUBST(LIBCURL_LIBS) +AC_SUBST(LIBCURL_CFLAGS) + +PKG_CHECK_MODULES(SQLITE, sqlite3) +AC_SUBST(SQLITE_LIBS) +AC_SUBST(SQLITE_CFLAGS) + +AC_ARG_ENABLE([770],AS_HELP_STRING([--enable-770],[Build for Nokia 770/N800]), [enable_770=$enableval], [enable_770=no]) +AC_ARG_ENABLE([gst],AS_HELP_STRING([--enable-gst],[Enable support for gstreamer]), + [enable_gst=$enableval], [enable_gst=no]) + AC_ARG_ENABLE([hildon],AS_HELP_STRING([--enable-hildon],[Build for Hildon]), [enable_hildon=$enableval], [enable_hildon=no]) +AC_ARG_ENABLE([itbtdbus],AS_HELP_STRING([--enable-itbtdbus],[Use IT D-Bus Bluetooth interface]), + [enable_itbtdbus=$enableval], [enable_itbtdbus=no]) + +AC_ARG_ENABLE([btdbus],AS_HELP_STRING([--enable-btdbus],[Use D-Bus bluez interface]), + [enable_btdbus=$enableval], [enable_btdbus=no]) + +AC_ARG_ENABLE([bluez],AS_HELP_STRING([--enable-bluez],[Use bluez libbluetooth]), + [enable_bluez=$enableval], [enable_bluez=no]) + +AC_ARG_ENABLE([gpsd],AS_HELP_STRING([--enable-gpsd],[Use gpsd]), + [enable_gpsd=$enableval], [enable_gpsd=no]) + +AC_ARG_ENABLE([gypsy],AS_HELP_STRING([--enable-gypsy],[Use gypsy]), + [enable_gypsy=$enableval], [enable_gypsy=no]) + +AC_ARG_ENABLE([geoclue],AS_HELP_STRING([--enable-geoclue],[Use geoclue]), + [enable_geoclue=$enableval], [enable_geoclue=no]) + +AC_ARG_ENABLE([hal],AS_HELP_STRING([--enable-hal],[Use HAL for special hardware keys]), + [enable_hal=$enableval], [enable_hal=no]) + +AC_ARG_ENABLE([cairo],AS_HELP_STRING([--enable-cairo],[Use cairo]), + [enable_cairo=$enableval], [enable_cairo=no]) + +AC_ARG_ENABLE([opengl],AS_HELP_STRING([--enable-opengl],[Use OpenGL (gtkglext]), + [enable_opengl=$enableval], [enable_opengl=no]) + +GTK_DOC_CHECK(1.9) + +if test "x$enable_cairo" = "xyes" ; then + PKG_CHECK_MODULES(CAIRO, cairo) + AC_SUBST(CAIRO_LIBS) + AC_SUBST(CAIRO_CFLAGS) + AC_DEFINE([WITH_CAIRO], 1, [Draw using cairo]) +fi + +if test "x$enable_opengl" = "xyes" ; then + PKG_CHECK_MODULES(GTKGLEXT, gtkglext-x11-1.0) + AC_SUBST(GTKGLEXT_LIBS) + AC_SUBST(GTKGLEXT_CFLAGS) + AC_DEFINE([WITH_GL], 1, [Draw using OpenGL]) +fi + if test "x$enable_770" = "xno" ; then WITH_DEVICE_770=no else WITH_DEVICE_770=yes enable_hildon=yes - AC_DEFINE([WITH_DEVICE_770], [1], [With 770/N800 specific code]) + AC_DEFINE([WITH_DEVICE_770], 1, [With 770/N800 specific code]) +fi + +if test "x$enable_hal" = "xyes" ; then + PKG_CHECK_MODULES(HAL, hal, HAVE_HAL=yes, HAVE_HAL=no) + if test "x$HAVE_HAL" = "xyes"; then + AC_SUBST(HAL_LIBS) + AC_SUBST(HAL_CFLAGS) + AC_DEFINE([WITH_HAL], 1, [Listen to special events using HAL]) + else + AC_MSG_NOTICE([HAL support requested but not found, disabling]) + fi +fi + +AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) + +if test "x$enable_itbtdbus" = "xno" ; then + WITH_HILDON_DBUS_BT=no + enable_btdbus=yes +else + WITH_HILDON_DBUS_BT=yes + AC_CHECK_HEADERS([bt-dbus.h], [ac_cv_btdbus_h=yes]) + AC_DEFINE([WITH_HILDON_DBUS_BT], 1, [IT D-Bus bluetooth]) fi +if test "x$enable_bluez" = "xno" ; then + WITH_BLUEZ=no +else + PKG_CHECK_MODULES(BLUEZ, bluez, HAVE_BLUEZ=yes, HAVE_BLUEZ=no) + if test "x$HAVE_BLUEZ" = "xyes"; then + AC_SUBST(BLUEZ_LIBS) + AC_SUBST(BLUEZ_CFLAGS) + WITH_BLUEZ=yes + AC_DEFINE([WITH_BLUEZ], 1, [Bluez RFCOMM]) + fi +fi + +if test "x$enable_btdbus" = "xno" ; then + WITH_BLUEZ_DBUS_BT=no +else + WITH_BLUEZ_DBUS_BT=yes + AC_DEFINE([WITH_BLUEZ_DBUS_BT], 1, [bluez D-Bus bluetooth]) +fi + +AM_CONDITIONAL(HAVE_BLUEZ, [test "$enable_bluez" = "yes"]) +AM_CONDITIONAL(HAVE_HILDON_DBUS_BT, [test "$enable_itbtdbus" = "yes"]) +AM_CONDITIONAL(HAVE_BLUEZ_DBUS_BT, [test "$enable_btdbus" = "yes"]) + if test "x$enable_hildon" = "xyes" ; then dnl Ckeck for hildon-libs PKG_CHECK_MODULES(HILDON, hildon-libs, HAVE_HILDON=yes, HAVE_HILDON=no) @@ -90,7 +215,7 @@ if test "x$HAVE_HILDON" = "xyes"; then AC_SUBST(HILDON_CFLAGS) AC_SUBST(HILDON_LIBS) - PKG_CHECK_MODULES(OSSO, libosso >= 1 libossohelp osso-ic, HAVE_OSSO=yes, HAVE_OSSO=no) + PKG_CHECK_MODULES(OSSO, libosso >= 1, HAVE_OSSO=yes, HAVE_OSSO=no) if test "x$HAVE_OSSO" = "xyes"; then AC_DEFINE(WITH_OSSO, 1, [build with Nokia osso]) AC_SUBST(OSSO_LIBS) @@ -99,82 +224,154 @@ if test "x$HAVE_HILDON" = "xyes"; then AC_MSG_RESULT(no) fi - PKG_CHECK_MODULES(HILDONFM, hildon-fm, HAVE_HILDONFM=yes, HAVE_HILDONFM=no) if test "x$HAVE_OSSO" = "xyes"; then - AC_DEFINE(WITH_HILDONFM, 1, [build with Hildon filemanager]) + + PKG_CHECK_MODULES(CONIC, conic, CONIC=yes, CONIC=no) + if test "x$CONIC" = "xyes"; then + AC_DEFINE(WITH_CONIC, 1, [build with Nokia Internet Connectivity library]) + AC_SUBST(CONIC_LIBS) + AC_SUBST(CONIC_CFLAGS) + else + AC_MSG_RESULT(no) + PKG_CHECK_MODULES(OSSO_IC, osso-ic, HAVE_OSSO_IC=yes, HAVE_OSSO_IC=no) + if test "x$HAVE_OSSO_IC" = "xyes"; then + AC_DEFINE(WITH_OSSO_IC, 1, [build with Nokia osso ic]) + AC_SUBST(OSSO_IC_LIBS) + AC_SUBST(OSSO_IC_CFLAGS) + else + AC_MSG_RESULT(no) + fi + fi + + PKG_CHECK_MODULES(HILDON_HELP, hildon-help, HAVE_HILDON_HELP=yes, HAVE_HILDON_HELP=no) + if test "x$HAVE_HILDON_HELP" = "xyes"; then + AC_DEFINE(WITH_HILDON_HELP, 1, [build with Nokia hildon help (new)]) + AC_SUBST(HILDON_HELP_LIBS) + AC_SUBST(HILDON_HELP_CFLAGS) + else + AC_MSG_RESULT(no) + PKG_CHECK_MODULES(OSSO_HELP, libossohelp, HAVE_OSSO_HELP=yes, HAVE_OSSO_HELP=no) + if test "x$HAVE_OSSO_HELP" = "xyes"; then + AC_DEFINE(WITH_OSSO_HELP, 1, [build with Nokia osso help (old)]) + AC_SUBST(OSSO_HELP_LIBS) + AC_SUBST(OSSO_HELP_CFLAGS) + else + AC_MSG_RESULT(no) + fi + fi + + # libosso + fi + + PKG_CHECK_MODULES(HILDONFM, hildon-fm, HAVE_HILDONFM=yes, HAVE_HILDONFM=no) + if test "x$HAVE_HILDONFM" = "xyes"; then + AC_DEFINE(WITH_HILDONFM, 1, [build with Hildon Filemanager 1]) AC_SUBST(HILDONFM_LIBS) AC_SUBST(HILDONFM_CFLAGS) else AC_MSG_RESULT(no) + PKG_CHECK_MODULES(HILDONFM, hildon-fm-2, HAVE_HILDONFM=yes, HAVE_HILDONFM=no) + if test "x$HAVE_HILDONFM" = "xyes"; then + AC_DEFINE(WITH_HILDONFM, 1, [build with Hildon Filemanager 2]) + AC_SUBST(HILDONFM_LIBS) + AC_SUBST(HILDONFM_CFLAGS) + else + AC_MSG_RESULT(no) + fi fi + fi AM_CONDITIONAL(WITH_HILDON, test "x$HAVE_HILDON" = "xyes") AM_CONDITIONAL(WITH_OSSO, test "x$HAVE_OSSO" = "xyes") -PKG_CHECK_MODULES(BLUEZ, bluez) -AC_SUBST(BLUEZ_LIBS) -AC_SUBST(BLUEZ_CFLAGS) - +if test "x$enable_gpsd" = "xyes" ; then AC_CHECK_HEADERS([gps.h], [ac_cv_gps_h=yes]) AC_CHECK_LIB(gps, gps_open,[ac_cv_libgps=yes] ) -if test "x$ac_cv_libgps" != xyes; then - AC_DEFINE(WITH_LIBGPS, 1, [build with gpsd]) -fi - -AM_CONDITIONAL(WITH_HILDON, test "x$HAVE_HILDON" = "xyes") -PKG_CHECK_MODULES(GEOCLUE, geoclue, HAVE_GEOCLUE=yes, HAVE_GEOCLUE=no) - -if test "x$HAVE_GEOCLUE" = "xyes"; then - AC_DEFINE(WITH_GEOCLUE, 1, [build with Geoclue]) - AC_SUBST(GEOCLUE_CFLAGS) - AC_SUBST(GEOCLUE_LIBS) +PKG_CHECK_MODULES(LIBGPSBT, gpsbt, HAVE_GPSBT=yes, HAVE_GPSBT=no) +if test "x$HAVE_GPSBT" = "xyes"; then + AC_DEFINE(WITH_GPSBT, 1, [Support gpsbt]) + AC_SUBST(LIBGPSBT_CFLAGS) + AC_SUBST(LIBGPSBT_LIBS) fi -PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0 >= 2.8.4.11 gnome-vfs-module-2.0 >= 2.8.4.11) -AC_SUBST(GNOME_VFS_LIBS) -AC_SUBST(GNOME_VFS_CFLAGS) - -PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.6.16) -AC_SUBST(LIBXML2_LIBS) -AC_SUBST(LIBXML2_CFLAGS) - -PKG_CHECK_MODULES(LIBCURL, libcurl) -AC_SUBST(LIBCURL_LIBS) -AC_SUBST(LIBCURL_CFLAGS) - -PKG_CHECK_MODULES(SQLITE, sqlite3) -AC_SUBST(SQLITE_LIBS) -AC_SUBST(SQLITE_CFLAGS) +PKG_CHECK_MODULES(LIBGPSMGR, gpsmgr, HAVE_GPSMGR=yes, HAVE_GPSMGR=no) +if test "x$HAVE_GPSMGR" = "xyes"; then + AC_DEFINE(WITH_GPSMGR, 1, [Support gpsmgr]) + AC_SUBST(LIBGPSMGR_CFLAGS) + AC_SUBST(LIBGPSMGR_LIBS) +fi -PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10, HAVE_GST=yes, HAVE_GST=no) -if test "x$HAVE_GST" = "xyes"; then - AC_DEFINE(WITH_GST, 1, [build with Gstreamer]) - AC_SUBST(GSTREAMER_LIBS) - AC_SUBST(GSTREAMER_CFLAGS) +if test "x$ac_cv_libgps" = xyes; then + AC_DEFINE(WITH_LIBGPS, 1, [build with gpsd]) +fi +fi +AM_CONDITIONAL(HAVE_GPSD, [test "$enable_gpsd" = "yes"]) + +if test "x$enable_gypsy" = "xyes" ; then + PKG_CHECK_MODULES(GYPSY, gypsy, HAVE_GYPSY=yes, HAVE_GYPSY=no) + if test "x$HAVE_GEOCLUE" = "xyes"; then + AC_DEFINE(WITH_GYPSY, 1, [build with gypsy]) + AC_SUBST(GYPSY_CFLAGS) + AC_SUBST(GYPSY_LIBS) + fi fi +AM_CONDITIONAL(HAVE_GYPSY, [test "$enable_gypsy" = "yes"]) + +if test "x$enable_geoclue" = "xyes" ; then + PKG_CHECK_MODULES(GEOCLUE, geoclue, HAVE_GEOCLUE=yes, HAVE_GEOCLUE=no) + if test "x$HAVE_GEOCLUE" = "xyes"; then + AC_DEFINE(WITH_GEOCLUE, 1, [build with Geoclue]) + AC_SUBST(GEOCLUE_CFLAGS) + AC_SUBST(GEOCLUE_LIBS) + fi +fi +AM_CONDITIONAL(HAVE_GEOCLUE, [test "$enable_geoclue" = "yes"]) + +if test "x$enable_gst" = "xyes" ; then + PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10, HAVE_GST=yes, HAVE_GST=no) + if test "x$HAVE_GST" = "xyes"; then + AC_DEFINE(WITH_GST, 1, [build with Gstreamer]) + GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstapp-0.10" + AC_SUBST(GSTREAMER_LIBS) + AC_SUBST(GSTREAMER_CFLAGS) + else + AC_MSG_ERROR([Gstreamer requested but can not be found.]) + fi +fi +AM_CONDITIONAL(HAVE_GST, [test "$enable_gst" = "yes"]) -# XXX: Check for expat -AC_CHECK_HEADER(expat.h) -EXPAT_LIBS="-lexpat" -EXPAT_CFLAGS="-I/usr/include" -AC_SUBST(EXPAT_CFLAGS) -AC_SUBST(EXPAT_LIBS) +AC_CHECK_HEADERS(bzlib.h, + BZ2_LIBS="$BZ2_LIBS -lbz2", + AC_MSG_ERROR([Mapper requires libbz2.]) + ) +AC_SUBST(BZ2_LIBS) AC_CHECK_LIB([expat], [XML_ParserCreate], AC_DEFINE(HAVE_LIBEXPAT, 1, [Defined if you have libexpat]) - AC_SUBST(EXPAT_LIB) + AC_SUBST(EXPAT_LIBS) ) -AC_CHECK_HEADER(espeak/speak_lib.h) -ESPEAK_LIBS="-lespeak" -ESPEAK_CFLAGS="-I/usr/include/espeak" -AC_CHECK_LIB([espeak], [espeak_Initialize], - AC_DEFINE(HAVE_ESPEAK, 1, [Defined if you have espeak]) - AC_SUBST(ESPEAK_CFLAGS) - AC_SUBST(ESPEAK_LIB) -) +AC_CHECK_HEADERS(expat.h, + EXPAT_LIBS="-lexpat", + AC_MSG_ERROR([Mapper requires libexpat.]) + ) +AC_SUBST(EXPAT_LIBS) + +if test "x$HAVE_GST" = "xyes"; then + AC_CHECK_HEADER(espeak/speak_lib.h, HAVE_ESPEAK=yes, HAVE_ESPEAK=no) + if test "x$HAVE_ESPEAK" = "xyes"; then + ESPEAK_LIBS="-lespeak" + ESPEAK_CFLAGS="-I/usr/include/espeak" + AC_CHECK_LIB([espeak], [espeak_Initialize], + AC_DEFINE(WITH_ESPEAK, 1, [Defined if you have espeak]) + AC_SUBST(ESPEAK_CFLAGS) + AC_SUBST(ESPEAK_LIBS)) + else + AC_MSG_ERROR([Speech output requires espeak.]) + fi +fi # Localisation if test "x$HAVE_HILDON" = "xyes"; then @@ -208,26 +405,33 @@ if test "x$HAVE_HILDON" = "xyes"; then pluginlibdir=`$PKG_CONFIG hildon-control-panel --variable=plugindir` plugindesktopentrydir=`$PKG_CONFIG hildon-control-panel --variable=plugindesktopentrydir` + # Application icon install directories + icon_26x26dir=$datadir/icons/hicolor/26x26/hildon + icon_34x34dir=$datadir/icons/hicolor/34x34/hildon + icon_40x40dir=$datadir/icons/hicolor/40x40/hildon + icon_50x50dir=$datadir/icons/hicolor/50x50/hildon + icon_scalabledir=$datadir/icons/hicolor/scalable/hildon + + # Help file install directory + helpfile_enusdir=$datadir/osso-help/en_US + helpfile_engbdir=$datadir/osso-help/en_GB + + AC_SUBST(helpfile_enusdir) + AC_SUBST(helpfile_engbdir) + else - desktopentrydir= - serviceentrydir= - pixmapdir= - pluginlibdir= - plugindesktopentrydir= -fi + desktopentrydir=$datadir/applications + serviceentrydir=`$PKG_CONFIG dbus-1 --variable=session_bus_services_dir` + pixmapdir=$datadir/pixmaps -# Application icon install directories -icon_26x26dir=$datadir/icons/hicolor/26x26/hildon -icon_34x34dir=$datadir/icons/hicolor/34x34/hildon -icon_40x40dir=$datadir/icons/hicolor/40x40/hildon -icon_50x50dir=$datadir/icons/hicolor/50x50/hildon -icon_scalabledir=$datadir/icons/hicolor/scalable/hildon + # Application icon install directories + icon_26x26dir=$datadir/icons/hicolor/26x26 + icon_34x34dir=$datadir/icons/hicolor/34x34 + icon_40x40dir=$datadir/icons/hicolor/40x40 + icon_50x50dir=$datadir/icons/hicolor/50x50 + icon_scalabledir=$datadir/icons/hicolor/scalable -# Help file install directory -helpfile_enusdir=$datadir/osso-help/en_US -AC_SUBST(helpfile_enusdir) -helpfile_engbdir=$datadir/osso-help/en_GB -AC_SUBST(helpfile_engbdir) +fi # Define as variables in Makefiles AC_SUBST(desktopentrydir) @@ -246,12 +450,60 @@ AC_DEFINE_UNQUOTED([LOCALEDIR], "${localedir}", [Runtime locale catalog files pa AC_DEFINE_UNQUOTED([PIXMAPDIR], "${pixmapdir}", [Runtime pixmap files path]) # Produce output files -AC_OUTPUT( - Makefile \ +AC_OUTPUT(Makefile \ + libs/Makefile \ + libs/libgtkgps/Makefile \ + libs/libgtkmap/Makefile \ src/Makefile \ + docs/Makefile \ + docs/reference/Makefile \ + docs/reference/libgtkmap/Makefile \ data/Makefile \ data/help/Makefile \ po/Makefile.in \ po/Makefile ) +if test x$enable_hildon = xyes; then +AC_MSG_NOTICE([** Hildon support enabled]) +fi + +if test x$enable_770 = xyes; then +AC_MSG_NOTICE([** Tablet support enabled]) +fi + +if test x$enable_itbtdbus = xyes; then +AC_MSG_NOTICE([** Tablet bluetooth D-Bus support enabled]) +fi + +if test x$enable_bluez = xyes; then +AC_MSG_NOTICE([** Bluez support enabled]) +fi + +if test x$enable_btdbus = xyes; then +AC_MSG_NOTICE([** Bluez D-Bus support enabled]) +fi + +if test x$enable_gpsd = xyes; then +AC_MSG_NOTICE([** GPSD support enabled]) +fi + +if test x$enable_gypsy = xyes; then +AC_MSG_NOTICE([** Gypsy D-Bus GPS support enabled]) +fi + +if test x$enable_gst = xyes; then +AC_MSG_NOTICE([** Gstreamer support enabled]) +fi + +if test "x$HAVE_ESPEAK" = "xyes"; then +AC_MSG_NOTICE([** espeak support enabled]) +fi + +if test x$enable_cairo = xyes; then +AC_MSG_NOTICE([** Using cairo for graphics]) +fi + +if test x$enable_opengl = xyes; then +AC_MSG_NOTICE([** Using OpenGL]) +fi