Let git-svn users get the right revision number to be used as version.
[framework/uifw/edbus.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [0])
4 m4_define([v_min], [5])
5 m4_define([v_mic], [0])
6 m4_define([v_rev], m4_esyscmd([(svnversion . | grep -v exported || echo 0) | awk -F : '{printf("%s", $1);}' | tr 'A-z' ' ' | sed 's/ //g']))
7 m4_if(v_rev, [0], [m4_define([v_rev],
8 m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
9 ##--   When released, remove the dnl on the below line
10 dnl m4_undefine([v_rev])
11 ##--   When doing snapshots - change soname. remove dnl on below line
12 m4_define([relname], [ver-pre-svn-05])
13 m4_define([v_rel], [-release relname])
14 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
15 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
16 [m4_define([v_ver], [v_maj.v_min.v_mic])])
17 m4_define([lt_rev], m4_eval(v_maj + v_min))
18 m4_define([lt_cur], v_mic)
19 m4_define([lt_age], v_min)
20 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
21 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
22
23 AC_INIT([e_dbus], [v_ver], [enlightenment-devel@lists.sourceforge.net])
24 AC_PREREQ([2.52])
25 AC_CONFIG_SRCDIR([configure.ac])
26 AC_CONFIG_MACRO_DIR([m4])
27 AC_CANONICAL_BUILD
28 AC_CANONICAL_HOST
29
30 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
31 AM_CONFIG_HEADER([config.h])
32 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
33
34 AC_LIBTOOL_WIN32_DLL
35 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
36 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
37 AC_PROG_LIBTOOL
38
39 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
40 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
41 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
42 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
43 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
44 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
45 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
46 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
47 version_info="lt_rev:lt_cur:lt_age"
48 release_info="v_rel"
49 AC_SUBST(version_info)
50 AC_SUBST(release_info)
51 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
52 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
53
54 ### Needed information
55
56 want_ebluez="yes"
57 want_econnman="yes"
58 want_ehal="yes"
59 want_enotify="yes"
60 want_eofono="yes"
61 want_eukit="yes"
62
63 case "$host_os" in
64    mingw*)
65       want_ebluez="no"
66       want_econnman="no"
67       want_ehal="no"
68       want_enotify="no"
69       want_eofono="no"
70       want_eukit="no"
71       ;;
72 esac
73
74 requirement_ebluez="edbus"
75 requirement_econnman="edbus"
76 requirement_edbus="ecore eina-0 dbus-1"
77 requirement_ehal="edbus"
78 requirement_enotify="edbus"
79 requirement_eofono="edbus"
80 requirement_eukit="edbus"
81
82 ### Additional options to configure
83
84 dnl Check enabled modules to build
85
86 AC_ARG_ENABLE([ebluez],
87    [AC_HELP_STRING([--enable-ebluez], [Enable ebluez build])],
88    [enable_ebluez=$enableval],
89    [enable_ebluez="${want_ebluez}"])
90
91 AC_ARG_ENABLE([econnman],
92    [AC_HELP_STRING([--enable-econnman], [Enable econnman build])],
93    [enable_econnman=$enableval],
94    [enable_econnman="${want_econnman}"])
95
96 AC_ARG_ENABLE([ehal],
97    [AC_HELP_STRING([--disable-ehal], [Disable ehal build])],
98    [enable_ehal=$enableval],
99    [enable_ehal="${want_ehal}"])
100
101 AC_ARG_ENABLE([enotify],
102    [AC_HELP_STRING([--disable-enotify], [Disable enotify build])],
103    [enable_enotify=$enableval],
104    [enable_enotify="${want_enotify}"])
105
106 AC_ARG_ENABLE([eofono],
107    [AC_HELP_STRING([--enable-eofono], [Enable eofono build])],
108    [enable_eofono=$enableval],
109    [enable_eofono="${want_eofono}"])
110
111 AC_ARG_ENABLE([eukit],
112    [AC_HELP_STRING([--disable-eukit], [Disable eukit build])],
113    [enable_eukit=$enableval],
114    [enable_eukit="${want_eukit}"])
115
116
117 ### Checks for programs
118
119 AC_PROG_CC
120 AM_PROG_CC_C_O
121
122 # pkg-config
123 PKG_PROG_PKG_CONFIG
124
125 # Check whether pkg-config supports Requires.private
126 if $PKG_CONFIG --atleast-pkgconfig-version 0.22 ; then
127    pkgconfig_requires_private="Requires.private"
128 else
129    pkgconfig_requires_private="Requires"
130 fi
131 AC_SUBST(pkgconfig_requires_private)
132
133 # doxygen program for documentation building
134 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
135
136
137 ### Checks for libraries
138
139 PKG_CHECK_MODULES([EDBUS], [ecore >= 0.9.9 eina-0 dbus-1 >= 0.62])
140
141 # Find out the version of DBUS we're using
142 dbus_version=`pkg-config --modversion dbus-1`
143 DBUS_VERSION_MAJOR=`echo $dbus_version | awk -F. '{print $1}'`
144 DBUS_VERSION_MINOR=`echo $dbus_version | awk -F. '{print $2}'`
145 DBUS_VERSION_MICRO=`echo $dbus_version | awk -F. '{print $3}'`
146
147 if test "z$DBUS_VERSION_MAJOR" = "z" ; then
148    DBUS_VERSION_MAJOR="0"
149 fi
150
151 if test "z$DBUS_VERSION_MINOR" = "z" ; then
152    DBUS_VERSION_MINOR="0"
153 fi
154
155 if test "z$DBUS_VERSION_MICRO" = "z" ; then
156    DBUS_VERSION_MICRO="0"
157 fi
158
159 DBUS_VERSION_CFLAGS="$DBUS_VERSION_CFLAGS -DDBUS_VERSION_MAJOR=$DBUS_VERSION_MAJOR"
160 DBUS_VERSION_CFLAGS="$DBUS_VERSION_CFLAGS -DDBUS_VERSION_MINOR=$DBUS_VERSION_MINOR"
161 DBUS_VERSION_CFLAGS="$DBUS_VERSION_CFLAGS -DDBUS_VERSION_MICRO=$DBUS_VERSION_MICRO"
162 AC_SUBST(DBUS_VERSION_CFLAGS)
163
164 # evas
165 if test "x${enable_enotify}" = "xyes" ; then
166    PKG_CHECK_MODULES(EVAS,
167       [evas >= 0.9.9],
168       [requirement_enotify="evas ${requirement_enotify}"],
169       [enable_enotify="no"])
170 fi
171
172 AM_CONDITIONAL([BUILD_EBLUEZ],   [test "x${enable_ebluez}"   = "xyes"])
173 AM_CONDITIONAL([BUILD_ECONNMAN], [test "x${enable_econnman}" = "xyes"])
174 AM_CONDITIONAL([BUILD_EHAL],     [test "x${enable_ehal}"     = "xyes"])
175 AM_CONDITIONAL([BUILD_ENOTIFY],  [test "x${enable_enotify}"  = "xyes"])
176 AM_CONDITIONAL([BUILD_EOFONO],   [test "x${enable_eofono}"   = "xyes"])
177 AM_CONDITIONAL([BUILD_EUKIT],    [test "x${enable_eukit}"    = "xyes"])
178
179
180 ### Checks for header files
181
182
183 ### Checks for types
184
185
186 ### Checks for structures
187
188
189 ### Checks for compiler characteristics
190
191 EFL_EDBUS_BUILD=""
192 case "$host_os" in
193    mingw*)
194       EFL_EDBUS_BUILD="-DEFL_EDBUS_BUILD"
195    ;;
196 esac
197 AC_SUBST(EFL_EDBUS_BUILD)
198
199 AC_HEADER_STDC
200 AC_C___ATTRIBUTE__
201
202 if ! test "x${VMIC}" = "x" ; then
203    EFL_COMPILER_FLAG([-Wall])
204    EFL_COMPILER_FLAG([-W])
205 fi
206
207 EFL_COMPILER_FLAG([-Wshadow])
208
209
210 ### Checks for linker characteristics
211
212 lt_enable_auto_import=""
213 case "$host_os" in
214    mingw*)
215       lt_enable_auto_import="-Wl,--enable-auto-import"
216    ;;
217 esac
218 AC_SUBST(lt_enable_auto_import)
219
220
221 ### Checks for library functions
222
223 AC_FUNC_ALLOCA
224
225
226 AC_SUBST(requirement_ebluez)
227 AC_SUBST(requirement_econnman)
228 AC_SUBST(requirement_edbus)
229 AC_SUBST(requirement_ehal)
230 AC_SUBST(requirement_enotify)
231 AC_SUBST(requirement_eofono)
232 AC_SUBST(requirement_eukit)
233
234 AC_OUTPUT([
235 e_dbus.spec
236 Makefile
237 doc/Makefile
238 src/Makefile
239 src/lib/Makefile
240 src/lib/bluez/Makefile
241 src/lib/connman/Makefile
242 src/lib/dbus/Makefile
243 src/lib/hal/Makefile
244 src/lib/notification/Makefile
245 src/lib/ofono/Makefile
246 src/lib/ukit/Makefile
247 src/bin/Makefile
248 ebluez.pc
249 econnman.pc
250 edbus.pc
251 ehal.pc
252 enotify.pc
253 eofono.pc
254 eukit.pc
255 ])
256
257
258 #####################################################################
259 ## Info
260
261 echo
262 echo
263 echo
264 echo "------------------------------------------------------------------------"
265 echo "$PACKAGE $VERSION"
266 echo "------------------------------------------------------------------------"
267 echo
268 echo "Configuration Options Summary:"
269 echo
270 echo "  Modules:"
271 echo
272 echo "    EBluez.............: $enable_ebluez"
273 echo "    EConnman...........: $enable_econnman"
274 echo "    EHal...............: $enable_ehal"
275 echo "    ENotify............: $enable_enotify"
276 echo "    EOfono.............: $enable_eofono"
277 echo "    EUkit..............: $enable_eukit"
278 echo
279 echo "Documentation..........: ${build_doc}"
280 echo
281 echo "Compilation............: make (or gmake)"
282 echo "  CPPFLAGS.............: $CPPFLAGS"
283 echo "  CFLAGS...............: $CFLAGS"
284 echo "  LDFLAGS..............: $LDFLAGS"
285 echo
286 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
287 echo "  prefix...............: $prefix"
288 echo