Contents of /trunk/configure.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 246 - (show annotations)
Tue Jan 19 20:26:37 2010 UTC (14 years, 3 months ago) by harbaum
File size: 7056 byte(s)
Initial Espeak support
1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 # GPXView autoconf script
5 #
6 # Copyright (C) 2008 Till Harbaum <till@harbaum.org>
7 #
8 # This file is part of GPXView.
9 #
10 # GPXView is free software: you can redistribute it and/or modify
11 # it under the terms of the GNU General Public License as published by
12 # the Free Software Foundation, either version 3 of the License, or
13 # (at your option) any later version.
14 #
15 # GPXView is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with GPXView. If not, see <http://www.gnu.org/licenses/>.
22
23 AC_PREREQ(2.61)
24 AC_INIT([GPXView],[0.9.2],[till@harbaum.org])
25 AC_CONFIG_SRCDIR([src/main.c])
26 # AC_CONFIG_HEADER([src/config.h])
27
28 PACKAGE="gpxview"
29 AC_SUBST(PACKAGE)
30
31 # Checks for programs.
32 AC_PROG_CC
33 AC_PROG_INSTALL
34 AC_PROG_LN_S
35 AC_PROG_MAKE_SET
36
37 # Checks for libraries.
38
39 # Checks for header files.
40 #AC_HEADER_STDC
41 #AC_CHECK_HEADERS([libintl.h locale.h stdlib.h string.h sys/time.h unistd.h])
42
43 # Checks for typedefs, structures, and compiler characteristics.
44 #AC_C_CONST
45 #AC_C_INLINE
46 #AC_TYPE_SIZE_T
47 #AC_HEADER_TIME
48 #AC_STRUCT_TM
49 #AC_HEADER_STDBOOL
50
51 # Checks for library functions.
52 #AC_FUNC_MALLOC
53 #AC_FUNC_MKTIME
54 #AC_FUNC_STRFTIME
55 #AC_FUNC_STRTOD
56 #AC_CHECK_FUNCS([gettimeofday localtime_r memset pow setlocale sqrt strcasecmp strchr strcspn strdup strerror strrchr strstr strtoul tzset])
57
58 # check for gnome-vfs-module-2.0
59 PKG_CHECK_MODULES([gnome_vfs_module], [gnome-vfs-module-2.0], [], [AC_MSG_ERROR([gnome-vfs-module-2.0 missing])])
60 CFLAGS="$CFLAGS $gnome_vfs_module_CFLAGS"
61 LIBS="$LIBS $gnome_vfs_module_LIBS"
62
63 # check for libxml-2.0
64 PKG_CHECK_MODULES([libxml2], [libxml-2.0], [], [AC_MSG_ERROR([libxml-2.0 missing])])
65 CFLAGS="$CFLAGS $libxml2_CFLAGS"
66 LIBS="$LIBS $libxml2_LIBS"
67
68 # check for libcurl
69 PKG_CHECK_MODULES([libcurl], [libcurl], [], [AC_MSG_ERROR([libcurl missing])])
70 CFLAGS="$CFLAGS $libcurl_CFLAGS"
71 LIBS="$LIBS $libcurl_LIBS"
72
73 # check for libespeak (consider moving this to maemo5)
74 AC_CHECK_HEADERS(espeak/speak_lib.h, [
75 CFLAGS="$CFLAGS -DESPEAK"
76 LIBS="$LIBS -lespeak"
77 ])
78
79 # check for libsoup
80 PKG_CHECK_MODULES([libsoup24], [libsoup-2.4], [
81 EXTRA_OBJS="$EXTRA_OBJS converter.o osm-gps-map.o map-tool.o osm-gps-map-osd-classic.o"
82 CFLAGS="$CFLAGS $libsoup24_CFLAGS -DENABLE_OSM_GPS_MAP"
83 LIBS="$LIBS $libsoup24_LIBS"
84 ], [
85 PKG_CHECK_MODULES([libsoup22], [libsoup-2.2], [
86 EXTRA_OBJS="$EXTRA_OBJS converter.o osm-gps-map.o map-tool.o osm-gps-map-osd-classic.o"
87 CFLAGS="$CFLAGS $libsoup22_CFLAGS -DLIBSOUP22 -DENABLE_OSM_GPS_MAP"
88 LIBS="$LIBS $libsoup22_LIBS"
89 ], [
90 AC_MSG_NOTICE([WARNING: libsoup-2.4/2.2 missing, disabling internal map])
91 ])
92 ])
93
94 # check for gtkhtml-3.14
95 PKG_CHECK_MODULES([libgtkhtml3_14], [libgtkhtml-3.14], [
96 CFLAGS="$CFLAGS $libgtkhtml3_14_CFLAGS"
97 LIBS="$LIBS $libgtkhtml3_14_LIBS"
98 ], [
99 # ok, we can also live with 3.8
100 PKG_CHECK_MODULES([libgtkhtml3_8], [libgtkhtml-3.8], [
101 CFLAGS="$CFLAGS $libgtkhtml3_8_CFLAGS"
102 LIBS="$LIBS $libgtkhtml3_8_LIBS"
103 ], [AC_MSG_ERROR([libgtkhtml-3 missing])])
104 ])
105
106 # check for maemo
107 AC_MSG_CHECKING([for Maemo])
108 PKG_CHECK_EXISTS(maemo-version, [
109 MAEMO="yes"
110 AC_MSG_RESULT(yes)
111
112 PKG_CHECK_MODULES([hildon], [hildon-1], [], [AC_MSG_ERROR([hildon-1 missing])])
113 CFLAGS="$CFLAGS -DUSE_MAEMO $hildon_CFLAGS"
114 LIBS="$LIBS $hildon_LIBS"
115
116 PKG_CHECK_MODULES([osso], [libosso], [], [AC_MSG_ERROR([libosso missing])])
117 CFLAGS="$CFLAGS $osso_CFLAGS"
118 LIBS="$LIBS $osso_LIBS"
119
120 PKG_CHECK_MODULES([hildon_fm_2], [hildon-fm-2], [], [AC_MSG_ERROR([hildon-fm-2 missing])])
121 CFLAGS="$CFLAGS $hildon_fm_2_CFLAGS"
122 LIBS="$LIBS $hildon_fm_2_LIBS"
123
124 # check for sqlite3 for maemo mapper interface
125 PKG_CHECK_MODULES([sqlite3], [sqlite3], [], [AC_MSG_ERROR([sqlite3 missing])])
126 CFLAGS="$CFLAGS $sqlite3_CFLAGS"
127 LIBS="$LIBS $sqlite3_LIBS"
128
129 # check for hildon-help
130 PKG_CHECK_MODULES([hildon_help], [hildon-help], [
131 CFLAGS="-DHILDON_HELP $CFLAGS $hildon_help_CFLAGS"
132 LIBS="$LIBS $hildon_help_LIBS"
133 ], [
134 AC_MSG_NOTICE([WARNING: hildon-help missing])
135 ])
136
137 # prefer gpsbt over liblocation as we got complaints regarding liblocation
138 # stability
139 PKG_CHECK_EXISTS(gpsbt, [
140 PKG_CHECK_MODULES([gpsbt], [gpsbt], [], [])
141 CFLAGS="$CFLAGS -DENABLE_GPSBT $gpsbt_CFLAGS"
142 LIBS="$LIBS $gpsbt_LIBS"
143 ], [
144 AC_MSG_NOTICE([gpsbt not found, trying liblocation])
145
146 PKG_CHECK_EXISTS(liblocation, [
147 PKG_CHECK_MODULES([liblocation], [liblocation], [], [])
148 CFLAGS="$CFLAGS -DENABLE_LIBLOCATION $liblocation_CFLAGS"
149 LIBS="$LIBS $liblocation_LIBS"
150 ], [
151 AC_MSG_NOTICE([WARNING: No liblocation nor gpsbt found, disabling gps auto start!])
152 ])
153 ])
154
155 PKG_CHECK_EXISTS(tablet-browser-interface, [
156 CFLAGS="$CFLAGS -DENABLE_BROWSER_INTERFACE"
157 ], [AC_MSG_NOTICE([WARNING: No tablet-browser-interface found, disabling microb interface!])])
158
159 PKG_CHECK_EXISTS(maemo-version, [
160 VERSION=`pkg-config --modversion maemo-version`
161 AC_MSG_NOTICE([Configuring for Maemo $VERSION])
162 CFLAGS="$CFLAGS -DMAEMO_VERSION=\\\"$VERSION\\\""
163 MAJOR=`echo $VERSION | cut -b1 -`
164 CFLAGS="$CFLAGS -DMAEMO_VERSION_MAJOR=$MAJOR"
165
166 MAEMO_VERSION_MAJOR=$MAJOR
167 AC_SUBST(MAEMO_VERSION_MAJOR)
168 ], [
169 AC_MSG_ERROR([maemo-version not found])
170 ])
171
172 INSTALL_PLATTFORM="install-maemo"
173
174 # fremantle uses icons of 48x48 pixels for the app installer,
175 # older versions used 26x26
176 if [[ "$MAJOR" == "5" ]]; then
177 ICONNAME=48x48/gpxview.png
178 datarootdir=/opt
179 else
180 ICONNAME=26x26/gpxview.png
181 AC_MSG_NOTICE([Enabling Maemo Mapper support])
182 fi
183
184 CFLAGS="$CFLAGS -DENABLE_MAEMO_MAPPER"
185 EXTRA_OBJS="$EXTRA_OBJS mm_poi.o"
186
187 # maemo uses dbus for ipc with maemo mapper
188 EXTRA_OBJS="$EXTRA_OBJS dbus.o"
189
190 AC_MSG_NOTICE([Using application installer icon "$ICONNAME"])
191
192 # add icon entry to debian/control
193 ICON=" Maemo icon $ICONNAME
194 XB-Maemo-Icon-26:
195 "
196
197 # generate base64 icon, remove first and last line
198 # and add a space before each line
199 ICON="$ICON`uuencode -m data/icons/$ICONNAME $ICONNAME | sed '1d;$d;s/^/ /' -`"
200
201 ], [
202 AC_MSG_RESULT(no)
203
204 EXTRA_OBJS="$EXTRA_OBJS bct.o"
205 CFLAGS="$CFLAGS -DBCT"
206
207 # check for gtk+-2.0
208 PKG_CHECK_MODULES([gtk], [gtk+-2.0], [], [AC_MSG_ERROR([gtk+-2.0 missing!])])
209 CFLAGS="$CFLAGS $gtk_CFLAGS"
210 LIBS="$LIBS $gtk_LIBS"
211
212 # non-maemo device use gnome to call the web browser
213 PKG_CHECK_MODULES([gnome2], [libgnome-2.0], [], [AC_MSG_ERROR([libgnome-2.0 missing])])
214 CFLAGS="$CFLAGS $gnome2_CFLAGS -DENABLE_BROWSER_INTERFACE"
215 LIBS="$LIBS $gnome2_LIBS"
216
217 INSTALL_PLATTFORM="install-debian"
218
219 ICON=" No icon"
220 ])
221
222 AC_SUBST(EXTRA_OBJS)
223 AC_SUBST(ICON)
224 AC_SUBST(INSTALL_PLATTFORM)
225 AC_CONFIG_FILES([Makefile src/Makefile data/Makefile debian/control])
226
227 AC_OUTPUT