X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/95894e5db329064fbcc5d52820793c7ca9ded2a5..7f44287fff695eddba291fa72a900e68ff7bd0a1:/configure.ac diff --git a/configure.ac b/configure.ac index cb8439cf..f442eb68 100644 --- a/configure.ac +++ b/configure.ac @@ -2,13 +2,15 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT(viking, 0.9.91) -AM_INIT_AUTOMAKE() +AC_INIT(viking, 1.5, , 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]) +GTK_DOC_CHECK(1.0) -# Checks for programs. AC_PROG_CC +AC_PROG_CC_STDC +# Checks for programs. AC_PROG_MAKE_SET AC_PROG_RANLIB AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums) @@ -20,7 +22,9 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name]) AM_GLIB_DEFINE_LOCALEDIR(LOCALEDIR) -AM_GLIB_GNU_GETTEXT +AM_GNU_GETTEXT_VERSION([0.17]) +AM_GNU_GETTEXT([external]) + IT_PROG_INTLTOOL([0.35.0]) AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS']) @@ -32,16 +36,33 @@ AC_SUBST(ACLOCAL_AMFLAGS) # Checks for header files. AC_HEADER_STDC -AC_CHECK_HEADERS([malloc.h netdb.h netinet/in.h stdlib.h string.h sys/param.h sys/socket.h sys/types.h sys/wait.h unistd.h math.h utime.h]) +AC_CHECK_HEADERS([malloc.h stdlib.h string.h sys/param.h sys/types.h unistd.h math.h utime.h X11/Xlib.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_MODE_T -# Checks for library functions. +# Checks for library functions or symbols AC_FUNC_STAT AC_FUNC_STRTOD -AC_CHECK_FUNCS([floor gethostbyname memset mkdtemp pow realpath socket sqrt strcasecmp strchr strdup strncasecmp strtol strtoul]) +AC_CHECK_FUNCS([floor memset mkdtemp pow realpath sqrt strcasecmp strchr strdup strncasecmp strtol strtoul]) +AC_CHECK_LIB(m, tan) +AC_CHECK_LIB(z, inflate) +AC_CHECK_LIB(X11, XSetErrorHandler) + +# ATM not running automake under Windows +#AC_CHECK_PROG(USE_WINDOWS, cmd.exe, yes, no) +#AM_CONDITIONAL([WINDOWS], [test x$USE_WINDOWS = xyes]) +# So pass in as an option instead +# This is only to perform slightly different build steps +# (the code uses standard WINDOWS defines for any specific different behaviour) +AC_ARG_ENABLE(windows, AC_HELP_STRING([--enable-windows], + [Perform specific Windows build steps (default is no)]), + [ac_cv_enable_windows=$enableval], + [ac_cv_enable_windows=no]) +AC_CACHE_CHECK([whether to enable Windows build steps], + [ac_cv_enable_windows], [ac_cv_enable_windows=no]) +AM_CONDITIONAL([WINDOWS], [test x$ac_cv_enable_windows = xyes]) # Expat AM_WITH_EXPAT @@ -51,7 +72,7 @@ LIBCURL_CHECK_CONFIG([yes],[],[],[AC_MSG_ERROR([libcurl is needed but not found] # gdk-pixbuf-csource AC_CHECK_PROG([GDK_PIXBUF_CSOURCE],gdk-pixbuf-csource,[yes]) -if test $GDK_PIXBUF_CSOURCE != "yes" +if test "x$GDK_PIXBUF_CSOURCE" != "xyes" then AC_MSG_ERROR([gdk-pixbuf-csource is needed but not found]) fi @@ -61,44 +82,57 @@ dnl | Pkgconfig checks |--------------------------------------- dnl ------------------ PKG_CHECK_MODULES(PACKAGE, [ - glib-2.0 >= 2.12 + glib-2.0 >= 2.16 gthread-2.0 >= 2.2 - gtk+-2.0 >= 2.12 + gtk+-2.0 >= 2.16 gio-2.0 >= 2.12 ]) AC_SUBST(PACKAGE_CFLAGS) AC_SUBST(PACKAGE_LIBS) -############### -# Depecations # -############### +dnl ------------- +dnl | User Manual |--------------------------------------- +dnl ------------- +GNOME_DOC_INIT + +dnl --------------------------------------------------------------------------- +dnl - Use deprecated options (default enabled for devs, disabled in releases) +dnl --------------------------------------------------------------------------- + AC_ARG_ENABLE(deprecations, [AC_HELP_STRING([--enable-deprecations], - [warn about deprecated usages [default=no]])],, - [enable_deprecations=no]) + [warn about deprecated usages [default=no]])], + [ac_cv_enable_deprecations=$enableval], + [ac_cv_enable_deprecations=no]) +AC_CACHE_CHECK([whether to enable deprecated features], + [ac_cv_enable_deprecations], [ac_cv_enable_deprecations=no]) -if test "x$enable_deprecations" = "xyes"; then +if test "x$ac_cv_enable_deprecations" = "xyes"; then DISABLE_DEPRECATED_CFLAGS="\ +-DG_DISABLE_SINGLE_INCLUDES \ +-DGSEAL_ENABLE \ -DG_DISABLE_DEPRECATED \ -DGDK_DISABLE_DEPRECATED \ --DGTK_DISABLE_DEPRECATED \ --DGDK_PIXBUF_DISABLE_DEPRECATED" - AC_SUBST(DISABLE_DEPRECATED_CFLAGS) +-DGDK_PIXBUF_DISABLE_DEPRECATED \ +-DGTK_DISABLE_SINGLE_INCLUDES \ +-DGTK_DISABLE_DEPRECATED" + CPPFLAGS="$CPPFLAGS $DISABLE_DEPRECATED_CFLAGS" fi # Options -AC_ARG_ENABLE(alphabetized-trw, AC_HELP_STRING([--enable-alphabetized-trw], - [enable alphabetized track & waypoints (default is enable)]), - [ac_cv_enable_alpha_trw=$enableval], - [ac_cv_enable_alpha_trw=yes]) -AC_CACHE_CHECK([whether to enable alphabetized track & waypoint], - [ac_cv_enable_alpha_trw], [ac_cv_enable_alpha_trw=yes]) -case $ac_cv_enable_alpha_trw in +AC_ARG_ENABLE(bing, AC_HELP_STRING([--enable-bing], + [enable Bing stuff (default is enable)]), + [ac_cv_enable_bing=$enableval], + [ac_cv_enable_bing=yes]) +AC_CACHE_CHECK([whether to enable Bing stuff], + [ac_cv_enable_bing], [ac_cv_enable_bing=yes]) +case $ac_cv_enable_bing in yes) - AC_DEFINE(VIK_CONFIG_ALPHABETIZED_TRW, [], [NO ALPHABETIZED TRW]) + AC_DEFINE(VIK_CONFIG_BING, [], [BING STUFF]) ;; esac +AM_CONDITIONAL([BING], [test x$ac_cv_enable_bing = xyes]) AC_ARG_ENABLE(google, AC_HELP_STRING([--enable-google], [enable Google stuff (default is enable)]), @@ -114,9 +148,9 @@ esac AM_CONDITIONAL([GOOGLE], [test x$ac_cv_enable_google = xyes]) AC_ARG_ENABLE(terraserver, AC_HELP_STRING([--enable-terraserver], - [enable Terraserver stuff (default is enable)]), + [enable Terraserver stuff (default is disabled as the tileserver is no longer available)]), [ac_cv_enable_terraserver=$enableval], - [ac_cv_enable_terraserver=yes]) + [ac_cv_enable_terraserver=no]) AC_CACHE_CHECK([whether to enable Terraserver stuff], [ac_cv_enable_terraserver], [ac_cv_enable_terraserver=yes]) case $ac_cv_enable_terraserver in @@ -194,6 +228,19 @@ case $ac_cv_enable_geocaches in esac AM_CONDITIONAL([GEOCACHES], [test x$ac_cv_enable_geocaches = xyes]) +AC_ARG_ENABLE(geotag, AC_HELP_STRING([--enable-geotag], + [enable Geotag Support (default is enable).]), + [ac_cv_enable_geotag=$enableval], + [ac_cv_enable_geotag=yes]) +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])) + AC_DEFINE(VIK_CONFIG_GEOTAG, [], [GEOTAG STUFF]) + ;; +esac +AM_CONDITIONAL([GEOTAG], [test x$ac_cv_enable_geotag = 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.]), @@ -217,18 +264,58 @@ AC_CACHE_CHECK([whether to enable Realtime GPS Tracking stuff], [ac_cv_enable_realtimegpstracking], [ac_cv_enable_realtimegpstracking=yes]) case $ac_cv_enable_realtimegpstracking in yes) - AC_CHECK_LIB(gps,gps_poll,,AC_MSG_ERROR([libgps is needed for Realtime GPS Tracking feature[,] but not found. The feature can be disable with --disable-realtime-gps-tracking])) + AC_CHECK_LIB(gps,gps_close,,AC_MSG_ERROR([libgps is needed for Realtime GPS Tracking feature[,] but not found. The feature can be disable with --disable-realtime-gps-tracking])) AC_DEFINE(VIK_CONFIG_REALTIME_GPS_TRACKING, [], [REALTIME GPS TRACKING STUFF]) ;; esac AM_CONDITIONAL([REALTIME_GPS_TRACKING], [test x$ac_cv_enable_realtimegpstracking = xyes]) -# Viking supports two incompatibles versions of GPSd: 2.39 and 2.90 -# But GPSd does not provides easy way to test features. -if test x$ac_cv_enable_realtimegpstracking = xyes -then - AC_CHECK_FUNCS(gps_stream) - AC_CHECK_FUNCS(gps_open_r) -fi + +# BZIP2 +AC_ARG_ENABLE(bz2, AC_HELP_STRING([--enable-bzip2], + [enable bzip2 Support (default is enable).]), + [ac_cv_enable_bzip2=$enableval], + [ac_cv_enable_bzip2=yes]) +AC_CACHE_CHECK([whether to enable bzip2 Support], + [ac_cv_enable_bzip2], [ac_cv_enable_bzip2=yes]) +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.])]) + ;; +esac +AM_CONDITIONAL([BZIP2], [test x$ac_cv_enable_bzip2 = xyes]) + +# FILE MAGIC +AC_ARG_ENABLE(magic, AC_HELP_STRING([--enable-magic], + [enable File Magic support via libmagic (default is enable).]), + [ac_cv_enable_magic=$enableval], + [ac_cv_enable_magic=yes]) +AC_CACHE_CHECK([whether to enable Magic Support], + [ac_cv_enable_magic], [ac_cv_enable_magic=yes]) +case $ac_cv_enable_magic in + yes) + AC_CHECK_HEADERS([magic.h],[],[AC_MSG_ERROR([magic.h is needed but not found - you will need to install package 'libmagic-dev' or similar. The feature can be disabled with --disable-magic])]) + AC_CHECK_LIB(magic, magic_open, [], [AC_MSG_ERROR([libmagic is needed but not found.])]) + ;; +esac +AM_CONDITIONAL([MAGIC], [test x$ac_cv_enable_magic = xyes]) + +# SQL for MBTiles +AC_ARG_ENABLE(mbtiles, AC_HELP_STRING([--enable-mbtiles], + [enable MBTiles support via libsqlite3 (default is enable).]), + [ac_cv_enable_mbtiles=$enableval], + [ac_cv_enable_mbtiles=yes]) +AC_CACHE_CHECK([whether to enable MBTiles Support], + [ac_cv_enable_mbtiles], [ac_cv_enable_mbtiles=yes]) +case $ac_cv_enable_mbtiles in + yes) + AC_CHECK_HEADERS([sqlite3.h],[],[AC_MSG_ERROR([sqlite3.h is needed but not found - you will need to install package 'libsqlite3-dev' or similar. The feature can be disabled with --disable-mbtiles])]) + AC_CHECK_LIB(sqlite3, sqlite3_open, [], [AC_MSG_ERROR([libsqlite3 is needed but not found.])]) + ;; +esac +AM_CONDITIONAL([SQLITE], [test x$ac_cv_enable_mbtiles = xyes]) + +### AC_ARG_WITH(search, [AC_HELP_STRING([--with-search], @@ -254,22 +341,22 @@ AC_DEFINE_UNQUOTED(VIK_CONFIG_SEARCH, ${VIK_CONFIG_SEARCH}, AC_ARG_WITH(mapcache, [AC_HELP_STRING([--with-mapcache], - [specify the size of the map cache (default is 50331648)])], + [specify the size of the map cache in MB (default is 128)])], [if test "x$withval" = "xno"; then VIK_CONFIG_MAPCACHE_SIZE=0; elif test "x$withval" = "xyes"; then - AC_MSG_ERROR([Please, set a value for size of the map cache]) + AC_MSG_ERROR([Please, set a value for size of the map cache in MB]) else VIK_CONFIG_MAPCACHE_SIZE=${withval} fi], - [VIK_CONFIG_MAPCACHE_SIZE=50331648]) + [VIK_CONFIG_MAPCACHE_SIZE=128]) AC_DEFINE_UNQUOTED(VIK_CONFIG_MAPCACHE_SIZE, ${VIK_CONFIG_MAPCACHE_SIZE}, [Size of the map cache]) AC_ARG_WITH(tileage, [AC_HELP_STRING([--with-tileage], - [specify the age of a tile before checking it (default is 30 s)])], + [specify the age of a tile before checking it (default is 7 days)])], [if test "x$withval" = "xno"; then VIK_CONFIG_DEFAULT_TILE_AGE=0; elif test "x$withval" = "xyes"; then @@ -277,14 +364,16 @@ AC_ARG_WITH(tileage, else VIK_CONFIG_DEFAULT_TILE_AGE=${withval} fi], - [VIK_CONFIG_DEFAULT_TILE_AGE=30]) + [VIK_CONFIG_DEFAULT_TILE_AGE=604800]) AC_DEFINE_UNQUOTED(VIK_CONFIG_DEFAULT_TILE_AGE, ${VIK_CONFIG_DEFAULT_TILE_AGE}, - [Age of tiles before cheking it (in seconds)]) + [Age of tiles before checking it (in seconds)]) +AC_DEFINE(HAVE_VIKING, 1, [Enable Viking specifics in otherwise reusable code]) dnl man pages processing DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl AC_SUBST(DB2MAN_XSL) AC_PATH_PROG(XP,xsltproc) +AM_CONDITIONAL([HAVE_XSLTPROC],[test "x$XP" != "x"]) AM_CONDITIONAL([GEN_MANPAGES],[test "x$XP" != "x" && test -r "$DB2MAN_XSL"]) dnl This will cause the automake generated makefiles to pass the @@ -292,15 +381,27 @@ dnl correct flags to aclocal. ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}" AC_SUBST(ACLOCAL_AMFLAGS) +AM_CONDITIONAL([VIKING_DOC], test x${enable_gtk_doc} = xyes) + # Configuration -AC_CONFIG_FILES([Makefile - src/Makefile - src/icons/Makefile - po/Makefile.in - test/Makefile - doc/Makefile - doc/examples/Makefile - doc/dev/Makefile]) +AC_CONFIG_FILES([ + Makefile + src/Makefile + src/icons/Makefile + po/Makefile.in + data/Makefile + test/Makefile + help/Makefile + win32/Makefile + win32/installer/Makefile + win32/installer/pixmaps/Makefile + win32/installer/translations/Makefile]) +AM_COND_IF([VIKING_DOC], + [AC_CONFIG_FILES([ + doc/Makefile + doc/reference/Makefile + doc/examples/Makefile])]) + AC_OUTPUT([ viking.spec ]) @@ -310,18 +411,23 @@ echo "" echo "===========================================" echo "$PACKAGE $VERSION" echo "-------------------------------------------" -echo "Alphabetized track & waypoints : $ac_cv_enable_alpha_trw" -echo "Google Maps : $ac_cv_enable_google" +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 "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 "Geocaches Acquire : $ac_cv_enable_geocaches" +echo "Geotag Support : $ac_cv_enable_geotag" 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 "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."