62b8a11a92b1a68f8d5e81a4ca2c23af8a1ec4ca
[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
82 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"
83 requirement_ethumb_client="ethumb edbus >= 1.0.0"
84
85 AM_CONDITIONAL(HAVE_EMOTION, false)
86 define([CHECK_MODULE_EMOTION],
87 [
88         AC_ETH_CHECK_PKG(EMOTION, emotion, [], [EMOTION=false])
89 ])
90
91 AC_ETH_OPTIONAL_MODULE([emotion], true, [CHECK_MODULE_EMOTION])
92
93 if $USE_MODULE_EMOTION ; then
94         requirement_ethumb="$requirement_ethumb emotion"
95 fi
96
97 AM_CONDITIONAL(HAVE_EPDF, false)
98 define([CHECK_MODULE_EPDF],
99 [
100         AC_ETH_CHECK_PKG(EPDF, epdf, [], [EPDF=false])
101 ])
102
103 AC_ETH_OPTIONAL_MODULE([epdf], true, [CHECK_MODULE_EPDF])
104 if $USE_MODULE_EPDF ; then
105         requirement_ethumb="$requirement_ethumb epdf"
106 fi
107
108 AM_CONDITIONAL(HAVE_EDBUS, false)
109 define([CHECK_MODULE_ETHUMBD],
110 [
111         AC_ETH_CHECK_PKG(EDBUS, edbus, [], [ETHUMBD=false])
112 ])
113
114 AC_ETH_OPTIONAL_MODULE([ethumbd], true, [CHECK_MODULE_ETHUMBD])
115 if $USE_MODULE_ETHUMBD ; then
116         dbusservicedir=${datadir}/dbus-1/services
117         AC_ARG_WITH([dbus-services],
118                     AC_HELP_STRING([--with-dbus-services=DBUS_SERVICES], [specify a directory to store dbus service files.]),
119                     [
120                       dbusservicedir=$withval
121                     ]
122                    )
123 fi
124 AC_ARG_ENABLE([libexif],
125         [AC_HELP_STRING([--disable-libexif], [disable libexif support. Default is enabled.])],
126         [
127          if test "x${enableval}" = "xyes" ; then
128             _iv_enable_libexif="yes"
129          else
130             _iv_enable_libexif="no"
131          fi
132         ],
133         [_iv_enable_libexif="yes"]
134 )
135
136 AC_MSG_CHECKING([whether libexif is built])
137 AC_MSG_RESULT([${_iv_enable_libexif}])
138
139 HAVE_LIBEXIF="no"
140
141 if test "x${_iv_enable_libexif}" = "xyes" ; then
142         AC_ETH_CHECK_PKG(LIBEXIF, libexif)
143 fi
144
145 AM_CONDITIONAL(HAVE_LIBEXIF, test $HAVE_LIBEXIF = yes)
146 AC_SUBST(HAVE_LIBEXIF)
147
148 AC_SUBST(requirement_ethumb)
149 AC_SUBST(requirement_ethumb_client)
150 AC_SUBST(dbusservicedir)
151
152 AC_OUTPUT([
153 ethumb.pc
154 ethumb_client.pc
155 org.enlightenment.Ethumb.service
156 Makefile
157 src/Makefile
158 src/bin/Makefile
159 src/lib/Makefile
160 src/lib/client/Makefile
161 src/plugins/Makefile
162 src/plugins/emotion/Makefile
163 src/plugins/epdf/Makefile
164 src/tests/Makefile
165 data/Makefile
166 data/frames/Makefile
167 m4/Makefile
168 doc/Makefile
169 ])
170
171 txt_strip() {
172         echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
173 }
174
175 MODS=""
176 for mod in $OPTIONAL_MODULES; do
177         MODS="$MODS ${COLOR_HGREEN}+$mod${COLOR_END}"
178 done
179 MODS=$(txt_strip $MODS)
180
181 UNUSED_MODS=""
182 for mod in $UNUSED_OPTIONAL_MODULES; do
183         UNUSED_MODS="$UNUSED_MODS ${COLOR_HRED}-$mod${COLOR_END}"
184 done
185 UNUSED_MODS=$(txt_strip $UNUSED_MODS)
186
187 cat <<SUMMARY_EOF
188
189 Summary:
190  * project..........: $PACKAGE $VERSION
191  * prefix...........: $(txt_strip $prefix)
192  * DBus services dir: $(txt_strip $dbusservicedir)
193  * CFLAGS...........: $(txt_strip $CFLAGS)
194  * LDFLAGS..........: $(txt_strip $LDFLAGS)
195
196 Configuration Options Summary:
197
198  * maximum log level: ${with_max_log_level}
199  * documentation....: ${build_doc}
200
201 SUMMARY_EOF
202
203 if test "x$MODS" != "x"; then
204    echo -e " * enabled modules..: $MODS"
205 fi
206
207 if test "x$UNUSED_MODS" != "x"; then
208    echo -e " * disabled modules.: $UNUSED_MODS"
209 fi
210
211 cat << HINT_EOF
212
213 now type:
214
215 Now type 'make' ('gmake' on some systems) to compile $PACKAGE, and
216 then afterwards as root (or the user who will install this), type
217 'make install'. Change users with 'su' or 'sudo' appropriately.
218
219 HINT_EOF