ethumb: Fix license on ethumbd.c too.
[profile/ivi/ethumb.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 ##--   When doing snapshots - change soname. remove dnl on below line
11 dnl m4_define([relname], [ver-pre-svn-09])
12 dnl m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
15 [m4_define([v_ver], [v_maj.v_min.v_mic])])
16 m4_define([lt_cur], m4_eval(v_maj + v_min))
17 m4_define([lt_rev], v_mic)
18 m4_define([lt_age], v_min)
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
21
22 AC_INIT([ethumb], [v_ver], [enlightenment-devel@lists.sourceforge.net])
23 AC_PREREQ([2.52])
24 AC_CONFIG_SRCDIR([configure.ac])
25 AC_CONFIG_MACRO_DIR([m4])
26 AC_CANONICAL_BUILD
27 AC_CANONICAL_HOST
28 AC_ISC_POSIX
29
30 AC_CONFIG_HEADERS([config.h])
31 AH_TOP([
32 #ifndef EFL_CONFIG_H__
33 #define EFL_CONFIG_H__
34 ])
35 AH_BOTTOM([
36 #endif /* EFL_CONFIG_H__ */
37 ])
38
39 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
40 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
41 _XTERM_COLORS
42
43 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
44 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
45 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
46 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
47 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
48 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
49 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
50 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
51 version_info="lt_cur:lt_rev:lt_age"
52 release_info="v_rel"
53 AC_SUBST(version_info)
54 AC_SUBST(release_info)
55 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
56 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
57 VMAJ=v_maj
58 AC_SUBST(VMAJ)
59
60 dnl we just have set the version info, then:
61 AC_SUBST(version_info)
62
63 AC_PROG_CC
64 AC_PROG_CC_STDC
65 AM_PROG_CC_C_O
66 AC_HEADER_STDC
67 AC_C___ATTRIBUTE__
68 dnl AC_C_CONST is bogus, its tests fails on -Wall -O1 ( uninitialized values)
69 dnl AC_C_CONST
70
71 AC_LIBTOOL_WIN32_DLL
72 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])
73 define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])
74 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])
75 AC_PROG_LIBTOOL
76
77 #themesdir="${datadir}/ethumb/data/frames"
78 #AC_SUBST(themesdir)
79 #AS_AC_EXPAND(THEMESDIR, $themesdir)
80 #AC_DEFINE_UNQUOTED(THEMESDIR, ["$THEMESDIR"], [Where frame theme files are installed.]
81 #)
82
83 #AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
84 #AC_DEFINE_UNQUOTED(SYSCONFDIR, ["$SYSCONFDIR"], [Where system configuration is stored])
85
86 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
87
88 with_max_log_level="<unset>"
89 AC_ARG_WITH(internal-maximum-log-level,
90    [AC_HELP_STRING([--with-internal-maximum-log-level=NUMBER],
91                    [limit eina internal log level to the given number, any call to EINA_LOG() with values greater than this will be compiled out, ignoring runtime settings, but saving function calls.])],
92    [
93     if test "x${withval}" != "xno"; then
94        if echo "${withval}" | grep '^[[0-9]]\+$' >/dev/null 2>/dev/null; then
95           AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${withval}])
96           AC_DEFINE_UNQUOTED(EINA_LOG_LEVEL_MAXIMUM, ${withval}, [if set, logging is limited to this amount.])
97           with_max_log_level="${withval}"
98        else
99           AC_MSG_ERROR([--with-internal-maximum-log-level takes a decimal number, got "${withval}" instead.])
100        fi
101     fi
102     ], [:])
103
104 EFL_ETHUMB_BUILD=""
105 EFL_ETHUMB_CLIENT_BUILD=""
106 lt_enable_auto_import=""
107 case "$host_os" in
108    mingw* | cegcc*)
109       EFL_ETHUMB_BUILD="-DEFL_ETHUMB_BUILD"
110       EFL_ETHUMB_CLIENT_BUILD="-DEFL_ETHUMB_CLIENT_BUILD"
111       lt_enable_auto_import="-Wl,--enable-auto-import"
112    ;;
113 esac
114 AC_SUBST(EFL_ETHUMB_BUILD)
115 AC_SUBST(EFL_ETHUMB_CLIENT_BUILD)
116 AC_SUBST(lt_enable_auto_import)
117
118 PKG_CHECK_MODULES(EINA, [eina >= 1.6.99])
119 PKG_CHECK_MODULES(EVAS, [evas >= 1.6.99])
120 PKG_CHECK_MODULES(ECORE, [ecore >= 1.6.99])
121 PKG_CHECK_MODULES(ECORE_EVAS, [ecore-evas >= 1.6.99])
122 PKG_CHECK_MODULES(ECORE_FILE, [ecore-file >= 1.6.99 ])
123 PKG_CHECK_MODULES(EDJE, [edje >= 1.6.99])
124 PKG_CHECK_MODULES(EET, [eet >= 1.6.99])
125 EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
126
127 requirement_ethumb="eina >= 1.6.99 evas >= 1.6.99 ecore >= 1.6.99 ecore-evas >= 1.6.99 ecore-file >= 1.6.99 edje >= 1.6.99"
128 requirement_ethumb_client=""
129
130 AM_CONDITIONAL(HAVE_EMOTION, false)
131 define([CHECK_MODULE_EMOTION],
132 [
133         AC_ETH_CHECK_PKG(EMOTION, emotion, [], [EMOTION=false])
134 ])
135
136 AC_ETH_OPTIONAL_MODULE([emotion], true, [CHECK_MODULE_EMOTION])
137
138 if $USE_MODULE_EMOTION ; then
139         requirement_ethumb="$requirement_ethumb emotion"
140 fi
141
142 AM_CONDITIONAL(HAVE_EPDF, false)
143 define([CHECK_MODULE_EPDF],
144 [
145         AC_ETH_CHECK_PKG(EPDF, epdf, [], [EPDF=false])
146 ])
147
148 AC_ETH_OPTIONAL_MODULE([epdf], true, [CHECK_MODULE_EPDF])
149 if $USE_MODULE_EPDF ; then
150         requirement_ethumb="$requirement_ethumb epdf"
151 fi
152
153 AM_CONDITIONAL(HAVE_EDBUS, false)
154 define([CHECK_MODULE_ETHUMBD],
155 [
156         AC_ETH_CHECK_PKG(EDBUS, edbus, [], [ETHUMBD=false])
157 ])
158
159 AC_ETH_OPTIONAL_MODULE([ethumbd], true, [CHECK_MODULE_ETHUMBD])
160 if $USE_MODULE_ETHUMBD ; then
161         dbusservicedir=${datadir}/dbus-1/services
162         AC_ARG_WITH([dbus-services],
163                     AC_HELP_STRING([--with-dbus-services=DBUS_SERVICES], [specify a directory to store dbus service files.]),
164                     [
165                       dbusservicedir=$withval
166                     ]
167                    )
168 fi
169
170
171 AM_CONDITIONAL(HAVE_LIBEXIF, false)
172 define([CHECK_MODULE_LIBEXIF],
173 [
174         AC_ETH_CHECK_PKG(LIBEXIF, libexif, [], [LIBEXIF=false])
175 ])
176
177 AC_ETH_OPTIONAL_MODULE([libexif], true, [CHECK_MODULE_LIBEXIF])
178 if $USE_MODULE_LIBEXIF ; then
179         requirement_ethumb="$requirement_ethumb libexif"
180 fi
181
182 AC_COMPILE_IFELSE(
183    [AC_LANG_PROGRAM(
184        [[
185 #include <stdlib.h>
186 #include <sys/types.h>
187 #include <sys/xattr.h>
188        ]],
189        [[
190 size_t tmp = listxattr("/", NULL, 0);
191 tmp = getxattr("/", "user.ethumb.md5", NULL, 0);
192 setxattr("/", "user.ethumb.md5", NULL, 0, 0);
193        ]])],
194     [
195       AC_DEFINE(HAVE_XATTR, 1, [Define to 1 if you have 'listxattr', 'setxattr' and 'getxattr'])
196       have_xattr="yes"
197     ],
198     [have_xattr="no"])
199
200 AC_MSG_CHECKING([for Xattr])
201 AC_MSG_RESULT([${have_xattr}])
202
203 AC_SUBST(requirement_ethumb)
204 AC_SUBST(requirement_ethumb_client)
205 AC_SUBST(dbusservicedir)
206
207 AC_CONFIG_FILES([
208 ethumb.pc
209 ethumb.spec
210 ethumb_client.pc
211 org.enlightenment.Ethumb.service
212 Makefile
213 src/Makefile
214 src/bin/Makefile
215 src/lib/Makefile
216 src/lib/client/Makefile
217 src/plugins/Makefile
218 src/plugins/emotion/Makefile
219 src/plugins/epdf/Makefile
220 src/tests/Makefile
221 data/Makefile
222 data/frames/Makefile
223 m4/Makefile
224 doc/Makefile
225 doc/Doxyfile
226 ])
227
228 AC_OUTPUT
229
230 txt_strip() {
231         echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
232 }
233
234 MODS=""
235 for mod in $OPTIONAL_MODULES; do
236         MODS="$MODS ${COLOR_HGREEN}+$mod${COLOR_END}"
237 done
238 MODS=$(txt_strip $MODS)
239
240 UNUSED_MODS=""
241 for mod in $UNUSED_OPTIONAL_MODULES; do
242         UNUSED_MODS="$UNUSED_MODS ${COLOR_HRED}-$mod${COLOR_END}"
243 done
244 UNUSED_MODS=$(txt_strip $UNUSED_MODS)
245
246 cat <<SUMMARY_EOF
247
248 Summary:
249  * project..........: $PACKAGE $VERSION
250  * prefix...........: $(txt_strip $prefix)
251  * DBus services dir: $(txt_strip $dbusservicedir)
252  * CFLAGS...........: $(txt_strip $CFLAGS)
253  * LDFLAGS..........: $(txt_strip $LDFLAGS)
254
255 Configuration Options Summary:
256
257  * use xattr........: ${have_xattr}
258  * maximum log level: ${with_max_log_level}
259  * documentation....: ${build_doc}
260
261 SUMMARY_EOF
262
263 if test "x$MODS" != "x"; then
264    echo -e " * enabled modules..: $MODS"
265 fi
266
267 if test "x$UNUSED_MODS" != "x"; then
268    echo -e " * disabled modules.: $UNUSED_MODS"
269 fi
270
271 cat << HINT_EOF
272
273 now type:
274
275 Now type 'make' ('gmake' on some systems) to compile $PACKAGE, and
276 then afterwards as root (or the user who will install this), type
277 'make install'. Change users with 'su' or 'sudo' appropriately.
278
279 HINT_EOF