]> git.street.me.uk Git - andy/viking.git/blob - configure.ac
Releasing viking 0.9.93
[andy/viking.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ(2.59)
5 AC_INIT(viking, 0.9.93)
6 AM_INIT_AUTOMAKE()
7 dnl AC_CONFIG_SRCDIR([src/main.c])
8 AC_CONFIG_HEADERS([src/config.h])
9
10 # Checks for programs.
11 AC_PROG_CC
12 AC_PROG_MAKE_SET
13 AC_PROG_RANLIB
14 AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
15
16 # I18N
17 GETTEXT_PACKAGE=viking
18 AC_SUBST(GETTEXT_PACKAGE)
19 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Gettext package name])
20
21 AM_GLIB_DEFINE_LOCALEDIR(LOCALEDIR)
22
23 AM_GLIB_GNU_GETTEXT
24 IT_PROG_INTLTOOL([0.35.0])
25
26 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
27
28 dnl This will cause the automake generated makefiles to pass the
29 dnl correct flags to aclocal.
30 ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
31 AC_SUBST(ACLOCAL_AMFLAGS)
32
33 # Checks for header files.
34 AC_HEADER_STDC
35 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])
36
37 # Checks for typedefs, structures, and compiler characteristics.
38 AC_C_CONST
39 AC_TYPE_MODE_T
40
41 # Checks for library functions.
42 AC_FUNC_STAT
43 AC_FUNC_STRTOD
44 AC_CHECK_FUNCS([floor gethostbyname memset mkdtemp pow realpath socket sqrt strcasecmp strchr strdup strncasecmp strtol strtoul])
45
46 # Expat
47 AM_WITH_EXPAT
48
49 # Curl
50 LIBCURL_CHECK_CONFIG([yes],[],[],[AC_MSG_ERROR([libcurl is needed but not found])])
51
52 # gdk-pixbuf-csource
53 AC_CHECK_PROG([GDK_PIXBUF_CSOURCE],gdk-pixbuf-csource,[yes])
54 if test $GDK_PIXBUF_CSOURCE != "yes"
55 then
56   AC_MSG_ERROR([gdk-pixbuf-csource is needed but not found])
57 fi
58
59 dnl  ------------------
60 dnl | Pkgconfig checks |---------------------------------------
61 dnl  ------------------
62
63 PKG_CHECK_MODULES(PACKAGE, [
64         glib-2.0          >= 2.12
65         gthread-2.0       >= 2.2
66         gtk+-2.0          >= 2.12
67         gio-2.0           >= 2.12
68 ])
69
70 AC_SUBST(PACKAGE_CFLAGS)
71 AC_SUBST(PACKAGE_LIBS)
72
73 ###############
74 # Depecations #
75 ###############
76 AC_ARG_ENABLE(deprecations,
77               [AC_HELP_STRING([--enable-deprecations],
78                               [warn about deprecated usages [default=no]])],,
79               [enable_deprecations=no])
80
81 if test "x$enable_deprecations" = "xyes"; then
82    DISABLE_DEPRECATED_CFLAGS="\
83 -DG_DISABLE_DEPRECATED \
84 -DGDK_DISABLE_DEPRECATED \
85 -DGTK_DISABLE_DEPRECATED \
86 -DGDK_PIXBUF_DISABLE_DEPRECATED"
87    AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
88 fi
89
90 # Options
91 AC_ARG_ENABLE(alphabetized-trw, AC_HELP_STRING([--enable-alphabetized-trw],
92               [enable alphabetized track & waypoints (default is enable)]),
93               [ac_cv_enable_alpha_trw=$enableval],
94               [ac_cv_enable_alpha_trw=yes])
95 AC_CACHE_CHECK([whether to enable alphabetized track & waypoint],
96                [ac_cv_enable_alpha_trw], [ac_cv_enable_alpha_trw=yes])
97 case $ac_cv_enable_alpha_trw in
98   yes)
99     AC_DEFINE(VIK_CONFIG_ALPHABETIZED_TRW, [], [NO ALPHABETIZED TRW])
100     ;;
101 esac
102
103 AC_ARG_ENABLE(google, AC_HELP_STRING([--enable-google],
104               [enable Google stuff (default is enable)]),
105               [ac_cv_enable_google=$enableval],
106               [ac_cv_enable_google=yes])
107 AC_CACHE_CHECK([whether to enable Google stuff],
108                [ac_cv_enable_google], [ac_cv_enable_google=yes])
109 case $ac_cv_enable_google in
110   yes)
111     AC_DEFINE(VIK_CONFIG_GOOGLE, [], [GOOGLE STUFF])
112     ;;
113 esac
114 AM_CONDITIONAL([GOOGLE], [test x$ac_cv_enable_google = xyes])
115
116 AC_ARG_ENABLE(terraserver, AC_HELP_STRING([--enable-terraserver],
117               [enable Terraserver stuff (default is enable)]),
118               [ac_cv_enable_terraserver=$enableval],
119               [ac_cv_enable_terraserver=yes])
120 AC_CACHE_CHECK([whether to enable Terraserver stuff],
121                [ac_cv_enable_terraserver], [ac_cv_enable_terraserver=yes])
122 case $ac_cv_enable_terraserver in
123   yes)
124     AC_DEFINE(VIK_CONFIG_TERRASERVER, [], [TERRASERVER STUFF])
125     ;;
126 esac
127 AM_CONDITIONAL([TERRASERVER], [test x$ac_cv_enable_terraserver = xyes])
128
129 AC_ARG_ENABLE(expedia, AC_HELP_STRING([--enable-expedia],
130               [enable Expedia stuff (default is disable)]),
131               [ac_cv_enable_expedia=$enableval],
132               [ac_cv_enable_expedia=no])
133 AC_CACHE_CHECK([whether to enable Expedia stuff],
134                [ac_cv_enable_expedia], [ac_cv_enable_expedia=yes])
135 case $ac_cv_enable_expedia in
136   yes)
137     AC_DEFINE(VIK_CONFIG_EXPEDIA, [], [EXPEDIA STUFF])
138     ;;
139 esac
140 AM_CONDITIONAL([EXPEDIA], [test x$ac_cv_enable_expedia = xyes])
141
142 # OpenStreetMap http://www.openstreetmap.org/
143 AC_ARG_ENABLE(openstreetmap, AC_HELP_STRING([--enable-openstreetmap],
144               [enable OpenStreetMap stuff (default is enable)]),
145               [ac_cv_enable_openstreetmap=$enableval],
146               [ac_cv_enable_openstreetmap=yes])
147 AC_CACHE_CHECK([whether to enable OpenStreetMap stuff],
148                [ac_cv_enable_openstreetmap], [ac_cv_enable_openstreetmap=yes])
149 case $ac_cv_enable_openstreetmap in
150   yes)
151     AC_DEFINE(VIK_CONFIG_OPENSTREETMAP, [], [OPENSTREETMAP STUFF])
152     ;;
153 esac
154 AM_CONDITIONAL([OPENSTREETMAP], [test x$ac_cv_enable_openstreetmap = xyes])
155
156 # BlueMarble
157 AC_ARG_ENABLE(bluemarble, AC_HELP_STRING([--enable-bluemarble],
158               [enable BlueMarble stuff (default is enable)]),
159               [ac_cv_enable_bluemarble=$enableval],
160               [ac_cv_enable_bluemarble=yes])
161 AC_CACHE_CHECK([whether to enable BlueMarble stuff],
162                [ac_cv_enable_bluemarble], [ac_cv_enable_bluemarble=yes])
163 case $ac_cv_enable_bluemarble in
164   yes)
165     AC_DEFINE(VIK_CONFIG_BLUEMARBLE, [], [BLUEMARBLE STUFF])
166     ;;
167 esac
168 AM_CONDITIONAL([BLUEMARBLE], [test x$ac_cv_enable_bluemarble = xyes])
169
170 # GeoNames http://www.geonames.org/
171 AC_ARG_ENABLE(geonames, AC_HELP_STRING([--enable-geonames],
172               [enable Geonames stuff (default is enable)]),
173               [ac_cv_enable_geonames=$enableval],
174               [ac_cv_enable_geonames=yes])
175 AC_CACHE_CHECK([whether to enable Geonames stuff],
176                [ac_cv_enable_geonames], [ac_cv_enable_geonames=yes])
177 case $ac_cv_enable_geonames in
178   yes)
179     AC_DEFINE(VIK_CONFIG_GEONAMES, [], [GEONAMES STUFF])
180     ;;
181 esac
182 AM_CONDITIONAL([GEONAMES], [test x$ac_cv_enable_geonames = xyes])
183
184 AC_ARG_ENABLE(geocaches, AC_HELP_STRING([--enable-geocaches],
185               [enable Geocaches Acquire (default is disable).]),
186               [ac_cv_enable_geocaches=$enableval],
187               [ac_cv_enable_geocaches=no])
188 AC_CACHE_CHECK([whether to enable Geocaches Acquire],
189                [ac_cv_enable_geocaches], [ac_cv_enable_geocaches=yes])
190 case $ac_cv_enable_geocaches in
191   yes)
192     AC_DEFINE(VIK_CONFIG_GEOCACHES, [], [GEOCACHES STUFF])
193     ;;
194 esac
195 AM_CONDITIONAL([GEOCACHES], [test x$ac_cv_enable_geocaches = xyes])
196
197
198 AC_ARG_ENABLE(dem24k, AC_HELP_STRING([--enable-dem24k],
199               [enable USGS 24k DEM (default is disable) download source. Requires dem24k.pl script in path.]),
200               [ac_cv_enable_dem24k=$enableval],
201               [ac_cv_enable_dem24k=no])
202 AC_CACHE_CHECK([whether to enable USGS DEM 24k download source],
203                [ac_cv_enable_dem24k], [ac_cv_enable_dem24k=yes])
204 case $ac_cv_enable_dem24k in
205   yes)
206     AC_DEFINE(VIK_CONFIG_DEM24K, [], [DEM24K STUFF])
207     ;;
208 esac
209 AM_CONDITIONAL([DEM24K], [test x$ac_cv_enable_dem24k = xyes])
210
211 # Realtime GPS tracking
212 AC_ARG_ENABLE(realtime-gps-tracking, AC_HELP_STRING([--enable-realtime-gps-tracking],
213               [enable realtime GPS tracking (default is enable)]),
214               [ac_cv_enable_realtimegpstracking=$enableval],
215               [ac_cv_enable_realtimegpstracking=yes])
216 AC_CACHE_CHECK([whether to enable Realtime GPS Tracking stuff],
217                [ac_cv_enable_realtimegpstracking], [ac_cv_enable_realtimegpstracking=yes])
218 case $ac_cv_enable_realtimegpstracking in
219   yes)
220     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]))
221     AC_DEFINE(VIK_CONFIG_REALTIME_GPS_TRACKING, [], [REALTIME GPS TRACKING STUFF])
222     ;;
223 esac
224 AM_CONDITIONAL([REALTIME_GPS_TRACKING], [test x$ac_cv_enable_realtimegpstracking = xyes])
225 # Viking supports two incompatibles versions of GPSd: 2.39 and 2.90
226 # But GPSd does not provides easy way to test features.
227 if test x$ac_cv_enable_realtimegpstracking = xyes
228 then
229   AC_CHECK_FUNCS(gps_stream)
230   AC_CHECK_FUNCS(gps_open_r)
231 fi
232
233 AC_ARG_WITH(search,
234             [AC_HELP_STRING([--with-search],
235                             [specify google or geonames for searching (default is google)])],
236             [case "x$withval" in
237                "xgoogle")
238                  VIK_CONFIG_SEARCH=VIK_CONFIG_SEARCH_GOOGLE
239                  ;;
240                "xgeonames")
241                  VIK_CONFIG_SEARCH=VIK_CONFIG_SEARCH_GEONAMES
242                  ;;
243                *)
244                 AC_MSG_ERROR([Please, set a value for search method])
245              esac],
246              [VIK_CONFIG_SEARCH=VIK_CONFIG_SEARCH_GOOGLE])
247 AC_DEFINE_UNQUOTED(VIK_CONFIG_SEARCH_GOOGLE, 1,
248                    [Id. for searching via GOOGLE])
249 AC_DEFINE_UNQUOTED(VIK_CONFIG_SEARCH_GEONAMES, 2,
250                    [Id. for searching via GEONAMES])
251 AC_DEFINE_UNQUOTED(VIK_CONFIG_SEARCH, ${VIK_CONFIG_SEARCH},
252                    [Method for the search])
253
254
255 AC_ARG_WITH(mapcache,
256             [AC_HELP_STRING([--with-mapcache],
257                             [specify the size of the map cache (default is 50331648)])],
258             [if test "x$withval" = "xno"; then
259                 VIK_CONFIG_MAPCACHE_SIZE=0;
260              elif test "x$withval" = "xyes"; then
261                 AC_MSG_ERROR([Please, set a value for size of the map cache])
262              else
263                 VIK_CONFIG_MAPCACHE_SIZE=${withval}
264              fi],
265              [VIK_CONFIG_MAPCACHE_SIZE=50331648])
266 AC_DEFINE_UNQUOTED(VIK_CONFIG_MAPCACHE_SIZE, ${VIK_CONFIG_MAPCACHE_SIZE},
267                    [Size of the map cache])
268
269
270 AC_ARG_WITH(tileage,
271             [AC_HELP_STRING([--with-tileage],
272                             [specify the age of a tile before checking it (default is 30 s)])],
273             [if test "x$withval" = "xno"; then
274                 VIK_CONFIG_DEFAULT_TILE_AGE=0;
275              elif test "x$withval" = "xyes"; then
276                 AC_MSG_ERROR([Please, set a value for age of tiles])
277              else
278                 VIK_CONFIG_DEFAULT_TILE_AGE=${withval}
279              fi],
280              [VIK_CONFIG_DEFAULT_TILE_AGE=30])
281 AC_DEFINE_UNQUOTED(VIK_CONFIG_DEFAULT_TILE_AGE, ${VIK_CONFIG_DEFAULT_TILE_AGE},
282                    [Age of tiles before cheking it (in seconds)])
283
284 dnl man pages processing
285 DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
286 AC_SUBST(DB2MAN_XSL)
287 AC_PATH_PROG(XP,xsltproc)
288 AM_CONDITIONAL([GEN_MANPAGES],[test "x$XP" != "x" && test -r "$DB2MAN_XSL"])
289
290 dnl This will cause the automake generated makefiles to pass the
291 dnl correct flags to aclocal.
292 ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}"
293 AC_SUBST(ACLOCAL_AMFLAGS)
294
295 # Configuration
296 AC_CONFIG_FILES([Makefile
297                  src/Makefile
298                  src/icons/Makefile
299                  po/Makefile.in
300                  test/Makefile
301                  doc/Makefile
302                  doc/examples/Makefile
303                  doc/dev/Makefile])
304 AC_OUTPUT([
305            viking.spec
306            ])
307
308 dnl Output the configuration summary
309 echo ""
310 echo "==========================================="
311 echo "$PACKAGE $VERSION"
312 echo "-------------------------------------------"
313 echo "Alphabetized track & waypoints   : $ac_cv_enable_alpha_trw"
314 echo "Google Maps                      : $ac_cv_enable_google"
315 echo "Terraserver Maps                 : $ac_cv_enable_terraserver"
316 #echo "Expedia Maps                     : $ac_cv_enable_expedia"
317 echo "Open Street Map                  : $ac_cv_enable_openstreetmap"
318 echo "BlueMarble                       : $ac_cv_enable_bluemarble"
319 echo "Geonames                         : $ac_cv_enable_geonames"
320 #echo "Geocaches Acquire                : $ac_cv_enable_geocaches"
321 echo "USGS 24k DEM                     : $ac_cv_enable_dem24k"
322 echo "Realtime GPS Tracking            : $ac_cv_enable_realtimegpstracking"
323 echo "Size of map cache (in memory)    : ${VIK_CONFIG_MAPCACHE_SIZE}"
324 echo "Age of tiles (in seconds)        : ${VIK_CONFIG_DEFAULT_TILE_AGE}"
325 echo "-------------------------------------------"
326 echo ""
327 echo "Configure finished, type 'make' to build."
328