1 # If not 1, append datestamp to the version number
2 m4_define([folks_released], [0])
4 m4_define([folks_major_version], [0])
5 m4_define([folks_minor_version], [5])
6 m4_define([folks_micro_version], [0])
7 m4_define([folks_nano_version], [1])
9 # If library source has changed since last release, increment revision
10 # If interfaces have been added, removed or changed since last release,
11 # increment current and set revision to 0
12 # If interfaces have been added since last release, increment age
13 # If interfaces have been removed since last release, set age to 0
14 m4_define([folks_lt_current], [22])
15 m4_define([folks_lt_revision], [0])
16 m4_define([folks_lt_age], [0])
18 # Display the nano_version only if it's not '0'
19 m4_define([folks_base_version],
20 folks_major_version.folks_minor_version.folks_micro_version)
21 m4_define([folks_full_version],
22 [m4_if(folks_nano_version, [0],
23 folks_base_version, folks_base_version.folks_nano_version)])
25 m4_define([folks_maybe_datestamp],
26 m4_if(folks_released, [1],
27 [], [m4_esyscmd([date +.%Y%m%d | tr -d '\n\r'])]))
29 m4_define([folks_version], folks_full_version[]folks_maybe_datestamp)
30 m4_define([folks_major_minor_version], folks_major_version.folks_minor_version)
31 m4_define([folks_module_version], folks_lt_current)
33 AC_INIT([folks], folks_version,
34 [https://bugzilla.gnome.org/browse.cgi?product=folks], [folks],
35 [http://telepathy.freedesktop.org/wiki/Folks])
36 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
39 AC_COPYRIGHT([Copyright (C) 2010 Collabora Ltd.])
41 AC_CONFIG_MACRO_DIR([m4])
42 AC_CONFIG_SRCDIR([Makefile.am])
43 AC_CONFIG_HEADERS(config.h)
44 AC_CONFIG_SRCDIR([configure.ac])
45 AM_INIT_AUTOMAKE([1.11 dist-bzip2 no-define
46 no-dist-gzip tar-ustar -Wno-portability])
53 PKG_PROG_PKG_CONFIG([0.21])
59 LT_CURRENT=folks_lt_current
60 LT_REVISION=folks_lt_revision
62 AC_SUBST([LT_CURRENT])
63 AC_SUBST([LT_REVISION])
66 FOLKS_MAJOR_MINOR_VERSION=folks_major_minor_version
67 AC_SUBST([FOLKS_MAJOR_MINOR_VERSION])
69 AC_ARG_ENABLE(tracker-backend,
70 AC_HELP_STRING([--enable-tracker-backend],
71 [ build the Tracker backend]),
72 enable_tracker_backend=$enableval,
73 enable_tracker_backend=no )
75 AM_CONDITIONAL([ENABLE_TRACKER], [test "x$enable_tracker_backend" = "xyes"])
77 # -----------------------------------------------------------
79 # -----------------------------------------------------------
82 TP_GLIB_REQUIRED=0.13.1
84 VALADOC_REQUIRED=0.2.1
85 TRACKER_SPARQL_REQUIRED=0.10
87 SW_CLIENT_REQUIRED=0.25
89 PKG_CHECK_MODULES([GLIB],
90 [glib-2.0 >= $GLIB_REQUIRED
91 gobject-2.0 >= $GLIB_REQUIRED])
92 PKG_CHECK_MODULES([GMODULE], [gmodule-no-export-2.0])
93 PKG_CHECK_MODULES([GIO], [gio-2.0 >= $GLIB_REQUIRED])
94 PKG_CHECK_MODULES([DBUS_GLIB], [dbus-glib-1])
95 PKG_CHECK_MODULES([GCONF2], [gconf-2.0 >= $GCONF2_REQUIRED])
97 # FIXME: We depend on libgee < 0.7 because 0.7 breaks API. bgo#627746
98 PKG_CHECK_MODULES([GEE], [gee-1.0 < 0.7])
99 PKG_CHECK_MODULES([TP_GLIB], [telepathy-glib >= $TP_GLIB_REQUIRED])
101 if test x$enable_tracker_backend = xyes; then
102 PKG_CHECK_MODULES([TRACKER_SPARQL],
103 [tracker-sparql-0.10 >= $TRACKER_SPARQL_REQUIRED])
106 PKG_CHECK_MODULES([SW_CLIENT], [libsocialweb-client >= $SW_CLIENT_REQUIRED])
107 VALA_CHECK_PACKAGES([telepathy-glib
111 libsocialweb-client])
114 # Vala building options -- allows tarball builds without installing Vala
116 AC_ARG_ENABLE([vala],
117 AS_HELP_STRING([--enable-vala],
118 [Enable building from the Vala sources]),
119 [enable_vala=$enableval],
122 # will be re-set as necessary below
123 AM_CONDITIONAL([HAVE_INTROSPECTION], [test "x$enable_vala" = "xyes"])
126 # Force Vala for non-release builds
127 m4_if(folks_released, [1], [],
130 echo "Vala compiler required for non-release builds; requiring Vala..."
133 # Force Vala if generated source is missing or outdated
135 ! -e ${sd}tools/folks_import_vala.stamp -o \
136 ! -e ${sd}tests/folks/aggregation_vala.stamp -o \
137 ! -e ${sd}tests/folks/backend_loading_vala.stamp -o \
138 ! -e ${sd}tests/folks/field_details_vala.stamp -o \
139 ! -e ${sd}tests/folks/linked_hash_set_vala.stamp -o \
140 ! -e ${sd}tests/key-file/individual_retrieval_vala.stamp -o \
141 ! -e ${sd}tests/lib/folks-test.vapi -o \
142 ! -e ${sd}tests/lib/key-file/kf-test.vapi -o \
143 ! -e ${sd}tests/lib/key-file/libkf_test_la_vala.stamp -o \
144 ! -e ${sd}tests/lib/telepathy/contactlist/tp-test-contactlist.gir -o \
145 ! -e ${sd}tests/lib/telepathy/contactlist/tp-test-contactlist.vapi -o \
146 ! -e ${sd}tests/lib/libfolks_test_la_vala.stamp -o \
147 ! -e ${sd}tests/telepathy/persona_store_capabilities_vala.stamp -o \
148 ! -e ${sd}tests/telepathy/individual_retrieval_vala.stamp -o \
149 ! -e ${sd}tests/telepathy/individual_properties_vala.stamp -o \
150 ! -e ${sd}tests/folks/backend_loading_vala.stamp -o \
151 ! -e ${sd}backends/key-file/libfolks_backend_key_file_la_vala.stamp -o \
152 ! -e ${sd}backends/telepathy/libfolks_backend_telepathy_la_vala.stamp \
154 ! -e ${sd}backends/telepathy/lib/folks-telepathy.vapi -o \
155 ! -e ${sd}backends/telepathy/lib/tp-lowlevel.gir -o \
156 ! -e ${sd}backends/telepathy/lib/tp-lowlevel.vapi -o \
157 ! -e ${sd}backends/telepathy/lib/libfolks_telepathy_la_vala.stamp -o \
158 ! -e ${sd}folks/folks.vapi -o \
159 ! -e ${sd}folks/libfolks_la_vala.stamp ; then
161 echo "Vala source needs to be re-compiled; requiring Vala..."
164 if test "x$enable_vala" = "xyes" ; then
165 AM_PROG_VALAC([$VALA_REQUIRED])
166 if test "x$VALAC" = "x"; then
167 AC_MSG_ERROR([Vala requested but valac is not installed])
170 AC_PATH_PROG([VAPIGEN], [vapigen], [])
171 if test "x$VAPIGEN" = "x"; then
172 AC_MSG_ERROR([Vala must be built with --enable-vapigen])
175 # require GLib >= 2.24 so GLib.Array, etc. reffing is handled
177 VALAFLAGS="$VALAFLAGS --target-glib=2.24"
178 AC_SUBST([VALAFLAGS])
179 AC_SUBST([VAPIGENFLAGS])
182 VALA_CHECK_PACKAGES([telepathy-glib
187 if test x$enable_tracker_backend = xyes; then
188 VALA_CHECK_PACKAGES([tracker-sparql-0.10])
191 # this will set HAVE_INTROSPECTION
192 GOBJECT_INTROSPECTION_REQUIRE([0.9.12])
195 AM_CONDITIONAL([HAVE_VALA], [test "x$enable_vala" = "xyes"])
197 # Various functions that we need (used in C code generated from Vala)
198 AC_CHECK_FUNCS([memset])
199 AC_CHECK_FUNCS([strstr])
201 # -----------------------------------------------------------
203 # -----------------------------------------------------------
205 FOLKS_MODULE_VERSION=folks_module_version
206 AC_SUBST([FOLKS_MODULE_VERSION])
207 AC_DEFINE([MODULE_VERSION], "folks_module_version", [Module interface version])
209 BACKEND_DIR='$(libdir)/folks/$(FOLKS_MODULE_VERSION)/backends'
210 AC_SUBST([BACKEND_DIR])
212 BACKEND_KF='$(top_builddir)/backends/key-file/.libs/libfolks-backend-key-file.so'
213 AC_SUBST([BACKEND_KF])
214 BACKEND_TP='$(top_builddir)/backends/telepathy/.libs/libfolks-backend-telepathy.so'
215 AC_SUBST([BACKEND_TP])
217 if test x$enable_tracker_backend = xyes; then
218 BACKEND_TRACKER='$(top_builddir)/backends/tracker/.libs/libfolks-backend-tracker.so'
219 AC_SUBST([BACKEND_TRACKER])
222 # All of the backend libraries in our tree; to be used by the tests
223 BACKEND_UNINST_PATH='$(BACKEND_KF):$(BACKEND_TP)'
224 if test x$enable_tracker_backend = xyes; then
225 TRACKER_BACKEND_UNINST_PATH='$(BACKEND_TRACKER)'
226 BACKEND_UNINST_PATH="$BACKEND_UNINST_PATH:$TRACKER_BACKEND_UNINST_PATH"
228 AC_SUBST([BACKEND_UNINST_PATH])
230 # -----------------------------------------------------------
232 # -----------------------------------------------------------
234 AC_ARG_ENABLE([import-tool],
235 AS_HELP_STRING([--enable-import-tool],
236 [Enable building the meta-contact import tool]),
237 [enable_import_tool=$enableval with_import_tool=$enableval],
238 [enable_import_tool=maybe with_import_tool=no])
239 AS_IF([test "$enable_import_tool" != "no"],
240 [PKG_CHECK_MODULES([LIBXML], [libxml-2.0],
241 [with_import_tool=yes], [with_import_tool=no])])
242 AS_IF([test "$enable_import_tool" = "yes" -a "$with_import_tool" = "no"],
243 [AC_MSG_ERROR([Import tool explicitly enabled, but libxml2 not found])])
244 AM_CONDITIONAL([ENABLE_IMPORT_TOOL], [test "$with_import_tool" = "yes"])
246 # Readline's required for the folks-inspect program
247 AC_ARG_ENABLE([inspect-tool],
248 AS_HELP_STRING([--enable-inspect-tool],
249 [Enable building the data inspection tool]),
250 [enable_inspect_tool=$enableval with_inspect_tool=$enableval],
251 [enable_inspect_tool=maybe with_inspect_tool=no])
252 AS_IF([test "$enable_inspect_tool" = "yes" -a "$enable_vala" != "yes"],
253 [AC_MSG_ERROR([Inspect tool explicitly enabled, but Vala wasn't enabled \
254 using --enable-vala])])
255 AS_IF([test "$enable_inspect_tool" = "maybe" -a "$enable_vala" != "yes"],
256 [AC_MSG_NOTICE([Inspect tool disabled, as Vala wasn't enabled using \
258 AS_IF([test "$enable_inspect_tool" != "no" -a "x$enable_vala" = "xyes"],
259 [AC_CHECK_LIB([readline], [main],
260 [with_inspect_tool=yes], [with_inspect_tool=no],
262 AS_IF([test "$enable_inspect_tool" != "no" -a "$with_inspect_tool" = "yes" -a \
263 "x$enable_vala" = "xyes"],
264 [VALA_CHECK_PACKAGES([readline])
265 LIBREADLINE="-lreadline -lncurses"
266 AC_DEFINE([HAVE_LIBREADLINE], [1], [Define if you have libreadline])
267 AC_SUBST([LIBREADLINE])])
268 AS_IF([test "$enable_inspect_tool" = "yes" -a "$with_inspect_tool" = "no"],
269 [AC_MSG_ERROR([Inspect tool explicitly enabled, but readline not found])])
270 AM_CONDITIONAL([ENABLE_INSPECT_TOOL], [test "$with_inspect_tool" = "yes"])
272 # -----------------------------------------------------------
274 # -----------------------------------------------------------
276 AC_ARG_ENABLE([docs],
277 AS_HELP_STRING([--enable-docs],[Enable documentation generation]),
278 [enable_docs=$enableval], [enable_docs=no])
279 AM_CONDITIONAL([ENABLE_DOCS], [test x$enable_docs = xyes])
281 AS_IF([test "x$enable_docs" != xno],
282 [PKG_CHECK_MODULES([VALADOC_PC], [valadoc-1.0 >= $VALADOC_REQUIRED])
283 AC_PATH_PROG([VALADOC], [valadoc], [:])
284 AS_IF([test "$VALADOC" != :],
286 AM_CONDITIONAL([HAVE_VALADOC], [test x$have_valadoc = xyes])
288 # -----------------------------------------------------------
290 # -----------------------------------------------------------
292 GETTEXT_PACKAGE=AC_PACKAGE_NAME
293 AC_SUBST(GETTEXT_PACKAGE)
294 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"], [Define the gettext package to be used])
295 IT_PROG_INTLTOOL([0.35.0])
297 # -----------------------------------------------------------
299 # -----------------------------------------------------------
301 AS_COMPILER_FLAG([-Wall], [ERROR_CFLAGS="-Wall"], [ERROR_CFLAGS=""])
302 AS_COMPILER_FLAG([-Werror], [werror=yes], [werror=no])
304 AC_ARG_ENABLE([debug],
305 AS_HELP_STRING([--disable-debug],[compile without debug code]),
306 [enable_debug=$enableval], [enable_debug=yes])
308 AC_ARG_ENABLE([Werror],
309 AS_HELP_STRING([--disable-Werror],
310 [compile without -Werror (normally enabled in
311 development builds)]),
312 [werror=$enableval], [werror=yes])
314 AS_COMPILER_FLAG([-Wextra], [wextra=yes], [wextra=no])
315 AS_COMPILER_FLAG([-Wno-missing-field-initializers],
316 [wno_missing_field_initializers=yes],
317 [wno_missing_field_initializers=no])
318 AS_COMPILER_FLAG([-Wno-unused-parameter],
319 [wno_unused_parameter=yes], [wno_unused_parameter=no])
321 m4_if(folks_released, [1], [],
323 if test x$werror = xyes; then
324 ERROR_CFLAGS="$ERROR_CFLAGS -Werror"
326 if test x$wextra = xyes -a \
327 x$wno_missing_field_initializers = xyes -a \
328 x$wno_unused_parameter = xyes; then
329 ERROR_CFLAGS="$ERROR_CFLAGS -Wextra \
330 -Wno-missing-field-initializers -Wno-unused-parameter"
334 AS_COMPILER_FLAG([-D_POSIX_SOURCE], [ERROR_CFLAGS="$ERROR_CFLAGS -D_POSIX_SOURCE"])
335 AS_COMPILER_FLAG([-std=c99], [ERROR_CFLAGS="$ERROR_CFLAGS -std=c99"])
336 AS_COMPILER_FLAG([-Wshadow], [ERROR_CFLAGS="$ERROR_CFLAGS -Wshadow"])
337 AS_COMPILER_FLAG([-Wmissing-prototypes], [ERROR_CFLAGS="$ERROR_CFLAGS \
338 -Wmissing-prototypes"])
339 AS_COMPILER_FLAG([-Wmissing-declarations], [ERROR_CFLAGS="$ERROR_CFLAGS \
340 -Wmissing-declarations"])
341 AS_COMPILER_FLAG([-Wstrict-prototypes], [ERROR_CFLAGS="$ERROR_CFLAGS \
342 -Wstrict-prototypes"])
344 AC_SUBST([ERROR_CFLAGS])
347 AS_IF([test "x$enable_vala" = "xyes"],
348 [ERROR_INTROSPECTION_SCANNER_ARGS="\
349 $ERROR_INTROSPECTION_SCANNER_ARGS --warn-error"
350 ERROR_VALAFLAGS="$ERROR_VALAFLAGS --fatal-warnings"])
352 AC_SUBST([ERROR_INTROSPECTION_SCANNER_ARGS])
353 AC_SUBST([ERROR_VALAFLAGS])
355 # -----------------------------------------------------------
357 # -----------------------------------------------------------
360 backends/telepathy/lib/folks-telepathy.pc
361 backends/telepathy/lib/folks-telepathy-uninstalled.pc
362 backends/tracker/lib/folks-tracker.pc
363 backends/tracker/lib/folks-tracker-uninstalled.pc
365 folks/folks-uninstalled.pc
368 backends/key-file/Makefile
369 backends/libsocialweb/Makefile
370 backends/libsocialweb/lib/Makefile
371 backends/libsocialweb/lib/folks-libsocialweb.pc
372 backends/libsocialweb/lib/folks-libsocialweb-uninstalled.pc
373 backends/telepathy/Makefile
374 backends/telepathy/lib/Makefile
375 backends/tracker/Makefile
376 backends/tracker/lib/Makefile
382 tests/data/gconf.path
384 tests/key-file/Makefile
385 tests/telepathy/Makefile
386 tests/tracker/Makefile
388 tests/lib/folks-test-uninstalled.pc
389 tests/lib/key-file/Makefile
390 tests/lib/telepathy/Makefile
391 tests/lib/tracker/Makefile
392 tests/lib/telepathy/contactlist/Makefile
393 tests/lib/telepathy/contactlist/session.conf
396 tools/inspect/Makefile
404 Vala........................: ${enable_vala}
405 Vala Compiler...............: ${VALAC}
406 C Compiler Flags............: ${CFLAGS} ${ERROR_CFLAGS}
407 Prefix......................: ${prefix}
408 Bugreporting URL............: ${PACKAGE_BUGREPORT}
409 Documentation...............: ${HAVE_VALADOC}
410 Tests.......................: ${have_tp_glib_for_tests}
411 Import tool.................: ${with_import_tool}
412 Inspector tool..............: ${with_inspect_tool}
413 Tracker backend.............: ${enable_tracker_backend}