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