2 dnl Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
3 dnl Free Software Foundation, Inc.
5 dnl This program is free software; you can redistribute it and/or modify
6 dnl it under the terms of the GNU General Public License as published by
7 dnl the Free Software Foundation; either version 3 of the License, or
8 dnl (at your option) any later version.
10 dnl This program is distributed in the hope that it will be useful,
11 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 dnl GNU General Public License for more details.
14 dnl You should have received a copy of the GNU General Public License
15 dnl along with this program; if not, write to the Free Software
16 dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 AC_INIT(gnash, 0.8.10dev)
21 AC_CONFIG_SRCDIR([libcore/as_object.h])
22 AC_CONFIG_HEADERS([gnashconfig.h])
23 AC_CONFIG_MACRO_DIR([macros])
28 dnl --------------------------------------------------------
29 dnl Figure out development tool stuff
30 dnl --------------------------------------------------------
38 dnl Set the default values for Flash Version. These are converted into
39 dnl various strings to make JavaScript or ActionScript detectors
40 dnl recognize Gnash as a SWF Player.
41 DEFAULT_FLASH_MAJOR_VERSION="10"
42 DEFAULT_FLASH_MINOR_VERSION="1"
43 DEFAULT_FLASH_REV_NUMBER="999"
44 AC_SUBST(DEFAULT_FLASH_MAJOR_VERSION)
45 AC_SUBST(DEFAULT_FLASH_MINOR_VERSION)
46 AC_SUBST(DEFAULT_FLASH_REV_NUMBER)
48 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_MAJOR_VERSION], ["${DEFAULT_FLASH_MAJOR_VERSION}"], [Default Flash major version])
49 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_MINOR_VERSION], ["${DEFAULT_FLASH_MINOR_VERSION}"], [Default Flash minor version])
50 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_REV_NUMBER], ["${DEFAULT_FLASH_REV_NUMBER}"], [Default Flash revision number])
52 dnl TODO: use host/build/target -- whatever is more appropriate
55 DEFAULT_FLASH_PLATFORM_ID="MAC"
56 DEFAULT_FLASH_SYSTEM_OS="MacOS"
59 DEFAULT_FLASH_PLATFORM_ID="BSD"
60 DEFAULT_FLASH_SYSTEM_OS="OpenBSD"
62 *-freebsd* | *-kfreebsd*)
63 DEFAULT_FLASH_PLATFORM_ID="BSD"
64 DEFAULT_FLASH_SYSTEM_OS="FreeBSD"
67 DEFAULT_FLASH_PLATFORM_ID="BSD"
68 DEFAULT_FLASH_SYSTEM_OS="NetBSD"
71 DEFAULT_FLASH_PLATFORM_ID="LNX"
72 DEFAULT_FLASH_SYSTEM_OS="GNU/Linux"
75 DEFAULT_FLASH_PLATFORM_ID="LNX"
76 DEFAULT_FLASH_SYSTEM_OS="Linux"
78 *-cygwin* | *-mingw* | *-pw32*)
79 DEFAULT_FLASH_PLATFORM_ID="WIN"
80 DEFAULT_FLASH_SYSTEM_OS="Windows"
83 DEFAULT_FLASH_PLATFORM_ID="SUN"
84 DEFAULT_FLASH_SYSTEM_OS="Solaris"
87 DEFAULT_FLASH_PLATFORM_ID="OS2"
88 DEFAULT_FLASH_SYSTEM_OS="OS/2"
91 DEFAULT_FLASH_PLATFORM_ID="SCO"
92 DEFAULT_FLASH_SYSTEM_OS="SCO/Unix"
95 DEFAULT_FLASH_PLATFORM_ID="IRX"
96 DEFAULT_FLASH_SYSTEM_OS="IRIX"
99 DEFAULT_FLASH_PLATFORM_ID="HPX"
100 DEFAULT_FLASH_SYSTEM_OS="HPUX"
103 DEFAULT_FLASH_PLATFORM_ID="OS4"
104 DEFAULT_FLASH_SYSTEM_OS="AmigaOS4"
107 DEFAULT_FLASH_PLATFORM_ID="HAIKU"
108 DEFAULT_FLASH_SYSTEM_OS="Haiku"
111 DEFAULT_FLASH_PLATFORM_ID="GNU"
112 DEFAULT_FLASH_SYSTEM_OS="GNU/HURD"
115 DEFAULT_FLASH_PLATFORM_ID="UNK"
116 DEFAULT_FLASH_SYSTEM_OS="Unknown"
120 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_PLATFORM_ID], ["${DEFAULT_FLASH_PLATFORM_ID}"], [Default 3-letter platform identifier for version string])
121 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_SYSTEM_OS], ["${DEFAULT_FLASH_SYSTEM_OS}"], [Default value for System.capabilities.os])
123 AC_SUBST(DEFAULT_FLASH_PLATFORM_ID)
124 AC_SUBST(DEFAULT_FLASH_SYSTEM_OS)
126 DEFAULT_STREAMS_TIMEOUT=60
127 AC_SUBST(DEFAULT_STREAMS_TIMEOUT)
128 AC_DEFINE_UNQUOTED([DEFAULT_STREAMS_TIMEOUT], [${DEFAULT_STREAMS_TIMEOUT}], [Default streams timeout in seconds])
130 DEFAULT_SOL_SAFEDIR="~/.gnash/SharedObjects"
131 AC_SUBST(DEFAULT_SOL_SAFEDIR)
132 AC_DEFINE_UNQUOTED([DEFAULT_SOL_SAFEDIR], ["${DEFAULT_SOL_SAFEDIR}"], [Default SharedObject base directory])
135 dnl Some things you can only do by looking at the platform name.
137 powerpc-apple-darwin*)
138 AC_DEFINE([__powerpc64__], [1], [this is a 64 bit powerpc])
140 AC_DEFINE([DARWIN_HOST], [1], [this is a Darwin platform])
144 AC_DEFINE([DARWIN_HOST], [1], [this is a Darwin platform])
146 dnl Unfortunately, all BSD distributions are not identical, so
147 dnl as tacky as it is to look for the distribution name, we don't
148 dnl have much choice. The use of these should be avoid as much as possible.
152 AC_DEFINE([OPENBSD_HOST], [1], [this is an OpenBSD platform])
154 *-freebsd* | *-kfreebsd*)
157 AC_DEFINE([FREEBSD_HOST], [1], [this is a FreeBSD platform])
162 AC_DEFINE([NETBSD_HOST], [1], [this is a NetBSD platform])
166 AC_DEFINE([SOLARIS_HOST], [1], [this is a Solaris platform])
170 AC_DEFINE([LINUX_HOST], [1], [this is a Linux platform])
172 *-cygwin* | *-mingw* | *-pw32*)
174 AC_DEFINE([WIN32_HOST], [1], [this is a Win32 platform])
178 AC_DEFINE([WORDSIZE], [64], [this is a 64 platform])
182 AC_DEFINE([AMIGAOS4_HOST], [1], [this is an AmigaOS4 platform])
186 AC_DEFINE([HAIKU_HOST], [1], [this is a Haiku platform])
190 AC_DEFINE([GNU_HOST], [1], [this is a GNU platform])
194 AC_DEFINE([WINCE_HOST], [1], [this is a WINCE platform])
198 AC_DEFINE([WINCE_HOST], [1], [this is a WINCE platform])
199 AC_DEFINE([WINCE6_HOST], [1], [this is a WINCE6 platform])
203 AC_DEFINE([ANDROID_HOST], [1], [this is an Android platform])
208 AM_CONDITIONAL(LINUX, test x$linux = xyes)
209 AM_CONDITIONAL(WIN32, test x$windows = xyes)
210 AM_CONDITIONAL(HAIKU, test x$haiku = xyes)
211 AM_CONDITIONAL(AMIGAOS4, test x$amigaos4 = xyes)
213 dnl Get build date for helping us debugging
214 BUILDDATE="`date +%Y%m%d`"
217 dnl These are required by automake
219 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
223 AM_GNU_GETTEXT([external])
224 AM_CONDITIONAL(HAS_GETTEXT, test x$ac_cv_path_XGETTEXT != x)
226 dnl Many of the Gnash macros depend on gettext macros defining shlibext; recent
227 dnl gettext however does not.
228 if test x"${shlibext}" = x; then
229 if test x"${acl_cv_shlibext}" = x; then
230 echo "Gettext macros were supposed to define shared library extensions"
233 shlibext="${acl_cv_shlibext}"
237 dnl This is primarily used when compiling for a similar architecture,
238 dnl like pentium->geode, which can use the same compiler, but have
239 dnl different development libraries.
242 AC_HELP_STRING([--with-sysroot],
243 [system root directory for cross compiling]),
244 with_top_level=${withval} ;
247 dnl Android is a little different when using a standard cross toolchain,
248 dnl so we have to configure especially for it for now. Usually it's
249 dnl something like this:
251 dnl arm-linux-eabi-gcc -Wl,--dynamic-linker -Wl,/system/bin/linker
252 dnl -nostdlib -Wl,-rpath -Wl,/system/lib -Wl,-rpath
253 dnl -Wl,/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
254 dnl -L/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
256 dnl /opt/android-ndk-r3/build/platforms/android-3/arch-arm/usr/lib/crtbegin_dynamic.o
257 dnl Recent versions of G++ (I'm using 4.5 from source
259 AC_ARG_WITH([android],
260 AC_HELP_STRING([--with-android], [directory where android NDK is installed]),
261 android_ndk=${withval}
262 if test x"${withval}" != x; then
263 android_ndk=${withval}
265 android_ndk=/opt/android-ndk-r3/build/platforms/android-5/arch-arm
269 if test x"${android_ndk}" != xno; then
270 CROSS_CXXFLAGS=-mandroid -fexceptions
271 if test x"${with_top_level}" = x; then
272 with_top_level=/usr/local/android-arm/sysroot/usr
275 ANDROID_NDK=${android_ndk}
276 AC_DEFINE(ANDROID, [1], [This is an Android build])
280 AC_SUBST(ANDROID_NDK)
281 AM_CONDITIONAL(ANDROID, [ test x"${android_ndk}" != xno ])
287 AC_PATH_PROG(DEJAGNU, runtest)
289 dnl These options are for Cygnal, which collects optional statistics
290 dnl on all the network traffic By default, we turn on statistics
291 dnl collecting for the incoming and outgoing queues, since those are
292 dnl required to be compatiable with FMS 3, and the ActionScript server
293 dnl management API. buffers are the lowest level data storage, this
294 dnl data is the time spent in the queue, and is primarily only used
295 dnl for tuning the queueing API in Gnash. Memoryis the same, it's only
296 dnl used by developers for tuning performance of memory allocations in
303 AC_ARG_WITH(statistics,
304 AC_HELP_STRING([--with-statistics], [Specify which statistics features to enable]),
305 if test -n ${withval}; then
306 if test "x${withval}" != "xno"; then
308 withval=`echo ${withval} | tr '\054' ' ' `
316 while test -n "${withval}" ; do
317 val=`echo ${withval} | cut -d ' ' -f 1`
321 nstatistics=$((nstatistics+1))
325 nstatistics=$((nstatistics+1))
329 nstatistics=$((nstatistics+1))
333 nstatistics=$((nstatistics+1))
337 nstatistics=$((nstatistics+1))
345 nstatistics=5 dnl this must be incremented if you add anything
347 *) AC_MSG_ERROR([invalid statistics feature specified: ${withval} given (accept: buffers|que|memory|cache|proplookup|all)])
350 withval=`echo ${withval} | cut -d ' ' -f 2-6`
351 if test "x$val" = "x$withval"; then
356 if test x${buffers} = xyes; then
357 statistics_list="${statistics_list} buffers"
358 AC_DEFINE(USE_STATS_BUFFERS, [1], [Support statistics collecting for the queue buffers])
359 AC_MSG_WARN([This option will effect your performance])
362 if test x${memory} = xyes; then
363 statistics_list="${statistics_list} memory"
364 AC_DEFINE(USE_STATS_MEMORY, [1], [Support statistics collecting for all memory profiling])
365 AC_MSG_WARN([This option will effect your performance])
368 if test x${que} = xyes; then
369 statistics_list="${statistics_list} queues"
370 AC_DEFINE(USE_STATS_QUEUE, [1], [Support statistics collecting for the queues])
373 if test x${cache} = xyes; then
374 statistics_list="${statistics_list} cache"
375 AC_DEFINE(USE_STATS_CACHE, [1], [Support statistics collecting for the cache])
378 if test x${stat_proplookup} = xyes; then
379 statistics_list="${statistics_list} proplookup"
380 AC_DEFINE(GNASH_STATS_OBJECT_URI_NOCASE, [1], [Collecting and report stats about ObjectURI case lookups])
381 AC_DEFINE(GNASH_STATS_PROPERTY_LOOKUPS, [1], [Collecting and report stats about property lookups])
382 AC_DEFINE(GNASH_STATS_STRING_TABLE_NOCASE, [1], [Collecting and report stats about string_table::key case lookups])
385 dnl this is just so Makefile can print the same list
386 STATISTICS_LIST="$statistics_list"
387 AC_SUBST(STATISTICS_LIST)
390 # These settings are compile time options for the security
391 # setting for anything that lets gnash exchange data with
392 # other applications. Currently this only supports Shared
393 # Objects and Local Connections. Shared Objects are like
394 # your web browsers cookies, and Local Connections use
395 # shared memory to execute methods remotely, and to
398 # The default is to enable everything, and these can
399 # also be controlled dynamically by the $HOME/.gnashrc
405 AC_ARG_WITH(security,
406 AC_HELP_STRING([--with-security], [Specify which security features to enable]),
407 if test -n ${withval}; then
408 if test "x${withval}" != "xno"; then
410 withval=`echo ${withval} | tr '\054' ' ' `
418 while test -n "${withval}" ; do
419 val=`echo ${withval} | cut -d ' ' -f 1`
423 nsecurity=$((nsecurity+1))
427 nsecurity=$((nsecurity+1))
434 *) AC_MSG_ERROR([invalid security feature specified: ${withval} given (accept: solreadonly|lc)])
437 withval=`echo ${withval} | cut -d ' ' -f 2-6`
438 if test "x$val" = "x$withval"; then
444 if test x$localconnection = xyes; then
445 security_list="${security_list} localconnection"
446 AC_DEFINE(USE_LC, [1],
447 [Support LocalConnection])
448 AC_MSG_NOTICE([This build supports LocalConnection])
450 if test x$solreadonly = xyes; then
451 security_list="${security_list} solreadonly"
452 AC_DEFINE(USE_SOL_READONLY, [1],
453 [Shared Objects are read-only])
454 AC_MSG_NOTICE([Shared Objects are read-only])
456 SECURITY_LIST="$security_list"
457 AC_SUBST(SECURITY_LIST)
459 dnl For Haiku, we know the sysroot is in a non-standard place
460 dnl it is important that -lagg comes before -lbe
461 if test x"${haiku}" = xyes; then
466 dnl Darwin uses libtool instead of ar to produce libraries. We determine which one
467 dnl we have here now. For some reason on Darwin, we don't get the
468 dnl count from grep via stdin correctly. Writing a temp file does the
469 dnl trick, so although it's ugly, that's what we gotta do...
470 AC_MSG_CHECKING([which type of library archiver we have])
473 archiver=`grep -c dynamic .tmp 2>&1`
475 dnl is there any good way to report what we found here?
477 if test x"${archiver}" != x && test "${archiver}" -eq 1; then
478 export MACOSX_DEPLOYMENT_TARGET="10.3"
484 dnl When cross compiling, limit the search directories cause otherwise
485 dnl we may get the host headers or libraries by accident. These values
486 dnl are exported, so all the other configure tests in macros/*.m4 use
487 dnl these same settings rather than duplicating them like we used to.
488 dnl To override thise, use the --with-*-incl= and --with-*-libs=
489 dnl options to configure.
490 if test x$cross_compiling = xyes; then
491 AC_MSG_NOTICE([Configuring Gnash for cross compilation])
492 export pkgroot="`$CXX -print-search-dirs | grep "install:" | sed -e 's/install: //' -e 's:/lib/gcc/.*::'`"
493 dnl pkgroot only works correctly with builds of cross tools not in
494 dnl /usr, ie... installed from the distribution packages, or just
495 dnl plain installed in the system tools. This contaminates configure
496 dnl when building for variations of the same basic architecture,
497 dnl like i686-linux -> i586-mingw32.
498 if test x"${pkgroot}" = x"/usr"; then
501 export incllist="`eval echo ${with_top_level}/include ${pkgroot}/${host_alias}/include ${pkgroot}/include`"
502 export libslist="`eval echo ${with_top_level}/lib ${pkgroot}/${host_alias}/lib ${pkgroot}/lib64 ${pkgroot}/lib32 ${pkgroot}/lib`"
503 export pathlist="`eval echo ${pkgroot}/${host_alias}/bin:${pkgroot}/bin`"
506 AC_MSG_NOTICE([Configuring Gnash for native compilation])
507 export incllist="`eval cat ${srcdir}/macros/incllist`"
508 libslist="`cat ${srcdir}/macros/libslist`"
509 if test -f /usr/bin/dpkg-architecture; then
510 export DEB_HOST_MULTIARCH="`eval dpkg-architecture -qDEB_HOST_MULTIARCH`"
511 export libslist="${libslist} /lib/${DEB_HOST_MULTIARCH} /usr/lib/${DEB_HOST_MULTIARCH}"
513 export pathlist=$PATH
516 if test x"${android_ndk}" != xno; then
517 incllist="${android_ndk}/include ${incllist}"
520 AM_CONDITIONAL(CROSS_COMPILING, [ test x$cross_compiling = xyes ])
522 for dir in ${incllist}; do
523 test -d ${dir} && pruned_incllist="${pruned_incllist} ${dir}";
526 for dir in ${libslist}; do
527 test -d ${dir} && pruned_libslist="${pruned_libslist} ${dir}";
530 libslist="${pruned_libslist}";
531 incllist="${pruned_incllist}";
533 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
535 dnl !! IMPORTANT NOTICE
537 dnl !! Any call to GNASH_PATH_XXX must be be given *after* this snippet.
538 dnl !! This is to ensure that PKG_CONFIG, cross_compiling and incllist are
539 dnl !! properly set at the time of call.
541 dnl !! Also GNASH_PKG_FIND has to be called later. Not sure
542 dnl !! why but calling before breaks detection of CPP (see
543 dnl !! gnash-dev mailing archives for June 12 2009
544 dnl !! http://lists.gnu.org/archive/html/gnash-dev/2009-06/index.html
547 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
549 dnl Check for PKG_CONFIG before any GNASH_PATH call
552 dnl --------------------------------------------------------
554 dnl --------------------------------------------------------
557 build_aos4=no dnl AmigaOS4 GUI
558 build_kde3=no dnl WARNING: doesn't work (see https://savannah.gnu.org/bugs/index.php?31782)
563 build_fb=no dnl Raw framebuffer
566 build_aqua=no dnl Native MacOSX
569 AC_HELP_STRING([--enable-gui], [Enable support for the specified GUI toolkits (default=gtk,qt4)]),
570 [if test -n ${enableval}; then
571 enableval=`echo ${enableval} | tr '\054' ' ' `
573 while test -n "${enableval}" ; do
574 val=`echo ${enableval} | cut -d ' ' -f 1`
597 fltk|FLTK|fltk2|FLTK2)
614 dnl BSD doesn't have a framebuffer interface
615 if test x${linux} = xyes; then
618 if test x${openbsd} != xyes; then
624 *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: gtk|kde3|qt4|fltk|sdl|aqua|fb|qtopia3|qtopia4|dump|aos4|haiku)])
627 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
628 if test "x$val" = "x$enableval"; then
632 [ dnl Run the following code if no --enable-gui is given
635 if test x"${openbsd}" = xyes; then
638 else if test x"${haiku}" = xyes; then
649 if test x"${build_haiku}" = xyes; then
650 if test x"$haiku" != xyes; then
651 echo " ERROR: Can not build Haiku gui outside of Haiku
652 operating system." >&3
656 dnl We can use Xephyr or fbe to create a fake framebuffer instead of real
657 dnl video memory. This lets us test on a desktop machine.
659 AC_HELP_STRING([--with-fakefb],
660 [specify a file to be mapped instead of a real framebuffer]),
661 with_fakefb=${withval})
664 if test x"${with_fakefb}" = xyes; then
665 dnl This is the default file name fbe uses.
666 fakefb=/tmp/fbe_buffer
668 if test x"${with_fakefb}" != x; then
669 fakefb=${with_fakefb}
675 if test x"${fakefb}" != x; then
676 AC_DEFINE(ENABLE_FAKE_FRAMEBUFFER, [1], [Enable using a file instead of a real framebuffer])
679 dnl This enable a small handful of tests that aren't designed to be
680 dnl run as part of "make check", as they are either incomplete, or
681 dnl can only be run interactively. These are all primarily oriented
682 dnl towards code development and debugging, instead of regression
684 AC_ARG_ENABLE(devtests, AC_HELP_STRING([--enable-devtests],
685 [Developer only tests, not to be included in make check]),
686 [case "${enableval}" in
689 *) AC_MSG_ERROR([bad value ${enableval} for enable-devtests option]) ;;
691 AM_CONDITIONAL(ENABLE_DEVELOPER_TESTS, [test x${devtests} = xyes])
693 dnl --------------------------------------------------------
694 dnl Sound handler selection
695 dnl --------------------------------------------------------
702 AC_HELP_STRING([--enable-sound=[[sdl|ahi|mkit]]], [Use the specified sound handler (default=sdl)]),
703 [case "${enableval}" in
721 [if test x"${haiku}" = xyes; then
725 if test x${build_sound_none} = xno; then
732 dnl --------------------------------------------------------
733 dnl Media handler selection
734 dnl --------------------------------------------------------
736 build_media_ffmpeg=auto
739 AC_HELP_STRING([--enable-media=handler],
740 [Enable media handling support using the specified handler: gst, ffmpeg or none (no sound) [[gst]] ]),
742 if test -n ${enableval}; then
743 enableval=`echo ${enableval} | tr '\054' ' ' `
745 dnl When --enable-media is given, all media defaults to off
746 dnl except the explicitly enabled ones
747 build_media_ffmpeg=no
749 while test -n "${enableval}"; do
750 val=`echo ${enableval} | cut -d ' ' -f 1`
754 media_list="${media_list}gst "
757 build_media_ffmpeg=yes
758 media_list="${media_list}ffmpeg "
765 AC_MSG_ERROR([bad value ${enableval} for --enable-media option])
769 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
770 if test "x$val" = "x$enableval"; then
774 [if test x"${build_haiku}" = xyes; then
775 build_media_ffmpeg=yes
776 build_media_haiku=yes
777 media_list="ffmpeg haiku"
784 dnl If no render is selected, and media handling isn't disabled, them enable gst
785 if test x${build_media_none} = xno -a x${build_media_gst} = xno -a x${build_media_ffmpeg} = xno; then
789 if test x"$build_media_ffmpeg" != x"no"; then # yes or auto
791 if test x"${build_media_ffmpeg}" = xauto; then
792 dnl TODO: have GNASH_PATH_FFMPEG set ${has_ffmpeg}
793 if test x"$FFMPEG_LIBS" != x; then
794 build_media_ffmpeg=yes
795 media_list="${media_list} ffmpeg"
802 MEDIA_CONFIG="${media_list}"
803 AC_SUBST(MEDIA_CONFIG)
805 dnl Multiple input devices are supported. These can all work in
806 dnl varying combinations, so several may be listed. These are only
807 dnl required when using the Framebuffer, as without the X11 desktop,
808 dnl Gnash has to handle all these internally. This can get
809 dnl messy, as one might want to use a touchscreen with a normal mouse
810 dnl or keyboard attached.
811 dnl By default, don't build any of these, as they are only for the
812 dnl Framebuffer running without X11.
813 if test x"${build_fb}" = xyes -a x"${linux}" = xyes; then
815 build_ps2keyboard=yes
816 build_input_events=yes
818 input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"
822 build_input_events=no
827 AC_HELP_STRING([--enable-input], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
828 [if test -n ${enableval}; then
829 enableval=`echo ${enableval} | tr '\054' ' ' `
833 build_input_events=no
835 while test -n "${enableval}" ; do
836 val=`echo ${enableval} | cut -d ' ' -f 1`
838 ps2m*|PS2m*|m*|M*) dnl a PS/2 style mouse
840 input_events="${input_events}, PS/2 Mouse"
842 ps2k*|PS2K*|k*|K*) dnl a PS/2 style keyboard
843 build_ps2keyboard=yes
844 input_events="${input_events}, PS/2 Keyboard"
846 i*|I*|ev*|Ev*) dnl use the new Input Event, which supports both
847 input_events="${input_events}, Input Event Device"
848 build_input_events=yes
850 t*|T*) dnl use a touchscreen with tslib, which works like a mouse
852 input_events="${input_events}, Touchscreen"
856 build_ps2keyboard=yes
858 if test x"${linux}" = xyes; then
859 build_input_events=yes
860 input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"
862 build_input_events=no
863 input_events="PS/2 Mouse, PS/2 Keyboard, Touchscreen via Tslib"
866 *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
869 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
870 if test "x$val" = "x$enableval"; then
876 if test x$build_sdl != xno -o x$build_sound_sdl = xyes; then
879 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} = xyes])
882 dnl -----------------------------------------------------
883 dnl Check for SDL and decide about auto gui accordingly.
884 dnl Need be done after build_sound_sdl and build_sdl are
885 dnl initialized and before they are checked for yes/no
886 dnl -----------------------------------------------------
887 if test x"${build_sdl}" = xauto; then
888 if test xyes = x"${has_sdl}"; then
891 AC_MSG_NOTICE([sdl GUI will not be built (no sdl development files found)])
896 dnl -------------------------------
897 dnl Renderer Selection
898 dnl -------------------------------
900 dnl By default, we want to to build all renderers
901 dnl DirectFB has both a device layer and a rendering layer, although
902 dnl currently the rendering part is incomplete. Configure support is
903 dnl included for development purposes.
905 dnl The OpenVG support works on both the desktop and embedded devices
906 dnl that don't run X11. It is supported by iPhone/iPad/Android
907 dnl devices, and the nouveau driver on the desktop.
909 dnl The OpenGLES1 renderer is a work in progress. It is originally
910 dnl based on a patch to Gnash 0.8.5, which of course not only didn't
911 dnl compile anymore, it was all hardcoded into the framebuffer
912 dnl code. This version compiles with the latest internal rendering
913 dnl API, and works properly with the glue code for the Gnash GUIs.
915 dnl OpenGL works, but suffers from performance and rendering quality
916 dnl problems. This should eventually be replacd by the OpenGLES1 and
919 dnl AGG is a software only renderer
922 renderer_list="agg cairo"
923 AC_ARG_ENABLE(renderer,
924 AC_HELP_STRING([--enable-renderer], [Enable support for the specified renderers (agg|cairo|opengl|openvg|all, default=all)]),
925 if test -n ${enableval}; then
926 if test "x${enableval}" != "xno" -o "x${enableval}" != "xnone" ; then
928 enableval=`echo ${enableval} | tr '\054' ' ' `
941 while test -n "${enableval}" ; do
942 val=`echo ${enableval} | cut -d ' ' -f 1`
954 renderer_list="agg cairo opengl openvg, opengles1"
961 ogl|OGL|OpenGL|opengl)
962 renderer_list="${renderer_list} opengl"
965 gles|GLES|gles1|GLES1)
966 renderer_list="${renderer_list} opengles1"
969 nrender=$((nrender+1))
971 ovg|OVG|OpenVG|openvg)
972 renderer_list="${renderer_list} openvg"
974 nrender=$((nrender+1))
977 renderer_list="${renderer_list} DirectFB"
979 nrender=$((nrender+1))
982 renderer_list="${renderer_list} agg"
986 renderer_list="${renderer_list} cairo"
989 *) AC_MSG_ERROR([invalid renderer specified: ${enableval} given (accept: (opengl|openvg|cairo|agg|all)])
992 enableval=`echo ${enableval} | cut -d ' ' -f 2-`
993 if test "x$val" = "x$enableval"; then
999 if test x"${build_ovg}" = xyes; then
1001 dnl If OpenVG isn't installed, disable it
1002 if test x"${has_openvg}" = xno; then
1003 AC_MSG_WARN([OpenVG specified but no development files found!])
1004 renderer_list=`echo ${renderer_list} | sed -e 's/ openvg//' `
1005 nrender=$((nrender-1))
1009 dnl VA API is used by default for all H.264 videos. HW requirements:
1010 dnl * AMD GPUs with UVD2 and xvba-video VA driver
1011 dnl * NVIDIA GPUs with vdpau-video VA driver
1012 dnl * All HW with a VA driver supporting the VA/GLX extensions or
1013 dnl vaPutSurface(Pixmap,...). This may include the Intel
1014 dnl Moorestown platform and future G45 VA driver.
1015 dnl NOTE: it is possible to use Gnash/VAAPI on platforms with an Intel
1016 dnl GMA500 but you currently will have to build the AGG renderer
1017 dnl instead of the OGL (OpenGL) one.
1018 build_vaapi_device=no
1019 build_openmax_device=no
1022 build_directfb_device=no
1023 if test x"${build_fb}" = xyes -o x"${build_fb}" = xauto; then
1026 dnl AGG support for the framebuffer requires the rawfb device
1027 if test x"${build_fb_agg}" = xyes -a x"${build_agg}" = xyes; then
1028 build_rawfb_device=yes
1032 build_rawfb_device=no
1036 AC_ARG_ENABLE(device,
1037 AC_HELP_STRING([--enable-device], [Specify which hardware abstraction to use to support to enable (none,egl,directfb,rawfb,x11,vaapi)]),
1038 enableval=`echo ${enableval} | tr '\054' ' ' `
1040 build_rawfb_device=no
1043 while test -n "${enableval}" ; do
1044 val=`echo ${enableval} | cut -d ' ' -f 1`
1048 build_vaapi_device=no
1049 build_openmax_device=no
1051 build_directfb_device=no
1056 device_list="${device_list} VAAPI"
1057 build_vaapi_device=yes
1058 ndevice=$((ndevice+1))
1061 device_list="${device_list} EGL"
1062 build_egl_device=yes
1063 ndevice=$((ndevice+1))
1066 device_list="${device_list} X11"
1067 build_x11_device=yes
1068 ndevice=$((ndevice+1))
1071 device_list="${device_list} DirectFB"
1072 build_directfb_device=yes
1073 ndevice=$((ndevice+1))
1076 device_list="${device_list} RawFB"
1077 build_rawfb_device=yes
1078 ndevice=$((ndevice+1))
1081 device_list="EGL RawFB X11"
1082 build_openmax_device=no
1083 build_vaapi_device=no
1084 build_egl_device=yes
1085 build_rawfb_device=yes
1086 build_directfb_device=no
1087 build_x11_device=yes
1091 device_list="${device_list} OpenMAX"
1092 build_openmax_device=yes
1093 ndevice=$((ndevice+1))
1095 *) AC_MSG_ERROR([invalid device feature specified: ${enableval} given (accept: none,vaapi)])
1098 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1099 if test "x$val" = "x$enableval"; then
1105 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi_device}" = x"yes"; then
1109 dnl if the version of FFmpeg is recent enough, (r20957, 52.45.0), then
1110 dnl look for VAAPI support so we can use use the VAAPI enabled FFmpeg.
1111 if test x"${have_ffmpeg_vaapi}" = xyes; then
1113 GNASH_PKG_FIND([libva],
1115 [Video Acceleration API],
1119 GNASH_PKG_FIND([libva_x11],
1121 [VA API (X11 display)],
1126 if test x$build_ogl = xyes; then
1128 GNASH_PKG_FIND([libva_glx],
1130 [VA API (GLX display)],
1138 dnl libVA drivers. We declare conditional for both the option being
1139 dnl selected, as well as whether or not it's found. This we can
1140 dnl generate better error handling if it's not found.
1141 AM_CONDITIONAL(USE_VAAPI, test x"${use_libva}" = xyes)
1143 dnl Until the hwaccel patches in FFmpeg wind up in the ffmpeg-plugin,
1144 dnl restrict using HW Accel to using FFmpeg directly.
1145 dnl test xyes = xyes -a ( x != xyes -o x != xyes )
1146 if test x"${build_vaapi}" = x"yes" -a x"${have_ffmpeg}" != x"yes"; then
1147 AC_MSG_ERROR(["Hardware acceleration currently not supported unless using FFmpeg."])
1150 AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = xyes)
1151 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
1152 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
1154 if test x"${build_egl_device}" = xyes; then
1155 GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
1156 if test xyes = x"${has_EGL}"; then
1157 AC_DEFINE(BUILD_EGL_DEVICE, [ 1 ],
1158 [Build the EGL device for OpenVG, OpenGLES1&2, and X11/Mesa])
1159 device_list="${device_list} EGL"
1160 ndevice=$((ndevice+1))
1162 AC_MSG_WARN(["EGL requested but development package not found!"])
1167 if test ${ndevice} -eq 0; then
1172 AM_CONDITIONAL(BUILD_DEVICES, test ${ndevice} -gt 0)
1174 dnl 16 bit: RGB555, RGB565
1175 dnl 24 bit: RGB24, BGR24
1176 dnl 32 bit: RGBA32, BGRA32
1178 AC_ARG_WITH(pixelformat,
1179 AC_HELP_STRING([--with-pixelformat=], [Use the specified pixel format for AGG (default=all)]),
1180 [if test -n ${withval}; then
1181 pixelformat="${withval}"
1182 withval=`echo ${withval} | tr '\054' ' ' `
1184 while test -n "${withval}" ; do
1185 val=`echo ${withval} | cut -d ' ' -f 1`
1188 # allow special value "all" set by user (handled below)
1191 AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32])
1194 AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32])
1197 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1200 AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24])
1203 AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32])
1206 AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24])
1209 AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555])
1212 AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565])
1214 *) AC_MSG_ERROR([invalid pixel format ${withval} given (accept: all|RGB555|RGB565|RGB24|BGR24|BGRA32|RGBA32|ARGB32|ABGR32)])
1217 withval=`echo ${withval} | cut -d ' ' -f 2-6`
1218 if test "x$val" = "x$withval"; then
1222 [if test x$build_haiku = xyes -a x$build_sdl != xyes; then
1223 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1228 if test x$pixelformat = xall; then
1229 if test x$build_agg = xyes; then
1230 ### The fact that we're building GTK doesn't mean we're not also
1231 ### building KDE or SDL, each needing its own pixel format !
1232 #if test x$build_gtk = xyes; then
1233 # AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1234 # pixelformat="RGB24"
1236 AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555 pixel format])
1237 AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565 pixel format])
1238 AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1239 AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24 pixel format])
1240 AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32 pixel format])
1241 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32 pixel format])
1242 AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32 pixel format])
1243 AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32 pixel format])
1248 if test x"${build_ogl}" != xno; then # yes or auto
1250 if test x"${build_ogl}" = xauto; then
1251 if test xyes = x"${has_opengl}"; then
1253 renderer_list="${renderer_list} opengl"
1260 AM_CONDITIONAL(BUILD_OVG_RENDERER, [ test x${build_ovg} = xyes ])
1261 AM_CONDITIONAL(BUILD_GLES1_RENDERER, [ test x${build_gles1} = xyes ])
1262 AM_CONDITIONAL(BUILD_GLES2_RENDERER, [ test x${build_gles2} = xyes ])
1263 AM_CONDITIONAL(BUILD_OGL_RENDERER, [ test x${build_ogl} = xyes])
1264 AM_CONDITIONAL(BUILD_AGG_RENDERER, [ test x${build_agg} = xyes ])
1265 AM_CONDITIONAL(BUILD_CAIRO_RENDERER, [ test x${build_cairo} = xyes ])
1267 if test x"${has_openvg}" = xyes; then
1268 AC_DEFINE([RENDERER_OPENVG], [1], [Use OpenVG renderer])
1271 if test x"${build_ogl}" = xyes; then
1272 AC_DEFINE([RENDERER_OPENGL], [1], [Use OpenGL renderer])
1275 if test x"${build_agg}" = xyes; then
1276 AC_DEFINE([RENDERER_AGG], [1], [Use AntiGrain renderer])
1279 if test x"${build_cairo}" = xyes; then
1280 GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1281 AC_DEFINE([RENDERER_CAIRO], [1], [Use cairo renderer])
1284 if test x"${build_agg}" = xyes; then
1288 AC_PATH_PROG(PERL, perl)
1289 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
1291 AC_PATH_PROG(CSOUND, csound)
1292 AM_CONDITIONAL(HAVE_CSOUND, test x"$CSOUND" != x)
1294 AC_PATH_PROG(GIT, git)
1297 dnl --------------------------------------------------------
1298 dnl Extension selection
1299 dnl --------------------------------------------------------
1308 extensions_support=yes
1310 AC_ARG_ENABLE(extensions,
1311 AC_HELP_STRING([--enable-extensions=], [Specify which extensions to build (default: none)])
1312 AC_HELP_STRING([--disable-extensions], [Disable support for extensions entirely]),
1313 if test -n ${enableval}; then
1314 if test "x${enableval}" != "xno"; then
1315 extlist="${enableval}"
1316 enableval=`echo ${enableval} | tr '\054' ' ' `
1317 AC_DEFINE([USE_EXTENSIONS], [1], [Specify that extension support is enabled.])
1321 extensions_support=no
1325 while test -n "${enableval}" ; do
1326 val=`echo ${enableval} | cut -d ' ' -f 1`
1327 extensions_list="${extensions_list} ${val}"
1329 dejagnu|DEJAGNU|dj|DJ)
1330 AC_DEFINE(USE_DEJAGNU_EXT, [1], [Build the DejaGnu extension])
1331 AC_MSG_NOTICE([Adding DejaGnu extension])
1333 nextensions=$((nextensions+1))
1335 mysql|MYSQL|sql|SQL)
1336 AC_DEFINE(USE_MYSQL_EXT, [1], [Build the MySQL extension])
1337 AC_MSG_NOTICE([Adding MySql extension])
1339 nextensions=$((nextensions+1))
1341 fileio|FILEIO|io|IO)
1342 AC_DEFINE(USE_FILEIO_EXT, [1], [Build the FileIO extension])
1343 AC_MSG_NOTICE([Adding FileIO extension])
1345 nextensions=$((nextensions+1))
1348 AC_DEFINE(USE_GTK_EXT, [1], [Build the GTK extension])
1350 nextensions=$((nextensions+1))
1353 AC_DEFINE(USE_LIRC_EXT, [1], [Build the LIRC extension])
1355 nextensions=$((nextensions+1))
1358 AC_DEFINE(USE_DBUS_EXT, [1], [Build the DBUS extension])
1360 nextensions=$((nextensions+1))
1363 AC_DEFINE(USE_GTK_EXT, [1], [Build all the extensions])
1373 *) AC_MSG_ERROR([invalid extension specified: ${enableval} given (accept: MYSQL|DEJAGNU|FILEIO|GTK|LIRC|DBUS|METOME|ALL)])
1376 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1377 if test "x$val" = "x$enableval"; then
1381 EXTENSIONS_LIST="$extensions_list"
1382 AC_SUBST(EXTENSIONS_LIST)
1385 if test x$ext_dbus = xyes; then
1389 if test x$ext_mysql = xyes; then
1393 AM_CONDITIONAL(BUILD_DEJAGNU_EXT, [ test x$ext_dejagnu = xyes ])
1394 AM_CONDITIONAL(BUILD_FILEIO_EXT, [ test x$ext_fileio = xyes ])
1395 AM_CONDITIONAL(BUILD_MYSQL_EXT, [ test x$ext_mysql = xyes ])
1396 AM_CONDITIONAL(BUILD_GTK_EXT, [ test x$ext_gtk = xyes ])
1397 AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes ])
1398 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
1399 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
1401 AM_CONDITIONAL(ENABLE_EXTENSIONS, [ test "x${extensions_support}" != "xno" ])
1403 dnl --------------------------------------------------------
1405 dnl --------------------------------------------------------
1408 AC_LIBTOOL_WIN32_DLL
1411 AC_SUBST(LIBTOOL_DEPS)
1413 DLPREOPEN="-dlpreopen"
1417 GNASH_PKG_FIND([ltdl], [ltdl.h], [libltdl library], [lt_dlinit])
1419 if test x"$has_ltdl" = x"yes";then
1420 AC_DEFINE(HAVE_LTDL, [1], [Libtool 2.x defines this, but libtool 1.5 does not])
1423 dnl --------------------------------------------------------
1425 dnl --------------------------------------------------------
1428 AC_HELP_STRING([--with-soldir],
1429 [directory for .sol files]),
1430 with_soldir=${withval})
1431 if test x${with_soldir} != x; then
1432 soldir=${with_soldir}
1437 dnl --------------------------------------------------------
1439 dnl --------------------------------------------------------
1440 dnl AC_ARG_ENABLE(avm2,
1441 dnl AC_HELP_STRING([--enable-avm2], [Enable support for AS3]),
1442 dnl [case "${enableval}" in
1443 dnl yes) avm2=yes ;;
1445 dnl *) AC_MSG_ERROR([bad value ${enableval} for enable-avm2 option]) ;;
1448 dnl AM_CONDITIONAL(ENABLE_AVM2, [test x"$avm2" = xyes])
1449 dnl if test x$avm2 = xyes; then
1450 dnl AC_DEFINE(ENABLE_AVM2, [1], [Enable AVM2 code])
1452 AM_CONDITIONAL(ENABLE_AVM2, false)
1454 dnl This option is only used if you want Gnash to interwork with
1455 dnl the Adobe player using the LocalConnection class.
1456 dnl lckey=0xdd3adabd
1458 AC_HELP_STRING([--with-lckey],
1459 [shared memory key for your system]),
1460 with_lckey=${withval})
1462 if test x${with_lckey} != x; then
1470 AC_ARG_ENABLE(python,
1471 AC_HELP_STRING([--enable-python],[Enable python for the python wrapper]),
1472 [case "${enableval}" in
1475 *) AC_MSG_ERROR([bad value ${enableval} for --enable-python option]) ;;
1478 dnl Look for python, which is optional. If enabled, a python loadable
1479 dnl module of Gnash is created.
1481 AM_CONDITIONAL([USE_PYTHON], test x"$python" = xyes)
1482 AM_CONDITIONAL([HAS_PYTHON], test x"$has_python" = xyes)
1484 dnl By default debug logging is enabled. For better performance, it can
1485 dnl be disabled, as when running as a plugin, nobody sees the debug messages
1486 dnl anyway. Debug logging is primarily for developers, so we can turn it off
1487 dnl for package builds.
1489 AC_HELP_STRING([--enable-log],[Enable debug logging]),
1490 [case "${enableval}" in
1491 yes) debuglog=yes ;;
1493 *) AC_MSG_ERROR([bad value ${enableval} for --enable-log option]) ;;
1496 if test x"${debuglog}" = x"yes"; then
1497 AC_DEFINE([DEBUG_LOGGING], [1], [Enable debug logging])
1500 # Maybe use jemalloc, which handles memory fragmentation for
1501 # ECAMscript languages better than the regular system malloc.
1502 # This seems like a good idea, as both the other player and
1503 # Mozilla/Firefox both recently switched to using jemalloc.
1504 AC_ARG_ENABLE(jemalloc,
1505 AC_HELP_STRING([--enable-jemalloc],[Enable jemalloc instead of system malloc]),
1506 [case "${enableval}" in
1507 yes) jemalloc=yes ;;
1509 *) AC_MSG_ERROR([bad value ${enableval} for --enable-jemalloc option]) ;;
1512 AC_CHECK_SIZEOF([void *], [4])
1514 if test "x${ac_cv_sizeof_void_p}" != x4 -a x"${ac_cv_sizeof_void_p}" != x8; then
1515 dnl jemalloc doesn't support unusual pointer sizes
1519 dnl There is some weird stuff going on with NetBSD and jemalloc, so don't
1520 dnl build it for now.
1521 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
1524 dnl If the compiler doesn't have local thread storage enabled, don't try to
1526 if test x"${jemalloc}" = x"yes"; then
1527 AC_TRY_COMPILE([], [
1528 extern __thread int global_i; ],
1529 has_local_thread_storage=yes
1531 if test x"${has_local_thread_storage}" = x"yes"; then
1532 AC_DEFINE([HAVE_LOCAL_THREAD_STORAGE], [1], [Has __thread (local thread storage) support])
1533 AC_DEFINE([USE_JEMALLOC], [], [Use jemalloc instead of system malloc])
1539 dnl We can search libs for mallinfo to decide whether we have it or not.
1540 dnl This is added to the linker flags when it's found. Usually it's -lc, but
1541 dnl on OpenSolaris it's -lmalloc, so this fixes the build.
1542 AC_SEARCH_LIBS([mallinfo], [c malloc],
1543 AC_DEFINE(HAVE_MALLINFO, [1], [Has mallinfo()])
1547 AM_CONDITIONAL([HAVE_MALLINFO], test x$mallinfo = xyes)
1548 AM_CONDITIONAL(JEMALLOC, test x$jemalloc = xyes)
1550 AC_ARG_ENABLE(fps-debug,
1551 AC_HELP_STRING([--enable-fps-debug],[Enable FPS debugging code]),
1552 [case "${enableval}" in
1553 yes) AC_DEFINE([GNASH_FPS_DEBUG], [1], [Enable FPS debugging code])
1556 dnl IPC_INFO isn't portable, and doesn't exist on BSD
1557 AC_TRY_COMPILE([#include <sys/ipc.h> #include <sys/shm.h>], [
1558 int flag = IPC_INFO; ],
1559 AC_DEFINE([HAVE_IPC_INFO], [1], [Use ipc_info])
1562 dnl --------------------------------------------------------
1564 dnl --------------------------------------------------------
1565 dnl Don't add the GUI menu. Some educational systems think this adds
1566 dnl clutter and confusion, like on the OLPC.
1567 AC_ARG_ENABLE(menus,
1568 AC_HELP_STRING([--disable-menus],[Disable the GUI menus]),
1569 [case "${enableval}" in
1572 *) AC_MSG_ERROR([bad value ${enableval} for --disable-menus option]) ;;
1575 if test x"$menus" = x"yes"; then
1576 AC_DEFINE([USE_MENUS], [], [GUI Menu support])
1578 AM_CONDITIONAL(MENUS, test x$menus = xyes)
1580 dnl --------------------------------------------------------
1581 dnl Disable SWF information
1582 dnl --------------------------------------------------------
1583 dnl Don't gather SWF information in tree form. This takes
1584 dnl resources and memory that can be saved if there's no
1585 dnl need to examine SWF internals.
1586 AC_ARG_ENABLE(swftree,
1587 AC_HELP_STRING([--disable-swftree],[Disable showing SWF properties]),
1588 [case "${enableval}" in
1591 *) AC_MSG_ERROR([bad value ${enableval} for --disable-swf-properties option]) ;;
1594 if test x"$swftree" = x"yes"; then
1595 AC_DEFINE([USE_SWFTREE], [], [View SWF information])
1597 AM_CONDITIONAL(SWFTREE, test x$swftree = xyes)
1599 dnl --------------------------------------------------------
1600 dnl Disable testsuite
1601 dnl --------------------------------------------------------
1602 dnl Disable running any tests for "make check". This may sound stupid, but
1603 dnl this option is designed to solely be used by maintainers in the
1604 dnl DISTCHECK_CONFIGURE_FLAGS when building packages. Gnash's testing infrastructure
1605 dnl is complex, and often the the testsuites will work, but due to some obscure reason,
1606 dnl make distcheck fails.
1607 AC_ARG_ENABLE(testsuite,
1608 AC_HELP_STRING([--disable-testsuite],[Disable the testsuite, maintainers option only]),
1609 [case "${enableval}" in
1610 yes) testsuite=yes ;;
1612 *) AC_MSG_ERROR([bad value ${enableval} for --disable-testsuite option]) ;;
1613 esac],testsuite=yes)
1615 if test x"$testsuite" = x"yes"; then
1616 AC_DEFINE([USE_TESTSUITE], [], [Testsuite support, maintainers option only])
1618 AM_CONDITIONAL(TESTSUITE, test x$testsuite = xyes)
1620 dnl --------------------------------------------------------
1621 dnl Write the file to disk in the plugin
1622 dnl --------------------------------------------------------
1623 AC_ARG_ENABLE(write,
1624 AC_HELP_STRING([--enable-write], [Makes the Mozilla plugin write the currently playing SWF movie to /tmp.]),
1625 [case "${enableval}" in
1628 *) AC_MSG_ERROR([bad value ${enableval} for --enable-write option]) ;;
1631 if test x"$write" = x"yes"; then
1632 AC_DEFINE([WRITE_FILE], [], [Write files while streaming])
1635 dnl --------------------------------------------------------
1636 dnl Write a standalone gnash launcher to disk from the plugin
1637 dnl --------------------------------------------------------
1638 AC_ARG_ENABLE(sa-launcher,
1639 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.]),
1640 [case "${enableval}" in
1641 yes) sa_launcher=yes ;;
1642 no) sa_launcher=no ;;
1643 *) AC_MSG_ERROR([bad value ${enableval} for --enable-sa-launcher option]) ;;
1644 esac],sa_launcher=yes)
1646 if test x"$sa_launcher" = x"yes"; then
1647 AC_DEFINE([CREATE_STANDALONE_GNASH_LAUNCHER], [], [Add support for writing a standalone executable launcher for movies embedded in web pages])
1650 dnl --------------------------------------------------------
1651 dnl Build the cygnal server if specified.
1652 dnl --------------------------------------------------------
1653 AC_ARG_ENABLE(cygnal,
1654 AC_HELP_STRING([--enable-cygnal], [Enable building of the Cygnal server]),
1655 [case "${enableval}" in
1658 *) AC_MSG_ERROR([bad value ${enableval} for enable-cygnal option]) ;;
1660 AM_CONDITIONAL(CYGNAL, test x$cygnal = xyes)
1662 dnl --------------------------------------------------------
1663 dnl Build the cgibins server if specified.
1664 dnl --------------------------------------------------------
1665 AC_ARG_ENABLE(cgibins,
1666 AC_HELP_STRING([--enable-cgibins], [Enable building of the CGIs for Cygnal]),
1667 [case "${enableval}" in
1670 *) AC_MSG_ERROR([bad value ${enableval} for enable-cgibins option]) ;;
1672 AM_CONDITIONAL(USE_CGI, test x$cgibin = xyes)
1673 if test x"${cgibin}" = x"yes"; then
1674 AC_DEFINE([USE_CGIBIN], [1], [Enable cgi-bin processes for Cygnal])
1677 dnl --------------------------------------------------------
1679 dnl --------------------------------------------------------
1680 dnl Add an option for double buffering when rendering, currently only used by
1681 dnl the frmaebuffer GUI.
1682 dnl If defined, an internal software-buffer is used for rendering and is then
1683 dnl copied to the video RAM. This avoids flicker and is faster for complex
1684 dnl graphics, as video RAM access is usually slower. (strongly suggested)
1685 AC_ARG_ENABLE(doublebuf,
1686 AC_HELP_STRING([--disable-doublebuf], [Disble support for double buffering when rendering with AGG]),
1687 [case "${enableval}" in
1688 yes) doublebuf=yes ;;
1690 *) AC_MSG_ERROR([bad value ${enableval} for enable-doublebuf option]) ;;
1691 esac], doublebuf=yes
1693 AM_CONDITIONAL(ENABLE_DBUF, [test x"$doublebuf" = xyes])
1694 if test x$doublebuf = xyes; then
1695 AC_DEFINE(ENABLE_DOUBLE_BUFFERING, [1], [Disable double buffering for AGG])
1698 dnl --------------------------------------------------------
1699 dnl Offscreen buffer
1700 dnl --------------------------------------------------------
1701 dnl This enables rendering to an offscreen buffer, instead of directly to window
1702 AC_ARG_ENABLE(offscreen,
1703 AC_HELP_STRING([--enable-offscreen], [Enable support for rendering offscreen]),
1704 [case "${enableval}" in
1705 yes) offscreen=yes ;;
1707 *) AC_MSG_ERROR([bad value ${enableval} for enable-offscreen option]) ;;
1712 dnl --------------------------------------------------------
1713 dnl SSH support selection
1714 dnl --------------------------------------------------------
1715 dnl Enable using libssh with libnet
1717 AC_HELP_STRING([--enable-ssh], [Enable using SSH for network authentication]),
1718 [case "${enableval}" in
1719 yes) build_ssh=yes ;;
1721 *) AC_MSG_ERROR([bad value ${enableval} for --enable-ssh option]) ;;
1722 esac], build_ssh=no)
1724 AM_CONDITIONAL(BUILD_SSH, test x"${build_ssh}" = xyes)
1725 if test x"${build_ssh}" = xyes; then
1726 GNASH_PKG_FIND(ssh, [libssh/libssh.h], [libssh library], ssh_socket_init)
1727 dnl GNASH_PKG_FIND(poppler, [popt.h], [Poppler library], poppler_init)
1729 if test x"${has_ssh}" = x"yes"; then
1730 AC_DEFINE([USE_SSH], [1], [Use SSH for authentication])
1733 dnl --------------------------------------------------------
1734 dnl SSL support selection
1735 dnl --------------------------------------------------------
1737 dnl Enable using OpenSSL with libnet.
1739 AC_HELP_STRING([--enable-ssl], [Enable using OpenSSL directly]),
1740 [case "${enableval}" in
1741 yes) build_ssl=yes ;;
1743 *) AC_MSG_ERROR([bad value ${enableval} for --enable-ssl option]) ;;
1744 esac], build_ssl=no)
1748 AM_CONDITIONAL(BUILD_SSL, test x"${build_ssl}" = xyes)
1750 AC_HELP_STRING([--with-cert],
1751 [cert file for SSL]),
1752 with_cert=${withval})
1754 AC_HELP_STRING([--with-pe],
1755 [pem file for SSL]),
1756 with_pem=${withval})
1758 if test x"${build_ssl}" = xyes; then
1759 GNASH_PKG_FIND(ssl, [openssl/ssl.h], [OpenSSL library], SSL_library_init)
1761 if test x"${has_ssl}" = x"yes"; then
1762 AC_DEFINE([USE_SSL], [1], [Use SSL for authentication])
1765 dnl -----------------------------------------------------------
1766 dnl Set the general plugins install policy here
1767 dnl (NOTE: before GNASH_PATH_FIREFOX and GNASH_PATH_KDE*)
1768 dnl -----------------------------------------------------------
1770 AC_ARG_WITH(plugins-install,
1771 AC_HELP_STRING([--with-plugins-install=system|user|prefix], [Policy for plugins install. Default: user.]),
1772 [case "${withval}" in
1773 user) PLUGINS_INSTALL_POLICY=user ;;
1774 system) PLUGINS_INSTALL_POLICY=system ;;
1775 prefix) PLUGINS_INSTALL_POLICY=prefix ;;
1776 *) AC_MSG_ERROR([bad value ${withval} for --with-plugins-install]) ;;
1778 ], PLUGINS_INSTALL_POLICY=user)
1780 dnl -----------------------------------------------------------
1781 dnl Verify dependencies for requested GUIs are met, and
1782 dnl disable build of the GUIS for which deps are NOT met
1783 dnl ------------------------------------------------------------
1785 if test x$build_gtk = xyes; then
1788 GNASH_PKG_FIND(atk, [atk/atk.h], [atk library], atk_focus_tracker_init, [1.0])
1789 if test x"${build_ogl}" = xyes; then
1792 if test x"${build_cairo}" = xyes; then
1793 GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1797 if test x"${build_qt4}" != xno; then
1801 if test x"${build_qt4}" = xauto; then
1802 if test x"${has_qt4}" = xyes; then
1809 if test x"${build_kde3}" != xno -o x"${build_qtopia3}" != xno; then
1813 if test x"${build_kde3}" != xno; then
1818 if test x"${build_kde3}" = xauto; then
1819 if test x"${has_qt3}" = xyes -a x"${has_kde3}" = xyes; then
1826 dnl Check possibility to build DUMP gui, if requested
1827 if test x"${build_dump}" != xno; then
1828 if test x"${build_agg}" = xyes; then
1831 if test x"${build_dump}" = xyes; then
1832 dnl SHOULD we just check at the end of file instead ?
1833 AC_MSG_ERROR(dump GUI cannot be built without AGG renderer);
1839 dnl Check possibility to build FB gui, if requested
1840 dnl FB dependency is a linux system (linux/fb.h)
1841 if test x"${build_fb}" != xno; then
1842 if test x"${linux}" = xyes; then
1845 if test x"${build_fb}" = xyes; then
1846 dnl SHOULD we just check at the end of file instead ?
1847 AC_MSG_ERROR(fb GUI cannot be built on non-linux platforms);
1849 AC_MSG_NOTICE([fb GUI won't be built (non-linux platform)])
1854 dnl TODO: add checks for all other GUIs
1856 dnl -------------------------------
1857 dnl Input Device selection
1858 dnl -------------------------------
1860 dnl Multiple input devices are supported. These can all work in
1861 dnl varying combinations, so several may be listed. These are only
1862 dnl required when using the Framebuffer, as without the X11 desktop,
1863 dnl Gnash has to handle all these internally. This can get
1864 dnl messy, as one might want to use a touchscreen with a normal mouse
1865 dnl or keyboard attached.
1866 dnl By default, don't build any of these, as they are only for the Framebuffer
1867 dnl running without X11.
1868 if test x"${build_fb}" = xyes; then
1870 build_ps2keyboard=yes
1871 build_input_events=yes
1873 input_events="Input Devices, Touchscreen via Tslib"
1876 build_ps2keyboard=no
1877 build_input_events=no
1881 AC_ARG_ENABLE(input,
1882 AC_HELP_STRING([--enable-input], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
1883 [if test -n ${enableval}; then
1884 enableval=`echo ${enableval} | tr '\054' ' ' `
1886 while test -n "${enableval}" ; do
1887 val=`echo ${enableval} | cut -d ' ' -f 1`
1889 ps2m*|PS2m*|m*|M*) dnl a PS/2 style mouse
1891 input_events="${input_events}, PS/2 Mouse"
1893 ps2k*|PS2K*|k*|K*) dnl a PS/2 style keyboard
1894 build_ps2keyboard=yes
1895 input_events="${input_events}, PS/2 Keyboard"
1897 i*|I*|ev*|Ev*) dnl use the new Input Event, which supports both
1898 input_events="${input_events}, Input Event Device"
1899 build_input_events=yes
1901 t*|T*) dnl use a touchscreen with tslib, which works like a mouse
1903 input_events="${input_events}, Touchscreen"
1905 *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
1908 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1909 if test "x$val" = "x$enableval"; then
1915 if test x"${build_tslib}" = xyes; then
1916 AC_DEFINE(USE_TSLIB, [1], [Use a tslib supported touchscreen])
1917 GNASH_PKG_FIND(ts, [tslib.h], [Touchscreen library], ts_config)
1919 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} != xno])
1921 if test x"${build_ps2mouse}" = xyes; then
1922 AC_DEFINE(USE_MOUSE_PS2, [1], [Add support for a directly using a PS/2 Mouse])
1924 AM_CONDITIONAL(ENABLE_MOUSE, [test x"${build_ps2mouse}" = xyes])
1926 if test x"${build_ps2keyboard}" = xyes; then
1927 AC_DEFINE(USE_KEYBOARD_PS2, [1], [Add support for directly using a PS/2 Keyboard])
1929 if test x"${build_input_events}" = xyes; then
1930 AC_DEFINE(USE_INPUT_EVENTS, [1], [Add support for a directly using Linux Input Event Devices])
1932 AM_CONDITIONAL(ENABLE_INPUT_EVENTS, [test x"${build_input_events}" = xyes])
1933 dnl this is enabled if we have any input devices at all
1934 AM_CONDITIONAL(ENABLE_INPUT_DEVICES, [test x"${input_events}" != x])
1937 dnl -----------------------------------------------------------
1938 dnl Try to ignore stupid dependencies
1939 dnl -----------------------------------------------------------
1941 AC_MSG_CHECKING(linker --as-needed support)
1942 gcc_cv_ld_as_needed=no
1943 # Check if linker supports --as-needed and --no-as-needed options
1944 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1945 gcc_cv_ld_as_needed=yes
1947 if test x"$gcc_cv_ld_as_needed" = xyes; then
1948 LDFLAGS="$LDFLAGS -Wl,--as-needed"
1950 AC_MSG_RESULT($gcc_cv_ld_as_needed)
1952 AC_DEFINE(USE_GIF, [1], [Use the GIF library])
1953 AC_DEFINE(USE_PNG, [1], [Use the PNG library])
1954 AM_CONDITIONAL(USE_GIF, true)
1955 AM_CONDITIONAL(USE_PNG, true)
1957 AC_PATH_TOOL([AUTOTRACE], [autotrace])
1960 dnl -----------------------------------------------------------------
1961 dnl PLUGIN RELATED STUFF
1962 dnl -----------------------------------------------------------------
1964 dnl !! This has been moved here to make --enable-npapi work
1965 dnl !! All of plugin-related macro calls could be moved into
1966 dnl !! a specialized macros/plugin.m4
1968 dnl ----------------------------------------------------
1969 dnl Add KPARTS support, if specified or KDE gui is built
1970 dnl ----------------------------------------------------
1972 AC_ARG_ENABLE(kparts3,
1973 AC_HELP_STRING([--disable-kparts3], [Disable support for Konqueror 3.x plugin (default: enabled if kde3 gui is)]),
1974 [case "${enableval}" in
1975 yes) build_kparts3=yes ;;
1976 no) build_kparts3=no ;;
1977 *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
1978 esac],build_kparts3=$build_kde3)
1980 dnl --------------------------------------------------------
1981 dnl Add KPARTS 4.x support, if specified or KDE gui is built
1982 dnl --------------------------------------------------------
1984 AC_ARG_ENABLE(kparts4,
1985 AC_HELP_STRING([--disable-kparts4], [Disable support for Konqueror 4.x plugin (default: enabled if Qt4 gui is)]),
1986 [case "${enableval}" in
1987 yes) build_kparts4=yes ;;
1988 no) build_kparts4=no ;;
1989 *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
1990 esac],build_kparts4=$build_qt4)
1992 if test x"${build_kparts4}" != xno; then
1996 dnl -----------------------------------------------------------
1997 dnl Add NPAPI support, if specified or GTK or Qt4 gui is built
1998 dnl -----------------------------------------------------------
2000 AC_ARG_ENABLE(npapi,
2001 AC_HELP_STRING([--disable-npapi], [Disable NPAPI plugin build (default: enabled if gtk or Qt4 gui is)]),
2002 [case "${enableval}" in
2005 *) AC_MSG_ERROR([bad value ${enableval} for disable-npapi option]) ;;
2007 if test x$build_gtk = xyes -o x$build_qt4 = xyes; then
2012 if test x"$npapi" = x"yes"; then
2016 dnl -----------------------------------------------------------------
2017 dnl Enable us to disable building all browser plugins in one command.
2018 dnl -----------------------------------------------------------------
2020 AC_ARG_ENABLE(plugins,
2021 AC_HELP_STRING([--disable-plugins], [Disable all browser plugins from building (default=no)]),
2022 [case "${enableval}" in
2025 *) AC_MSG_ERROR([bad value ${enableval} for disable-plugins option]) ;;
2029 if test x$plugins = xno; then
2039 dnl New versions of the NPAPI require const for this prototype, which currently
2040 dnl seems to only be wit Ubuntu Oneiric.
2041 AC_MSG_CHECKING([for const needed for NPP_GetMIMEDescription() prototype])
2042 npapi_flags="`echo "${NPAPI_CFLAGS}" | sed -e 's/-I//' -e 's/-DXP_UNIX//' | tr -d ' '`/npapi.h"
2043 const_test="`grep NPP_GetMIMEDescription ${npapi_flags} | grep -c const`"
2044 if test ${const_test} -eq 1; then
2045 AC_DEFINE(NPAPI_CONST, [1], [Newer versions use const in prototypes])
2046 AC_MSG_RESULT([yes])
2051 AC_TRY_COMPILE([#include <linux/input.h>], [
2052 struct input_absinfo abs;
2053 abs.resolution = 0;; ],
2054 AC_DEFINE([ABSINFO_RESOLUTION], [1], [ABS Resolution field])
2057 dnl -----------------------------------------------------------------
2058 dnl END OF PLUGIN RELATED STUFF
2059 dnl -----------------------------------------------------------------
2061 AM_CONDITIONAL(LIRC, [test x$lirc_ext = xyes])
2063 AC_CHECK_HEADERS(getopt.h)
2064 AC_CHECK_HEADERS(libgen.h)
2065 AC_CHECK_HEADERS(pwd.h)
2066 AC_CHECK_HEADERS(sys/utsname.h)
2067 AC_CHECK_HEADERS(signal.h)
2068 AC_CHECK_HEADERS(unistd.h)
2069 AC_CHECK_HEADERS(sys/time.h)
2070 AC_CHECK_LIB(bz2, BZ2_bzopen, [AC_SUBST(BZ2_LIBS, -lbz2)])
2071 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
2073 dnl X11 is needed for fltk (at least),
2074 dnl and probably for many other guis too ...
2075 dnl if ! test x$build_fb = xyes; then # <--- this is wrong as build_x is non-exclusive
2077 dnl AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
2078 dnl AC_CHECK_LIB(gmp, _gmp_get_memory_functions)
2080 AC_CHECK_LIB(Xi, XInput_find_display)
2081 AC_CHECK_LIB(X11, XDisableAccessControl)
2083 AM_CONDITIONAL(HAVE_X11, [test x${has_x11} = xyes])
2084 if test x${build_x11_device} = xyes -a x${has_x11} = xyes; then
2085 AC_DEFINE(BUILD_X11_DEVICE, [1], [Build the X11 device])
2088 dnl See if ipc_perm structure has the ipc_perm.key field, and if so,
2089 dnl which variant of the name is used.
2092 #include <sys/ipc.h>
2093 #include <sys/shm.h>], [
2094 struct shmid_ds shmseg;
2095 key_t x = shmseg.shm_perm.key;],
2097 AC_DEFINE(IPC_PERM_KEY, [key], [Has the key field in ipc_perm])
2100 if test x$ipc_key = xno; then
2102 #include <sys/ipc.h>
2103 #include <sys/shm.h>], [
2104 struct shmid_ds shmseg;
2105 key_t x = shmseg.shm_perm.__key;],
2106 AC_DEFINE(IPC_PERM_KEY, [__key], [Has the key field in ipc_perm])
2111 AC_CACHE_CHECK([for finite], ac_cv_finite,
2114 #ifdef HAVE_IEEEFP_H
2117 [double x; int y; y = finite(x);],
2121 if test x"$ac_cv_finite" = x"yes"; then
2122 AC_SEARCH_LIBS(finite, m,
2123 [AC_DEFINE(HAVE_FINITE, [1], [Has finite])]
2128 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
2129 [AC_TRY_COMPILE([#include <cmath>],
2130 [using namespace std; double x; int y; y = isfinite(x);],
2135 if test x"$ac_cv_isfinite" = x"yes"; then
2136 dnl Don't give up if isfinite is not found in -lm
2137 dnl isfinite is defined as a macro in C99.
2138 AC_SEARCH_LIBS(isfinite, m)
2139 AC_DEFINE(HAVE_ISFINITE, [1], [Has isfinite])
2143 AC_CACHE_CHECK([whether $CXX implements __PRETTY_FUNCTION__], ac_cv_implements___PRETTY_FUNCTION__, [
2144 AC_TRY_LINK([#include <cstdio>
2146 [ std::printf("%s", __PRETTY_FUNCTION__); ],
2147 [ ac_cv_implements___PRETTY_FUNCTION__="yes" ],
2148 [ ac_cv_implements___PRETTY_FUNCTION__="no" ]
2151 if test "x$ac_cv_implements___PRETTY_FUNCTION__" = "xyes" ; then
2152 AC_DEFINE(HAVE_PRETTY_FUNCTION, [1], [__PRETTY_FUNCTION__ is defined])
2155 AC_CACHE_CHECK([whether $CXX implements __FUNCTION__], ac_cv_implements___FUNCTION__, [
2156 AC_TRY_LINK([#include <cstdio>
2158 [ std::printf("%s", __FUNCTION__); ],
2159 [ ac_cv_implements___FUNCTION__="yes" ],
2160 [ ac_cv_implements___FUNCTION__="no" ]
2163 if test "x$ac_cv_implements___FUNCTION__" = "xyes" ; then
2164 AC_DEFINE(HAVE_FUNCTION, [1], [__FUNCTION__ is defined])
2167 AC_CACHE_CHECK([whether $CXX implements __func__], ac_cv_implements___func__, [
2168 AC_TRY_LINK([#include <cstdio>
2170 [ std::printf("%s", __func__); ],
2171 [ ac_cv_implements___func__="yes" ],
2172 [ ac_cv_implements___func__="no" ]
2175 if test "x$ac_cv_implements___func__" = "xyes" ; then
2176 AC_DEFINE(HAVE_func, [1], [__func__ is defined])
2179 AC_REPLACE_FUNCS(getopt)
2181 dnl Date portability stuff, used in server/asobj/Date.cpp
2182 AC_CHECK_FUNCS(gettimeofday)
2183 AC_CHECK_FUNCS(ftime)
2184 AC_CHECK_FUNCS(tzset)
2185 AC_CHECK_FUNCS(localtime_r)
2187 AC_CACHE_CHECK([whether struct tm has tm_gmtoff], ac_cv_tm_gmtoff, [
2189 /* ctime(1) says "The glibc version of struct tm has additional fields
2190 * defined when _BSD_SOURCE was set before including <time.h>"
2191 * In practice, you do not need to define it yourself (tested on glibc-2.2.1
2192 * and 2.3.6) but if you *do* define it yourself, it makes *all* functions
2193 * favour BSD-like behaviour over of GNU/POSIX, which seems dangerous.
2195 // #define _BSD_SOURCE 1
2198 [ struct tm tm; long l = tm.tm_gmtoff; ],
2199 [ ac_cv_tm_gmtoff="yes" ],
2200 [ ac_cv_tm_gmtoff="no" ]
2203 if test "x$ac_cv_tm_gmtoff" = "xyes" ; then
2204 AC_DEFINE(HAVE_TM_GMTOFF, [1], [struct tm has member tm_gmtoff])
2207 AC_CACHE_CHECK([whether timezone is a long], ac_cv_long_timezone, [
2209 /* On Linux/glibc, tzset(3) says "extern long timezone;" (seconds West of GMT)
2210 * but on BSD char *timezone(int,int) is a function returning a string name.
2211 * The BSD function timegm() may be the equivalent, but this should
2212 * not be necessary because on BSD the code should use tm.tm_gmtoff instead
2213 * (use of long timezone is a fallback strategy for when tm_gmtoff exists not).
2217 extern long timezone;
2219 [ printf("%ld", timezone); ],
2220 [ ac_cv_long_timezone="yes" ],
2221 [ ac_cv_long_timezone="no" ]
2224 if test "x$ac_cv_long_timezone" = "xyes" ; then
2225 AC_DEFINE(HAVE_LONG_TIMEZONE, [1], [extern timezone is a long integer, not a function])
2228 AC_CHECK_FUNCS(mkstemps)
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.])
2861 dnl ========= Check for GConf
2863 AC_MSG_CHECKING([whether GConf support is requested])
2864 AC_ARG_WITH([gconf],
2865 [AS_HELP_STRING([--without-gconf],
2866 [Disable the use of gconf])],
2869 *-cygwin* | *-mingw* | *-pw32*) with_gconf=no ;;
2870 *) with_gconf=yes ;;
2872 AC_MSG_RESULT([$with_gconf])
2874 AM_CONDITIONAL([WITH_GCONF],[test "$with_gconf" = "yes"])
2876 if test "$with_gconf" = "yes"; then
2877 PKG_CHECK_MODULES([GCONF],[gconf-2.0])
2878 AC_DEFINE([WITH_GCONF],[1],[Define if GConf support is enabled])
2882 AC_PATH_PROG([GCONFTOOL], [gconftool-2], [false])
2883 if test "$GCONFTOOL" = "false"; then
2884 AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
2887 AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL],false)
2894 if test x$build_qtopia3 = xyes; then
2895 SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
2897 if test x$build_qtopia4 = xyes; then
2898 SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
2900 if test x$build_fb = xyes; then
2901 SUPPORTED_GUIS="${SUPPORTED_GUIS},fb"
2903 if test x$build_fltk = xyes; then
2904 SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
2906 if test x$build_kde3 = xyes; then
2907 SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
2909 if test x$build_qt4 = xyes; then
2910 SUPPORTED_GUIS="${SUPPORTED_GUIS},qt4"
2912 if test x$build_gtk = xyes; then
2913 SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
2915 if test x$build_sdl = xyes; then
2916 SUPPORTED_GUIS="${SUPPORTED_GUIS},sdl"
2918 if test x$build_aqua = xyes; then
2919 SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
2921 if test x$build_dump = xyes; then
2922 SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
2924 if test x$build_aos4 = xyes; then
2925 SUPPORTED_GUIS="${SUPPORTED_GUIS},aos4"
2927 if test x$build_haiku = xyes; then
2928 SUPPORTED_GUIS="${SUPPORTED_GUIS},haiku"
2930 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
2931 AC_SUBST(SUPPORTED_GUIS)
2933 AC_CONFIG_LINKS(cygnal/testsuite/cygnal.all/cygnalrc:cygnal/testsuite/cygnal.all/cygnalrc.in)
2934 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc:testsuite/libbase.all/gnashrc.in)
2935 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc-local:testsuite/libbase.all/gnashrc-local.in)
2938 gnash.pc:gnash.pc.in
2939 desktop/gnash-gtk-launcher:desktop/gnash-gtk-launcher.in
2940 desktop/gnash-qt-launcher:desktop/gnash-qt-launcher.in
2951 libcore/parser/Makefile
2958 testsuite/media/Makefile
2959 testsuite/libbase.all/Makefile
2960 testsuite/as3compile.all/Makefile
2961 testsuite/actionscript.all/Makefile
2962 testsuite/samples/Makefile
2963 testsuite/swfdec/Makefile
2964 testsuite/misc-ming.all/Makefile
2965 testsuite/misc-ming.all/action_order/Makefile
2966 testsuite/misc-ming.all/sound/Makefile
2967 testsuite/misc-ming.all/displaylist_depths/Makefile
2968 testsuite/misc-ming.all/init_action/Makefile
2969 testsuite/misc-ming.all/loop/Makefile
2970 testsuite/misc-ming.all/loading/Makefile
2971 testsuite/misc-ming.all/register_class/Makefile
2972 testsuite/misc-mtasc.all/Makefile
2973 testsuite/misc-haxe.all/Makefile
2974 testsuite/misc-haxe.all/classes.all/Makefile
2975 testsuite/misc-swfmill.all/Makefile
2976 testsuite/misc-swfmill.all/trace-as2/Makefile
2977 testsuite/misc-swfmill.all/trace-as3/Makefile
2978 testsuite/misc-swfc.all/Makefile
2979 testsuite/network.all/Makefile
2980 testsuite/movies.all/Makefile
2981 testsuite/libcore.all/Makefile
2982 testsuite/libmedia.all/Makefile
2985 gui/pythonmod/Makefile
2987 extensions/dejagnu/Makefile
2988 extensions/mysql/Makefile
2989 extensions/fileio/Makefile
2990 extensions/gtk2/Makefile
2991 extensions/lirc/Makefile
2992 extensions/dbus/Makefile
2994 plugin/npapi/Makefile
2995 plugin/klash/Makefile
2996 plugin/klash4/Makefile
2997 plugin/win32/Makefile
2998 plugin/aos4/Makefile
3001 cygnal/libnet/Makefile
3002 cygnal/libamf/Makefile
3003 cygnal/cgi-bin/Makefile
3004 cygnal/cgi-bin/echo/Makefile
3005 cygnal/cgi-bin/oflaDemo/Makefile
3006 cygnal/cgi-bin/fitcDemo/Makefile
3007 cygnal/testsuite/Makefile
3008 cygnal/testsuite/libamf.all/Makefile
3009 cygnal/testsuite/libnet.all/Makefile
3010 cygnal/testsuite/cygnal.all/Makefile
3014 ########################## Final report begins... ############################
3017 dnl Create temporary directory in a secure way
3018 tmp=`mktemp -d ${TMPDIR=/tmp}/gnash-configure-XXXXXX`
3019 if test \! -n "$tmp" || test \! -d "$tmp"; then
3020 tmp=`(umask 077 && mkdir -d ${TMPDIR=/tmp}/gnash-configure-${RANDOM}-$$) 2>/dev/null`
3022 cerr="${tmp}/errors"
3023 cwarn="${tmp}/warnings"
3024 crec="${tmp}/recommended"
3025 deb_err="${tmp}/deb_err"
3026 deb_war="${tmp}/deb_war"
3027 deb_rec="${tmp}/deb_rec"
3028 rpm_err="${tmp}/rpm_err"
3029 rpm_war="${tmp}/rpm_war"
3030 rpm_rec="${tmp}/rpm_rec"
3031 yast_err="${tmp}/yast_err"
3032 yast_war="${tmp}/yast_war"
3033 yast_rec="${tmp}/yast_rec"
3036 #trap 'rm cerr' 0 # trap isn't a good idea, might override other traps
3041 for F in "$deb_err" "$deb_war" "$deb_rec" "$rpm_err" "$rpm_war" "$rpm_rec" "$yast_err" "$yast_war" "$yast_rec"; do
3050 dnl These macros should be portable as I checked most things used are in
3051 dnl POSIX-2008, GNU CoreUtils, and shipped in MinGW. Old unices? No clue.
3052 dnl In any case, they are hardly relevant on non-GNU systems.
3054 dnl Beware, here comes some long scary shell commands.
3059 echo " ERROR: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3062 yast_dest="$yast_err"
3068 echo " WARNING: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3071 yast_dest="$yast_war"
3077 echo " RECOMMENDED: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3080 yast_dest="$yast_rec"
3083 AC_DEFUN([PKG_SUGGEST],
3085 echo "`echo "$1" | fold -s -w 62 | sed 's/^/ /'`" >&$pkg_out_fd
3088 AC_DEFUN([DEB_INSTALL],
3090 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
3091 echo -n " $1" >> "$deb_dest"
3094 AC_DEFUN([DEB_ALTERNATIVE],
3096 echo " or maybe : `echo "apt-get install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3097 echo -n "/$1" >> "$deb_dest"
3100 AC_DEFUN([RPM_INSTALL],
3102 echo " or .rpm users: `echo "yum install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3103 echo -n " $1" >> "$rpm_dest"
3106 AC_DEFUN([RPM_ALTERNATIVE],
3108 echo " or maybe : `echo "yum install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3109 echo -n "/$1" >> "$rpm_dest"
3112 AC_DEFUN([YAST_INSTALL],
3114 echo " or yast users: `echo "yast install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3115 echo -n " $1" >> "$yast_dest"
3118 AC_DEFUN([YAST_ALTERNATIVE],
3120 echo " or maybe : `echo "yast install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3121 echo -n "/$1" >> "$yast_dest"
3124 AC_DEFUN([PKG_ALTERNATIVE],
3126 echo "`echo "$1" | fold -s -w 62 | sed 's/^/ /'`" >&$pkg_out_fd
3129 echo "Configurable options are:"
3131 if test x"${pthreads}" = x"yes"; then
3132 echo " POSIX Threads support enabled (default)"
3134 if test x"${build_haiku}" = x"yes"; then
3135 echo " POSIX Thread support built into C library."
3137 echo " POSIX Thread support disabled."
3141 if test x"${npapi}" = x"yes"; then
3142 echo " NPAPI plugin enabled (default). Use --disable-npapi to disable."
3143 echo " NPAPI plugin will be installed in ${FIREFOX_PLUGINS}"
3145 echo " NPAPI plugin disabled."
3148 if test x"${build_kparts3}" = x"yes"; then
3149 echo " KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to disable"
3150 echo " KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
3151 echo " KPARTS 3.x service will be installed in ${KDE3_SERVICESDIR}"
3152 echo " KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
3153 echo " KPARTS 3.x appsdata will be installed in ${KDE3_APPSDATADIR}"
3155 echo " KPARTS 3.x plugin disabled."
3158 if test x"${build_kparts4}" = x"yes"; then
3159 echo " KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to disable"
3160 echo " KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
3161 echo " KPARTS 4.x service will be installed in ${KDE4_SERVICESDIR}"
3162 echo " KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
3163 echo " KPARTS 4.x appsdata will be installed in ${KDE4_APPSDATADIR}"
3165 echo " KPARTS 4.x plugin disabled."
3168 # set a variable if we shouldn't continue. This way we can print
3169 # out everything that is missing in one pass, hopefully making it
3170 # easy for new developers to get everything they need installed.
3173 echo "Configured paths for ${build} are:"
3175 dnl Dump QT3 options is the user specified a QTOPIA3 or KDE3 GUI
3176 if test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes; then
3177 if test x"${has_qt3}" = xyes; then
3178 echo " QT3 flags are: ${QT3_CFLAGS}"
3179 echo " QT3 libs are: ${QT3_LIBS}"
3181 PKG_ERR([No QT 3.x development package installed!])
3182 PKG_SUGGEST([Install a QT 3.x development environment from http://qt.nokia.com/])
3183 DEB_INSTALL([libqt3-mt-dev])
3184 RPM_INSTALL([qt3-devel])
3185 RPM_ALTERNATIVE([qt-devel])
3186 PKG_ALTERNATIVE([or change to a different gui with --enable-gui=...])
3190 dnl Dump QT4 options is the user specified a QTOPIA4 or Qt4 GUI
3191 if test x"${build_qt4}" = xyes -o x"${build_qtopia4}" = xyes; then
3192 if test x"${has_qt4}" = xyes; then
3193 echo " QT4 flags are: ${QT4_CFLAGS}"
3194 echo " QT4 libs are: ${QT4_LIBS}"
3196 PKG_ERR([No QT 4.x development package installed!])
3197 PKG_SUGGEST([Install a QT 4.x development environment from http://qt.nokia.com/])
3198 DEB_INSTALL([libqt4-dev])
3199 DEB_ALTERNATIVE([qt4-dev-tools]) dnl TODO: Is this required?
3200 RPM_INSTALL([qt4-devel])
3201 RPM_ALTERNATIVE([qt-devel])
3202 PKG_ALTERNATIVE([or change to a different gui with --enable-gui=...])
3206 if test x"${build_kparts4}" = xyes; then
3207 if test x"${has_kde4}" = xyes; then
3208 echo " KDE4 flags are: ${KDE4_CFLAGS}"
3209 echo " KDE4 libs are: ${KDE4_LIBS}"
3211 PKG_WAR([kparts4 plugin is disabled!])
3212 PKG_SUGGEST([Install version 4.x of the KDE development environment from http://kde.org])
3213 DEB_INSTALL([kdelibs5-dev])
3214 RPM_INSTALL([kdelibs-devel])
3218 if test x"$build_qtopia3" = xyes; then
3219 if test x"${QTOPIA3_LIBS}" != x ; then
3220 if test x"${QTOPIA3_CFLAGS}" != x ; then
3221 echo " QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
3223 echo " QTOPIA 3.x flags are: default include path"
3225 echo " QTOPIA 3.x libs are: $QTOPIA3_LIBS"
3227 PKG_ERR([No QTOPIA 3.x library development package installed!])
3228 PKG_SUGGEST([Install it from http://trolltech.com/downloads/ as binary packages are not available.]) dnl TODO: This link is no longer valid.
3232 if test x"$build_qtopia4" = xyes; then
3233 if test x"${QTOPIA4_LIBS}" != x ; then
3234 if test x"${QTOPIA4_CFLAGS}" != x ; then
3235 echo " QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
3237 echo " QTOPIA 4.x flags are: default include path"
3239 echo " QTOPIA 4.x libs are: $QTOPIA4_LIBS"
3241 PKG_ERR([No QTOPIA 4.x library development package installed!])
3242 PKG_SUGGEST([Install it from http://trolltech.com/downloads/ as binary packages are not available.]) dnl TODO: This link is no longer valid.
3247 # -o x$build_kparts3 = xyes
3248 if test x$build_kde3 = xyes; then
3249 if test x"$has_kde3" = xyes; then
3250 echo " KDE 3.x flags are: $KDE3_CFLAGS"
3251 echo " KDE 3.x libs are: $KDE3_LIBS"
3253 PKG_ERR([No KDE 3.x development package installed!])
3254 PKG_SUGGEST([Install version 3.x of the KDE development environment from http://kde.org])
3255 DEB_INSTALL([kdelibs4-dev])
3256 RPM_INSTALL([kdelibs3-devel])
3257 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.])
3261 if test x"${JPEG_LIBS}" != x ; then
3262 if test x"${JPEG_CFLAGS}" != x ; then
3263 echo " JPEG flags are: $JPEG_CFLAGS"
3265 echo " JPEG flags are: default include path"
3267 echo " JPEG libs are: $JPEG_LIBS"
3269 PKG_ERR([No JPEG library development package installed!])
3270 PKG_SUGGEST([Install it from http://ijg.org])
3271 DEB_INSTALL([libjpeg-dev])
3272 RPM_INSTALL([libjpeg-devel])
3275 if test x"${GIF_LIBS}" != x ; then
3276 if test x"${GIF_CFLAGS}" != x ; then
3277 echo " GIF flags are: $GIF_CFLAGS"
3279 echo " GIF flags are: default include path"
3281 echo " GIF libs are: $GIF_LIBS"
3283 PKG_ERR([No GIF library development package installed!])
3284 PKG_SUGGEST([Install it from http://sourceforge.net/projects/giflib/])
3285 DEB_INSTALL([libungif-dev])
3286 DEB_ALTERNATIVE([libgif-dev])
3287 RPM_INSTALL([libgif-devel])
3288 RPM_ALTERNATIVE([giflib-devel])
3289 RPM_ALTERNATIVE([libungif-devel])
3292 if test x"${PNG_LIBS}" != x ; then
3293 if test x"${PNG_CFLAGS}" != x ; then
3294 echo " PNG flags are: $PNG_CFLAGS"
3296 echo " PNG flags are: default include path"
3298 echo " PNG libs are: $PNG_LIBS"
3300 PKG_REC([No PNG library development package installed!])
3301 PKG_SUGGEST([Gnash will be built without support for dynamic loading of PNG files.])
3302 PKG_SUGGEST([Install it from http://www.libpng.org])
3303 DEB_INSTALL([libpng12-dev])
3304 RPM_INSTALL([libpng-devel])
3307 if test x"${build_ovg}" = x"yes"; then
3308 if test x"${has_openvg}" = xyes; then
3309 echo " OpenVG flags are: $OPENVG_CFLAGS"
3310 echo " OpenVG libs are: $OPENVG_LIBS"
3312 echo " ERROR: No OpenVG development package installed!" >&3
3313 echo " You need to install the libmesa development package" >&3
3314 echo " or .deb users: apt-get install libopenvg1-mesa-dev" >&3
3315 echo " or .rpm users: yum install mesa-libOpenVG-devel-7.8.1-7.fc13.i686" >&3
3316 echo " or use a different renderer with --enable-renderer=" >&3
3320 if test x"${build_ogl}" = x"yes"; then
3321 if test x"$OPENGL_LIBS" != x; then
3322 if test x"$OPENGL_CFLAGS" != x; then
3323 echo " OpenGL flags are: $OPENGL_CFLAGS"
3325 echo " OpenGL flags are: default include path"
3327 echo " OpenGL libs are: $OPENGL_LIBS"
3329 PKG_ERR([No OpenGL development package installed!])
3330 PKG_SUGGEST([You need to install the libmesa development package])
3331 DEB_INSTALL([libgl1-mesa-dev])
3332 RPM_INSTALL([mesa-libGL-devel])
3333 RPM_ALTERNATIVE([xorg-x11-Mesa-libGL])
3334 PKG_ALTERNATIVE([or use a different renderer with --enable-renderer=])
3338 if test x"${build_gles1}" = x"yes"; then
3339 if test x"${has_gles1}" = xyes; then
3340 if test x"${GLES1_CFLAGS}" != x; then
3341 echo " OpenGLES1 flags are: ${GLES1_CFLAGS}"
3343 echo " OpenGLES1 flags are: default include path"
3345 echo " OpenGLES1 libs are: ${GLES1_LIBS}"
3347 PKG_ERR([No OpenGL-ES development package installed!])
3348 PKG_SUGGEST([You need to install the this from source probably])
3349 PKG_ALTERNATIVE([or use a different renderer with --enable-renderer=])
3353 dnl GLEXT is only needed for GTK/OpenGL
3354 if test x$build_gtk = xyes -a x$build_ogl = xyes ; then
3355 if test x"$GLEXT_LIBS" != x; then
3356 if test x"$GLEXT_CFLAGS" != x; then
3357 echo " GtkGLExt flags are: $GLEXT_CFLAGS"
3359 echo " GtkGLExt flags are: default include path"
3361 echo " GtkGLExt libs are: $GLEXT_LIBS"
3363 PKG_ERR([No GtkGLExt development package installed!])
3364 PKG_SUGGEST([It is needed to build the GTK/OpenGL GUI/renderer combination.])
3365 PKG_SUGGEST([Install it from http://gtkglext.sourceforge.net])
3366 DEB_INSTALL([libgtkglext1-dev])
3367 RPM_INSTALL([gtkglext-devel])
3368 PKG_ALTERNATIVE([or --enable-gui=sdl or --enable-renderer=agg])
3372 if test x$build_gtk = xyes; then #{
3373 if test x"$GTK2_LIBS" != x; then
3374 if test x"$GTK2_CFLAGS" != x; then
3375 echo " GTK2 flags are: $GTK2_CFLAGS"
3377 echo " GTK2 flags are: default include path"
3379 echo " GTK2 libs are: $GTK2_LIBS"
3381 PKG_ERR([No GTK2 development package installed!])
3382 PKG_SUGGEST([Install it from http://gtk.org])
3383 DEB_INSTALL([libgtk2.0-dev])
3384 RPM_INSTALL([gtk2-devel])
3387 if test x"$PANGO_LIBS" != x; then
3388 if test x"$PANGO_CFLAGS" != x; then
3389 echo " Pango flags are: $PANGO_CFLAGS"
3391 echo " Pango flags are: default include path"
3393 echo " Pango libs are: $PANGO_LIBS"
3395 PKG_ERR([No Pango development package installed!])
3396 PKG_SUGGEST([Install it from http://pango.org])
3397 DEB_INSTALL([libpango1.0-dev])
3398 RPM_INSTALL([pango-devel])
3401 if test x"$GLIB_LIBS" != x; then
3402 if test x"$GLIB_CFLAGS" != x; then
3403 echo " GLib flags are: $GLIB_CFLAGS"
3405 echo " GLib flags are: default include path"
3407 echo " GLib libs are: $GLIB_LIBS"
3409 PKG_ERR([No GLib development package installed!])
3410 PKG_SUGGEST([Install it from http://gtk.org])
3411 DEB_INSTALL([libglib2.0-dev])
3412 RPM_INSTALL([glib2-devel])
3415 if test x"$ATK_LIBS" != x; then
3416 if test x"$ATK_CFLAGS" != x; then
3417 echo " ATK flags are: $ATK_CFLAGS"
3419 echo " ATK flags are: default include path"
3421 echo " ATK libs are: $ATK_LIBS"
3423 PKG_ERR([No ATK development package installed!])
3424 PKG_SUGGEST([Install it from http://atk.org])
3425 DEB_INSTALL([libatk1.0-dev])
3426 RPM_INSTALL([atk-devel])
3431 if test x"$build_media_gst" = x"yes"; then
3432 if test x"$missing_codecs" != x; then
3433 echo " Your Gstreamer installation is missing these codecs: $missing_codecs"
3434 echo " Please install the gstreamer-ffmpeg for Gstreamer"
3436 if test x"$GSTREAMER_LIBS" != x; then
3437 if test x"$GSTREAMER_CFLAGS" != x; then
3438 echo " Gstreamer flags are: $GSTREAMER_CFLAGS"
3440 echo " Gstreamer flags are: default include path"
3442 echo " Gstreamer libs are: $GSTREAMER_LIBS"
3444 PKG_ERR([GST media handling requested but gstreamer-0.10+ not found])
3445 PKG_SUGGEST([Install it from http://www.gstreamer.net])
3446 DEB_INSTALL([libgstreamer0.10-dev])
3447 RPM_INSTALL([gstreamer-devel])
3448 YAST_INSTALL([gstreamer010-devel])
3450 if test x"$has_gstreamer_pbutils" != "xyes"; then
3451 PKG_REC([If the user has not installed the necessary Gstreamer plugins, Gstreamer can pop up a message prompting them to.])
3452 PKG_SUGGEST([Install gstpbutils (>= 0.10.15) from http://www.gstreamer.net for that to be enabled])
3453 DEB_INSTALL([libgstreamer-plugins-base0.10-dev])
3454 PKG_SUGGEST([or .rpm users: simply install the below package]) dnl TODO: Can/should this notice be done cleaner?
3455 PKG_SUGGEST([Also see --with-gstpbutils-incl and --with-gstpbutils-lib])
3457 if test x"$has_gstreamer_plugins_base" = "xno"; then
3458 dnl TODO: Check if this is really a mandatory asset!
3459 PKG_ERR([Base plugins are required for gstreamer media!])
3460 PKG_SUGGEST([Install gstreamer-plugins-base from http://www.gstreamer.net])
3461 DEB_INSTALL([libgstreamer-plugins-base0.10-dev])
3462 RPM_INSTALL([gstreamer-plugins-base-devel])
3466 dnl TODO: figure out some RPM package names.
3467 dnl TODO: The following tests is probably incorrect for any/older/exotic systems! Could someone experienced look at it?
3468 if test x"${build_media_ffmpeg}" = x"yes"; then
3469 if test x"$FFMPEG_LIBS" != x; then
3470 echo " MP3 and video support enabled through FFmpeg"
3471 if test x"$FFMPEG_CFLAGS" != x; then
3472 echo " FFmpeg flags are: $FFMPEG_CFLAGS"
3474 echo " FFmpeg flags are: default include path"
3476 echo " FFmpeg libs are: $FFMPEG_LIBS"
3478 PKG_ERR([No FFmpeg development package installed!])
3479 PKG_SUGGEST([You can install FFmpeg from http://ffmpeg.org])
3480 DEB_INSTALL([libavcodec-dev])
3481 RPM_INSTALL([ffmpeg-devel])
3482 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3485 if test x"${avformat_h}" = x; then
3486 PKG_ERR([FFmpeg's avformat header is installed but not libavformat!])
3487 PKG_SUGGEST([You can install FFmpeg from http://ffmpeg.org])
3488 DEB_INSTALL([libavformat-dev])
3489 YAST_INSTALL([libavformat-api]) dnl (but currently installs into /usr/lib64)
3490 PKG_ALTERNATIVE(or explicitly set the path using --with-ffmpeg-incl=)
3491 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3494 if test x"${have_ffmpeg_swscale}" = "xno"; then
3495 PKG_ERR([No libswscale development package installed!])
3496 PKG_SUGGEST([You can install libswscale from http://ffmpeg.org])
3497 DEB_INSTALL([libswscale-dev])
3498 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3502 if test x$build_cairo = xyes; then
3503 if test x"$CAIRO_LIBS" != x; then
3504 if test x"$CAIRO_CFLAGS" != x; then
3505 echo " Cairo flags are: $CAIRO_CFLAGS"
3507 echo " Cairo flags are: default include path"
3509 echo " Cairo libs are: $CAIRO_LIBS"
3511 PKG_ERR([No Cairo development package installed!])
3512 PKG_SUGGEST([You need to have the Cairo development package installed if you have used --enable-render=cairo to configure.])
3513 PKG_SUGGEST([Install it from http://cairographics.org])
3514 DEB_INSTALL([libcairo-dev])
3515 RPM_INSTALL([cairo-devel])
3519 if test x$build_fltk = xyes; then
3520 if test x"$FLTK2_LIBS" != x; then
3521 if test x"$FLTK2_CFLAGS" != x; then
3522 echo " FLTK flags are: $FLTK2_CFLAGS"
3524 echo " FLTK flags are: default include path"
3526 echo " FLTK libs are: $FLTK2_LIBS"
3528 PKG_ERR([No FLTK2 development package installed!])
3529 PKG_SUGGEST([Install it from http://fltk.org])
3530 PKG_ALTERNATIVE(or change to a different gui with --enable-gui=...)
3534 if test x$build_fltk = xyes; then
3535 if test x"$XFT_LIBS" != x; then
3536 if test x"$XFT_CFLAGS" != x; then
3537 echo " Xft flags are: $XFT_CFLAGS"
3539 echo " Xft flags are: default include path"
3541 echo " Xft libs are: $XFT_LIBS"
3545 # See whether SDL is required
3547 test x$build_sdl = xyes && need_sdl=true
3548 test x$build_sound_sdl = xyes && need_sdl=true
3551 if test x"$SDL_LIBS" != x; then
3552 echo " SDL flags are: $SDL_CFLAGS"
3553 echo " SDL libs are: $SDL_LIBS"
3555 PKG_ERR([No SDL development package installed!])
3556 PKG_SUGGEST([Install it from http://www.libsdl.org/download-1.2.php])
3557 DEB_INSTALL([libsdl1.2-dev])
3558 RPM_INSTALL([SDL-devel])
3559 PKG_ALTERNATIVE(or change to a different gui with --enable-gui=...)
3564 if test x"$nsapi" = x"yes"; then
3565 echo " Plugin will be installed in ${FIREFOX_PLUGINS}"
3568 if test x"${pthreads}" = x"yes"; then
3569 if test x"$PTHREAD_CFLAGS" != x; then
3570 echo " POSIX Threads flags are: $PTHREAD_CFLAGS"
3572 if test x"${PTHREAD_LIBS}" != x; then
3573 echo " POSIX Threads lib is: $PTHREAD_LIBS"
3575 if test x"${cross_compiling}" = xno; then
3576 echo "ERROR: No pthread development package installed!" >&3
3581 if test x"${docbook}" = x"yes"; then
3582 if test x"$MAKEINFO" = x; then
3583 PKG_ERR([No makeinfo tools installed!])
3584 PKG_SUGGEST([Install it from http://www.gnu.org/software/texinfo/])
3585 DEB_INSTALL([texinfo])
3586 RPM_INSTALL([texinfo])
3587 RPM_ALTERNATIVE([texinfo-tex])
3590 if test x"$DB2X_TEXIXML" = x -o x"$DB2X_MANXML" = x -o x"$DB2X_XSLTPROC" = x; then
3591 dnl high-level tools
3592 if test x"${DB2X_TEXI}" = x -o x"${DB2X_MAN}" = x; then
3593 PKG_ERR([No DocBook2X tools installed!])
3594 PKG_SUGGEST([Install it from http://docbook2x.sourceforge.net])
3595 dnl TODO: Could someone look at this and confirm the needed software is installed?
3596 dnl FIXME: I removed the texidocbook and docbook-utilsnfo packages as they are not on my system.
3597 DEB_INSTALL([docbook2x docbook-xml docbook-xsl texinfo xsltproc])
3598 PKG_ALTERNATIVE([or configure without --enable-docbook])
3601 echo " You have version $db2x_version of the DocBook2X tools."
3604 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.])
3607 if test x"$CURL_LIBS" != x; then
3608 if test x"$CURL_CFLAGS" != x; then
3609 echo " CURL flags are: $CURL_CFLAGS"
3611 echo " CURL flags are: default include path"
3613 echo " CURL libs are: $CURL_LIBS"
3615 PKG_REC([If you install the CURL library, Gnash will be able to display remote content (streaming from URLs) using CURL.])
3616 PKG_SUGGEST([Install libcurl from http://curl.haxx.se/libcurl])
3617 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?
3618 DEB_ALTERNATIVE([libcurl-dev])
3619 RPM_INSTALL([curl-devel])
3622 if test x"$SPEEX_LIBS" != x; then
3623 if test x"$SPEEX_CFLAGS" != x; then
3624 echo " Speex flags are: $SPEEX_CFLAGS"
3626 echo " Speex flags are: default include path"
3628 echo " Speex libs are: $SPEEX_LIBS"
3630 PKG_REC([If you install the Speex library, Gnash will be able to decoded Speex encoded audio in FLV files.])
3631 PKG_SUGGEST([Install libspeex from http://speex.org])
3632 DEB_INSTALL([libspeex-dev])
3633 RPM_INSTALL([speex-devel])
3636 if test x"$SPEEXDSP_LIBS" != x; then
3637 if test x"$SPEEXDSP_CFLAGS" != x; then
3638 echo " Speex DSP flags are: $SPEEXDSP_CFLAGS"
3640 echo " Speex DSP flags are: default include path"
3642 echo " Speex DSP libs are: $SPEEXDSP_LIBS"
3644 PKG_REC([If you install the Speex DSP library, Gnash will be able to resample Speex encoded audio in FLV files.])
3645 PKG_SUGGEST([Install libspeexdsp from http://speex.org])
3646 DEB_INSTALL([libspeexdsp-dev])
3647 RPM_INSTALL([speex-devel])
3650 if test x"$ext_dbus" = xyes; then
3651 if test x"$DBUS_LIBS" != x; then
3652 if test x"$DBUS_CFLAGS" != x; then
3653 echo " DBUS flags are: $DBUS_CFLAGS"
3655 echo " DBUS flags are: default include path"
3657 echo " DBUS libs are: $DBUS_LIBS"
3659 PKG_WAR([No DBUS development package was found! Gnash will be built without support for remote controls.])
3660 PKG_SUGGEST([Install libdbus from http://www.dbus.org])
3661 DEB_INSTALL([dbus-dev])
3662 DEB_ALTERNATIVE([libdbus-1-dev])
3663 RPM_INSTALL([dbus-devel])
3667 if test x$build_agg = xyes; then # {
3668 echo " AGG Pixel format is: $pixelformat"
3669 if test x"$AGG_LIBS" != x -a x"${agg25}" == xyes; then # {
3670 if test x"$AGG_CFLAGS" != x; then # {
3671 echo " AGG flags are: $AGG_CFLAGS"
3673 echo " AGG flags are: default include path"
3675 echo " AGG libs are: $AGG_LIBS"
3677 if test x"$AGG_LIBS" != x -a x"${agg25}" != xyes; then
3678 PKG_ERR([Your installation of AGG appears to be version 2.4 or older. Please upgrade to AGG 2.5 or greater.])
3680 PKG_ERR([No AGG development package installed!])
3682 PKG_SUGGEST([Install it from http://www.antigrain.com])
3683 DEB_INSTALL([libagg-dev])
3684 RPM_INSTALL([agg-devel])
3688 dnl TODO: This package is handled a bit stupidly in regard to the package
3689 dnl suggestion system. It would be better to check for each package
3690 dnl separately, instead of passing the missing ones in variables..
3691 if test x"$BOOST_LIBS" != x; then
3692 echo " BOOST flags are: $BOOST_CFLAGS"
3693 echo " BOOST libs are: $BOOST_LIBS"
3694 echo " BOOST libs for cygnal are: $BOOST_CYGNAL_LIBS"
3696 if test x"${missing_headers}" != x; then
3697 for i in ${missing_headers}; do
3698 PKG_ERR([The Boost $i header is not installed])
3699 PKG_SUGGEST([Install it from http://www.boost.org])
3703 if test x"${cygnal}" = x"yes"; then
3704 if test x"${cygnal_missing_libs}" != x; then
3705 for i in ${cygnal_missing_libs}; do
3706 PKG_ERR([No Boost $i package installed])
3707 PKG_SUGGEST([Install it from http://www.boost.org])
3708 debtmppkg="libboost-`echo ${i} | sed 's/_/-/g'`-dev"
3709 DEB_INSTALL([$debtmppkg])
3710 PKG_ALTERNATIVE([or configure with --disable-cygnal])
3715 if test x"${missing_libs}" != x; then
3716 for i in ${missing_libs}; do
3717 PKG_ERR([No Boost $i package installed])
3718 PKG_SUGGEST([Install it from http://www.boost.org])
3719 debtmppkg="libboost-`echo ${i} | sed 's/_/-/g'`-dev"
3720 DEB_INSTALL([$debtmppkg])
3724 PKG_ERR([No Boost development package installed])
3725 PKG_SUGGEST([Install it from http://www.boost.org])
3726 dnl I am not sure that libboost-program-options-dev should be passed here, but
3727 dnl it seems like the cleanest way to get it.
3728 if test x"$cygnal" = xyes; then
3729 DEB_INSTALL([libboost-dev libboost-thread-dev libboost-program-options-dev libboost-date-time-dev])
3731 DEB_INSTALL([libboost-dev libboost-thread-dev libboost-program-options-dev])
3733 RPM_INSTALL([boost-devel])
3736 dnl don't look for the flash compilers when cross compiling.
3737 if test x"$testsuite" = x"yes"; then
3738 if test x$cross_compiling = xno; then
3739 if test x"$MING_LIBS" != x; then
3740 echo " MING flags are $MING_CFLAGS"
3741 echo " MING libs are $MING_LIBS"
3743 PKG_WAR([You need to have the Ming development package installed to run most of the tests in Gnash testsuite.])
3744 PKG_SUGGEST([Install it from http://www.libming.org/])
3745 DEB_INSTALL([libming-dev])
3746 RPM_INSTALL([libming-devel])
3749 if test x"$MAKESWF" != x; then
3750 echo " MING version code is $MING_VERSION_CODE"
3751 echo " MAKESWF is $MAKESWF"
3753 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.])
3754 PKG_SUGGEST([Install it from http://www.libming.org/])
3755 DEB_INSTALL([libming-util])
3756 RPM_INSTALL([ming-util])
3757 RPM_ALTERNATIVE([ming-utils])
3760 if test x"$MAKESWF" != x && test $MING_VERSION_CODE -lt 00040006; then
3761 echo " WARNING: You have an older version of Ming installed and will not" >&4
3762 echo " be able to run all of the tests in Gnash testsuite." >&4
3763 echo " Install the latest version from http://www.libming.org" >&4
3766 if test x"$SWFDEC_TESTSUITE" != x; then
3767 echo " SWFDEC testsuite dir is $SWFDEC_TESTSUITE"
3770 if test x"$MTASC" != x; then
3771 echo " MTASC is $MTASC"
3772 echo " MTASC CLASSPATH is $MTASC_CLASSPATH"
3774 PKG_WAR([You need to have the MTASC compiler packages installed to run some of the tests in Gnash testsuite.])
3775 PKG_SUGGEST([Install it from http://mtasc.org])
3776 DEB_INSTALL([mtasc])
3777 RPM_INSTALL([mtasc])
3780 if test x"$HAXE" != x; then
3781 echo " HAXE is $HAXE"
3782 echo " HAXE CLASSPATH is $HAXE_CLASSPATH"
3784 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.])
3785 PKG_SUGGEST([Install it from http://haxe.org])
3790 if test x"$SWFMILL" != x; then
3791 echo " SWFMILL is $SWFMILL"
3792 if test x"$ENABLE_AVM2" != x -a "$SWFMILL_VERSION" -lt 00021206; then
3793 PKG_WAR([You are building Gnash with AVM2 support but your swfmill version is too old to run AS3 tests.])
3796 PKG_WAR([You need to have the swfmill tool installed to run some of the tests in Gnash testsuite.])
3797 PKG_SUGGEST([Install it from http://swfmill.org])
3798 DEB_INSTALL([swfmill])
3799 RPM_INSTALL([swfmill])
3802 if test x"$SWFC" != x; then
3803 echo " SWFC is $SWFC"
3805 PKG_WAR([You need to have swfc from SWFTools installed to run some of the tests in Gnash testsuite.])
3806 PKG_SUGGEST([Install it from http://swftools.org])
3807 DEB_INSTALL([swftools])
3808 RPM_INSTALL([swftools])
3811 if test x"$AS3COMPILE" != x; then
3812 echo " AS3COMPILE is $AS3COMPILE"
3814 PKG_WAR([You need to have as3compile from SWFTools installed to run some of the tests in Gnash testsuite.])
3815 PKG_SUGGEST([Install it from http://swftools.org])
3818 if test x"$HTTP_TESTSUITE" != x; then
3819 echo " HTTP testsuite dir is $HTTP_TESTSUITE"
3822 if test x"$RED5_HOST" != x; then
3823 echo " RED5 testing host is $RED5_HOST"
3828 if test x"$PERL" != x; then
3829 echo " PERL is $PERL"
3831 PKG_WAR([You need to have perl installed to run some of the tests in Gnash testsuite.])
3832 PKG_SUGGEST([Install it from http://perl.org])
3837 if test x"$testsuite" = x"yes"; then
3838 if test x"$CSOUND" != x; then
3839 echo " CSOUND is $CSOUND"
3841 echo " WARNING: You need to have csound installed" >&4
3842 echo " to have real fun." >&4
3843 echo " Install it from http://www.csounds.com/" >&4
3844 echo " or .deb users: apt-get install csound" >&4
3845 echo " or .rpm users: yum install csound" >&4
3849 if test x"$Z_LIBS" != x; then
3850 if test x"$Z_CFLAGS" != x; then
3851 echo " Z flags are: $Z_CFLAGS"
3853 echo " Z flags are: default include path"
3855 echo " Z libs are: $Z_LIBS"
3857 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.])
3858 PKG_SUGGEST([Install it from http://zlib.net])
3859 DEB_INSTALL([zlib1g-dev])
3860 RPM_INSTALL([zlib-devel])
3861 PKG_ALTERNATIVE([It may still be possible to configure without zlib.])
3864 if test x"$FREETYPE2_LIBS" != x; then
3865 if test x"$FREETYPE2_CFLAGS" != x; then
3866 echo " FreeType flags are: $FREETYPE2_CFLAGS"
3868 echo " FreeType flags are: default include path"
3870 echo " FreeType libs are: $FREETYPE2_LIBS"
3872 PKG_REC([You need to have the freetype development packages installed to use device fonts.])
3873 PKG_SUGGEST([Install it from http://freetype.org])
3874 DEB_INSTALL([libfreetype6-dev])
3875 RPM_INSTALL([freetype-devel])
3876 PKG_ALTERNATIVE([It may still be possible to configure without freetype.])
3879 if test x"$FONTCONFIG_LIBS" != x; then
3880 if test x"$FONTCONFIG_CFLAGS" != x; then
3881 echo " Fontconfig flags are: $FONTCONFIG_CFLAGS"
3883 echo " Fontconfig flags are: default include path"
3885 echo " Fontconfig libs are: $FONTCONFIG_LIBS"
3887 PKG_REC([You need to have the fontconfig development packages installed to use device fonts.])
3888 PKG_SUGGEST([Install it from http://fontconfig.org])
3889 DEB_INSTALL([libfontconfig1-dev])
3890 RPM_INSTALL([fontconfig-devel])
3891 PKG_ALTERNATIVE([It may still be possible to configure without fontconfig.])
3894 if test x$ext_mysql = xyes; then
3895 if test x$mysql != xno; then
3896 if test x"$MYSQL_LIBS" != x; then
3897 echo " MYSQL flags are: $MYSQL_CFLAGS"
3898 echo " MYSQL libs are: $MYSQL_LIBS"
3900 PKG_ERR([No MySQL development package is installed.])
3901 PKG_SUGGEST([Install it from http://mysql.org])
3902 DEB_INSTALL([libmysqlclient-dev])
3903 RPM_INSTALL([mysql-devel])
3904 PKG_ALTERNATIVE([or reconfigure without --enable-extensions=mysql])
3909 if test "$GMSGFMT" = ":"; then
3910 PKG_WAR([You need the gettext package installed to use translations. Required for building a package or 'make distcheck'])
3911 PKG_SUGGEST([Install it from http://www.gnu.org/software/gettext/])
3912 DEB_INSTALL([gettext])
3913 RPM_INSTALL([gettext])
3916 if test x"${build_vaapi}" = x"yes"; then
3917 if test x"${LIBVA_CFLAGS}" = xyes; then
3918 echo " LIBVA flags are: default"
3920 echo " LIBVA flags are: $LIBVA_CFLAGS"
3921 echo " LIBVA libraries are: $LIBVA_LIBS"
3923 if test x$use_libva_x11 = xyes; then
3924 if test x"${LIBVA_X11_CFLAGS}" = xyes; then
3925 echo " LIBVA X11 flags are: default"
3927 echo " LIBVA X11 flags are: $LIBVA_X11_CFLAGS"
3928 echo " LIBVA X11 libraries are: $LIBVA_X11_LIBS"
3931 if test x$use_libva_glx = xyes; then
3932 if test x"${LIBVA_GLX_CFLAGS}" = xyes; then
3933 echo " LIBVA GLXflags are: default"
3935 echo " LIBVA GLX flags are: $LIBVA_GLX_CFLAGS"
3937 echo " LIBVA GLX libraries are: $LIBVA_GLX_LIBS"
3941 if test x"$ac_cv_gcc_visibility" != xyes; then
3942 if test x"$npapi" = xyes; then
3943 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!])
3947 if test x"$npapi" = xyes; then
3948 if test x"$has_npapi" = xyes; then
3949 echo " NPAPI flags are: $NPAPI_CFLAGS"
3951 PKG_ERR([No xulrunner development package is installed!])
3952 PKG_SUGGEST([Install it from http://releases.mozilla.org/pub/mozilla.org/xulrunner])
3953 DEB_INSTALL([xulrunner-dev]) or
3954 DEB_INSTALL([firefox-dev])
3955 RPM_INSTALL([xulrunner-devel])
3958 echo " NPAPI plugin is disabled"
3961 if test x"${DEJAGNU}" != x""; then
3962 echo " DEJAGNU's runtest is $DEJAGNU"
3964 PKG_WAR([You need the dejagnu package installed to get a summary after running 'make check'.])
3965 PKG_SUGGEST([Install it from http://www.gnu.org/software/dejagnu/])
3966 DEB_INSTALL([dejagnu])
3967 RPM_INSTALL([dejagnu])
3971 if test x"${build_haiku}" = xyes -o x"${build_sound_mkit}" = xyes -o x"${build_media_haiku}" = x"yes"; then
3972 echo " Haiku libs are: $HAIKU_LIBS"
3975 if test x"$has_ltdl" = x"yes";then
3976 echo " LIBLTDL flags are: $LTDL_CFLAGS"
3977 echo " LIBLTDL libs are: $LTDL_LIBS"
3979 if test x"${extensions_support}" != xno; then
3980 PKG_ERR([No libltdl development package is installed, yet --disable-extensions was not specified.])
3981 PKG_SUGGEST([Install it from ftp://ftp.gnu.org/gnu/libtool/])
3982 DEB_INSTALL([libltdl-dev])
3983 RPM_INSTALL([libtool-ltdl-devel])
3987 if test x"$python" = x"yes"; then
3988 if test x"$has_python" = x"yes"; then
3989 echo " PYTHON flags are: $PYTHON_CFLAGS"
3990 echo " PYTHON libs are: $PYTHON_LIBS"
3991 echo " PYTHON executable is: $PYTHON"
3993 PKG_ERR([No Python development package is installed, but it's enabled.])
3996 if test x${build_ssl} = xyes; then
3997 if test x"${has_ssl}" = xyes; then
3998 if test x"${SSL_CFLAGS}" = xyes; then
3999 echo " SSL flags are: default"
4001 echo " SSL flags are: $SSL_CFLAGS"
4003 echo " SSL libs are: $SSL_LIBS"
4005 PKG_ERR([No SSL development package is installed, but it's enabled."])
4009 if test x${build_ssh} = xyes; then
4010 if test x"${has_ssh}" = xyes; then
4011 if test x"${SSH_CFLAGS}" = xyes; then
4012 echo " SSH flags are: default"
4014 echo " SSH flags are: $SSH_CFLAGS"
4016 echo " SSH libs are: $SSH_LIBS"
4018 PKG_ERR([No SSH development package is installed, but it's enabled."])
4022 if test x"${build_all_as3}" = x"yes"; then
4023 echo " Building the entire ActionScript class libary"
4025 echo " Only building these ActionScript classes into the library:"
4026 echo " ${classlist}"
4029 if test x"$testsuite" = x"yes"; then
4030 if test x"$NETCAT" != x; then
4031 echo " You have netcat installed, which is only used for testing"
4033 echo " Install netcat for networking test support"
4035 if test x"$WGET" != x; then
4036 echo " You have wget installed, which is only used for testing"
4038 echo " Install wget for networking test support"
4042 if test x$cross_compiling = xyes; then
4043 if test x"${android_ndk}" != xno; then
4044 AC_MSG_NOTICE([This build is setup for cross compiling for Android])
4046 AC_MSG_NOTICE([This build is setup for cross compiling])
4052 if test x"${cygnal}" = x"yes"; then
4053 echo " Building Cygnal media server enabled (default). Use --disable-cygnal to disable."
4055 echo " Building Cygnal media server disabled."
4058 if test x"${with_top_level}" != x; then
4059 echo " Top level for cross compiling support files is: $with_top_level"
4062 if test x"${build_gtk}" = xyes -a x"${pixelformat}" = xrgb565; then
4063 echo " WARNING: Pixel format RGB565 selected in combination with the" >&4
4064 echo " GTK GUI. Only a hacked GTK will work (e.g. on the OLPC)." >&4
4067 if test x"${extensions_list}" != x; then
4068 echo " Building extensions: ${extensions_list}"
4071 if test x"${extensions_support}" = xno; then
4072 echo " Extension support disabled."
4075 if test x"${security_list}" != x; then
4076 echo " Enabling security features: ${security_list}"
4079 if test x"${statistics_list}" != x; then
4080 echo " Enabling statistics collecting for: ${statistics_list}"
4083 if test x"${SUPPORTED_GUIS}" = x; then
4084 AC_MSG_ERROR(no supported GUIs found);
4087 echo " GUI toolkits supported: ${SUPPORTED_GUIS}"
4088 echo " Renderers supported: ${renderer_list}"
4089 echo " Hardware Acceleration: ${device_list}"
4090 echo " Media handlers: ${media_list}"
4091 echo " Using ${add_sound} for sound handling"
4093 if test x"$docbook" = x"yes"; then
4094 echo ' DocBook document processing enabled (for "make html" and "make pdf")'
4095 if test x"$docbook_styles" != x; then
4096 echo " Docbook styles sheets in $docbook_styles"
4099 echo " DocBook document processing disabled (default)"
4102 dnl The Framebuffer GUI has several other settings. As it doesn't have X11,
4103 dnl we have to handle input devics ourselves.
4104 if test x"${build_fb}" = xyes; then
4105 echo " Using ${input_events} for Input"
4106 if test x"${fakefb}" != x; then
4107 echo " Using shared memory as a fake framebuffer"
4109 if test x"${offscreen}" = xyes; then
4110 echo " Using offscreen rendering"
4112 if test x"${doublebuf}" = xyes; then
4113 echo " Using double buffering when rendering"
4117 if test -s $cwarn; then
4122 echo "Gnash should still compile even with these warnings."
4123 echo "If it doesn't, report the warnings as a bug."
4128 if test -s $crec; then
4133 echo "Gnash should still compile, but you'll miss important support"
4138 if test -s $cerr; then
4143 deb_err="`cat $deb_err`"
4144 deb_war="`cat $deb_war`"
4145 deb_rec="`cat $deb_rec`"
4146 rpm_err="`cat $rpm_err`"
4147 rpm_war="`cat $rpm_war`"
4148 rpm_rec="`cat $rpm_rec`"
4149 yast_err="`cat $yast_err`"
4150 yast_war="`cat $yast_war`"
4151 yast_rec="`cat $yast_rec`"
4153 # Pipe stderr to /dev/null since Fedora complains when target isn't there.
4154 if test x`which apt-get 2>/dev/null` != x; then
4155 if test x"$deb_err" != x -o x"$deb_war" != x -o x"$deb_rec" != x; then
4156 echo "#!/bin/sh" > deb-attempt-install-dependencies.sh
4157 echo "packages=\"$deb_err $deb_war $deb_rec\"" >> deb-attempt-install-dependencies.sh
4158 echo "PKGCOMMAND=\"apt-get install -y -q\"" >> deb-attempt-install-dependencies.sh
4159 cat ${srcdir}/base-attempter.sh >> deb-attempt-install-dependencies.sh
4160 chmod +x deb-attempt-install-dependencies.sh
4162 echo ".deb users might be able to install most dependencies by executing:"
4163 echo "sudo ./deb-attempt-install-dependencies.sh"
4167 if test x`which yum 2>/dev/null` != x; then
4168 if test x"$rpm_err" != x -o x"$rpm_war" != x -o x"$deb_rec" != x; then
4169 echo "#!/bin/sh" > rpm-attempt-install-dependencies.sh
4170 echo "packages=\"$rpm_err $rpm_war $rpm_rec\"" >> rpm-attempt-install-dependencies.sh
4171 echo "PKGCOMMAND=\"yum install -y \"" >> rpm-attempt-install-dependencies.sh
4172 cat ${srcdir}/base-attempter.sh >> rpm-attempt-install-dependencies.sh
4173 chmod +x rpm-attempt-install-dependencies.sh
4175 echo ".rpm users might be able to install most dependencies by executing:"
4176 echo "sudo ./rpm-attempt-install-dependencies.sh"
4180 dnl TODO: Add support for yast here, which AFAIK is used on OpenSuse.
4182 dnl If anything critical is missing, don't bother to continue
4183 if test -s $cerr; then
4186 AC_MSG_ERROR([Please install required packages])
4193 if test x"$fork" = x"no"; then
4195 AC_MSG_ERROR([Currently only forking the standalone player works!])
4202 # indent-tabs-mode: nil