]> git.street.me.uk Git - andy/viking.git/blob - configure.ac
Some spelling fixes in a comment
[andy/viking.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ(2.64)
5 AC_INIT(viking, 1.6.1, , viking, http://viking.sf.net/)
6
7 AC_CANONICAL_HOST
8 AC_CANONICAL_TARGET
9
10 AM_INIT_AUTOMAKE([dist-bzip2 dist-zip subdir-objects])
11 dnl AC_CONFIG_SRCDIR([src/main.c])
12 AC_CONFIG_HEADERS([src/config.h])
13
14 # check for gtk-doc
15 m4_ifdef([GTK_DOC_CHECK], [
16 GTK_DOC_CHECK([1.0],[--flavour no-tmpl])
17 ],[
18 AM_CONDITIONAL([ENABLE_GTK_DOC], false)
19 ])
20
21 AC_PROG_CC
22 AC_PROG_CC_STDC
23 # Checks for programs.
24 AC_PROG_MAKE_SET
25 AC_PROG_RANLIB
26 AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
27
28 ac_mingw32=no
29 case $target_os in
30   *mingw32*)
31     ac_mingw32=yes
32   ;;
33   *)
34   ;;
35 esac
36
37 # I18N
38 GETTEXT_PACKAGE=viking
39 AC_SUBST(GETTEXT_PACKAGE)
40 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name])
41
42 AM_GLIB_DEFINE_LOCALEDIR(LOCALEDIR)
43
44 AM_GNU_GETTEXT_VERSION([0.17])
45 AM_GNU_GETTEXT([external])
46
47 IT_PROG_INTLTOOL([0.35.0])
48
49 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
50
51 dnl This will cause the automake generated makefiles to pass the
52 dnl correct flags to aclocal.
53 ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
54 AC_SUBST(ACLOCAL_AMFLAGS)
55
56 # Checks for header files.
57 AC_HEADER_STDC
58 AC_CHECK_HEADERS([malloc.h stdlib.h string.h sys/param.h sys/types.h unistd.h math.h utime.h X11/Xlib.h])
59
60 # Checks for typedefs, structures, and compiler characteristics.
61 AC_C_CONST
62 AC_TYPE_MODE_T
63
64 # Checks for library functions or symbols
65 AC_CHECK_FUNCS([floor memset mkdtemp pow realpath sqrt strcasecmp strchr strncasecmp strtol strtoul])
66 AC_CHECK_LIB(m, tan)
67 AC_CHECK_LIB(z, inflate)
68 AC_CHECK_LIB(X11, XSetErrorHandler)
69
70 # ATM not running automake under Windows
71 #AC_CHECK_PROG(USE_WINDOWS, cmd.exe, yes, no)
72 #AM_CONDITIONAL([WINDOWS], [test x$USE_WINDOWS = xyes])
73 # So pass in as an option instead
74 # This is only to perform slightly different build steps
75 #  (the code uses standard WINDOWS defines for any specific different behaviour)
76 AC_ARG_ENABLE(windows, AC_HELP_STRING([--enable-windows],
77               [Perform specific Windows build steps (default is no)]),
78               [ac_cv_enable_windows=$enableval],
79               [ac_cv_enable_windows=no])
80 AC_CACHE_CHECK([whether to enable Windows build steps],
81                [ac_cv_enable_windows], [ac_cv_enable_windows=no])
82 AM_CONDITIONAL([WINDOWS], [test x$ac_cv_enable_windows = xyes])
83
84 # Expat
85 AM_WITH_EXPAT
86
87 # Curl
88 LIBCURL_CHECK_CONFIG([yes],[],[],[AC_MSG_ERROR([libcurl is needed but not found])])
89
90 # gdk-pixbuf-csource
91 AC_CHECK_PROG([GDK_PIXBUF_CSOURCE],gdk-pixbuf-csource,[yes])
92 if test "x$GDK_PIXBUF_CSOURCE" != "xyes"
93 then
94   AC_MSG_ERROR([gdk-pixbuf-csource is needed but not found])
95 fi
96
97 dnl  ------------------
98 dnl | Pkgconfig checks |---------------------------------------
99 dnl  ------------------
100
101 PKG_CHECK_MODULES(PACKAGE, [
102         glib-2.0          >= 2.26
103         gthread-2.0       >= 2.2
104         gtk+-2.0          >= 2.16
105         gio-2.0           >= 2.12
106 ])
107
108 AC_SUBST(PACKAGE_CFLAGS)
109 AC_SUBST(PACKAGE_LIBS)
110
111 dnl  -------------
112 dnl | User Manual |---------------------------------------
113 dnl  -------------
114 GNOME_DOC_INIT
115
116 dnl ---------------------------------------------------------------------------
117 dnl - Use deprecated options (default enabled for devs, disabled in releases) 
118 dnl ---------------------------------------------------------------------------
119
120 AC_ARG_ENABLE(deprecations,
121               [AC_HELP_STRING([--enable-deprecations],
122                               [warn about deprecated usages [default=no]])],
123                               [ac_cv_enable_deprecations=$enableval],
124                               [ac_cv_enable_deprecations=no])
125 AC_CACHE_CHECK([whether to enable deprecated features],
126                [ac_cv_enable_deprecations], [ac_cv_enable_deprecations=no])
127
128 if test "x$ac_cv_enable_deprecations" = "xyes"; then
129    DISABLE_DEPRECATED_CFLAGS="\
130 -DG_DISABLE_SINGLE_INCLUDES \
131 -DGSEAL_ENABLE \
132 -DG_DISABLE_DEPRECATED \
133 -DGDK_DISABLE_DEPRECATED \
134 -DGDK_PIXBUF_DISABLE_DEPRECATED \
135 -DGTK_DISABLE_SINGLE_INCLUDES \
136 -DGTK_DISABLE_DEPRECATED"
137    CPPFLAGS="$CPPFLAGS $DISABLE_DEPRECATED_CFLAGS"
138 fi
139
140 # Options
141 AC_ARG_ENABLE(bing, AC_HELP_STRING([--enable-bing],
142               [enable Bing stuff (default is enable)]),
143               [ac_cv_enable_bing=$enableval],
144               [ac_cv_enable_bing=yes])
145 AC_CACHE_CHECK([whether to enable Bing stuff],
146                [ac_cv_enable_bing], [ac_cv_enable_bing=yes])
147 case $ac_cv_enable_bing in
148   yes)
149     AC_DEFINE(VIK_CONFIG_BING, [], [BING STUFF])
150     ;;
151 esac
152 AM_CONDITIONAL([BING], [test x$ac_cv_enable_bing = xyes])
153
154 AC_ARG_ENABLE(google, AC_HELP_STRING([--enable-google],
155               [enable Google stuff (default is enable)]),
156               [ac_cv_enable_google=$enableval],
157               [ac_cv_enable_google=yes])
158 AC_CACHE_CHECK([whether to enable Google stuff],
159                [ac_cv_enable_google], [ac_cv_enable_google=yes])
160 case $ac_cv_enable_google in
161   yes)
162     AC_DEFINE(VIK_CONFIG_GOOGLE, [], [GOOGLE STUFF])
163     ;;
164 esac
165 AM_CONDITIONAL([GOOGLE], [test x$ac_cv_enable_google = xyes])
166
167 AC_ARG_ENABLE(terraserver, AC_HELP_STRING([--enable-terraserver],
168               [enable Terraserver stuff (default is disabled as the tileserver is no longer available)]),
169               [ac_cv_enable_terraserver=$enableval],
170               [ac_cv_enable_terraserver=no])
171 AC_CACHE_CHECK([whether to enable Terraserver stuff],
172                [ac_cv_enable_terraserver], [ac_cv_enable_terraserver=yes])
173 case $ac_cv_enable_terraserver in
174   yes)
175     AC_DEFINE(VIK_CONFIG_TERRASERVER, [], [TERRASERVER STUFF])
176     ;;
177 esac
178 AM_CONDITIONAL([TERRASERVER], [test x$ac_cv_enable_terraserver = xyes])
179
180 AC_ARG_ENABLE(expedia, AC_HELP_STRING([--enable-expedia],
181               [enable Expedia stuff (default is disable)]),
182               [ac_cv_enable_expedia=$enableval],
183               [ac_cv_enable_expedia=no])
184 AC_CACHE_CHECK([whether to enable Expedia stuff],
185                [ac_cv_enable_expedia], [ac_cv_enable_expedia=yes])
186 case $ac_cv_enable_expedia in
187   yes)
188     AC_DEFINE(VIK_CONFIG_EXPEDIA, [], [EXPEDIA STUFF])
189     ;;
190 esac
191 AM_CONDITIONAL([EXPEDIA], [test x$ac_cv_enable_expedia = xyes])
192
193 # OpenStreetMap http://www.openstreetmap.org/
194 AC_ARG_ENABLE(openstreetmap, AC_HELP_STRING([--enable-openstreetmap],
195               [enable OpenStreetMap stuff (default is enable)]),
196               [ac_cv_enable_openstreetmap=$enableval],
197               [ac_cv_enable_openstreetmap=yes])
198 AC_CACHE_CHECK([whether to enable OpenStreetMap stuff],
199                [ac_cv_enable_openstreetmap], [ac_cv_enable_openstreetmap=yes])
200 case $ac_cv_enable_openstreetmap in
201   yes)
202     AC_DEFINE(VIK_CONFIG_OPENSTREETMAP, [], [OPENSTREETMAP STUFF])
203     ;;
204 esac
205 AM_CONDITIONAL([OPENSTREETMAP], [test x$ac_cv_enable_openstreetmap = xyes])
206
207 # BlueMarble
208 AC_ARG_ENABLE(bluemarble, AC_HELP_STRING([--enable-bluemarble],
209               [enable BlueMarble stuff (default is enable)]),
210               [ac_cv_enable_bluemarble=$enableval],
211               [ac_cv_enable_bluemarble=yes])
212 AC_CACHE_CHECK([whether to enable BlueMarble stuff],
213                [ac_cv_enable_bluemarble], [ac_cv_enable_bluemarble=yes])
214 case $ac_cv_enable_bluemarble in
215   yes)
216     AC_DEFINE(VIK_CONFIG_BLUEMARBLE, [], [BLUEMARBLE STUFF])
217     ;;
218 esac
219 AM_CONDITIONAL([BLUEMARBLE], [test x$ac_cv_enable_bluemarble = xyes])
220
221 # GeoNames http://www.geonames.org/
222 AC_ARG_ENABLE(geonames, AC_HELP_STRING([--enable-geonames],
223               [enable Geonames stuff (default is enable)]),
224               [ac_cv_enable_geonames=$enableval],
225               [ac_cv_enable_geonames=yes])
226 AC_CACHE_CHECK([whether to enable Geonames stuff],
227                [ac_cv_enable_geonames], [ac_cv_enable_geonames=yes])
228 case $ac_cv_enable_geonames in
229   yes)
230     AC_DEFINE(VIK_CONFIG_GEONAMES, [], [GEONAMES STUFF])
231     ;;
232 esac
233 AM_CONDITIONAL([GEONAMES], [test x$ac_cv_enable_geonames = xyes])
234
235 AC_ARG_ENABLE(geocaches, AC_HELP_STRING([--enable-geocaches],
236               [enable Geocaches Acquire (default is disable).]),
237               [ac_cv_enable_geocaches=$enableval],
238               [ac_cv_enable_geocaches=no])
239 AC_CACHE_CHECK([whether to enable Geocaches Acquire],
240                [ac_cv_enable_geocaches], [ac_cv_enable_geocaches=yes])
241 case $ac_cv_enable_geocaches in
242   yes)
243     AC_DEFINE(VIK_CONFIG_GEOCACHES, [], [GEOCACHES STUFF])
244     ;;
245 esac
246 AM_CONDITIONAL([GEOCACHES], [test x$ac_cv_enable_geocaches = xyes])
247
248 # Geotagging
249 AC_ARG_WITH(libexif, AC_HELP_STRING([--with-libexif], [Force usage of libexif instead of libgexiv2]))
250 AC_ARG_ENABLE(geotag, AC_HELP_STRING([--enable-geotag],
251               [enable Geotag Support (default is enable).]),
252               [ac_cv_enable_geotag=$enableval],
253               [ac_cv_enable_geotag=yes])
254 AC_CACHE_CHECK([whether to enable Geotag Support],
255                [ac_cv_enable_geotag], [ac_cv_enable_geotag=yes])
256 case $ac_cv_enable_geotag in
257   yes)
258     AS_IF([test x$with_libexif = xyes],
259       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]))
260       AC_CHECK_LIB(exif,exif_loader_new,, AC_MSG_ERROR([libexif is not found but it has been forcibly required])),
261       # gexiv2.h relies on glib so a simple compile check fails.
262       #AC_CHECK_HEADER([gexiv2/gexiv2.h],,AC_MSG_ERROR([Error msg...]))
263       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]))
264       )
265     AC_DEFINE(VIK_CONFIG_GEOTAG, [], [GEOTAG STUFF])
266     ;;
267 esac
268 AM_CONDITIONAL([GEOTAG], [test x$ac_cv_enable_geotag = xyes])
269 AM_CONDITIONAL([GEXIV2], [test x$ac_cv_lib_gexiv2_gexiv2_metadata_new = xyes] )
270 # Tested with gexiv2 0.10.2, but probably would work with older versions; may be all of them...
271 #AM_COND_IF([GEXIV2], [PKG_CHECK_MODULES([GEXIV2], [gexiv2 >= 0.6.1])])
272 AM_CONDITIONAL([LIBEXIF], [test x$ac_cv_lib_exif_exif_loader_new = xyes] )
273
274 AC_ARG_ENABLE(dem24k, AC_HELP_STRING([--enable-dem24k],
275               [enable USGS 24k DEM (default is disable) download source. Requires dem24k.pl script in path.]),
276               [ac_cv_enable_dem24k=$enableval],
277               [ac_cv_enable_dem24k=no])
278 AC_CACHE_CHECK([whether to enable USGS DEM 24k download source],
279                [ac_cv_enable_dem24k], [ac_cv_enable_dem24k=yes])
280 case $ac_cv_enable_dem24k in
281   yes)
282     AC_DEFINE(VIK_CONFIG_DEM24K, [], [DEM24K STUFF])
283     ;;
284 esac
285 AM_CONDITIONAL([DEM24K], [test x$ac_cv_enable_dem24k = xyes])
286
287 # Realtime GPS tracking
288 AC_ARG_ENABLE(realtime-gps-tracking, AC_HELP_STRING([--enable-realtime-gps-tracking],
289               [enable realtime GPS tracking (default is enable)]),
290               [ac_cv_enable_realtimegpstracking=$enableval],
291               [ac_cv_enable_realtimegpstracking=yes])
292 AC_CACHE_CHECK([whether to enable Realtime GPS Tracking stuff],
293                [ac_cv_enable_realtimegpstracking], [ac_cv_enable_realtimegpstracking=yes])
294 case $ac_cv_enable_realtimegpstracking in
295   yes)
296     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]))
297     AC_DEFINE(VIK_CONFIG_REALTIME_GPS_TRACKING, [], [REALTIME GPS TRACKING STUFF])
298     ;;
299 esac
300 AM_CONDITIONAL([REALTIME_GPS_TRACKING], [test x$ac_cv_enable_realtimegpstracking = xyes])
301
302 # BZIP2
303 AC_ARG_ENABLE(bzip2, AC_HELP_STRING([--enable-bzip2],
304               [enable bzip2 Support (default is enable).]),
305               [ac_cv_enable_bzip2=$enableval],
306               [ac_cv_enable_bzip2=yes])
307 AC_CACHE_CHECK([whether to enable bzip2 Support],
308                [ac_cv_enable_bzip2], [ac_cv_enable_bzip2=yes])
309 case $ac_cv_enable_bzip2 in
310   yes)
311     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])])
312     if test "$ac_mingw32" = "yes"; then
313       # Using the cross compiler it bizarrely fails to detect BZ2_bzRead during the configure stage
314       # I SWEAR THIS WORKED AT SOME POINT - BUT ON A DIFFERENT DAY IT DOESN'T = MORE SWEARING
315       BZ2FUNC=main
316       AC_CHECK_LIB(bz2, [$BZ2FUNC], [], [LIBS="-lbz2 $LIBS"
317                                          AC_MSG_WARN([libbz2 not found! Forcing it anyway!])])
318     else
319       BZ2FUNC=BZ2_bzRead
320       AC_CHECK_LIB(bz2, [$BZ2FUNC], [], [AC_MSG_ERROR([libbz2 is needed but not found.])])
321     fi
322     ;;
323 esac
324 AM_CONDITIONAL([BZIP2], [test x$ac_cv_enable_bzip2 = xyes])
325
326 # FILE MAGIC
327 AC_ARG_ENABLE(magic, AC_HELP_STRING([--enable-magic],
328               [enable File Magic support via libmagic (default is enable).]),
329               [ac_cv_enable_magic=$enableval],
330               [ac_cv_enable_magic=yes])
331 AC_CACHE_CHECK([whether to enable Magic Support],
332                [ac_cv_enable_magic], [ac_cv_enable_magic=yes])
333 case $ac_cv_enable_magic in
334   yes)
335     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])])
336     AC_CHECK_LIB(magic, magic_open, [], [AC_MSG_ERROR([libmagic is needed but not found.])])
337     ;;
338 esac
339 AM_CONDITIONAL([MAGIC], [test x$ac_cv_enable_magic = xyes])
340
341 # SQL for MBTiles
342 AC_ARG_ENABLE(mbtiles, AC_HELP_STRING([--enable-mbtiles],
343               [enable MBTiles support via libsqlite3 (default is enable).]),
344               [ac_cv_enable_mbtiles=$enableval],
345               [ac_cv_enable_mbtiles=yes])
346 AC_CACHE_CHECK([whether to enable MBTiles Support],
347                [ac_cv_enable_mbtiles], [ac_cv_enable_mbtiles=yes])
348 case $ac_cv_enable_mbtiles in
349   yes)
350     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])])
351     AC_CHECK_LIB(sqlite3, sqlite3_open, [], [AC_MSG_ERROR([libsqlite3 is needed but not found.])])
352     ;;
353 esac
354 AM_CONDITIONAL([SQLITE], [test x$ac_cv_enable_mbtiles = xyes])
355
356 # Standard compression is handled by libz
357 # libzip enables a friendlier file based interface
358 # libzip itself depends on libz (which is required in the Viking build ATM)
359 # ZIP
360 AC_ARG_ENABLE(zip, AC_HELP_STRING([--enable-zip],
361               [enable zip support (default is enable).]),
362               [ac_cv_enable_zip=$enableval],
363               [ac_cv_enable_zip=yes])
364 AC_CACHE_CHECK([whether to enable zip Support],
365                [ac_cv_enable_zip], [ac_cv_enable_zip=yes])
366 case $ac_cv_enable_zip in
367   yes)
368     # NB As far as I can tell libzip doesn't provide any versioning info within the header code itself
369     # Thus supporting old versions via simple #if #else #endif directives is seemingly not possible
370     # Resort to checking versioning only via pkgconfig
371     PKG_CHECK_MODULES([LIBZIP], [libzip >= 0.11],
372       [ AC_CHECK_HEADERS([zip.h],[],[AC_MSG_ERROR([zip.h is needed but not found - you will need to install package 'libzip-dev' or similar. The feature can be disabled with --disable-zip])])
373         AC_CHECK_LIB(zip, [main], [], [AC_MSG_ERROR([libzip is needed but not found.])]) ],
374       [ AC_MSG_WARN([libzip version needs to be at least 0.11, use of libzip is disabled])
375         ac_cv_enable_zip=no ]
376   )
377     ;;
378 esac
379 AM_CONDITIONAL([ZIP], [test x$ac_cv_enable_zip = xyes])
380
381 # ATM only for MD5 Hashing which is currently only used for filename of image thumbnails
382 AC_ARG_ENABLE(nettle, AC_HELP_STRING([--enable-nettle],
383               [enable MD5 Hash support (default is enable)]),
384               [ac_cv_enable_nettle=$enableval],
385               [ac_cv_enable_nettle=yes])
386 AC_CACHE_CHECK([whether to enable MD5 Hash support],
387                [ac_cv_enable_nettle], [ac_cv_enable_nettle=yes])
388 case $ac_cv_enable_nettle in
389   yes)
390     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])])
391     AC_CHECK_LIB([nettle], [main], [], [AC_MSG_ERROR([libnettle is needed but not found.])])
392     ;;
393 esac
394 AM_CONDITIONAL([MD5_HASH], [test x$ac_cv_enable_nettle = xyes])
395
396 # Mapnik rendering layer
397 AC_ARG_ENABLE(mapnik, AC_HELP_STRING([--enable-mapnik],
398               [enable Mapnik (default is enable)]),
399               [ac_cv_enable_mapnik=$enableval],
400               [ac_cv_enable_mapnik=yes])
401 AC_CACHE_CHECK([whether to enable Mapnik],
402                [ac_cv_enable_mapnik], [ac_cv_enable_mapnik=yes])
403 case $ac_cv_enable_mapnik in
404   yes)
405     # C++
406     AC_LANG_CPLUSPLUS
407     AC_LANG_SAVE
408     AC_PROG_CXX
409     # Mapnik3 requires C++11. Viking will use C++11 as well.
410     CXXFLAGS="$CXXFLAGS -std=c++11"
411     # Too difficult to get check working under Windows (extra dependencies needed probably Boost)- so just skip it
412     if test "x$ac_cv_enable_windows" = "xno"; then
413       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])])
414     fi
415     AC_CHECK_LIB([mapnik], [main], [], [AC_MSG_ERROR([libmapnik is needed but not found.])])
416     AC_CHECK_LIB([stdc++], [main], [], [AC_MSG_ERROR([libstdc++ is needed but not found.])])
417     # Required for Mapnik3 build (it's also in Mapnik2 but does not need to be specified for some reason)
418     #  it's part of libmapnik install dependencies
419     AC_CHECK_LIB([icuuc], [main], [], [AC_MSG_ERROR([libicuuc is needed but not found.])])
420     AC_LANG_RESTORE
421     ;;
422 esac
423 AM_CONDITIONAL([MAPNIK], [test x$ac_cv_enable_mapnik = xyes])
424 ###
425
426 ## WORK AROUND BROKEN autoconf - see http://lists.gnu.org/archive/html/bug-automake/2002-11/msg00020.html
427 m4_pushdef([AC_MSG_ERROR])
428 AC_PROG_CXX
429 m4_popdef([AC_MSG_ERROR])
430 ##
431
432 dnl Compile time defined access token
433 AC_ARG_WITH(mapbox_access_token,
434             [AC_HELP_STRING([--with-mapbox_access_token],
435              [Access token for MapBox tiles.
436               Please register your own if you're going to distribute the
437               package, as requests are limited per token.])],
438             [VIK_CONFIG_MAPBOX_TOKEN="\"${withval}\""],
439             [VIK_CONFIG_MAPBOX_TOKEN="\"pk.eyJ1Ijoicndub3JyaXMiLCJhIjoiY2lxc294anN2MDA5bWhzbWFseWsxMW1ydiJ9.HcybKtZsiG6RVuOHg481Kg\""])
440 AC_DEFINE_UNQUOTED(VIK_CONFIG_MAPBOX_TOKEN, ${VIK_CONFIG_MAPBOX_TOKEN}, [Mapbox Token])
441
442
443 dnl Compile time defined key
444 AC_ARG_WITH(thunderforest_apikey,
445             [AC_HELP_STRING([--with-thunderforest_apikey],
446              [API Key for Thunderforest (OSM Cyclemap) tiles.
447               Please register your own if you're going to distribute the
448               package, as requests are limited per key.])],
449             [VIK_CONFIG_THUNDERFOREST_KEY="\"${withval}\""],
450             [VIK_CONFIG_THUNDERFOREST_KEY="\"7387c111d85642b18f63608bd4cb8b4f\""])
451 AC_DEFINE_UNQUOTED(VIK_CONFIG_THUNDERFOREST_KEY, ${VIK_CONFIG_THUNDERFOREST_KEY}, [Thunderforest key])
452
453 AC_ARG_WITH(geonames_username,
454             [AC_HELP_STRING([--with-geonames_username],
455              [Username for the GeoNames webservice.
456               Please register your own if you're going to distribute the
457               package, as requests are limited per username.])],
458             [VIK_CONFIG_GEONAMES_USERNAME="\"${withval}\""],
459             [VIK_CONFIG_GEONAMES_USERNAME="\"$PACKAGE\""])
460 AC_DEFINE_UNQUOTED(VIK_CONFIG_GEONAMES_USERNAME, ${VIK_CONFIG_GEONAMES_USERNAME}, [geonames username])
461
462
463 AC_ARG_WITH(mapcache,
464             [AC_HELP_STRING([--with-mapcache],
465                             [specify the size of the map cache in MB (default is 128)])],
466             [if test "x$withval" = "xno"; then
467                 VIK_CONFIG_MAPCACHE_SIZE=0;
468              elif test "x$withval" = "xyes"; then
469                 AC_MSG_ERROR([Please, set a value for size of the map cache in MB])
470              else
471                 VIK_CONFIG_MAPCACHE_SIZE=${withval}
472              fi],
473              [VIK_CONFIG_MAPCACHE_SIZE=128])
474 AC_DEFINE_UNQUOTED(VIK_CONFIG_MAPCACHE_SIZE, ${VIK_CONFIG_MAPCACHE_SIZE},
475                    [Size of the map cache])
476
477
478 AC_ARG_WITH(tileage,
479             [AC_HELP_STRING([--with-tileage],
480                             [specify the age of a tile before checking it (default is 7 days)])],
481             [if test "x$withval" = "xno"; then
482                 VIK_CONFIG_DEFAULT_TILE_AGE=0;
483              elif test "x$withval" = "xyes"; then
484                 AC_MSG_ERROR([Please, set a value for age of tiles])
485              else
486                 VIK_CONFIG_DEFAULT_TILE_AGE=${withval}
487              fi],
488              [VIK_CONFIG_DEFAULT_TILE_AGE=604800])
489 AC_DEFINE_UNQUOTED(VIK_CONFIG_DEFAULT_TILE_AGE, ${VIK_CONFIG_DEFAULT_TILE_AGE},
490                    [Age of tiles before checking it (in seconds)])
491 AC_DEFINE(HAVE_VIKING, 1, [Enable Viking specifics in otherwise reusable code])
492
493 dnl man pages processing
494 DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
495 AC_SUBST(DB2MAN_XSL)
496 AC_PATH_PROG(XP,xsltproc)
497 AM_CONDITIONAL([HAVE_XSLTPROC],[test "x$XP" != "x"])
498 AC_CHECK_PROG([HAVE_SCROLLKEEPER],scrollkeeper-config,"yes")
499 AM_CONDITIONAL([GEN_MANPAGES],[test "x$XP" != "x" && test -r "$DB2MAN_XSL"] && test "${HAVE_SCROLLKEEPER}" = "yes" )
500 AM_COND_IF([GEN_MANPAGES], [ac_cv_enable_man=yes], [ac_cv_enable_man=no])
501
502 ISODATE=`date +%Y-%m-%d`
503 AC_SUBST(ISODATE)
504
505 AC_DEFINE_UNQUOTED(THEYEAR, "`date +%Y`", [The Year])
506
507 # Configuration
508 AC_CONFIG_FILES([
509                 viking.spec
510                 mingw-viking.spec
511                 mingw64-viking.spec
512                 Makefile
513                 src/Makefile
514                 src/icons/Makefile
515                 po/Makefile.in
516                 data/Makefile
517                 tools/Makefile
518                 test/Makefile
519                 help/Makefile
520                 help/viking.xml
521                 win32/Makefile
522                 win32/installer/Makefile
523                 win32/installer/pixmaps/Makefile
524                 win32/installer/translations/Makefile
525                 doc/Makefile
526                 doc/reference/Makefile
527                 doc/examples/Makefile])
528
529 AC_OUTPUT
530
531 dnl Output the configuration summary
532 AC_MSG_NOTICE(["
533 ===========================================
534 $PACKAGE $PACKAGE_URL $VERSION
535 -------------------------------------------
536 Bing Maps                        : $ac_cv_enable_bing
537 Google                           : $ac_cv_enable_google
538 Terraserver Maps                 : $ac_cv_enable_terraserver
539 Expedia Maps                     : $ac_cv_enable_expedia
540 Open Street Map                  : $ac_cv_enable_openstreetmap
541 BlueMarble                       : $ac_cv_enable_bluemarble
542 Geonames                         : $ac_cv_enable_geonames
543 Geocaches Acquire                : $ac_cv_enable_geocaches
544 Geotag Support                   : $ac_cv_enable_geotag (libgexiv2=$ac_cv_lib_gexiv2_gexiv2_metadata_new libexif=$ac_cv_lib_exif_exif_loader_new)
545 USGS 24k DEM                     : $ac_cv_enable_dem24k
546 Realtime GPS Tracking            : $ac_cv_enable_realtimegpstracking
547 bzip2 Support                    : $ac_cv_enable_bzip2
548 File Magic Support               : $ac_cv_enable_magic
549 MBTiles Support (SQLite3)        : $ac_cv_enable_mbtiles
550 Zip File Support (with libzip)   : $ac_cv_enable_zip
551 MD5 Hash Support (with libnettle): $ac_cv_enable_nettle
552 Mapnik Rendering Support (C++)   : $ac_cv_enable_mapnik
553 Size of map cache (in memory)    : ${VIK_CONFIG_MAPCACHE_SIZE}
554 Age of tiles (in seconds)        : ${VIK_CONFIG_DEFAULT_TILE_AGE}
555 GeoNames user                    : ${VIK_CONFIG_GEONAMES_USERNAME}
556 Man page generation              : $ac_cv_enable_man
557 Documentation (+HTML)            : ${enable_gtk_doc} (HTML: ${enable_gtk_doc_html})
558 -------------------------------------------
559
560 Configure finished, type 'make' to build.
561 "])