X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/69e5d475537bcd3a682557529200a973bf438842..1a90b1080d250f8b02ba6d6a3e59568ccf177660:/configure.ac?ds=sidebyside diff --git a/configure.ac b/configure.ac index 9bf0f871..66fa53ba 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_PREREQ(2.59) -AC_INIT(viking, 1.5, , viking, http://viking.sf.net/) +AC_PREREQ(2.64) +AC_INIT(viking, 1.6, , viking, http://viking.sf.net/) AM_INIT_AUTOMAKE([dist-bzip2 dist-zip subdir-objects]) dnl AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_HEADERS([src/config.h]) @@ -45,7 +45,7 @@ AC_TYPE_MODE_T # Checks for library functions or symbols AC_FUNC_STAT AC_FUNC_STRTOD -AC_CHECK_FUNCS([floor memset mkdtemp pow realpath sqrt strcasecmp strchr strdup strncasecmp strtol strtoul]) +AC_CHECK_FUNCS([floor memset mkdtemp pow realpath sqrt strcasecmp strchr strncasecmp strtol strtoul]) AC_CHECK_LIB(m, tan) AC_CHECK_LIB(z, inflate) AC_CHECK_LIB(X11, XSetErrorHandler) @@ -82,7 +82,7 @@ dnl | Pkgconfig checks |--------------------------------------- dnl ------------------ PKG_CHECK_MODULES(PACKAGE, [ - glib-2.0 >= 2.16 + glib-2.0 >= 2.26 gthread-2.0 >= 2.2 gtk+-2.0 >= 2.16 gio-2.0 >= 2.12 @@ -228,6 +228,8 @@ case $ac_cv_enable_geocaches in esac AM_CONDITIONAL([GEOCACHES], [test x$ac_cv_enable_geocaches = xyes]) +# Geotagging +AC_ARG_WITH(libexif, AC_HELP_STRING([--with-libexif], [Force usage of libexif instead of libgexiv2])) AC_ARG_ENABLE(geotag, AC_HELP_STRING([--enable-geotag], [enable Geotag Support (default is enable).]), [ac_cv_enable_geotag=$enableval], @@ -236,11 +238,21 @@ AC_CACHE_CHECK([whether to enable Geotag Support], [ac_cv_enable_geotag], [ac_cv_enable_geotag=yes]) case $ac_cv_enable_geotag in yes) - AC_CHECK_LIB(exif,exif_loader_new,,AC_MSG_ERROR([libexif is needed for Geotag features[,] but is not found. The feature can be disabled with --disable-geotag])) + AS_IF([test x$with_libexif = xyes], + AC_CHECK_HEADER([libexif/exif-data.h],[],AC_MSG_ERROR([exif-data.h is needed but not found - you will need to install package 'libexif-dev' or similar])) + AC_CHECK_LIB(exif,exif_loader_new,, AC_MSG_ERROR([libexif is not found but it has been forcibly required])), + # gexiv2.h relies on glib so a simple compile check fails. + #AC_CHECK_HEADER([gexiv2/gexiv2.h],,AC_MSG_ERROR([Error msg...])) + AC_CHECK_LIB(gexiv2,gexiv2_metadata_new,, AC_MSG_ERROR([libgexiv2 is needed but not found - you will need to install package 'libgexiv2-dev' or similar. The feature can be disabled with --disable-geotag])) + ) AC_DEFINE(VIK_CONFIG_GEOTAG, [], [GEOTAG STUFF]) ;; esac AM_CONDITIONAL([GEOTAG], [test x$ac_cv_enable_geotag = xyes]) +AM_CONDITIONAL([GEXIV2], [test x$ac_cv_lib_gexiv2_gexiv2_metadata_new = xyes] ) +# Tested with gexiv2 0.10.2, but probably would work with older versions; may be all of them... +#AM_COND_IF([GEXIV2], [PKG_CHECK_MODULES([GEXIV2], [gexiv2 >= 0.6.1])]) +AM_CONDITIONAL([LIBEXIF], [test x$ac_cv_lib_exif_exif_loader_new = xyes] ) AC_ARG_ENABLE(dem24k, AC_HELP_STRING([--enable-dem24k], [enable USGS 24k DEM (default is disable) download source. Requires dem24k.pl script in path.]), @@ -271,7 +283,7 @@ esac AM_CONDITIONAL([REALTIME_GPS_TRACKING], [test x$ac_cv_enable_realtimegpstracking = xyes]) # BZIP2 -AC_ARG_ENABLE(bz2, AC_HELP_STRING([--enable-bzip2], +AC_ARG_ENABLE(bzip2, AC_HELP_STRING([--enable-bzip2], [enable bzip2 Support (default is enable).]), [ac_cv_enable_bzip2=$enableval], [ac_cv_enable_bzip2=yes]) @@ -315,8 +327,42 @@ case $ac_cv_enable_mbtiles in esac AM_CONDITIONAL([SQLITE], [test x$ac_cv_enable_mbtiles = xyes]) +# Mapnik rendering layer +AC_ARG_ENABLE(mapnik, AC_HELP_STRING([--enable-mapnik], + [enable Mapnik (default is enable)]), + [ac_cv_enable_mapnik=$enableval], + [ac_cv_enable_mapnik=yes]) +AC_CACHE_CHECK([whether to enable Mapnik], + [ac_cv_enable_mapnik], [ac_cv_enable_mapnik=yes]) +case $ac_cv_enable_mapnik in + yes) + # C++ + AC_LANG_CPLUSPLUS + AC_LANG_SAVE + AC_PROG_CXX + # Mapnik3 requires C++11. Viking will use C++11 as well. + CXXFLAGS="$CXXFLAGS -std=c++11" + # Too difficult to get check working under Windows (extra dependencies needed probably Boost)- so just skip it + if test "x$ac_cv_enable_windows" = "xno"; then + AC_CHECK_HEADER([mapnik/map.hpp],[],[AC_MSG_ERROR([mapnik/map.hpp is needed but not found - you will need to install package 'libmapnik-dev' or similar. The feature can be disabled with --disable-mapnik])]) + fi + AC_CHECK_LIB([mapnik], [main], [], [AC_MSG_ERROR([libmapnik is needed but not found.])]) + AC_CHECK_LIB([stdc++], [main], [], [AC_MSG_ERROR([libstdc++ is needed but not found.])]) + # Required for Mapnik3 build (it's also in Mapnik2 but does not need to be specified for some reason) + # it's part of libmapnik install dependencies + AC_CHECK_LIB([icuuc], [main], [], [AC_MSG_ERROR([libicuuc is needed but not found.])]) + AC_LANG_RESTORE + ;; +esac +AM_CONDITIONAL([MAPNIK], [test x$ac_cv_enable_mapnik = xyes]) ### +## WORK AROUND BROKEN autoconf - see http://lists.gnu.org/archive/html/bug-automake/2002-11/msg00020.html +m4_pushdef([AC_MSG_ERROR]) +AC_PROG_CXX +m4_popdef([AC_MSG_ERROR]) +## + AC_ARG_WITH(search, [AC_HELP_STRING([--with-search], [specify google or geonames for searching (default is google)])], @@ -410,7 +456,7 @@ AC_OUTPUT([ dnl Output the configuration summary echo "" echo "===========================================" -echo "$PACKAGE $VERSION" +echo "$PACKAGE $PACKAGE_URL $VERSION" echo "-------------------------------------------" echo "Bing Maps : $ac_cv_enable_bing" echo "Google : $ac_cv_enable_google" @@ -420,16 +466,16 @@ echo "Open Street Map : $ac_cv_enable_openstreetmap" echo "BlueMarble : $ac_cv_enable_bluemarble" echo "Geonames : $ac_cv_enable_geonames" echo "Geocaches Acquire : $ac_cv_enable_geocaches" -echo "Geotag Support : $ac_cv_enable_geotag" +echo "Geotag Support : $ac_cv_enable_geotag (libgexiv2=$ac_cv_lib_gexiv2_gexiv2_metadata_new libexif=$ac_cv_lib_exif_exif_loader_new)" echo "USGS 24k DEM : $ac_cv_enable_dem24k" echo "Realtime GPS Tracking : $ac_cv_enable_realtimegpstracking" echo "bzip2 Support : $ac_cv_enable_bzip2" echo "File Magic Support : $ac_cv_enable_magic" echo "MBTiles Support (SQLite3) : $ac_cv_enable_mbtiles" +echo "Mapnik Rendering Support (C++) : $ac_cv_enable_mapnik" echo "Size of map cache (in memory) : ${VIK_CONFIG_MAPCACHE_SIZE}" echo "Age of tiles (in seconds) : ${VIK_CONFIG_DEFAULT_TILE_AGE}" echo "Documentation (+HTML) : ${enable_gtk_doc} (HTML: ${enable_gtk_doc_html})" echo "-------------------------------------------" echo "" echo "Configure finished, type 'make' to build." -