Post-release version bump.
[platform/upstream/folks.git] / configure.ac
1 dnl If not 1, append datestamp to the version number
2 m4_define(folks_released, 0)
3
4 m4_define([folks_major_version], [0])
5 m4_define([folks_minor_version], [1])
6 m4_define([folks_micro_version], [11])
7 m4_define([folks_nano_version], [0])
8
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
15 m4_define([folks_lt_current], [10])
16 m4_define([folks_lt_revision], [0])
17 m4_define([folks_lt_age], [10])
18
19 dnl Display the nano_version only if it's not '0'
20 m4_define([folks_base_version],
21                 [folks_major_version.folks_minor_version.folks_micro_version])
22 m4_define([folks_full_version],
23                 [m4_if(folks_nano_version, 0, [folks_base_version],
24                         [folks_base_version].[folks_nano_version])])
25
26 m4_define(folks_maybe_datestamp,
27                     m4_esyscmd([if test x]folks_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi]))
28
29 m4_define(folks_version, folks_full_version[]folks_maybe_datestamp)
30
31
32 AC_INIT(folks, folks_version, folks)
33 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
34
35 AC_PREREQ(2.59)
36 AC_COPYRIGHT([
37   Copyright (C) 2010 Collabora Ltd.
38 ])
39
40 AC_CONFIG_MACRO_DIR([m4])
41 AC_CONFIG_SRCDIR([Makefile.am])
42 AC_CONFIG_HEADERS(config.h)
43 AC_CONFIG_SRCDIR([configure.ac])
44 AM_INIT_AUTOMAKE(1.9 dist-bzip2 no-define no-dist-gzip tar-ustar -Wno-portability)
45 AM_MAINTAINER_MODE
46
47 AC_PROG_CC
48 AM_PROG_CC_C_O
49 AC_DISABLE_STATIC
50 AC_PROG_LIBTOOL
51
52 AC_SUBST(CFLAGS)
53 AC_SUBST(CPPFLAGS)
54 AC_SUBST(LDFLAGS)
55
56 # -----------------------------------------------------------
57 # Dependencies
58 # -----------------------------------------------------------
59 GLIB_REQUIRED=2.24.0
60 TP_GLIB_REQUIRED=0.11.10
61 TP_VALA_REQUIRED=0.11.10
62 VALA_REQUIRED=0.9.2.120-5ad2f
63
64 PKG_CHECK_MODULES(VALA, vala-1.0 >= $VALA_REQUIRED)
65 AC_SUBST(VALA_CFLAGS)
66 AC_SUBST(VALA_LIBS)
67
68 AC_PATH_PROG(VALAC, valac, valac)
69 AC_SUBST(VALAC)
70
71 PKG_PROG_PKG_CONFIG([0.21])
72
73 LT_CURRENT=folks_lt_current
74 LT_REVISION=folks_lt_revision
75 LT_AGE=folks_lt_age
76 AC_SUBST([LT_CURRENT])
77 AC_SUBST([LT_REVISION])
78 AC_SUBST([LT_AGE])
79
80 # require GLib >= 2.24 so GLib.Array, etc. reffing is handled automatically
81 VALACFLAGS="$VALACFLAGS --target-glib=2.24"
82 AC_SUBST(VALACFLAGS)
83 AC_SUBST(VALAFLAGS)
84
85 VAPIGEN=`$PKG_CONFIG --variable=vapigen vala-1.0`
86 AC_SUBST(VAPIGEN)
87
88 VALA_GEN_INTROSPECT=`$PKG_CONFIG --variable=gen_introspect vala-1.0`
89 AC_SUBST(VALA_GEN_INTROSPECT)
90
91 AS_IF([test "$VAPIGEN" = "" -o "$VALA_GEN_INTROSPECT" = ""],
92         [AC_MSG_ERROR([Vala must be built with --enable-vapigen])])
93
94 PKG_CHECK_MODULES(GLIB,
95                   glib-2.0 >= $GLIB_REQUIRED
96                   gobject-2.0 >= $GLIB_REQUIRED)
97 AC_SUBST(GLIB_CFLAGS)
98 AC_SUBST(GLIB_LIBS)
99
100 PKG_CHECK_MODULES(GIO, gio-2.0 >= $GLIB_REQUIRED)
101 AC_SUBST(GIO_CFLAGS)
102 AC_SUBST(GIO_LIBS)
103
104 PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1)
105 AC_SUBST(DBUS_GLIB_CFLAGS)
106 AC_SUBST(DBUS_GLIB_LIBS)
107
108 PKG_CHECK_MODULES(GEE, gee-1.0)
109 AC_SUBST(GEE_CFLAGS)
110 AC_SUBST(GEE_LIBS)
111
112 PKG_CHECK_MODULES(TP_VALA, telepathy-vala >= $TP_VALA_REQUIRED)
113 AC_SUBST(TP_VALA_CFLAGS)
114 AC_SUBST(TP_VALA_LIBS)
115
116 TP_VALA_VALAFLAGS=`$PKG_CONFIG --variable=valaflags telepathy-vala`
117 AC_SUBST(TP_VALA_VALAFLAGS)
118
119 PKG_CHECK_MODULES(TP_GLIB, telepathy-glib >= $TP_GLIB_REQUIRED)
120 AC_SUBST(TP_GLIB_CFLAGS)
121 AC_SUBST(TP_GLIB_LIBS)
122
123 # -----------------------------------------------------------
124 # Documentation
125 # -----------------------------------------------------------
126 AC_ARG_ENABLE(docs,
127   AC_HELP_STRING([--enable-docs],[Enable documentation generation]),
128     enable_docs=$enableval, enable_docs=no)
129 AM_CONDITIONAL(ENABLE_DOCS, test x$enable_docs = xyes)
130
131 AS_IF([test "x$enable_docs" != xno],
132   [AC_PATH_PROG(VALADOC, valadoc, :)
133    AC_SUBST(VALADOC)
134    AS_IF([test "$VALADOC" = :],
135      [AC_MSG_ERROR([valadoc not found])])])
136
137 # -----------------------------------------------------------
138 # Error flags
139 # -----------------------------------------------------------
140 AS_COMPILER_FLAG(-Wall, ERROR_CFLAGS="-Wall", ERROR_CFLAGS="")
141 AS_COMPILER_FLAG(-Werror, werror=yes, werror=no)
142
143 AC_ARG_ENABLE(debug,
144   AC_HELP_STRING([--disable-debug],[compile without debug code]),
145     enable_debug=$enableval, enable_debug=yes)
146
147 AC_ARG_ENABLE(Werror,
148   AC_HELP_STRING([--disable-Werror],[compile without -Werror (normally enabled in development builds)]),
149     werror=$enableval, werror=yes)
150
151 AS_COMPILER_FLAG(-Wextra, wextra=yes, wextra=no)
152 AS_COMPILER_FLAG(-Wno-missing-field-initializers,
153         wno_missing_field_initializers=yes,
154         wno_missing_field_initializers=no)
155 AS_COMPILER_FLAG(-Wno-unused-parameter,
156         wno_unused_parameter=yes,
157         wno_unused_parameter=no)
158
159 ifelse(folks_released, 1, [],
160     [
161         if test x$werror = xyes; then
162             ERROR_CFLAGS="$ERROR_CFLAGS -Werror"
163         fi
164         if test x$wextra = xyes -a \
165             x$wno_missing_field_initializers = xyes -a \
166             x$wno_unused_parameter = xyes; then
167             ERROR_CFLAGS="$ERROR_CFLAGS -Wextra -Wno-missing-field-initializers -Wno-unused-parameter"
168         fi
169     ])
170
171 AS_COMPILER_FLAG(-D_POSIX_SOURCE, ERROR_CFLAGS="$ERROR_CFLAGS -D_POSIX_SOURCE")
172 AS_COMPILER_FLAG(-std=c99, ERROR_CFLAGS="$ERROR_CFLAGS -std=c99")
173 AS_COMPILER_FLAG(-Wshadow, ERROR_CFLAGS="$ERROR_CFLAGS -Wshadow")
174 AS_COMPILER_FLAG(-Wmissing-prototypes, ERROR_CFLAGS="$ERROR_CFLAGS -Wmissing-prototypes")
175 AS_COMPILER_FLAG(-Wmissing-declarations, ERROR_CFLAGS="$ERROR_CFLAGS -Wmissing-declarations")
176 AS_COMPILER_FLAG(-Wstrict-prototypes, ERROR_CFLAGS="$ERROR_CFLAGS -Wstrict-prototypes")
177
178 AC_SUBST(ERROR_CFLAGS)
179
180 # -----------------------------------------------------------
181 # Final output
182 # -----------------------------------------------------------
183
184 AC_CONFIG_FILES([
185         backends/telepathy/folks-telepathy.pc
186         backends/telepathy/folks-telepathy-uninstalled.pc
187         folks/folks.pc
188         folks/folks-uninstalled.pc
189         Makefile
190         backends/Makefile
191         backends/telepathy/Makefile
192         folks/Makefile
193         docs/Makefile
194 ])
195
196 AC_OUTPUT
197
198 echo "
199 Configure summary:
200
201         Compiler....................:  ${VALAC}
202         Compiler Flags..............:  ${CFLAGS} ${ERROR_CFLAGS}
203         Prefix......................:  ${prefix}
204         Bugreporting URL............:  ${PACKAGE_BUGREPORT}
205         Documentation...............:  ${enable_docs}
206
207
208 "