Imported Upstream version 1.7.2
[platform/upstream/eeze.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [7])
5 m4_define([v_mic], [2])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
7 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
8 ##--   When released, remove the dnl on the below line
9 m4_undefine([v_rev])
10 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
11 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
12 m4_define([lt_cur], m4_eval(v_maj + v_min))
13 m4_define([lt_rev], v_mic)
14 m4_define([lt_age], v_min)
15 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
16 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
17
18 AC_INIT([eeze], [v_ver], [enlightenment-devel@lists.sourceforge.net])
19 AC_PREREQ([2.52])
20 AC_CONFIG_SRCDIR([configure.ac])
21 AC_CONFIG_MACRO_DIR([m4])
22
23 AC_CONFIG_HEADERS([config.h])
24 AH_TOP([
25 #ifndef EFL_CONFIG_H__
26 #define EFL_CONFIG_H__
27 ])
28 AH_BOTTOM([
29 #endif /* EFL_CONFIG_H__ */
30 ])
31
32 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
33 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
34
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_cur:lt_rev:lt_age"
48 release_info="v_rel"
49 AC_SUBST(version_info)
50 AC_SUBST(release_info)
51 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
52 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
53 VMAJ=v_maj
54 AC_SUBST(VMAJ)
55
56 ### Needed information
57
58 AC_CANONICAL_BUILD
59 AC_CANONICAL_HOST
60
61 requirement_eeze="ecore >= 1.6.99 eina >= 1.6.99 libudev"
62
63
64 ### Checks for programs
65 AC_PROG_CC
66 AM_PROG_CC_C_O
67 AC_C___ATTRIBUTE__
68
69 # pkg-config
70 PKG_PROG_PKG_CONFIG
71
72 # Check whether pkg-config supports Requires.private
73 AS_IF(
74    [$PKG_CONFIG --atleast-pkgconfig-version 0.22],
75       [pkgconfig_requires_private="Requires.private"],
76    [pkgconfig_requires_private="Requires"]
77 )
78 AC_SUBST(pkgconfig_requires_private)
79
80 # doxygen program for documentation building
81
82 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
83
84
85 ### Checks for libraries
86
87 PKG_CHECK_MODULES([EEZE], [${requirement_eeze}])
88
89 udev_version=$(pkg-config libudev --modversion)
90
91 if test $udev_version -lt 143;then
92   AC_MSG_ERROR([udev version is too old!])
93 elif test $udev_version -lt 148;then
94   AC_MSG_WARN([Old udev version detected, enabling compat code])
95   AC_DEFINE([OLD_UDEV_RRRRRRRRRRRRRR],[1],[compat functionality for udev < 148])
96 fi
97
98 eeze_mount=
99 PKG_CHECK_EXISTS([mount >= 2.18.0],
100   [
101      AC_DEFINE([HAVE_EEZE_MOUNT], [1], [Eeze is mount-capable])
102      AM_CONDITIONAL([HAVE_EEZE_MOUNT], [true])
103      eeze_mount="yes"
104   ],
105   AM_CONDITIONAL([HAVE_EEZE_MOUNT], [false])
106 )
107
108 if test "x$eeze_mount" = "xyes";then
109   AC_ARG_WITH([mount], [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])], [with_mount=$withval], [with_mount="detect"])
110   AC_ARG_WITH([umount], [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])], [with_umount=$withval], [with_umount="detect"])
111   AC_ARG_WITH([eject], [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])], [with_eject=$withval], [with_eject="detect"])
112   PKG_CHECK_MODULES([LIBMOUNT], [mount >= 2.18.0])
113   mount_v=$(pkg-config --modversion mount)
114   PKG_CHECK_MODULES([ECORE_FILE], [ecore-file >= 1.6.99])
115   PKG_CHECK_MODULES([EET], [eet >= 1.6.99])
116   PKG_CHECK_MODULES([ECORE_CON], [ecore-con >= 1.6.99])
117
118   if test "x$with_mount" = "xdetect";then
119     AC_PATH_PROG([with_mount], [mount], [])
120   fi
121   if test -z "$with_mount" ; then
122     AC_DEFINE_UNQUOTED([MOUNTABLE], [0], [whether mount is available])
123   else
124     AC_DEFINE_UNQUOTED([MOUNTABLE], [1], [whether mount is available])
125   fi
126   AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_mount"], [mount bin to use])
127
128   if test "x$with_umount" = "xdetect";then
129     AC_PATH_PROG([with_umount], [umount], [])
130   fi
131   if test -z "$with_umount" ; then
132     AC_DEFINE_UNQUOTED([UNMOUNTABLE], [0], [whether umount is available])
133   else
134     AC_DEFINE_UNQUOTED([UNMOUNTABLE], [1], [whether umount is available])
135   fi
136   AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_umount"], [umount bin to use])
137
138   if test "x$with_eject" = "xdetect";then
139     AC_PATH_PROG([with_eject], [eject], [])
140   fi
141   if test -z "$with_eject" ; then
142     AC_DEFINE_UNQUOTED([EJECTABLE], [0], [whether eject is available])
143   else
144     AC_DEFINE_UNQUOTED([EJECTABLE], [1], [whether eject is available])
145   fi
146   AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eject"], [eject bin to use])
147 fi
148
149 want_mtab=
150 AC_ARG_ENABLE([mtab],
151    [AC_HELP_STRING([--enable-mtab],
152        [force use of mtab for mount info @<:@default=detect@:>@])],
153    [
154     if test "x${enableval}" = "xyes" ; then
155        want_mtab="yes"
156     else
157        want_mtab="no"
158     fi],
159    [want_mtab="auto"])
160
161
162 if test "x${want_mtab}" = "xyes" ; then
163   AM_CONDITIONAL([OLD_LIBMOUNT], [false])
164   AM_CONDITIONAL([NEW_LIBMOUNT], [false])
165 else
166   if test -n "$mount_v";then
167     AM_CONDITIONAL([OLD_LIBMOUNT], [test "$(echo $mount_v | cut -d'.' -f2)" -lt 19])
168     AM_CONDITIONAL([NEW_LIBMOUNT], [test "$(echo $mount_v | cut -d'.' -f2)" -gt 19])
169   else
170     AM_CONDITIONAL([OLD_LIBMOUNT], [false])
171     AM_CONDITIONAL([NEW_LIBMOUNT], [false])
172   fi
173 fi
174 AM_COND_IF([OLD_LIBMOUNT], [
175      AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
176   ],[])
177
178 AC_CHECK_HEADERS([netinet/in.h])
179 want_ipv6="yes"
180 have_ipv6="no"
181
182 AC_ARG_ENABLE([ipv6],
183    [AC_HELP_STRING([--disable-ipv6],
184        [disable ipv6 functionality @<:@default=detect@:>@])],
185    [
186     if test "x${enableval}" = "xyes" ; then
187        want_ipv6="yes"
188     else
189        want_ipv6="no"
190     fi],
191    [want_ipv6="auto"])
192
193 # Verify IPV6 availability in headers
194 if test "x${want_ipv6}" != "xno" ; then
195    AC_CHECK_TYPES([struct ipv6_mreq],
196       [have_ipv6="yes"],
197       [have_ipv6="no"],
198       [[
199 #ifdef HAVE_NETINET_IN_H
200 # include <netinet/in.h>
201 #endif
202       ]])
203 fi
204
205 if test "x${have_ipv6}" = "xyes" ; then
206    AC_DEFINE(HAVE_IPV6, 1, [Define if IPV6 is supported])
207 fi
208
209 ### Checks for header files
210
211
212 ### Checks for types
213
214
215 ### Checks for structures
216
217
218 ### Checks for compiler characteristics
219
220 AC_HEADER_STDC
221
222 if ! test "x${VMIC}" = "x" ; then
223    EFL_COMPILER_FLAG([-Wall])
224    EFL_COMPILER_FLAG([-W])
225 fi
226
227 EFL_COMPILER_FLAG([-Wshadow])
228
229
230 ### Binary
231
232 EFL_ENABLE_BIN([eeze-udev-test], ["yes"])
233 EFL_ENABLE_BIN([eeze-mount], ["yes"])
234 EFL_ENABLE_BIN([eeze-disk-ls], ["yes"])
235 EFL_ENABLE_BIN([eeze-umount], ["yes"])
236 EFL_ENABLE_BIN([eeze-scanner], ["yes"])
237
238 AC_SUBST(requirement_eeze)
239
240
241 AC_OUTPUT([
242 Makefile
243 doc/eeze.dox
244 doc/Makefile
245 doc/Doxyfile
246 src/Makefile
247 src/lib/Makefile
248 src/bin/Makefile
249 eeze.pc
250 eeze.spec
251 ])
252
253
254 #####################################################################
255 ## Info
256
257 echo
258 echo
259 echo
260 echo "------------------------------------------------------------------------"
261 echo "$PACKAGE $VERSION"
262 echo "------------------------------------------------------------------------"
263 echo
264 echo "Configuration Options Summary:"
265 if test "x$eeze_mount" = "xyes";then
266   echo
267   echo "Mount..................: ${with_mount}"
268   echo "Umount.................: ${with_umount}"
269   echo "Eject..................: ${with_eject}"
270   echo
271 fi
272 echo "Tests..................: ${have_eeze_udev_test}"
273 echo
274 echo "Demos..................:"
275 echo "  eeze_mount...........: ${have_eeze_mount}"
276 echo "  eeze_umount..........: ${have_eeze_umount}"
277 echo "  eeze_disk_ls.........: ${have_eeze_disk_ls}"
278 echo
279 echo "Utilities..............:"
280 echo "  eeze_scanner.........: ${have_eeze_scanner}"
281 echo
282 echo "IPv6...................: ${have_ipv6}"
283 echo
284 echo "Documentation..........: ${build_doc}"
285 echo
286 echo "Compilation............: make (or gmake)"
287 echo "  CPPFLAGS.............: $CPPFLAGS"
288 echo "  CFLAGS...............: $CFLAGS"
289 echo "  LDFLAGS..............: $LDFLAGS"
290 echo
291 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
292 echo "  prefix...............: $prefix"
293 echo
294