2 dnl Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
4 dnl This program is free software; you can redistribute it and/or modify
5 dnl it under the terms of the GNU General Public License as published by
6 dnl the Free Software Foundation; either version 3 of the License, or
7 dnl (at your option) any later version.
9 dnl This program is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 dnl GNU General Public License for more details.
13 dnl You should have received a copy of the GNU General Public License
14 dnl along with this program; if not, write to the Free Software
15 dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 AC_INIT(gnash, 0.8.10dev)
20 AC_CONFIG_SRCDIR([libcore/as_object.h])
21 AC_CONFIG_HEADERS([gnashconfig.h])
22 AC_CONFIG_MACRO_DIR([macros])
27 dnl --------------------------------------------------------
28 dnl Figure out development tool stuff
29 dnl --------------------------------------------------------
37 dnl Set the default values for Flash Version. These are converted into
38 dnl various strings to make JavaScript or ActionScript detectors
39 dnl recognize Gnash as a SWF Player.
40 DEFAULT_FLASH_MAJOR_VERSION="10"
41 DEFAULT_FLASH_MINOR_VERSION="1"
42 DEFAULT_FLASH_REV_NUMBER="999"
43 AC_SUBST(DEFAULT_FLASH_MAJOR_VERSION)
44 AC_SUBST(DEFAULT_FLASH_MINOR_VERSION)
45 AC_SUBST(DEFAULT_FLASH_REV_NUMBER)
47 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_MAJOR_VERSION], ["${DEFAULT_FLASH_MAJOR_VERSION}"], [Default Flash major version])
48 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_MINOR_VERSION], ["${DEFAULT_FLASH_MINOR_VERSION}"], [Default Flash minor version])
49 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_REV_NUMBER], ["${DEFAULT_FLASH_REV_NUMBER}"], [Default Flash revision number])
51 dnl TODO: use host/build/target -- whatever is more appropriate
54 DEFAULT_FLASH_PLATFORM_ID="MAC"
55 DEFAULT_FLASH_SYSTEM_OS="MacOS"
58 DEFAULT_FLASH_PLATFORM_ID="BSD"
59 DEFAULT_FLASH_SYSTEM_OS="OpenBSD"
61 *-freebsd* | *-kfreebsd*)
62 DEFAULT_FLASH_PLATFORM_ID="BSD"
63 DEFAULT_FLASH_SYSTEM_OS="FreeBSD"
66 DEFAULT_FLASH_PLATFORM_ID="BSD"
67 DEFAULT_FLASH_SYSTEM_OS="NetBSD"
70 DEFAULT_FLASH_PLATFORM_ID="LNX"
71 DEFAULT_FLASH_SYSTEM_OS="GNU/Linux"
74 DEFAULT_FLASH_PLATFORM_ID="LNX"
75 DEFAULT_FLASH_SYSTEM_OS="Linux"
77 *-cygwin* | *-mingw* | *-pw32*)
78 DEFAULT_FLASH_PLATFORM_ID="WIN"
79 DEFAULT_FLASH_SYSTEM_OS="Windows"
82 DEFAULT_FLASH_PLATFORM_ID="SUN"
83 DEFAULT_FLASH_SYSTEM_OS="Solaris"
86 DEFAULT_FLASH_PLATFORM_ID="OS2"
87 DEFAULT_FLASH_SYSTEM_OS="OS/2"
90 DEFAULT_FLASH_PLATFORM_ID="SCO"
91 DEFAULT_FLASH_SYSTEM_OS="SCO/Unix"
94 DEFAULT_FLASH_PLATFORM_ID="IRX"
95 DEFAULT_FLASH_SYSTEM_OS="IRIX"
98 DEFAULT_FLASH_PLATFORM_ID="HPX"
99 DEFAULT_FLASH_SYSTEM_OS="HPUX"
102 DEFAULT_FLASH_PLATFORM_ID="OS4"
103 DEFAULT_FLASH_SYSTEM_OS="AmigaOS4"
106 DEFAULT_FLASH_PLATFORM_ID="HAIKU"
107 DEFAULT_FLASH_SYSTEM_OS="Haiku"
110 DEFAULT_FLASH_PLATFORM_ID="GNU"
111 DEFAULT_FLASH_SYSTEM_OS="GNU/HURD"
114 DEFAULT_FLASH_PLATFORM_ID="UNK"
115 DEFAULT_FLASH_SYSTEM_OS="Unknown"
119 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_PLATFORM_ID], ["${DEFAULT_FLASH_PLATFORM_ID}"], [Default 3-letter platform identifier for version string])
120 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_SYSTEM_OS], ["${DEFAULT_FLASH_SYSTEM_OS}"], [Default value for System.capabilities.os])
122 AC_SUBST(DEFAULT_FLASH_PLATFORM_ID)
123 AC_SUBST(DEFAULT_FLASH_SYSTEM_OS)
125 DEFAULT_STREAMS_TIMEOUT=60
126 AC_SUBST(DEFAULT_STREAMS_TIMEOUT)
127 AC_DEFINE_UNQUOTED([DEFAULT_STREAMS_TIMEOUT], [${DEFAULT_STREAMS_TIMEOUT}], [Default streams timeout in seconds])
129 DEFAULT_SOL_SAFEDIR="~/.gnash/SharedObjects"
130 AC_SUBST(DEFAULT_SOL_SAFEDIR)
131 AC_DEFINE_UNQUOTED([DEFAULT_SOL_SAFEDIR], ["${DEFAULT_SOL_SAFEDIR}"], [Default SharedObject base directory])
134 dnl Some things you can only do by looking at the platform name.
136 powerpc-apple-darwin*)
137 AC_DEFINE([__powerpc64__], [1], [this is a 64 bit powerpc])
139 AC_DEFINE([DARWIN_HOST], [1], [this is a Darwin platform])
143 AC_DEFINE([DARWIN_HOST], [1], [this is a Darwin platform])
145 dnl Unfortunately, all BSD distributions are not identical, so
146 dnl as tacky as it is to look for the distribution name, we don't
147 dnl have much choice. The use of these should be avoid as much as possible.
151 AC_DEFINE([OPENBSD_HOST], [1], [this is an OpenBSD platform])
153 *-freebsd* | *-kfreebsd*)
156 AC_DEFINE([FREEBSD_HOST], [1], [this is a FreeBSD platform])
161 AC_DEFINE([NETBSD_HOST], [1], [this is a NetBSD platform])
165 AC_DEFINE([SOLARIS_HOST], [1], [this is a Solaris platform])
169 AC_DEFINE([LINUX_HOST], [1], [this is a Linux platform])
171 *-cygwin* | *-mingw* | *-pw32*)
173 AC_DEFINE([WIN32_HOST], [1], [this is a Win32 platform])
177 AC_DEFINE([WORDSIZE], [64], [this is a 64 platform])
181 AC_DEFINE([AMIGAOS4_HOST], [1], [this is an AmigaOS4 platform])
185 AC_DEFINE([HAIKU_HOST], [1], [this is a Haiku platform])
189 AC_DEFINE([GNU_HOST], [1], [this is a GNU platform])
193 AC_DEFINE([WINCE_HOST], [1], [this is a WINCE platform])
197 AC_DEFINE([WINCE_HOST], [1], [this is a WINCE platform])
198 AC_DEFINE([WINCE6_HOST], [1], [this is a WINCE6 platform])
202 AC_DEFINE([ANDROID_HOST], [1], [this is an Android platform])
207 AM_CONDITIONAL(LINUX, test x$linux = xyes)
208 AM_CONDITIONAL(WIN32, test x$windows = xyes)
209 AM_CONDITIONAL(HAIKU, test x$haiku = xyes)
210 AM_CONDITIONAL(AMIGAOS4, test x$amigaos4 = xyes)
212 dnl Get build date for helping us debugging
213 BUILDDATE="`date +%Y%m%d`"
216 dnl These are required by automake
218 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
222 AM_GNU_GETTEXT([external])
223 AM_CONDITIONAL(HAS_GETTEXT, test x$ac_cv_path_XGETTEXT != x)
225 dnl Many of the Gnash macros depend on gettext macros defining shlibext; recent
226 dnl gettext however does not.
227 if test x"${shlibext}" = x; then
228 if test x"${acl_cv_shlibext}" = x; then
229 echo "Gettext macros were supposed to define shared library extensions"
232 shlibext="${acl_cv_shlibext}"
236 dnl This is primarily used when compiling for a similar architecture,
237 dnl like pentium->geode, which can use the same compiler, but have
238 dnl different development libraries.
241 AC_HELP_STRING([--with-sysroot],
242 [system root directory for cross compiling]),
243 with_top_level=${withval} ;
246 dnl Android is a little different when using a standard cross toolchain,
247 dnl so we have to configure especially for it for now. Usually it's
248 dnl something like this:
250 dnl arm-linux-eabi-gcc -Wl,--dynamic-linker -Wl,/system/bin/linker
251 dnl -nostdlib -Wl,-rpath -Wl,/system/lib -Wl,-rpath
252 dnl -Wl,/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
253 dnl -L/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
255 dnl /opt/android-ndk-r3/build/platforms/android-3/arch-arm/usr/lib/crtbegin_dynamic.o
256 dnl Recent versions of G++ (I'm using 4.5 from source
258 AC_ARG_WITH([android],
259 AC_HELP_STRING([--with-android], [directory where android NDK is installed]),
260 android_ndk=${withval}
261 if test x"${withval}" != x; then
262 android_ndk=${withval}
264 android_ndk=/opt/android-ndk-r3/build/platforms/android-5/arch-arm
268 if test x"${android_ndk}" != xno; then
269 CROSS_CXXFLAGS=-mandroid -fexceptions
270 if test x"${with_top_level}" = x; then
271 with_top_level=/usr/local/android-arm/sysroot/usr
274 ANDROID_NDK=${android_ndk}
275 AC_DEFINE(ANDROID, [1], [This is an Android build])
279 AC_SUBST(ANDROID_NDK)
280 AM_CONDITIONAL(ANDROID, [ test x"${android_ndk}" != xno ])
286 AC_PATH_PROG(DEJAGNU, runtest)
288 dnl These options are for Cygnal, which collects optional statistics
289 dnl on all the network traffic By default, we turn on statistics
290 dnl collecting for the incoming and outgoing queues, since those are
291 dnl required to be compatiable with FMS 3, and the ActionScript server
292 dnl management API. buffers are the lowest level data storage, this
293 dnl data is the time spent in the queue, and is primarily only used
294 dnl for tuning the queueing API in Gnash. Memoryis the same, it's only
295 dnl used by developers for tuning performance of memory allocations in
302 AC_ARG_WITH(statistics,
303 AC_HELP_STRING([--with-statistics=], [Specify which statistics features to enable]),
304 if test -n ${withval}; then
305 if test "x${withval}" != "xno"; then
307 withval=`echo ${withval} | tr '\054' ' ' `
315 while test -n "${withval}" ; do
316 val=`echo ${withval} | cut -d ' ' -f 1`
320 nstatistics=$((nstatistics+1))
324 nstatistics=$((nstatistics+1))
328 nstatistics=$((nstatistics+1))
332 nstatistics=$((nstatistics+1))
336 nstatistics=$((nstatistics+1))
344 nstatistics=5 dnl this must be incremented if you add anything
346 *) AC_MSG_ERROR([invalid statistics feature specified: ${withval} given (accept: buffers|que|memory|cache|proplookup|all)])
349 withval=`echo ${withval} | cut -d ' ' -f 2-6`
350 if test "x$val" = "x$withval"; then
355 if test x${buffers} = xyes; then
356 statistics_list="${statistics_list} buffers"
357 AC_DEFINE(USE_STATS_BUFFERS, [1], [Support statistics collecting for the queue buffers])
358 AC_MSG_WARN([This option will effect your performance])
361 if test x${memory} = xyes; then
362 statistics_list="${statistics_list} memory"
363 AC_DEFINE(USE_STATS_MEMORY, [1], [Support statistics collecting for all memory profiling])
364 AC_MSG_WARN([This option will effect your performance])
367 if test x${que} = xyes; then
368 statistics_list="${statistics_list} queues"
369 AC_DEFINE(USE_STATS_QUEUE, [1], [Support statistics collecting for the queues])
372 if test x${cache} = xyes; then
373 statistics_list="${statistics_list} cache"
374 AC_DEFINE(USE_STATS_CACHE, [1], [Support statistics collecting for the cache])
377 if test x${stat_proplookup} = xyes; then
378 statistics_list="${statistics_list} proplookup"
379 AC_DEFINE(GNASH_STATS_OBJECT_URI_NOCASE, [1], [Collecting and report stats about ObjectURI case lookups])
380 AC_DEFINE(GNASH_STATS_PROPERTY_LOOKUPS, [1], [Collecting and report stats about property lookups])
381 AC_DEFINE(GNASH_STATS_STRING_TABLE_NOCASE, [1], [Collecting and report stats about string_table::key case lookups])
384 dnl this is just so Makefile can print the same list
385 STATISTICS_LIST="$statistics_list"
386 AC_SUBST(STATISTICS_LIST)
389 # These settings are compile time options for the security
390 # setting for anything that lets gnash exchange data with
391 # other applications. Currently this only supports Shared
392 # Objects and Local Connections. Shared Objects are like
393 # your web browsers cookies, and Local Connections use
394 # shared memory to execute methods remotely, and to
397 # The default is to enable everything, and these can
398 # also be controlled dynamically by the $HOME/.gnashrc
404 AC_ARG_WITH(security,
405 AC_HELP_STRING([--with-security=], [Specify which security features to enable]),
406 if test -n ${withval}; then
407 if test "x${withval}" != "xno"; then
409 withval=`echo ${withval} | tr '\054' ' ' `
417 while test -n "${withval}" ; do
418 val=`echo ${withval} | cut -d ' ' -f 1`
422 nsecurity=$((nsecurity+1))
426 nsecurity=$((nsecurity+1))
433 *) AC_MSG_ERROR([invalid security feature specified: ${withval} given (accept: solreadonly|lc)])
436 withval=`echo ${withval} | cut -d ' ' -f 2-6`
437 if test "x$val" = "x$withval"; then
443 if test x$localconnection = xyes; then
444 security_list="${security_list} localconnection"
445 AC_DEFINE(USE_LC, [1],
446 [Support LocalConnection])
447 AC_MSG_NOTICE([This build supports LocalConnection])
449 if test x$solreadonly = xyes; then
450 security_list="${security_list} solreadonly"
451 AC_DEFINE(USE_SOL_READONLY, [1],
452 [Shared Objects are read-only])
453 AC_MSG_NOTICE([Shared Objects are read-only])
455 SECURITY_LIST="$security_list"
456 AC_SUBST(SECURITY_LIST)
458 dnl For Haiku, we know the sysroot is in a non-standard place
459 dnl it is important that -lagg comes before -lbe
460 if test x"${haiku}" = xyes; then
465 dnl Darwin uses libtool instead of ar to produce libraries. We determine which one
466 dnl we have here now. For some reason on Darwin, we don't get the
467 dnl count from grep via stdin correctly. Writing a temp file does the
468 dnl trick, so although it's ugly, that's what we gotta do...
469 AC_MSG_CHECKING([which type of library archiver we have])
472 archiver=`grep -c dynamic .tmp 2>&1`
474 dnl is there any good way to report what we found here?
476 if test x"${archiver}" != x && test "${archiver}" -eq 1; then
477 export MACOSX_DEPLOYMENT_TARGET="10.3"
483 dnl When cross compiling, limit the search directories cause otherwise
484 dnl we may get the host headers or libraries by accident. These values
485 dnl are exported, so all the other configure tests in macros/*.m4 use
486 dnl these same settings rather than duplicating them like we used to.
487 dnl To override thise, use the --with-*-incl= and --with-*-libs=
488 dnl options to configure.
489 if test x$cross_compiling = xyes; then
490 AC_MSG_NOTICE([Configuring Gnash for cross compilation])
491 export pkgroot="`$CXX -print-search-dirs | grep "install:" | sed -e 's/install: //' -e 's:/lib/gcc/.*::'`"
492 dnl pkgroot only works correctly with builds of cross tools not in
493 dnl /usr, ie... installed from the distribution packages, or just
494 dnl plain installed in the system tools. This contaminates configure
495 dnl when building for variations of the same basic architecture,
496 dnl like i686-linux -> i586-mingw32.
497 if test x"${pkgroot}" = x"/usr"; then
500 export incllist="`eval echo ${with_top_level}/include ${pkgroot}/${host_alias}/include ${pkgroot}/include`"
501 export libslist="`eval echo ${with_top_level}/lib ${pkgroot}/${host_alias}/lib ${pkgroot}/lib64 ${pkgroot}/lib32 ${pkgroot}/lib`"
502 export pathlist="`eval echo ${pkgroot}/${host_alias}/bin:${pkgroot}/bin`"
505 AC_MSG_NOTICE([Configuring Gnash for native compilation])
506 export incllist="`eval cat ${srcdir}/macros/incllist`"
507 libslist="`cat ${srcdir}/macros/libslist`"
508 if test -f /usr/bin/dpkg-architecture; then
509 export DEB_HOST_MULTIARCH="`eval dpkg-architecture -qDEB_HOST_MULTIARCH`"
510 export libslist="${libslist} /lib/${DEB_HOST_MULTIARCH} /usr/lib/${DEB_HOST_MULTIARCH}"
512 export pathlist=$PATH
515 if test x"${android_ndk}" != xno; then
516 incllist="${android_ndk}/include ${incllist}"
519 AM_CONDITIONAL(CROSS_COMPILING, [ test x$cross_compiling = xyes ])
521 for dir in ${incllist}; do
522 test -d ${dir} && pruned_incllist="${pruned_incllist} ${dir}";
525 for dir in ${libslist}; do
526 test -d ${dir} && pruned_libslist="${pruned_libslist} ${dir}";
529 libslist="${pruned_libslist}";
530 incllist="${pruned_incllist}";
532 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
534 dnl !! IMPORTANT NOTICE
536 dnl !! Any call to GNASH_PATH_XXX must be be given *after* this snippet.
537 dnl !! This is to ensure that PKG_CONFIG, cross_compiling and incllist are
538 dnl !! properly set at the time of call.
540 dnl !! Also GNASH_PKG_FIND has to be called later. Not sure
541 dnl !! why but calling before breaks detection of CPP (see
542 dnl !! gnash-dev mailing archives for June 12 2009
543 dnl !! http://lists.gnu.org/archive/html/gnash-dev/2009-06/index.html
546 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
548 dnl Check for PKG_CONFIG before any GNASH_PATH call
551 dnl --------------------------------------------------------
553 dnl --------------------------------------------------------
556 build_aos4=no dnl AmigaOS4 GUI
557 build_kde3=no dnl WARNING: doesn't work (see https://savannah.gnu.org/bugs/index.php?31782)
562 build_fb=no dnl Raw framebuffer
565 build_aqua=no dnl Native MacOSX
568 AC_HELP_STRING([--enable-gui=], [Enable support for the specified GUI toolkits (default=gtk,qt4)]),
569 [if test -n ${enableval}; then
570 enableval=`echo ${enableval} | tr '\054' ' ' `
572 while test -n "${enableval}" ; do
573 val=`echo ${enableval} | cut -d ' ' -f 1`
596 fltk|FLTK|fltk2|FLTK2)
613 dnl BSD doesn't have a framebuffer interface
614 if test x${linux} = xyes; then
617 if test x${openbsd} != xyes; then
623 *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: gtk|kde3|qt4|fltk|sdl|aqua|fb|qtopia3|qtopia4|dump|aos4|haiku)])
626 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
627 if test "x$val" = "x$enableval"; then
631 [ dnl Run the following code if no --enable-gui is given
634 if test x"${openbsd}" = xyes; then
637 else if test x"${haiku}" = xyes; then
648 if test x"${build_haiku}" = xyes; then
649 if test x"$haiku" != xyes; then
650 echo " ERROR: Can not build Haiku gui outside of Haiku
651 operating system." >&3
655 dnl We can use Xephyr or fbe to create a fake framebuffer instead of real
656 dnl video memory. This lets us test on a desktop machine.
658 AC_HELP_STRING([--with-fakefb],
659 [specify a file to be mapped instead of a real framebuffer]),
660 with_fakefb=${withval})
663 if test x"${with_fakefb}" = xyes; then
664 dnl This is the default file name fbe uses.
665 fakefb=/tmp/fbe_buffer
667 if test x"${with_fakefb}" != x; then
668 fakefb=${with_fakefb}
674 if test x"${fakefb}" != x; then
675 AC_DEFINE(ENABLE_FAKE_FRAMEBUFFER, [1], [Enable using a file instead of a real framebuffer])
678 dnl This enable a small handful of tests that aren't designed to be
679 dnl run as part of "make check", as they are either incomplete, or
680 dnl can only be run interactively. These are all primarily oriented
681 dnl towards code development and debugging, instead of regression
683 AC_ARG_ENABLE(devtests, AC_HELP_STRING([--enable-devtests],
684 [Developer only tests, not to be included in make check]),
685 [case "${enableval}" in
688 *) AC_MSG_ERROR([bad value ${enableval} for enable-devtests option]) ;;
690 AM_CONDITIONAL(ENABLE_DEVELOPER_TESTS, [test x${devtests} = xyes])
692 dnl --------------------------------------------------------
693 dnl Sound handler selection
694 dnl --------------------------------------------------------
701 AC_HELP_STRING([--enable-sound=[[sdl|ahi|mkit]]], [Use the specified sound handler (default=sdl)]),
702 [case "${enableval}" in
720 [if test x"${haiku}" = xyes; then
724 if test x${build_sound_none} = xno; then
731 dnl --------------------------------------------------------
732 dnl Media handler selection
733 dnl --------------------------------------------------------
735 build_media_ffmpeg=auto
738 AC_HELP_STRING([--enable-media=handler],
739 [Enable media handling support using the specified handler: gst, ffmpeg or none (no sound) [[gst]] ]),
741 if test -n ${enableval}; then
742 enableval=`echo ${enableval} | tr '\054' ' ' `
744 dnl When --enable-media is given, all media defaults to off
745 dnl except the explicitly enabled ones
746 build_media_ffmpeg=no
748 while test -n "${enableval}"; do
749 val=`echo ${enableval} | cut -d ' ' -f 1`
753 media_list="${media_list}gst "
756 build_media_ffmpeg=yes
757 media_list="${media_list}ffmpeg "
764 AC_MSG_ERROR([bad value ${enableval} for --enable-media option])
768 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
769 if test "x$val" = "x$enableval"; then
773 [if test x"${build_haiku}" = xyes; then
774 build_media_ffmpeg=yes
775 build_media_haiku=yes
776 media_list="ffmpeg haiku"
783 dnl If no render is selected, and media handling isn't disabled, them enable gst
784 if test x${build_media_none} = xno -a x${build_media_gst} = xno -a x${build_media_ffmpeg} = xno; then
788 if test x"$build_media_ffmpeg" != x"no"; then # yes or auto
790 if test x"${build_media_ffmpeg}" = xauto; then
791 dnl TODO: have GNASH_PATH_FFMPEG set ${has_ffmpeg}
792 if test x"$FFMPEG_LIBS" != x; then
793 build_media_ffmpeg=yes
794 media_list="${media_list} ffmpeg"
801 MEDIA_CONFIG="${media_list}"
802 AC_SUBST(MEDIA_CONFIG)
804 dnl Multiple input devices are supported. These can all work in
805 dnl varying combinations, so several may be listed. These are only
806 dnl required when using the Framebuffer, as without the X11 desktop,
807 dnl Gnash has to handle all these internally. This can get
808 dnl messy, as one might want to use a touchscreen with a normal mouse
809 dnl or keyboard attached.
810 dnl By default, don't build any of these, as they are only for the
811 dnl Framebuffer running without X11.
812 if test x"${build_fb}" = xyes -a x"${linux}" = xyes; then
814 build_ps2keyboard=yes
815 build_input_events=yes
817 input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"
821 build_input_events=no
826 AC_HELP_STRING([--enable-input], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
827 [if test -n ${enableval}; then
828 enableval=`echo ${enableval} | tr '\054' ' ' `
832 build_input_events=no
834 while test -n "${enableval}" ; do
835 val=`echo ${enableval} | cut -d ' ' -f 1`
837 ps2m*|PS2m*|m*|M*) dnl a PS/2 style mouse
839 input_events="${input_events}, PS/2 Mouse"
841 ps2k*|PS2K*|k*|K*) dnl a PS/2 style keyboard
842 build_ps2keyboard=yes
843 input_events="${input_events}, PS/2 Keyboard"
845 i*|I*|ev*|Ev*) dnl use the new Input Event, which supports both
846 input_events="${input_events}, Input Event Device"
847 build_input_events=yes
849 t*|T*) dnl use a touchscreen with tslib, which works like a mouse
851 input_events="${input_events}, Touchscreen"
855 build_ps2keyboard=yes
857 if test x"${linux}" = xyes; then
858 build_input_events=yes
859 input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"
861 build_input_events=no
862 input_events="PS/2 Mouse, PS/2 Keyboard, Touchscreen via Tslib"
865 *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
868 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
869 if test "x$val" = "x$enableval"; then
875 if test x$build_sdl != xno -o x$build_sound_sdl = xyes; then
878 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} = xyes])
881 dnl -----------------------------------------------------
882 dnl Check for SDL and decide about auto gui accordingly.
883 dnl Need be done after build_sound_sdl and build_sdl are
884 dnl initialized and before they are checked for yes/no
885 dnl -----------------------------------------------------
886 if test x"${build_sdl}" = xauto; then
887 if test xyes = x"${has_sdl}"; then
890 AC_MSG_NOTICE([sdl GUI will not be built (no sdl development files found)])
895 dnl -------------------------------
896 dnl Renderer Selection
897 dnl -------------------------------
899 dnl By default, we want to to build all renderers
900 dnl DirectFB has both a device layer and a rendering layer, although
901 dnl currently the rendering part is incomplete. Configure support is
902 dnl included for development purposes.
904 dnl The OpenVG support works on both the desktop and embedded devices
905 dnl that don't run X11. It is supported by iPhone/iPad/Android
906 dnl devices, and the nouveau driver on the desktop.
908 dnl The OpenGLES1 renderer is a work in progress. It is originally
909 dnl based on a patch to Gnash 0.8.5, which of course not only didn't
910 dnl compile anymore, it was all hardcoded into the framebuffer
911 dnl code. This version compiles with the latest internal rendering
912 dnl API, and works properly with the glue code for the Gnash GUIs.
914 dnl OpenGL works, but suffers from performance and rendering quality
915 dnl problems. This should eventually be replacd by the OpenGLES1 and
918 dnl AGG is a software only renderer
921 renderer_list="agg cairo"
922 AC_ARG_ENABLE(renderer,
923 AC_HELP_STRING([--enable-renderer], [Enable support for the specified renderers (agg|cairo|opengl|openvg|all, default=all)]),
924 if test -n ${enableval}; then
925 if test "x${enableval}" != "xno" -o "x${enableval}" != "xnone" ; then
927 enableval=`echo ${enableval} | tr '\054' ' ' `
940 while test -n "${enableval}" ; do
941 val=`echo ${enableval} | cut -d ' ' -f 1`
953 renderer_list="agg cairo opengl openvg, opengles1"
960 ogl|OGL|OpenGL|opengl)
961 renderer_list="${renderer_list} opengl"
964 gles|GLES|gles1|GLES1)
965 renderer_list="${renderer_list} opengles1"
968 nrender=$((nrender+1))
970 ovg|OVG|OpenVG|openvg)
971 renderer_list="${renderer_list} openvg"
973 nrender=$((nrender+1))
976 renderer_list="${renderer_list} DirectFB"
978 nrender=$((nrender+1))
981 renderer_list="${renderer_list} agg"
985 renderer_list="${renderer_list} cairo"
988 *) AC_MSG_ERROR([invalid renderer specified: ${enableval} given (accept: (opengl|openvg|cairo|agg|all)])
991 enableval=`echo ${enableval} | cut -d ' ' -f 2-`
992 if test "x$val" = "x$enableval"; then
998 if test x"${build_ovg}" = xyes; then
1000 dnl If OpenVG isn't installed, disable it
1001 if test x"${has_openvg}" = xno; then
1002 AC_MSG_WARN([OpenVG specified but no development files found!])
1003 renderer_list=`echo ${renderer_list} | sed -e 's/ openvg//' `
1004 nrender=$((nrender-1))
1008 dnl VA API is used by default for all H.264 videos. HW requirements:
1009 dnl * AMD GPUs with UVD2 and xvba-video VA driver
1010 dnl * NVIDIA GPUs with vdpau-video VA driver
1011 dnl * All HW with a VA driver supporting the VA/GLX extensions or
1012 dnl vaPutSurface(Pixmap,...). This may include the Intel
1013 dnl Moorestown platform and future G45 VA driver.
1014 dnl NOTE: it is possible to use Gnash/VAAPI on platforms with an Intel
1015 dnl GMA500 but you currently will have to build the AGG renderer
1016 dnl instead of the OGL (OpenGL) one.
1017 build_vaapi_device=no
1018 build_openmax_device=no
1019 if test x"${build_ovg}" = xyes; then
1020 build_egl_device=yes
1025 build_directfb_device=no
1026 if test x"${build_fb}" = xyes -o x"${build_fb}" = xauto; then
1029 dnl AGG support for the framebuffer requires the rawfb device
1030 if test x"${build_fb_agg}" = xyes -a x"${build_agg}" = xyes; then
1031 build_rawfb_device=yes
1035 build_rawfb_device=no
1039 AC_ARG_ENABLE(device,
1040 AC_HELP_STRING([--enable-device], [Specify which hardware abstraction to use to support to enable (none,egl,directfb,rawfb,x11,vaapi)]),
1041 enableval=`echo ${enableval} | tr '\054' ' ' `
1043 build_rawfb_device=no
1046 while test -n "${enableval}" ; do
1047 val=`echo ${enableval} | cut -d ' ' -f 1`
1051 build_vaapi_device=no
1052 build_openmax_device=no
1054 build_directfb_device=no
1059 device_list="${device_list} VAAPI"
1060 build_vaapi_device=yes
1061 ndevice=$((ndevice+1))
1064 device_list="${device_list} EGL"
1065 build_egl_device=yes
1066 ndevice=$((ndevice+1))
1069 device_list="${device_list} X11"
1070 build_x11_device=yes
1071 ndevice=$((ndevice+1))
1074 device_list="${device_list} DirectFB"
1075 build_directfb_device=yes
1076 ndevice=$((ndevice+1))
1079 device_list="${device_list} RawFB"
1080 build_rawfb_device=yes
1081 ndevice=$((ndevice+1))
1084 device_list="EGL DirectFB X11"
1085 build_openmax_device=no
1086 build_vaapi_device=no
1087 build_egl_device=yes
1088 build_rawfb_device=yes
1089 build_directfb_device=no
1090 build_x11_device=yes
1094 device_list="${device_list} OpenMAX"
1095 build_openmax_device=yes
1096 ndevice=$((ndevice+1))
1098 *) AC_MSG_ERROR([invalid device feature specified: ${enableval} given (accept: none,vaapi)])
1101 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1102 if test "x$val" = "x$enableval"; then
1108 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi_device}" = x"yes"; then
1112 dnl if the version of FFmpeg is recent enough, (r20957, 52.45.0), then
1113 dnl look for VAAPI support so we can use use the VAAPI enabled FFmpeg.
1114 if test x"${have_ffmpeg_vaapi}" = xyes; then
1116 GNASH_PKG_FIND([libva],
1118 [Video Acceleration API],
1122 GNASH_PKG_FIND([libva_x11],
1124 [VA API (X11 display)],
1129 if test x$build_ogl = xyes; then
1131 GNASH_PKG_FIND([libva_glx],
1133 [VA API (GLX display)],
1141 dnl libVA drivers. We declare conditional for both the option being
1142 dnl selected, as well as whether or not it's found. This we can
1143 dnl generate better error handling if it's not found.
1144 AM_CONDITIONAL(USE_VAAPI, test x"${use_libva}" = xyes)
1146 dnl Until the hwaccel patches in FFmpeg wind up in the ffmpeg-plugin,
1147 dnl restrict using HW Accel to using FFmpeg directly.
1148 dnl test xyes = xyes -a ( x != xyes -o x != xyes )
1149 if test x"${build_vaapi}" = x"yes" -a x"${have_ffmpeg}" != x"yes"; then
1150 AC_MSG_ERROR(["Hardware acceleration currently not supported unless using FFmpeg."])
1153 AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = xyes)
1154 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
1155 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
1157 if test x"${build_egl_device}" = xyes; then
1158 GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
1159 if test xyes = x"${has_EGL}"; then
1160 AC_DEFINE(BUILD_EGL_DEVICE, [ 1 ],
1161 [Build the EGL device for OpenVG, OpenGLES1&2, and X11/Mesa])
1162 device_list="${device_list} EGL"
1163 ndevice=$((ndevice+1))
1165 AC_MSG_WARN(["EGL requested but development package not found!"])
1170 if test ${ndevice} -eq 0; then
1175 AM_CONDITIONAL(BUILD_DEVICES, test ${ndevice} -gt 0)
1177 dnl 16 bit: RGB555, RGB565
1178 dnl 24 bit: RGB24, BGR24
1179 dnl 32 bit: RGBA32, BGRA32
1181 AC_ARG_WITH(pixelformat,
1182 AC_HELP_STRING([--with-pixelformat=], [Use the specified pixel format for AGG (default=all)]),
1183 [if test -n ${withval}; then
1184 pixelformat="${withval}"
1185 withval=`echo ${withval} | tr '\054' ' ' `
1187 while test -n "${withval}" ; do
1188 val=`echo ${withval} | cut -d ' ' -f 1`
1191 # allow special value "all" set by user (handled below)
1194 AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32])
1197 AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32])
1200 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1203 AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24])
1206 AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32])
1209 AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24])
1212 AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555])
1215 AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565])
1217 *) AC_MSG_ERROR([invalid pixel format ${withval} given (accept: all|RGB555|RGB565|RGB24|BGR24|BGRA32|RGBA32|ARGB32|ABGR32)])
1220 withval=`echo ${withval} | cut -d ' ' -f 2-6`
1221 if test "x$val" = "x$withval"; then
1225 [if test x$build_haiku = xyes -a x$build_sdl != xyes; then
1226 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1231 if test x$pixelformat = xall; then
1232 if test x$build_agg = xyes; then
1233 ### The fact that we're building GTK doesn't mean we're not also
1234 ### building KDE or SDL, each needing its own pixel format !
1235 #if test x$build_gtk = xyes; then
1236 # AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1237 # pixelformat="RGB24"
1239 AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555 pixel format])
1240 AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565 pixel format])
1241 AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1242 AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24 pixel format])
1243 AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32 pixel format])
1244 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32 pixel format])
1245 AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32 pixel format])
1246 AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32 pixel format])
1251 if test x"${build_ogl}" != xno; then # yes or auto
1253 if test x"${build_ogl}" = xauto; then
1254 if test xyes = x"${has_opengl}"; then
1256 renderer_list="${renderer_list} opengl"
1263 AM_CONDITIONAL(BUILD_OVG_RENDERER, [ test x${build_ovg} = xyes ])
1264 AM_CONDITIONAL(BUILD_GLES1_RENDERER, [ test x${build_gles1} = xyes ])
1265 AM_CONDITIONAL(BUILD_GLES2_RENDERER, [ test x${build_gles2} = xyes ])
1266 AM_CONDITIONAL(BUILD_OGL_RENDERER, [ test x${build_ogl} = xyes])
1267 AM_CONDITIONAL(BUILD_AGG_RENDERER, [ test x${build_agg} = xyes ])
1268 AM_CONDITIONAL(BUILD_CAIRO_RENDERER, [ test x${build_cairo} = xyes ])
1270 if test x"${has_openvg}" = xyes; then
1271 AC_DEFINE([RENDERER_OPENVG], [1], [Use OpenVG renderer])
1274 if test x"${build_ogl}" = xyes; then
1275 AC_DEFINE([RENDERER_OPENGL], [1], [Use OpenGL renderer])
1278 if test x"${build_agg}" = xyes; then
1279 AC_DEFINE([RENDERER_AGG], [1], [Use AntiGrain renderer])
1282 if test x"${build_cairo}" = xyes; then
1283 GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1284 AC_DEFINE([RENDERER_CAIRO], [1], [Use cairo renderer])
1287 if test x"${build_agg}" = xyes; then
1291 AC_PATH_PROG(PERL, perl)
1292 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
1294 AC_PATH_PROG(CSOUND, csound)
1295 AM_CONDITIONAL(HAVE_CSOUND, test x"$CSOUND" != x)
1297 AC_PATH_PROG(GIT, git)
1300 dnl --------------------------------------------------------
1301 dnl Extension selection
1302 dnl --------------------------------------------------------
1311 extensions_support=yes
1313 AC_ARG_ENABLE(extensions,
1314 AC_HELP_STRING([--enable-extensions=], [Specify which extensions to build (default: none)])
1315 AC_HELP_STRING([--disable-extensions], [Disable support for extensions entirely]),
1316 if test -n ${enableval}; then
1317 if test "x${enableval}" != "xno"; then
1318 extlist="${enableval}"
1319 enableval=`echo ${enableval} | tr '\054' ' ' `
1320 AC_DEFINE([USE_EXTENSIONS], [1], [Specify that extension support is enabled.])
1324 extensions_support=no
1328 while test -n "${enableval}" ; do
1329 val=`echo ${enableval} | cut -d ' ' -f 1`
1330 extensions_list="${extensions_list} ${val}"
1332 dejagnu|DEJAGNU|dj|DJ)
1333 AC_DEFINE(USE_DEJAGNU_EXT, [1], [Build the DejaGnu extension])
1334 AC_MSG_NOTICE([Adding DejaGnu extension])
1336 nextensions=$((nextensions+1))
1338 mysql|MYSQL|sql|SQL)
1339 AC_DEFINE(USE_MYSQL_EXT, [1], [Build the MySQL extension])
1340 AC_MSG_NOTICE([Adding MySql extension])
1342 nextensions=$((nextensions+1))
1344 fileio|FILEIO|io|IO)
1345 AC_DEFINE(USE_FILEIO_EXT, [1], [Build the FileIO extension])
1346 AC_MSG_NOTICE([Adding FileIO extension])
1348 nextensions=$((nextensions+1))
1351 AC_DEFINE(USE_GTK_EXT, [1], [Build the GTK extension])
1353 nextensions=$((nextensions+1))
1356 AC_DEFINE(USE_LIRC_EXT, [1], [Build the LIRC extension])
1358 nextensions=$((nextensions+1))
1361 AC_DEFINE(USE_DBUS_EXT, [1], [Build the DBUS extension])
1363 nextensions=$((nextensions+1))
1366 AC_DEFINE(USE_GTK_EXT, [1], [Build all the extensions])
1376 *) AC_MSG_ERROR([invalid extension specified: ${enableval} given (accept: MYSQL|DEJAGNU|FILEIO|GTK|LIRC|DBUS|METOME|ALL)])
1379 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1380 if test "x$val" = "x$enableval"; then
1384 EXTENSIONS_LIST="$extensions_list"
1385 AC_SUBST(EXTENSIONS_LIST)
1388 if test x$ext_dbus = xyes; then
1392 if test x$ext_mysql = xyes; then
1396 AM_CONDITIONAL(BUILD_DEJAGNU_EXT, [ test x$ext_dejagnu = xyes ])
1397 AM_CONDITIONAL(BUILD_FILEIO_EXT, [ test x$ext_fileio = xyes ])
1398 AM_CONDITIONAL(BUILD_MYSQL_EXT, [ test x$ext_mysql = xyes ])
1399 AM_CONDITIONAL(BUILD_GTK_EXT, [ test x$ext_gtk = xyes ])
1400 AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes ])
1401 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
1402 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
1404 AM_CONDITIONAL(ENABLE_EXTENSIONS, [ test "x${extensions_support}" != "xno" ])
1406 dnl --------------------------------------------------------
1408 dnl --------------------------------------------------------
1411 AC_LIBTOOL_WIN32_DLL
1414 AC_SUBST(LIBTOOL_DEPS)
1416 DLPREOPEN="-dlpreopen"
1420 GNASH_PKG_FIND([ltdl], [ltdl.h], [libltdl library], [lt_dlinit])
1422 if test x"$has_ltdl" = x"yes";then
1423 AC_DEFINE(HAVE_LTDL, [1], [Libtool 2.x defines this, but libtool 1.5 does not])
1426 dnl --------------------------------------------------------
1428 dnl --------------------------------------------------------
1431 AC_HELP_STRING([--with-soldir],
1432 [directory for .sol files]),
1433 with_soldir=${withval})
1434 if test x${with_soldir} != x; then
1435 soldir=${with_soldir}
1440 dnl --------------------------------------------------------
1442 dnl --------------------------------------------------------
1443 dnl AC_ARG_ENABLE(avm2,
1444 dnl AC_HELP_STRING([--enable-avm2], [Enable support for AS3]),
1445 dnl [case "${enableval}" in
1446 dnl yes) avm2=yes ;;
1448 dnl *) AC_MSG_ERROR([bad value ${enableval} for enable-avm2 option]) ;;
1451 dnl AM_CONDITIONAL(ENABLE_AVM2, [test x"$avm2" = xyes])
1452 dnl if test x$avm2 = xyes; then
1453 dnl AC_DEFINE(ENABLE_AVM2, [1], [Enable AVM2 code])
1455 AM_CONDITIONAL(ENABLE_AVM2, false)
1457 dnl This option is only used if you want Gnash to interwork with
1458 dnl the Adobe player using the LocalConnection class.
1459 dnl lckey=0xdd3adabd
1461 AC_HELP_STRING([--with-lckey],
1462 [shared memory key for your system]),
1463 with_lckey=${withval})
1465 if test x${with_lckey} != x; then
1473 AC_ARG_ENABLE(python,
1474 AC_HELP_STRING([--enable-python],[Enable python for the python wrapper]),
1475 [case "${enableval}" in
1478 *) AC_MSG_ERROR([bad value ${enableval} for --enable-python option]) ;;
1481 dnl Look for python, which is optional. If enabled, a python loadable
1482 dnl module of Gnash is created.
1484 AM_CONDITIONAL([USE_PYTHON], test x"$python" = xyes)
1485 AM_CONDITIONAL([HAS_PYTHON], test x"$has_python" = xyes)
1487 dnl By default debug logging is enabled. For better performance, it can
1488 dnl be disabled, as when running as a plugin, nobody sees the debug messages
1489 dnl anyway. Debug logging is primarily for developers, so we can turn it off
1490 dnl for package builds.
1492 AC_HELP_STRING([--enable-log],[Enable debug logging]),
1493 [case "${enableval}" in
1494 yes) debuglog=yes ;;
1496 *) AC_MSG_ERROR([bad value ${enableval} for --enable-log option]) ;;
1499 if test x"${debuglog}" = x"yes"; then
1500 AC_DEFINE([DEBUG_LOGGING], [1], [Enable debug logging])
1503 # Maybe use jemalloc, which handles memory fragmentation for
1504 # ECAMscript languages better than the regular system malloc.
1505 # This seems like a good idea, as both the other player and
1506 # Mozilla/Firefox both recently switched to using jemalloc.
1507 AC_ARG_ENABLE(jemalloc,
1508 AC_HELP_STRING([--enable-jemalloc],[Enable jemalloc instead of system malloc]),
1509 [case "${enableval}" in
1510 yes) jemalloc=yes ;;
1512 *) AC_MSG_ERROR([bad value ${enableval} for --enable-jemalloc option]) ;;
1515 AC_CHECK_SIZEOF([void *], [4])
1517 if test "x${ac_cv_sizeof_void_p}" != x4 -a x"${ac_cv_sizeof_void_p}" != x8; then
1518 dnl jemalloc doesn't support unusual pointer sizes
1522 dnl There is some weird stuff going on with NetBSD and jemalloc, so don't
1523 dnl build it for now.
1524 if test x"${netbsd}" = x"yes" -o x"${windows}" = x"yes" -o x"${freebsd}" = x"yes" -o x"${haiku}" = x"yes" -o x"${gnu}" = x"yes"; then
1527 dnl If the compiler doesn't have local thread storage enabled, don't try to
1529 if test x"${jemalloc}" = x"yes"; then
1530 AC_TRY_COMPILE([], [
1531 extern __thread int global_i; ],
1532 has_local_thread_storage=yes
1534 if test x"${has_local_thread_storage}" = x"yes"; then
1535 AC_DEFINE([HAVE_LOCAL_THREAD_STORAGE], [1], [Has __thread (local thread storage) support])
1536 AC_DEFINE([USE_JEMALLOC], [], [Use jemalloc instead of system malloc])
1542 dnl We can search libs for mallinfo to decide whether we have it or not.
1543 dnl This is added to the linker flags when it's found. Usually it's -lc, but
1544 dnl on OpenSolaris it's -lmalloc, so this fixes the build.
1545 AC_SEARCH_LIBS([mallinfo], [c malloc],
1546 AC_DEFINE(HAVE_MALLINFO, [1], [Has mallinfo()])
1550 AM_CONDITIONAL([HAVE_MALLINFO], test x$mallinfo = xyes)
1551 AM_CONDITIONAL(JEMALLOC, test x$jemalloc = xyes)
1553 AC_ARG_ENABLE(fps-debug,
1554 AC_HELP_STRING([--enable-fps-debug],[Enable FPS debugging code]),
1555 [case "${enableval}" in
1556 yes) AC_DEFINE([GNASH_FPS_DEBUG], [1], [Enable FPS debugging code])
1559 dnl IPC_INFO isn't portable, and doesn't exist on BSD
1560 AC_TRY_COMPILE([#include <sys/ipc.h> #include <sys/shm.h>], [
1561 int flag = IPC_INFO; ],
1562 AC_DEFINE([HAVE_IPC_INFO], [1], [Use ipc_info])
1565 dnl --------------------------------------------------------
1567 dnl --------------------------------------------------------
1568 dnl Don't add the GUI menu. Some educational systems think this adds
1569 dnl clutter and confusion, like on the OLPC.
1570 AC_ARG_ENABLE(menus,
1571 AC_HELP_STRING([--disable-menus],[Disable the GUI menus]),
1572 [case "${enableval}" in
1575 *) AC_MSG_ERROR([bad value ${enableval} for --disable-menus option]) ;;
1578 if test x"$menus" = x"yes"; then
1579 AC_DEFINE([USE_MENUS], [], [GUI Menu support])
1581 AM_CONDITIONAL(MENUS, test x$menus = xyes)
1583 dnl --------------------------------------------------------
1584 dnl Disable SWF information
1585 dnl --------------------------------------------------------
1586 dnl Don't gather SWF information in tree form. This takes
1587 dnl resources and memory that can be saved if there's no
1588 dnl need to examine SWF internals.
1589 AC_ARG_ENABLE(swftree,
1590 AC_HELP_STRING([--disable-swftree],[Disable showing SWF properties]),
1591 [case "${enableval}" in
1594 *) AC_MSG_ERROR([bad value ${enableval} for --disable-swf-properties option]) ;;
1597 if test x"$swftree" = x"yes"; then
1598 AC_DEFINE([USE_SWFTREE], [], [View SWF information])
1600 AM_CONDITIONAL(SWFTREE, test x$swftree = xyes)
1602 dnl --------------------------------------------------------
1603 dnl Disable testsuite
1604 dnl --------------------------------------------------------
1605 dnl Disable running any tests for "make check". This may sound stupid, but
1606 dnl this option is designed to solely be used by maintainers in the
1607 dnl DISTCHECK_CONFIGURE_FLAGS when building packages. Gnash's testing infrastructure
1608 dnl is complex, and often the the testsuites will work, but due to some obscure reason,
1609 dnl make distcheck fails.
1610 AC_ARG_ENABLE(testsuite,
1611 AC_HELP_STRING([--disable-testsuite],[Disable the testsuite, maintainers option only]),
1612 [case "${enableval}" in
1613 yes) testsuite=yes ;;
1615 *) AC_MSG_ERROR([bad value ${enableval} for --disable-testsuite option]) ;;
1616 esac],testsuite=yes)
1618 if test x"$testsuite" = x"yes"; then
1619 AC_DEFINE([USE_TESTSUITE], [], [Testsuite support, maintainers option only])
1621 AM_CONDITIONAL(TESTSUITE, test x$testsuite = xyes)
1623 dnl --------------------------------------------------------
1624 dnl Write the file to disk in the plugin
1625 dnl --------------------------------------------------------
1626 AC_ARG_ENABLE(write,
1627 AC_HELP_STRING([--enable-write], [Makes the Mozilla plugin write the currently playing SWF movie to /tmp.]),
1628 [case "${enableval}" in
1631 *) AC_MSG_ERROR([bad value ${enableval} for --enable-write option]) ;;
1634 if test x"$write" = x"yes"; then
1635 AC_DEFINE([WRITE_FILE], [], [Write files while streaming])
1638 dnl --------------------------------------------------------
1639 dnl Write a standalone gnash launcher to disk from the plugin
1640 dnl --------------------------------------------------------
1641 AC_ARG_ENABLE(sa-launcher,
1642 AC_HELP_STRING([--disable-sa-launcher], [Drops support for the NPAPI plugin writing of standalone executable launcher scripts for the currently playing SWF movie to /tmp.]),
1643 [case "${enableval}" in
1644 yes) sa_launcher=yes ;;
1645 no) sa_launcher=no ;;
1646 *) AC_MSG_ERROR([bad value ${enableval} for --enable-sa-launcher option]) ;;
1647 esac],sa_launcher=yes)
1649 if test x"$sa_launcher" = x"yes"; then
1650 AC_DEFINE([CREATE_STANDALONE_GNASH_LAUNCHER], [], [Add support for writing a standalone executable launcher for movies embedded in web pages])
1653 dnl --------------------------------------------------------
1654 dnl Build the cygnal server if specified.
1655 dnl --------------------------------------------------------
1656 AC_ARG_ENABLE(cygnal,
1657 AC_HELP_STRING([--enable-cygnal], [Enable building of the Cygnal server]),
1658 [case "${enableval}" in
1661 *) AC_MSG_ERROR([bad value ${enableval} for enable-cygnal option]) ;;
1663 AM_CONDITIONAL(CYGNAL, test x$cygnal = xyes)
1665 dnl --------------------------------------------------------
1666 dnl Build the cgibins server if specified.
1667 dnl --------------------------------------------------------
1668 AC_ARG_ENABLE(cgibins,
1669 AC_HELP_STRING([--enable-cgibins], [Enable building of the CGIs for Cygnal]),
1670 [case "${enableval}" in
1673 *) AC_MSG_ERROR([bad value ${enableval} for enable-cgibins option]) ;;
1675 AM_CONDITIONAL(USE_CGI, test x$cgibin = xyes)
1676 if test x"${cgibin}" = x"yes"; then
1677 AC_DEFINE([USE_CGIBIN], [1], [Enable cgi-bin processes for Cygnal])
1680 dnl --------------------------------------------------------
1682 dnl --------------------------------------------------------
1683 dnl Add an option for double buffering when rendering, currently only used by
1684 dnl the frmaebuffer GUI.
1685 dnl If defined, an internal software-buffer is used for rendering and is then
1686 dnl copied to the video RAM. This avoids flicker and is faster for complex
1687 dnl graphics, as video RAM access is usually slower. (strongly suggested)
1688 AC_ARG_ENABLE(doublebuf,
1689 AC_HELP_STRING([--disable-doublebuf], [Disble support for double buffering when rendering with AGG]),
1690 [case "${enableval}" in
1691 yes) doublebuf=yes ;;
1693 *) AC_MSG_ERROR([bad value ${enableval} for enable-doublebuf option]) ;;
1694 esac], doublebuf=yes
1696 AM_CONDITIONAL(ENABLE_DBUF, [test x"$doublebuf" = xyes])
1697 if test x$doublebuf = xyes; then
1698 AC_DEFINE(ENABLE_DOUBLE_BUFFERING, [1], [Disable double buffering for AGG])
1701 dnl --------------------------------------------------------
1702 dnl Offscreen buffer
1703 dnl --------------------------------------------------------
1704 dnl This enables rendering to an offscreen buffer, instead of directly to window
1705 AC_ARG_ENABLE(offscreen,
1706 AC_HELP_STRING([--enable-offscreen], [Enable support for rendering offscreen]),
1707 [case "${enableval}" in
1708 yes) offscreen=yes ;;
1710 *) AC_MSG_ERROR([bad value ${enableval} for enable-offscreen option]) ;;
1715 dnl --------------------------------------------------------
1716 dnl SSH support selection
1717 dnl --------------------------------------------------------
1718 dnl Enable using libssh with libnet
1720 AC_HELP_STRING([--enable-ssh], [Enable using SSH for network authentication]),
1721 [case "${enableval}" in
1722 yes) build_ssh=yes ;;
1724 *) AC_MSG_ERROR([bad value ${enableval} for --enable-ssh option]) ;;
1725 esac], build_ssh=no)
1727 AM_CONDITIONAL(BUILD_SSH, test x"${build_ssh}" = xyes)
1728 if test x"${build_ssh}" = xyes; then
1729 GNASH_PKG_FIND(ssh, [libssh/libssh.h], [libssh library], ssh_socket_init)
1730 dnl GNASH_PKG_FIND(poppler, [popt.h], [Poppler library], poppler_init)
1732 if test x"${has_ssh}" = x"yes"; then
1733 AC_DEFINE([USE_SSH], [1], [Use SSH for authentication])
1736 dnl --------------------------------------------------------
1737 dnl SSL support selection
1738 dnl --------------------------------------------------------
1740 dnl Enable using OpenSSL with libnet.
1742 AC_HELP_STRING([--enable-ssl], [Enable using OpenSSL directly]),
1743 [case "${enableval}" in
1744 yes) build_ssl=yes ;;
1746 *) AC_MSG_ERROR([bad value ${enableval} for --enable-ssl option]) ;;
1747 esac], build_ssl=no)
1751 AM_CONDITIONAL(BUILD_SSL, test x"${build_ssl}" = xyes)
1753 AC_HELP_STRING([--with-cert],
1754 [cert file for SSL]),
1755 with_cert=${withval})
1757 AC_HELP_STRING([--with-pe],
1758 [pem file for SSL]),
1759 with_pem=${withval})
1761 if test x"${build_ssl}" = xyes; then
1762 GNASH_PKG_FIND(ssl, [openssl/ssl.h], [OpenSSL library], SSL_library_init)
1764 if test x"${has_ssl}" = x"yes"; then
1765 AC_DEFINE([USE_SSL], [1], [Use SSL for authentication])
1768 dnl -----------------------------------------------------------
1769 dnl Set the general plugins install policy here
1770 dnl (NOTE: before GNASH_PATH_FIREFOX and GNASH_PATH_KDE*)
1771 dnl -----------------------------------------------------------
1773 AC_ARG_WITH(plugins-install,
1774 AC_HELP_STRING([--with-plugins-install=system|user|prefix], [Policy for plugins install. Default: user.]),
1775 [case "${withval}" in
1776 user) PLUGINS_INSTALL_POLICY=user ;;
1777 system) PLUGINS_INSTALL_POLICY=system ;;
1778 prefix) PLUGINS_INSTALL_POLICY=prefix ;;
1779 *) AC_MSG_ERROR([bad value ${withval} for --with-plugins-install]) ;;
1781 ], PLUGINS_INSTALL_POLICY=user)
1783 dnl -----------------------------------------------------------
1784 dnl Verify dependencies for requested GUIs are met, and
1785 dnl disable build of the GUIS for which deps are NOT met
1786 dnl ------------------------------------------------------------
1788 if test x$build_gtk = xyes; then
1791 GNASH_PKG_FIND(atk, [atk/atk.h], [atk library], atk_focus_tracker_init, [1.0])
1792 if test x"${build_ogl}" = xyes; then
1795 if test x"${build_cairo}" = xyes; then
1796 GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1800 if test x"${build_qt4}" != xno; then
1804 if test x"${build_qt4}" = xauto; then
1805 if test x"${has_qt4}" = xyes; then
1812 if test x"${build_kde3}" != xno -o x"${build_qtopia3}" != xno; then
1816 if test x"${build_kde3}" != xno; then
1821 if test x"${build_kde3}" = xauto; then
1822 if test x"${has_qt3}" = xyes -a x"${has_kde3}" = xyes; then
1829 dnl Check possibility to build DUMP gui, if requested
1830 if test x"${build_dump}" != xno; then
1831 if test x"${build_agg}" = xyes; then
1834 if test x"${build_dump}" = xyes; then
1835 dnl SHOULD we just check at the end of file instead ?
1836 AC_MSG_ERROR(dump GUI cannot be built without AGG renderer);
1842 dnl Check possibility to build FB gui, if requested
1843 dnl FB dependency is a linux system (linux/fb.h)
1844 if test x"${build_fb}" != xno; then
1845 if test x"${linux}" = xyes; then
1848 if test x"${build_fb}" = xyes; then
1849 dnl SHOULD we just check at the end of file instead ?
1850 AC_MSG_ERROR(fb GUI cannot be built on non-linux platforms);
1852 AC_MSG_NOTICE([fb GUI won't be built (non-linux platform)])
1857 dnl TODO: add checks for all other GUIs
1859 dnl -------------------------------
1860 dnl Input Device selection
1861 dnl -------------------------------
1863 dnl Multiple input devices are supported. These can all work in
1864 dnl varying combinations, so several may be listed. These are only
1865 dnl required when using the Framebuffer, as without the X11 desktop,
1866 dnl Gnash has to handle all these internally. This can get
1867 dnl messy, as one might want to use a touchscreen with a normal mouse
1868 dnl or keyboard attached.
1869 dnl By default, don't build any of these, as they are only for the Framebuffer
1870 dnl running without X11.
1871 if test x"${build_fb}" = xyes; then
1873 build_ps2keyboard=yes
1874 build_input_events=yes
1876 input_events="Input Devices, Touchscreen via Tslib"
1879 build_ps2keyboard=no
1880 build_input_events=no
1884 AC_ARG_ENABLE(input,
1885 AC_HELP_STRING([--enable-input=], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
1886 [if test -n ${enableval}; then
1887 enableval=`echo ${enableval} | tr '\054' ' ' `
1889 while test -n "${enableval}" ; do
1890 val=`echo ${enableval} | cut -d ' ' -f 1`
1892 ps2m*|PS2m*|m*|M*) dnl a PS/2 style mouse
1894 input_events="${input_events}, PS/2 Mouse"
1896 ps2k*|PS2K*|k*|K*) dnl a PS/2 style keyboard
1897 build_ps2keyboard=yes
1898 input_events="${input_events}, PS/2 Keyboard"
1900 i*|I*|ev*|Ev*) dnl use the new Input Event, which supports both
1901 input_events="${input_events}, Input Event Device"
1902 build_input_events=yes
1904 t*|T*) dnl use a touchscreen with tslib, which works like a mouse
1906 input_events="${input_events}, Touchscreen"
1908 *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
1911 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1912 if test "x$val" = "x$enableval"; then
1918 if test x"${build_tslib}" = xyes; then
1919 AC_DEFINE(USE_TSLIB, [1], [Use a tslib supported touchscreen])
1920 GNASH_PKG_FIND(ts, [tslib.h], [Touchscreen library], ts_config)
1922 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} != xno])
1924 if test x"${build_ps2mouse}" = xyes; then
1925 AC_DEFINE(USE_MOUSE_PS2, [1], [Add support for a directly using a PS/2 Mouse])
1927 AM_CONDITIONAL(ENABLE_MOUSE, [test x"${build_ps2mouse}" = xyes])
1929 if test x"${build_ps2keyboard}" = xyes; then
1930 AC_DEFINE(USE_KEYBOARD_PS2, [1], [Add support for directly using a PS/2 Keyboard])
1932 if test x"${build_input_events}" = xyes; then
1933 AC_DEFINE(USE_INPUT_EVENTS, [1], [Add support for a directly using Linux Input Event Devices])
1935 AM_CONDITIONAL(ENABLE_INPUT_EVENTS, [test x"${build_input_events}" = xyes])
1936 dnl this is enabled if we have any input devices at all
1937 AM_CONDITIONAL(ENABLE_INPUT_DEVICES, [test x"${input_events}" != x])
1940 dnl -----------------------------------------------------------
1941 dnl Try to ignore stupid dependencies
1942 dnl -----------------------------------------------------------
1944 AC_MSG_CHECKING(linker --as-needed support)
1945 gcc_cv_ld_as_needed=no
1946 # Check if linker supports --as-needed and --no-as-needed options
1947 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1948 gcc_cv_ld_as_needed=yes
1950 if test x"$gcc_cv_ld_as_needed" = xyes; then
1951 LDFLAGS="$LDFLAGS -Wl,--as-needed"
1953 AC_MSG_RESULT($gcc_cv_ld_as_needed)
1955 AC_DEFINE(USE_GIF, [1], [Use the GIF library])
1956 AC_DEFINE(USE_PNG, [1], [Use the PNG library])
1957 AM_CONDITIONAL(USE_GIF, true)
1958 AM_CONDITIONAL(USE_PNG, true)
1960 AC_PATH_TOOL([AUTOTRACE], [autotrace])
1963 dnl -----------------------------------------------------------------
1964 dnl PLUGIN RELATED STUFF
1965 dnl -----------------------------------------------------------------
1967 dnl !! This has been moved here to make --enable-npapi work
1968 dnl !! All of plugin-related macro calls could be moved into
1969 dnl !! a specialized macros/plugin.m4
1971 dnl ----------------------------------------------------
1972 dnl Add KPARTS support, if specified or KDE gui is built
1973 dnl ----------------------------------------------------
1975 AC_ARG_ENABLE(kparts3,
1976 AC_HELP_STRING([--disable-kparts3], [Disable support for Konqueror 3.x plugin (default: enabled if kde3 gui is)]),
1977 [case "${enableval}" in
1978 yes) build_kparts3=yes ;;
1979 no) build_kparts3=no ;;
1980 *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
1981 esac],build_kparts3=$build_kde3)
1983 dnl --------------------------------------------------------
1984 dnl Add KPARTS 4.x support, if specified or KDE gui is built
1985 dnl --------------------------------------------------------
1987 AC_ARG_ENABLE(kparts4,
1988 AC_HELP_STRING([--disable-kparts4], [Disable support for Konqueror 4.x plugin (default: enabled if Qt4 gui is)]),
1989 [case "${enableval}" in
1990 yes) build_kparts4=yes ;;
1991 no) build_kparts4=no ;;
1992 *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
1993 esac],build_kparts4=$build_qt4)
1995 if test x"${build_kparts4}" != xno; then
1999 dnl -----------------------------------------------------------
2000 dnl Add NPAPI support, if specified or GTK or Qt4 gui is built
2001 dnl -----------------------------------------------------------
2003 AC_ARG_ENABLE(npapi,
2004 AC_HELP_STRING([--disable-npapi], [Disable NPAPI plugin build (default: enabled if gtk or Qt4 gui is)]),
2005 [case "${enableval}" in
2008 *) AC_MSG_ERROR([bad value ${enableval} for disable-npapi option]) ;;
2010 if test x$build_gtk = xyes -o x$build_qt4 = xyes; then
2015 if test x"$npapi" = x"yes"; then
2019 dnl -----------------------------------------------------------------
2020 dnl Enable us to disable building all browser plugins in one command.
2021 dnl -----------------------------------------------------------------
2023 AC_ARG_ENABLE(plugins,
2024 AC_HELP_STRING([--disable-plugins], [Disable all browser plugins from building (default=no)]),
2025 [case "${enableval}" in
2028 *) AC_MSG_ERROR([bad value ${enableval} for disable-plugins option]) ;;
2032 if test x$plugins = xno; then
2042 dnl New versions of the NPAPI require const for this prototype, which currently
2043 dnl seems to only be wit Ubuntu Oneiric.
2044 AC_MSG_CHECKING([for const needed for NPP_GetMIMEDescription() prototype])
2045 npapi_flags="`echo "${NPAPI_CFLAGS}" | sed -e 's/-I//' -e 's/-DXP_UNIX//' | tr -d ' '`/npapi.h"
2046 const_test="`grep NPP_GetMIMEDescription ${npapi_flags} | grep -c const`"
2047 if test ${const_test} -eq 1; then
2048 AC_DEFINE(NPAPI_CONST, [1], [Newer versions use const in prototypes])
2049 AC_MSG_RESULT([yes])
2054 AC_TRY_COMPILE([#include <linux/input.h>], [
2055 struct input_absinfo abs;
2056 abs.resolution = 0;; ],
2057 AC_DEFINE([ABSINFO_RESOLUTION], [1], [ABS Resolution field])
2060 dnl -----------------------------------------------------------------
2061 dnl END OF PLUGIN RELATED STUFF
2062 dnl -----------------------------------------------------------------
2064 AM_CONDITIONAL(LIRC, [test x$lirc_ext = xyes])
2066 AC_CHECK_HEADERS(getopt.h)
2067 AC_CHECK_HEADERS(libgen.h)
2068 AC_CHECK_HEADERS(pwd.h)
2069 AC_CHECK_HEADERS(sys/utsname.h)
2070 AC_CHECK_HEADERS(signal.h)
2071 AC_CHECK_HEADERS(unistd.h)
2072 AC_CHECK_HEADERS(sys/time.h)
2073 AC_CHECK_LIB(bz2, BZ2_bzopen, [AC_SUBST(BZ2_LIBS, -lbz2)])
2074 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
2076 dnl X11 is needed for fltk (at least),
2077 dnl and probably for many other guis too ...
2078 dnl if ! test x$build_fb = xyes; then # <--- this is wrong as build_x is non-exclusive
2080 dnl AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
2081 dnl AC_CHECK_LIB(gmp, _gmp_get_memory_functions)
2083 AC_CHECK_LIB(Xi, XInput_find_display)
2084 AC_CHECK_LIB(X11, XDisableAccessControl)
2086 AM_CONDITIONAL(HAVE_X11, [test x${has_x11} = xyes])
2087 if test x${build_x11_device} = xyes -a x${has_x11} = xyes; then
2088 AC_DEFINE(BUILD_X11_DEVICE, [1], [Build the X11 device])
2091 dnl See if ipc_perm structure has the ipc_perm.key field, and if so,
2092 dnl which variant of the name is used.
2095 #include <sys/ipc.h>
2096 #include <sys/shm.h>], [
2097 struct shmid_ds shmseg;
2098 key_t x = shmseg.shm_perm.key;],
2100 AC_DEFINE(IPC_PERM_KEY, [key], [Has the key field in ipc_perm])
2103 if test x$ipc_key = xno; then
2105 #include <sys/ipc.h>
2106 #include <sys/shm.h>], [
2107 struct shmid_ds shmseg;
2108 key_t x = shmseg.shm_perm.__key;],
2109 AC_DEFINE(IPC_PERM_KEY, [__key], [Has the key field in ipc_perm])
2114 AC_CACHE_CHECK([for finite], ac_cv_finite,
2117 #ifdef HAVE_IEEEFP_H
2120 [double x; int y; y = finite(x);],
2124 if test x"$ac_cv_finite" = x"yes"; then
2125 AC_SEARCH_LIBS(finite, m,
2126 [AC_DEFINE(HAVE_FINITE, [1], [Has finite])]
2131 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
2132 [AC_TRY_COMPILE([#include <cmath>],
2133 [using namespace std; double x; int y; y = isfinite(x);],
2138 if test x"$ac_cv_isfinite" = x"yes"; then
2139 dnl Don't give up if isfinite is not found in -lm
2140 dnl isfinite is defined as a macro in C99.
2141 AC_SEARCH_LIBS(isfinite, m)
2142 AC_DEFINE(HAVE_ISFINITE, [1], [Has isfinite])
2146 AC_CACHE_CHECK([whether $CXX implements __PRETTY_FUNCTION__], ac_cv_implements___PRETTY_FUNCTION__, [
2147 AC_TRY_LINK([#include <cstdio>
2149 [ std::printf("%s", __PRETTY_FUNCTION__); ],
2150 [ ac_cv_implements___PRETTY_FUNCTION__="yes" ],
2151 [ ac_cv_implements___PRETTY_FUNCTION__="no" ]
2154 if test "x$ac_cv_implements___PRETTY_FUNCTION__" = "xyes" ; then
2155 AC_DEFINE(HAVE_PRETTY_FUNCTION, [1], [__PRETTY_FUNCTION__ is defined])
2158 AC_CACHE_CHECK([whether $CXX implements __FUNCTION__], ac_cv_implements___FUNCTION__, [
2159 AC_TRY_LINK([#include <cstdio>
2161 [ std::printf("%s", __FUNCTION__); ],
2162 [ ac_cv_implements___FUNCTION__="yes" ],
2163 [ ac_cv_implements___FUNCTION__="no" ]
2166 if test "x$ac_cv_implements___FUNCTION__" = "xyes" ; then
2167 AC_DEFINE(HAVE_FUNCTION, [1], [__FUNCTION__ is defined])
2170 AC_CACHE_CHECK([whether $CXX implements __func__], ac_cv_implements___func__, [
2171 AC_TRY_LINK([#include <cstdio>
2173 [ std::printf("%s", __func__); ],
2174 [ ac_cv_implements___func__="yes" ],
2175 [ ac_cv_implements___func__="no" ]
2178 if test "x$ac_cv_implements___func__" = "xyes" ; then
2179 AC_DEFINE(HAVE_func, [1], [__func__ is defined])
2182 AC_REPLACE_FUNCS(getopt)
2184 dnl Date portability stuff, used in server/asobj/Date.cpp
2185 AC_CHECK_FUNCS(gettimeofday)
2186 AC_CHECK_FUNCS(ftime)
2187 AC_CHECK_FUNCS(tzset)
2188 AC_CHECK_FUNCS(localtime_r)
2190 AC_CACHE_CHECK([whether struct tm has tm_gmtoff], ac_cv_tm_gmtoff, [
2192 /* ctime(1) says "The glibc version of struct tm has additional fields
2193 * defined when _BSD_SOURCE was set before including <time.h>"
2194 * In practice, you do not need to define it yourself (tested on glibc-2.2.1
2195 * and 2.3.6) but if you *do* define it yourself, it makes *all* functions
2196 * favour BSD-like behaviour over of GNU/POSIX, which seems dangerous.
2198 // #define _BSD_SOURCE 1
2201 [ struct tm tm; long l = tm.tm_gmtoff; ],
2202 [ ac_cv_tm_gmtoff="yes" ],
2203 [ ac_cv_tm_gmtoff="no" ]
2206 if test "x$ac_cv_tm_gmtoff" = "xyes" ; then
2207 AC_DEFINE(HAVE_TM_GMTOFF, [1], [struct tm has member tm_gmtoff])
2210 AC_CACHE_CHECK([whether timezone is a long], ac_cv_long_timezone, [
2212 /* On Linux/glibc, tzset(3) says "extern long timezone;" (seconds West of GMT)
2213 * but on BSD char *timezone(int,int) is a function returning a string name.
2214 * The BSD function timegm() may be the equivalent, but this should
2215 * not be necessary because on BSD the code should use tm.tm_gmtoff instead
2216 * (use of long timezone is a fallback strategy for when tm_gmtoff exists not).
2220 extern long timezone;
2222 [ printf("%ld", timezone); ],
2223 [ ac_cv_long_timezone="yes" ],
2224 [ ac_cv_long_timezone="no" ]
2227 if test "x$ac_cv_long_timezone" = "xyes" ; then
2228 AC_DEFINE(HAVE_LONG_TIMEZONE, [1], [extern timezone is a long integer, not a function])
2231 AC_CHECK_FUNCS(sysconf)
2232 AC_CHECK_FUNCS(shmget shmat shmdt mmap)
2233 AC_CHECK_FUNCS(scandir) dnl supported by BSD and Linux, but you never know...
2234 AC_CHECK_LIB(rt, clock_gettime)
2235 AC_CHECK_FUNC(clock_gettime, AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Has clock_gettime()] ))
2236 dnl Look for Win32 networking stuff
2237 AC_CHECK_HEADERS(winsock.h)
2238 AC_CHECK_HEADERS(winsock2.h)
2240 GNASH_PKG_FIND(nspr, [nspr.h], [Netscape Portable Runtime (NSPR)], PR_Init)
2242 AC_PATH_TOOL(WINDRES, [windres])
2245 GNASH_PKG_FIND(z, [zlib.h], [zlib compression library], compress)
2246 GNASH_PKG_FIND(jpeg, [jpeglib.h], [jpeg images], jpeg_mem_init)
2247 GNASH_PKG_FIND(png, [png.h], [png images], png_info_init)
2248 GNASH_PKG_FIND(gif, [gif_lib.h], [gif images], DGifOpen)
2249 if test x"${GIF_LIBS}" = x ; then
2250 GNASH_PKG_FIND(ungif, [gif_lib.h], [gif images], DGifOpen)
2251 GIF_LIBS=${UNGIF_LIBS}
2252 GIF_CFLAGS=${UNGIF_CFLAGS}
2254 if test x"$testsuite" = x"yes"; then
2255 GNASH_PKG_INCLUDES([dejagnu], [dejagnu.h])
2258 GNASH_PKG_FIND(speex, [speex.h], [speex audio codec], speex_decode_int)
2259 AM_CONDITIONAL(HAVE_SPEEX, [ test x$has_speex = xyes ])
2260 if test x$has_speex = xyes ; then
2261 AC_DEFINE([DECODING_SPEEX], [1], [Speex codec available])
2264 GNASH_PKG_FIND(speexdsp, [speex_resampler.h], [speex DSP utilities], speex_resampler_process_int)
2265 if test x$has_speexdsp = xyes ; then
2266 AC_DEFINE([RESAMPLING_SPEEX], [1], [Speex resampler available])
2269 dnl Find freetype and fontconfig
2270 GNASH_PATH_FREETYPE2
2271 GNASH_PKG_FIND(fontconfig, [fontconfig/fontconfig.h], [fontconfig library], FcFontMatch)
2273 if test x$cross_compiling = xno; then
2277 if test x"$MING_VERSION_CODE" = x; then
2278 MING_VERSION_CODE=00000000
2281 AM_CONDITIONAL(ENABLE_MING,
2282 [ test x"$MAKESWF" != x -a $MING_VERSION_CODE -gt 00040000 ])
2284 AM_CONDITIONAL(MING_VERSION_0_4,
2285 [ test $MING_VERSION_CODE -ge 00040000 ])
2286 AM_CONDITIONAL(MAKESWF_SUPPORTS_PREBUILT_CLIPS,
2287 [ test $MING_VERSION_CODE -ge 00040002 ])
2288 AM_CONDITIONAL(MING_SUPPORTS_INIT_ACTIONS,
2289 [ test $MING_VERSION_CODE -ge 00040004 ])
2290 AM_CONDITIONAL(MING_SUPPORTS_REPLACE_TAG,
2291 [ test $MING_VERSION_CODE -ge 00040005 ])
2292 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_ADD_CHARACTER,
2293 [ test $MING_VERSION_CODE -ge 00040005 ])
2294 AM_CONDITIONAL(MING_SUPPORTS_STREAMING_SOUND,
2295 [ test $MING_VERSION_CODE -ge 00040006 ])
2296 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_SET_DEPTH,
2297 [ test $MING_VERSION_CODE -ge 00040006 ])
2298 AM_CONDITIONAL(MING_VERSION_0_4_3,
2299 [ test $MING_VERSION_CODE -ge 00040300 ])
2300 AM_CONDITIONAL(MING_VERSION_0_4_4,
2301 [ test $MING_VERSION_CODE -ge 00040400 ])
2303 if test x$cross_compiling = xno; then
2304 AC_ARG_WITH([swfdec_testsuite],
2305 AC_HELP_STRING([--with-swfdec-testsuite],
2306 [directory where swfdec testsuite (the 'test' dir) is]),
2307 if test x"${withval}" = xyes; then
2309 dir=`cd ${dir} && pwd`
2310 withval="${dir}/testsuite/swfdec/src/test"
2312 SWFDEC_TESTSUITE=${withval}
2314 AC_SUBST(SWFDEC_TESTSUITE)
2316 AM_CONDITIONAL(ENABLE_SWFDEC_TESTSUITE, [ test x"$SWFDEC_TESTSUITE" != x ])
2318 if test x$cross_compiling = xno; then
2319 AC_ARG_ENABLE([http_testsuite],
2320 dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2321 AC_HELP_STRING([--enable-http-testsuite=<baseurl>],
2322 [Enable http based testsuite (default url is http://www.gnashdev.org/testcases)]),
2323 [case "${enableval}" in
2324 no) HTTP_TESTSUITE="" ;;
2325 yes) HTTP_TESTSUITE="http://www.gnashdev.org/testcases" ;;
2326 *) HTTP_TESTSUITE="${enableval}";;
2328 AC_SUBST(HTTP_TESTSUITE)
2330 AM_CONDITIONAL(ENABLE_HTTP_TESTSUITE, [ test x"$HTTP_TESTSUITE" != x ])
2332 if test x$cross_compiling = xno; then
2333 AC_ARG_ENABLE([red5_testing],
2334 dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2335 AC_HELP_STRING([--enable-red5-testing=<host>],
2336 [Enable red5 based testing (default host is www.gnashdev.org)]),
2337 [case "${enableval}" in
2339 yes) RED5_HOST="www.gnashdev.org" ;;
2340 *) RED5_HOST="${enableval}";;
2344 AM_CONDITIONAL(ENABLE_RED5_TESTING, [ test x"$RED5_HOST" != x ])
2346 if test x$cross_compiling = xno; then
2347 AC_ARG_ENABLE([rtmpy_testing],
2348 dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2349 AC_HELP_STRING([--enable-rtmpy-testing=<host>],
2350 [Enable rtmpy based testing (default host is www.gnashdev.org)]),
2351 [case "${enableval}" in
2352 no) RTMPY_HOST="" ;;
2353 yes) RTMPY_HOST="www.gnashdev.org" ;;
2354 *) RTMPY_HOST="${enableval}";;
2356 AC_SUBST(RTMPY_HOST)
2358 AM_CONDITIONAL(ENABLE_RTMPY_TESTING, [ test x"$RTMPY_HOST" != x ])
2360 dnl The name might differ between systems.
2361 if test x"$testsuite" = x"yes"; then
2362 AC_PATH_PROGS(NETCAT, [nc netcat])
2363 AC_PATH_PROG(WGET, wget)
2365 AM_CONDITIONAL(HAS_NETCAT, [ test x"$NETCAT" != x ])
2366 AM_CONDITIONAL(HAS_WGET, [ test x"$WGET" != x ])
2369 dnl See if we can use the swfmill, mtasc, swfc and haxe based testsuites
2371 if test x"$testsuite" = x"yes" -a x$cross_compiling = xno; then
2372 AC_PATH_PROG(AS3COMPILE, as3compile)
2373 AC_PATH_PROG(SWFC, swfc)
2379 AM_CONDITIONAL(ENABLE_SWFMILL, [ test x"$SWFMILL" != x ])
2380 AM_CONDITIONAL(SWFMILL_AS3_SUPPORT,
2381 [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2383 dnl SWFMILL versions older than 0.3 didn't get function2 flags order correctly
2384 AM_CONDITIONAL(SWFMILL_FUNCTION2_FLAGS_ORDER_CORRECT,
2385 [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2387 AM_CONDITIONAL(ENABLE_AS3COMPILE, [ test x"$AS3COMPILE" != x ])
2388 AM_CONDITIONAL(ENABLE_MTASC, [ test x"$MTASC" != x ])
2389 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2390 AM_CONDITIONAL(ENABLE_SWFC, [ test x"$SWFC" != x ])
2391 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2393 AC_PATH_PROG(DOXYGEN, doxygen)
2394 AM_CONDITIONAL(ENABLE_DOXYGEN, [ test x"$DOXYGEN" != x ])
2396 AM_CONDITIONAL(HAVE_KDE3, [test x$has_kde3 = xyes])
2397 AM_CONDITIONAL(HAVE_KDE4, [test x$has_kde4 = xyes])
2398 AM_CONDITIONAL(HAVE_QT3, [test x$has_qt3 = xyes])
2399 AM_CONDITIONAL(HAVE_QT4, [test x$has_qt4 = xyes])
2401 AM_CONDITIONAL([QT_X11], [test "$platform" = "X11"])
2402 AM_CONDITIONAL([QTOPIA], [test "$platform" = "Qtopia"])
2403 AM_CONDITIONAL([QT_OSX], [test "$platform" = "OSX"])
2404 AM_CONDITIONAL([QT_OS9], [test "$platform" = "OS9"])
2405 AM_CONDITIONAL([QT_WIN32], [test "$platform" = "Win32"])
2407 dnl Need GLIB for both GTK and GST
2408 if test x"${build_gtk}" = xyes -o x"${build_media_gst}" = xyes; then
2412 AM_CONDITIONAL(HAVE_GLIB, [ test x"${has_glib}" = xyes ])
2414 if test x$npapi = xyes; then
2415 if ! test x$build_gtk = xyes -o x$build_qt4 = xyes; then
2416 AC_MSG_WARN(["Enabled NPAPI plugin, but it's not supported by the selected GUI"])
2420 if test x$windows = xyes -a x$npapi = xyes; then
2421 if test "x$NSPR_CFLAGS" = x -a "x$NSPR_LIBS" = x; then
2422 AC_MSG_ERROR(["On Win32, NPAPI plugin requires NSPR."])
2424 if test "x$WINDRES" = x; then
2425 AC_MSG_ERROR(["On Win32, NPAPI plugin requires windres."])
2429 dnl Need GLIB for NPAPI plugin
2430 if test x$npapi = xyes; then
2434 dnl if kde isn't installed, even if it's specified, don't try to build
2435 dnl the KPARTS plugin, which is KDE based.
2436 if test x$has_kde3 = xno -a x$build_kparts3 = xyes; then
2438 AC_MSG_WARN(["Disabling KPARTS 3.x plugin, no KDE development found"])
2441 if test x$build_kde3 = xno -a x$build_kparts3 = xyes; then
2442 AC_MSG_WARN(["Enabled KPARTS 3.x plugin, but you aren't building a KDE based GUI!"])
2444 if test x$has_kde4 = xno -a x$build_kparts4 = xyes; then
2446 AC_MSG_WARN(["Disabling KPARTS 4.x plugin, no KDE 4.x development found"])
2449 if test x$build_qt4 = xno -a x$kparts4 = xyes; then
2450 AC_MSG_WARN(["Enabled KPARTS 4.x plugin, but you aren't building a KDE 4.x based GUI!"])
2453 AM_CONDITIONAL(BUILD_QTOPIA3_GUI, [ test x$build_qtopia3 = xyes ])
2454 AM_CONDITIONAL(BUILD_QTOPIA4_GUI, [ test x$build_qtopia4 = xyes ])
2456 AM_CONDITIONAL(BUILD_KDE3_GUI, [ test x$build_kde3 = xyes ])
2457 AM_CONDITIONAL(BUILD_QT4_GUI, [ test x$build_qt4 = xyes ])
2459 AM_CONDITIONAL(BUILD_GTK_GUI, [ test x$build_gtk = xyes ])
2460 AM_CONDITIONAL(BUILD_FLTK_GUI, [ test x$build_fltk = xyes ])
2461 AM_CONDITIONAL(BUILD_SDL_GUI, [ test x$build_sdl = xyes ])
2462 AM_CONDITIONAL(BUILD_FB_GUI, [ test x$build_fb = xyes ])
2463 AM_CONDITIONAL(BUILD_AQUA_GUI, [ test x$build_aqua = xyes ])
2464 AM_CONDITIONAL(BUILD_DUMP_GUI, [ test x$build_dump = xyes ])
2465 AM_CONDITIONAL(BUILD_AMIGAOS4_GUI, [ test x$build_aos4 = xyes ])
2466 AM_CONDITIONAL(BUILD_HAIKU_GUI, [ test x$build_haiku = xyes ])
2468 # plugin building flags
2469 AM_CONDITIONAL(NPAPI, [test x"${npapi}" = xyes])
2470 AM_CONDITIONAL(KPARTS3, [test x"${build_kparts3}" = xyes])
2471 AM_CONDITIONAL(KPARTS4, [test x"${build_kparts4}" = xyes])
2473 if test x"${build_gles1}"; then
2477 dnl only Linux supports /dev/fb0
2478 if test x"${build_rawfb_device}" = xyes -a x"${linux}" = xyes; then
2479 AC_DEFINE([BUILD_RAWFB_DEVICE], [1], [Use raw Framebuffer device support])
2482 if test x"${build_directfb_device}" = xyes; then
2483 GNASH_PKG_FIND(directfb, [directfb.h], [DirectFB render library], DirectFBCreate)
2484 AC_DEFINE([BUILD_DIRECTFB_DEVICE], [1], [Use DirectFB device support])
2487 AM_CONDITIONAL(BUILD_VAAPI_DEVICE, [test x"${use_libva}" = xyes])
2488 AM_CONDITIONAL(BUILD_EGL_DEVICE, [test x"${build_egl_device}" = xyes])
2489 AM_CONDITIONAL(BUILD_DIRECTFB_DEVICE, [ test x${build_directfb_device} = xyes])
2490 AM_CONDITIONAL(BUILD_RAWFB_DEVICE, [ test x${build_rawfb_device} = xyes])
2491 AM_CONDITIONAL(BUILD_X11_DEVICE, [test x${build_x11_device} = xyes])
2493 if test x"${build_gtk}" = xyes; then
2494 AC_ARG_ENABLE(ghelp,
2495 AC_HELP_STRING([--enable-ghelp], [Enable support for the GNOME help system]),
2496 [case "${enableval}" in
2499 *) AC_MSG_ERROR([bad value ${enableval} for enable-ghelp option]) ;;
2503 if test x"${ghelp}" = x"yes" ; then
2504 AC_PATH_PROG(SCROLLKEEPER, scrollkeeper-config, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2505 AC_PATH_PROG(SCROLLUPDATE, scrollkeeper-update, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2506 AC_PATH_PROG(SCROLLINSTALL, scrollkeeper-preinstall, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2508 if test x"$SCROLLKEEPER" = x -o x"$SCROLLUPDATE" = x -o x"$SCROLLINSTALL" = x ; then
2510 AC_MSG_WARN([You need to install scrollkeeper for gnome help])
2514 AM_CONDITIONAL(GHELP, [test x${ghelp} = xyes])
2516 if test x${build_fltk} = xyes; then
2517 GNASH_PKG_FIND(Xft, [Xft.h], [xft library], XftGlyphRender)
2520 dnl Some systems have a pervered set of dependencies.
2521 dnl Fedora Core 6 appears to have a dependency on expat for fontconfig.
2522 dnl We only need the library, but this is the easy wind to find it.
2523 GNASH_PKG_FIND(expat, [expat.h], [Expat library], XML_ErrorString)
2525 dnl these conditionals were moved out of kde.m4
2526 AM_CONDITIONAL(HAS_KDE3, [test x$has_kde3 = xyes])
2527 # used to disable x11-specific stuff on special platforms
2528 AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
2529 AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
2530 AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2532 AM_CONDITIONAL(HAVE_GLEXT, [test x$glext = xyes])
2534 dnl We don't have GTKGLExt, so default to SDL, and don't build the Firefox plugin
2535 if test x$glext = xno -a x$build_ogl = xyes; then
2536 if test x$gtk2 = xyes -a x$build_gtk = xyes; then
2537 AC_ERROR([You have GTK installed, but not GtkGLExt. You need GtkGLExt to use the OpenGL renderer. Attempting to build SDL version])
2541 AC_MSG_WARN([GTK2 specified for the GUI, but GtkGlExt is not present. Trying SDL instead.])
2545 if test x"$build_media_gst" = "xyes"; then
2546 AC_PATH_PROG(GST_INSPECT, gst-inspect, ,[${pathlist}])
2547 if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2548 AC_PATH_PROG(GST_INSPECT, gst-inspect-0.10, ,[${pathlist}])
2550 if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2551 dnl FIXME: there may be multiple acceptable plugins that are acceptable for
2552 dnl our use. For example, mad or FFmpeg will play mp3.
2553 codecs="ffdec_flv ffdec_flashsv ffdec_vp6f ffdec_flashsv mad vorbisdec ffdec_vp6"
2554 for i in $codecs; do
2555 hits="`$GST_INSPECT $i | grep -c 'Long name'`"
2556 if test $hits -eq 0; then
2557 missing_codecs="$missing_codecs $i"
2558 AC_MSG_WARN([Missing codec: $i])
2562 GNASH_PKG_FIND(gstreamer_plugins_base, [gst/interfaces/probeprobe.h], [gstreamer interfaces library], gst_property_probe_probe_and_get_values_name, [0.10])
2563 GNASH_PKG_FIND(gstreamer_app, [gst/app/gstappsink.h], [gstreamer app library], call_gmon_start, [0.10])
2564 GNASH_PKG_FIND(gstreamer, [gst/gst.h], [gstreamer library], gst_init, [0.10])
2565 dnl if cross compiling, we're usually not going to be able to pop up
2566 dnl the codec installer to download the package to install, so disable
2567 dnl it if cross compiling with gstreamer support.
2568 if test x$cross_compiling = xno; then
2569 GNASH_PKG_FIND(gstreamer_pbutils, [gst/pbutils/install-plugins.h], [gstreamer PB Utils library], gst_install_plugins_supported, [0.10])
2571 dnl when cross compiling Gstreamer, not all supplied SDKs include all the
2572 dnl development libraries since most devices don't need to support plugin
2573 dnl development, only the runtime. In these caes we often have the header
2574 dnl files but not the libraries.
2575 if test x"${has_gstreamer_plugins_base}" = xyes; then
2576 GSTREAMER_LIBS="-lgstinterfaces-0.10 $GSTREAMER_LIBS"
2577 AC_DEFINE(HAS_GSTREAMER_PLUGINS_BASE, [1], [Has the Gstreamer Plugin Dev package installed])
2581 AM_CONDITIONAL(HAVE_CAIRO, [true])
2582 AM_CONDITIONAL(HAVE_OPENGL, [true])
2584 AM_CONDITIONAL(USE_SOUND_SDL, test x$build_sound_sdl = xyes)
2585 AM_CONDITIONAL(USE_SOUND_AHI, test x$build_sound_ahi = xyes)
2586 AM_CONDITIONAL(USE_SOUND_MKIT, test x$build_sound_mkit = xyes)
2587 AM_CONDITIONAL(USE_FFMPEG_ENGINE, test x"${build_media_ffmpeg}" = x"yes")
2588 AM_CONDITIONAL(USE_GST_ENGINE, test x"${build_media_gst}" = x"yes")
2589 AM_CONDITIONAL(HAVE_OPENGL, test x"${OPENGL_LIBS}" != x)
2590 dnl for now the Haiku media handler is experimental
2591 AM_CONDITIONAL(USE_HAIKU_ENGINE, test x"$build_media_haiku" = xyes)
2593 if test x"${build_media_ffmpeg}" = x"yes"; then
2594 AC_DEFINE([ENABLE_FFMPEG_MEDIA], [1], [Use FFmpeg for media decoding])
2597 if test x"${build_media_gst}" = x"yes"; then
2598 AC_DEFINE([ENABLE_GST_MEDIA], [1], [Use gstreamer for media decoding])
2601 if test x"${build_media_haiku}" = x"yes"; then
2602 AC_DEFINE([ENABLE_HAIKU_MEDIA], [1], [Use haiku for media decoding])
2605 if test x$build_sound_mkit = xyes; then
2606 if test x"${haiku}" != xyes; then
2607 AC_MSG_ERROR([Media Kit sound handling is supported only under Haiku]);
2609 AC_DEFINE([SOUND_MKIT], [1], [Use Haiku Media Kit for sound handling])
2613 if test x"${build_sound_sdl}" = xyes; then
2614 AC_DEFINE([SOUND_SDL], [1], [Use SDL for sound handling])
2617 if test x"${build_sound_ahi}" = xyes; then
2618 if test x"$amigaos4" != xyes; then
2619 AC_MSG_ERROR([AHI sound handling is supported only under AmigaOS]);
2621 AC_DEFINE([SOUND_AHI], [1], [Use AmigaOS AHI for sound handling])
2625 if test x$build_fltk = xyes; then
2626 GNASH_PKG_FIND(fltk2, [fltk/FL_API.h], [Fast Light Toolkit], fl_window_flush)
2627 if test x"${has_fltk2}" = xyes; then
2628 AC_CHECK_LIB(Xi, XInput_find_display,
2629 [AC_SUBST(FLTK2_LIBS, "$FLTK2_LIBS -lXi")])
2633 AM_CONDITIONAL(HAVE_FLTK2, [ test x$has_fltk2 = xyes ])
2634 AM_CONDITIONAL(HAS_XFT, [ test x$has_xft = xyes ])
2637 AM_CONDITIONAL(ENABLE_INFO, test x${INSTALL_INFO} != x)
2638 AM_CONDITIONAL(DOCBOOK, test x$docbook = xyes)
2639 AM_CONDITIONAL(ENABLE_TEXI, [ test x"$DB2X_TEXI" != x -o x"$DB2X_TEXIXML" != x ])
2640 AM_CONDITIONAL(ENABLE_PDF, [ test x"$DB2X_PDF" ])
2641 AM_CONDITIONAL(ENABLE_HTML, [ test x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2642 AM_CONDITIONAL(ENABLE_FOP, [ test x"$FOP" != x -a x"$docbook_styles" != x ])
2643 AM_CONDITIONAL(ENABLE_XMLTEX, [ test x"$PDFXMLTEX" != x -a x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2644 AM_CONDITIONAL(ENABLE_MAN, [ test x"$DB2X_MAN" != x -o x"$DB2X_MANXML" != x ])
2645 AM_CONDITIONAL(HAVE_AGG, [test x"${AGG_LIBS}" != x])
2649 dnl Define winsock if we're on windows. We could do something complicated,
2650 dnl but since AC_EXEEXT does it for us, we'll do this the easy way.
2651 if test x"$EXEEXT" = "exe"; then
2652 AC_DEFINE(HAVE_WINSOCK,1,[This is defined is we are on Win32])
2655 dnl ****************************************
2656 dnl *** Check for ELF visibility support ***
2657 dnl ****************************************
2659 AC_ARG_ENABLE([visibility],
2660 AC_HELP_STRING([--enable-visibility], [Use ELF visibility attributes]), [], [enable_visibility=no])
2662 if test x"$enable_visibility" != x"no"; then
2663 dnl Check whether the compiler supports the visibility attribute
2664 save_CFLAGS="$CFLAGS"
2665 CFLAGS="$CFLAGS -Wall -Werror"
2666 AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
2667 AC_COMPILE_IFELSE([AC_LANG_SOURCE(
2669 void __attribute__ ((visibility("default"))) test_default (void) {}
2670 void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
2671 int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
2674 AC_DEFINE([HAVE_GNUC_VISIBILITY], [1], [Define this for GCC-visibility.])
2675 AC_MSG_RESULT([yes])
2681 CFLAGS="$save_CFLAGS"
2684 AC_ARG_ENABLE([pch],
2685 AC_HELP_STRING([--enable-pch], [Enable precompiled header support]), [], [enable_pch=no])
2687 AM_CONDITIONAL([ENABLE_PCH], [test x"$enable_pch" != x"no"])
2689 PCH_FLAGS="-include all-includes.h -Winvalid-pch"
2696 AC_ARG_ENABLE([strict],
2697 AC_HELP_STRING([--enable-strict],[Accept only standards compliant code (GCC only)]),
2698 [case "${enableval}" in
2701 *) AC_MSG_ERROR([bad value ${enableval} for --enable-strict option]) ;;
2706 if test x"$strict" = x"yes" -a x$build_agg = xyes; then
2707 AC_MSG_ERROR([agg renderer will fail with --enable-strict.]);
2710 # We want warnings, lots of warnings :-)
2711 # It should be possible to build with -ansi, not with
2712 # -pedantic because of agg.
2714 # -ansi was actually dropped because it hides 'fileno', which
2715 # is used in a few places
2717 if test x"$GCC" = x"yes"; then
2718 CXXFLAGS="$CXXFLAGS \
2726 -Wnon-virtual-dtor \
2737 -Wmissing-declarations \
2738 -Wmissing-prototypes \
2739 -Wstrict-prototypes \
2741 if test x"$strict" = x"yes"; then
2742 CXXFLAGS="$CXXFLAGS \
2756 AC_ARG_ENABLE([cassert],
2757 AC_HELP_STRING([--disable-cassert],[Disable assertion checking]),
2758 [case "${enableval}" in
2761 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cassert option]) ;;
2766 if test x"$cassert" = x"no"; then
2767 CXXFLAGS="$CXXFLAGS \
2775 dnl /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
2776 AC_DEFUN([CHECK_VISIBILITY_GCC_BUG],
2778 AC_CACHE_CHECK([if -fvisibility-inlines-hidden is broken], ac_cv_gcc_visibility_bug, [
2780 save_CXXFLAGS=$CXXFLAGS
2781 save_LDFLAGS=$LDFLAGS
2782 CXXFLAGS="-fPIC -fvisibility-inlines-hidden -O0"
2783 LDFLAGS="$LDFLAGS -shared -fPIC"
2787 template<typename CharT>
2792 template<typename CharT>
2793 inline VisTest<CharT>::VisTest()
2795 extern template class VisTest<char>; // It works if we drop that line
2796 int some_function( int do_something ) __attribute__((visibility("default")));
2797 int some_function( int )
2803 ac_cv_gcc_visibility_bug=no, ac_cv_gcc_visibility_bug=yes)
2805 CXXFLAGS=$save_CXXFLAGS
2806 LDFLAGS=$save_LDFLAGS
2810 if test x$ac_cv_gcc_visibility_bug = xno; then
2811 CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
2816 CHECK_VISIBILITY_GCC_BUG
2818 if test x$ac_cv_gcc_visibility_bug = xno; then
2820 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
2821 save_CXXFLAGS=$CXXFLAGS
2822 CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2823 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
2824 [ac_cv_gcc_visibility=yes;
2825 AC_MSG_RESULT([yes])],
2826 [ac_cv_gcc_visibility=no;
2827 AC_MSG_RESULT([no])]);
2828 CXXFLAGS="$save_CXXFLAGS"
2833 AM_CONDITIONAL(VISIBILITY_WORKS, test x"$ac_cv_gcc_visibility" = xyes)
2835 if test x"$ac_cv_gcc_visibility" = xyes -a x"$enable_visibility" != xno; then
2836 CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2839 dnl Define convenience constants so Gnash can print out the
2840 dnl default configuration of the build.
2841 RENDERER_CONFIG="${renderer_list}"
2843 for rend in `echo "${add_renderer}" | tr ',' ' '`; do
2844 RENDERER_LIBS="${RENDERER_LIBS} \$(top_builddir)/librender/libgnash${rend}.la"
2846 AC_SUBST(RENDERER_LIBS)
2847 AC_SUBST(RENDERER_CONFIG)
2849 HWACCEL_CONFIG="${device_list}"
2850 AC_SUBST(HWACCEL_CONFIG)
2852 dnl check for missing libraries and disable them.
2853 if test x"$BOOST_LIBS" != x; then
2854 if test x"${cygnal_missing_libs}" != x; then
2855 for i in ${cygnal_missing_libs}; do
2856 if test $i = serialization; then
2857 AC_DEFINE([BOOST_MULTI_INDEX_DISABLE_SERIALIZATION], ["1"], [if the library is missing, don't use it.])
2866 if test x$build_qtopia3 = xyes; then
2867 SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
2869 if test x$build_qtopia4 = xyes; then
2870 SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
2872 if test x$build_fb = xyes; then
2873 SUPPORTED_GUIS="${SUPPORTED_GUIS},fb"
2875 if test x$build_fltk = xyes; then
2876 SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
2878 if test x$build_kde3 = xyes; then
2879 SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
2881 if test x$build_qt4 = xyes; then
2882 SUPPORTED_GUIS="${SUPPORTED_GUIS},qt4"
2884 if test x$build_gtk = xyes; then
2885 SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
2887 if test x$build_sdl = xyes; then
2888 SUPPORTED_GUIS="${SUPPORTED_GUIS},sdl"
2890 if test x$build_aqua = xyes; then
2891 SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
2893 if test x$build_dump = xyes; then
2894 SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
2896 if test x$build_aos4 = xyes; then
2897 SUPPORTED_GUIS="${SUPPORTED_GUIS},aos4"
2899 if test x$build_haiku = xyes; then
2900 SUPPORTED_GUIS="${SUPPORTED_GUIS},haiku"
2902 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
2903 AC_SUBST(SUPPORTED_GUIS)
2905 AC_CONFIG_LINKS(cygnal/testsuite/cygnal.all/cygnalrc:cygnal/testsuite/cygnal.all/cygnalrc.in)
2906 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc:testsuite/libbase.all/gnashrc.in)
2907 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc-local:testsuite/libbase.all/gnashrc-local.in)
2910 gnash.pc:gnash.pc.in
2911 desktop/gnash-gtk-launcher:desktop/gnash-gtk-launcher.in
2912 desktop/gnash-qt-launcher:desktop/gnash-qt-launcher.in
2923 libcore/parser/Makefile
2930 testsuite/media/Makefile
2931 testsuite/libbase.all/Makefile
2932 testsuite/as3compile.all/Makefile
2933 testsuite/actionscript.all/Makefile
2934 testsuite/samples/Makefile
2935 testsuite/swfdec/Makefile
2936 testsuite/misc-ming.all/Makefile
2937 testsuite/misc-ming.all/action_order/Makefile
2938 testsuite/misc-ming.all/sound/Makefile
2939 testsuite/misc-ming.all/displaylist_depths/Makefile
2940 testsuite/misc-ming.all/init_action/Makefile
2941 testsuite/misc-ming.all/loop/Makefile
2942 testsuite/misc-ming.all/loading/Makefile
2943 testsuite/misc-ming.all/register_class/Makefile
2944 testsuite/misc-mtasc.all/Makefile
2945 testsuite/misc-haxe.all/Makefile
2946 testsuite/misc-haxe.all/classes.all/Makefile
2947 testsuite/misc-swfmill.all/Makefile
2948 testsuite/misc-swfmill.all/trace-as2/Makefile
2949 testsuite/misc-swfmill.all/trace-as3/Makefile
2950 testsuite/misc-swfc.all/Makefile
2951 testsuite/network.all/Makefile
2952 testsuite/movies.all/Makefile
2953 testsuite/libcore.all/Makefile
2954 testsuite/libmedia.all/Makefile
2957 gui/pythonmod/Makefile
2959 extensions/dejagnu/Makefile
2960 extensions/mysql/Makefile
2961 extensions/fileio/Makefile
2962 extensions/gtk2/Makefile
2963 extensions/lirc/Makefile
2964 extensions/dbus/Makefile
2966 plugin/npapi/Makefile
2967 plugin/klash/Makefile
2968 plugin/klash4/Makefile
2969 plugin/win32/Makefile
2970 plugin/aos4/Makefile
2973 cygnal/libnet/Makefile
2974 cygnal/libamf/Makefile
2975 cygnal/cgi-bin/Makefile
2976 cygnal/cgi-bin/echo/Makefile
2977 cygnal/cgi-bin/oflaDemo/Makefile
2978 cygnal/cgi-bin/fitcDemo/Makefile
2979 cygnal/testsuite/Makefile
2980 cygnal/testsuite/libamf.all/Makefile
2981 cygnal/testsuite/libnet.all/Makefile
2982 cygnal/testsuite/cygnal.all/Makefile
2986 ########################## Final report begins... ############################
2989 dnl Create temporary directory in a secure way
2990 tmp=`mktemp -d ${TMPDIR=/tmp}/gnash-configure-XXXXXX`
2991 if test \! -n "$tmp" || test \! -d "$tmp"; then
2992 tmp=`(umask 077 && mkdir -d ${TMPDIR=/tmp}/gnash-configure-${RANDOM}-$$) 2>/dev/null`
2994 cerr="${tmp}/errors"
2995 cwarn="${tmp}/warnings"
2996 crec="${tmp}/recommended"
2997 deb_err="${tmp}/deb_err"
2998 deb_war="${tmp}/deb_war"
2999 deb_rec="${tmp}/deb_rec"
3000 rpm_err="${tmp}/rpm_err"
3001 rpm_war="${tmp}/rpm_war"
3002 rpm_rec="${tmp}/rpm_rec"
3003 yast_err="${tmp}/yast_err"
3004 yast_war="${tmp}/yast_war"
3005 yast_rec="${tmp}/yast_rec"
3008 #trap 'rm cerr' 0 # trap isn't a good idea, might override other traps
3013 for F in "$deb_err" "$deb_war" "$deb_rec" "$rpm_err" "$rpm_war" "$rpm_rec" "$yast_err" "$yast_war" "$yast_rec"; do
3022 dnl These macros should be portable as I checked most things used are in
3023 dnl POSIX-2008, GNU CoreUtils, and shipped in MinGW. Old unices? No clue.
3024 dnl In any case, they are hardly relevant on non-GNU systems.
3026 dnl Beware, here comes some long scary shell commands.
3031 echo " ERROR: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3034 yast_dest="$yast_err"
3040 echo " WARNING: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3043 yast_dest="$yast_war"
3049 echo " RECOMMENDED: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3052 yast_dest="$yast_rec"
3055 AC_DEFUN([PKG_SUGGEST],
3057 echo "`echo "$1" | fold -s -w 62 | sed 's/^/ /'`" >&$pkg_out_fd
3060 AC_DEFUN([DEB_INSTALL],
3062 echo " or .deb users: `echo "apt-get install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3063 echo -n " $1" >> "$deb_dest"
3066 AC_DEFUN([DEB_ALTERNATIVE],
3068 echo " or maybe : `echo "apt-get install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3069 echo -n "/$1" >> "$deb_dest"
3072 AC_DEFUN([RPM_INSTALL],
3074 echo " or .rpm users: `echo "yum install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3075 echo -n " $1" >> "$rpm_dest"
3078 AC_DEFUN([RPM_ALTERNATIVE],
3080 echo " or maybe : `echo "yum install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3081 echo -n "/$1" >> "$rpm_dest"
3084 AC_DEFUN([YAST_INSTALL],
3086 echo " or yast users: `echo "yast install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3087 echo -n " $1" >> "$yast_dest"
3090 AC_DEFUN([YAST_ALTERNATIVE],
3092 echo " or maybe : `echo "yast install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3093 echo -n "/$1" >> "$yast_dest"
3096 AC_DEFUN([PKG_ALTERNATIVE],
3098 echo "`echo "$1" | fold -s -w 62 | sed 's/^/ /'`" >&$pkg_out_fd
3101 echo "Configurable options are:"
3103 if test x"${pthreads}" = x"yes"; then
3104 echo " POSIX Threads support enabled (default)"
3106 if test x"${build_haiku}" = x"yes"; then
3107 echo " POSIX Thread support built into C library."
3109 echo " POSIX Thread support disabled."
3113 if test x"${npapi}" = x"yes"; then
3114 echo " NPAPI plugin enabled (default). Use --disable-npapi to disable."
3115 echo " NPAPI plugin will be installed in ${FIREFOX_PLUGINS}"
3117 echo " NPAPI plugin disabled."
3120 if test x"${build_kparts3}" = x"yes"; then
3121 echo " KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to disable"
3122 echo " KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
3123 echo " KPARTS 3.x service will be installed in ${KDE3_SERVICESDIR}"
3124 echo " KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
3125 echo " KPARTS 3.x appsdata will be installed in ${KDE3_APPSDATADIR}"
3127 echo " KPARTS 3.x plugin disabled."
3130 if test x"${build_kparts4}" = x"yes"; then
3131 echo " KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to disable"
3132 echo " KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
3133 echo " KPARTS 4.x service will be installed in ${KDE4_SERVICESDIR}"
3134 echo " KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
3135 echo " KPARTS 4.x appsdata will be installed in ${KDE4_APPSDATADIR}"
3137 echo " KPARTS 4.x plugin disabled."
3140 # set a variable if we shouldn't continue. This way we can print
3141 # out everything that is missing in one pass, hopefully making it
3142 # easy for new developers to get everything they need installed.
3145 echo "Configured paths for ${build} are:"
3147 dnl Dump QT3 options is the user specified a QTOPIA3 or KDE3 GUI
3148 if test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes; then
3149 if test x"${has_qt3}" = xyes; then
3150 echo " QT3 flags are: ${QT3_CFLAGS}"
3151 echo " QT3 libs are: ${QT3_LIBS}"
3153 PKG_ERR([No QT 3.x development package installed!])
3154 PKG_SUGGEST([Install a QT 3.x development environment from http://qt.nokia.com/])
3155 DEB_INSTALL([libqt3-mt-dev])
3156 RPM_INSTALL([qt3-devel])
3157 RPM_ALTERNATIVE([qt-devel])
3158 PKG_ALTERNATIVE([or change to a different gui with --enable-gui=...])
3162 dnl Dump QT4 options is the user specified a QTOPIA4 or Qt4 GUI
3163 if test x"${build_qt4}" = xyes -o x"${build_qtopia4}" = xyes; then
3164 if test x"${has_qt4}" = xyes; then
3165 echo " QT4 flags are: ${QT4_CFLAGS}"
3166 echo " QT4 libs are: ${QT4_LIBS}"
3168 PKG_ERR([No QT 4.x development package installed!])
3169 PKG_SUGGEST([Install a QT 4.x development environment from http://qt.nokia.com/])
3170 DEB_INSTALL([libqt4-dev])
3171 DEB_ALTERNATIVE([qt4-dev-tools]) dnl TODO: Is this required?
3172 RPM_INSTALL([qt4-devel])
3173 RPM_ALTERNATIVE([qt-devel])
3174 PKG_ALTERNATIVE([or change to a different gui with --enable-gui=...])
3178 if test x"${build_kparts4}" = xyes; then
3179 if test x"${has_kde4}" = xyes; then
3180 echo " KDE4 flags are: ${KDE4_CFLAGS}"
3181 echo " KDE4 libs are: ${KDE4_LIBS}"
3183 PKG_WAR([kparts4 plugin is disabled!])
3184 PKG_SUGGEST([Install version 4.x of the KDE development environment from http://kde.org])
3185 DEB_INSTALL([kdelibs5-dev])
3186 RPM_INSTALL([kdelibs-devel])
3190 if test x"$build_qtopia3" = xyes; then
3191 if test x"${QTOPIA3_LIBS}" != x ; then
3192 if test x"${QTOPIA3_CFLAGS}" != x ; then
3193 echo " QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
3195 echo " QTOPIA 3.x flags are: default include path"
3197 echo " QTOPIA 3.x libs are: $QTOPIA3_LIBS"
3199 PKG_ERR([No QTOPIA 3.x library development package installed!])
3200 PKG_SUGGEST([Install it from http://trolltech.com/downloads/ as binary packages are not available.]) dnl TODO: This link is no longer valid.
3204 if test x"$build_qtopia4" = xyes; then
3205 if test x"${QTOPIA4_LIBS}" != x ; then
3206 if test x"${QTOPIA4_CFLAGS}" != x ; then
3207 echo " QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
3209 echo " QTOPIA 4.x flags are: default include path"
3211 echo " QTOPIA 4.x libs are: $QTOPIA4_LIBS"
3213 PKG_ERR([No QTOPIA 4.x library development package installed!])
3214 PKG_SUGGEST([Install it from http://trolltech.com/downloads/ as binary packages are not available.]) dnl TODO: This link is no longer valid.
3219 # -o x$build_kparts3 = xyes
3220 if test x$build_kde3 = xyes; then
3221 if test x"$has_kde3" = xyes; then
3222 echo " KDE 3.x flags are: $KDE3_CFLAGS"
3223 echo " KDE 3.x libs are: $KDE3_LIBS"
3225 PKG_ERR([No KDE 3.x development package installed!])
3226 PKG_SUGGEST([Install version 3.x of the KDE development environment from http://kde.org])
3227 DEB_INSTALL([kdelibs4-dev])
3228 RPM_INSTALL([kdelibs3-devel])
3229 PKG_ALTERNATIVE([or disable the KDE 3.x gui, and reconfiguring using --enable-gui=<list-of-guis> and omitting kde from the list or avoiding --enable-gui=... as a whole.])
3233 if test x"${JPEG_LIBS}" != x ; then
3234 if test x"${JPEG_CFLAGS}" != x ; then
3235 echo " JPEG flags are: $JPEG_CFLAGS"
3237 echo " JPEG flags are: default include path"
3239 echo " JPEG libs are: $JPEG_LIBS"
3241 PKG_ERR([No JPEG library development package installed!])
3242 PKG_SUGGEST([Install it from http://ijg.org])
3243 DEB_INSTALL([libjpeg-dev])
3244 RPM_INSTALL([libjpeg-devel])
3247 if test x"${GIF_LIBS}" != x ; then
3248 if test x"${GIF_CFLAGS}" != x ; then
3249 echo " GIF flags are: $GIF_CFLAGS"
3251 echo " GIF flags are: default include path"
3253 echo " GIF libs are: $GIF_LIBS"
3255 PKG_ERR([No GIF library development package installed!])
3256 PKG_SUGGEST([Install it from http://sourceforge.net/projects/giflib/])
3257 DEB_INSTALL([libungif-dev])
3258 DEB_ALTERNATIVE([libgif-dev])
3259 RPM_INSTALL([libgif-devel])
3260 RPM_ALTERNATIVE([giflib-devel])
3261 RPM_ALTERNATIVE([libungif-devel])
3264 if test x"${PNG_LIBS}" != x ; then
3265 if test x"${PNG_CFLAGS}" != x ; then
3266 echo " PNG flags are: $PNG_CFLAGS"
3268 echo " PNG flags are: default include path"
3270 echo " PNG libs are: $PNG_LIBS"
3272 PKG_REC([No PNG library development package installed!])
3273 PKG_SUGGEST([Gnash will be built without support for dynamic loading of PNG files.])
3274 PKG_SUGGEST([Install it from http://www.libpng.org])
3275 DEB_INSTALL([libpng12-dev])
3276 RPM_INSTALL([libpng-devel])
3279 if test x"${build_ovg}" = x"yes"; then
3280 if test x"${has_openvg}" = xyes; then
3281 echo " OpenVG flags are: $OPENVG_CFLAGS"
3282 echo " OpenVG libs are: $OPENVG_LIBS"
3284 echo " ERROR: No OpenVG development package installed!" >&3
3285 echo " You need to install the libmesa development package" >&3
3286 echo " or .deb users: apt-get install libopenvg1-mesa-dev" >&3
3287 echo " or .rpm users: yum install mesa-libOpenVG-devel-7.8.1-7.fc13.i686" >&3
3288 echo " or use a different renderer with --enable-renderer=" >&3
3292 if test x"${build_ogl}" = x"yes"; then
3293 if test x"$OPENGL_LIBS" != x; then
3294 if test x"$OPENGL_CFLAGS" != x; then
3295 echo " OpenGL flags are: $OPENGL_CFLAGS"
3297 echo " OpenGL flags are: default include path"
3299 echo " OpenGL libs are: $OPENGL_LIBS"
3301 PKG_ERR([No OpenGL development package installed!])
3302 PKG_SUGGEST([You need to install the libmesa development package])
3303 DEB_INSTALL([libgl1-mesa-dev])
3304 RPM_INSTALL([mesa-libGL-devel])
3305 RPM_ALTERNATIVE([xorg-x11-Mesa-libGL])
3306 PKG_ALTERNATIVE([or use a different renderer with --enable-renderer=])
3310 if test x"${build_gles1}" = x"yes"; then
3311 if test x"${has_gles1}" = xyes; then
3312 if test x"${GLES1_CFLAGS}" != x; then
3313 echo " OpenGLES1 flags are: ${GLES1_CFLAGS}"
3315 echo " OpenGLES1 flags are: default include path"
3317 echo " OpenGLES1 libs are: ${GLES1_LIBS}"
3319 PKG_ERR([No OpenGL-ES development package installed!])
3320 PKG_SUGGEST([You need to install the this from source probably])
3321 PKG_ALTERNATIVE([or use a different renderer with --enable-renderer=])
3325 dnl GLEXT is only needed for GTK/OpenGL
3326 if test x$build_gtk = xyes -a x$build_ogl = xyes ; then
3327 if test x"$GLEXT_LIBS" != x; then
3328 if test x"$GLEXT_CFLAGS" != x; then
3329 echo " GtkGLExt flags are: $GLEXT_CFLAGS"
3331 echo " GtkGLExt flags are: default include path"
3333 echo " GtkGLExt libs are: $GLEXT_LIBS"
3335 PKG_ERR([No GtkGLExt development package installed!])
3336 PKG_SUGGEST([It is needed to build the GTK/OpenGL GUI/renderer combination.])
3337 PKG_SUGGEST([Install it from http://gtkglext.sourceforge.net])
3338 DEB_INSTALL([libgtkglext1-dev])
3339 RPM_INSTALL([gtkglext-devel])
3340 PKG_ALTERNATIVE([or --enable-gui=sdl or --enable-renderer=agg])
3344 if test x$build_gtk = xyes; then #{
3345 if test x"$GTK2_LIBS" != x; then
3346 if test x"$GTK2_CFLAGS" != x; then
3347 echo " GTK2 flags are: $GTK2_CFLAGS"
3349 echo " GTK2 flags are: default include path"
3351 echo " GTK2 libs are: $GTK2_LIBS"
3353 PKG_ERR([No GTK2 development package installed!])
3354 PKG_SUGGEST([Install it from http://gtk.org])
3355 DEB_INSTALL([libgtk2.0-dev])
3356 RPM_INSTALL([gtk2-devel])
3359 if test x"$PANGO_LIBS" != x; then
3360 if test x"$PANGO_CFLAGS" != x; then
3361 echo " Pango flags are: $PANGO_CFLAGS"
3363 echo " Pango flags are: default include path"
3365 echo " Pango libs are: $PANGO_LIBS"
3367 PKG_ERR([No Pango development package installed!])
3368 PKG_SUGGEST([Install it from http://pango.org])
3369 DEB_INSTALL([libpango1.0-dev])
3370 RPM_INSTALL([pango-devel])
3373 if test x"$GLIB_LIBS" != x; then
3374 if test x"$GLIB_CFLAGS" != x; then
3375 echo " GLib flags are: $GLIB_CFLAGS"
3377 echo " GLib flags are: default include path"
3379 echo " GLib libs are: $GLIB_LIBS"
3381 PKG_ERR([No GLib development package installed!])
3382 PKG_SUGGEST([Install it from http://gtk.org])
3383 DEB_INSTALL([libglib2.0-dev])
3384 RPM_INSTALL([glib2-devel])
3387 if test x"$ATK_LIBS" != x; then
3388 if test x"$ATK_CFLAGS" != x; then
3389 echo " ATK flags are: $ATK_CFLAGS"
3391 echo " ATK flags are: default include path"
3393 echo " ATK libs are: $ATK_LIBS"
3395 PKG_ERR([No ATK development package installed!])
3396 PKG_SUGGEST([Install it from http://atk.org])
3397 DEB_INSTALL([libatk1.0-dev])
3398 RPM_INSTALL([atk-devel])
3403 if test x"$build_media_gst" = x"yes"; then
3404 if test x"$missing_codecs" != x; then
3405 echo " Your Gstreamer installation is missing these codecs: $missing_codecs"
3406 echo " Please install the gstreamer-ffmpeg for Gstreamer"
3408 if test x"$GSTREAMER_LIBS" != x; then
3409 if test x"$GSTREAMER_CFLAGS" != x; then
3410 echo " Gstreamer flags are: $GSTREAMER_CFLAGS"
3412 echo " Gstreamer flags are: default include path"
3414 echo " Gstreamer libs are: $GSTREAMER_LIBS"
3416 PKG_ERR([GST media handling requested but gstreamer-0.10+ not found])
3417 PKG_SUGGEST([Install it from http://www.gstreamer.net])
3418 DEB_INSTALL([libgstreamer0.10-dev])
3419 RPM_INSTALL([gstreamer-devel])
3420 YAST_INSTALL([gstreamer010-devel])
3422 if test x"$has_gstreamer_pbutils" != "xyes"; then
3423 PKG_REC([If the user has not installed the necessary Gstreamer plugins, Gstreamer can pop up a message prompting them to.])
3424 PKG_SUGGEST([Install gstpbutils (>= 0.10.15) from http://www.gstreamer.net for that to be enabled])
3425 DEB_INSTALL([libgstreamer-plugins-base0.10-dev])
3426 PKG_SUGGEST([or .rpm users: simply install the below package]) dnl TODO: Can/should this notice be done cleaner?
3427 PKG_SUGGEST([Also see --with-gstpbutils-incl and --with-gstpbutils-lib])
3429 if test x"$has_gstreamer_plugins_base" = "xno"; then
3430 dnl TODO: Check if this is really a mandatory asset!
3431 PKG_ERR([Base plugins are required for gstreamer media!])
3432 PKG_SUGGEST([Install gstreamer-plugins-base from http://www.gstreamer.net])
3433 DEB_INSTALL([libgstreamer-plugins-base0.10-dev])
3434 RPM_INSTALL([gstreamer-plugins-base-devel])
3438 dnl TODO: figure out some RPM package names.
3439 dnl TODO: The following tests is probably incorrect for any/older/exotic systems! Could someone experienced look at it?
3440 if test x"${build_media_ffmpeg}" = x"yes"; then
3441 if test x"$FFMPEG_LIBS" != x; then
3442 echo " MP3 and video support enabled through FFmpeg"
3443 if test x"$FFMPEG_CFLAGS" != x; then
3444 echo " FFmpeg flags are: $FFMPEG_CFLAGS"
3446 echo " FFmpeg flags are: default include path"
3448 echo " FFmpeg libs are: $FFMPEG_LIBS"
3450 PKG_ERR([No FFmpeg development package installed!])
3451 PKG_SUGGEST([You can install FFmpeg from http://ffmpeg.org])
3452 DEB_INSTALL([libavcodec-dev])
3453 RPM_INSTALL([ffmpeg-devel])
3454 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3457 if test x"${avformat_h}" = x; then
3458 PKG_ERR([FFmpeg's avformat header is installed but not libavformat!])
3459 PKG_SUGGEST([You can install FFmpeg from http://ffmpeg.org])
3460 DEB_INSTALL([libavformat-dev])
3461 YAST_INSTALL([libavformat-api]) dnl (but currently installs into /usr/lib64)
3462 PKG_ALTERNATIVE(or explicitly set the path using --with-ffmpeg-incl=)
3463 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3466 if test x"${have_ffmpeg_swscale}" = "xno"; then
3467 PKG_ERR([No libswscale development package installed!])
3468 PKG_SUGGEST([You can install libswscale from http://ffmpeg.org])
3469 DEB_INSTALL([libswscale-dev])
3470 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3474 if test x$build_cairo = xyes; then
3475 if test x"$CAIRO_LIBS" != x; then
3476 if test x"$CAIRO_CFLAGS" != x; then
3477 echo " Cairo flags are: $CAIRO_CFLAGS"
3479 echo " Cairo flags are: default include path"
3481 echo " Cairo libs are: $CAIRO_LIBS"
3483 PKG_ERR([No Cairo development package installed!])
3484 PKG_SUGGEST([You need to have the Cairo development package installed if you have used --enable-render=cairo to configure.])
3485 PKG_SUGGEST([Install it from http://cairographics.org])
3486 DEB_INSTALL([libcairo-dev])
3487 RPM_INSTALL([cairo-devel])
3491 if test x$build_fltk = xyes; then
3492 if test x"$FLTK2_LIBS" != x; then
3493 if test x"$FLTK2_CFLAGS" != x; then
3494 echo " FLTK flags are: $FLTK2_CFLAGS"
3496 echo " FLTK flags are: default include path"
3498 echo " FLTK libs are: $FLTK2_LIBS"
3500 PKG_ERR([No FLTK2 development package installed!])
3501 PKG_SUGGEST([Install it from http://fltk.org])
3502 PKG_ALTERNATIVE(or change to a different gui with --enable-gui=...)
3506 if test x$build_fltk = xyes; then
3507 if test x"$XFT_LIBS" != x; then
3508 if test x"$XFT_CFLAGS" != x; then
3509 echo " Xft flags are: $XFT_CFLAGS"
3511 echo " Xft flags are: default include path"
3513 echo " Xft libs are: $XFT_LIBS"
3517 # See whether SDL is required
3519 test x$build_sdl = xyes && need_sdl=true
3520 test x$build_sound_sdl = xyes && need_sdl=true
3523 if test x"$SDL_LIBS" != x; then
3524 echo " SDL flags are: $SDL_CFLAGS"
3525 echo " SDL libs are: $SDL_LIBS"
3527 PKG_ERR([No SDL development package installed!])
3528 PKG_SUGGEST([Install it from http://www.libsdl.org/download-1.2.php])
3529 DEB_INSTALL([libsdl1.2-dev])
3530 RPM_INSTALL([SDL-devel])
3531 PKG_ALTERNATIVE(or change to a different gui with --enable-gui=...)
3536 if test x"$nsapi" = x"yes"; then
3537 echo " Plugin will be installed in ${FIREFOX_PLUGINS}"
3540 if test x"${pthreads}" = x"yes"; then
3541 if test x"$PTHREAD_CFLAGS" != x; then
3542 echo " POSIX Threads flags are: $PTHREAD_CFLAGS"
3544 if test x"${PTHREAD_LIBS}" != x; then
3545 echo " POSIX Threads lib is: $PTHREAD_LIBS"
3547 if test x"${cross_compiling}" = xno; then
3548 echo "ERROR: No pthread development package installed!" >&3
3553 if test x"${docbook}" = x"yes"; then
3554 if test x"$MAKEINFO" = x; then
3555 PKG_ERR([No makeinfo tools installed!])
3556 PKG_SUGGEST([Install it from http://www.gnu.org/software/texinfo/])
3557 DEB_INSTALL([texinfo])
3558 RPM_INSTALL([texinfo])
3559 RPM_ALTERNATIVE([texinfo-tex])
3562 if test x"$DB2X_TEXIXML" = x -o x"$DB2X_MANXML" = x -o x"$DB2X_XSLTPROC" = x; then
3563 dnl high-level tools
3564 if test x"${DB2X_TEXI}" = x -o x"${DB2X_MAN}" = x; then
3565 PKG_ERR([No DocBook2X tools installed!])
3566 PKG_SUGGEST([Install it from http://docbook2x.sourceforge.net])
3567 dnl TODO: Could someone look at this and confirm the needed software is installed?
3568 dnl FIXME: I removed the texidocbook and docbook-utilsnfo packages as they are not on my system.
3569 DEB_INSTALL([docbook2x docbook-xml docbook-xsl texinfo xsltproc])
3570 PKG_ALTERNATIVE([or configure without --enable-docbook])
3573 echo " You have version $db2x_version of the DocBook2X tools."
3576 PKG_WAR([without --enable-docbook we will use the cached documentation files included in the gnash distribution. If you change files in doc/C, you should --enable-docbook.])
3579 if test x"$CURL_LIBS" != x; then
3580 if test x"$CURL_CFLAGS" != x; then
3581 echo " CURL flags are: $CURL_CFLAGS"
3583 echo " CURL flags are: default include path"
3585 echo " CURL libs are: $CURL_LIBS"
3587 PKG_REC([If you install the CURL library, Gnash will be able to display remote content (streaming from URLs) using CURL.])
3588 PKG_SUGGEST([Install libcurl from http://curl.haxx.se/libcurl])
3589 DEB_INSTALL([libcurl4-gnutls-dev]) dnl TODO: Do we prefer this one? GnuTLS is LGPL'd so it's probably more licensively compatible than OpenSSL?
3590 DEB_ALTERNATIVE([libcurl-dev])
3591 RPM_INSTALL([curl-devel])
3594 if test x"$SPEEX_LIBS" != x; then
3595 if test x"$SPEEX_CFLAGS" != x; then
3596 echo " Speex flags are: $SPEEX_CFLAGS"
3598 echo " Speex flags are: default include path"
3600 echo " Speex libs are: $SPEEX_LIBS"
3602 PKG_REC([If you install the Speex library, Gnash will be able to decoded Speex encoded audio in FLV files.])
3603 PKG_SUGGEST([Install libspeex from http://speex.org])
3604 DEB_INSTALL([libspeex-dev])
3605 RPM_INSTALL([speex-devel])
3608 if test x"$SPEEXDSP_LIBS" != x; then
3609 if test x"$SPEEXDSP_CFLAGS" != x; then
3610 echo " Speex DSP flags are: $SPEEXDSP_CFLAGS"
3612 echo " Speex DSP flags are: default include path"
3614 echo " Speex DSP libs are: $SPEEXDSP_LIBS"
3616 PKG_REC([If you install the Speex DSP library, Gnash will be able to resample Speex encoded audio in FLV files.])
3617 PKG_SUGGEST([Install libspeexdsp from http://speex.org])
3618 DEB_INSTALL([libspeexdsp-dev])
3619 RPM_INSTALL([speex-devel])
3622 if test x"$ext_dbus" = xyes; then
3623 if test x"$DBUS_LIBS" != x; then
3624 if test x"$DBUS_CFLAGS" != x; then
3625 echo " DBUS flags are: $DBUS_CFLAGS"
3627 echo " DBUS flags are: default include path"
3629 echo " DBUS libs are: $DBUS_LIBS"
3631 PKG_WAR([No DBUS development package was found! Gnash will be built without support for remote controls.])
3632 PKG_SUGGEST([Install libdbus from http://www.dbus.org])
3633 DEB_INSTALL([dbus-dev])
3634 DEB_ALTERNATIVE([libdbus-1-dev])
3635 RPM_INSTALL([dbus-devel])
3639 if test x$build_agg = xyes; then # {
3640 echo " AGG Pixel format is: $pixelformat"
3641 if test x"$AGG_LIBS" != x -a x"${agg25}" == xyes; then # {
3642 if test x"$AGG_CFLAGS" != x; then # {
3643 echo " AGG flags are: $AGG_CFLAGS"
3645 echo " AGG flags are: default include path"
3647 echo " AGG libs are: $AGG_LIBS"
3649 if test x"$AGG_LIBS" != x -a x"${agg25}" != xyes; then
3650 PKG_ERR([Your installation of AGG appears to be version 2.4 or older. Please upgrade to AGG 2.5 or greater.])
3652 PKG_ERR([No AGG development package installed!])
3654 PKG_SUGGEST([Install it from http://www.antigrain.com])
3655 DEB_INSTALL([libagg-dev])
3656 RPM_INSTALL([agg-devel])
3660 dnl TODO: This package is handled a bit stupidly in regard to the package
3661 dnl suggestion system. It would be better to check for each package
3662 dnl separately, instead of passing the missing ones in variables..
3663 if test x"$BOOST_LIBS" != x; then
3664 echo " BOOST flags are: $BOOST_CFLAGS"
3665 echo " BOOST libs are: $BOOST_LIBS"
3666 echo " BOOST libs for cygnal are: $BOOST_CYGNAL_LIBS"
3668 if test x"${missing_headers}" != x; then
3669 for i in ${missing_headers}; do
3670 PKG_ERR([The Boost $i header is not installed])
3671 PKG_SUGGEST([Install it from http://www.boost.org])
3675 if test x"${cygnal}" = x"yes"; then
3676 if test x"${cygnal_missing_libs}" != x; then
3677 for i in ${cygnal_missing_libs}; do
3678 PKG_ERR([No Boost $i package installed])
3679 PKG_SUGGEST([Install it from http://www.boost.org])
3680 debtmppkg="libboost-`echo ${i} | sed 's/_/-/g'`-dev"
3681 DEB_INSTALL([$debtmppkg])
3682 PKG_ALTERNATIVE([or configure with --disable-cygnal])
3687 if test x"${missing_libs}" != x; then
3688 for i in ${missing_libs}; do
3689 PKG_ERR([No Boost $i package installed])
3690 PKG_SUGGEST([Install it from http://www.boost.org])
3691 debtmppkg="libboost-`echo ${i} | sed 's/_/-/g'`-dev"
3692 DEB_INSTALL([$debtmppkg])
3696 PKG_ERR([No Boost development package installed])
3697 PKG_SUGGEST([Install it from http://www.boost.org])
3698 dnl I am not sure that libboost-program-options-dev should be passed here, but
3699 dnl it seems like the cleanest way to get it.
3700 if test x"$cygnal" = xyes; then
3701 DEB_INSTALL([libboost-dev libboost-thread-dev libboost-program-options-dev libboost-date-time-dev])
3703 DEB_INSTALL([libboost-dev libboost-thread-dev libboost-program-options-dev])
3705 RPM_INSTALL([boost-devel])
3708 dnl don't look for the flash compilers when cross compiling.
3709 if test x"$testsuite" = x"yes"; then
3710 if test x$cross_compiling = xno; then
3711 if test x"$MING_LIBS" != x; then
3712 echo " MING flags are $MING_CFLAGS"
3713 echo " MING libs are $MING_LIBS"
3715 PKG_WAR([You need to have the Ming development package installed to run most of the tests in Gnash testsuite.])
3716 PKG_SUGGEST([Install it from http://www.libming.org/])
3717 DEB_INSTALL([libming-dev])
3718 RPM_INSTALL([libming-devel])
3721 if test x"$MAKESWF" != x; then
3722 echo " MING version code is $MING_VERSION_CODE"
3723 echo " MAKESWF is $MAKESWF"
3725 PKG_WAR([You need to have the Ming utilities package version 0.4 or higher installed to run many of the tests in Gnash testsuite.])
3726 PKG_SUGGEST([Install it from http://www.libming.org/])
3727 DEB_INSTALL([libming-util])
3728 RPM_INSTALL([ming-util])
3729 RPM_ALTERNATIVE([ming-utils])
3732 if test x"$MAKESWF" != x && test $MING_VERSION_CODE -lt 00040006; then
3733 echo " WARNING: You have an older version of Ming installed and will not" >&4
3734 echo " be able to run all of the tests in Gnash testsuite." >&4
3735 echo " Install the latest version from http://www.libming.org" >&4
3738 if test x"$SWFDEC_TESTSUITE" != x; then
3739 echo " SWFDEC testsuite dir is $SWFDEC_TESTSUITE"
3742 if test x"$MTASC" != x; then
3743 echo " MTASC is $MTASC"
3744 echo " MTASC CLASSPATH is $MTASC_CLASSPATH"
3746 PKG_WAR([You need to have the MTASC compiler packages installed to run some of the tests in Gnash testsuite.])
3747 PKG_SUGGEST([Install it from http://mtasc.org])
3748 DEB_INSTALL([mtasc])
3749 RPM_INSTALL([mtasc])
3752 if test x"$HAXE" != x; then
3753 echo " HAXE is $HAXE"
3754 echo " HAXE CLASSPATH is $HAXE_CLASSPATH"
3756 PKG_WAR([You need to have the HAXE compiler package version 2.00 or higher installed to run some of the tests in Gnash testsuite.])
3757 PKG_SUGGEST([Install it from http://haxe.org])
3762 if test x"$SWFMILL" != x; then
3763 echo " SWFMILL is $SWFMILL"
3764 if test x"$ENABLE_AVM2" != x -a "$SWFMILL_VERSION" -lt 00021206; then
3765 PKG_WAR([You are building Gnash with AVM2 support but your swfmill version is too old to run AS3 tests.])
3768 PKG_WAR([You need to have the swfmill tool installed to run some of the tests in Gnash testsuite.])
3769 PKG_SUGGEST([Install it from http://swfmill.org])
3770 DEB_INSTALL([swfmill])
3771 RPM_INSTALL([swfmill])
3774 if test x"$SWFC" != x; then
3775 echo " SWFC is $SWFC"
3777 PKG_WAR([You need to have swfc from SWFTools installed to run some of the tests in Gnash testsuite.])
3778 PKG_SUGGEST([Install it from http://swftools.org])
3779 DEB_INSTALL([swftools])
3780 RPM_INSTALL([swftools])
3783 if test x"$AS3COMPILE" != x; then
3784 echo " AS3COMPILE is $AS3COMPILE"
3786 PKG_WAR([You need to have as3compile from SWFTools installed to run some of the tests in Gnash testsuite.])
3787 PKG_SUGGEST([Install it from http://swftools.org])
3790 if test x"$HTTP_TESTSUITE" != x; then
3791 echo " HTTP testsuite dir is $HTTP_TESTSUITE"
3794 if test x"$RED5_HOST" != x; then
3795 echo " RED5 testing host is $RED5_HOST"
3800 if test x"$PERL" != x; then
3801 echo " PERL is $PERL"
3803 PKG_WAR([You need to have perl installed to run some of the tests in Gnash testsuite.])
3804 PKG_SUGGEST([Install it from http://perl.org])
3809 if test x"$testsuite" = x"yes"; then
3810 if test x"$CSOUND" != x; then
3811 echo " CSOUND is $CSOUND"
3813 echo " WARNING: You need to have csound installed" >&4
3814 echo " to have real fun." >&4
3815 echo " Install it from http://www.csounds.com/" >&4
3816 echo " or .deb users: apt-get install csound" >&4
3817 echo " or .rpm users: yum install csound" >&4
3821 if test x"$Z_LIBS" != x; then
3822 if test x"$Z_CFLAGS" != x; then
3823 echo " Z flags are: $Z_CFLAGS"
3825 echo " Z flags are: default include path"
3827 echo " Z libs are: $Z_LIBS"
3829 PKG_REC([You need to have the zlib development packages installed to play compressed SWF (most of them from version 6 up) and to display some kinds of JPEG files.])
3830 PKG_SUGGEST([Install it from http://zlib.net])
3831 DEB_INSTALL([zlib1g-dev])
3832 RPM_INSTALL([zlib-devel])
3833 PKG_ALTERNATIVE([It may still be possible to configure without zlib.])
3836 if test x"$FREETYPE2_LIBS" != x; then
3837 if test x"$FREETYPE2_CFLAGS" != x; then
3838 echo " FreeType flags are: $FREETYPE2_CFLAGS"
3840 echo " FreeType flags are: default include path"
3842 echo " FreeType libs are: $FREETYPE2_LIBS"
3844 PKG_REC([You need to have the freetype development packages installed to use device fonts.])
3845 PKG_SUGGEST([Install it from http://freetype.org])
3846 DEB_INSTALL([libfreetype6-dev])
3847 RPM_INSTALL([freetype-devel])
3848 PKG_ALTERNATIVE([It may still be possible to configure without freetype.])
3851 if test x"$FONTCONFIG_LIBS" != x; then
3852 if test x"$FONTCONFIG_CFLAGS" != x; then
3853 echo " Fontconfig flags are: $FONTCONFIG_CFLAGS"
3855 echo " Fontconfig flags are: default include path"
3857 echo " Fontconfig libs are: $FONTCONFIG_LIBS"
3859 PKG_REC([You need to have the fontconfig development packages installed to use device fonts.])
3860 PKG_SUGGEST([Install it from http://fontconfig.org])
3861 DEB_INSTALL([libfontconfig1-dev])
3862 RPM_INSTALL([fontconfig-devel])
3863 PKG_ALTERNATIVE([It may still be possible to configure without fontconfig.])
3866 if test x$ext_mysql = xyes; then
3867 if test x$mysql != xno; then
3868 if test x"$MYSQL_LIBS" != x; then
3869 echo " MYSQL flags are: $MYSQL_CFLAGS"
3870 echo " MYSQL libs are: $MYSQL_LIBS"
3872 PKG_ERR([No MySQL development package is installed.])
3873 PKG_SUGGEST([Install it from http://mysql.org])
3874 DEB_INSTALL([libmysqlclient-dev])
3875 RPM_INSTALL([mysql-devel])
3876 PKG_ALTERNATIVE([or reconfigure without --enable-extensions=mysql])
3881 if test "$GMSGFMT" = ":"; then
3882 PKG_WAR([You need the gettext package installed to use translations. Required for building a package or 'make distcheck'])
3883 PKG_SUGGEST([Install it from http://www.gnu.org/software/gettext/])
3884 DEB_INSTALL([gettext])
3885 RPM_INSTALL([gettext])
3888 if test x"${build_vaapi}" = x"yes"; then
3889 if test x"${LIBVA_CFLAGS}" = xyes; then
3890 echo " LIBVA flags are: default"
3892 echo " LIBVA flags are: $LIBVA_CFLAGS"
3893 echo " LIBVA libraries are: $LIBVA_LIBS"
3895 if test x$use_libva_x11 = xyes; then
3896 if test x"${LIBVA_X11_CFLAGS}" = xyes; then
3897 echo " LIBVA X11 flags are: default"
3899 echo " LIBVA X11 flags are: $LIBVA_X11_CFLAGS"
3900 echo " LIBVA X11 libraries are: $LIBVA_X11_LIBS"
3903 if test x$use_libva_glx = xyes; then
3904 if test x"${LIBVA_GLX_CFLAGS}" = xyes; then
3905 echo " LIBVA GLXflags are: default"
3907 echo " LIBVA GLX flags are: $LIBVA_GLX_CFLAGS"
3909 echo " LIBVA GLX libraries are: $LIBVA_GLX_LIBS"
3913 if test x"$ac_cv_gcc_visibility" != xyes; then
3914 if test x"$npapi" = xyes; then
3915 PKG_WAR([NPAPI (mozilla) plugin is enabled, but your compiler does not support symbol visibility. This may cause the plugin to malfunction and may result in small children being eaten. You have been warned!])
3919 if test x"$npapi" = xyes; then
3920 if test x"$has_npapi" = xyes; then
3921 echo " NPAPI flags are: $NPAPI_CFLAGS"
3923 PKG_ERR([No xulrunner development package is installed!])
3924 PKG_SUGGEST([Install it from http://releases.mozilla.org/pub/mozilla.org/xulrunner])
3925 DEB_INSTALL([xulrunner-dev]) or
3926 DEB_INSTALL([firefox-dev])
3927 RPM_INSTALL([xulrunner-devel])
3930 echo " NPAPI plugin is disabled"
3933 if test x"${DEJAGNU}" != x""; then
3934 echo " DEJAGNU's runtest is $DEJAGNU"
3936 PKG_WAR([You need the dejagnu package installed to get a summary after running 'make check'.])
3937 PKG_SUGGEST([Install it from http://www.gnu.org/software/dejagnu/])
3938 DEB_INSTALL([dejagnu])
3939 RPM_INSTALL([dejagnu])
3943 if test x"${build_haiku}" = xyes -o x"${build_sound_mkit}" = xyes -o x"${build_media_haiku}" = x"yes"; then
3944 echo " Haiku libs are: $HAIKU_LIBS"
3947 if test x"$has_ltdl" = x"yes";then
3948 echo " LIBLTDL flags are: $LTDL_CFLAGS"
3949 echo " LIBLTDL libs are: $LTDL_LIBS"
3951 if test x"${extensions_support}" != xno; then
3952 PKG_ERR([No libltdl development package is installed, yet --disable-extensions was not specified.])
3953 PKG_SUGGEST([Install it from ftp://ftp.gnu.org/gnu/libtool/])
3954 DEB_INSTALL([libltdl-dev])
3955 RPM_INSTALL([libtool-ltdl-devel])
3959 if test x"$python" = x"yes"; then
3960 if test x"$has_python" = x"yes"; then
3961 echo " PYTHON flags are: $PYTHON_CFLAGS"
3962 echo " PYTHON libs are: $PYTHON_LIBS"
3963 echo " PYTHON executable is: $PYTHON"
3965 PKG_ERR([No Python development package is installed, but it's enabled.])
3968 if test x${build_ssl} = xyes; then
3969 if test x"${has_ssl}" = xyes; then
3970 if test x"${SSL_CFLAGS}" = xyes; then
3971 echo " SSL flags are: default"
3973 echo " SSL flags are: $SSL_CFLAGS"
3975 echo " SSL libs are: $SSL_LIBS"
3977 PKG_ERR([No SSL development package is installed, but it's enabled."])
3981 if test x${build_ssh} = xyes; then
3982 if test x"${has_ssh}" = xyes; then
3983 if test x"${SSH_CFLAGS}" = xyes; then
3984 echo " SSH flags are: default"
3986 echo " SSH flags are: $SSH_CFLAGS"
3988 echo " SSH libs are: $SSH_LIBS"
3990 PKG_ERR([No SSH development package is installed, but it's enabled."])
3994 if test x"${build_all_as3}" = x"yes"; then
3995 echo " Building the entire ActionScript class libary"
3997 echo " Only building these ActionScript classes into the library:"
3998 echo " ${classlist}"
4001 if test x"$testsuite" = x"yes"; then
4002 if test x"$NETCAT" != x; then
4003 echo " You have netcat installed, which is only used for testing"
4005 echo " Install netcat for networking test support"
4007 if test x"$WGET" != x; then
4008 echo " You have wget installed, which is only used for testing"
4010 echo " Install wget for networking test support"
4014 if test x$cross_compiling = xyes; then
4015 if test x"${android_ndk}" != xno; then
4016 AC_MSG_NOTICE([This build is setup for cross compiling for Android])
4018 AC_MSG_NOTICE([This build is setup for cross compiling])
4024 if test x"${cygnal}" = x"yes"; then
4025 echo " Building Cygnal media server enabled (default). Use --disable-cygnal to disable."
4027 echo " Building Cygnal media server disabled."
4030 if test x"${with_top_level}" != x; then
4031 echo " Top level for cross compiling support files is: $with_top_level"
4034 if test x"${build_gtk}" = xyes -a x"${pixelformat}" = xrgb565; then
4035 echo " WARNING: Pixel format RGB565 selected in combination with the" >&4
4036 echo " GTK GUI. Only a hacked GTK will work (e.g. on the OLPC)." >&4
4039 if test x"${extensions_list}" != x; then
4040 echo " Building extensions: ${extensions_list}"
4043 if test x"${extensions_support}" = xno; then
4044 echo " Extension support disabled."
4047 if test x"${security_list}" != x; then
4048 echo " Enabling security features: ${security_list}"
4051 if test x"${statistics_list}" != x; then
4052 echo " Enabling statistics collecting for: ${statistics_list}"
4055 if test x"${SUPPORTED_GUIS}" = x; then
4056 AC_MSG_ERROR(no supported GUIs found);
4059 echo " GUI toolkits supported: ${SUPPORTED_GUIS}"
4060 echo " Renderers supported: ${renderer_list}"
4061 echo " Hardware Acceleration: ${device_list}"
4062 echo " Media handlers: ${media_list}"
4063 echo " Using ${add_sound} for sound handling"
4065 if test x"$docbook" = x"yes"; then
4066 echo ' DocBook document processing enabled (for "make html" and "make pdf")'
4067 if test x"$docbook_styles" != x; then
4068 echo " Docbook styles sheets in $docbook_styles"
4071 echo " DocBook document processing disabled (default)"
4074 dnl The Framebuffer GUI has several other settings. As it doesn't have X11,
4075 dnl we have to handle input devics ourselves.
4076 if test x"${build_fb}" = xyes; then
4077 echo " Using ${input_events} for Input"
4078 if test x"${fakefb}" != x; then
4079 echo " Using shared memory as a fake framebuffer"
4081 if test x"${offscreen}" = xyes; then
4082 echo " Using offscreen rendering"
4084 if test x"${doublebuf}" = xyes; then
4085 echo " Using double buffering when rendering"
4089 if test -s $cwarn; then
4094 echo "Gnash should still compile even with these warnings."
4095 echo "If it doesn't, report the warnings as a bug."
4100 if test -s $crec; then
4105 echo "Gnash should still compile, but you'll miss important support"
4110 if test -s $cerr; then
4115 deb_err="`cat $deb_err`"
4116 deb_war="`cat $deb_war`"
4117 deb_rec="`cat $deb_rec`"
4118 rpm_err="`cat $rpm_err`"
4119 rpm_war="`cat $rpm_war`"
4120 rpm_rec="`cat $rpm_rec`"
4121 yast_err="`cat $yast_err`"
4122 yast_war="`cat $yast_war`"
4123 yast_rec="`cat $yast_rec`"
4125 # Pipe stderr to /dev/null since Fedora complains when target isn't there.
4126 if test x`which apt-get 2>/dev/null` != x; then
4127 if test x"$deb_err" != x -o x"$deb_war" != x -o x"$deb_rec" != x; then
4128 echo "#!/bin/sh" > deb-attempt-install-dependencies.sh
4129 echo "packages=\"$deb_err $deb_war $deb_rec\"" >> deb-attempt-install-dependencies.sh
4130 echo "PKGCOMMAND=\"apt-get install -y -q\"" >> deb-attempt-install-dependencies.sh
4131 cat ${srcdir}/base-attempter.sh >> deb-attempt-install-dependencies.sh
4132 chmod +x deb-attempt-install-dependencies.sh
4134 echo ".deb users might be able to install most dependencies by executing:"
4135 echo "sudo ./deb-attempt-install-dependencies.sh"
4139 if test x`which yum 2>/dev/null` != x; then
4140 if test x"$rpm_err" != x -o x"$rpm_war" != x -o x"$deb_rec" != x; then
4141 echo "#!/bin/sh" > rpm-attempt-install-dependencies.sh
4142 echo "packages=\"$rpm_err $rpm_war $rpm_rec\"" >> rpm-attempt-install-dependencies.sh
4143 echo "PKGCOMMAND=\"yum install -y \"" >> rpm-attempt-install-dependencies.sh
4144 cat ${srcdir}/base-attempter.sh >> rpm-attempt-install-dependencies.sh
4145 chmod +x rpm-attempt-install-dependencies.sh
4147 echo ".rpm users might be able to install most dependencies by executing:"
4148 echo "sudo ./rpm-attempt-install-dependencies.sh"
4152 dnl TODO: Add support for yast here, which AFAIK is used on OpenSuse.
4154 dnl If anything critical is missing, don't bother to continue
4155 if test -s $cerr; then
4158 AC_MSG_ERROR([Please install required packages])
4165 if test x"$fork" = x"no"; then
4167 AC_MSG_ERROR([Currently only forking the standalone player works!])
4174 # indent-tabs-mode: nil