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/')]
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"
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
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
49 if test x"$SWFDEC_SNAPSHOT" = xyes ; then
50 SWFDEC_LIBVERSION="$SWFDEC_VERSION_MICRO:0:0"
52 SWFDEC_LIBVERSION="0:0:0"
54 AC_SUBST(SWFDEC_LIBVERSION)
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"
77 AC_MSG_CHECKING([for timezone support])
83 localtime (&t)->tm_gmtoff;
87 if test "x$HAVE_TIMEZONE" = "xyes"; then
89 AC_DEFINE(HAVE_TIMEZONE, 1, [Define if we can query the timezone])
95 dnl ##############################
96 dnl # Do automated configuration #
97 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 ====================================
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])
117 AC_SUBST(GLIB_CFLAGS)
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)
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])
131 AC_SUBST(PANGO_CFLAGS)
134 AS_HELP_STRING([--enable-gtk],
135 [enable build of swfdec-gtk (default=yes)])],
136 enable_gtk=$enableval,
140 dnl GTK: We want this for swfdec-gtk
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])
148 AC_MSG_NOTICE([Gtk support was not enabled.])
150 AM_CONDITIONAL(WITH_GTK, [test "x$HAVE_GTK" = xyes])
156 [AC_HELP_STRING([--with-audio=@<:@auto/pulse/none@:>@],
157 [audio backend to use])],,
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
167 if test "$with_audio" = "alsa"; then
168 AC_MSG_ERROR([no alsa audio support])
170 AC_MSG_WARN([no alsa audio support])
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
183 if test "$with_audio" = "pulse"; then
184 AC_MSG_ERROR([no pulseaudio support])
186 AC_MSG_WARN([no pulseaudio support])
191 dnl If all else fails, fall back to none.
192 if test "$with_audio" = "none"; then
198 if test "x$AUDIO_TYPE" = "x"; then
199 AC_MSG_ERROR([audio backend "$with_audio" could not be used])
201 AC_MSG_NOTICE([audio backend: $AUDIO_TYPE])
204 AC_SUBST(AUDIO_CFLAGS)
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])
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
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])
231 AC_MSG_ERROR([Couldn't find GStreamer $GST_REQUIRED and gstreamer-pbutils $GST_PB_REQUIRED.])
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,
244 if test "$enable_vivi" = "yes"; then
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])
253 AC_MSG_ERROR([Vivified requirements not met. You need libming >= $MING_REQUIRED, glib >= $VIVI_GLIB_REQUIRED and Gtk+ >= $VIVI_GTK_REQUIRED.])
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}
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
297 swfdec/swfdec_version.h
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
312 test/various/Makefile
315 vivified/code/Makefile
316 vivified/code/test/Makefile
317 vivified/code/test/compiler/Makefile
318 vivified/code/test/decompiler/Makefile