From: André Ribes <andre.ribes@gmail.com>
[framework/uifw/ethumb.git] / configure.ac
1 AC_INIT([ethumb], [0.1.0], [enlightenment-devel@lists.sourceforge.net])
2 AC_PREREQ([2.52])
3 AC_CONFIG_SRCDIR([configure.ac])
4 AC_CONFIG_MACRO_DIR([m4])
5 AC_CANONICAL_BUILD
6 AC_CANONICAL_HOST
7 AC_ISC_POSIX
8
9 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
10 AM_CONFIG_HEADER([config.h])
11 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
12 _XTERM_COLORS
13
14 AC_PROG_CC
15 AM_PROG_CC_STDC
16 AM_PROG_CC_C_O
17 AC_HEADER_STDC
18 AC_C___ATTRIBUTE__
19 dnl AC_C_CONST is bogus, its tests fails on -Wall -O1 ( uninitialized values)
20 dnl AC_C_CONST
21
22 AC_LIBTOOL_WIN32_DLL
23 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])
24 define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])
25 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])
26 AC_PROG_LIBTOOL
27
28 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
29 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
30 version_info=`expr $VMAJ + $VMIN`
31 AC_SUBST(version_info)
32 AC_SUBST(VMAJ)
33
34 #themesdir="${datadir}/ethumb/data/frames"
35 #AC_SUBST(themesdir)
36 #AS_AC_EXPAND(THEMESDIR, $themesdir)
37 #AC_DEFINE_UNQUOTED(THEMESDIR, ["$THEMESDIR"], [Where frame theme files are installed.]
38 #)
39
40 #AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
41 #AC_DEFINE_UNQUOTED(SYSCONFDIR, ["$SYSCONFDIR"], [Where system configuration is stored])
42
43 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
44
45 with_max_log_level="<unset>"
46 AC_ARG_WITH(internal-maximum-log-level,
47    [AC_HELP_STRING([--with-internal-maximum-log-level=NUMBER],
48                    [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.])],
49    [
50     if test "x${withval}" != "xno"; then
51        if echo "${withval}" | grep '^[[0-9]]\+$' >/dev/null 2>/dev/null; then
52           AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${withval}])
53           AC_DEFINE_UNQUOTED(EINA_LOG_LEVEL_MAXIMUM, ${withval}, [if set, logging is limited to this amount.])
54           with_max_log_level="${withval}"
55        else
56           AC_MSG_ERROR([--with-internal-maximum-log-level takes a decimal number, got "${withval}" instead.])
57        fi
58     fi
59     ], [:])
60
61 EFL_ETHUMB_BUILD=""
62 EFL_ETHUMB_CLIENT_BUILD=""
63 lt_enable_auto_import=""
64 case "$host_os" in
65    mingw* | cegcc*)
66       EFL_ETHUMB_BUILD="-DEFL_ETHUMB_BUILD"
67       EFL_ETHUMB_CLIENT_BUILD="-DEFL_ETHUMB_CLIENT_BUILD"
68       lt_enable_auto_import="-Wl,--enable-auto-import"
69    ;;
70 esac
71 AC_SUBST(EFL_ETHUMB_BUILD)
72 AC_SUBST(EFL_ETHUMB_CLIENT_BUILD)
73 AC_SUBST(lt_enable_auto_import)
74
75 PKG_CHECK_MODULES(EINA, [eina >= 1.0.0])
76 PKG_CHECK_MODULES(EVAS, [evas >= 1.0.0])
77 PKG_CHECK_MODULES(ECORE, [ecore >= 1.0.0])
78 PKG_CHECK_MODULES(ECORE_EVAS, [ecore-evas >= 1.0.0])
79 PKG_CHECK_MODULES(ECORE_FILE, [ecore-file >= 1.0.0 ])
80 PKG_CHECK_MODULES(EDJE, [edje >= 1.0.0])
81 EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
82
83 requirement_ethumb="eina >= 1.0.0 evas >= 1.0.0 ecore >= 1.0.0 ecore-evas >= 1.0.0 ecore-file >= 1.0.0 edje >= 1.0.0"
84 requirement_ethumb_client="ethumb edbus >= 1.0.0"
85
86 AM_CONDITIONAL(HAVE_EMOTION, false)
87 define([CHECK_MODULE_EMOTION],
88 [
89         AC_ETH_CHECK_PKG(EMOTION, emotion, [], [EMOTION=false])
90 ])
91
92 AC_ETH_OPTIONAL_MODULE([emotion], true, [CHECK_MODULE_EMOTION])
93
94 if $USE_MODULE_EMOTION ; then
95         requirement_ethumb="$requirement_ethumb emotion"
96 fi
97
98 AM_CONDITIONAL(HAVE_EPDF, false)
99 define([CHECK_MODULE_EPDF],
100 [
101         AC_ETH_CHECK_PKG(EPDF, epdf, [], [EPDF=false])
102 ])
103
104 AC_ETH_OPTIONAL_MODULE([epdf], true, [CHECK_MODULE_EPDF])
105 if $USE_MODULE_EPDF ; then
106         requirement_ethumb="$requirement_ethumb epdf"
107 fi
108
109 AM_CONDITIONAL(HAVE_EDBUS, false)
110 define([CHECK_MODULE_ETHUMBD],
111 [
112         AC_ETH_CHECK_PKG(EDBUS, edbus, [], [ETHUMBD=false])
113 ])
114
115 AC_ETH_OPTIONAL_MODULE([ethumbd], true, [CHECK_MODULE_ETHUMBD])
116 if $USE_MODULE_ETHUMBD ; then
117         dbusservicedir=${datadir}/dbus-1/services
118         AC_ARG_WITH([dbus-services],
119                     AC_HELP_STRING([--with-dbus-services=DBUS_SERVICES], [specify a directory to store dbus service files.]),
120                     [
121                       dbusservicedir=$withval
122                     ]
123                    )
124 fi
125 AC_ARG_ENABLE([libexif],
126         [AC_HELP_STRING([--disable-libexif], [disable libexif support. Default is enabled.])],
127         [
128          if test "x${enableval}" = "xyes" ; then
129             _iv_enable_libexif="yes"
130          else
131             _iv_enable_libexif="no"
132          fi
133         ],
134         [_iv_enable_libexif="yes"]
135 )
136
137 AC_MSG_CHECKING([whether libexif is built])
138 AC_MSG_RESULT([${_iv_enable_libexif}])
139
140 HAVE_LIBEXIF="no"
141
142 if test "x${_iv_enable_libexif}" = "xyes" ; then
143         AC_ETH_CHECK_PKG(LIBEXIF, libexif)
144 fi
145
146 AM_CONDITIONAL(HAVE_LIBEXIF, test $HAVE_LIBEXIF = yes)
147 AC_SUBST(HAVE_LIBEXIF)
148
149 AC_SUBST(requirement_ethumb)
150 AC_SUBST(requirement_ethumb_client)
151 AC_SUBST(dbusservicedir)
152
153 AC_OUTPUT([
154 ethumb.pc
155 ethumb_client.pc
156 org.enlightenment.Ethumb.service
157 Makefile
158 src/Makefile
159 src/bin/Makefile
160 src/lib/Makefile
161 src/lib/client/Makefile
162 src/plugins/Makefile
163 src/plugins/emotion/Makefile
164 src/plugins/epdf/Makefile
165 src/tests/Makefile
166 data/Makefile
167 data/frames/Makefile
168 m4/Makefile
169 doc/Makefile
170 ])
171
172 txt_strip() {
173         echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
174 }
175
176 MODS=""
177 for mod in $OPTIONAL_MODULES; do
178         MODS="$MODS ${COLOR_HGREEN}+$mod${COLOR_END}"
179 done
180 MODS=$(txt_strip $MODS)
181
182 UNUSED_MODS=""
183 for mod in $UNUSED_OPTIONAL_MODULES; do
184         UNUSED_MODS="$UNUSED_MODS ${COLOR_HRED}-$mod${COLOR_END}"
185 done
186 UNUSED_MODS=$(txt_strip $UNUSED_MODS)
187
188 cat <<SUMMARY_EOF
189
190 Summary:
191  * project..........: $PACKAGE $VERSION
192  * prefix...........: $(txt_strip $prefix)
193  * DBus services dir: $(txt_strip $dbusservicedir)
194  * CFLAGS...........: $(txt_strip $CFLAGS)
195  * LDFLAGS..........: $(txt_strip $LDFLAGS)
196
197 Configuration Options Summary:
198
199  * maximum log level: ${with_max_log_level}
200  * documentation....: ${build_doc}
201
202 SUMMARY_EOF
203
204 if test "x$MODS" != "x"; then
205    echo -e " * enabled modules..: $MODS"
206 fi
207
208 if test "x$UNUSED_MODS" != "x"; then
209    echo -e " * disabled modules.: $UNUSED_MODS"
210 fi
211
212 cat << HINT_EOF
213
214 now type:
215
216 Now type 'make' ('gmake' on some systems) to compile $PACKAGE, and
217 then afterwards as root (or the user who will install this), type
218 'make install'. Change users with 'su' or 'sudo' appropriately.
219
220 HINT_EOF