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 DEB_HOST_MULTIARCH="`eval dpkg-architecture -qDEB_HOST_MULTIARCH`"
507 export incllist="`eval cat ${srcdir}/macros/incllist`"
508 libslist="`cat ${srcdir}/macros/libslist`"
509 export libslist="${libslist} /lib/${DEB_HOST_MULTIARCH} /usr/lib/${DEB_HOST_MULTIARCH}"
510 export pathlist=$PATH
513 if test x"${android_ndk}" != xno; then
514 incllist="${android_ndk}/include ${incllist}"
517 AM_CONDITIONAL(CROSS_COMPILING, [ test x$cross_compiling = xyes ])
519 for dir in ${incllist}; do
520 test -d ${dir} && pruned_incllist="${pruned_incllist} ${dir}";
523 for dir in ${libslist}; do
524 test -d ${dir} && pruned_libslist="${pruned_libslist} ${dir}";
527 libslist="${pruned_libslist}";
528 incllist="${pruned_incllist}";
530 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
532 dnl !! IMPORTANT NOTICE
534 dnl !! Any call to GNASH_PATH_XXX must be be given *after* this snippet.
535 dnl !! This is to ensure that PKG_CONFIG, cross_compiling and incllist are
536 dnl !! properly set at the time of call.
538 dnl !! Also GNASH_PKG_FIND has to be called later. Not sure
539 dnl !! why but calling before breaks detection of CPP (see
540 dnl !! gnash-dev mailing archives for June 12 2009
541 dnl !! http://lists.gnu.org/archive/html/gnash-dev/2009-06/index.html
544 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
546 dnl Check for PKG_CONFIG before any GNASH_PATH call
549 dnl --------------------------------------------------------
551 dnl --------------------------------------------------------
554 build_aos4=no dnl AmigaOS4 GUI
555 build_kde3=no dnl WARNING: doesn't work (see https://savannah.gnu.org/bugs/index.php?31782)
560 build_fb=no dnl Raw framebuffer
563 build_aqua=no dnl Native MacOSX
566 AC_HELP_STRING([--enable-gui=], [Enable support for the specified GUI toolkits (default=gtk,qt4)]),
567 [if test -n ${enableval}; then
568 enableval=`echo ${enableval} | tr '\054' ' ' `
570 while test -n "${enableval}" ; do
571 val=`echo ${enableval} | cut -d ' ' -f 1`
594 fltk|FLTK|fltk2|FLTK2)
611 dnl BSD doesn't have a framebuffer interface
612 if test x${linux} = xyes; then
615 if test x${openbsd} != xyes; then
621 *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: gtk|kde3|qt4|fltk|sdl|aqua|fb|qtopia3|qtopia4|dump|aos4|haiku)])
624 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
625 if test "x$val" = "x$enableval"; then
629 [ dnl Run the following code if no --enable-gui is given
632 if test x"${openbsd}" = xyes; then
635 else if test x"${haiku}" = xyes; then
646 if test x"${build_haiku}" = xyes; then
647 if test x"$haiku" != xyes; then
648 echo " ERROR: Can not build Haiku gui outside of Haiku
649 operating system." >&3
653 dnl We can use Xephyr or fbe to create a fake framebuffer instead of real
654 dnl video memory. This lets us test on a desktop machine.
656 AC_HELP_STRING([--with-fakefb],
657 [specify a file to be mapped instead of a real framebuffer]),
658 with_fakefb=${withval})
661 if test x"${with_fakefb}" = xyes; then
662 dnl This is the default file name fbe uses.
663 fakefb=/tmp/fbe_buffer
665 if test x"${with_fakefb}" != x; then
666 fakefb=${with_fakefb}
672 if test x"${fakefb}" != x; then
673 AC_DEFINE(ENABLE_FAKE_FRAMEBUFFER, [1], [Enable using a file instead of a real framebuffer])
676 dnl This enable a small handful of tests that aren't designed to be
677 dnl run as part of "make check", as they are either incomplete, or
678 dnl can only be run interactively. These are all primarily oriented
679 dnl towards code development and debugging, instead of regression
681 AC_ARG_ENABLE(devtests, AC_HELP_STRING([--enable-devtests],
682 [Developer only tests, not to be included in make check]),
683 [case "${enableval}" in
686 *) AC_MSG_ERROR([bad value ${enableval} for enable-devtests option]) ;;
688 AM_CONDITIONAL(ENABLE_DEVELOPER_TESTS, [test x${devtests} = xyes])
690 dnl --------------------------------------------------------
691 dnl Sound handler selection
692 dnl --------------------------------------------------------
699 AC_HELP_STRING([--enable-sound=[[sdl|ahi|mkit]]], [Use the specified sound handler (default=sdl)]),
700 [case "${enableval}" in
718 [if test x"${haiku}" = xyes; then
722 if test x${build_sound_none} = xno; then
729 dnl --------------------------------------------------------
730 dnl Media handler selection
731 dnl --------------------------------------------------------
733 build_media_ffmpeg=auto
736 AC_HELP_STRING([--enable-media=handler],
737 [Enable media handling support using the specified handler: gst, ffmpeg or none (no sound) [[gst]] ]),
739 if test -n ${enableval}; then
740 enableval=`echo ${enableval} | tr '\054' ' ' `
742 dnl When --enable-media is given, all media defaults to off
743 dnl except the explicitly enabled ones
744 build_media_ffmpeg=no
746 while test -n "${enableval}"; do
747 val=`echo ${enableval} | cut -d ' ' -f 1`
751 media_list="${media_list}gst "
754 build_media_ffmpeg=yes
755 media_list="${media_list}ffmpeg "
762 AC_MSG_ERROR([bad value ${enableval} for --enable-media option])
766 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
767 if test "x$val" = "x$enableval"; then
771 [if test x"${build_haiku}" = xyes; then
772 build_media_ffmpeg=yes
773 build_media_haiku=yes
774 media_list="ffmpeg haiku"
781 dnl If no render is selected, and media handling isn't disabled, them enable gst
782 if test x${build_media_none} = xno -a x${build_media_gst} = xno -a x${build_media_ffmpeg} = xno; then
786 if test x"$build_media_ffmpeg" != x"no"; then # yes or auto
788 if test x"${build_media_ffmpeg}" = xauto; then
789 dnl TODO: have GNASH_PATH_FFMPEG set ${has_ffmpeg}
790 if test x"$FFMPEG_LIBS" != x; then
791 build_media_ffmpeg=yes
792 media_list="${media_list} ffmpeg"
799 MEDIA_CONFIG="${media_list}"
800 AC_SUBST(MEDIA_CONFIG)
802 dnl Multiple input devices are supported. These can all work in
803 dnl varying combinations, so several may be listed. These are only
804 dnl required when using the Framebuffer, as without the X11 desktop,
805 dnl Gnash has to handle all these internally. This can get
806 dnl messy, as one might want to use a touchscreen with a normal mouse
807 dnl or keyboard attached.
808 dnl By default, don't build any of these, as they are only for the
809 dnl Framebuffer running without X11.
810 if test x"${build_fb}" = xyes -a x"${linux}" = xyes; then
812 build_ps2keyboard=yes
813 build_input_events=yes
815 input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"
819 build_input_events=no
824 AC_HELP_STRING([--enable-input], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
825 [if test -n ${enableval}; then
826 enableval=`echo ${enableval} | tr '\054' ' ' `
830 build_input_events=no
832 while test -n "${enableval}" ; do
833 val=`echo ${enableval} | cut -d ' ' -f 1`
835 ps2m*|PS2m*|m*|M*) dnl a PS/2 style mouse
837 input_events="${input_events}, PS/2 Mouse"
839 ps2k*|PS2K*|k*|K*) dnl a PS/2 style keyboard
840 build_ps2keyboard=yes
841 input_events="${input_events}, PS/2 Keyboard"
843 i*|I*|ev*|Ev*) dnl use the new Input Event, which supports both
844 input_events="${input_events}, Input Event Device"
845 build_input_events=yes
847 t*|T*) dnl use a touchscreen with tslib, which works like a mouse
849 input_events="${input_events}, Touchscreen"
853 build_ps2keyboard=yes
855 if test x"${build_fb}" = xyes -a x"${linux}" = xyes; then
856 build_input_events=yes
857 input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"
859 build_input_events=no
860 input_events="PS/2 Mouse, PS/2 Keyboard, Touchscreen via Tslib"
863 *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
866 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
867 if test "x$val" = "x$enableval"; then
873 if test x$build_sdl != xno -o x$build_sound_sdl = xyes; then
876 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} = xyes])
879 dnl -----------------------------------------------------
880 dnl Check for SDL and decide about auto gui accordingly.
881 dnl Need be done after build_sound_sdl and build_sdl are
882 dnl initialized and before they are checked for yes/no
883 dnl -----------------------------------------------------
884 if test x"${build_sdl}" = xauto; then
885 if test xyes = x"${has_sdl}"; then
888 AC_MSG_NOTICE([sdl GUI will not be built (no sdl development files found)])
893 dnl -------------------------------
894 dnl Renderer Selection
895 dnl -------------------------------
897 dnl By default, we want to to build all renderers
898 dnl DirectFB has both a device layer and a rendering layer, although
899 dnl currently the rendering part is incomplete. Configure support is
900 dnl included for development purposes.
902 dnl The OpenVG support works on both the desktop and embedded devices
903 dnl that don't run X11. It is supported by iPhone/iPad/Android
904 dnl devices, and the nouveau driver on the desktop.
906 dnl The OpenGLES1 renderer is a work in progress. It is originally
907 dnl based on a patch to Gnash 0.8.5, which of course not only didn't
908 dnl compile anymore, it was all hardcoded into the framebuffer
909 dnl code. This version compiles with the latest internal rendering
910 dnl API, and works properly with the glue code for the Gnash GUIs.
912 dnl OpenGL works, but suffers from performance and rendering quality
913 dnl problems. This should eventually be replacd by the OpenGLES1 and
916 dnl AGG is a software only renderer
919 renderer_list="agg cairo"
920 AC_ARG_ENABLE(renderer,
921 AC_HELP_STRING([--enable-renderer], [Enable support for the specified renderers (agg|cairo|opengl|openvg|all, default=all)]),
922 if test -n ${enableval}; then
923 if test "x${enableval}" != "xno" -o "x${enableval}" != "xnone" ; then
925 enableval=`echo ${enableval} | tr '\054' ' ' `
938 while test -n "${enableval}" ; do
939 val=`echo ${enableval} | cut -d ' ' -f 1`
951 renderer_list="agg cairo opengl openvg, opengles1"
958 ogl|OGL|OpenGL|opengl)
959 renderer_list="${renderer_list} opengl"
962 gles|GLES|gles1|GLES1)
963 renderer_list="${renderer_list} opengles1"
966 nrender=$((nrender+1))
968 ovg|OVG|OpenVG|openvg)
969 renderer_list="${renderer_list} openvg"
971 nrender=$((nrender+1))
974 renderer_list="${renderer_list} DirectFB"
976 nrender=$((nrender+1))
979 renderer_list="${renderer_list} agg"
983 renderer_list="${renderer_list} cairo"
986 *) AC_MSG_ERROR([invalid renderer specified: ${enableval} given (accept: (opengl|openvg|cairo|agg|all)])
989 enableval=`echo ${enableval} | cut -d ' ' -f 2-`
990 if test "x$val" = "x$enableval"; then
996 if test x"${build_ovg}" = xyes; then
998 dnl If OpenVG isn't installed, disable it
999 if test x"${has_openvg}" = xno; then
1000 AC_MSG_WARN([OpenVG specified but no development files found!])
1001 renderer_list=`echo ${renderer_list} | sed -e 's/ openvg//' `
1002 nrender=$((nrender-1))
1006 dnl VA API is used by default for all H.264 videos. HW requirements:
1007 dnl * AMD GPUs with UVD2 and xvba-video VA driver
1008 dnl * NVIDIA GPUs with vdpau-video VA driver
1009 dnl * All HW with a VA driver supporting the VA/GLX extensions or
1010 dnl vaPutSurface(Pixmap,...). This may include the Intel
1011 dnl Moorestown platform and future G45 VA driver.
1012 dnl NOTE: it is possible to use Gnash/VAAPI on platforms with an Intel
1013 dnl GMA500 but you currently will have to build the AGG renderer
1014 dnl instead of the OGL (OpenGL) one.
1015 build_vaapi_device=no
1016 build_openmax_device=no
1017 if test x"${build_ovg}" = xyes; then
1018 build_egl_device=yes
1023 build_directfb_device=no
1024 if test x"${build_fb}" = xyes -o x"${build_fb}" = xauto; then
1027 dnl AGG support for the framebuffer requires the rawfb device
1028 if test x"${build_fb_agg}" = xyes -a x"${build_agg}" = xyes; then
1029 build_rawfb_device=yes
1033 build_rawfb_device=no
1037 AC_ARG_ENABLE(device,
1038 AC_HELP_STRING([--enable-device], [Specify which hardware abstraction to use to support to enable (none,egl,directfb,rawfb,x11,vaapi)]),
1039 enableval=`echo ${enableval} | tr '\054' ' ' `
1041 build_rawfb_device=no
1044 while test -n "${enableval}" ; do
1045 val=`echo ${enableval} | cut -d ' ' -f 1`
1049 build_vaapi_device=no
1050 build_openmax_device=no
1052 build_directfb_device=no
1057 device_list="${device_list} VAAPI"
1058 build_vaapi_device=yes
1059 ndevice=$((ndevice+1))
1062 device_list="${device_list} EGL"
1063 build_egl_device=yes
1064 ndevice=$((ndevice+1))
1067 device_list="${device_list} X11"
1068 build_x11_device=yes
1069 ndevice=$((ndevice+1))
1072 device_list="${device_list} DirectFB"
1073 build_directfb_device=yes
1074 ndevice=$((ndevice+1))
1077 device_list="${device_list} RawFB"
1078 build_rawfb_device=yes
1079 ndevice=$((ndevice+1))
1082 device_list="EGL DirectFB X11"
1083 build_openmax_device=no
1084 build_vaapi_device=no
1085 build_egl_device=yes
1086 build_rawfb_device=yes
1087 build_directfb_device=no
1088 build_x11_device=yes
1092 device_list="${device_list} OpenMAX"
1093 build_openmax_device=yes
1094 ndevice=$((ndevice+1))
1096 *) AC_MSG_ERROR([invalid device feature specified: ${enableval} given (accept: none,vaapi)])
1099 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1100 if test "x$val" = "x$enableval"; then
1106 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi_device}" = x"yes"; then
1110 dnl if the version of FFmpeg is recent enough, (r20957, 52.45.0), then
1111 dnl look for VAAPI support so we can use use the VAAPI enabled FFmpeg.
1112 if test x"${have_ffmpeg_vaapi}" = xyes; then
1114 GNASH_PKG_FIND([libva],
1116 [Video Acceleration API],
1120 GNASH_PKG_FIND([libva_x11],
1122 [VA API (X11 display)],
1127 if test x$build_ogl = xyes; then
1129 GNASH_PKG_FIND([libva_glx],
1131 [VA API (GLX display)],
1139 dnl libVA drivers. We declare conditional for both the option being
1140 dnl selected, as well as whether or not it's found. This we can
1141 dnl generate better error handling if it's not found.
1142 AM_CONDITIONAL(USE_VAAPI, test x"${use_libva}" = xyes)
1144 dnl Until the hwaccel patches in FFmpeg wind up in the ffmpeg-plugin,
1145 dnl restrict using HW Accel to using FFmpeg directly.
1146 dnl test xyes = xyes -a ( x != xyes -o x != xyes )
1147 if test x"${build_vaapi}" = x"yes" -a x"${have_ffmpeg}" != x"yes"; then
1148 AC_MSG_ERROR(["Hardware acceleration currently not supported unless using FFmpeg."])
1151 AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = xyes)
1152 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
1153 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
1155 if test x"${build_egl_device}" = xyes; then
1156 GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
1157 if test xyes = x"${has_EGL}"; then
1158 AC_DEFINE(BUILD_EGL_DEVICE, [ 1 ],
1159 [Build the EGL device for OpenVG, OpenGLES1&2, and X11/Mesa])
1160 device_list="${device_list} EGL"
1161 ndevice=$((ndevice+1))
1163 AC_MSG_WARN(["EGL requested but development package not found!"])
1168 if test ${ndevice} -eq 0; then
1173 AM_CONDITIONAL(BUILD_DEVICES, test ${ndevice} -gt 0)
1175 dnl 16 bit: RGB555, RGB565
1176 dnl 24 bit: RGB24, BGR24
1177 dnl 32 bit: RGBA32, BGRA32
1179 AC_ARG_WITH(pixelformat,
1180 AC_HELP_STRING([--with-pixelformat=], [Use the specified pixel format for AGG (default=all)]),
1181 [if test -n ${withval}; then
1182 pixelformat="${withval}"
1183 withval=`echo ${withval} | tr '\054' ' ' `
1185 while test -n "${withval}" ; do
1186 val=`echo ${withval} | cut -d ' ' -f 1`
1189 # allow special value "all" set by user (handled below)
1192 AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32])
1195 AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32])
1198 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1201 AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24])
1204 AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32])
1207 AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24])
1210 AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555])
1213 AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565])
1215 *) AC_MSG_ERROR([invalid pixel format ${withval} given (accept: all|RGB555|RGB565|RGB24|BGR24|BGRA32|RGBA32|ARGB32|ABGR32)])
1218 withval=`echo ${withval} | cut -d ' ' -f 2-6`
1219 if test "x$val" = "x$withval"; then
1223 [if test x$build_haiku = xyes -a x$build_sdl != xyes; then
1224 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1229 if test x$pixelformat = xall; then
1230 if test x$build_agg = xyes; then
1231 ### The fact that we're building GTK doesn't mean we're not also
1232 ### building KDE or SDL, each needing its own pixel format !
1233 #if test x$build_gtk = xyes; then
1234 # AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1235 # pixelformat="RGB24"
1237 AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555 pixel format])
1238 AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565 pixel format])
1239 AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1240 AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24 pixel format])
1241 AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32 pixel format])
1242 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32 pixel format])
1243 AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32 pixel format])
1244 AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32 pixel format])
1249 if test x"${build_ogl}" != xno; then # yes or auto
1251 if test x"${build_ogl}" = xauto; then
1252 if test xyes = x"${has_opengl}"; then
1254 renderer_list="${renderer_list} opengl"
1261 AM_CONDITIONAL(BUILD_OVG_RENDERER, [ test x${build_ovg} = xyes ])
1262 AM_CONDITIONAL(BUILD_GLES1_RENDERER, [ test x${build_gles1} = xyes ])
1263 AM_CONDITIONAL(BUILD_GLES2_RENDERER, [ test x${build_gles2} = xyes ])
1264 AM_CONDITIONAL(BUILD_OGL_RENDERER, [ test x${build_ogl} = xyes])
1265 AM_CONDITIONAL(BUILD_AGG_RENDERER, [ test x${build_agg} = xyes ])
1266 AM_CONDITIONAL(BUILD_CAIRO_RENDERER, [ test x${build_cairo} = xyes ])
1268 if test x"${has_openvg}" = xyes; then
1269 AC_DEFINE([RENDERER_OPENVG], [1], [Use OpenVG renderer])
1272 if test x"${build_ogl}" = xyes; then
1273 AC_DEFINE([RENDERER_OPENGL], [1], [Use OpenGL renderer])
1276 if test x"${build_agg}" = xyes; then
1277 AC_DEFINE([RENDERER_AGG], [1], [Use AntiGrain renderer])
1280 if test x"${build_cairo}" = xyes; then
1281 GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1282 AC_DEFINE([RENDERER_CAIRO], [1], [Use cairo renderer])
1285 if test x"${build_agg}" = xyes; then
1289 AC_PATH_PROG(PERL, perl)
1290 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
1292 AC_PATH_PROG(CSOUND, csound)
1293 AM_CONDITIONAL(HAVE_CSOUND, test x"$CSOUND" != x)
1295 AC_PATH_PROG(GIT, git)
1298 dnl --------------------------------------------------------
1299 dnl Extension selection
1300 dnl --------------------------------------------------------
1309 extensions_support=yes
1311 AC_ARG_ENABLE(extensions,
1312 AC_HELP_STRING([--enable-extensions=], [Specify which extensions to build (default: none)])
1313 AC_HELP_STRING([--disable-extensions], [Disable support for extensions entirely]),
1314 if test -n ${enableval}; then
1315 if test "x${enableval}" != "xno"; then
1316 extlist="${enableval}"
1317 enableval=`echo ${enableval} | tr '\054' ' ' `
1318 AC_DEFINE([USE_EXTENSIONS], [1], [Specify that extension support is enabled.])
1322 extensions_support=no
1326 while test -n "${enableval}" ; do
1327 val=`echo ${enableval} | cut -d ' ' -f 1`
1328 extensions_list="${extensions_list} ${val}"
1330 dejagnu|DEJAGNU|dj|DJ)
1331 AC_DEFINE(USE_DEJAGNU_EXT, [1], [Build the DejaGnu extension])
1332 AC_MSG_NOTICE([Adding DejaGnu extension])
1334 nextensions=$((nextensions+1))
1336 mysql|MYSQL|sql|SQL)
1337 AC_DEFINE(USE_MYSQL_EXT, [1], [Build the MySQL extension])
1338 AC_MSG_NOTICE([Adding MySql extension])
1340 nextensions=$((nextensions+1))
1342 fileio|FILEIO|io|IO)
1343 AC_DEFINE(USE_FILEIO_EXT, [1], [Build the FileIO extension])
1344 AC_MSG_NOTICE([Adding FileIO extension])
1346 nextensions=$((nextensions+1))
1349 AC_DEFINE(USE_GTK_EXT, [1], [Build the GTK extension])
1351 nextensions=$((nextensions+1))
1354 AC_DEFINE(USE_LIRC_EXT, [1], [Build the LIRC extension])
1356 nextensions=$((nextensions+1))
1359 AC_DEFINE(USE_DBUS_EXT, [1], [Build the DBUS extension])
1361 nextensions=$((nextensions+1))
1364 AC_DEFINE(USE_GTK_EXT, [1], [Build all the extensions])
1374 *) AC_MSG_ERROR([invalid extension specified: ${enableval} given (accept: MYSQL|DEJAGNU|FILEIO|GTK|LIRC|DBUS|METOME|ALL)])
1377 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1378 if test "x$val" = "x$enableval"; then
1382 EXTENSIONS_LIST="$extensions_list"
1383 AC_SUBST(EXTENSIONS_LIST)
1386 if test x$ext_dbus = xyes; then
1390 if test x$ext_mysql = xyes; then
1394 AM_CONDITIONAL(BUILD_DEJAGNU_EXT, [ test x$ext_dejagnu = xyes ])
1395 AM_CONDITIONAL(BUILD_FILEIO_EXT, [ test x$ext_fileio = xyes ])
1396 AM_CONDITIONAL(BUILD_MYSQL_EXT, [ test x$ext_mysql = xyes ])
1397 AM_CONDITIONAL(BUILD_GTK_EXT, [ test x$ext_gtk = xyes ])
1398 AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes ])
1399 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
1400 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
1402 AM_CONDITIONAL(ENABLE_EXTENSIONS, [ test "x${extensions_support}" != "xno" ])
1404 dnl --------------------------------------------------------
1406 dnl --------------------------------------------------------
1409 AC_LIBTOOL_WIN32_DLL
1412 AC_SUBST(LIBTOOL_DEPS)
1414 DLPREOPEN="-dlpreopen"
1418 GNASH_PKG_FIND([ltdl], [ltdl.h], [libltdl library], [lt_dlinit])
1420 if test x"$has_ltdl" = x"yes";then
1421 AC_DEFINE(HAVE_LTDL, [1], [Libtool 2.x defines this, but libtool 1.5 does not])
1424 dnl --------------------------------------------------------
1426 dnl --------------------------------------------------------
1429 AC_HELP_STRING([--with-soldir],
1430 [directory for .sol files]),
1431 with_soldir=${withval})
1432 if test x${with_soldir} != x; then
1433 soldir=${with_soldir}
1438 dnl --------------------------------------------------------
1440 dnl --------------------------------------------------------
1441 dnl AC_ARG_ENABLE(avm2,
1442 dnl AC_HELP_STRING([--enable-avm2], [Enable support for AS3]),
1443 dnl [case "${enableval}" in
1444 dnl yes) avm2=yes ;;
1446 dnl *) AC_MSG_ERROR([bad value ${enableval} for enable-avm2 option]) ;;
1449 dnl AM_CONDITIONAL(ENABLE_AVM2, [test x"$avm2" = xyes])
1450 dnl if test x$avm2 = xyes; then
1451 dnl AC_DEFINE(ENABLE_AVM2, [1], [Enable AVM2 code])
1453 AM_CONDITIONAL(ENABLE_AVM2, false)
1455 dnl This option is only used if you want Gnash to interwork with
1456 dnl the Adobe player using the LocalConnection class.
1457 dnl lckey=0xdd3adabd
1459 AC_HELP_STRING([--with-lckey],
1460 [shared memory key for your system]),
1461 with_lckey=${withval})
1463 if test x${with_lckey} != x; then
1471 AC_ARG_ENABLE(python,
1472 AC_HELP_STRING([--enable-python],[Enable python for the python wrapper]),
1473 [case "${enableval}" in
1476 *) AC_MSG_ERROR([bad value ${enableval} for --enable-python option]) ;;
1479 dnl Look for python, which is optional. If enabled, a python loadable
1480 dnl module of Gnash is created.
1482 AM_CONDITIONAL([USE_PYTHON], test x"$python" = xyes)
1483 AM_CONDITIONAL([HAS_PYTHON], test x"$has_python" = xyes)
1485 dnl By default debug logging is enabled. For better performance, it can
1486 dnl be disabled, as when running as a plugin, nobody sees the debug messages
1487 dnl anyway. Debug logging is primarily for developers, so we can turn it off
1488 dnl for package builds.
1490 AC_HELP_STRING([--enable-log],[Enable debug logging]),
1491 [case "${enableval}" in
1492 yes) debuglog=yes ;;
1494 *) AC_MSG_ERROR([bad value ${enableval} for --enable-log option]) ;;
1497 if test x"${debuglog}" = x"yes"; then
1498 AC_DEFINE([DEBUG_LOGGING], [1], [Enable debug logging])
1501 # Maybe use jemalloc, which handles memory fragmentation for
1502 # ECAMscript languages better than the regular system malloc.
1503 # This seems like a good idea, as both the other player and
1504 # Mozilla/Firefox both recently switched to using jemalloc.
1505 AC_ARG_ENABLE(jemalloc,
1506 AC_HELP_STRING([--enable-jemalloc],[Enable jemalloc instead of system malloc]),
1507 [case "${enableval}" in
1508 yes) jemalloc=yes ;;
1510 *) AC_MSG_ERROR([bad value ${enableval} for --enable-jemalloc option]) ;;
1513 AC_CHECK_SIZEOF([void *], [4])
1515 if test "x${ac_cv_sizeof_void_p}" != x4 -a x"${ac_cv_sizeof_void_p}" != x8; then
1516 dnl jemalloc doesn't support unusual pointer sizes
1520 dnl There is some weird stuff going on with NetBSD and jemalloc, so don't
1521 dnl build it for now.
1522 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
1525 dnl If the compiler doesn't have local thread storage enabled, don't try to
1527 if test x"${jemalloc}" = x"yes"; then
1528 AC_TRY_COMPILE([], [
1529 extern __thread int global_i; ],
1530 has_local_thread_storage=yes
1532 if test x"${has_local_thread_storage}" = x"yes"; then
1533 AC_DEFINE([HAVE_LOCAL_THREAD_STORAGE], [1], [Has __thread (local thread storage) support])
1534 AC_DEFINE([USE_JEMALLOC], [], [Use jemalloc instead of system malloc])
1540 dnl We can search libs for mallinfo to decide whether we have it or not.
1541 dnl This is added to the linker flags when it's found. Usually it's -lc, but
1542 dnl on OpenSolaris it's -lmalloc, so this fixes the build.
1543 AC_SEARCH_LIBS([mallinfo], [c malloc],
1544 AC_DEFINE(HAVE_MALLINFO, [1], [Has mallinfo()])
1548 AM_CONDITIONAL([HAVE_MALLINFO], test x$mallinfo = xyes)
1549 AM_CONDITIONAL(JEMALLOC, test x$jemalloc = xyes)
1551 AC_ARG_ENABLE(fps-debug,
1552 AC_HELP_STRING([--enable-fps-debug],[Enable FPS debugging code]),
1553 [case "${enableval}" in
1554 yes) AC_DEFINE([GNASH_FPS_DEBUG], [1], [Enable FPS debugging code])
1557 dnl IPC_INFO isn't portable, and doesn't exist on BSD
1558 AC_TRY_COMPILE([#include <sys/ipc.h> #include <sys/shm.h>], [
1559 int flag = IPC_INFO; ],
1560 AC_DEFINE([HAVE_IPC_INFO], [1], [Use ipc_info])
1563 dnl --------------------------------------------------------
1565 dnl --------------------------------------------------------
1566 dnl Don't add the GUI menu. Some educational systems think this adds
1567 dnl clutter and confusion, like on the OLPC.
1568 AC_ARG_ENABLE(menus,
1569 AC_HELP_STRING([--disable-menus],[Disable the GUI menus]),
1570 [case "${enableval}" in
1573 *) AC_MSG_ERROR([bad value ${enableval} for --disable-menus option]) ;;
1576 if test x"$menus" = x"yes"; then
1577 AC_DEFINE([USE_MENUS], [], [GUI Menu support])
1579 AM_CONDITIONAL(MENUS, test x$menus = xyes)
1581 dnl --------------------------------------------------------
1582 dnl Disable SWF information
1583 dnl --------------------------------------------------------
1584 dnl Don't gather SWF information in tree form. This takes
1585 dnl resources and memory that can be saved if there's no
1586 dnl need to examine SWF internals.
1587 AC_ARG_ENABLE(swftree,
1588 AC_HELP_STRING([--disable-swftree],[Disable showing SWF properties]),
1589 [case "${enableval}" in
1592 *) AC_MSG_ERROR([bad value ${enableval} for --disable-swf-properties option]) ;;
1595 if test x"$swftree" = x"yes"; then
1596 AC_DEFINE([USE_SWFTREE], [], [View SWF information])
1598 AM_CONDITIONAL(SWFTREE, test x$swftree = xyes)
1600 dnl --------------------------------------------------------
1601 dnl Disable testsuite
1602 dnl --------------------------------------------------------
1603 dnl Disable running any tests for "make check". This may sound stupid, but
1604 dnl this option is designed to solely be used by maintainers in the
1605 dnl DISTCHECK_CONFIGURE_FLAGS when building packages. Gnash's testing infrastructure
1606 dnl is complex, and often the the testsuites will work, but due to some obscure reason,
1607 dnl make distcheck fails.
1608 AC_ARG_ENABLE(testsuite,
1609 AC_HELP_STRING([--disable-testsuite],[Disable the testsuite, maintainers option only]),
1610 [case "${enableval}" in
1611 yes) testsuite=yes ;;
1613 *) AC_MSG_ERROR([bad value ${enableval} for --disable-testsuite option]) ;;
1614 esac],testsuite=yes)
1616 if test x"$testsuite" = x"yes"; then
1617 AC_DEFINE([USE_TESTSUITE], [], [Testsuite support, maintainers option only])
1619 AM_CONDITIONAL(TESTSUITE, test x$testsuite = xyes)
1621 dnl --------------------------------------------------------
1622 dnl Write the file to disk in the plugin
1623 dnl --------------------------------------------------------
1624 AC_ARG_ENABLE(write,
1625 AC_HELP_STRING([--enable-write], [Makes the Mozilla plugin write the currently playing SWF movie to /tmp.]),
1626 [case "${enableval}" in
1629 *) AC_MSG_ERROR([bad value ${enableval} for --enable-write option]) ;;
1632 if test x"$write" = x"yes"; then
1633 AC_DEFINE([WRITE_FILE], [], [Write files while streaming])
1636 dnl --------------------------------------------------------
1637 dnl Write a standalone gnash launcher to disk from the plugin
1638 dnl --------------------------------------------------------
1639 AC_ARG_ENABLE(sa-launcher,
1640 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.]),
1641 [case "${enableval}" in
1642 yes) sa_launcher=yes ;;
1643 no) sa_launcher=no ;;
1644 *) AC_MSG_ERROR([bad value ${enableval} for --enable-sa-launcher option]) ;;
1645 esac],sa_launcher=yes)
1647 if test x"$sa_launcher" = x"yes"; then
1648 AC_DEFINE([CREATE_STANDALONE_GNASH_LAUNCHER], [], [Add support for writing a standalone executable launcher for movies embedded in web pages])
1651 dnl --------------------------------------------------------
1652 dnl Build the cygnal server if specified.
1653 dnl --------------------------------------------------------
1654 AC_ARG_ENABLE(cygnal,
1655 AC_HELP_STRING([--enable-cygnal], [Enable building of the Cygnal server]),
1656 [case "${enableval}" in
1659 *) AC_MSG_ERROR([bad value ${enableval} for enable-cygnal option]) ;;
1661 AM_CONDITIONAL(CYGNAL, test x$cygnal = xyes)
1663 dnl --------------------------------------------------------
1664 dnl Build the cgibins server if specified.
1665 dnl --------------------------------------------------------
1666 AC_ARG_ENABLE(cgibins,
1667 AC_HELP_STRING([--enable-cgibins], [Enable building of the CGIs for Cygnal]),
1668 [case "${enableval}" in
1671 *) AC_MSG_ERROR([bad value ${enableval} for enable-cgibins option]) ;;
1673 AM_CONDITIONAL(USE_CGI, test x$cgibin = xyes)
1674 if test x"${cgibin}" = x"yes"; then
1675 AC_DEFINE([USE_CGIBIN], [1], [Enable cgi-bin processes for Cygnal])
1678 dnl --------------------------------------------------------
1680 dnl --------------------------------------------------------
1681 dnl Add an option for double buffering when rendering, currently only used by
1682 dnl the frmaebuffer GUI.
1683 dnl If defined, an internal software-buffer is used for rendering and is then
1684 dnl copied to the video RAM. This avoids flicker and is faster for complex
1685 dnl graphics, as video RAM access is usually slower. (strongly suggested)
1686 AC_ARG_ENABLE(doublebuf,
1687 AC_HELP_STRING([--disable-doublebuf], [Disble support for double buffering when rendering with AGG]),
1688 [case "${enableval}" in
1689 yes) doublebuf=yes ;;
1691 *) AC_MSG_ERROR([bad value ${enableval} for enable-doublebuf option]) ;;
1692 esac], doublebuf=yes
1694 AM_CONDITIONAL(ENABLE_DBUF, [test x"$doublebuf" = xyes])
1695 if test x$doublebuf = xyes; then
1696 AC_DEFINE(ENABLE_DOUBLE_BUFFERING, [1], [Disable double buffering for AGG])
1699 dnl --------------------------------------------------------
1700 dnl Offscreen buffer
1701 dnl --------------------------------------------------------
1702 dnl This enables rendering to an offscreen buffer, instead of directly to window
1703 AC_ARG_ENABLE(offscreen,
1704 AC_HELP_STRING([--enable-offscreen], [Enable support for rendering offscreen]),
1705 [case "${enableval}" in
1706 yes) offscreen=yes ;;
1708 *) AC_MSG_ERROR([bad value ${enableval} for enable-offscreen option]) ;;
1713 dnl --------------------------------------------------------
1714 dnl SSH support selection
1715 dnl --------------------------------------------------------
1716 dnl Enable using libssh with libnet
1718 AC_HELP_STRING([--enable-ssh], [Enable using SSH for network authentication]),
1719 [case "${enableval}" in
1720 yes) build_ssh=yes ;;
1722 *) AC_MSG_ERROR([bad value ${enableval} for --enable-ssh option]) ;;
1723 esac], build_ssh=no)
1725 AM_CONDITIONAL(BUILD_SSH, test x"${build_ssh}" = xyes)
1726 if test x"${build_ssh}" = xyes; then
1727 GNASH_PKG_FIND(ssh, [libssh/libssh.h], [libssh library], ssh_socket_init)
1728 dnl GNASH_PKG_FIND(poppler, [popt.h], [Poppler library], poppler_init)
1730 if test x"${has_ssh}" = x"yes"; then
1731 AC_DEFINE([USE_SSH], [1], [Use SSH for authentication])
1734 dnl --------------------------------------------------------
1735 dnl SSL support selection
1736 dnl --------------------------------------------------------
1738 dnl Enable using OpenSSL with libnet.
1740 AC_HELP_STRING([--enable-ssl], [Enable using OpenSSL directly]),
1741 [case "${enableval}" in
1742 yes) build_ssl=yes ;;
1744 *) AC_MSG_ERROR([bad value ${enableval} for --enable-ssl option]) ;;
1745 esac], build_ssl=no)
1749 AM_CONDITIONAL(BUILD_SSL, test x"${build_ssl}" = xyes)
1751 AC_HELP_STRING([--with-cert],
1752 [cert file for SSL]),
1753 with_cert=${withval})
1755 AC_HELP_STRING([--with-pe],
1756 [pem file for SSL]),
1757 with_pem=${withval})
1759 if test x"${build_ssl}" = xyes; then
1760 GNASH_PKG_FIND(ssl, [openssl/ssl.h], [OpenSSL library], SSL_library_init)
1762 if test x"${has_ssl}" = x"yes"; then
1763 AC_DEFINE([USE_SSL], [1], [Use SSL for authentication])
1766 dnl -----------------------------------------------------------
1767 dnl Set the general plugins install policy here
1768 dnl (NOTE: before GNASH_PATH_FIREFOX and GNASH_PATH_KDE*)
1769 dnl -----------------------------------------------------------
1771 AC_ARG_WITH(plugins-install,
1772 AC_HELP_STRING([--with-plugins-install=system|user|prefix], [Policy for plugins install. Default: user.]),
1773 [case "${withval}" in
1774 user) PLUGINS_INSTALL_POLICY=user ;;
1775 system) PLUGINS_INSTALL_POLICY=system ;;
1776 prefix) PLUGINS_INSTALL_POLICY=prefix ;;
1777 *) AC_MSG_ERROR([bad value ${withval} for --with-plugins-install]) ;;
1779 ], PLUGINS_INSTALL_POLICY=user)
1781 dnl -----------------------------------------------------------
1782 dnl Verify dependencies for requested GUIs are met, and
1783 dnl disable build of the GUIS for which deps are NOT met
1784 dnl ------------------------------------------------------------
1786 if test x$build_gtk = xyes; then
1789 GNASH_PKG_FIND(atk, [atk/atk.h], [atk library], atk_focus_tracker_init, [1.0])
1790 if test x"${build_ogl}" = xyes; then
1793 if test x"${build_cairo}" = xyes; then
1794 GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1798 if test x"${build_qt4}" != xno; then
1802 if test x"${build_qt4}" = xauto; then
1803 if test x"${has_qt4}" = xyes; then
1810 if test x"${build_kde3}" != xno -o x"${build_qtopia3}" != xno; then
1814 if test x"${build_kde3}" != xno; then
1819 if test x"${build_kde3}" = xauto; then
1820 if test x"${has_qt3}" = xyes -a x"${has_kde3}" = xyes; then
1827 dnl Check possibility to build DUMP gui, if requested
1828 if test x"${build_dump}" != xno; then
1829 if test x"${build_agg}" = xyes; then
1832 if test x"${build_dump}" = xyes; then
1833 dnl SHOULD we just check at the end of file instead ?
1834 AC_MSG_ERROR(dump GUI cannot be built without AGG renderer);
1840 dnl Check possibility to build FB gui, if requested
1841 dnl FB dependency is a linux system (linux/fb.h)
1842 if test x"${build_fb}" != xno; then
1843 if test x"${linux}" = xyes; then
1846 if test x"${build_fb}" = xyes; then
1847 dnl SHOULD we just check at the end of file instead ?
1848 AC_MSG_ERROR(fb GUI cannot be built on non-linux platforms);
1850 AC_MSG_NOTICE([fb GUI won't be built (non-linux platform)])
1855 dnl TODO: add checks for all other GUIs
1857 dnl -------------------------------
1858 dnl Input Device selection
1859 dnl -------------------------------
1861 dnl Multiple input devices are supported. These can all work in
1862 dnl varying combinations, so several may be listed. These are only
1863 dnl required when using the Framebuffer, as without the X11 desktop,
1864 dnl Gnash has to handle all these internally. This can get
1865 dnl messy, as one might want to use a touchscreen with a normal mouse
1866 dnl or keyboard attached.
1867 dnl By default, don't build any of these, as they are only for the Framebuffer
1868 dnl running without X11.
1869 if test x"${build_fb}" = xyes; then
1871 build_ps2keyboard=no
1872 build_input_events=yes
1874 input_events="PS/2 Mouse, Input Devices, Touchscreen via Tslib"
1877 build_ps2keyboard=no
1878 build_input_events=no
1882 AC_ARG_ENABLE(input,
1883 AC_HELP_STRING([--enable-input=], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
1884 [if test -n ${enableval}; then
1885 enableval=`echo ${enableval} | tr '\054' ' ' `
1887 while test -n "${enableval}" ; do
1888 val=`echo ${enableval} | cut -d ' ' -f 1`
1890 ps2m*|PS2m*|m*|M*) dnl a PS/2 style mouse
1892 input_events="${input_events}, PS/2 Mouse"
1894 ps2k*|PS2K*|k*|K*) dnl a PS/2 style keyboard
1895 build_ps2keyboard=yes
1896 input_events="${input_events}, PS/2 Keyboard"
1898 i*|I*|ev*|Ev*) dnl use the new Input Event, which supports both
1899 input_events="${input_events}, Input Event Device"
1900 build_input_events=yes
1902 t*|T*) dnl use a touchscreen with tslib, which works like a mouse
1904 input_events="${input_events}, Touchscreen"
1906 *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
1909 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1910 if test "x$val" = "x$enableval"; then
1916 if test x"${build_tslib}" = xyes; then
1917 AC_DEFINE(USE_TSLIB, [1], [Use a tslib supported touchscreen])
1918 GNASH_PKG_FIND(ts, [tslib.h], [Touchscreen library], ts_config)
1920 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} != xno])
1922 if test x"${build_ps2mouse}" = xyes; then
1923 AC_DEFINE(USE_MOUSE_PS2, [1], [Add support for a directly using a PS/2 Mouse])
1925 AM_CONDITIONAL(ENABLE_MOUSE, [test x"${build_ps2mouse}" = xyes])
1927 if test x"${build_ps2keyboard}" = xyes; then
1928 AC_DEFINE(USE_KEYBOARD_PS2, [1], [Add support for directly using a PS/2 Keyboard])
1930 if test x"${build_input_events}" = xyes; then
1931 AC_DEFINE(USE_INPUT_EVENTS, [1], [Add support for a directly using Linux Input Event Devices])
1933 AM_CONDITIONAL(ENABLE_INPUT_EVENTS, [test x"${build_input_events}" = xyes])
1934 dnl this is enabled if we have any input devices at all
1935 AM_CONDITIONAL(ENABLE_INPUT_DEVICES, [test x"${input_events}" != x])
1938 dnl -----------------------------------------------------------
1939 dnl Try to ignore stupid dependencies
1940 dnl -----------------------------------------------------------
1942 AC_MSG_CHECKING(linker --as-needed support)
1943 gcc_cv_ld_as_needed=no
1944 # Check if linker supports --as-needed and --no-as-needed options
1945 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1946 gcc_cv_ld_as_needed=yes
1948 if test x"$gcc_cv_ld_as_needed" = xyes; then
1949 LDFLAGS="$LDFLAGS -Wl,--as-needed"
1951 AC_MSG_RESULT($gcc_cv_ld_as_needed)
1953 AC_DEFINE(USE_GIF, [1], [Use the GIF library])
1954 AC_DEFINE(USE_PNG, [1], [Use the PNG library])
1955 AM_CONDITIONAL(USE_GIF, true)
1956 AM_CONDITIONAL(USE_PNG, true)
1958 AC_PATH_TOOL([AUTOTRACE], [autotrace])
1961 dnl -----------------------------------------------------------------
1962 dnl PLUGIN RELATED STUFF
1963 dnl -----------------------------------------------------------------
1965 dnl !! This has been moved here to make --enable-npapi work
1966 dnl !! All of plugin-related macro calls could be moved into
1967 dnl !! a specialized macros/plugin.m4
1969 dnl ----------------------------------------------------
1970 dnl Add KPARTS support, if specified or KDE gui is built
1971 dnl ----------------------------------------------------
1973 AC_ARG_ENABLE(kparts3,
1974 AC_HELP_STRING([--disable-kparts3], [Disable support for Konqueror 3.x plugin (default: enabled if kde3 gui is)]),
1975 [case "${enableval}" in
1976 yes) build_kparts3=yes ;;
1977 no) build_kparts3=no ;;
1978 *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
1979 esac],build_kparts3=$build_kde3)
1981 dnl --------------------------------------------------------
1982 dnl Add KPARTS 4.x support, if specified or KDE gui is built
1983 dnl --------------------------------------------------------
1985 AC_ARG_ENABLE(kparts4,
1986 AC_HELP_STRING([--disable-kparts4], [Disable support for Konqueror 4.x plugin (default: enabled if Qt4 gui is)]),
1987 [case "${enableval}" in
1988 yes) build_kparts4=yes ;;
1989 no) build_kparts4=no ;;
1990 *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
1991 esac],build_kparts4=$build_qt4)
1993 if test x"${build_kparts4}" != xno; then
1997 dnl -----------------------------------------------------------
1998 dnl Add NPAPI support, if specified or GTK or Qt4 gui is built
1999 dnl -----------------------------------------------------------
2001 AC_ARG_ENABLE(npapi,
2002 AC_HELP_STRING([--disable-npapi], [Disable NPAPI plugin build (default: enabled if gtk or Qt4 gui is)]),
2003 [case "${enableval}" in
2006 *) AC_MSG_ERROR([bad value ${enableval} for disable-npapi option]) ;;
2008 if test x$build_gtk = xyes -o x$build_qt4 = xyes; then
2013 if test x"$npapi" = x"yes"; then
2017 dnl -----------------------------------------------------------------
2018 dnl Enable us to disable building all browser plugins in one command.
2019 dnl -----------------------------------------------------------------
2021 AC_ARG_ENABLE(plugins,
2022 AC_HELP_STRING([--disable-plugins], [Disable all browser plugins from building (default=no)]),
2023 [case "${enableval}" in
2026 *) AC_MSG_ERROR([bad value ${enableval} for disable-plugins option]) ;;
2030 if test x$plugins = xno; then
2040 dnl New versions of the NPAPI require const for this prototype, which currently
2041 dnl seems to only be wit Ubuntu Oneiric.
2042 AC_MSG_CHECKING([for const needed for NPP_GetMIMEDescription() prototype])
2043 npapi_flags="`echo "${NPAPI_CFLAGS}" | sed -e 's/-I//' -e 's/-DXP_UNIX//' | tr -d ' '`/npapi.h"
2044 const_test="`grep NPP_GetMIMEDescription ${npapi_flags} | grep -c const`"
2045 if test ${const_test} -eq 1; then
2046 AC_DEFINE(NPAPI_CONST, [1], [Newer versions use const in prototypes])
2047 AC_MSG_RESULT([yes])
2052 AC_TRY_COMPILE([#include <linux/input.h>], [
2053 struct input_absinfo abs;
2054 abs.resolution = 0;; ],
2055 AC_DEFINE([ABSINFO_RESOLUTION], [1], [ABS Resolution field])
2058 dnl -----------------------------------------------------------------
2059 dnl END OF PLUGIN RELATED STUFF
2060 dnl -----------------------------------------------------------------
2062 AM_CONDITIONAL(LIRC, [test x$lirc_ext = xyes])
2064 AC_CHECK_HEADERS(getopt.h)
2065 AC_CHECK_HEADERS(libgen.h)
2066 AC_CHECK_HEADERS(pwd.h)
2067 AC_CHECK_HEADERS(sys/utsname.h)
2068 AC_CHECK_HEADERS(signal.h)
2069 AC_CHECK_HEADERS(unistd.h)
2070 AC_CHECK_HEADERS(sys/time.h)
2071 AC_CHECK_LIB(bz2, BZ2_bzopen, [AC_SUBST(BZ2_LIBS, -lbz2)])
2072 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
2074 dnl X11 is needed for fltk (at least),
2075 dnl and probably for many other guis too ...
2076 dnl if ! test x$build_fb = xyes; then # <--- this is wrong as build_x is non-exclusive
2078 dnl AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
2079 dnl AC_CHECK_LIB(gmp, _gmp_get_memory_functions)
2081 AC_CHECK_LIB(Xi, XInput_find_display)
2082 AC_CHECK_LIB(X11, XDisableAccessControl)
2084 AM_CONDITIONAL(HAVE_X11, [test x${has_x11} = xyes])
2085 if test x${build_x11_device} = xyes -a x${has_x11} = xyes; then
2086 AC_DEFINE(BUILD_X11_DEVICE, [1], [Build the X11 device])
2089 dnl See if ipc_perm structure has the ipc_perm.key field, and if so,
2090 dnl which variant of the name is used.
2093 #include <sys/ipc.h>
2094 #include <sys/shm.h>], [
2095 struct shmid_ds shmseg;
2096 key_t x = shmseg.shm_perm.key;],
2098 AC_DEFINE(IPC_PERM_KEY, [key], [Has the key field in ipc_perm])
2101 if test x$ipc_key = xno; then
2103 #include <sys/ipc.h>
2104 #include <sys/shm.h>], [
2105 struct shmid_ds shmseg;
2106 key_t x = shmseg.shm_perm.__key;],
2107 AC_DEFINE(IPC_PERM_KEY, [__key], [Has the key field in ipc_perm])
2112 AC_CACHE_CHECK([for finite], ac_cv_finite,
2115 #ifdef HAVE_IEEEFP_H
2118 [double x; int y; y = finite(x);],
2122 if test x"$ac_cv_finite" = x"yes"; then
2123 AC_SEARCH_LIBS(finite, m,
2124 [AC_DEFINE(HAVE_FINITE, [1], [Has finite])]
2129 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
2130 [AC_TRY_COMPILE([#include <cmath>],
2131 [using namespace std; double x; int y; y = isfinite(x);],
2136 if test x"$ac_cv_isfinite" = x"yes"; then
2137 dnl Don't give up if isfinite is not found in -lm
2138 dnl isfinite is defined as a macro in C99.
2139 AC_SEARCH_LIBS(isfinite, m)
2140 AC_DEFINE(HAVE_ISFINITE, [1], [Has isfinite])
2144 AC_CACHE_CHECK([whether $CXX implements __PRETTY_FUNCTION__], ac_cv_implements___PRETTY_FUNCTION__, [
2145 AC_TRY_LINK([#include <cstdio>
2147 [ std::printf("%s", __PRETTY_FUNCTION__); ],
2148 [ ac_cv_implements___PRETTY_FUNCTION__="yes" ],
2149 [ ac_cv_implements___PRETTY_FUNCTION__="no" ]
2152 if test "x$ac_cv_implements___PRETTY_FUNCTION__" = "xyes" ; then
2153 AC_DEFINE(HAVE_PRETTY_FUNCTION, [1], [__PRETTY_FUNCTION__ is defined])
2156 AC_CACHE_CHECK([whether $CXX implements __FUNCTION__], ac_cv_implements___FUNCTION__, [
2157 AC_TRY_LINK([#include <cstdio>
2159 [ std::printf("%s", __FUNCTION__); ],
2160 [ ac_cv_implements___FUNCTION__="yes" ],
2161 [ ac_cv_implements___FUNCTION__="no" ]
2164 if test "x$ac_cv_implements___FUNCTION__" = "xyes" ; then
2165 AC_DEFINE(HAVE_FUNCTION, [1], [__FUNCTION__ is defined])
2168 AC_CACHE_CHECK([whether $CXX implements __func__], ac_cv_implements___func__, [
2169 AC_TRY_LINK([#include <cstdio>
2171 [ std::printf("%s", __func__); ],
2172 [ ac_cv_implements___func__="yes" ],
2173 [ ac_cv_implements___func__="no" ]
2176 if test "x$ac_cv_implements___func__" = "xyes" ; then
2177 AC_DEFINE(HAVE_func, [1], [__func__ is defined])
2180 AC_REPLACE_FUNCS(getopt)
2182 dnl Date portability stuff, used in server/asobj/Date.cpp
2183 AC_CHECK_FUNCS(gettimeofday)
2184 AC_CHECK_FUNCS(ftime)
2185 AC_CHECK_FUNCS(tzset)
2186 AC_CHECK_FUNCS(localtime_r)
2188 AC_CACHE_CHECK([whether struct tm has tm_gmtoff], ac_cv_tm_gmtoff, [
2190 /* ctime(1) says "The glibc version of struct tm has additional fields
2191 * defined when _BSD_SOURCE was set before including <time.h>"
2192 * In practice, you do not need to define it yourself (tested on glibc-2.2.1
2193 * and 2.3.6) but if you *do* define it yourself, it makes *all* functions
2194 * favour BSD-like behaviour over of GNU/POSIX, which seems dangerous.
2196 // #define _BSD_SOURCE 1
2199 [ struct tm tm; long l = tm.tm_gmtoff; ],
2200 [ ac_cv_tm_gmtoff="yes" ],
2201 [ ac_cv_tm_gmtoff="no" ]
2204 if test "x$ac_cv_tm_gmtoff" = "xyes" ; then
2205 AC_DEFINE(HAVE_TM_GMTOFF, [1], [struct tm has member tm_gmtoff])
2208 AC_CACHE_CHECK([whether timezone is a long], ac_cv_long_timezone, [
2210 /* On Linux/glibc, tzset(3) says "extern long timezone;" (seconds West of GMT)
2211 * but on BSD char *timezone(int,int) is a function returning a string name.
2212 * The BSD function timegm() may be the equivalent, but this should
2213 * not be necessary because on BSD the code should use tm.tm_gmtoff instead
2214 * (use of long timezone is a fallback strategy for when tm_gmtoff exists not).
2218 extern long timezone;
2220 [ printf("%ld", timezone); ],
2221 [ ac_cv_long_timezone="yes" ],
2222 [ ac_cv_long_timezone="no" ]
2225 if test "x$ac_cv_long_timezone" = "xyes" ; then
2226 AC_DEFINE(HAVE_LONG_TIMEZONE, [1], [extern timezone is a long integer, not a function])
2229 AC_CHECK_FUNCS(sysconf)
2230 AC_CHECK_FUNCS(shmget shmat shmdt mmap)
2231 AC_CHECK_FUNCS(scandir) dnl supported by BSD and Linux, but you never know...
2232 AC_CHECK_LIB(rt, clock_gettime)
2233 AC_CHECK_FUNC(clock_gettime, AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Has clock_gettime()] ))
2234 dnl Look for Win32 networking stuff
2235 AC_CHECK_HEADERS(winsock.h)
2236 AC_CHECK_HEADERS(winsock2.h)
2238 GNASH_PKG_FIND(nspr, [nspr.h], [Netscape Portable Runtime (NSPR)], PR_Init)
2240 AC_PATH_TOOL(WINDRES, [windres])
2243 GNASH_PKG_FIND(z, [zlib.h], [zlib compression library], compress)
2244 GNASH_PKG_FIND(jpeg, [jpeglib.h], [jpeg images], jpeg_mem_init)
2245 GNASH_PKG_FIND(png, [png.h], [png images], png_info_init)
2246 GNASH_PKG_FIND(gif, [gif_lib.h], [gif images], DGifOpen)
2247 if test x"${GIF_LIBS}" = x ; then
2248 GNASH_PKG_FIND(ungif, [gif_lib.h], [gif images], DGifOpen)
2249 GIF_LIBS=${UNGIF_LIBS}
2250 GIF_CFLAGS=${UNGIF_CFLAGS}
2252 if test x"$testsuite" = x"yes"; then
2253 GNASH_PKG_INCLUDES([dejagnu], [dejagnu.h])
2256 GNASH_PKG_FIND(speex, [speex.h], [speex audio codec], speex_decode_int)
2257 AM_CONDITIONAL(HAVE_SPEEX, [ test x$has_speex = xyes ])
2258 if test x$has_speex = xyes ; then
2259 AC_DEFINE([DECODING_SPEEX], [1], [Speex codec available])
2262 GNASH_PKG_FIND(speexdsp, [speex_resampler.h], [speex DSP utilities], speex_resampler_process_int)
2263 if test x$has_speexdsp = xyes ; then
2264 AC_DEFINE([RESAMPLING_SPEEX], [1], [Speex resampler available])
2267 dnl Find freetype and fontconfig
2268 GNASH_PATH_FREETYPE2
2269 GNASH_PKG_FIND(fontconfig, [fontconfig/fontconfig.h], [fontconfig library], FcFontMatch)
2271 if test x$cross_compiling = xno; then
2275 if test x"$MING_VERSION_CODE" = x; then
2276 MING_VERSION_CODE=00000000
2279 AM_CONDITIONAL(ENABLE_MING,
2280 [ test x"$MAKESWF" != x -a $MING_VERSION_CODE -gt 00040000 ])
2282 AM_CONDITIONAL(MING_VERSION_0_4,
2283 [ test $MING_VERSION_CODE -ge 00040000 ])
2284 AM_CONDITIONAL(MAKESWF_SUPPORTS_PREBUILT_CLIPS,
2285 [ test $MING_VERSION_CODE -ge 00040002 ])
2286 AM_CONDITIONAL(MING_SUPPORTS_INIT_ACTIONS,
2287 [ test $MING_VERSION_CODE -ge 00040004 ])
2288 AM_CONDITIONAL(MING_SUPPORTS_REPLACE_TAG,
2289 [ test $MING_VERSION_CODE -ge 00040005 ])
2290 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_ADD_CHARACTER,
2291 [ test $MING_VERSION_CODE -ge 00040005 ])
2292 AM_CONDITIONAL(MING_SUPPORTS_STREAMING_SOUND,
2293 [ test $MING_VERSION_CODE -ge 00040006 ])
2294 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_SET_DEPTH,
2295 [ test $MING_VERSION_CODE -ge 00040006 ])
2296 AM_CONDITIONAL(MING_VERSION_0_4_3,
2297 [ test $MING_VERSION_CODE -ge 00040300 ])
2298 AM_CONDITIONAL(MING_VERSION_0_4_4,
2299 [ test $MING_VERSION_CODE -ge 00040400 ])
2301 if test x$cross_compiling = xno; then
2302 AC_ARG_WITH([swfdec_testsuite],
2303 AC_HELP_STRING([--with-swfdec-testsuite],
2304 [directory where swfdec testsuite (the 'test' dir) is]),
2305 if test x"${withval}" = xyes; then
2307 dir=`cd ${dir} && pwd`
2308 withval="${dir}/testsuite/swfdec/src/test"
2310 SWFDEC_TESTSUITE=${withval}
2312 AC_SUBST(SWFDEC_TESTSUITE)
2314 AM_CONDITIONAL(ENABLE_SWFDEC_TESTSUITE, [ test x"$SWFDEC_TESTSUITE" != x ])
2316 if test x$cross_compiling = xno; then
2317 AC_ARG_ENABLE([http_testsuite],
2318 dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2319 AC_HELP_STRING([--enable-http-testsuite=<baseurl>],
2320 [Enable http based testsuite (default url is http://www.gnashdev.org/testcases)]),
2321 [case "${enableval}" in
2322 no) HTTP_TESTSUITE="" ;;
2323 yes) HTTP_TESTSUITE="http://www.gnashdev.org/testcases" ;;
2324 *) HTTP_TESTSUITE="${enableval}";;
2326 AC_SUBST(HTTP_TESTSUITE)
2328 AM_CONDITIONAL(ENABLE_HTTP_TESTSUITE, [ test x"$HTTP_TESTSUITE" != x ])
2330 if test x$cross_compiling = xno; then
2331 AC_ARG_ENABLE([red5_testing],
2332 dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2333 AC_HELP_STRING([--enable-red5-testing=<host>],
2334 [Enable red5 based testing (default host is www.gnashdev.org)]),
2335 [case "${enableval}" in
2337 yes) RED5_HOST="www.gnashdev.org" ;;
2338 *) RED5_HOST="${enableval}";;
2342 AM_CONDITIONAL(ENABLE_RED5_TESTING, [ test x"$RED5_HOST" != x ])
2344 if test x$cross_compiling = xno; then
2345 AC_ARG_ENABLE([rtmpy_testing],
2346 dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2347 AC_HELP_STRING([--enable-rtmpy-testing=<host>],
2348 [Enable rtmpy based testing (default host is www.gnashdev.org)]),
2349 [case "${enableval}" in
2350 no) RTMPY_HOST="" ;;
2351 yes) RTMPY_HOST="www.gnashdev.org" ;;
2352 *) RTMPY_HOST="${enableval}";;
2354 AC_SUBST(RTMPY_HOST)
2356 AM_CONDITIONAL(ENABLE_RTMPY_TESTING, [ test x"$RTMPY_HOST" != x ])
2358 dnl The name might differ between systems.
2359 if test x"$testsuite" = x"yes"; then
2360 AC_PATH_PROGS(NETCAT, [nc netcat])
2361 AC_PATH_PROG(WGET, wget)
2363 AM_CONDITIONAL(HAS_NETCAT, [ test x"$NETCAT" != x ])
2364 AM_CONDITIONAL(HAS_WGET, [ test x"$WGET" != x ])
2367 dnl See if we can use the swfmill, mtasc, swfc and haxe based testsuites
2369 if test x"$testsuite" = x"yes" -a x$cross_compiling = xno; then
2370 AC_PATH_PROG(AS3COMPILE, as3compile)
2371 AC_PATH_PROG(SWFC, swfc)
2377 AM_CONDITIONAL(ENABLE_SWFMILL, [ test x"$SWFMILL" != x ])
2378 AM_CONDITIONAL(SWFMILL_AS3_SUPPORT,
2379 [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2381 dnl SWFMILL versions older than 0.3 didn't get function2 flags order correctly
2382 AM_CONDITIONAL(SWFMILL_FUNCTION2_FLAGS_ORDER_CORRECT,
2383 [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2385 AM_CONDITIONAL(ENABLE_AS3COMPILE, [ test x"$AS3COMPILE" != x ])
2386 AM_CONDITIONAL(ENABLE_MTASC, [ test x"$MTASC" != x ])
2387 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2388 AM_CONDITIONAL(ENABLE_SWFC, [ test x"$SWFC" != x ])
2389 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2391 AC_PATH_PROG(DOXYGEN, doxygen)
2392 AM_CONDITIONAL(ENABLE_DOXYGEN, [ test x"$DOXYGEN" != x ])
2394 AM_CONDITIONAL(HAVE_KDE3, [test x$has_kde3 = xyes])
2395 AM_CONDITIONAL(HAVE_KDE4, [test x$has_kde4 = xyes])
2396 AM_CONDITIONAL(HAVE_QT3, [test x$has_qt3 = xyes])
2397 AM_CONDITIONAL(HAVE_QT4, [test x$has_qt4 = xyes])
2399 AM_CONDITIONAL([QT_X11], [test "$platform" = "X11"])
2400 AM_CONDITIONAL([QTOPIA], [test "$platform" = "Qtopia"])
2401 AM_CONDITIONAL([QT_OSX], [test "$platform" = "OSX"])
2402 AM_CONDITIONAL([QT_OS9], [test "$platform" = "OS9"])
2403 AM_CONDITIONAL([QT_WIN32], [test "$platform" = "Win32"])
2405 dnl Need GLIB for both GTK and GST
2406 if test x"${build_gtk}" = xyes -o x"${build_media_gst}" = xyes; then
2410 AM_CONDITIONAL(HAVE_GLIB, [ test x"${has_glib}" = xyes ])
2412 if test x$npapi = xyes; then
2413 if ! test x$build_gtk = xyes -o x$build_qt4 = xyes; then
2414 AC_MSG_WARN(["Enabled NPAPI plugin, but it's not supported by the selected GUI"])
2418 if test x$windows = xyes -a x$npapi = xyes; then
2419 if test "x$NSPR_CFLAGS" = x -a "x$NSPR_LIBS" = x; then
2420 AC_MSG_ERROR(["On Win32, NPAPI plugin requires NSPR."])
2422 if test "x$WINDRES" = x; then
2423 AC_MSG_ERROR(["On Win32, NPAPI plugin requires windres."])
2427 dnl Need GLIB for NPAPI plugin
2428 if test x$npapi = xyes; then
2432 dnl if kde isn't installed, even if it's specified, don't try to build
2433 dnl the KPARTS plugin, which is KDE based.
2434 if test x$has_kde3 = xno -a x$build_kparts3 = xyes; then
2436 AC_MSG_WARN(["Disabling KPARTS 3.x plugin, no KDE development found"])
2439 if test x$build_kde3 = xno -a x$build_kparts3 = xyes; then
2440 AC_MSG_WARN(["Enabled KPARTS 3.x plugin, but you aren't building a KDE based GUI!"])
2442 if test x$has_kde4 = xno -a x$build_kparts4 = xyes; then
2444 AC_MSG_WARN(["Disabling KPARTS 4.x plugin, no KDE 4.x development found"])
2447 if test x$build_qt4 = xno -a x$kparts4 = xyes; then
2448 AC_MSG_WARN(["Enabled KPARTS 4.x plugin, but you aren't building a KDE 4.x based GUI!"])
2451 AM_CONDITIONAL(BUILD_QTOPIA3_GUI, [ test x$build_qtopia3 = xyes ])
2452 AM_CONDITIONAL(BUILD_QTOPIA4_GUI, [ test x$build_qtopia4 = xyes ])
2454 AM_CONDITIONAL(BUILD_KDE3_GUI, [ test x$build_kde3 = xyes ])
2455 AM_CONDITIONAL(BUILD_QT4_GUI, [ test x$build_qt4 = xyes ])
2457 AM_CONDITIONAL(BUILD_GTK_GUI, [ test x$build_gtk = xyes ])
2458 AM_CONDITIONAL(BUILD_FLTK_GUI, [ test x$build_fltk = xyes ])
2459 AM_CONDITIONAL(BUILD_SDL_GUI, [ test x$build_sdl = xyes ])
2460 AM_CONDITIONAL(BUILD_FB_GUI, [ test x$build_fb = xyes ])
2461 AM_CONDITIONAL(BUILD_AQUA_GUI, [ test x$build_aqua = xyes ])
2462 AM_CONDITIONAL(BUILD_DUMP_GUI, [ test x$build_dump = xyes ])
2463 AM_CONDITIONAL(BUILD_AMIGAOS4_GUI, [ test x$build_aos4 = xyes ])
2464 AM_CONDITIONAL(BUILD_HAIKU_GUI, [ test x$build_haiku = xyes ])
2466 # plugin building flags
2467 AM_CONDITIONAL(NPAPI, [test x"${npapi}" = xyes])
2468 AM_CONDITIONAL(KPARTS3, [test x"${build_kparts3}" = xyes])
2469 AM_CONDITIONAL(KPARTS4, [test x"${build_kparts4}" = xyes])
2471 if test x"${build_gles1}"; then
2475 dnl only Linux supports /dev/fb0
2476 if test x"${build_rawfb_device}" = xyes -a x"${linux}" = xyes; then
2477 AC_DEFINE([BUILD_RAWFB_DEVICE], [1], [Use raw Framebuffer device support])
2480 if test x"${build_directfb_device}" = xyes; then
2481 GNASH_PKG_FIND(directfb, [directfb.h], [DirectFB render library], DirectFBCreate)
2482 AC_DEFINE([BUILD_DIRECTFB_DEVICE], [1], [Use DirectFB device support])
2485 AM_CONDITIONAL(BUILD_VAAPI_DEVICE, [test x"${use_libva}" = xyes])
2486 AM_CONDITIONAL(BUILD_EGL_DEVICE, [test x"${build_egl_device}" = xyes])
2487 AM_CONDITIONAL(BUILD_DIRECTFB_DEVICE, [ test x${build_directfb_device} = xyes])
2488 AM_CONDITIONAL(BUILD_RAWFB_DEVICE, [ test x${build_rawfb_device} = xyes])
2489 AM_CONDITIONAL(BUILD_X11_DEVICE, [test x${build_x11_device} = xyes])
2491 if test x"${build_gtk}" = xyes; then
2492 AC_ARG_ENABLE(ghelp,
2493 AC_HELP_STRING([--enable-ghelp], [Enable support for the GNOME help system]),
2494 [case "${enableval}" in
2497 *) AC_MSG_ERROR([bad value ${enableval} for enable-ghelp option]) ;;
2501 if test x"${ghelp}" = x"yes" ; then
2502 AC_PATH_PROG(SCROLLKEEPER, scrollkeeper-config, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2503 AC_PATH_PROG(SCROLLUPDATE, scrollkeeper-update, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2504 AC_PATH_PROG(SCROLLINSTALL, scrollkeeper-preinstall, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2506 if test x"$SCROLLKEEPER" = x -o x"$SCROLLUPDATE" = x -o x"$SCROLLINSTALL" = x ; then
2508 AC_MSG_WARN([You need to install scrollkeeper for gnome help])
2512 AM_CONDITIONAL(GHELP, [test x${ghelp} = xyes])
2514 if test x${build_fltk} = xyes; then
2515 GNASH_PKG_FIND(Xft, [Xft.h], [xft library], XftGlyphRender)
2518 dnl Some systems have a pervered set of dependencies.
2519 dnl Fedora Core 6 appears to have a dependency on expat for fontconfig.
2520 dnl We only need the library, but this is the easy wind to find it.
2521 GNASH_PKG_FIND(expat, [expat.h], [Expat library], XML_ErrorString)
2523 dnl these conditionals were moved out of kde.m4
2524 AM_CONDITIONAL(HAS_KDE3, [test x$has_kde3 = xyes])
2525 # used to disable x11-specific stuff on special platforms
2526 AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
2527 AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
2528 AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2530 AM_CONDITIONAL(HAVE_GLEXT, [test x$glext = xyes])
2532 dnl We don't have GTKGLExt, so default to SDL, and don't build the Firefox plugin
2533 if test x$glext = xno -a x$build_ogl = xyes; then
2534 if test x$gtk2 = xyes -a x$build_gtk = xyes; then
2535 AC_ERROR([You have GTK installed, but not GtkGLExt. You need GtkGLExt to use the OpenGL renderer. Attempting to build SDL version])
2539 AC_MSG_WARN([GTK2 specified for the GUI, but GtkGlExt is not present. Trying SDL instead.])
2543 if test x"$build_media_gst" = "xyes"; then
2544 AC_PATH_PROG(GST_INSPECT, gst-inspect, ,[${pathlist}])
2545 if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2546 AC_PATH_PROG(GST_INSPECT, gst-inspect-0.10, ,[${pathlist}])
2548 if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2549 dnl FIXME: there may be multiple acceptable plugins that are acceptable for
2550 dnl our use. For example, mad or FFmpeg will play mp3.
2551 codecs="ffdec_flv ffdec_flashsv ffdec_vp6f ffdec_flashsv mad vorbisdec ffdec_vp6"
2552 for i in $codecs; do
2553 hits="`$GST_INSPECT $i | grep -c 'Long name'`"
2554 if test $hits -eq 0; then
2555 missing_codecs="$missing_codecs $i"
2556 AC_MSG_WARN([Missing codec: $i])
2560 GNASH_PKG_FIND(gstreamer_plugins_base, [gst/interfaces/probeprobe.h], [gstreamer interfaces library], gst_property_probe_probe_and_get_values_name, [0.10])
2561 GNASH_PKG_FIND(gstreamer_app, [gst/app/gstappsink.h], [gstreamer app library], call_gmon_start, [0.10])
2562 GNASH_PKG_FIND(gstreamer, [gst/gst.h], [gstreamer library], gst_init, [0.10])
2563 dnl if cross compiling, we're usually not going to be able to pop up
2564 dnl the codec installer to download the package to install, so disable
2565 dnl it if cross compiling with gstreamer support.
2566 if test x$cross_compiling = xno; then
2567 GNASH_PKG_FIND(gstreamer_pbutils, [gst/pbutils/install-plugins.h], [gstreamer PB Utils library], gst_install_plugins_supported, [0.10])
2569 dnl when cross compiling Gstreamer, not all supplied SDKs include all the
2570 dnl development libraries since most devices don't need to support plugin
2571 dnl development, only the runtime. In these caes we often have the header
2572 dnl files but not the libraries.
2573 if test x"${has_gstreamer_plugins_base}" = xyes; then
2574 GSTREAMER_LIBS="-lgstinterfaces-0.10 $GSTREAMER_LIBS"
2575 AC_DEFINE(HAS_GSTREAMER_PLUGINS_BASE, [1], [Has the Gstreamer Plugin Dev package installed])
2579 AM_CONDITIONAL(HAVE_CAIRO, [true])
2580 AM_CONDITIONAL(HAVE_OPENGL, [true])
2582 AM_CONDITIONAL(USE_SOUND_SDL, test x$build_sound_sdl = xyes)
2583 AM_CONDITIONAL(USE_SOUND_AHI, test x$build_sound_ahi = xyes)
2584 AM_CONDITIONAL(USE_SOUND_MKIT, test x$build_sound_mkit = xyes)
2585 AM_CONDITIONAL(USE_FFMPEG_ENGINE, test x"${build_media_ffmpeg}" = x"yes")
2586 AM_CONDITIONAL(USE_GST_ENGINE, test x"${build_media_gst}" = x"yes")
2587 AM_CONDITIONAL(HAVE_OPENGL, test x"${OPENGL_LIBS}" != x)
2588 dnl for now the Haiku media handler is experimental
2589 AM_CONDITIONAL(USE_HAIKU_ENGINE, test x"$build_media_haiku" = xyes)
2591 if test x"${build_media_ffmpeg}" = x"yes"; then
2592 AC_DEFINE([ENABLE_FFMPEG_MEDIA], [1], [Use FFmpeg for media decoding])
2595 if test x"${build_media_gst}" = x"yes"; then
2596 AC_DEFINE([ENABLE_GST_MEDIA], [1], [Use gstreamer for media decoding])
2599 if test x"${build_media_haiku}" = x"yes"; then
2600 AC_DEFINE([ENABLE_HAIKU_MEDIA], [1], [Use haiku for media decoding])
2603 if test x$build_sound_mkit = xyes; then
2604 if test x"${haiku}" != xyes; then
2605 AC_MSG_ERROR([Media Kit sound handling is supported only under Haiku]);
2607 AC_DEFINE([SOUND_MKIT], [1], [Use Haiku Media Kit for sound handling])
2611 if test x"${build_sound_sdl}" = xyes; then
2612 AC_DEFINE([SOUND_SDL], [1], [Use SDL for sound handling])
2615 if test x"${build_sound_ahi}" = xyes; then
2616 if test x"$amigaos4" != xyes; then
2617 AC_MSG_ERROR([AHI sound handling is supported only under AmigaOS]);
2619 AC_DEFINE([SOUND_AHI], [1], [Use AmigaOS AHI for sound handling])
2623 if test x$build_fltk = xyes; then
2624 GNASH_PKG_FIND(fltk2, [fltk/FL_API.h], [Fast Light Toolkit], fl_window_flush)
2625 if test x"${has_fltk2}" = xyes; then
2626 AC_CHECK_LIB(Xi, XInput_find_display,
2627 [AC_SUBST(FLTK2_LIBS, "$FLTK2_LIBS -lXi")])
2631 AM_CONDITIONAL(HAVE_FLTK2, [ test x$has_fltk2 = xyes ])
2632 AM_CONDITIONAL(HAS_XFT, [ test x$has_xft = xyes ])
2635 AM_CONDITIONAL(ENABLE_INFO, test x${INSTALL_INFO} != x)
2636 AM_CONDITIONAL(DOCBOOK, test x$docbook = xyes)
2637 AM_CONDITIONAL(ENABLE_TEXI, [ test x"$DB2X_TEXI" != x -o x"$DB2X_TEXIXML" != x ])
2638 AM_CONDITIONAL(ENABLE_PDF, [ test x"$DB2X_PDF" ])
2639 AM_CONDITIONAL(ENABLE_HTML, [ test x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2640 AM_CONDITIONAL(ENABLE_FOP, [ test x"$FOP" != x -a x"$docbook_styles" != x ])
2641 AM_CONDITIONAL(ENABLE_XMLTEX, [ test x"$PDFXMLTEX" != x -a x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2642 AM_CONDITIONAL(ENABLE_MAN, [ test x"$DB2X_MAN" != x -o x"$DB2X_MANXML" != x ])
2643 AM_CONDITIONAL(HAVE_AGG, [test x"${AGG_LIBS}" != x])
2647 dnl Define winsock if we're on windows. We could do something complicated,
2648 dnl but since AC_EXEEXT does it for us, we'll do this the easy way.
2649 if test x"$EXEEXT" = "exe"; then
2650 AC_DEFINE(HAVE_WINSOCK,1,[This is defined is we are on Win32])
2653 dnl ****************************************
2654 dnl *** Check for ELF visibility support ***
2655 dnl ****************************************
2657 AC_ARG_ENABLE([visibility],
2658 AC_HELP_STRING([--enable-visibility], [Use ELF visibility attributes]), [], [enable_visibility=no])
2660 if test x"$enable_visibility" != x"no"; then
2661 dnl Check whether the compiler supports the visibility attribute
2662 save_CFLAGS="$CFLAGS"
2663 CFLAGS="$CFLAGS -Wall -Werror"
2664 AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
2665 AC_COMPILE_IFELSE([AC_LANG_SOURCE(
2667 void __attribute__ ((visibility("default"))) test_default (void) {}
2668 void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
2669 int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
2672 AC_DEFINE([HAVE_GNUC_VISIBILITY], [1], [Define this for GCC-visibility.])
2673 AC_MSG_RESULT([yes])
2679 CFLAGS="$save_CFLAGS"
2682 AC_ARG_ENABLE([pch],
2683 AC_HELP_STRING([--enable-pch], [Enable precompiled header support]), [], [enable_pch=no])
2685 AM_CONDITIONAL([ENABLE_PCH], [test x"$enable_pch" != x"no"])
2687 PCH_FLAGS="-include all-includes.h -Winvalid-pch"
2694 AC_ARG_ENABLE([strict],
2695 AC_HELP_STRING([--enable-strict],[Accept only standards compliant code (GCC only)]),
2696 [case "${enableval}" in
2699 *) AC_MSG_ERROR([bad value ${enableval} for --enable-strict option]) ;;
2704 if test x"$strict" = x"yes" -a x$build_agg = xyes; then
2705 AC_MSG_ERROR([agg renderer will fail with --enable-strict.]);
2708 # We want warnings, lots of warnings :-)
2709 # It should be possible to build with -ansi, not with
2710 # -pedantic because of agg.
2712 # -ansi was actually dropped because it hides 'fileno', which
2713 # is used in a few places
2715 if test x"$GCC" = x"yes"; then
2716 CXXFLAGS="$CXXFLAGS \
2724 -Wnon-virtual-dtor \
2735 -Wmissing-declarations \
2736 -Wmissing-prototypes \
2737 -Wstrict-prototypes \
2739 if test x"$strict" = x"yes"; then
2740 CXXFLAGS="$CXXFLAGS \
2754 AC_ARG_ENABLE([cassert],
2755 AC_HELP_STRING([--disable-cassert],[Disable assertion checking]),
2756 [case "${enableval}" in
2759 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cassert option]) ;;
2764 if test x"$cassert" = x"no"; then
2765 CXXFLAGS="$CXXFLAGS \
2773 dnl /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
2774 AC_DEFUN([CHECK_VISIBILITY_GCC_BUG],
2776 AC_CACHE_CHECK([if -fvisibility-inlines-hidden is broken], ac_cv_gcc_visibility_bug, [
2778 save_CXXFLAGS=$CXXFLAGS
2779 save_LDFLAGS=$LDFLAGS
2780 CXXFLAGS="-fPIC -fvisibility-inlines-hidden -O0"
2781 LDFLAGS="$LDFLAGS -shared -fPIC"
2785 template<typename CharT>
2790 template<typename CharT>
2791 inline VisTest<CharT>::VisTest()
2793 extern template class VisTest<char>; // It works if we drop that line
2794 int some_function( int do_something ) __attribute__((visibility("default")));
2795 int some_function( int )
2801 ac_cv_gcc_visibility_bug=no, ac_cv_gcc_visibility_bug=yes)
2803 CXXFLAGS=$save_CXXFLAGS
2804 LDFLAGS=$save_LDFLAGS
2808 if test x$ac_cv_gcc_visibility_bug = xno; then
2809 CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
2814 CHECK_VISIBILITY_GCC_BUG
2816 if test x$ac_cv_gcc_visibility_bug = xno; then
2818 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
2819 save_CXXFLAGS=$CXXFLAGS
2820 CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2821 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
2822 [ac_cv_gcc_visibility=yes;
2823 AC_MSG_RESULT([yes])],
2824 [ac_cv_gcc_visibility=no;
2825 AC_MSG_RESULT([no])]);
2826 CXXFLAGS="$save_CXXFLAGS"
2831 AM_CONDITIONAL(VISIBILITY_WORKS, test x"$ac_cv_gcc_visibility" = xyes)
2833 if test x"$ac_cv_gcc_visibility" = xyes -a x"$enable_visibility" != xno; then
2834 CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2837 dnl Define convenience constants so Gnash can print out the
2838 dnl default configuration of the build.
2839 RENDERER_CONFIG="${renderer_list}"
2841 for rend in `echo "${add_renderer}" | tr ',' ' '`; do
2842 RENDERER_LIBS="${RENDERER_LIBS} \$(top_builddir)/librender/libgnash${rend}.la"
2844 AC_SUBST(RENDERER_LIBS)
2845 AC_SUBST(RENDERER_CONFIG)
2847 HWACCEL_CONFIG="${device_list}"
2848 AC_SUBST(HWACCEL_CONFIG)
2850 dnl check for missing libraries and disable them.
2851 if test x"$BOOST_LIBS" != x; then
2852 if test x"${cygnal_missing_libs}" != x; then
2853 for i in ${cygnal_missing_libs}; do
2854 if test $i = serialization; then
2855 AC_DEFINE([BOOST_MULTI_INDEX_DISABLE_SERIALIZATION], ["1"], [if the library is missing, don't use it.])
2864 if test x$build_qtopia3 = xyes; then
2865 SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
2867 if test x$build_qtopia4 = xyes; then
2868 SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
2870 if test x$build_fb = xyes; then
2871 SUPPORTED_GUIS="${SUPPORTED_GUIS},fb"
2873 if test x$build_fltk = xyes; then
2874 SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
2876 if test x$build_kde3 = xyes; then
2877 SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
2879 if test x$build_qt4 = xyes; then
2880 SUPPORTED_GUIS="${SUPPORTED_GUIS},qt4"
2882 if test x$build_gtk = xyes; then
2883 SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
2885 if test x$build_sdl = xyes; then
2886 SUPPORTED_GUIS="${SUPPORTED_GUIS},sdl"
2888 if test x$build_aqua = xyes; then
2889 SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
2891 if test x$build_dump = xyes; then
2892 SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
2894 if test x$build_aos4 = xyes; then
2895 SUPPORTED_GUIS="${SUPPORTED_GUIS},aos4"
2897 if test x$build_haiku = xyes; then
2898 SUPPORTED_GUIS="${SUPPORTED_GUIS},haiku"
2900 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
2901 AC_SUBST(SUPPORTED_GUIS)
2903 AC_CONFIG_LINKS(cygnal/testsuite/cygnal.all/cygnalrc:cygnal/testsuite/cygnal.all/cygnalrc.in)
2904 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc:testsuite/libbase.all/gnashrc.in)
2905 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc-local:testsuite/libbase.all/gnashrc-local.in)
2908 gnash.pc:gnash.pc.in
2909 desktop/gnash-gtk-launcher:desktop/gnash-gtk-launcher.in
2910 desktop/gnash-qt-launcher:desktop/gnash-qt-launcher.in
2921 libcore/parser/Makefile
2928 testsuite/media/Makefile
2929 testsuite/libbase.all/Makefile
2930 testsuite/as3compile.all/Makefile
2931 testsuite/actionscript.all/Makefile
2932 testsuite/samples/Makefile
2933 testsuite/swfdec/Makefile
2934 testsuite/misc-ming.all/Makefile
2935 testsuite/misc-ming.all/action_order/Makefile
2936 testsuite/misc-ming.all/sound/Makefile
2937 testsuite/misc-ming.all/displaylist_depths/Makefile
2938 testsuite/misc-ming.all/init_action/Makefile
2939 testsuite/misc-ming.all/loop/Makefile
2940 testsuite/misc-ming.all/loading/Makefile
2941 testsuite/misc-ming.all/register_class/Makefile
2942 testsuite/misc-mtasc.all/Makefile
2943 testsuite/misc-haxe.all/Makefile
2944 testsuite/misc-haxe.all/classes.all/Makefile
2945 testsuite/misc-swfmill.all/Makefile
2946 testsuite/misc-swfmill.all/trace-as2/Makefile
2947 testsuite/misc-swfmill.all/trace-as3/Makefile
2948 testsuite/misc-swfc.all/Makefile
2949 testsuite/network.all/Makefile
2950 testsuite/movies.all/Makefile
2951 testsuite/libcore.all/Makefile
2952 testsuite/libmedia.all/Makefile
2955 gui/pythonmod/Makefile
2957 extensions/dejagnu/Makefile
2958 extensions/mysql/Makefile
2959 extensions/fileio/Makefile
2960 extensions/gtk2/Makefile
2961 extensions/lirc/Makefile
2962 extensions/dbus/Makefile
2964 plugin/npapi/Makefile
2965 plugin/klash/Makefile
2966 plugin/klash4/Makefile
2967 plugin/win32/Makefile
2968 plugin/aos4/Makefile
2971 cygnal/libnet/Makefile
2972 cygnal/libamf/Makefile
2973 cygnal/cgi-bin/Makefile
2974 cygnal/cgi-bin/echo/Makefile
2975 cygnal/cgi-bin/oflaDemo/Makefile
2976 cygnal/cgi-bin/fitcDemo/Makefile
2977 cygnal/testsuite/Makefile
2978 cygnal/testsuite/libamf.all/Makefile
2979 cygnal/testsuite/libnet.all/Makefile
2980 cygnal/testsuite/cygnal.all/Makefile
2984 ########################## Final report begins... ############################
2987 dnl Create temporary directory in a secure way
2988 tmp=`mktemp -d ${TMPDIR=/tmp}/gnash-configure-XXXXXX`
2989 if test \! -n "$tmp" || test \! -d "$tmp"; then
2990 tmp=`(umask 077 && mkdir -d ${TMPDIR=/tmp}/gnash-configure-${RANDOM}-$$) 2>/dev/null`
2992 cerr="${tmp}/errors"
2993 cwarn="${tmp}/warnings"
2994 crec="${tmp}/recommended"
2995 deb_err="${tmp}/deb_err"
2996 deb_war="${tmp}/deb_war"
2997 deb_rec="${tmp}/deb_rec"
2998 rpm_err="${tmp}/rpm_err"
2999 rpm_war="${tmp}/rpm_war"
3000 rpm_rec="${tmp}/rpm_rec"
3001 yast_err="${tmp}/yast_err"
3002 yast_war="${tmp}/yast_war"
3003 yast_rec="${tmp}/yast_rec"
3006 #trap 'rm cerr' 0 # trap isn't a good idea, might override other traps
3011 for F in "$deb_err" "$deb_war" "$deb_rec" "$rpm_err" "$rpm_war" "$rpm_rec" "$yast_err" "$yast_war" "$yast_rec"; do
3020 dnl These macros should be portable as I checked most things used are in
3021 dnl POSIX-2008, GNU CoreUtils, and shipped in MinGW. Old unices? No clue.
3022 dnl In any case, they are hardly relevant on non-GNU systems.
3024 dnl Beware, here comes some long scary shell commands.
3029 echo " ERROR: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3032 yast_dest="$yast_err"
3038 echo " WARNING: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3041 yast_dest="$yast_war"
3047 echo " RECOMMENDED: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3050 yast_dest="$yast_rec"
3053 AC_DEFUN([PKG_SUGGEST],
3055 echo "`echo "$1" | fold -s -w 62 | sed 's/^/ /'`" >&$pkg_out_fd
3058 AC_DEFUN([DEB_INSTALL],
3060 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
3061 echo -n " $1" >> "$deb_dest"
3064 AC_DEFUN([DEB_ALTERNATIVE],
3066 echo " or maybe : `echo "apt-get install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3067 echo -n "/$1" >> "$deb_dest"
3070 AC_DEFUN([RPM_INSTALL],
3072 echo " or .rpm users: `echo "yum install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3073 echo -n " $1" >> "$rpm_dest"
3076 AC_DEFUN([RPM_ALTERNATIVE],
3078 echo " or maybe : `echo "yum install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3079 echo -n "/$1" >> "$rpm_dest"
3082 AC_DEFUN([YAST_INSTALL],
3084 echo " or yast users: `echo "yast install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3085 echo -n " $1" >> "$yast_dest"
3088 AC_DEFUN([YAST_ALTERNATIVE],
3090 echo " or maybe : `echo "yast install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3091 echo -n "/$1" >> "$yast_dest"
3094 AC_DEFUN([PKG_ALTERNATIVE],
3096 echo "`echo "$1" | fold -s -w 62 | sed 's/^/ /'`" >&$pkg_out_fd
3099 echo "Configurable options are:"
3101 if test x"${pthreads}" = x"yes"; then
3102 echo " POSIX Threads support enabled (default)"
3104 if test x"${build_haiku}" = x"yes"; then
3105 echo " POSIX Thread support built into C library."
3107 echo " POSIX Thread support disabled."
3111 if test x"${npapi}" = x"yes"; then
3112 echo " NPAPI plugin enabled (default). Use --disable-npapi to disable."
3113 echo " NPAPI plugin will be installed in ${FIREFOX_PLUGINS}"
3115 echo " NPAPI plugin disabled."
3118 if test x"${build_kparts3}" = x"yes"; then
3119 echo " KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to disable"
3120 echo " KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
3121 echo " KPARTS 3.x service will be installed in ${KDE3_SERVICESDIR}"
3122 echo " KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
3123 echo " KPARTS 3.x appsdata will be installed in ${KDE3_APPSDATADIR}"
3125 echo " KPARTS 3.x plugin disabled."
3128 if test x"${build_kparts4}" = x"yes"; then
3129 echo " KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to disable"
3130 echo " KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
3131 echo " KPARTS 4.x service will be installed in ${KDE4_SERVICESDIR}"
3132 echo " KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
3133 echo " KPARTS 4.x appsdata will be installed in ${KDE4_APPSDATADIR}"
3135 echo " KPARTS 4.x plugin disabled."
3138 # set a variable if we shouldn't continue. This way we can print
3139 # out everything that is missing in one pass, hopefully making it
3140 # easy for new developers to get everything they need installed.
3143 echo "Configured paths for ${build} are:"
3145 dnl Dump QT3 options is the user specified a QTOPIA3 or KDE3 GUI
3146 if test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes; then
3147 if test x"${has_qt3}" = xyes; then
3148 echo " QT3 flags are: ${QT3_CFLAGS}"
3149 echo " QT3 libs are: ${QT3_LIBS}"
3151 PKG_ERR([No QT 3.x development package installed!])
3152 PKG_SUGGEST([Install a QT 3.x development environment from http://qt.nokia.com/])
3153 DEB_INSTALL([libqt3-mt-dev])
3154 RPM_INSTALL([qt3-devel])
3155 RPM_ALTERNATIVE([qt-devel])
3156 PKG_ALTERNATIVE([or change to a different gui with --enable-gui=...])
3160 dnl Dump QT4 options is the user specified a QTOPIA4 or Qt4 GUI
3161 if test x"${build_qt4}" = xyes -o x"${build_qtopia4}" = xyes; then
3162 if test x"${has_qt4}" = xyes; then
3163 echo " QT4 flags are: ${QT4_CFLAGS}"
3164 echo " QT4 libs are: ${QT4_LIBS}"
3166 PKG_ERR([No QT 4.x development package installed!])
3167 PKG_SUGGEST([Install a QT 4.x development environment from http://qt.nokia.com/])
3168 DEB_INSTALL([libqt4-dev])
3169 DEB_ALTERNATIVE([qt4-dev-tools]) dnl TODO: Is this required?
3170 RPM_INSTALL([qt4-devel])
3171 RPM_ALTERNATIVE([qt-devel])
3172 PKG_ALTERNATIVE([or change to a different gui with --enable-gui=...])
3176 if test x"${build_kparts4}" = xyes; then
3177 if test x"${has_kde4}" = xyes; then
3178 echo " KDE4 flags are: ${KDE4_CFLAGS}"
3179 echo " KDE4 libs are: ${KDE4_LIBS}"
3181 PKG_WAR([kparts4 plugin is disabled!])
3182 PKG_SUGGEST([Install version 4.x of the KDE development environment from http://kde.org])
3183 DEB_INSTALL([kdelibs5-dev])
3184 RPM_INSTALL([kdelibs-devel])
3188 if test x"$build_qtopia3" = xyes; then
3189 if test x"${QTOPIA3_LIBS}" != x ; then
3190 if test x"${QTOPIA3_CFLAGS}" != x ; then
3191 echo " QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
3193 echo " QTOPIA 3.x flags are: default include path"
3195 echo " QTOPIA 3.x libs are: $QTOPIA3_LIBS"
3197 PKG_ERR([No QTOPIA 3.x library development package installed!])
3198 PKG_SUGGEST([Install it from http://trolltech.com/downloads/ as binary packages are not available.]) dnl TODO: This link is no longer valid.
3202 if test x"$build_qtopia4" = xyes; then
3203 if test x"${QTOPIA4_LIBS}" != x ; then
3204 if test x"${QTOPIA4_CFLAGS}" != x ; then
3205 echo " QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
3207 echo " QTOPIA 4.x flags are: default include path"
3209 echo " QTOPIA 4.x libs are: $QTOPIA4_LIBS"
3211 PKG_ERR([No QTOPIA 4.x library development package installed!])
3212 PKG_SUGGEST([Install it from http://trolltech.com/downloads/ as binary packages are not available.]) dnl TODO: This link is no longer valid.
3217 # -o x$build_kparts3 = xyes
3218 if test x$build_kde3 = xyes; then
3219 if test x"$has_kde3" = xyes; then
3220 echo " KDE 3.x flags are: $KDE3_CFLAGS"
3221 echo " KDE 3.x libs are: $KDE3_LIBS"
3223 PKG_ERR([No KDE 3.x development package installed!])
3224 PKG_SUGGEST([Install version 3.x of the KDE development environment from http://kde.org])
3225 DEB_INSTALL([kdelibs4-dev])
3226 RPM_INSTALL([kdelibs3-devel])
3227 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.])
3231 if test x"${JPEG_LIBS}" != x ; then
3232 if test x"${JPEG_CFLAGS}" != x ; then
3233 echo " JPEG flags are: $JPEG_CFLAGS"
3235 echo " JPEG flags are: default include path"
3237 echo " JPEG libs are: $JPEG_LIBS"
3239 PKG_ERR([No JPEG library development package installed!])
3240 PKG_SUGGEST([Install it from http://ijg.org])
3241 DEB_INSTALL([libjpeg-dev])
3242 RPM_INSTALL([libjpeg-devel])
3245 if test x"${GIF_LIBS}" != x ; then
3246 if test x"${GIF_CFLAGS}" != x ; then
3247 echo " GIF flags are: $GIF_CFLAGS"
3249 echo " GIF flags are: default include path"
3251 echo " GIF libs are: $GIF_LIBS"
3253 PKG_ERR([No GIF library development package installed!])
3254 PKG_SUGGEST([Install it from http://sourceforge.net/projects/giflib/])
3255 DEB_INSTALL([libungif-dev])
3256 DEB_ALTERNATIVE([libgif-dev])
3257 RPM_INSTALL([libgif-devel])
3258 RPM_ALTERNATIVE([giflib-devel])
3259 RPM_ALTERNATIVE([libungif-devel])
3262 if test x"${PNG_LIBS}" != x ; then
3263 if test x"${PNG_CFLAGS}" != x ; then
3264 echo " PNG flags are: $PNG_CFLAGS"
3266 echo " PNG flags are: default include path"
3268 echo " PNG libs are: $PNG_LIBS"
3270 PKG_REC([No PNG library development package installed!])
3271 PKG_SUGGEST([Gnash will be built without support for dynamic loading of PNG files.])
3272 PKG_SUGGEST([Install it from http://www.libpng.org])
3273 DEB_INSTALL([libpng12-dev])
3274 RPM_INSTALL([libpng-devel])
3277 if test x"${build_ovg}" = x"yes"; then
3278 if test x"${has_openvg}" = xyes; then
3279 echo " OpenVG flags are: $OPENVG_CFLAGS"
3280 echo " OpenVG libs are: $OPENVG_LIBS"
3282 echo " ERROR: No OpenVG development package installed!" >&3
3283 echo " You need to install the libmesa development package" >&3
3284 echo " or .deb users: apt-get install libopenvg1-mesa-dev" >&3
3285 echo " or .rpm users: yum install mesa-libOpenVG-devel-7.8.1-7.fc13.i686" >&3
3286 echo " or use a different renderer with --enable-renderer=" >&3
3290 if test x"${build_ogl}" = x"yes"; then
3291 if test x"$OPENGL_LIBS" != x; then
3292 if test x"$OPENGL_CFLAGS" != x; then
3293 echo " OpenGL flags are: $OPENGL_CFLAGS"
3295 echo " OpenGL flags are: default include path"
3297 echo " OpenGL libs are: $OPENGL_LIBS"
3299 PKG_ERR([No OpenGL development package installed!])
3300 PKG_SUGGEST([You need to install the libmesa development package])
3301 DEB_INSTALL([libgl1-mesa-dev])
3302 RPM_INSTALL([mesa-libGL-devel])
3303 RPM_ALTERNATIVE([xorg-x11-Mesa-libGL])
3304 PKG_ALTERNATIVE([or use a different renderer with --enable-renderer=])
3308 if test x"${build_gles1}" = x"yes"; then
3309 if test x"${has_gles1}" = xyes; then
3310 if test x"${GLES1_CFLAGS}" != x; then
3311 echo " OpenGLES1 flags are: ${GLES1_CFLAGS}"
3313 echo " OpenGLES1 flags are: default include path"
3315 echo " OpenGLES1 libs are: ${GLES1_LIBS}"
3317 PKG_ERR([No OpenGL-ES development package installed!])
3318 PKG_SUGGEST([You need to install the this from source probably])
3319 PKG_ALTERNATIVE([or use a different renderer with --enable-renderer=])
3323 dnl GLEXT is only needed for GTK/OpenGL
3324 if test x$build_gtk = xyes -a x$build_ogl = xyes ; then
3325 if test x"$GLEXT_LIBS" != x; then
3326 if test x"$GLEXT_CFLAGS" != x; then
3327 echo " GtkGLExt flags are: $GLEXT_CFLAGS"
3329 echo " GtkGLExt flags are: default include path"
3331 echo " GtkGLExt libs are: $GLEXT_LIBS"
3333 PKG_ERR([No GtkGLExt development package installed!])
3334 PKG_SUGGEST([It is needed to build the GTK/OpenGL GUI/renderer combination.])
3335 PKG_SUGGEST([Install it from http://gtkglext.sourceforge.net])
3336 DEB_INSTALL([libgtkglext1-dev])
3337 RPM_INSTALL([gtkglext-devel])
3338 PKG_ALTERNATIVE([or --enable-gui=sdl or --enable-renderer=agg])
3342 if test x$build_gtk = xyes; then #{
3343 if test x"$GTK2_LIBS" != x; then
3344 if test x"$GTK2_CFLAGS" != x; then
3345 echo " GTK2 flags are: $GTK2_CFLAGS"
3347 echo " GTK2 flags are: default include path"
3349 echo " GTK2 libs are: $GTK2_LIBS"
3351 PKG_ERR([No GTK2 development package installed!])
3352 PKG_SUGGEST([Install it from http://gtk.org])
3353 DEB_INSTALL([libgtk2.0-dev])
3354 RPM_INSTALL([gtk2-devel])
3357 if test x"$PANGO_LIBS" != x; then
3358 if test x"$PANGO_CFLAGS" != x; then
3359 echo " Pango flags are: $PANGO_CFLAGS"
3361 echo " Pango flags are: default include path"
3363 echo " Pango libs are: $PANGO_LIBS"
3365 PKG_ERR([No Pango development package installed!])
3366 PKG_SUGGEST([Install it from http://pango.org])
3367 DEB_INSTALL([libpango1.0-dev])
3368 RPM_INSTALL([pango-devel])
3371 if test x"$GLIB_LIBS" != x; then
3372 if test x"$GLIB_CFLAGS" != x; then
3373 echo " GLib flags are: $GLIB_CFLAGS"
3375 echo " GLib flags are: default include path"
3377 echo " GLib libs are: $GLIB_LIBS"
3379 PKG_ERR([No GLib development package installed!])
3380 PKG_SUGGEST([Install it from http://gtk.org])
3381 DEB_INSTALL([libglib2.0-dev])
3382 RPM_INSTALL([glib2-devel])
3385 if test x"$ATK_LIBS" != x; then
3386 if test x"$ATK_CFLAGS" != x; then
3387 echo " ATK flags are: $ATK_CFLAGS"
3389 echo " ATK flags are: default include path"
3391 echo " ATK libs are: $ATK_LIBS"
3393 PKG_ERR([No ATK development package installed!])
3394 PKG_SUGGEST([Install it from http://atk.org])
3395 DEB_INSTALL([libatk1.0-dev])
3396 RPM_INSTALL([atk-devel])
3401 if test x"$build_media_gst" = x"yes"; then
3402 if test x"$missing_codecs" != x; then
3403 echo " Your Gstreamer installation is missing these codecs: $missing_codecs"
3404 echo " Please install the gstreamer-ffmpeg for Gstreamer"
3406 if test x"$GSTREAMER_LIBS" != x; then
3407 if test x"$GSTREAMER_CFLAGS" != x; then
3408 echo " Gstreamer flags are: $GSTREAMER_CFLAGS"
3410 echo " Gstreamer flags are: default include path"
3412 echo " Gstreamer libs are: $GSTREAMER_LIBS"
3414 PKG_ERR([GST media handling requested but gstreamer-0.10+ not found])
3415 PKG_SUGGEST([Install it from http://www.gstreamer.net])
3416 DEB_INSTALL([libgstreamer0.10-dev])
3417 RPM_INSTALL([gstreamer-devel])
3418 YAST_INSTALL([gstreamer010-devel])
3420 if test x"$has_gstreamer_pbutils" != "xyes"; then
3421 PKG_REC([If the user has not installed the necessary Gstreamer plugins, Gstreamer can pop up a message prompting them to.])
3422 PKG_SUGGEST([Install gstpbutils (>= 0.10.15) from http://www.gstreamer.net for that to be enabled])
3423 DEB_INSTALL([libgstreamer-plugins-base0.10-dev])
3424 PKG_SUGGEST([or .rpm users: simply install the below package]) dnl TODO: Can/should this notice be done cleaner?
3425 PKG_SUGGEST([Also see --with-gstpbutils-incl and --with-gstpbutils-lib])
3427 if test x"$has_gstreamer_plugins_base" = "xno"; then
3428 dnl TODO: Check if this is really a mandatory asset!
3429 PKG_ERR([Base plugins are required for gstreamer media!])
3430 PKG_SUGGEST([Install gstreamer-plugins-base from http://www.gstreamer.net])
3431 DEB_INSTALL([libgstreamer-plugins-base0.10-dev])
3432 RPM_INSTALL([gstreamer-plugins-base-devel])
3436 dnl TODO: figure out some RPM package names.
3437 dnl TODO: The following tests is probably incorrect for any/older/exotic systems! Could someone experienced look at it?
3438 if test x"${build_media_ffmpeg}" = x"yes"; then
3439 if test x"$FFMPEG_LIBS" != x; then
3440 echo " MP3 and video support enabled through FFmpeg"
3441 if test x"$FFMPEG_CFLAGS" != x; then
3442 echo " FFmpeg flags are: $FFMPEG_CFLAGS"
3444 echo " FFmpeg flags are: default include path"
3446 echo " FFmpeg libs are: $FFMPEG_LIBS"
3448 PKG_ERR([No FFmpeg development package installed!])
3449 PKG_SUGGEST([You can install FFmpeg from http://ffmpeg.org])
3450 DEB_INSTALL([libavcodec-dev])
3451 RPM_INSTALL([ffmpeg-devel])
3452 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3455 if test x"${avformat_h}" = x; then
3456 PKG_ERR([FFmpeg's avformat header is installed but not libavformat!])
3457 PKG_SUGGEST([You can install FFmpeg from http://ffmpeg.org])
3458 DEB_INSTALL([libavformat-dev])
3459 YAST_INSTALL([libavformat-api]) dnl (but currently installs into /usr/lib64)
3460 PKG_ALTERNATIVE(or explicitly set the path using --with-ffmpeg-incl=)
3461 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3464 if test x"${have_ffmpeg_swscale}" = "xno"; then
3465 PKG_ERR([No libswscale development package installed!])
3466 PKG_SUGGEST([You can install libswscale from http://ffmpeg.org])
3467 DEB_INSTALL([libswscale-dev])
3468 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3472 if test x$build_cairo = xyes; then
3473 if test x"$CAIRO_LIBS" != x; then
3474 if test x"$CAIRO_CFLAGS" != x; then
3475 echo " Cairo flags are: $CAIRO_CFLAGS"
3477 echo " Cairo flags are: default include path"
3479 echo " Cairo libs are: $CAIRO_LIBS"
3481 PKG_ERR([No Cairo development package installed!])
3482 PKG_SUGGEST([You need to have the Cairo development package installed if you have used --enable-render=cairo to configure.])
3483 PKG_SUGGEST([Install it from http://cairographics.org])
3484 DEB_INSTALL([libcairo-dev])
3485 RPM_INSTALL([cairo-devel])
3489 if test x$build_fltk = xyes; then
3490 if test x"$FLTK2_LIBS" != x; then
3491 if test x"$FLTK2_CFLAGS" != x; then
3492 echo " FLTK flags are: $FLTK2_CFLAGS"
3494 echo " FLTK flags are: default include path"
3496 echo " FLTK libs are: $FLTK2_LIBS"
3498 PKG_ERR([No FLTK2 development package installed!])
3499 PKG_SUGGEST([Install it from http://fltk.org])
3500 PKG_ALTERNATIVE(or change to a different gui with --enable-gui=...)
3504 if test x$build_fltk = xyes; then
3505 if test x"$XFT_LIBS" != x; then
3506 if test x"$XFT_CFLAGS" != x; then
3507 echo " Xft flags are: $XFT_CFLAGS"
3509 echo " Xft flags are: default include path"
3511 echo " Xft libs are: $XFT_LIBS"
3515 # See whether SDL is required
3517 test x$build_sdl = xyes && need_sdl=true
3518 test x$build_sound_sdl = xyes && need_sdl=true
3521 if test x"$SDL_LIBS" != x; then
3522 echo " SDL flags are: $SDL_CFLAGS"
3523 echo " SDL libs are: $SDL_LIBS"
3525 PKG_ERR([No SDL development package installed!])
3526 PKG_SUGGEST([Install it from http://www.libsdl.org/download-1.2.php])
3527 DEB_INSTALL([libsdl1.2-dev])
3528 RPM_INSTALL([SDL-devel])
3529 PKG_ALTERNATIVE(or change to a different gui with --enable-gui=...)
3534 if test x"$nsapi" = x"yes"; then
3535 echo " Plugin will be installed in ${FIREFOX_PLUGINS}"
3538 if test x"${pthreads}" = x"yes"; then
3539 if test x"$PTHREAD_CFLAGS" != x; then
3540 echo " POSIX Threads flags are: $PTHREAD_CFLAGS"
3542 if test x"${PTHREAD_LIBS}" != x; then
3543 echo " POSIX Threads lib is: $PTHREAD_LIBS"
3545 if test x"${cross_compiling}" = xno; then
3546 echo "ERROR: No pthread development package installed!" >&3
3551 if test x"${docbook}" = x"yes"; then
3552 if test x"$MAKEINFO" = x; then
3553 PKG_ERR([No makeinfo tools installed!])
3554 PKG_SUGGEST([Install it from http://www.gnu.org/software/texinfo/])
3555 DEB_INSTALL([texinfo])
3556 RPM_INSTALL([texinfo])
3557 RPM_ALTERNATIVE([texinfo-tex])
3560 if test x"$DB2X_TEXIXML" = x -o x"$DB2X_MANXML" = x -o x"$DB2X_XSLTPROC" = x; then
3561 dnl high-level tools
3562 if test x"${DB2X_TEXI}" = x -o x"${DB2X_MAN}" = x; then
3563 PKG_ERR([No DocBook2X tools installed!])
3564 PKG_SUGGEST([Install it from http://docbook2x.sourceforge.net])
3565 dnl TODO: Could someone look at this and confirm the needed software is installed?
3566 dnl FIXME: I removed the texidocbook and docbook-utilsnfo packages as they are not on my system.
3567 DEB_INSTALL([docbook2x docbook-xml docbook-xsl texinfo xsltproc])
3568 PKG_ALTERNATIVE([or configure without --enable-docbook])
3571 echo " You have version $db2x_version of the DocBook2X tools."
3574 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.])
3577 if test x"$CURL_LIBS" != x; then
3578 if test x"$CURL_CFLAGS" != x; then
3579 echo " CURL flags are: $CURL_CFLAGS"
3581 echo " CURL flags are: default include path"
3583 echo " CURL libs are: $CURL_LIBS"
3585 PKG_REC([If you install the CURL library, Gnash will be able to display remote content (streaming from URLs) using CURL.])
3586 PKG_SUGGEST([Install libcurl from http://curl.haxx.se/libcurl])
3587 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?
3588 DEB_ALTERNATIVE([libcurl-dev])
3589 RPM_INSTALL([curl-devel])
3592 if test x"$SPEEX_LIBS" != x; then
3593 if test x"$SPEEX_CFLAGS" != x; then
3594 echo " Speex flags are: $SPEEX_CFLAGS"
3596 echo " Speex flags are: default include path"
3598 echo " Speex libs are: $SPEEX_LIBS"
3600 PKG_REC([If you install the Speex library, Gnash will be able to decoded Speex encoded audio in FLV files.])
3601 PKG_SUGGEST([Install libspeex from http://speex.org])
3602 DEB_INSTALL([libspeex-dev])
3603 RPM_INSTALL([speex-devel])
3606 if test x"$SPEEXDSP_LIBS" != x; then
3607 if test x"$SPEEXDSP_CFLAGS" != x; then
3608 echo " Speex DSP flags are: $SPEEXDSP_CFLAGS"
3610 echo " Speex DSP flags are: default include path"
3612 echo " Speex DSP libs are: $SPEEXDSP_LIBS"
3614 PKG_REC([If you install the Speex DSP library, Gnash will be able to resample Speex encoded audio in FLV files.])
3615 PKG_SUGGEST([Install libspeexdsp from http://speex.org])
3616 DEB_INSTALL([libspeexdsp-dev])
3617 RPM_INSTALL([speex-devel])
3620 if test x"$ext_dbus" = xyes; then
3621 if test x"$DBUS_LIBS" != x; then
3622 if test x"$DBUS_CFLAGS" != x; then
3623 echo " DBUS flags are: $DBUS_CFLAGS"
3625 echo " DBUS flags are: default include path"
3627 echo " DBUS libs are: $DBUS_LIBS"
3629 PKG_WAR([No DBUS development package was found! Gnash will be built without support for remote controls.])
3630 PKG_SUGGEST([Install libdbus from http://www.dbus.org])
3631 DEB_INSTALL([dbus-dev])
3632 DEB_ALTERNATIVE([libdbus-1-dev])
3633 RPM_INSTALL([dbus-devel])
3637 if test x$build_agg = xyes; then # {
3638 echo " AGG Pixel format is: $pixelformat"
3639 if test x"$AGG_LIBS" != x -a x"${agg25}" == xyes; then # {
3640 if test x"$AGG_CFLAGS" != x; then # {
3641 echo " AGG flags are: $AGG_CFLAGS"
3643 echo " AGG flags are: default include path"
3645 echo " AGG libs are: $AGG_LIBS"
3647 if test x"$AGG_LIBS" != x -a x"${agg25}" != xyes; then
3648 PKG_ERR([Your installation of AGG appears to be version 2.4 or older. Please upgrade to AGG 2.5 or greater.])
3650 PKG_ERR([No AGG development package installed!])
3652 PKG_SUGGEST([Install it from http://www.antigrain.com])
3653 DEB_INSTALL([libagg-dev])
3654 RPM_INSTALL([agg-devel])
3658 dnl TODO: This package is handled a bit stupidly in regard to the package
3659 dnl suggestion system. It would be better to check for each package
3660 dnl separately, instead of passing the missing ones in variables..
3661 if test x"$BOOST_LIBS" != x; then
3662 echo " BOOST flags are: $BOOST_CFLAGS"
3663 echo " BOOST libs are: $BOOST_LIBS"
3664 echo " BOOST libs for cygnal are: $BOOST_CYGNAL_LIBS"
3666 if test x"${missing_headers}" != x; then
3667 for i in ${missing_headers}; do
3668 PKG_ERR([The Boost $i header is not installed])
3669 PKG_SUGGEST([Install it from http://www.boost.org])
3673 if test x"${cygnal}" = x"yes"; then
3674 if test x"${cygnal_missing_libs}" != x; then
3675 for i in ${cygnal_missing_libs}; do
3676 PKG_ERR([No Boost $i package installed])
3677 PKG_SUGGEST([Install it from http://www.boost.org])
3678 debtmppkg="libboost-`echo ${i} | sed 's/_/-/g'`-dev"
3679 DEB_INSTALL([$debtmppkg])
3680 PKG_ALTERNATIVE([or configure with --disable-cygnal])
3685 if test x"${missing_libs}" != x; then
3686 for i in ${missing_libs}; do
3687 PKG_ERR([No Boost $i package installed])
3688 PKG_SUGGEST([Install it from http://www.boost.org])
3689 debtmppkg="libboost-`echo ${i} | sed 's/_/-/g'`-dev"
3690 DEB_INSTALL([$debtmppkg])
3694 PKG_ERR([No Boost development package installed])
3695 PKG_SUGGEST([Install it from http://www.boost.org])
3696 dnl I am not sure that libboost-program-options-dev should be passed here, but
3697 dnl it seems like the cleanest way to get it.
3698 if test x"$cygnal" = xyes; then
3699 DEB_INSTALL([libboost-dev libboost-thread-dev libboost-program-options-dev libboost-date-time-dev])
3701 DEB_INSTALL([libboost-dev libboost-thread-dev libboost-program-options-dev])
3703 RPM_INSTALL([boost-devel])
3706 dnl don't look for the flash compilers when cross compiling.
3707 if test x"$testsuite" = x"yes"; then
3708 if test x$cross_compiling = xno; then
3709 if test x"$MING_LIBS" != x; then
3710 echo " MING flags are $MING_CFLAGS"
3711 echo " MING libs are $MING_LIBS"
3713 PKG_WAR([You need to have the Ming development package installed to run most of the tests in Gnash testsuite.])
3714 PKG_SUGGEST([Install it from http://www.libming.org/])
3715 DEB_INSTALL([libming-dev])
3716 RPM_INSTALL([libming-devel])
3719 if test x"$MAKESWF" != x; then
3720 echo " MING version code is $MING_VERSION_CODE"
3721 echo " MAKESWF is $MAKESWF"
3723 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.])
3724 PKG_SUGGEST([Install it from http://www.libming.org/])
3725 DEB_INSTALL([libming-util])
3726 RPM_INSTALL([ming-util])
3727 RPM_ALTERNATIVE([ming-utils])
3730 if test x"$MAKESWF" != x && test $MING_VERSION_CODE -lt 00040006; then
3731 echo " WARNING: You have an older version of Ming installed and will not" >&4
3732 echo " be able to run all of the tests in Gnash testsuite." >&4
3733 echo " Install the latest version from http://www.libming.org" >&4
3736 if test x"$SWFDEC_TESTSUITE" != x; then
3737 echo " SWFDEC testsuite dir is $SWFDEC_TESTSUITE"
3740 if test x"$MTASC" != x; then
3741 echo " MTASC is $MTASC"
3742 echo " MTASC CLASSPATH is $MTASC_CLASSPATH"
3744 PKG_WAR([You need to have the MTASC compiler packages installed to run some of the tests in Gnash testsuite.])
3745 PKG_SUGGEST([Install it from http://mtasc.org])
3746 DEB_INSTALL([mtasc])
3747 RPM_INSTALL([mtasc])
3750 if test x"$HAXE" != x; then
3751 echo " HAXE is $HAXE"
3752 echo " HAXE CLASSPATH is $HAXE_CLASSPATH"
3754 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.])
3755 PKG_SUGGEST([Install it from http://haxe.org])
3760 if test x"$SWFMILL" != x; then
3761 echo " SWFMILL is $SWFMILL"
3762 if test x"$ENABLE_AVM2" != x -a "$SWFMILL_VERSION" -lt 00021206; then
3763 PKG_WAR([You are building Gnash with AVM2 support but your swfmill version is too old to run AS3 tests.])
3766 PKG_WAR([You need to have the swfmill tool installed to run some of the tests in Gnash testsuite.])
3767 PKG_SUGGEST([Install it from http://swfmill.org])
3768 DEB_INSTALL([swfmill])
3769 RPM_INSTALL([swfmill])
3772 if test x"$SWFC" != x; then
3773 echo " SWFC is $SWFC"
3775 PKG_WAR([You need to have swfc from SWFTools installed to run some of the tests in Gnash testsuite.])
3776 PKG_SUGGEST([Install it from http://swftools.org])
3777 DEB_INSTALL([swftools])
3778 RPM_INSTALL([swftools])
3781 if test x"$AS3COMPILE" != x; then
3782 echo " AS3COMPILE is $AS3COMPILE"
3784 PKG_WAR([You need to have as3compile from SWFTools installed to run some of the tests in Gnash testsuite.])
3785 PKG_SUGGEST([Install it from http://swftools.org])
3788 if test x"$HTTP_TESTSUITE" != x; then
3789 echo " HTTP testsuite dir is $HTTP_TESTSUITE"
3792 if test x"$RED5_HOST" != x; then
3793 echo " RED5 testing host is $RED5_HOST"
3798 if test x"$PERL" != x; then
3799 echo " PERL is $PERL"
3801 PKG_WAR([You need to have perl installed to run some of the tests in Gnash testsuite.])
3802 PKG_SUGGEST([Install it from http://perl.org])
3807 if test x"$testsuite" = x"yes"; then
3808 if test x"$CSOUND" != x; then
3809 echo " CSOUND is $CSOUND"
3811 echo " WARNING: You need to have csound installed" >&4
3812 echo " to have real fun." >&4
3813 echo " Install it from http://www.csounds.com/" >&4
3814 echo " or .deb users: apt-get install csound" >&4
3815 echo " or .rpm users: yum install csound" >&4
3819 if test x"$Z_LIBS" != x; then
3820 if test x"$Z_CFLAGS" != x; then
3821 echo " Z flags are: $Z_CFLAGS"
3823 echo " Z flags are: default include path"
3825 echo " Z libs are: $Z_LIBS"
3827 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.])
3828 PKG_SUGGEST([Install it from http://zlib.net])
3829 DEB_INSTALL([zlib1g-dev])
3830 RPM_INSTALL([zlib-devel])
3831 PKG_ALTERNATIVE([It may still be possible to configure without zlib.])
3834 if test x"$FREETYPE2_LIBS" != x; then
3835 if test x"$FREETYPE2_CFLAGS" != x; then
3836 echo " FreeType flags are: $FREETYPE2_CFLAGS"
3838 echo " FreeType flags are: default include path"
3840 echo " FreeType libs are: $FREETYPE2_LIBS"
3842 PKG_REC([You need to have the freetype development packages installed to use device fonts.])
3843 PKG_SUGGEST([Install it from http://freetype.org])
3844 DEB_INSTALL([libfreetype6-dev])
3845 RPM_INSTALL([freetype-devel])
3846 PKG_ALTERNATIVE([It may still be possible to configure without freetype.])
3849 if test x"$FONTCONFIG_LIBS" != x; then
3850 if test x"$FONTCONFIG_CFLAGS" != x; then
3851 echo " Fontconfig flags are: $FONTCONFIG_CFLAGS"
3853 echo " Fontconfig flags are: default include path"
3855 echo " Fontconfig libs are: $FONTCONFIG_LIBS"
3857 PKG_REC([You need to have the fontconfig development packages installed to use device fonts.])
3858 PKG_SUGGEST([Install it from http://fontconfig.org])
3859 DEB_INSTALL([libfontconfig1-dev])
3860 RPM_INSTALL([fontconfig-devel])
3861 PKG_ALTERNATIVE([It may still be possible to configure without fontconfig.])
3864 if test x$ext_mysql = xyes; then
3865 if test x$mysql != xno; then
3866 if test x"$MYSQL_LIBS" != x; then
3867 echo " MYSQL flags are: $MYSQL_CFLAGS"
3868 echo " MYSQL libs are: $MYSQL_LIBS"
3870 PKG_ERR([No MySQL development package is installed.])
3871 PKG_SUGGEST([Install it from http://mysql.org])
3872 DEB_INSTALL([libmysqlclient-dev])
3873 RPM_INSTALL([mysql-devel])
3874 PKG_ALTERNATIVE([or reconfigure without --enable-extensions=mysql])
3879 if test "$GMSGFMT" = ":"; then
3880 PKG_WAR([You need the gettext package installed to use translations. Required for building a package or 'make distcheck'])
3881 PKG_SUGGEST([Install it from http://www.gnu.org/software/gettext/])
3882 DEB_INSTALL([gettext])
3883 RPM_INSTALL([gettext])
3886 if test x"${build_vaapi}" = x"yes"; then
3887 if test x"${LIBVA_CFLAGS}" = xyes; then
3888 echo " LIBVA flags are: default"
3890 echo " LIBVA flags are: $LIBVA_CFLAGS"
3891 echo " LIBVA libraries are: $LIBVA_LIBS"
3893 if test x$use_libva_x11 = xyes; then
3894 if test x"${LIBVA_X11_CFLAGS}" = xyes; then
3895 echo " LIBVA X11 flags are: default"
3897 echo " LIBVA X11 flags are: $LIBVA_X11_CFLAGS"
3898 echo " LIBVA X11 libraries are: $LIBVA_X11_LIBS"
3901 if test x$use_libva_glx = xyes; then
3902 if test x"${LIBVA_GLX_CFLAGS}" = xyes; then
3903 echo " LIBVA GLXflags are: default"
3905 echo " LIBVA GLX flags are: $LIBVA_GLX_CFLAGS"
3907 echo " LIBVA GLX libraries are: $LIBVA_GLX_LIBS"
3911 if test x"$ac_cv_gcc_visibility" != xyes; then
3912 if test x"$npapi" = xyes; then
3913 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!])
3917 if test x"$npapi" = xyes; then
3918 if test x"$has_npapi" = xyes; then
3919 echo " NPAPI flags are: $NPAPI_CFLAGS"
3921 PKG_ERR([No xulrunner development package is installed!])
3922 PKG_SUGGEST([Install it from http://releases.mozilla.org/pub/mozilla.org/xulrunner])
3923 DEB_INSTALL([xulrunner-dev]) or
3924 DEB_INSTALL([firefox-dev])
3925 RPM_INSTALL([xulrunner-devel])
3928 echo " NPAPI plugin is disabled"
3931 if test x"${DEJAGNU}" != x""; then
3932 echo " DEJAGNU's runtest is $DEJAGNU"
3934 PKG_WAR([You need the dejagnu package installed to get a summary after running 'make check'.])
3935 PKG_SUGGEST([Install it from http://www.gnu.org/software/dejagnu/])
3936 DEB_INSTALL([dejagnu])
3937 RPM_INSTALL([dejagnu])
3941 if test x"${build_haiku}" = xyes -o x"${build_sound_mkit}" = xyes -o x"${build_media_haiku}" = x"yes"; then
3942 echo " Haiku libs are: $HAIKU_LIBS"
3945 if test x"$has_ltdl" = x"yes";then
3946 echo " LIBLTDL flags are: $LTDL_CFLAGS"
3947 echo " LIBLTDL libs are: $LTDL_LIBS"
3949 if test x"${extensions_support}" != xno; then
3950 PKG_ERR([No libltdl development package is installed, yet --disable-extensions was not specified.])
3951 PKG_SUGGEST([Install it from ftp://ftp.gnu.org/gnu/libtool/])
3952 DEB_INSTALL([libltdl-dev])
3953 RPM_INSTALL([libtool-ltdl-devel])
3957 if test x"$python" = x"yes"; then
3958 if test x"$has_python" = x"yes"; then
3959 echo " PYTHON flags are: $PYTHON_CFLAGS"
3960 echo " PYTHON libs are: $PYTHON_LIBS"
3961 echo " PYTHON executable is: $PYTHON"
3963 PKG_ERR([No Python development package is installed, but it's enabled.])
3966 if test x${build_ssl} = xyes; then
3967 if test x"${has_ssl}" = xyes; then
3968 if test x"${SSL_CFLAGS}" = xyes; then
3969 echo " SSL flags are: default"
3971 echo " SSL flags are: $SSL_CFLAGS"
3973 echo " SSL libs are: $SSL_LIBS"
3975 PKG_ERR([No SSL development package is installed, but it's enabled."])
3979 if test x${build_ssh} = xyes; then
3980 if test x"${has_ssh}" = xyes; then
3981 if test x"${SSH_CFLAGS}" = xyes; then
3982 echo " SSH flags are: default"
3984 echo " SSH flags are: $SSH_CFLAGS"
3986 echo " SSH libs are: $SSH_LIBS"
3988 PKG_ERR([No SSH development package is installed, but it's enabled."])
3992 if test x"${build_all_as3}" = x"yes"; then
3993 echo " Building the entire ActionScript class libary"
3995 echo " Only building these ActionScript classes into the library:"
3996 echo " ${classlist}"
3999 if test x"$testsuite" = x"yes"; then
4000 if test x"$NETCAT" != x; then
4001 echo " You have netcat installed, which is only used for testing"
4003 echo " Install netcat for networking test support"
4005 if test x"$WGET" != x; then
4006 echo " You have wget installed, which is only used for testing"
4008 echo " Install wget for networking test support"
4012 if test x$cross_compiling = xyes; then
4013 if test x"${android_ndk}" != xno; then
4014 AC_MSG_NOTICE([This build is setup for cross compiling for Android])
4016 AC_MSG_NOTICE([This build is setup for cross compiling])
4022 if test x"${cygnal}" = x"yes"; then
4023 echo " Building Cygnal media server enabled (default). Use --disable-cygnal to disable."
4025 echo " Building Cygnal media server disabled."
4028 if test x"${with_top_level}" != x; then
4029 echo " Top level for cross compiling support files is: $with_top_level"
4032 if test x"${build_gtk}" = xyes -a x"${pixelformat}" = xrgb565; then
4033 echo " WARNING: Pixel format RGB565 selected in combination with the" >&4
4034 echo " GTK GUI. Only a hacked GTK will work (e.g. on the OLPC)." >&4
4037 if test x"${extensions_list}" != x; then
4038 echo " Building extensions: ${extensions_list}"
4041 if test x"${extensions_support}" = xno; then
4042 echo " Extension support disabled."
4045 if test x"${security_list}" != x; then
4046 echo " Enabling security features: ${security_list}"
4049 if test x"${statistics_list}" != x; then
4050 echo " Enabling statistics collecting for: ${statistics_list}"
4053 if test x"${SUPPORTED_GUIS}" = x; then
4054 AC_MSG_ERROR(no supported GUIs found);
4057 echo " GUI toolkits supported: ${SUPPORTED_GUIS}"
4058 echo " Renderers supported: ${renderer_list}"
4059 echo " Hardware Acceleration: ${device_list}"
4060 echo " Media handlers: ${media_list}"
4061 echo " Using ${add_sound} for sound handling"
4063 if test x"$docbook" = x"yes"; then
4064 echo ' DocBook document processing enabled (for "make html" and "make pdf")'
4065 if test x"$docbook_styles" != x; then
4066 echo " Docbook styles sheets in $docbook_styles"
4069 echo " DocBook document processing disabled (default)"
4072 dnl The Framebuffer GUI has several other settings. As it doesn't have X11,
4073 dnl we have to handle input devics ourselves.
4074 if test x"${build_fb}" = xyes; then
4075 echo " Using ${input_events} for Input"
4076 if test x"${fakefb}" != x; then
4077 echo " Using shared memory as a fake framebuffer"
4079 if test x"${offscreen}" = xyes; then
4080 echo " Using offscreen rendering"
4082 if test x"${doublebuf}" = xyes; then
4083 echo " Using double buffering when rendering"
4087 if test -s $cwarn; then
4092 echo "Gnash should still compile even with these warnings."
4093 echo "If it doesn't, report the warnings as a bug."
4098 if test -s $crec; then
4103 echo "Gnash should still compile, but you'll miss important support"
4108 if test -s $cerr; then
4113 deb_err="`cat $deb_err`"
4114 deb_war="`cat $deb_war`"
4115 deb_rec="`cat $deb_rec`"
4116 rpm_err="`cat $rpm_err`"
4117 rpm_war="`cat $rpm_war`"
4118 rpm_rec="`cat $rpm_rec`"
4119 yast_err="`cat $yast_err`"
4120 yast_war="`cat $yast_war`"
4121 yast_rec="`cat $yast_rec`"
4123 # Pipe stderr to /dev/null since Fedora complains when target isn't there.
4124 if test x`which apt-get 2>/dev/null` != x; then
4125 if test x"$deb_err" != x -o x"$deb_war" != x -o x"$deb_rec" != x; then
4126 echo "#!/bin/sh" > deb-attempt-install-dependencies.sh
4127 echo "packages=\"$deb_err $deb_war $deb_rec\"" >> deb-attempt-install-dependencies.sh
4128 echo "PKGCOMMAND=\"apt-get install -y -q\"" >> deb-attempt-install-dependencies.sh
4129 cat ${srcdir}/base-attempter.sh >> deb-attempt-install-dependencies.sh
4130 chmod +x deb-attempt-install-dependencies.sh
4132 echo ".deb users might be able to install most dependencies by executing:"
4133 echo "sudo ./deb-attempt-install-dependencies.sh"
4137 if test x`which yum 2>/dev/null` != x; then
4138 if test x"$rpm_err" != x -o x"$rpm_war" != x -o x"$deb_rec" != x; then
4139 echo "#!/bin/sh" > rpm-attempt-install-dependencies.sh
4140 echo "packages=\"$rpm_err $rpm_war $rpm_rec\"" >> rpm-attempt-install-dependencies.sh
4141 echo "PKGCOMMAND=\"yum install -y \"" >> rpm-attempt-install-dependencies.sh
4142 cat ${srcdir}/base-attempter.sh >> rpm-attempt-install-dependencies.sh
4143 chmod +x rpm-attempt-install-dependencies.sh
4145 echo ".rpm users might be able to install most dependencies by executing:"
4146 echo "sudo ./rpm-attempt-install-dependencies.sh"
4150 dnl TODO: Add support for yast here, which AFAIK is used on OpenSuse.
4152 dnl If anything critical is missing, don't bother to continue
4153 if test -s $cerr; then
4156 AC_MSG_ERROR([Please install required packages])
4163 if test x"$fork" = x"no"; then
4165 AC_MSG_ERROR([Currently only forking the standalone player works!])
4172 # indent-tabs-mode: nil