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])
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)
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])
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)]),
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)
# Configuration
AC_CONFIG_FILES([
viking.spec
+ mingw-viking.spec
+ mingw64-viking.spec
Makefile
src/Makefile
src/icons/Makefile
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.
+"])