add blend mode tests
[swfdec.git] / configure.ac
blob835638b3afb10c67dc89c0ae4c71ac2d18e86dd0
1 AC_PREREQ([2.58])
3 m4_define(swfdec_major, 0)
4 m4_define(swfdec_minor, 9)
5 m4_define(swfdec_micro, 3)
6 AC_INIT(swfdec,[swfdec_major.swfdec_minor.swfdec_micro])
8 SWFDEC_VERSION_MAJOR=swfdec_major
9 SWFDEC_VERSION_MINOR=swfdec_minor
10 SWFDEC_VERSION_MICRO=swfdec_micro
11 SWFDEC_VERSION=$SWFDEC_VERSION_MAJOR.$SWFDEC_VERSION_MINOR.$SWFDEC_VERSION_MICRO
12 AC_SUBST(SWFDEC_VERSION_MAJOR)
13 AC_SUBST(SWFDEC_VERSION_MINOR)
14 AC_SUBST(SWFDEC_VERSION_MICRO)
15 AC_SUBST(SWFDEC_VERSION)
18 [SWFDEC_DEVEL=$(echo $SWFDEC_VERSION_MICRO | sed 's/[0-9]*[13579]/yes/')]
19 [SWFDEC_SNAPSHOT=$(echo $SWFDEC_VERSION_MINOR | sed 's/[0-9]*[13579]/yes/')]
21 AM_INIT_AUTOMAKE(1.6)
22 dnl AC_CANONICAL_TARGET([])
24 SWFDEC_MAJORMINOR=$SWFDEC_VERSION_MAJOR.$SWFDEC_VERSION_MINOR
25 AC_SUBST(SWFDEC_MAJORMINOR)
27 AM_CONFIG_HEADER(config.h)
28 AC_CONFIG_MACRO_DIR([m4])
30 dnl decide on error flags
31 dnl if we support them, we set them unconditionally
32 AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Wall -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wold-style-definition -Wdeclaration-after-statement -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wformat-nonliteral -Wformat-security -Wswitch-enum -Wswitch-default -Winit-self -Wmissing-include-dirs -Wundef -Waggregate-return -Wmissing-format-attribute -Wnested-externs -Wunsafe-loop-optimizations -Wpacked -Winvalid-pch -Wsync-nand")
33 dnl if we're in nano >= 1, add -Werror if supported
34 if test x$SWFDEC_DEVEL = xyes ; then
35   AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Werror")
36   DEFAULT_DEBUG_LEVEL="SWFDEC_LEVEL_WARNING"
37 else
38   DEFAULT_DEBUG_LEVEL="SWFDEC_LEVEL_ERROR"
40 AC_DEFINE_UNQUOTED(SWFDEC_LEVEL_DEFAULT, $DEFAULT_DEBUG_LEVEL, [Default debug level used])
42 dnl Compute the libversion automatically, so there's no need to think about it
43 dnl when bumping versions.
44 dnl Note that the libversions are based on Swfdec's current release mechanism 
45 dnl detailed at 
46 dnl http://lists.freedesktop.org/archives/swfdec/2008-January/001131.html
47 dnl If this ever changes (like when Swfdec gets a stable API), don't forget to
48 dnl change this
49 if test x"$SWFDEC_SNAPSHOT" = xyes ; then
50   SWFDEC_LIBVERSION="$SWFDEC_VERSION_MICRO:0:0"
51 else
52   SWFDEC_LIBVERSION="0:0:0"
54 AC_SUBST(SWFDEC_LIBVERSION)
55 AM_PROG_LIBTOOL
57 dnl C99 is only required to get definitions for NAN and INFINITY.
58 AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-std=gnu99")
60 dnl ensures the library is linked against the internal Mozilla
61 dnl if this doesn't work on your platform, I'll take patches :)
62 SYMBOLIC_LDFLAGS="-Wl,-Bsymbolic"
63 AC_SUBST(SYMBOLIC_LDFLAGS)
65 dnl Add parameters for aclocal
66 dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL)
67 #ACLOCAL_AMFLAGS="-I m4 $ACLOCAL_AMFLAGS"
69 AC_PROG_CC
70 AM_PROG_CC_STDC
71 AM_PROG_CC_C_O
72 AM_PROG_AS
73 AC_PROG_AWK
75 AC_HEADER_STDC
77 AC_MSG_CHECKING([for timezone support])
78 AC_COMPILE_IFELSE([
79   AC_LANG_PROGRAM([[
80     @%:@include <time.h>
81   ]], [[
82     time_t t;
83     localtime (&t)->tm_gmtoff;
84   ]])],
85   HAVE_TIMEZONE="yes",
86   HAVE_TIMEZONE="no")
87 if test "x$HAVE_TIMEZONE" = "xyes"; then
88   AC_MSG_RESULT([yes])
89   AC_DEFINE(HAVE_TIMEZONE, 1, [Define if we can query the timezone])
90 else
91   AC_MSG_RESULT([no])
95 dnl ##############################
96 dnl # Do automated configuration #
97 dnl ##############################
99 dnl Check for tools:
100 dnl ================
102 dnl modify pkg-config path
103 AC_ARG_WITH(pkg-config-path, 
104    AC_HELP_STRING([--with-pkg-config-path],[colon-separated list of pkg-config(1) dirs]),
105    [export PKG_CONFIG_PATH=${withval}])
107 dnl Check for essential libraries first:
108 dnl ====================================
110 GLIB_VER=2.16
111 PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_VER gobject-2.0 >= $GLIB_VER gthread-2.0 >= $GLIB_VER,
112                 HAVE_GLIB=yes, HAVE_GLIB=no)
113 if test "$HAVE_GLIB" = "no"; then
114   AC_MSG_ERROR([glib-2.0, gobject-2.0 and gthread-2.0 >= $GLIB_VER are required to build swfdec])
116 AC_SUBST(GLIB_LIBS)
117 AC_SUBST(GLIB_CFLAGS)
118 AC_SUBST(GLIB_VER)
119 dnl FIXME: detect these executables correctly
120 GLIB_GENMARSHAL=glib-genmarshal
121 AC_SUBST(GLIB_GENMARSHAL)
122 GLIB_MKENUMS=glib-mkenums
123 AC_SUBST(GLIB_MKENUMS)
125 PANGO_VER=1.16
126 PKG_CHECK_MODULES(PANGO, pangocairo >= $PANGO_VER, HAVE_PANGO=yes, HAVE_PANGO=no)
127 if test "$HAVE_PANGO" = "no"; then
128   AC_MSG_ERROR([pangocairo >= $PANGO_VER is required to build swfdec])
130 AC_SUBST(PANGO_LIBS)
131 AC_SUBST(PANGO_CFLAGS)
133 AC_ARG_ENABLE(gtk,
134         AS_HELP_STRING([--enable-gtk],
135                         [enable build of swfdec-gtk (default=yes)])],
136         enable_gtk=$enableval,
137         enable_gtk="yes")
139 dnl 
140 dnl GTK: We want this for swfdec-gtk
142 GTK_VER=2.8.0
143 AC_SUBST(GTK_VER)
144 if test "$enable_gtk" = "yes"; then
145         PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_VER libsoup-2.4, HAVE_GTK=yes)
146         AC_DEFINE(HAVE_GTK, 1, [Define if Gtk is enabled])
147 else
148         AC_MSG_NOTICE([Gtk support was not enabled.])
150 AM_CONDITIONAL(WITH_GTK, [test "x$HAVE_GTK" = xyes])
153 dnl audio backend
155 AC_ARG_WITH(audio,
156             [AC_HELP_STRING([--with-audio=@<:@auto/pulse/none@:>@],
157                             [audio backend to use])],,
158             [with_audio=alsa])
160 AUDIO_TYPE=
161 if test "$with_audio" = "alsa"; then
162   PKG_CHECK_MODULES(ALSA, alsa >= 1.0, AUDIO_TYPE=alsa)
163   if test "$AUDIO_TYPE" = "alsa"; then
164     AUDIO_CFLAGS=$ALSA_CFLAGS
165     AUDIO_LIBS=$ALSA_LIBS
166   else
167     if test "$with_audio" = "alsa"; then
168       AC_MSG_ERROR([no alsa audio support])
169     else
170       AC_MSG_WARN([no alsa audio support])
171     fi
172   fi
175 dnl Use PA if ALSA wasn't found and we're auto and it's available.
176 dnl Disabled for now until the PA backend works.
177 if test "$with_audio" = "pulse"; then
178   PKG_CHECK_MODULES(PA, libpulse-mainloop-glib, AUDIO_TYPE="pulse")
179   if test "$AUDIO_TYPE" = "pulse"; then
180     AUDIO_CFLAGS=$PA_CFLAGS
181     AUDIO_LIBS=$PA_LIBS
182   else
183     if test "$with_audio" = "pulse"; then
184       AC_MSG_ERROR([no pulseaudio support])
185     else
186       AC_MSG_WARN([no pulseaudio support])
187     fi
188   fi
191 dnl If all else fails, fall back to none.
192 if test "$with_audio" = "none"; then
193   AUDIO_CFLAGS=
194   AUDIO_LIBS=
195   AUDIO_TYPE=none
198 if test "x$AUDIO_TYPE" = "x"; then
199   AC_MSG_ERROR([audio backend "$with_audio" could not be used])
200 else
201   AC_MSG_NOTICE([audio backend: $AUDIO_TYPE])
203 AC_SUBST(AUDIO_LIBS)
204 AC_SUBST(AUDIO_CFLAGS)
205 AC_SUBST(AUDIO_TYPE)
207 LIBOIL_VER=0.3.1
208 PKG_CHECK_MODULES(LIBOIL, liboil-0.3 >= $LIBOIL_VER, HAVE_LIBOIL=yes, HAVE_LIBOIL=no)
209 AC_SUBST(LIBOIL_LIBS)
210 AC_SUBST(LIBOIL_CFLAGS)
211 if test "$HAVE_LIBOIL" = "no"; then
212   AC_MSG_ERROR([liboil-0.3 >= $LIBOIL_VER is required to build swfdec])
215 CAIRO_VER=1.9.4
216 PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_VER cairo-png >= $CAIRO_VER)
218 AC_ARG_ENABLE(gstreamer,
219         AS_HELP_STRING([--enable-gstreamer],
220                         [enable GStreamer support (default=yes)])],
221         enable_gstreamer=$enableval,
222         enable_gstreamer="yes")
224 if test "$enable_gstreamer" = "yes"; then
225         GST_REQUIRED=0.10.11
226         GST_PB_REQUIRED=0.10.15
227         PKG_CHECK_MODULES(GST, gstreamer-0.10 >= $GST_REQUIRED gstreamer-pbutils-0.10 >= $GST_PB_REQUIRED, HAVE_GST=yes, HAVE_GST=no)
228         if test "x$HAVE_GST" = xyes; then
229           AC_DEFINE(HAVE_GST, 1, [Define if GStreamer is enabled])
230         else
231           AC_MSG_ERROR([Couldn't find GStreamer $GST_REQUIRED and gstreamer-pbutils $GST_PB_REQUIRED.])
232         fi
233 else
234         AC_MSG_NOTICE([GStreamer support was not enabled.])
236 AM_CONDITIONAL(HAVE_GST, [test "x$HAVE_GST" = xyes])
239 AC_ARG_ENABLE(vivified,
240         AS_HELP_STRING([--enable-vivified],
241                         [enable Vivified Flash debugger (default=no)])],
242         enable_vivi=$enableval,
243         enable_vivi="no")
244 if test "$enable_vivi" = "yes"; then
245         AM_PROG_LEX
246         MING_REQUIRED=0.4.0.beta5
247         VIVI_GTK_REQUIRED=2.11.6
248         VIVI_GLIB_REQUIRED=2.14
249         PKG_CHECK_MODULES(VIVI, libming >= $MING_REQUIRED gmodule-export-2.0 gtk+-2.0 >= $VIVI_GTK_REQUIRED glib-2.0 >= $VIVI_GLIB_REQUIRED, HAVE_VIVI=yes, HAVE_VIVI=no)
250         if test "x$HAVE_VIVI" = xyes; then
251           AC_DEFINE(HAVE_VIVI, 1, [Define if Vivified is enabled])
252         else
253           AC_MSG_ERROR([Vivified requirements not met. You need libming >= $MING_REQUIRED, glib >= $VIVI_GLIB_REQUIRED and Gtk+ >= $VIVI_GTK_REQUIRED.])
254         fi
255 else
256         AC_MSG_NOTICE([Vivified was not enabled.])
258 AM_CONDITIONAL(HAVE_VIVI, [test "x$HAVE_VIVI" = xyes])
261 AC_SUBST(GLOBAL_CFLAGS)
262 AC_SUBST(GLOBAL_CFLAGS)
264 SWFDEC_CFLAGS="-I\$(top_srcdir) $GLIB_CFLAGS $CAIRO_CFLAGS"
265 SWFDEC_LIBS="\$(top_builddir)/swfdec/libswfdec-$SWFDEC_MAJORMINOR.la $GLIB_LIBS $CAIRO_LIBS -lz -lm"
266 AC_SUBST(SWFDEC_LIBS)
267 AC_SUBST(SWFDEC_CFLAGS)
269 SWFDEC_GTK_CFLAGS="$SWFDEC_CFLAGS $GTK_CFLAGS"
270 SWFDEC_GTK_LIBS="\$(top_builddir)/swfdec-gtk/libswfdec-gtk-$SWFDEC_MAJORMINOR.la $SWFDEC_LIBS $GTK_LIBS"
271 AC_SUBST(SWFDEC_GTK_LIBS)
272 AC_SUBST(SWFDEC_GTK_CFLAGS)
274 GTK_DOC_CHECK([1.10])
276 if test "x${prefix}" = "xNONE"; then
277   PACKAGE_PREFIX=${ac_default_prefix}
278 else
279   PACKAGE_PREFIX=${prefix}
281 AC_DEFINE_UNQUOTED(PACKAGE_PREFIX, "$PACKAGE_PREFIX", [Define the package prefix])
282 AC_SUBST(PACKAGE_PREFIX)
284 dnl #########################
285 dnl # Make the output files #
286 dnl #########################
288 dnl testsuite/autoplug/Makefile
289 dnl testsuite/Makefile
290 AC_CONFIG_FILES(
291 Makefile
292 data/Makefile
293 data/swfdec.pc
294 data/swfdec-gtk.pc
295 doc/Makefile
296 swfdec/Makefile
297 swfdec/swfdec_version.h
298 swfdec/jpeg/Makefile
299 swfdec-gtk/Makefile
300 player/Makefile
301 test/Makefile
302 test/custom/Makefile
303 test/gnash/Makefile
304 test/gnash/media/Makefile
305 test/gnash/actionscript.all/Makefile
306 test/gnash/misc-mtasc.all/Makefile
307 test/gnash/misc-swfc.all/Makefile
308 test/gnash/misc-swfmill.all/Makefile
309 test/image/Makefile
310 test/sound/Makefile
311 test/trace/Makefile
312 test/various/Makefile
313 tools/Makefile
314 vivified/Makefile
315 vivified/code/Makefile
316 vivified/code/test/Makefile
317 vivified/code/test/compiler/Makefile
318 vivified/code/test/decompiler/Makefile
321 AC_OUTPUT