Parent Directory | Revision Log
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 |