X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/ab92244238df63f100bcace212951275115830de..d475a88cdb851cc357b32f30eb23c2e2135bf264:/configure.ac diff --git a/configure.ac b/configure.ac index 82a30fce..93a47432 100644 --- a/configure.ac +++ b/configure.ac @@ -3,6 +3,10 @@ AC_PREREQ(2.64) AC_INIT(viking, 1.6.1, , viking, http://viking.sf.net/) + +AC_CANONICAL_HOST +AC_CANONICAL_TARGET + AM_INIT_AUTOMAKE([dist-bzip2 dist-zip subdir-objects]) dnl AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_HEADERS([src/config.h]) @@ -21,6 +25,15 @@ AC_PROG_MAKE_SET AC_PROG_RANLIB AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums) +ac_mingw32=no +case $target_os in + *mingw32*) + ac_mingw32=yes + ;; + *) + ;; +esac + # I18N GETTEXT_PACKAGE=viking AC_SUBST(GETTEXT_PACKAGE) @@ -298,7 +311,16 @@ AC_CACHE_CHECK([whether to enable bzip2 Support], case $ac_cv_enable_bzip2 in yes) AC_CHECK_HEADERS([bzlib.h],[],[AC_MSG_ERROR([bzlib.h is needed but not found - you will need to install package 'libbz2-dev' or similar. The feature can be disabled with --disable-bzip2])]) - AC_CHECK_LIB(bz2, BZ2_bzBuffToBuffDecompress, [], [AC_MSG_ERROR([libbz2 is needed but not found.])]) + if test "$ac_mingw32" = "yes"; then + # Using the cross compiler it bizarrely fails to detect BZ2_bzRead during the configure stage + # I SWEAR THIS WORKED AT SOME POINT - BUT ON A DIFFERENT DAY IT DOESN'T = MORE SWEARING + BZ2FUNC=main + AC_CHECK_LIB(bz2, [$BZ2FUNC], [], [LIBS="-lbz2 $LIBS" + AC_MSG_WARN([libbz2 not found! Forcing it anyway!])]) + else + BZ2FUNC=BZ2_bzRead + AC_CHECK_LIB(bz2, [$BZ2FUNC], [], [AC_MSG_ERROR([libbz2 is needed but not found.])]) + fi ;; esac AM_CONDITIONAL([BZIP2], [test x$ac_cv_enable_bzip2 = xyes]) @@ -358,6 +380,21 @@ case $ac_cv_enable_zip in esac AM_CONDITIONAL([ZIP], [test x$ac_cv_enable_zip = xyes]) +# ATM only for MD5 Hashing which is currently only used for filename of image thumbnails +AC_ARG_ENABLE(nettle, AC_HELP_STRING([--enable-nettle], + [enable MD5 Hash support (default is enable)]), + [ac_cv_enable_nettle=$enableval], + [ac_cv_enable_nettle=yes]) +AC_CACHE_CHECK([whether to enable MD5 Hash support], + [ac_cv_enable_nettle], [ac_cv_enable_nettle=yes]) +case $ac_cv_enable_nettle in + yes) + AC_CHECK_HEADER([nettle/md5-compat.h],[],[AC_MSG_ERROR([nettle/md5-compat.h is needed but not found - you will need to install package 'nettle-dev' or similar. The feature can be disabled with --disable-nettle])]) + AC_CHECK_LIB([nettle], [main], [], [AC_MSG_ERROR([libnettle is needed but not found.])]) + ;; +esac +AM_CONDITIONAL([MD5_HASH], [test x$ac_cv_enable_nettle = xyes]) + # Mapnik rendering layer AC_ARG_ENABLE(mapnik, AC_HELP_STRING([--enable-mapnik], [enable Mapnik (default is enable)]), @@ -431,13 +468,19 @@ AC_SUBST(DB2MAN_XSL) AC_PATH_PROG(XP,xsltproc) AM_CONDITIONAL([HAVE_XSLTPROC],[test "x$XP" != "x"]) AC_CHECK_PROG([HAVE_SCROLLKEEPER],scrollkeeper-config,"yes") -AM_CONDITIONAL([GEN_MANPAGES],[test "x$XP" != "x" && test -r "$DB2MAN_XSL"] && test "${HAVE_SCROLLKEEPER}" == "yes" ) +AM_CONDITIONAL([GEN_MANPAGES],[test "x$XP" != "x" && test -r "$DB2MAN_XSL"] && test "${HAVE_SCROLLKEEPER}" = "yes" ) +AM_COND_IF([GEN_MANPAGES], [ac_cv_enable_man=yes], [ac_cv_enable_man=no]) ISODATE=`date +%Y-%m-%d` AC_SUBST(ISODATE) +AC_DEFINE_UNQUOTED(THEYEAR, "`date +%Y`", [The Year]) + # Configuration AC_CONFIG_FILES([ + viking.spec + mingw-viking.spec + mingw64-viking.spec Makefile src/Makefile src/icons/Makefile @@ -455,36 +498,35 @@ AC_CONFIG_FILES([ doc/reference/Makefile doc/examples/Makefile]) -AC_OUTPUT([ - viking.spec - ]) +AC_OUTPUT dnl Output the configuration summary -echo "" -echo "===========================================" -echo "$PACKAGE $PACKAGE_URL $VERSION" -echo "-------------------------------------------" -echo "Bing Maps : $ac_cv_enable_bing" -echo "Google : $ac_cv_enable_google" -echo "Terraserver Maps : $ac_cv_enable_terraserver" -echo "Expedia Maps : $ac_cv_enable_expedia" -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 (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 "Zip File Support (with libzip) : $ac_cv_enable_zip" -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 -n "Man page generation : " -AM_COND_IF([GEN_MANPAGES], [echo "yes"], [echo "no"]) -echo "Documentation (+HTML) : ${enable_gtk_doc} (HTML: ${enable_gtk_doc_html})" -echo "-------------------------------------------" -echo "" -echo "Configure finished, type 'make' to build." +AC_MSG_NOTICE([" +=========================================== +$PACKAGE $PACKAGE_URL $VERSION +------------------------------------------- +Bing Maps : $ac_cv_enable_bing +Google : $ac_cv_enable_google +Terraserver Maps : $ac_cv_enable_terraserver +Expedia Maps : $ac_cv_enable_expedia +Open Street Map : $ac_cv_enable_openstreetmap +BlueMarble : $ac_cv_enable_bluemarble +Geonames : $ac_cv_enable_geonames +Geocaches Acquire : $ac_cv_enable_geocaches +Geotag Support : $ac_cv_enable_geotag (libgexiv2=$ac_cv_lib_gexiv2_gexiv2_metadata_new libexif=$ac_cv_lib_exif_exif_loader_new) +USGS 24k DEM : $ac_cv_enable_dem24k +Realtime GPS Tracking : $ac_cv_enable_realtimegpstracking +bzip2 Support : $ac_cv_enable_bzip2 +File Magic Support : $ac_cv_enable_magic +MBTiles Support (SQLite3) : $ac_cv_enable_mbtiles +Zip File Support (with libzip) : $ac_cv_enable_zip +MD5 Hash Support (with libnettle): $ac_cv_enable_nettle +Mapnik Rendering Support (C++) : $ac_cv_enable_mapnik +Size of map cache (in memory) : ${VIK_CONFIG_MAPCACHE_SIZE} +Age of tiles (in seconds) : ${VIK_CONFIG_DEFAULT_TILE_AGE} +Man page generation : $ac_cv_enable_man +Documentation (+HTML) : ${enable_gtk_doc} (HTML: ${enable_gtk_doc_html}) +------------------------------------------- + +Configure finished, type 'make' to build. +"])