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], [5])
5
m4_define([champlain_micro_version], [1])
6
m4_define([champlain_version],
7
          [champlain_major_version.champlain_minor_version.champlain_micro_version])
8
m4_define([api_version],
9
          [champlain_major_version.champlain_minor_version])
10
# if the API changes, set to 0
11
AC_PREREQ(2.61)
12
AC_INIT([libchamplain],
13
        [champlain_version],
14
        pierre-luc@pierlux.com)
15
AC_CONFIG_SRCDIR([champlain/champlain.h])
16
AC_CONFIG_HEADER([config.h])
17
AC_CONFIG_MACRO_DIR([m4])
18
19
AM_INIT_AUTOMAKE
20
AC_LIBTOOL_DLOPEN
21
AM_PROG_LIBTOOL
22
23
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
24
25
# Checks for programs.
26
AC_PROG_CC
27
AM_PROG_CC_C_O
28
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
29
30
# Checks for libraries.
31
LIBRARY_VERSION=0:0:0
32
# API_VERSION is used to generate pc files only
33
API_VERSION=api_version
34
CHAMPLAIN_MAJOR_VERSION=champlain_major_version
35
CHAMPLAIN_MINOR_VERSION=champlain_minor_version
36
CHAMPLAIN_MICRO_VERSION=champlain_micro_version
37
CHAMPLAIN_VERSION=champlain_version
38
CHAMPLAIN_MAJORMINOR=champlain_api_version
39
AC_SUBST(API_VERSION)
40
AC_SUBST(CHAMPLAIN_MAJOR_VERSION)
41
AC_SUBST(CHAMPLAIN_MINOR_VERSION)
42
AC_SUBST(CHAMPLAIN_MICRO_VERSION)
43
AC_SUBST(CHAMPLAIN_VERSION)
44
AC_SUBST(CHAMPLAIN_MAJORMINOR)
45
46
AC_SUBST(LIBRARY_VERSION)
47
AC_SUBST(DEPS_CFLAGS)
48
AC_SUBST(DEPS_LIBS)
49
50
PKG_CHECK_MODULES(DEPS,
51
  [   glib-2.0 >= 2.16,
52
      gobject-2.0 >= 2.10,
53
      gdk-2.0 >= 2.10,
54
      clutter-1.0 >= 1.0,
55
      cairo >= 1.4,
56
      gio-2.0 >= 2.16,
57
      sqlite3 >= 3.0,
58
      memphis-0.1 >= 0.1
59
  ]
60
)
61
# check for gtk-doc
62
GTK_DOC_CHECK(1.9)
63
IDT_COMPILE_WARNINGS
64
65
# -----------------------------------------------------------
66
# Check for libsoup, use libsoup-gnome if available
67
# -----------------------------------------------------------
68
PKG_CHECK_MODULES(SOUP, libsoup-gnome-2.4 >= 2.26, [
69
    have_soup_gnome="yes"
70
    AC_DEFINE(HAVE_LIBSOUP_GNOME,1,[libsoup gnome integration])
71
    ], have_soup_gnome="no")
72
73
if test "x$have_soup_gnome" = "xno"; then
74
  PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.4.1,
75
     have_soup="yes", have_soup="no")
76
fi
77
78
if test "x$have_soup" = "xno" && test "x$have_soup_gnome" = "xno"; then
79
   AC_MSG_ERROR([Couldn't find libsoup or libsoup-gnome.])
80
fi
81
82
AC_SUBST(SOUP_CFLAGS)
83
AC_SUBST(SOUP_LIBS)
84
85
# -----------------------------------------------------------
86
# Enable debug
87
# -----------------------------------------------------------
88
89
AC_ARG_ENABLE(debug,
90
  AC_HELP_STRING([--disable-debug],[compile without debug code]),
91
    enable_debug=$enableval, enable_debug=yes )
92
93
if test x$enable_debug = xyes; then
94
  AC_DEFINE(ENABLE_DEBUG, [], [Enable debug code])
95
fi
96
97
# -----------------------------------------------------------
98
# Enable Maemo optimizations
99
# -----------------------------------------------------------
100
101
AC_ARG_ENABLE(maemo,
102
  AC_HELP_STRING([--enable-maemo],[compile with maemo optimizations]),
103
    [enable_maemo=yes])
104
105
if test x$enable_maemo = xyes; then
106
  AC_DEFINE(USE_MAEMO, [], [Enable Maemo Optimizations])
107
fi
108
109
# -----------------------------------------------------------
110
# Enable gtk
111
# -----------------------------------------------------------
112
113
AC_ARG_ENABLE(gtk,
114
  AC_HELP_STRING([--disable-gtk],[Don't compile Gtk+ embedded view]),
115
    enable_gtk=$enableval, enable_gtk=yes )
116
117
if test x$enable_gtk = xyes; then
118
  AC_SUBST(GTK_DEPS_CFLAGS)
119
  AC_SUBST(GTK_DEPS_LIBS)
120
  PKG_CHECK_MODULES(GTK_DEPS,
121
    [   gtk+-2.0 >= 2.12,
122
        clutter-gtk-0.10 >= 0.10,
123
        memphis-0.1 >= 0.1
124
    ]
125
  )
126
127
  AC_CONFIG_FILES([champlain-gtk/Makefile
128
                   docs/reference-gtk/Makefile
129
                   docs/reference-gtk/version.xml
130
                   champlain-gtk.pc
131
                   champlain-gtk-uninstalled.pc])
132
133
  AC_DEFINE(ENABLE_GTK, [], [Enable Gtk+ view code])
134
fi
135
136
AM_CONDITIONAL(ENABLE_GTK, test "x$enable_gtk" = "xyes")
137
138
# -----------------------------------------------------------
139
# Enable managed (default to "no")
140
# -----------------------------------------------------------
141
AC_ARG_ENABLE(managed,
142
  AC_HELP_STRING([--enable-managed],[Build champlain-sharp (and champlain-gtk-sharp)]),
143
    enable_managed=$enableval, enable_managed=no )
144
145
if test x$enable_managed = xyes; then
146
  AC_PATH_PROG(MCS, gmcs)
147
  AC_SUBST(MCS)
148
149
  AC_PATH_PROG(GACUTIL, gacutil)
150
  AC_SUBST(GACUTIL)
151
152
  PKG_CHECK_MODULES(GAPI, gapi-2.0 >= 2.12.0)
153
  AC_PATH_PROG(GAPI_PARSER, gapi2-parser)
154
  AC_SUBST(GAPI_PARSER)
155
156
  AC_PATH_PROG(GAPI_CODEGEN, gapi2-codegen)
157
  AC_SUBST(GAPI_CODEGEN)
158
159
  AC_PATH_PROG(GAPI_FIXUP, gapi2-fixup)
160
  AC_SUBST(GAPI_FIXUP)
161
162
  PKG_CHECK_MODULES(GTKSHARP, gtk-sharp-2.0 > 2.12.0)
163
  AC_SUBST(GTKSHARP_LIBS)
164
165
  PKG_CHECK_MODULES(CLUTTERSHARP, clutter-sharp >= 0.8.0)
166
  AC_SUBST(CLUTTER_SHARP_LIBS)
167
168
  PKG_CHECK_MODULES(CLUTTER_GTK_SHARP, clutter-gtk-sharp >= 0.8.0)
169
  AC_SUBST(CLUTTER_GTK_SHARP_LIBS)
170
171
  CHAMPLAIN_APIVERSION=0.3
172
  CHAMPLAIN_GTK_APIVERSION=0.3
173
  AC_SUBST(CHAMPLAIN_APIVERSION)
174
  AC_SUBST(CHAMPLAIN_GTK_APIVERSION)
175
fi
176
177
AM_CONDITIONAL(ENABLE_MANAGED, test "x$enable_managed" = "xyes")
178
179
# -----------------------------------------------------------
180
# Enable Python bindings
181
# -----------------------------------------------------------
182
183
AC_ARG_ENABLE(python,
184
  AC_HELP_STRING([--enable-python],[Build python bindings]),
185
    enable_python=$enableval, enable_python=no )
186
187
if test x$enable_python = xyes; then
188
  PKG_CHECK_MODULES(PYTHON_BINDING,
189
   [
190
      pygtk-2.0,
191
      pygobject-2.0,
192
      glib-2.0,
193
      gobject-2.0,
194
      clutter-1.0,
195
      pyclutter-1.0,
196
      pyclutter-gtk-0.9,
197
      gconf-2.0,
198
      gtk+-2.0
199
   ], have_python="yes", have_python="no")
200
201
  if test "x$have_python" = "xyes" ; then
202
    AC_CHECK_PROGS([PYGOBJECTCODEGEN], [pygobject-codegen-2.0 pygtk-codegen-2.0])
203
    AM_CHECK_PYTHON_HEADERS(,have_python="no")
204
  fi
205
fi
206
207
if test "x$enable_python" = "xyes" -a "x$have_python" != "xyes"; then
208
   AC_MSG_ERROR([Couldn't find python. Check config.log])
209
fi
210
211
AM_CONDITIONAL(ENABLE_PYTHON, test "x$enable_python" = "xyes")
212
GOBJECT_INTROSPECTION_CHECK([0.6.3])
213
214
# -----------------------------------------------------------
215
AC_CONFIG_FILES([Makefile
216
                 champlain/Makefile
217
                 champlain/champlain-version.h
218
                 demos/Makefile
219
                 tidy/Makefile
220
                 docs/reference/Makefile
221
                 docs/reference/version.xml
222
                 champlain.pc
223
                 champlain-uninstalled.pc
224
                 bindings/perl/Champlain/Makefile
225
                 bindings/python/Makefile
226
                 bindings/python/champlain/Makefile
227
                 bindings/python/champlain-gtk/Makefile
228
                 bindings/python/demos/Makefile
229
                 bindings/managed/Makefile
230
                 bindings/managed/champlain/Makefile
231
                 bindings/managed/champlain/AssemblyInfo.cs
232
                 bindings/managed/champlain/champlain-sharp.pc
233
                 bindings/managed/champlain/champlain-sharp.dll.config
234
                 bindings/managed/champlain-gtk/Makefile
235
                 bindings/managed/champlain-gtk/AssemblyInfo.cs
236
                 bindings/managed/champlain-gtk/champlain-gtk-sharp.pc
237
                 bindings/managed/champlain-gtk/champlain-gtk-sharp.dll.config
238
                 bindings/managed/samples/Makefile
239
                 bindings/Makefile])
240
AC_OUTPUT
241
242
echo ""
243
echo " libchamplain $VERSION"
244
echo ""
245
echo "          Prefix: ${prefix}"
246
echo "  Compiler flags: ${CPPFLAGS}"
247
echo "   Documentation: ${enable_gtk_doc}"
248
echo "           Debug: ${enable_debug}"
249
echo "   libsoup-gnome: ${have_soup_gnome}"
250
echo "       Gtk+ View: ${enable_gtk}"
251
echo ""
252
echo "Bindings:"
253
echo "       champlain-sharp: ${enable_managed}"
254
echo "       Python bindings: ${enable_python}"
255
echo " gobject-introspection: ${enable_introspection}"
256
echo ""