1
#                                               -*- Autoconf -*-
2
# Process this file with autoconf to produce a configure script.
3
m4_define([champlain_major_version], [0])
4
m4_define([champlain_minor_version], [13])
5
m4_define([champlain_micro_version], [0])
6
m4_define([champlain_version],
7
          [champlain_major_version.champlain_minor_version.champlain_micro_version])
8
m4_define([champlain_minor_api_version], [m4_eval(champlain_minor_version + champlain_minor_version%2)])
9
m4_define([champlain_api_version],
10
          [champlain_major_version.champlain_minor_api_version])
11
AC_PREREQ([2.64])
12
AC_INIT([libchamplain],
13
        [champlain_version],
14
        [http://bugzilla.gnome.org/enter_bug.cgi?product=libchamplain],
15
        [libchamplain],
16
        [http://projects.gnome.org/libchamplain/])
17
AC_CONFIG_SRCDIR([champlain/champlain.h])
18
AC_CONFIG_HEADERS([config.h])
19
AC_CONFIG_MACRO_DIR([m4])
20
21
AM_INIT_AUTOMAKE([-Wno-portability no-dist-gzip dist-xz])
22
23
LT_PREREQ([2.2.6])
24
LT_INIT([dlopen])
25
26
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
27
28
# Checks for programs.
29
AC_PROG_CC
30
AM_PROG_CC_C_O
31
32
# Before making a release, the LIBRARY_VERSION string should be modified.
33
# The string is of the form C:R:A.
34
# - If interfaces have been changed or added, but binary compatibility has
35
#   been preserved, change to C+1:0:A+1
36
# - If binary compatibility has been broken (eg removed or changed interfaces)
37
#   change to C+1:0:0
38
# - If the interface is the same as the previous version, change to C:R+1:A
39
LIBRARY_VERSION=0:0:0
40
CHAMPLAIN_API_VERSION=champlain_api_version
41
CHAMPLAIN_API_VERSION_NORM=champlain_major_version[_]champlain_minor_api_version
42
CHAMPLAIN_MAJOR_VERSION=champlain_major_version
43
CHAMPLAIN_MINOR_VERSION=champlain_minor_version
44
CHAMPLAIN_MICRO_VERSION=champlain_micro_version
45
CHAMPLAIN_VERSION=champlain_version
46
CHAMPLAIN_MAJORMINOR=champlain_api_version
47
AC_SUBST(CHAMPLAIN_API_VERSION)
48
AC_SUBST(CHAMPLAIN_API_VERSION_NORM)
49
AC_SUBST(CHAMPLAIN_MAJOR_VERSION)
50
AC_SUBST(CHAMPLAIN_MINOR_VERSION)
51
AC_SUBST(CHAMPLAIN_MICRO_VERSION)
52
AC_SUBST(CHAMPLAIN_VERSION)
53
AC_SUBST(CHAMPLAIN_MAJORMINOR)
54
55
AC_SUBST(LIBRARY_VERSION)
56
57
# Checks for libraries.
58
59
AC_CHECK_LIBM
60
AC_SUBST(LIBM)
61
62
PKG_CHECK_MODULES(DEPS,
63
  [   glib-2.0 >= 2.16
64
      gobject-2.0 >= 2.10
65
      gdk-3.0 >= 2.90
66
      clutter-1.0 >= 1.2
67
      cairo >= 1.4
68
      gio-2.0 >= 2.16
69
      sqlite3 >= 3.0
70
  ]
71
)
72
AC_SUBST(DEPS_CFLAGS)
73
AC_SUBST(DEPS_LIBS)
74
75
AM_PATH_GLIB_2_0(2.16.0,,gobject gthread gio)
76
77
# check for gtk-doc
78
GTK_DOC_CHECK(1.9)
79
80
GNOME_COMPILE_WARNINGS([maximum])
81
GNOME_MAINTAINER_MODE_DEFINES
82
83
GOBJECT_INTROSPECTION_CHECK([0.6.3])
84
85
# -----------------------------------------------------------
86
# Check for libsoup, use libsoup-gnome if available
87
# -----------------------------------------------------------
88
PKG_CHECK_MODULES(SOUP_GNOME, libsoup-gnome-2.4 >= 2.26, [
89
    have_soup_gnome="yes"
90
    SOUP_CFLAGS=$SOUP_GNOME_CFLAGS
91
    SOUP_LIBS=$SOUP_GNOME_LIBS
92
    SOUP_DEP="libsoup-gnome-2.4"
93
    AC_DEFINE(HAVE_LIBSOUP_GNOME,1,[libsoup gnome integration])
94
    ], have_soup_gnome="no")
95
96
97
if test "x$have_soup_gnome" = "xno"; then
98
  PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.4.1,
99
     have_soup="yes", have_soup="no")
100
  SOUP_DEP="libsoup-2.4"
101
fi
102
103
if test "x$have_soup" = "xno" && test "x$have_soup_gnome" = "xno"; then
104
   AC_MSG_ERROR([Could not find libsoup or libsoup-gnome.])
105
fi
106
107
AC_SUBST(SOUP_CFLAGS)
108
AC_SUBST(SOUP_LIBS)
109
AC_SUBST(SOUP_DEP)
110
# -----------------------------------------------------------
111
# Enable debug
112
# -----------------------------------------------------------
113
114
AC_ARG_ENABLE(debug,
115
  AS_HELP_STRING([--disable-debug],[compile without debug code]),
116
    enable_debug=$enableval, enable_debug=yes )
117
118
if test x$enable_debug = xyes; then
119
  AC_DEFINE(ENABLE_DEBUG, [], [Enable debug code])
120
fi
121
122
# -----------------------------------------------------------
123
# Enable Maemo optimizations
124
# -----------------------------------------------------------
125
126
AC_ARG_ENABLE(maemo,
127
  AS_HELP_STRING([--enable-maemo],[compile with maemo optimizations]),
128
    [enable_maemo=yes])
129
130
# -----------------------------------------------------------
131
# Enable gtk
132
# -----------------------------------------------------------
133
134
AC_ARG_ENABLE(gtk,
135
  AS_HELP_STRING([--disable-gtk],[Do not compile Gtk+ embedded view]),
136
    enable_gtk=$enableval, enable_gtk=yes )
137
138
if test x$enable_gtk = xyes; then
139
  PKG_CHECK_MODULES(GTK,
140
    [   gtk+-3.0 >= 2.90
141
        clutter-gtk-1.0 >= 0.90
142
    ]
143
  )
144
  AC_SUBST(GTK_CFLAGS)
145
  AC_SUBST(GTK_LIBS)
146
fi
147
148
AM_CONDITIONAL(ENABLE_GTK, test "x$enable_gtk" = "xyes")
149
150
# -----------------------------------------------------------
151
# Enable memphis
152
# -----------------------------------------------------------
153
154
AC_ARG_ENABLE(memphis,
155
  AS_HELP_STRING([--disable-memphis],[Disable support of local rendering using libmemphis]),
156
    enable_memphis=$enableval, enable_memphis="auto")
157
158
if test "x$enable_memphis" = "xauto"; then
159
  PKG_CHECK_MODULES(MEMPHIS, [memphis-0.2 >= 0.2.1], enable_memphis="yes", enable_memphis="no")
160
elif test "x$enable_memphis" = "xyes"; then
161
  PKG_CHECK_MODULES(MEMPHIS, [memphis-0.2 >= 0.2.1])
162
fi
163
164
AC_SUBST(MEMPHIS_CFLAGS)
165
AC_SUBST(MEMPHIS_LIBS)
166
167
AM_CONDITIONAL(ENABLE_MEMPHIS, test "x$enable_memphis" = "xyes")
168
169
# -----------------------------------------------------------
170
# Enable vala bindings (default to "no")
171
# -----------------------------------------------------------
172
173
AC_ARG_ENABLE(vala,
174
  AS_HELP_STRING([--enable-vala], [Build Vala bindings [default=no]]),
175
    enable_vala=$enableval, enable_vala=no )
176
177
if test "x$enable_vala" = "xyes"; then
178
  if test "x$enable_introspection" = "xno"; then
179
    AC_MSG_ERROR([Cannot build vala bindings without gobject introspection])    
180
  fi
181
182
  AC_PATH_PROG(VAPIGEN, vapigen, vapigen)
183
  AC_SUBST(VAPIGEN)
184
fi
185
186
AM_CONDITIONAL(ENABLE_VALA, test "x$enable_vala" = "xyes")
187
188
# -----------------------------------------------------------
189
# Enable vala demos (default to "no")
190
# -----------------------------------------------------------
191
192
AC_ARG_ENABLE(vala-demos,
193
  AS_HELP_STRING([--enable-vala-demos],[Build vala demos [default=no]]),
194
    enable_vala_demos=$enableval, enable_vala_demos=no )
195
196
if test "x$enable_vala_demos" = "xyes"; then
197
  AM_PROG_VALAC([0.11.0])
198
199
  if test "x$VALAC" = "x" ; then
200
    AC_MSG_ERROR([Cannot find the "valac" compiler in your PATH])
201
  fi
202
fi
203
204
AM_CONDITIONAL(ENABLE_VALA_DEMOS, test "x$enable_vala_demos" = "xyes")
205
206
# -----------------------------------------------------------
207
# Generate features header file
208
# -----------------------------------------------------------
209
210
CHAMPLAIN_CONFIG_COMMANDS([champlain/champlain-features.h],
211
[
212
  echo '/* Generated by configure.  Do not edit. */'
213
  echo '#ifndef CHAMPLAIN_FEATURES_H'
214
  echo '#define CHAMPLAIN_FEATURES_H'
215
  echo ''
216
  if test "x$enable_memphis" = "xyes"; then
217
    echo '#define CHAMPLAIN_HAS_MEMPHIS 1'
218
    echo ''
219
  fi
220
  if test "x$enable_maemo" = "xyes"; then
221
    echo '#define CHAMPLAIN_HAS_MAEMO 1'
222
    echo ''
223
  fi
224
  echo '#endif'
225
],[
226
  enable_memphis="$enable_memphis"
227
  enable_maemo="$enable_maemo"
228
])
229
230
# ----------------------------------------------------------
231
232
AC_CONFIG_FILES([Makefile
233
                 build/Makefile
234
                 champlain/Makefile
235
                 champlain/champlain-version.h
236
                 demos/Makefile
237
                 demos/icons/Makefile
238
                 docs/Makefile
239
                 docs/reference/Makefile
240
                 docs/reference/version.xml
241
                 docs/reference-gtk/Makefile
242
                 docs/reference-gtk/version.xml
243
                 champlain-$CHAMPLAIN_API_VERSION.pc:champlain.pc.in
244
                 champlain-$CHAMPLAIN_API_VERSION-uninstalled.pc:champlain-uninstalled.pc.in
245
                 champlain-gtk-$CHAMPLAIN_API_VERSION.pc:champlain-gtk.pc.in
246
                 champlain-gtk-$CHAMPLAIN_API_VERSION-uninstalled.pc:champlain-gtk-uninstalled.pc.in
247
                 champlain-gtk/Makefile
248
                 champlain-memphis-$CHAMPLAIN_API_VERSION.pc:champlain-memphis.pc.in
249
                 champlain-memphis-$CHAMPLAIN_API_VERSION-uninstalled.pc:champlain-memphis-uninstalled.pc.in])
250
AC_OUTPUT
251
252
echo ""
253
echo "libchamplain $VERSION"
254
echo ""
255
echo "                 Prefix: ${prefix}"
256
echo "         Compiler flags: ${CFLAGS} ${CPPFLAGS}"
257
echo "          Documentation: ${enable_gtk_doc}"
258
echo "                  Debug: ${enable_debug}"
259
echo "          libsoup-gnome: ${have_soup_gnome}"
260
echo "              Gtk+ View: ${enable_gtk}"
261
echo ""
262
echo "Extra renderers:"
263
echo "       Memphis renderer: ${enable_memphis}"
264
echo ""
265
echo "Bindings:"
266
echo "  gobject-introspection: ${enable_introspection}"
267
echo "   Vala vapi generation: ${enable_vala}"
268
echo "             Vala demos: ${enable_vala_demos}"
269
echo ""