Check null value of account before unref in on_open_message_performer (fix 7 for...
[modest] / configure.ac
1 # Copyright (c) 2006,2007 Nokia Corporation
2 # All rights reserved.
3
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
7
8 # * Redistributions of source code must retain the above copyright
9 #   notice, this list of conditions and the following disclaimer.
10 # * Redistributions in binary form must reproduce the above copyright
11 #   notice, this list of conditions and the following disclaimer in the
12 #   documentation and/or other materials provided with the distribution.
13 # * Neither the name of the Nokia Corporation nor the names of its
14 #   contributors may be used to endorse or promote products derived from
15 #   this software without specific prior written permission.
16
17 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
18 # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20 # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
21 # OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29 AC_INIT([modest],[3.0],[http://maemo.org])
30 AC_CONFIG_HEADERS([config.h])
31
32 m4_define([modest_api_major_version], [1])
33 m4_define([modest_api_minor_version], [99])
34 m4_define([modest_api_micro_version], [0])
35 m4_define([modest_api_version], [modest_api_major_version.modest_api_minor_version.modest_api_micro_version])
36
37
38 AC_CONFIG_SRCDIR(src/modest-main.c)
39 AM_INIT_AUTOMAKE([dist-bzip2])
40
41 MODEST_API_MAJOR_VERSION=modest_api_major_version
42 MODEST_API_MINOR_VERSION=modest_api_minor_version
43 MODEST_API_MICRO_VERSION=modest_api_micro_version
44 MODEST_API_VERSION=modest_api_version
45 AC_SUBST(MODEST_API_MAJOR_VERSION)
46 AC_SUBST(MODEST_API_MINOR_VERSION)
47 AC_SUBST(MODEST_API_MICRO_VERSION)
48 AC_SUBST(MODEST_API_VERSION)
49
50 ALL_LINGUAS="en_GB"
51
52 MODEST_LOCALE_DIR='$prefix/${DATADIRNAME}/locale'
53 AM_GLIB_DEFINE_LOCALEDIR([MODEST_LOCALE_DIR])
54 AM_GLIB_GNU_GETTEXT
55
56 if test x$prefix = xNONE; then
57    prefix=/usr/local
58 fi
59 AC_SUBST(prefix)
60
61 AC_PROG_CC
62 AC_PROG_CXX
63 AM_PROG_CC_STDC
64 AC_HEADER_STDC
65 AC_PROG_LIBTOOL
66
67
68 # Option to enable debugging
69 AC_ARG_ENABLE(debug,
70               [AC_HELP_STRING([--enable-debug],[Debugging (default=no)])],
71               [with_debug=yes], [with_debug=no])
72
73 if test "x$with_debug" == "xyes" ; then
74         CFLAGS="$CFLAGS -ggdb -O0 -DDEBUG -Wall"
75 else
76         CFLAGS="$CFLAGS -O2 -Wall"
77 fi
78
79 # Option to enable debugging
80 AC_ARG_ENABLE(gcov,
81               [AC_HELP_STRING([--enable-gcov],[Coverage reporting (default=no)])],
82               [with_gcov=yes], [with_gcov=no])
83
84 if test "x$with_gcov" == "xyes" ; then
85         CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
86         LDFLAGS="$LDFLAGS -lgcov"
87 fi
88
89
90
91 dnl -------
92 dnl GtkHTML
93 dnl -------
94
95 AC_MSG_CHECKING(for installed version of libgtkhtml3)
96 pkg-config --exists libgtkhtml-3.14
97 retval=$?
98 gtk_html_found=false
99 if test $retval -eq 0 ; then
100     gtk_html_found=true
101     gtk_html_version=3.14
102 else
103     pkg-config --exists libgtkhtml-3.8
104     retval=$?
105     if test $retval -eq 0 ; then
106       gtk_html_found=true
107       gtk_html_version=3.8
108     else
109           if [ $gui = "true" ]; then
110             AC_MSG_RESULT(libgtkhtml 3.4 or higher is not found!)
111           fi
112     fi
113 fi
114
115 if [ $gtk_html_found = "true" ]; then
116    version=`pkg-config --modversion libgtkhtml-${gtk_html_version}`
117    AC_MSG_RESULT(found version $version)
118 else
119    AC_MSG_ERROR([install gtkhtml 3.8 or newer])
120 fi
121
122
123 dnl # GLib/Gobject/Gtk/Gconf => mandatory
124
125 PKG_CHECK_MODULES(MODEST_GSTUFF,glib-2.0 >= 2.6 gobject-2.0 gtk+-2.0 >= 2.6 gconf-2.0 gnome-vfs-2.0 libgtkhtml-${gtk_html_version} libtinymail-1.0 libtinymail-camel-1.0 libtinymail-gnomevfs-1.0 libtinymailui-1.0 libtinymailui-gtk-1.0) 
126 AC_SUBST(MODEST_GSTUFF_CFLAGS)
127 AC_SUBST(MODEST_GSTUFF_LIBS)
128
129 modest_save_cflags="$CFLAGS"
130 modest_save_libs="$LIBS"
131 PKG_CHECK_MODULES(MODEST_GTKHTML,libgtkhtml-${gtk_html_version})
132 AC_SUBST(MODEST_GTKHTML_CFLAGS)
133 AC_SUBST(MODEST_GTKHTML_LIBS)
134 CFLAGS="$MODEST_GTKHTML_CFLAGS"
135 LIBS="$MODEST_GTKHTML_LIBS"
136 AC_CHECK_DECLS([gtk_widget_tap_and_hold_setup],[],[], [#include <gtk/gtk.h>])
137 AC_CHECK_FUNCS(gtk_html_set_max_image_size)
138 AC_SUBST(HAVE_GTK_HTML_SET_MAX_IMAGE_SIZE)
139 AC_CHECK_FUNCS(gtk_html_get_selection_area)
140 AC_SUBST(HAVE_GTK_HTML_GET_SELECTION_AREA)
141 AC_CHECK_FUNCS(gtk_html_set_allow_dnd)
142 AC_SUBST(HAVE_GTK_HTML_SET_ALLOW_DND)
143 AC_CHECK_FUNCS(gtk_html_set_default_engine)
144 AC_SUBST(HAVE_GTK_HTML_SET_DEFAULT_ENGINE)
145 AC_CHECK_FUNCS(gtk_tree_view_column_get_cell_data_hint)
146 AC_SUBST(HAVE_GTK_TREE_VIEW_COLUMN_GET_CELL_DATA_HINT)
147 CFLAGS="$modest_save_cflags"
148 LIBS="$modest_save_libs"
149
150
151 dnl dnl now, determine what to build
152 dnl AC_MSG_NOTICE([Determining what platform to build])
153 PKG_CHECK_MODULES(MODEST_MAEMO_LIBS,conic,[detected_platform=maemo],[detected_platform=gnome])
154
155 AC_ARG_WITH(platform, [
156 Target platform:
157   --with-platform=detect  detect target platform (default)
158   --with-platform=gnome   build for Gnome
159   --with-platform=maemo   build for Maemo
160 ],
161 [case "${with_platform}" in
162        gnome|maemo|detect)    MODEST_PLATFORM=${with_platform};;
163        *)        AC_MSG_ERROR([Unknown platform selected]);;
164 esac], [MODEST_PLATFORM=detect])
165
166 if test "$MODEST_PLATFORM" = "detect"; then
167         MODEST_PLATFORM="$detected_platform"
168         with_platform=$detected_platform
169 fi
170
171 if test "$with_platform" = "maemo"; then
172         MODEST_PLUGIN_DEFINES=" -DMODEST_PLATFORM_MAEMO -DMODEST_API_VERSION=${MODEST_API_VERSION}"
173 elif test "$with_platform" = "gnome"; then
174         MODEST_PLUGIN_DEFINES=" -DMODEST_PLATFORM_GNOME -DMODEST_API_VERSION=${MODEST_API_VERSION}"
175 fi
176 AC_SUBST(MODEST_PLUGIN_DEFINES)
177
178 #
179 # check the widgets library
180 #
181 have_hildon2=false
182 have_hildon1=false
183 have_hildon0=false
184 have_gtk=false
185 PKG_CHECK_EXISTS(hildon-1, have_hildon1=true,have_hildon1=false)
186 if test "$have_hildon1" = "true"; then
187    PKG_CHECK_EXISTS(hildon-1 >= 2.1.0 hildon-fm-2, have_hildon2=true, have_hildon2=false)
188    PKG_CHECK_MODULES(MODEST_HILDON_WIDGETS,hildon-1 hildon-fm-2)
189    hildonpkgs="hildon-1 hildon-fm-2"
190    detected_toolkit=hildon1
191    echo "DETECTED HILDON 1 $have_hildon2."
192 else
193    hildonpkgs="hildon-libs hildon-fm"
194    detected_toolkit=hildon1
195    PKG_CHECK_EXISTS(hildon-libs >= 0.12.0, have_hildon1=true, have_hildon1=false)
196    if test "$have_hildon1" = "false"; then
197       PKG_CHECK_EXISTS(hildon-libs, have_hildon0=true, have_hildon0=false)
198       if test "$have_hildon0" = "false"; then
199          have_gtk=true
200          detected_toolkit=gtk
201          hildonpkgs=
202       fi
203    fi
204    if test "$have_gtk" = "false"; then
205       PKG_CHECK_MODULES(MODEST_HILDON_WIDGETS,hildon-libs hildon-fm)
206    fi
207 fi
208
209 dnl --------------- HILDON & PLUGIN PKGS -----------
210 pluginpkgs=$hildonpkgs
211 echo "Plugin Packages $pluginpkgs"
212 AC_SUBST(pluginpkgs)
213
214 use_profile_data=false
215 # Plugin packages must not include libcanberra and libprofile
216 if test "$have_hildon2" = "true"; then
217    echo "DETECTED HILDON 2 $have_hildon2."
218    detected_toolkit=hildon2
219    hildonpkgs="$hildonpkgs libcanberra"
220    AC_CHECK_HEADER([profiled/keys_nokia.h], use_profile_data=true, use_profile_data=false)
221    if test "$use_profile_data" = "true"; then
222       hildonpkgs="$hildonpkgs profile"
223       AC_DEFINE_UNQUOTED(MODEST_USE_PROFILE, 1, ["Use the Profile data include"])
224    fi
225    echo "HILDON 2 PACKAGES $hildonpkgs"
226 fi
227 AC_SUBST(hildonpkgs)
228
229 dnl --------------- HILDON API ------------
230 hildon_api=
231 if test "$have_hildon0" = "true"; then
232    hildon_api=0
233 elif test "$have_hildon1" = "true"; then
234    hildon_api=1
235 elif test "$have_gtk" = "false"; then
236    hildon_api=`$PKG_CONFIG --modversion hildon-1 | cut -d. -f1`
237 fi
238
239 AC_DEFINE_UNQUOTED(MODEST_HILDON_API, $hildon_api, ["the API version of hildon"])
240 MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_HILDON_API=$hildon_api"
241
242 AC_ARG_WITH(toolkit, [
243 Target toolkit:
244   --with-toolkit=detect  detect target toolkit (default)
245   --with-toolkit=gtk   build for Gnome
246   --with-toolkit=hildon1   build for Hildon 1.x
247   --with-toolkit=hildon2   build for Hildon 2.x
248 ],
249 [case "${with_toolkit}" in
250        gtk|hildon1|hildon2|detect)    MODEST_TOOLKIT=${with_toolkit};;
251        *)        AC_MSG_ERROR([Unknown platform selected]);;
252 esac], [MODEST_TOOLKIT=detect])
253
254 if test "$MODEST_TOOLKIT" = "detect"; then
255         MODEST_TOOLKIT="$detected_toolkit"
256         with_toolkit=$detected_toolkit
257 fi
258
259 if test "$with_toolkit" = "hildon1"; then
260         MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_HILDON1"
261 elif test "$with_toolkit" = "hildon2"; then
262         MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_HILDON2"
263 elif test "$with_toolkit" = "gtk"; then
264         MODEST_PLUGIN_DEFINES="$MODEST_PLUGIN_DEFINES -DMODEST_TOOLKIT_GNOME"
265 fi
266
267 dnl Whether to use maemo-launcher or not
268 AC_ARG_ENABLE([maemo-launcher],
269               [AS_HELP_STRING([--enable-maemo-launcher],
270                               [build with maemo-launcher support])],
271                               [case "${enableval}" in
272                                yes) maemo_launcher=true ;;
273                                no)  maemo_launcher=false ;;
274                                *) AC_MSG_ERROR([bad value ${enableval} for --enable-maemo-launcher]) ;;
275                                esac], [maemo_launcher=false])
276 if test x$maemo_launcher = xtrue
277 then
278         PKG_CHECK_MODULES(MAEMO_LAUNCHER, [maemo-launcher-app])
279         AC_SUBST(MAEMO_LAUNCHER_CFLAGS)
280         AC_SUBST(MAEMO_LAUNCHER_LIBS)
281         MAEMO_LAUNCHER_MODEST_LDFLAGS="-shared "
282 else
283         MAEMO_LAUNCHER_MODEST_LDFLAGS="-export-dynamic "
284 fi
285 AC_SUBST(MAEMO_LAUNCHER_MODEST_LDFLAGS)
286
287 have_easysetup=false
288 if test "x$with_toolkit" == "xgtk"; then
289    PKG_CHECK_MODULES(MODEST_TOOLKIT,glib-2.0 >= 2.8 gtk+-2.0 >= 2.10 libnotify gtksourceview-2.0)
290    AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_GTK, 1, ["Whether modest is being build for the gtk toolkit."])
291    MODEST_TOOLKIT_DIR=gnome
292 else
293    have_easysetup=true
294    PKG_CHECK_MODULES(MODEST_TOOLKIT,$hildonpkgs)
295    if test "$with_toolkit" = "hildon2"; then
296       AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_HILDON2, 1, ["Whether modest is being build for the hildon2 toolkit."])
297       MODEST_TOOLKIT_DIR=hildon2
298    else
299       AC_DEFINE_UNQUOTED(MODEST_TOOLKIT_HILDON1, 1, ["Whether modest is being build for the hildon2 toolkit."])
300       MODEST_TOOLKIT_DIR=maemo
301    fi
302     AC_DEFINE_UNQUOTED(MODEST_HAVE_EASYSETUP, 1, ["Whether we have the easysetup feature"])
303 fi
304 AM_CONDITIONAL(MODEST_HAVE_EASYSETUP,test "x$have_easysetup" == "xtrue")
305 AC_SUBST(MODEST_TOOLKIT)
306 AC_SUBST(MODEST_TOOLKIT_DIR)
307
308 if test "x$with_platform" == "xgnome"; then
309       PKG_CHECK_MODULES(MODEST_PLATFORM,libtinymail-gnome-desktop-1.0 glib-2.0 >= 2.8 libnotify)
310     AC_DEFINE_UNQUOTED(MODEST_PLATFORM_GNOME, 1, ["Whether modest is being built for the GNOME platform."])
311 dnl     AC_MSG_ERROR([The GNOME Build is currently broken; please try the Maemo build instead])
312 else
313     have_dbusapi=true
314     PKG_CHECK_MODULES(MODEST_PLATFORM,libosso dbus-1 libtinymail-maemo-1.0 libebook-1.2 )
315     AC_DEFINE_UNQUOTED(MODEST_PLATFORM_MAEMO, 1, ["Whether modest is being built for the MAEMO platform."])
316 fi
317 AM_CONDITIONAL(MODEST_HAVE_DBUS_API,test "x$have_dbusapi" == "xtrue")
318 AC_SUBST(MODEST_PLATFORM)
319
320
321
322 #
323 # check for wpeditor or libwpeditor-plus (on maemo)
324 #
325 if test "x$with_toolkit" != "xgtk"; then  
326 PKG_CHECK_MODULES(MODEST_WPEDITOR,wpeditor,have_wpeditor=true,have_wpeditor=false)
327 if test "x$have_wpeditor" == "xfalse"; then
328    PKG_CHECK_MODULES(MODEST_WPEDITOR,libwpeditor-plus,have_libwpeditorplus=true,have_libwpeditorplus=false)     
329    if test "x$have_libwpeditorplus" == "xtrue"; then
330         wpeditor="libwpeditor-plus"
331         AC_DEFINE_UNQUOTED(MODEST_HAVE_LIBWPEDITOR_PLUS, 1, ["Whether libwpeditor-plus is used."])              
332    else
333         AC_MSG_ERROR([you need to have either wpeditor or libwpeditor-plus installed])
334    fi
335 else
336    wpeditor="wpeditor"  
337    AC_DEFINE_UNQUOTED(MODEST_HAVE_WPEDITOR, 1, ["Whether wpeditor is used."])           
338 fi
339 fi
340
341
342 #
343 # check libalarm
344 #
345 if test "x$with_platform" == "xmaemo"; then  
346    PKG_CHECK_MODULES(MODEST_LIBALARM,libalarm,have_libalarm=true,have_libalarm=false)
347    if test "x$have_libalarm" == "xfalse"; then
348       PKG_CHECK_MODULES(MODEST_LIBALARM, alarm, have_libalarm=true,have_libalarm=false)
349    fi
350    if test "x$have_libalarm" == "xtrue"; then
351       AC_DEFINE_UNQUOTED(MODEST_HAVE_LIBALARM, 1, ["Whether libalarm is used."])                
352       AC_SUBST(MODEST_LIBALARM_CFLAGS)
353       AC_SUBST(MODEST_LIBALARM_LIBS)
354    fi
355 fi
356
357 #
358 # check for MCE
359 #
360 if test "x$with_platform" == "xmaemo"; then  
361 PKG_CHECK_MODULES(MODEST_MCE,mce,have_mce=true,have_mce=false)
362 if test "x$have_mce" == "xtrue"; then
363    mce="mce"    
364    AC_DEFINE_UNQUOTED(MODEST_HAVE_MCE, 1, ["Whether mce is used."])
365    AC_SUBST(MODEST_MCE_CFLAGS)
366    AC_SUBST(MODEST_MCE_LIBS)
367 else
368    mce=""
369 fi
370 fi
371
372 #
373 # check for libconic; this is a trick to check whether we run
374 # on a 'real' maemo platform, or on, say, ubuntu embedded
375 # this determines whether we build with the non-hildon GTK+
376 #
377 if test "x$with_platform" == "xmaemo"; then  
378 PKG_CHECK_MODULES(MODEST_LIBCONIC,conic,have_libconic=true,have_libconic=false)
379 if test "x$have_libconic" == "xtrue"; then
380    AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_GTK,1,["Whether modest is being built with Hildon/Gtk"])
381    AC_DEFINE_UNQUOTED(MODEST_HAVE_CONIC,1,["Whether modest has conic available"])
382    AC_SUBST(MODEST_LIBCONIC_CLAGS)
383    AC_SUBST(MODEST_LIBCONIC_LIBS)
384 else
385 # if we define this, tinymail will not try to #include conic headers
386    CFLAGS="$CFLAGS -DLIBTINYMAIL_MAEMO_WITHOUT_CONIC"
387 fi
388 fi
389
390 #
391 # check hildon-help (only for maemo AND NOT fremantle)
392 #
393 if test "x$with_toolkit" == "xhildon1"; then
394    PKG_CHECK_MODULES(MODEST_HILDON_HELP,hildon-help,have_hildon_help=true,have_hildon_help=false)
395    if test "x$have_hildon_help" == "xfalse"; then
396       PKG_CHECK_MODULES(MODEST_HILDON_HELP,libossohelp,have_osso_help=true,have_osso_help=false)        
397       if test "x$have_osso_help" == "xtrue"; then
398         helplib="osso-help"
399         AC_DEFINE_UNQUOTED(MODEST_HAVE_OSSO_HELP, 1, ["Whether osso-help is used."])            
400       else
401         AC_MSG_ERROR([you need to have either osso-help or hildon-help installed])
402       fi
403    else
404      helplib="hildon-help"
405      AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_HELP, 1, ["Whether hildon-help is used."])           
406    fi
407 fi
408
409
410
411 #
412 # check for the notification stuff (only maemo)
413 #
414 if test "x$with_toolkit" != "xgtk"; then  
415    PKG_CHECK_MODULES(MODEST_HILDON_NOTIFY,hildon-notify libnotify,have_hildon_notify=true,have_hildon_notify=false)
416    if test "x$have_hildon_notify" == "xtrue"; then
417       AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_NOTIFY, 1, ["Whether hildon-notify is available"])      
418    fi
419 fi
420
421
422 #
423 # check for the uri/mime stuff
424 #
425 if test "x$with_toolkit" != "xgtk"; then  
426    PKG_CHECK_MODULES(MODEST_HILDON_MIME,libhildonmime,have_hildonmime=true,have_hildonmime=false)
427    if test "x$have_hildonmime" == "xfalse"; then
428       PKG_CHECK_MODULES(MODEST_HILDON_MIME,libossomime,have_ossomime=true,have_ossomime=false)  
429       if test "x$have_ossomime" == "xtrue"; then
430         mimelib="osso-mime"
431         AC_DEFINE_UNQUOTED(MODEST_HAVE_OSSO_MIME, 1, ["Whether osso-mime is used."])            
432       else
433         AC_MSG_ERROR([you need to have either osso-mime or hildon-mime installed])
434       fi
435    else
436      mimelib="hildon-mime"      
437      AC_DEFINE_UNQUOTED(MODEST_HAVE_HILDON_MIME, 1, ["Whether hildon-mime is used."])           
438    fi
439 fi
440
441 PKG_CHECK_MODULES(MODEST_MOZEMBED, libtinymailui-mozembed-1.0, have_mozembed=true, have_mozembed=false)
442 AC_ARG_ENABLE(mozembed,
443 AC_HELP_STRING([--enable-mozembed],
444         [Build with GtkMozEmbed (yes, no)]),
445 [case "${enableval}" in
446       yes)
447         if test x$have_mozembed = xfalse; then
448            AC_MSG_ERROR([building of GtkMozEmbed support requested and gtkmozembed not found])
449         fi
450         use_mozembed=true
451         ;;
452       *)
453         use_mozembed=false
454         ;;
455 esac],[use_mozembed=false])
456
457 AM_CONDITIONAL(BUILD_MOZEMBED, test x$use_mozembed = xtrue)
458
459 if test x$use_mozembed = xtrue; then
460         AC_DEFINE_UNQUOTED(MODEST_USE_MOZEMBED, 1, ["Whether we use GtkMozEmbed."])
461 fi
462
463 #dnl wether we can and should build the 
464 #dnl search plugin (on maemo)
465 if test "x$with_platform" == "xmaemo"; then  
466 PKG_CHECK_MODULES(MODEST_OGS, libosso >= 0.8.5 libogs-1.2, have_ogs=true, have_ogs=false)
467 have_ogs_support=false
468 AC_ARG_ENABLE(ogs_support,
469 AC_HELP_STRING([--enable-ogs-support],
470         [Build with osso global search support (yes, no)]),
471 [case "${enableval}" in
472       yes)
473         if test x$have_ogs = xfalse; then
474            AC_MSG_ERROR([building of ogs support requested and libogs-1.2 not found])
475         fi
476         ;;
477       *) 
478         have_ogs_support=false
479         ;;
480 esac],[have_ogs_support=$have_ogs])
481
482 if test x$have_ogs_support = xtrue; then
483         AC_DEFINE_UNQUOTED(MODEST_HAVE_OGS, 1, ["Whether ogs is available."])
484 fi
485 fi
486
487
488
489
490 #
491 # check the version of the addressbook on maemo
492 #
493 if test "x$with_platform" == "xmaemo"; then  
494    PKG_CHECK_MODULES(MODEST_ABOOK,osso-addressbook-1.0,have_abook=true,have_abook=false)
495    abook_api=`$PKG_CONFIG --modversion osso-addressbook-1.0 | cut -d. -f1`
496    AC_SUBST(MODEST_ABOOK_CFLAGS)
497    AC_SUBST(MODEST_ABOOK_LIBS)
498
499    if test "x$have_abook" == "xfalse"; then
500      PKG_CHECK_MODULES(MODEST_ABOOK, libosso-abook-1.0,have_abook=true,have_abook=false)
501      abook_api=`$PKG_CONFIG --modversion libosso-abook-1.0 | cut -d. -f1`
502      AC_SUBST(MODEST_ABOOK_CFLAGS)
503      AC_SUBST(MODEST_ABOOK_LIBE)
504
505      modest_save_cflags="$CFLAGS"
506      modest_save_libs="$LIBS"
507      CFLAGS="$MODEST_ABOOK_CFLAGS"
508      LIBS="$MODEST_ABOOK_LIBS"
509      AC_CHECK_FUNCS(osso_abook_contact_chooser_set_visible_func)
510      AC_SUBST(HAVE_OSSO_ABOOK_CONTACT_CHOOSER_SET_VISIBLE_FUNC)
511      CFLAGS="$modest_save_cflags"
512      LIBS="$modest_save_libs"
513    fi
514
515    if test "x$have_abook" == "xtrue"; then
516       AC_DEFINE_UNQUOTED(OSSO_ABOOK_ENABLE_DEPRECATED, 1, ["use deprecated addressbook API"])
517       AC_DEFINE_UNQUOTED(MODEST_ABOOK_API, $abook_api, ["the API version of osso-addressbook"])
518       AC_DEFINE_UNQUOTED(MODEST_HAVE_ABOOK, 1, ["whether we have osso-addressbook"])
519       addressbook="osso-addressbook"
520    fi
521 fi
522
523 AC_CHECK_HEADERS([clockd/libtime.h], have_libtime=true, have_libtime=false)
524
525 if test "x$have_libtime" == "xtrue"; then
526    AC_DEFINE_UNQUOTED(MODEST_USE_LIBTIME, 1, ["use libtime API"])
527    MODEST_LIBTIME_LIBS=-ltime
528 else
529    MODEST_LIBTIME_LIBS=
530 fi
531 AC_SUBST(MODEST_LIBTIME_LIBS)
532
533 #
534 # if we don't have an addressbook, use the dummy one
535 #
536 AM_CONDITIONAL(MODEST_USE_DUMMY_ADDRESS_BOOK,test "x$have_abook" != "xtrue")
537
538
539 AM_GLIB_GNU_GETTEXT
540 IT_PROG_INTLTOOL([0.35.0])
541
542 # gettext support
543 GETTEXT_PACKAGE=modest  
544 AC_SUBST(GETTEXT_PACKAGE)
545 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", ["gettext package"])
546
547
548 #
549 # settings for maemo platform
550 #
551 if test "x$with_platform" == "xmaemo"; then  
552
553   # warnings are errors, but don't check format errors, because
554   # it breaks with logical ids
555   CFLAGS="$CFLAGS -Wno-format-extra-args -Werror"
556
557    desktopentrydir=`$PKG_CONFIG osso-af-settings --variable=desktopentrydir`
558    serviceentrydir=`$PKG_CONFIG dbus-glib-1 --variable=prefix`/share/dbus-1/services
559    localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`
560    backupsettingsdir=/etc/osso-backup/applications
561    prebackupdir=/etc/osso-backup/pre-backup.d/
562    restoredir=/etc/osso-backup/restore.d/always/
563    ossocudscriptsdir=/etc/osso-cud-scripts
564    pixmapdir=`$PKG_CONFIG osso-af-settings --variable=hildonpixmapdir`
565    icon_26x26dir=$datadir/icons/hicolor/26x26/hildon
566    icon_34x34dir=$datadir/icons/hicolor/34x34/hildon
567    icon_40x40dir=$datadir/icons/hicolor/40x40/hildon
568    icon_50x50dir=$datadir/icons/hicolor/50x50/hildon
569    icon_scalabledir=$datadir/icons/hicolor/scalable/hildon
570    pluginlibdir=`$PKG_CONFIG hildon-control-panel --variable=plugindir`
571    plugindesktopentrydir=`$PKG_CONFIG hildon-control-panel --variable=plugindesktopentrydir`
572
573    dbus_api="dbus_api"
574    AC_SUBST(dbus_api)
575
576    # Define as variables in Makefiles
577    AC_SUBST(desktopentrydir)
578    AC_SUBST(serviceentrydir)
579    AC_SUBST(backupsettingsdir)
580    AC_SUBST(prebackupdir)
581    AC_SUBST(restoredir)
582    AC_SUBST(ossocudscriptsdir)
583    AC_SUBST(localedir)
584    AC_SUBST(pixmapdir)
585    AC_SUBST(icon_26x26dir)
586    AC_SUBST(icon_34x34dir)
587    AC_SUBST(icon_40x40dir)
588    AC_SUBST(icon_50x50dir)
589    AC_SUBST(icon_scalabledir)
590    AC_SUBST(pluginlibdir)
591    AC_SUBST(plugindesktopentrydir)
592
593 fi
594
595 dnl ## setup the testing framework (ie., make check)
596 build_tests=false
597 AC_ARG_ENABLE(tests,
598 AC_HELP_STRING([--enable-tests],
599         [Build tests (no, yes)]),
600 [case "${enableval}" in
601       yes)
602         build_tests=true ;;
603       *) build_tests=false ;;
604 esac],[build_tests=false])
605 AM_CONDITIONAL(BUILD_TESTS, test x$build_tests = xtrue)
606
607
608
609 dnl ## is the check package installed?
610 if test x$build_tests = xtrue; then
611    PKG_CHECK_MODULES(CHECK, check >= 0.9.4 glib-2.0)
612 fi
613
614
615
616 dnl ## do we want documentation (gtk-doc)
617 build_docs=false
618 AC_ARG_ENABLE(docs,
619 AC_HELP_STRING([--enable-docs],
620         [Build documentation (yes, no)]),
621 [case "${enableval}" in
622       yes)
623         build_docs=true ;;
624       *) build_docs=false ;;
625 esac],[build_docs=false])
626 AM_CONDITIONAL(BUILD_DOCS, test x$build_docs = xtrue)
627
628 dnl ## gtk-doc
629 GTK_DOC_CHECK([1.0])
630
631 AC_OUTPUT([
632 po/Makefile.in
633 Makefile
634 man/Makefile
635 src/Makefile
636 src/modest-plugin-1.0.pc
637 src/dbus_api/Makefile
638 src/gnome/Makefile
639 src/maemo/Makefile
640 src/maemo/easysetup/Makefile
641 src/hildon2/Makefile
642 src/widgets/Makefile
643 docs/Makefile
644 docs/reference/Makefile
645 tests/Makefile
646 tests/dbus_api/Makefile
647 src/maemo/modest.desktop
648 src/maemo/com.nokia.modest.service
649 src/hildon2/modest.desktop
650 src/hildon2/com.nokia.modest.service
651 libmodest-dbus-client/Makefile
652 libmodest-dbus-client/libmodest-dbus-client-1.0.pc
653 ])
654
655
656 echo
657 echo "modest configure results"
658 echo "-----------------------------------"
659 echo "Platform         : $with_platform"
660 echo "Toolkit          : $with_toolkit"
661 echo "Prefix           : ${prefix}"
662 echo "Build tests      : $build_tests"
663 echo "Build docs       : $build_docs"
664 echo "Gettext Package  : $GETTEXT_PACKAGE"
665
666 if test "x$with_platform" == "xmaemo"; then
667    echo "Maemo Launcher   : $maemo_launcher"
668    echo "Editor lib       : $wpeditor"
669    echo "Addressbook      : $have_abook"
670    if test "x$with_toolkit" == "xhildon1"; then
671       echo "Help lib         : $helplib"
672    fi
673    echo "libconic support : $have_libconic"
674    echo "Alarm            : $have_libalarm"
675    echo "MCE              : $have_mce"
676    echo "Hildon-Notify    : $have_hildon_notify"
677    echo "LibOGS support   : $have_ogs_support"
678 fi
679
680 echo "MozEmbed support : $use_mozembed"
681 if [ $gtk_html_found = "true" ]; then
682    echo "GtkHTML version  : $gtk_html_version"
683 fi
684 echo "Libtime          : $have_libtime"
685
686 echo "CFLAGS           : $CFLAGS"
687 echo "Debug version    : $with_debug"
688 echo ""
689 echo "NOTE: you should do a 'make clean' after changing architecture or platform (--with-platform=)"
690 echo ""