]>
Commit | Line | Data |
---|---|---|
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}, [geonames username]) | |
441 | ||
442 | ||
443 | AC_ARG_WITH(geonames_username, | |
444 | [AC_HELP_STRING([--with-geonames_username], | |
445 | [Username for the GeoNames webservice. | |
446 | Please register your own if you're going to distribute the | |
447 | package, as requests are limited per username.])], | |
448 | [VIK_CONFIG_GEONAMES_USERNAME="\"${withval}\""], | |
449 | [VIK_CONFIG_GEONAMES_USERNAME="\"$PACKAGE\""]) | |
450 | AC_DEFINE_UNQUOTED(VIK_CONFIG_GEONAMES_USERNAME, ${VIK_CONFIG_GEONAMES_USERNAME}, [geonames username]) | |
451 | ||
452 | ||
453 | AC_ARG_WITH(mapcache, | |
454 | [AC_HELP_STRING([--with-mapcache], | |
455 | [specify the size of the map cache in MB (default is 128)])], | |
456 | [if test "x$withval" = "xno"; then | |
457 | VIK_CONFIG_MAPCACHE_SIZE=0; | |
458 | elif test "x$withval" = "xyes"; then | |
459 | AC_MSG_ERROR([Please, set a value for size of the map cache in MB]) | |
460 | else | |
461 | VIK_CONFIG_MAPCACHE_SIZE=${withval} | |
462 | fi], | |
463 | [VIK_CONFIG_MAPCACHE_SIZE=128]) | |
464 | AC_DEFINE_UNQUOTED(VIK_CONFIG_MAPCACHE_SIZE, ${VIK_CONFIG_MAPCACHE_SIZE}, | |
465 | [Size of the map cache]) | |
466 | ||
467 | ||
468 | AC_ARG_WITH(tileage, | |
469 | [AC_HELP_STRING([--with-tileage], | |
470 | [specify the age of a tile before checking it (default is 7 days)])], | |
471 | [if test "x$withval" = "xno"; then | |
472 | VIK_CONFIG_DEFAULT_TILE_AGE=0; | |
473 | elif test "x$withval" = "xyes"; then | |
474 | AC_MSG_ERROR([Please, set a value for age of tiles]) | |
475 | else | |
476 | VIK_CONFIG_DEFAULT_TILE_AGE=${withval} | |
477 | fi], | |
478 | [VIK_CONFIG_DEFAULT_TILE_AGE=604800]) | |
479 | AC_DEFINE_UNQUOTED(VIK_CONFIG_DEFAULT_TILE_AGE, ${VIK_CONFIG_DEFAULT_TILE_AGE}, | |
480 | [Age of tiles before checking it (in seconds)]) | |
481 | AC_DEFINE(HAVE_VIKING, 1, [Enable Viking specifics in otherwise reusable code]) | |
482 | ||
483 | dnl man pages processing | |
484 | DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl | |
485 | AC_SUBST(DB2MAN_XSL) | |
486 | AC_PATH_PROG(XP,xsltproc) | |
487 | AM_CONDITIONAL([HAVE_XSLTPROC],[test "x$XP" != "x"]) | |
488 | AC_CHECK_PROG([HAVE_SCROLLKEEPER],scrollkeeper-config,"yes") | |
489 | AM_CONDITIONAL([GEN_MANPAGES],[test "x$XP" != "x" && test -r "$DB2MAN_XSL"] && test "${HAVE_SCROLLKEEPER}" = "yes" ) | |
490 | AM_COND_IF([GEN_MANPAGES], [ac_cv_enable_man=yes], [ac_cv_enable_man=no]) | |
491 | ||
492 | ISODATE=`date +%Y-%m-%d` | |
493 | AC_SUBST(ISODATE) | |
494 | ||
495 | AC_DEFINE_UNQUOTED(THEYEAR, "`date +%Y`", [The Year]) | |
496 | ||
497 | # Configuration | |
498 | AC_CONFIG_FILES([ | |
499 | viking.spec | |
500 | mingw-viking.spec | |
501 | mingw64-viking.spec | |
502 | Makefile | |
503 | src/Makefile | |
504 | src/icons/Makefile | |
505 | po/Makefile.in | |
506 | data/Makefile | |
507 | tools/Makefile | |
508 | test/Makefile | |
509 | help/Makefile | |
510 | help/viking.xml | |
511 | win32/Makefile | |
512 | win32/installer/Makefile | |
513 | win32/installer/pixmaps/Makefile | |
514 | win32/installer/translations/Makefile | |
515 | doc/Makefile | |
516 | doc/reference/Makefile | |
517 | doc/examples/Makefile]) | |
518 | ||
519 | AC_OUTPUT | |
520 | ||
521 | dnl Output the configuration summary | |
522 | AC_MSG_NOTICE([" | |
523 | =========================================== | |
524 | $PACKAGE $PACKAGE_URL $VERSION | |
525 | ------------------------------------------- | |
526 | Bing Maps : $ac_cv_enable_bing | |
527 | Google : $ac_cv_enable_google | |
528 | Terraserver Maps : $ac_cv_enable_terraserver | |
529 | Expedia Maps : $ac_cv_enable_expedia | |
530 | Open Street Map : $ac_cv_enable_openstreetmap | |
531 | BlueMarble : $ac_cv_enable_bluemarble | |
532 | Geonames : $ac_cv_enable_geonames | |
533 | Geocaches Acquire : $ac_cv_enable_geocaches | |
534 | Geotag Support : $ac_cv_enable_geotag (libgexiv2=$ac_cv_lib_gexiv2_gexiv2_metadata_new libexif=$ac_cv_lib_exif_exif_loader_new) | |
535 | USGS 24k DEM : $ac_cv_enable_dem24k | |
536 | Realtime GPS Tracking : $ac_cv_enable_realtimegpstracking | |
537 | bzip2 Support : $ac_cv_enable_bzip2 | |
538 | File Magic Support : $ac_cv_enable_magic | |
539 | MBTiles Support (SQLite3) : $ac_cv_enable_mbtiles | |
540 | Zip File Support (with libzip) : $ac_cv_enable_zip | |
541 | MD5 Hash Support (with libnettle): $ac_cv_enable_nettle | |
542 | Mapnik Rendering Support (C++) : $ac_cv_enable_mapnik | |
543 | Size of map cache (in memory) : ${VIK_CONFIG_MAPCACHE_SIZE} | |
544 | Age of tiles (in seconds) : ${VIK_CONFIG_DEFAULT_TILE_AGE} | |
545 | GeoNames user : ${VIK_CONFIG_GEONAMES_USERNAME} | |
546 | Man page generation : $ac_cv_enable_man | |
547 | Documentation (+HTML) : ${enable_gtk_doc} (HTML: ${enable_gtk_doc_html}) | |
548 | ------------------------------------------- | |
549 | ||
550 | Configure finished, type 'make' to build. | |
551 | "]) |