Contents of /trunk/configure.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 246 - (hide annotations)
Tue Jan 19 20:26:37 2010 UTC (14 years, 4 months ago) by harbaum
File size: 7056 byte(s)
Initial Espeak support
1 harbaum 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 harbaum 246 AC_INIT([GPXView],[0.9.2],[till@harbaum.org])
25 harbaum 1 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 harbaum 157
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 harbaum 246 # 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 harbaum 32 # check for libsoup
80     PKG_CHECK_MODULES([libsoup24], [libsoup-2.4], [
81 harbaum 73 EXTRA_OBJS="$EXTRA_OBJS converter.o osm-gps-map.o map-tool.o osm-gps-map-osd-classic.o"
82 harbaum 32 CFLAGS="$CFLAGS $libsoup24_CFLAGS -DENABLE_OSM_GPS_MAP"
83     LIBS="$LIBS $libsoup24_LIBS"
84     ], [
85     PKG_CHECK_MODULES([libsoup22], [libsoup-2.2], [
86 harbaum 73 EXTRA_OBJS="$EXTRA_OBJS converter.o osm-gps-map.o map-tool.o osm-gps-map-osd-classic.o"
87 harbaum 32 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 harbaum 1
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 harbaum 9 PKG_CHECK_EXISTS(gpsbt, [
140     PKG_CHECK_MODULES([gpsbt], [gpsbt], [], [])
141     CFLAGS="$CFLAGS -DENABLE_GPSBT $gpsbt_CFLAGS"
142     LIBS="$LIBS $gpsbt_LIBS"
143     ], [
144 harbaum 1 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 harbaum 9 ])
154 harbaum 1
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 harbaum 154
166     MAEMO_VERSION_MAJOR=$MAJOR
167     AC_SUBST(MAEMO_VERSION_MAJOR)
168 harbaum 1 ], [
169     AC_MSG_ERROR([maemo-version not found])
170     ])
171    
172     INSTALL_PLATTFORM="install-maemo"
173 harbaum 117
174     # fremantle uses icons of 48x48 pixels for the app installer,
175     # older versions used 26x26
176     if [[ "$MAJOR" == "5" ]]; then
177 harbaum 229 ICONNAME=48x48/gpxview.png
178 harbaum 135 datarootdir=/opt
179 harbaum 117 else
180 harbaum 229 ICONNAME=26x26/gpxview.png
181 harbaum 122 AC_MSG_NOTICE([Enabling Maemo Mapper support])
182 harbaum 117 fi
183    
184 harbaum 233 CFLAGS="$CFLAGS -DENABLE_MAEMO_MAPPER"
185     EXTRA_OBJS="$EXTRA_OBJS mm_poi.o"
186    
187 harbaum 122 # maemo uses dbus for ipc with maemo mapper
188     EXTRA_OBJS="$EXTRA_OBJS dbus.o"
189    
190 harbaum 117 AC_MSG_NOTICE([Using application installer icon "$ICONNAME"])
191 harbaum 1
192 harbaum 117 # 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 harbaum 229 ICON="$ICON`uuencode -m data/icons/$ICONNAME $ICONNAME | sed '1d;$d;s/^/ /' -`"
200 harbaum 117
201 harbaum 1 ], [
202     AC_MSG_RESULT(no)
203    
204 harbaum 126 EXTRA_OBJS="$EXTRA_OBJS bct.o"
205 harbaum 128 CFLAGS="$CFLAGS -DBCT"
206 harbaum 126
207 harbaum 1 # 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 harbaum 117
219     ICON=" No icon"
220 harbaum 1 ])
221    
222 harbaum 36 AC_SUBST(EXTRA_OBJS)
223 harbaum 117 AC_SUBST(ICON)
224 harbaum 36 AC_SUBST(INSTALL_PLATTFORM)
225 harbaum 117 AC_CONFIG_FILES([Makefile src/Makefile data/Makefile debian/control])
226 harbaum 1
227     AC_OUTPUT