0382c5aa7897533ab424f4707d2c5bca50dc5787
[framework/uifw/ethumb.git] / configure.ac
1 AC_INIT([ethumb], [0.1], [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
33 #themesdir="${datadir}/ethumb/data/frames"
34 #AC_SUBST(themesdir)
35 #AS_AC_EXPAND(THEMESDIR, $themesdir)
36 #AC_DEFINE_UNQUOTED(THEMESDIR, ["$THEMESDIR"], [Where frame theme files are installed.]
37 #)
38
39 #AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
40 #AC_DEFINE_UNQUOTED(SYSCONFDIR, ["$SYSCONFDIR"], [Where system configuration is stored])
41
42 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
43
44 with_max_log_level="<unset>"
45 AC_ARG_WITH(internal-maximum-log-level,
46    [AC_HELP_STRING([--with-internal-maximum-log-level=NUMBER],
47                    [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.])],
48    [
49     if test "x${withval}" != "xno"; then
50        if echo "${withval}" | grep '^[[0-9]]\+$' >/dev/null 2>/dev/null; then
51           AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${withval}])
52           AC_DEFINE_UNQUOTED(EINA_LOG_LEVEL_MAXIMUM, ${withval}, [if set, logging is limited to this amount.])
53           with_max_log_level="${withval}"
54        else
55           AC_MSG_ERROR([--with-internal-maximum-log-level takes a decimal number, got "${withval}" instead.])
56        fi
57     fi
58     ], [:])
59
60 EFL_ETHUMB_BUILD=""
61 EFL_ETHUMB_CLIENT_BUILD=""
62 lt_enable_auto_import=""
63 case "$host_os" in
64    mingw* | cegcc*)
65       EFL_ETHUMB_BUILD="-DEFL_ETHUMB_BUILD"
66       EFL_ETHUMB_CLIENT_BUILD="-DEFL_ETHUMB_CLIENT_BUILD"
67       lt_enable_auto_import="-Wl,--enable-auto-import"
68    ;;
69 esac
70 AC_SUBST(EFL_ETHUMB_BUILD)
71 AC_SUBST(EFL_ETHUMB_CLIENT_BUILD)
72 AC_SUBST(lt_enable_auto_import)
73
74 PKG_CHECK_MODULES(EINA, [eina-0])
75 PKG_CHECK_MODULES(EVAS, [evas])
76 PKG_CHECK_MODULES(ECORE, [ecore])
77 PKG_CHECK_MODULES(ECORE_EVAS, [ecore-evas])
78 PKG_CHECK_MODULES(ECORE_FILE, [ecore-file])
79 PKG_CHECK_MODULES(EDJE, [edje])
80
81 requirement_ethumb="eina-0 evas ecore ecore-evas ecore-file edje"
82 requirement_ethumb_client="ethumb edbus"
83
84 AM_CONDITIONAL(HAVE_EMOTION, false)
85 define([CHECK_MODULE_EMOTION],
86 [
87         AC_ETH_CHECK_PKG(EMOTION, emotion, [], [EMOTION=false])
88 ])
89
90 AC_ETH_OPTIONAL_MODULE([emotion], true, [CHECK_MODULE_EMOTION])
91
92 if $USE_MODULE_EMOTION ; then
93         requirement_ethumb="$requirement_ethumb emotion"
94 fi
95
96 AM_CONDITIONAL(HAVE_EPDF, false)
97 define([CHECK_MODULE_EPDF],
98 [
99         AC_ETH_CHECK_PKG(EPDF, epdf, [], [EPDF=false])
100 ])
101
102 AC_ETH_OPTIONAL_MODULE([epdf], true, [CHECK_MODULE_EPDF])
103 if $USE_MODULE_EPDF ; then
104         requirement_ethumb="$requirement_ethumb epdf"
105 fi
106
107 AM_CONDITIONAL(HAVE_EDBUS, false)
108 define([CHECK_MODULE_ETHUMBD],
109 [
110         AC_ETH_CHECK_PKG(EDBUS, edbus, [], [ETHUMBD=false])
111 ])
112
113 AC_ETH_OPTIONAL_MODULE([ethumbd], true, [CHECK_MODULE_ETHUMBD])
114 if $USE_MODULE_ETHUMBD ; then
115         dbusservicedir=`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`
116         AC_ARG_WITH([dbus-services],
117                     AC_HELP_STRING([--with-dbus-services=DBUS_SERVICES], [specify a directory to store dbus service files.]),
118                     [
119                       dbusservicedir=$withval
120                     ]
121                    )
122 fi
123
124 AC_SUBST(requirement_ethumb)
125 AC_SUBST(requirement_ethumb_client)
126 AC_SUBST(dbusservicedir)
127
128 AC_OUTPUT([
129 ethumb.pc
130 ethumb_client.pc
131 org.enlightenment.Ethumb.service
132 Makefile
133 src/Makefile
134 src/bin/Makefile
135 src/lib/Makefile
136 src/lib/client/Makefile
137 src/plugins/Makefile
138 src/plugins/emotion/Makefile
139 src/plugins/epdf/Makefile
140 src/tests/Makefile
141 data/Makefile
142 data/frames/Makefile
143 m4/Makefile
144 doc/Makefile
145 ])
146
147 txt_strip() {
148         echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
149 }
150
151 MODS=""
152 for mod in $OPTIONAL_MODULES; do
153         MODS="$MODS ${COLOR_HGREEN}+$mod${COLOR_END}"
154 done
155 MODS=$(txt_strip $MODS)
156
157 UNUSED_MODS=""
158 for mod in $UNUSED_OPTIONAL_MODULES; do
159         UNUSED_MODS="$UNUSED_MODS ${COLOR_HRED}-$mod${COLOR_END}"
160 done
161 UNUSED_MODS=$(txt_strip $UNUSED_MODS)
162
163 cat <<SUMMARY_EOF
164
165 Summary:
166  * project..........: $PACKAGE $VERSION
167  * prefix...........: $(txt_strip $prefix)
168  * DBus services dir: $(txt_strip $dbusservicedir)
169  * CFLAGS...........: $(txt_strip $CFLAGS)
170  * LDFLAGS..........: $(txt_strip $LDFLAGS)
171
172 Configuration Options Summary:
173
174  * maximum log level: ${with_max_log_level}
175  * documentation....: ${build_doc}
176
177 SUMMARY_EOF
178
179 if test "x$MODS" != "x"; then
180    echo -e " * enabled modules..: $MODS"
181 fi
182
183 if test "x$UNUSED_MODS" != "x"; then
184    echo -e " * disabled modules.: $UNUSED_MODS"
185 fi
186
187 cat << HINT_EOF
188
189 now type:
190
191 Now type 'make' ('gmake' on some systems) to compile $PACKAGE, and
192 then afterwards as root (or the user who will install this), type
193 'make install'. Change users with 'su' or 'sudo' appropriately.
194
195 HINT_EOF