* enable static build of modules
[profile/ivi/emotion.git] / configure.ac
1 # get rid of that stupid cache mechanism
2 rm -f config.cache
3
4 AC_INIT([emotion], [0.1.0.042], [enlightenment-devel@lists.sourceforge.net])
5 AC_PREREQ([2.60])
6 AC_CONFIG_SRCDIR([configure.ac])
7 AC_CONFIG_MACRO_DIR([m4])
8 AC_CANONICAL_BUILD
9 AC_CANONICAL_HOST
10 AC_ISC_POSIX
11
12 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
13 AM_CONFIG_HEADER([config.h])
14 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
15
16 AC_LIBTOOL_WIN32_DLL
17 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
18 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
19 AC_PROG_LIBTOOL
20
21 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
22 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
23 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
24 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
25 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
26 AC_SUBST(version_info)
27
28
29 ### Needed information
30
31 case "$host_os" in
32    mingw* | cegcc*)
33       want_xine="no"
34       want_gstreamer="yes"
35       want_vlc="no"
36       ;;
37    *)
38       want_xine="yes"
39       want_gstreamer="yes"
40       want_vlc="yes"
41       ;;
42 esac
43
44 requirement_emotion=""
45
46 ### Additional options to configure
47
48 # edje_cc
49
50 AC_ARG_WITH([edje-cc],
51    [AC_HELP_STRING([--with-edje-cc=PATH], [specify a specific path to edje_cc])],
52    [
53     v=$withval;
54     edje_cc=$v
55     echo "  Enlightenment edje_cc explicitly set to "$edje_cc;
56    ],
57    [edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc])
58 AC_SUBST(edje_cc)
59
60
61 ### Checks for programs
62 AC_PROG_CC
63
64 # pkg-config
65 PKG_PROG_PKG_CONFIG
66
67 # Check whether pkg-config supports Requires.private
68 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
69    pkgconfig_requires_private="Requires.private"
70 else
71    pkgconfig_requires_private="Requires"
72 fi
73 AC_SUBST(pkgconfig_requires_private)
74
75 # doxygen program for documentation building
76
77 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
78
79
80 ### Checks for libraries
81
82 PKG_CHECK_MODULES(EMOTION, [eina-0 evas >= 0.9.9 ecore >= 0.9.9 ecore-job >= 0.9.9])
83 requirement_emotion="ecore-job ecore evas eina-0"
84
85 PKG_CHECK_MODULES(EMOTION_BIN, [evas >= 0.9.9 ecore >= 0.9.9 ecore-evas >= 0.9.9 edje >= 0.5.0])
86
87 PKG_CHECK_MODULES(ECORE_X, [ecore-x >= 0.9.9], [have_ecore_x="yes"], [have_ecore_x="no"])
88
89 PKG_CHECK_MODULES(ECORE_FB, [ecore-fb >= 0.9.9], [have_ecore_fb="yes"], [have_ecore_fb="no"])
90
91 if test "x${have_ecore_x}" = "xyes" ; then
92    AC_DEFINE(EMOTION_HAVE_ECORE_X, 1, [Define to 1 if Ecore_X is enabled])  
93 fi
94
95 if test "x${have_ecore_fb}" = "xyes" ; then
96    AC_DEFINE(EMOTION_HAVE_ECORE_FB, 1, [Define to 1 if Ecore_Fb is enabled])  
97 fi
98
99 PKG_CHECK_EXISTS([evas-software-x11], [AC_DEFINE(HAVE_EVAS_SOFWARE_X11, 1, [Evas Software Xlib Engine Support])])
100
101 PKG_CHECK_EXISTS([evas-xrender-x11], [AC_DEFINE(HAVE_EVAS_XRENDER_X11, 1, [Evas Software Xlib Engine Support])])
102
103 PKG_CHECK_EXISTS([evas-opengl-x11], [AC_DEFINE(HAVE_EVAS_OPENGL_X11, 1, [Evas OpenGL Xlib Engine Support])])
104
105 PKG_CHECK_EXISTS([evas-fb], [AC_DEFINE(HAVE_EVAS_FB, 1, [Evas Framebuffer Engine Support])])
106
107
108 ### Checks for header files
109 AC_HEADER_STDC
110
111 ### Checks for types
112
113
114 ### Checks for structures
115
116
117 ### Checks for compiler characteristics
118 AC_C_CONST
119 AC_C_BIGENDIAN
120 AM_PROG_CC_STDC
121 AC_C___ATTRIBUTE__
122
123 EFL_EMOTION_BUILD=""
124 case "$host_os" in
125    mingw32ce* | cegcc*)
126       EMOTION_CPPFLAGS="-D_WIN32_WCE=0x0420"
127       EFL_EMOTION_BUILD="-DEFL_EMOTION_BUILD"
128       ;;
129    mingw*)
130       EMOTION_CPPFLAGS="-D_WIN32_WINNT=0x0501"
131       EFL_EMOTION_BUILD="-DEFL_EMOTION_BUILD"
132       ;;
133 esac
134 AC_SUBST(EFL_EMOTION_BUILD)
135 AC_SUBST(EMOTION_CPPFLAGS)
136
137
138 ### Checks for linker characteristics
139
140 # use --enable-auto-import on Windows
141
142 lt_enable_auto_import=""
143 case "$host_os" in
144    mingw* | cegcc*)
145       lt_enable_auto_import="-Wl,--enable-auto-import"
146       ;;
147 esac
148 AC_SUBST(lt_enable_auto_import)
149
150
151 ### Modules
152
153 EMOTION_CHECK_MODULE([Xine], [${want_xine}])
154 EMOTION_CHECK_MODULE([Gstreamer], [${want_gstreamer}])
155 EMOTION_CHECK_MODULE([VLC], [${want_vlc}])
156
157 if test "x${enable_xine}" = "xno" && test "x${enable_gstreamer}" = "xno" && test "x${enable_vlc}" = "xno" ; then
158    AC_MSG_ERROR([Xine, Gstreamer or VLC backends must be selected to build Emotion])
159 fi
160
161 AC_SUBST(requirement_emotion)
162
163 AC_OUTPUT([
164 Makefile
165 emotion.pc
166 emotion.spec
167 src/Makefile
168 src/lib/Makefile
169 src/modules/Makefile
170 src/modules/xine/Makefile
171 src/modules/gstreamer/Makefile
172 src/modules/vlc/Makefile
173 src/bin/Makefile
174 data/Makefile
175 ])
176
177
178 #####################################################################
179 ## Info
180
181 echo
182 echo
183 echo
184 echo "------------------------------------------------------------------------"
185 echo "$PACKAGE $VERSION"
186 echo "------------------------------------------------------------------------"
187 echo
188 echo "Configuration Options Summary:"
189 echo
190 echo "  Modules:"
191 echo "    Xine...............: ${enable_xine}"
192 echo "    Vlc................: ${enable_vlc}"
193 echo "    Gstreamer..........: ${enable_gstreamer}"
194 echo "    Gstreamer FFmpeg...: ${have_gst_ffmpeg}"
195 echo "    Gstreamer CDDA.....: ${have_gst_cdiocddasrc}"
196 echo
197 echo "  edje_cc..............: ${edje_cc}"
198 echo
199 echo "Compilation............: make (or gmake)"
200 echo "  CPPFLAGS.............: $CPPFLAGS"
201 echo "  CFLAGS...............: $CFLAGS"
202 echo "  LDFLAGS..............: $LDFLAGS"
203 echo
204 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
205 echo "  prefix...............: $prefix"
206 echo
207 if test "x${have_static_module}" = "xyes" ; then
208 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Emotion."
209 echo "         You must know what you are doing, or else you will have a lot of problems."
210 echo "         And asparagus will disappear from the earth."
211 echo "         Think about that."
212 echo
213 fi