2 dnl Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
4 dnl This program is free software; you can redistribute it and/or modify
5 dnl it under the terms of the GNU General Public License as published by
6 dnl the Free Software Foundation; either version 3 of the License, or
7 dnl (at your option) any later version.
9 dnl This program is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 dnl GNU General Public License for more details.
13 dnl You should have received a copy of the GNU General Public License
14 dnl along with this program; if not, write to the Free Software
15 dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 AC_INIT(gnash, 0.8.10dev)
20 AC_CONFIG_SRCDIR([libcore/as_object.h])
21 AC_CONFIG_HEADERS([gnashconfig.h])
22 AC_CONFIG_MACRO_DIR([macros])
27 dnl --------------------------------------------------------
28 dnl Figure out development tool stuff
29 dnl --------------------------------------------------------
37 dnl Set the default values for Flash Version. These are converted into
38 dnl various strings to make JavaScript or ActionScript detectors
39 dnl recognize Gnash as a SWF Player.
40 DEFAULT_FLASH_MAJOR_VERSION="10"
41 DEFAULT_FLASH_MINOR_VERSION="1"
42 DEFAULT_FLASH_REV_NUMBER="999"
43 AC_SUBST(DEFAULT_FLASH_MAJOR_VERSION)
44 AC_SUBST(DEFAULT_FLASH_MINOR_VERSION)
45 AC_SUBST(DEFAULT_FLASH_REV_NUMBER)
47 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_MAJOR_VERSION], ["${DEFAULT_FLASH_MAJOR_VERSION}"], [Default Flash major version])
48 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_MINOR_VERSION], ["${DEFAULT_FLASH_MINOR_VERSION}"], [Default Flash minor version])
49 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_REV_NUMBER], ["${DEFAULT_FLASH_REV_NUMBER}"], [Default Flash revision number])
51 dnl TODO: use host/build/target -- whatever is more appropriate
54 DEFAULT_FLASH_PLATFORM_ID="MAC"
55 DEFAULT_FLASH_SYSTEM_OS="MacOS"
58 DEFAULT_FLASH_PLATFORM_ID="BSD"
59 DEFAULT_FLASH_SYSTEM_OS="OpenBSD"
61 *-freebsd* | *-kfreebsd*)
62 DEFAULT_FLASH_PLATFORM_ID="BSD"
63 DEFAULT_FLASH_SYSTEM_OS="FreeBSD"
66 DEFAULT_FLASH_PLATFORM_ID="BSD"
67 DEFAULT_FLASH_SYSTEM_OS="NetBSD"
70 DEFAULT_FLASH_PLATFORM_ID="LNX"
71 DEFAULT_FLASH_SYSTEM_OS="GNU/Linux"
74 DEFAULT_FLASH_PLATFORM_ID="LNX"
75 DEFAULT_FLASH_SYSTEM_OS="Linux"
77 *-cygwin* | *-mingw* | *-pw32*)
78 DEFAULT_FLASH_PLATFORM_ID="WIN"
79 DEFAULT_FLASH_SYSTEM_OS="Windows"
82 DEFAULT_FLASH_PLATFORM_ID="SUN"
83 DEFAULT_FLASH_SYSTEM_OS="Solaris"
86 DEFAULT_FLASH_PLATFORM_ID="OS2"
87 DEFAULT_FLASH_SYSTEM_OS="OS/2"
90 DEFAULT_FLASH_PLATFORM_ID="SCO"
91 DEFAULT_FLASH_SYSTEM_OS="SCO/Unix"
94 DEFAULT_FLASH_PLATFORM_ID="IRX"
95 DEFAULT_FLASH_SYSTEM_OS="IRIX"
98 DEFAULT_FLASH_PLATFORM_ID="HPX"
99 DEFAULT_FLASH_SYSTEM_OS="HPUX"
102 DEFAULT_FLASH_PLATFORM_ID="OS4"
103 DEFAULT_FLASH_SYSTEM_OS="AmigaOS4"
106 DEFAULT_FLASH_PLATFORM_ID="HAIKU"
107 DEFAULT_FLASH_SYSTEM_OS="Haiku"
110 DEFAULT_FLASH_PLATFORM_ID="GNU"
111 DEFAULT_FLASH_SYSTEM_OS="GNU/HURD"
114 DEFAULT_FLASH_PLATFORM_ID="UNK"
115 DEFAULT_FLASH_SYSTEM_OS="Unknown"
119 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_PLATFORM_ID], ["${DEFAULT_FLASH_PLATFORM_ID}"], [Default 3-letter platform identifier for version string])
120 AC_DEFINE_UNQUOTED([DEFAULT_FLASH_SYSTEM_OS], ["${DEFAULT_FLASH_SYSTEM_OS}"], [Default value for System.capabilities.os])
122 AC_SUBST(DEFAULT_FLASH_PLATFORM_ID)
123 AC_SUBST(DEFAULT_FLASH_SYSTEM_OS)
125 DEFAULT_STREAMS_TIMEOUT=60
126 AC_SUBST(DEFAULT_STREAMS_TIMEOUT)
127 AC_DEFINE_UNQUOTED([DEFAULT_STREAMS_TIMEOUT], [${DEFAULT_STREAMS_TIMEOUT}], [Default streams timeout in seconds])
129 DEFAULT_SOL_SAFEDIR="~/.gnash/SharedObjects"
130 AC_SUBST(DEFAULT_SOL_SAFEDIR)
131 AC_DEFINE_UNQUOTED([DEFAULT_SOL_SAFEDIR], ["${DEFAULT_SOL_SAFEDIR}"], [Default SharedObject base directory])
134 dnl Some things you can only do by looking at the platform name.
136 powerpc-apple-darwin*)
137 AC_DEFINE([__powerpc64__], [1], [this is a 64 bit powerpc])
139 AC_DEFINE([DARWIN_HOST], [1], [this is a Darwin platform])
143 AC_DEFINE([DARWIN_HOST], [1], [this is a Darwin platform])
145 dnl Unfortunately, all BSD distributions are not identical, so
146 dnl as tacky as it is to look for the distribution name, we don't
147 dnl have much choice. The use of these should be avoid as much as possible.
151 AC_DEFINE([OPENBSD_HOST], [1], [this is an OpenBSD platform])
153 *-freebsd* | *-kfreebsd*)
156 AC_DEFINE([FREEBSD_HOST], [1], [this is a FreeBSD platform])
161 AC_DEFINE([NETBSD_HOST], [1], [this is a NetBSD platform])
165 AC_DEFINE([SOLARIS_HOST], [1], [this is a Solaris platform])
169 AC_DEFINE([LINUX_HOST], [1], [this is a Linux platform])
171 *-cygwin* | *-mingw* | *-pw32*)
173 AC_DEFINE([WIN32_HOST], [1], [this is a Win32 platform])
177 AC_DEFINE([WORDSIZE], [64], [this is a 64 platform])
181 AC_DEFINE([AMIGAOS4_HOST], [1], [this is an AmigaOS4 platform])
185 AC_DEFINE([HAIKU_HOST], [1], [this is a Haiku platform])
189 AC_DEFINE([GNU_HOST], [1], [this is a GNU platform])
193 AC_DEFINE([WINCE_HOST], [1], [this is a WINCE platform])
197 AC_DEFINE([WINCE_HOST], [1], [this is a WINCE platform])
198 AC_DEFINE([WINCE6_HOST], [1], [this is a WINCE6 platform])
202 AC_DEFINE([ANDROID_HOST], [1], [this is an Android platform])
207 AM_CONDITIONAL(WIN32, test x$windows = xyes)
208 AM_CONDITIONAL(HAIKU, test x$haiku = xyes)
209 AM_CONDITIONAL(AMIGAOS4, test x$amigaos4 = xyes)
211 dnl Get build date for helping us debugging
212 BUILDDATE="`date +%Y%m%d`"
215 dnl These are required by automake
217 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
221 AM_GNU_GETTEXT([external])
222 AM_CONDITIONAL(HAS_GETTEXT, test x$ac_cv_path_XGETTEXT != x)
224 dnl Many of the Gnash macros depend on gettext macros defining shlibext; recent
225 dnl gettext however does not.
226 if test x"${shlibext}" = x; then
227 if test x"${acl_cv_shlibext}" = x; then
228 echo "Gettext macros were supposed to define shared library extensions"
231 shlibext="${acl_cv_shlibext}"
235 dnl This is primarily used when compiling for a similar architecture,
236 dnl like pentium->geode, which can use the same compiler, but have
237 dnl different development libraries.
240 AC_HELP_STRING([--with-sysroot],
241 [system root directory for cross compiling]),
242 with_top_level=${withval} ;
245 dnl Android is a little different when using a standard cross toolchain,
246 dnl so we have to configure especially for it for now. Usually it's
247 dnl something like this:
249 dnl arm-linux-eabi-gcc -Wl,--dynamic-linker -Wl,/system/bin/linker
250 dnl -nostdlib -Wl,-rpath -Wl,/system/lib -Wl,-rpath
251 dnl -Wl,/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
252 dnl -L/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
254 dnl /opt/android-ndk-r3/build/platforms/android-3/arch-arm/usr/lib/crtbegin_dynamic.o
255 dnl Recent versions of G++ (I'm using 4.5 from source
257 AC_ARG_WITH([android],
258 AC_HELP_STRING([--with-android], [directory where android NDK is installed]),
259 android_ndk=${withval}
260 if test x"${withval}" != x; then
261 android_ndk=${withval}
263 android_ndk=/opt/android-ndk-r3/build/platforms/android-5/arch-arm
267 if test x"${android_ndk}" != xno; then
268 CROSS_CXXFLAGS=-mandroid -fexceptions
269 if test x"${with_top_level}" = x; then
270 with_top_level=/usr/local/android-arm/sysroot/usr
273 ANDROID_NDK=${android_ndk}
274 AC_DEFINE(ANDROID, [1], [This is an Android build])
278 AC_SUBST(ANDROID_NDK)
279 AM_CONDITIONAL(ANDROID, [ test x"${android_ndk}" != xno ])
285 AC_PATH_PROG(DEJAGNU, runtest)
287 dnl These options are for Cygnal, which collects optional statistics
288 dnl on all the network traffic By default, we turn on statistics
289 dnl collecting for the incoming and outgoing queues, since those are
290 dnl required to be compatiable with FMS 3, and the ActionScript server
291 dnl management API. buffers are the lowest level data storage, this
292 dnl data is the time spent in the queue, and is primarily only used
293 dnl for tuning the queueing API in Gnash. Memoryis the same, it's only
294 dnl used by developers for tuning performance of memory allocations in
301 AC_ARG_WITH(statistics,
302 AC_HELP_STRING([--with-statistics=], [Specify which statistics features to enable]),
303 if test -n ${withval}; then
304 if test "x${withval}" != "xno"; then
306 withval=`echo ${withval} | tr '\054' ' ' `
314 while test -n "${withval}" ; do
315 val=`echo ${withval} | cut -d ' ' -f 1`
319 nstatistics=$((nstatistics+1))
323 nstatistics=$((nstatistics+1))
327 nstatistics=$((nstatistics+1))
331 nstatistics=$((nstatistics+1))
335 nstatistics=$((nstatistics+1))
343 nstatistics=5 dnl this must be incremented if you add anything
345 *) AC_MSG_ERROR([invalid statistics feature specified: ${withval} given (accept: buffers|que|memory|cache|proplookup|all)])
348 withval=`echo ${withval} | cut -d ' ' -f 2-6`
349 if test "x$val" = "x$withval"; then
354 if test x${buffers} = xyes; then
355 statistics_list="${statistics_list} buffers"
356 AC_DEFINE(USE_STATS_BUFFERS, [1], [Support statistics collecting for the queue buffers])
357 AC_MSG_WARN([This option will effect your performance])
360 if test x${memory} = xyes; then
361 statistics_list="${statistics_list} memory"
362 AC_DEFINE(USE_STATS_MEMORY, [1], [Support statistics collecting for all memory profiling])
363 AC_MSG_WARN([This option will effect your performance])
366 if test x${que} = xyes; then
367 statistics_list="${statistics_list} queues"
368 AC_DEFINE(USE_STATS_QUEUE, [1], [Support statistics collecting for the queues])
371 if test x${cache} = xyes; then
372 statistics_list="${statistics_list} cache"
373 AC_DEFINE(USE_STATS_CACHE, [1], [Support statistics collecting for the cache])
376 if test x${stat_proplookup} = xyes; then
377 statistics_list="${statistics_list} proplookup"
378 AC_DEFINE(GNASH_STATS_OBJECT_URI_NOCASE, [1], [Collecting and report stats about ObjectURI case lookups])
379 AC_DEFINE(GNASH_STATS_PROPERTY_LOOKUPS, [1], [Collecting and report stats about property lookups])
380 AC_DEFINE(GNASH_STATS_STRING_TABLE_NOCASE, [1], [Collecting and report stats about string_table::key case lookups])
383 dnl this is just so Makefile can print the same list
384 STATISTICS_LIST="$statistics_list"
385 AC_SUBST(STATISTICS_LIST)
388 # These settings are compile time options for the security
389 # setting for anything that lets gnash exchange data with
390 # other applications. Currently this only supports Shared
391 # Objects and Local Connections. Shared Objects are like
392 # your web browsers cookies, and Local Connections use
393 # shared memory to execute methods remotely, and to
396 # The default is to enable everything, and these can
397 # also be controlled dynamically by the $HOME/.gnashrc
403 AC_ARG_WITH(security,
404 AC_HELP_STRING([--with-security=], [Specify which security features to enable]),
405 if test -n ${withval}; then
406 if test "x${withval}" != "xno"; then
408 withval=`echo ${withval} | tr '\054' ' ' `
416 while test -n "${withval}" ; do
417 val=`echo ${withval} | cut -d ' ' -f 1`
421 nsecurity=$((nsecurity+1))
425 nsecurity=$((nsecurity+1))
432 *) AC_MSG_ERROR([invalid security feature specified: ${withval} given (accept: solreadonly|lc)])
435 withval=`echo ${withval} | cut -d ' ' -f 2-6`
436 if test "x$val" = "x$withval"; then
442 if test x$localconnection = xyes; then
443 security_list="${security_list} localconnection"
444 AC_DEFINE(USE_LC, [1],
445 [Support LocalConnection])
446 AC_MSG_NOTICE([This build supports LocalConnection])
448 if test x$solreadonly = xyes; then
449 security_list="${security_list} solreadonly"
450 AC_DEFINE(USE_SOL_READONLY, [1],
451 [Shared Objects are read-only])
452 AC_MSG_NOTICE([Shared Objects are read-only])
454 SECURITY_LIST="$security_list"
455 AC_SUBST(SECURITY_LIST)
457 dnl For Haiku, we know the sysroot is in a non-standard place
458 dnl it is important that -lagg comes before -lbe
459 if test x"${haiku}" = xyes; then
464 dnl Darwin uses libtool instead of ar to produce libraries. We determine which one
465 dnl we have here now. For some reason on Darwin, we don't get the
466 dnl count from grep via stdin correctly. Writing a temp file does the
467 dnl trick, so although it's ugly, that's what we gotta do...
468 AC_MSG_CHECKING([which type of library archiver we have])
471 archiver=`grep -c dynamic .tmp 2>&1`
473 dnl is there any good way to report what we found here?
475 if test x"${archiver}" != x && test "${archiver}" -eq 1; then
476 export MACOSX_DEPLOYMENT_TARGET="10.3"
482 dnl When cross compiling, limit the search directories cause otherwise
483 dnl we may get the host headers or libraries by accident. These values
484 dnl are exported, so all the other configure tests in macros/*.m4 use
485 dnl these same settings rather than duplicating them like we used to.
486 dnl To override thise, use the --with-*-incl= and --with-*-libs=
487 dnl options to configure.
488 if test x$cross_compiling = xyes; then
489 AC_MSG_NOTICE([Configuring Gnash for cross compilation])
490 export pkgroot="`$CXX -print-search-dirs | grep "install:" | sed -e 's/install: //' -e 's:/lib/gcc/.*::'`"
491 dnl pkgroot only works correctly with builds of cross tools not in
492 dnl /usr, ie... installed from the distribution packages, or just
493 dnl plain installed in the system tools. This contaminates configure
494 dnl when building for variations of the same basic architecture,
495 dnl like i686-linux -> i586-mingw32.
496 if test x"${pkgroot}" = x"/usr"; then
499 export incllist="`eval echo ${with_top_level}/include ${pkgroot}/${host_alias}/include ${pkgroot}/include`"
500 export libslist="`eval echo ${with_top_level}/lib ${pkgroot}/${host_alias}/lib ${pkgroot}/lib64 ${pkgroot}/lib32 ${pkgroot}/lib`"
501 export pathlist="`eval echo ${pkgroot}/${host_alias}/bin:${pkgroot}/bin`"
504 AC_MSG_NOTICE([Configuring Gnash for native compilation])
505 export DEB_HOST_MULTIARCH="`eval dpkg-architecture -qDEB_HOST_MULTIARCH`"
506 export incllist="`eval cat ${srcdir}/macros/incllist`"
507 libslist="`cat ${srcdir}/macros/libslist`"
508 export libslist="${libslist} /lib/${DEB_HOST_MULTIARCH} /usr/lib/${DEB_HOST_MULTIARCH}"
509 export pathlist=$PATH
512 if test x"${android_ndk}" != xno; then
513 incllist="${android_ndk}/include ${incllist}"
516 AM_CONDITIONAL(CROSS_COMPILING, [ test x$cross_compiling = xyes ])
518 for dir in ${incllist}; do
519 test -d ${dir} && pruned_incllist="${pruned_incllist} ${dir}";
522 for dir in ${libslist}; do
523 test -d ${dir} && pruned_libslist="${pruned_libslist} ${dir}";
526 libslist="${pruned_libslist}";
527 incllist="${pruned_incllist}";
529 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
531 dnl !! IMPORTANT NOTICE
533 dnl !! Any call to GNASH_PATH_XXX must be be given *after* this snippet.
534 dnl !! This is to ensure that PKG_CONFIG, cross_compiling and incllist are
535 dnl !! properly set at the time of call.
537 dnl !! Also GNASH_PKG_FIND has to be called later. Not sure
538 dnl !! why but calling before breaks detection of CPP (see
539 dnl !! gnash-dev mailing archives for June 12 2009
540 dnl !! http://lists.gnu.org/archive/html/gnash-dev/2009-06/index.html
543 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
545 dnl Check for PKG_CONFIG before any GNASH_PATH call
548 dnl --------------------------------------------------------
550 dnl --------------------------------------------------------
553 build_aos4=no dnl AmigaOS4 GUI
554 build_kde3=no dnl WARNING: doesn't work (see https://savannah.gnu.org/bugs/index.php?31782)
559 build_fb=no dnl Raw framebuffer
562 build_aqua=no dnl Native MacOSX
565 AC_HELP_STRING([--enable-gui=], [Enable support for the specified GUI toolkits (default=gtk,qt4)]),
566 [if test -n ${enableval}; then
567 enableval=`echo ${enableval} | tr '\054' ' ' `
569 while test -n "${enableval}" ; do
570 val=`echo ${enableval} | cut -d ' ' -f 1`
593 fltk|FLTK|fltk2|FLTK2)
610 dnl BSD doesn't have a framebuffer interface
611 if test x${linux} = xyes; then
614 if test x${openbsd} != xyes; then
620 *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: gtk|kde3|qt4|fltk|sdl|aqua|fb|qtopia3|qtopia4|dump|aos4|haiku)])
623 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
624 if test "x$val" = "x$enableval"; then
628 [ dnl Run the following code if no --enable-gui is given
631 if test x"${openbsd}" = xyes; then
634 else if test x"${haiku}" = xyes; then
645 if test x"${build_haiku}" = xyes; then
646 if test x"$haiku" != xyes; then
647 echo " ERROR: Can not build Haiku gui outside of Haiku
648 operating system." >&3
652 dnl We can use Xephyr or fbe to create a fake framebuffer instead of real
653 dnl video memory. This lets us test on a desktop machine.
655 AC_HELP_STRING([--with-fakefb],
656 [specify a file to be mapped instead of a real framebuffer]),
657 with_fakefb=${withval})
660 if test x"${with_fakefb}" = xyes; then
661 dnl This is the default file name fbe uses.
662 fakefb=/tmp/fbe_buffer
664 if test x"${with_fakefb}" != x; then
665 fakefb=${with_fakefb}
671 if test x"${fakefb}" != x; then
672 AC_DEFINE(ENABLE_FAKE_FRAMEBUFFER, [1], [Enable using a file instead of a real framebuffer])
675 dnl This enable a small handful of tests that aren't designed to be
676 dnl run as part of "make check", as they are either incomplete, or
677 dnl can only be run interactively. These are all primarily oriented
678 dnl towards code development and debugging, instead of regression
680 AC_ARG_ENABLE(devtests, AC_HELP_STRING([--enable-devtests],
681 [Developer only tests, not to be included in make check]),
682 [case "${enableval}" in
685 *) AC_MSG_ERROR([bad value ${enableval} for enable-devtests option]) ;;
687 AM_CONDITIONAL(ENABLE_DEVELOPER_TESTS, [test x${devtests} = xyes])
689 dnl --------------------------------------------------------
690 dnl Sound handler selection
691 dnl --------------------------------------------------------
698 AC_HELP_STRING([--enable-sound=[[sdl|ahi|mkit]]], [Use the specified sound handler (default=sdl)]),
699 [case "${enableval}" in
717 [if test x"${haiku}" = xyes; then
721 if test x${build_sound_none} = xno; then
728 dnl --------------------------------------------------------
729 dnl Media handler selection
730 dnl --------------------------------------------------------
732 build_media_ffmpeg=auto
735 AC_HELP_STRING([--enable-media=handler],
736 [Enable media handling support using the specified handler: gst, ffmpeg or none (no sound) [[gst]] ]),
738 if test -n ${enableval}; then
739 enableval=`echo ${enableval} | tr '\054' ' ' `
741 dnl When --enable-media is given, all media defaults to off
742 dnl except the explicitly enabled ones
743 build_media_ffmpeg=no
745 while test -n "${enableval}"; do
746 val=`echo ${enableval} | cut -d ' ' -f 1`
750 media_list="${media_list}gst "
753 build_media_ffmpeg=yes
754 media_list="${media_list}ffmpeg "
761 AC_MSG_ERROR([bad value ${enableval} for --enable-media option])
765 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
766 if test "x$val" = "x$enableval"; then
770 [if test x"${build_haiku}" = xyes; then
771 build_media_ffmpeg=yes
772 build_media_haiku=yes
773 media_list="ffmpeg haiku"
780 dnl If no render is selected, and media handling isn't disabled, them enable gst
781 if test x${build_media_none} = xno -a x${build_media_gst} = xno -a x${build_media_ffmpeg} = xno; then
785 if test x"$build_media_ffmpeg" != x"no"; then # yes or auto
787 if test x"${build_media_ffmpeg}" = xauto; then
788 dnl TODO: have GNASH_PATH_FFMPEG set ${has_ffmpeg}
789 if test x"$FFMPEG_LIBS" != x; then
790 build_media_ffmpeg=yes
791 media_list="${media_list} ffmpeg"
798 MEDIA_CONFIG="${media_list}"
799 AC_SUBST(MEDIA_CONFIG)
801 dnl Multiple input devices are supported. These can all work in
802 dnl varying combinations, so several may be listed. These are only
803 dnl required when using the Framebuffer, as without the X11 desktop,
804 dnl Gnash has to handle all these internally. This can get
805 dnl messy, as one might want to use a touchscreen with a normal mouse
806 dnl or keyboard attached.
807 dnl By default, don't build any of these, as they are only for the
808 dnl Framebuffer running without X11.
809 if test x"${build_fb}" = xyes -a x"${linux}" = xyes; then
811 build_ps2keyboard=yes
812 build_input_events=yes
814 input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"
818 build_input_events=no
823 AC_HELP_STRING([--enable-input], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
824 [if test -n ${enableval}; then
825 enableval=`echo ${enableval} | tr '\054' ' ' `
829 build_input_events=no
831 while test -n "${enableval}" ; do
832 val=`echo ${enableval} | cut -d ' ' -f 1`
834 ps2m*|PS2m*|m*|M*) dnl a PS/2 style mouse
836 input_events="${input_events}, PS/2 Mouse"
838 ps2k*|PS2K*|k*|K*) dnl a PS/2 style keyboard
839 build_ps2keyboard=yes
840 input_events="${input_events}, PS/2 Keyboard"
842 i*|I*|ev*|Ev*) dnl use the new Input Event, which supports both
843 input_events="${input_events}, Input Event Device"
844 build_input_events=yes
846 t*|T*) dnl use a touchscreen with tslib, which works like a mouse
848 input_events="${input_events}, Touchscreen"
852 build_ps2keyboard=yes
853 build_input_events=yes
855 input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"
857 *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
860 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
861 if test "x$val" = "x$enableval"; then
867 if test x$build_sdl != xno -o x$build_sound_sdl = xyes; then
870 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} = xyes])
873 dnl -----------------------------------------------------
874 dnl Check for SDL and decide about auto gui accordingly.
875 dnl Need be done after build_sound_sdl and build_sdl are
876 dnl initialized and before they are checked for yes/no
877 dnl -----------------------------------------------------
878 if test x"${build_sdl}" = xauto; then
879 if test xyes = x"${has_sdl}"; then
882 AC_MSG_NOTICE([sdl GUI will not be built (no sdl development files found)])
887 dnl -------------------------------
888 dnl Renderer Selection
889 dnl -------------------------------
891 dnl By default, we want to to build all renderers
892 dnl DirectFB has both a device layer and a rendering layer, although
893 dnl currently the rendering part is incomplete. Configure support is
894 dnl included for development purposes.
896 dnl The OpenVG support works on both the desktop and embedded devices
897 dnl that don't run X11. It is supported by iPhone/iPad/Android
898 dnl devices, and the nouveau driver on the desktop.
900 dnl The OpenGLES1 renderer is a work in progress. It is originally
901 dnl based on a patch to Gnash 0.8.5, which of course not only didn't
902 dnl compile anymore, it was all hardcoded into the framebuffer
903 dnl code. This version compiles with the latest internal rendering
904 dnl API, and works properly with the glue code for the Gnash GUIs.
906 dnl OpenGL works, but suffers from performance problems. This should
907 dnl eventually be replacd by the OpenGLES1 and OpenVG renders.
909 dnl AGG is a software only renderer
912 renderer_list="agg cairo"
913 AC_ARG_ENABLE(renderer,
914 AC_HELP_STRING([--enable-renderer], [Enable support for the specified renderers (agg|cairo|opengl|openvg|all, default=all)]),
915 if test -n ${enableval}; then
916 if test "x${enableval}" != "xno" -o "x${enableval}" != "xnone" ; then
918 enableval=`echo ${enableval} | tr '\054' ' ' `
931 while test -n "${enableval}" ; do
932 val=`echo ${enableval} | cut -d ' ' -f 1`
944 renderer_list="agg cairo opengl openvg, opengles1"
951 ogl|OGL|OpenGL|opengl)
952 renderer_list="${renderer_list} opengl"
955 gles|GLES|gles1|GLES1)
956 renderer_list="${renderer_list} opengles1"
959 nrender=$((nrender+1))
961 ovg|OVG|OpenVG|openvg)
962 renderer_list="${renderer_list} openvg"
964 nrender=$((nrender+1))
967 renderer_list="${renderer_list} DirectFB"
969 nrender=$((nrender+1))
972 renderer_list="${renderer_list} agg"
976 renderer_list="${renderer_list} cairo"
979 *) AC_MSG_ERROR([invalid renderer specified: ${enableval} given (accept: (opengl|openvg|cairo|agg|all)])
982 enableval=`echo ${enableval} | cut -d ' ' -f 2-`
983 if test "x$val" = "x$enableval"; then
989 if test x"${build_ovg}" = xyes; then
991 dnl If OpenVG isn't installed, disable it
992 if test x"${has_openvg}" = xno; then
993 AC_MSG_WARN([OpenVG specified but no development files found!])
994 renderer_list=`echo ${renderer_list} | sed -e 's/ openvg//' `
995 nrender=$((nrender-1))
999 dnl VA API is used by default for all H.264 videos. HW requirements:
1000 dnl * AMD GPUs with UVD2 and xvba-video VA driver
1001 dnl * NVIDIA GPUs with vdpau-video VA driver
1002 dnl * All HW with a VA driver supporting the VA/GLX extensions or
1003 dnl vaPutSurface(Pixmap,...). This may include the Intel
1004 dnl Moorestown platform and future G45 VA driver.
1005 dnl NOTE: it is possible to use Gnash/VAAPI on platforms with an Intel
1006 dnl GMA500 but you currently will have to build the AGG renderer
1007 dnl instead of the OGL (OpenGL) one.
1008 build_vaapi_device=no
1009 build_openmax_device=no
1010 if test x"${build_ovg}" = xyes; then
1011 build_egl_device=yes
1016 build_directfb_device=no
1017 if test x"${build_fb}" = xyes; then
1018 build_rawfb_device=yes
1022 build_rawfb_device=no
1026 AC_ARG_ENABLE(device,
1027 AC_HELP_STRING([--enable-device], [Specify which hardware abstraction to use to support to enable (none,egl,directfb,rawfb,x11,vaapi)]),
1028 enableval=`echo ${enableval} | tr '\054' ' ' `
1030 build_rawfb_device=no
1033 while test -n "${enableval}" ; do
1034 val=`echo ${enableval} | cut -d ' ' -f 1`
1038 build_vaapi_device=no
1039 build_openmax_device=no
1041 build_directfb_device=no
1046 device_list="${device_list} VAAPI"
1047 build_vaapi_device=yes
1048 ndevice=$((ndevice+1))
1051 device_list="${device_list} EGL"
1052 build_egl_device=yes
1053 ndevice=$((ndevice+1))
1056 device_list="${device_list} X11"
1057 build_x11_device=yes
1058 ndevice=$((ndevice+1))
1061 device_list="${device_list} DirectFB"
1062 build_directfb_device=yes
1063 ndevice=$((ndevice+1))
1066 device_list="${device_list} RawFB"
1067 build_rawfb_device=yes
1068 ndevice=$((ndevice+1))
1071 device_list="EGL DirectFB X11"
1072 build_openmax_device=no
1073 build_vaapi_device=no
1074 build_egl_device=yes
1075 build_rawfb_device=yes
1076 build_directfb_device=yes
1077 build_x11_device=yes
1081 device_list="${device_list} OpenMAX"
1082 build_openmax_device=yes
1083 ndevice=$((ndevice+1))
1085 *) AC_MSG_ERROR([invalid device feature specified: ${enableval} given (accept: none,vaapi)])
1088 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1089 if test "x$val" = "x$enableval"; then
1095 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi_device}" = x"yes"; then
1099 dnl if the version of FFmpeg is recent enough, (r20957, 52.45.0), then
1100 dnl look for VAAPI support so we can use use the VAAPI enabled FFmpeg.
1101 if test x"${have_ffmpeg_vaapi}" = xyes; then
1103 GNASH_PKG_FIND([libva],
1105 [Video Acceleration API],
1109 GNASH_PKG_FIND([libva_x11],
1111 [VA API (X11 display)],
1116 if test x$build_ogl = xyes; then
1118 GNASH_PKG_FIND([libva_glx],
1120 [VA API (GLX display)],
1128 dnl libVA drivers. We declare conditional for both the option being
1129 dnl selected, as well as whether or not it's found. This we can
1130 dnl generate better error handling if it's not found.
1131 AM_CONDITIONAL(USE_VAAPI, test x"${use_libva}" = xyes)
1133 dnl Until the hwaccel patches in FFmpeg wind up in the ffmpeg-plugin,
1134 dnl restrict using HW Accel to using FFmpeg directly.
1135 dnl test xyes = xyes -a ( x != xyes -o x != xyes )
1136 if test x"${build_vaapi}" = x"yes" -a x"${have_ffmpeg}" != x"yes"; then
1137 AC_MSG_ERROR(["Hardware acceleration currently not supported unless using FFmpeg."])
1140 AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = xyes)
1141 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
1142 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
1144 if test x"${build_egl_device}" = xyes; then
1145 GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
1146 if test xyes = x"${has_EGL}"; then
1147 AC_DEFINE(BUILD_EGL_DEVICE, [ 1 ],
1148 [Build the EGL device for OpenVG, OpenGLES1&2, and X11/Mesa])
1149 device_list="${device_list} EGL"
1150 ndevice=$((ndevice+1))
1152 AC_MSG_ERROR(["EGL requested but development package not found"])
1157 if test ${ndevice} -eq 0; then
1162 AM_CONDITIONAL(BUILD_DEVICES, test ${ndevice} -gt 0)
1163 if test ${ndevice} -gt 0; then
1164 AC_OUTPUT(libdevice/Makefile)
1167 dnl 16 bit: RGB555, RGB565
1168 dnl 24 bit: RGB24, BGR24
1169 dnl 32 bit: RGBA32, BGRA32
1171 AC_ARG_WITH(pixelformat,
1172 AC_HELP_STRING([--with-pixelformat=], [Use the specified pixel format for AGG (default=all)]),
1173 [if test -n ${withval}; then
1174 pixelformat="${withval}"
1175 withval=`echo ${withval} | tr '\054' ' ' `
1177 while test -n "${withval}" ; do
1178 val=`echo ${withval} | cut -d ' ' -f 1`
1181 # allow special value "all" set by user (handled below)
1184 AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32])
1187 AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32])
1190 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1193 AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24])
1196 AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32])
1199 AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24])
1202 AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555])
1205 AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565])
1207 *) AC_MSG_ERROR([invalid pixel format ${withval} given (accept: all|RGB555|RGB565|RGB24|BGR24|BGRA32|RGBA32|ARGB32|ABGR32)])
1210 withval=`echo ${withval} | cut -d ' ' -f 2-6`
1211 if test "x$val" = "x$withval"; then
1215 [if test x$build_haiku = xyes -a x$build_sdl != xyes; then
1216 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1221 if test x$pixelformat = xall; then
1222 if test x$build_agg = xyes; then
1223 ### The fact that we're building GTK doesn't mean we're not also
1224 ### building KDE or SDL, each needing its own pixel format !
1225 #if test x$build_gtk = xyes; then
1226 # AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1227 # pixelformat="RGB24"
1229 AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555 pixel format])
1230 AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565 pixel format])
1231 AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1232 AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24 pixel format])
1233 AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32 pixel format])
1234 AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32 pixel format])
1235 AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32 pixel format])
1236 AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32 pixel format])
1241 if test x"${build_ogl}" != xno; then # yes or auto
1243 if test x"${build_ogl}" = xauto; then
1244 if test xyes = x"${has_opengl}"; then
1246 renderer_list="${renderer_list} opengl"
1253 AM_CONDITIONAL(BUILD_OVG_RENDERER, [ test x${build_ovg} = xyes ])
1254 AM_CONDITIONAL(BUILD_GLES1_RENDERER, [ test x${build_gles1} = xyes ])
1255 AM_CONDITIONAL(BUILD_GLES2_RENDERER, [ test x${build_gles2} = xyes ])
1256 AM_CONDITIONAL(BUILD_OGL_RENDERER, [ test x${build_ogl} = xyes])
1257 AM_CONDITIONAL(BUILD_AGG_RENDERER, [ test x${build_agg} = xyes ])
1258 AM_CONDITIONAL(BUILD_CAIRO_RENDERER, [ test x${build_cairo} = xyes ])
1260 if test x"${has_openvg}" = xyes; then
1261 AC_DEFINE([RENDERER_OPENVG], [1], [Use OpenVG renderer])
1264 if test x"${build_ogl}" = xyes; then
1265 AC_DEFINE([RENDERER_OPENGL], [1], [Use OpenGL renderer])
1268 if test x"${build_agg}" = xyes; then
1269 AC_DEFINE([RENDERER_AGG], [1], [Use AntiGrain renderer])
1272 if test x"${build_cairo}" = xyes; then
1273 GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1274 AC_DEFINE([RENDERER_CAIRO], [1], [Use cairo renderer])
1277 if test x"${build_agg}" = xyes; then
1281 AC_PATH_PROG(PERL, perl)
1282 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
1284 AC_PATH_PROG(CSOUND, csound)
1285 AM_CONDITIONAL(HAVE_CSOUND, test x"$CSOUND" != x)
1287 AC_PATH_PROG(GIT, git)
1290 dnl --------------------------------------------------------
1291 dnl Extension selection
1292 dnl --------------------------------------------------------
1301 extensions_support=yes
1303 AC_ARG_ENABLE(extensions,
1304 AC_HELP_STRING([--enable-extensions=], [Specify which extensions to build (default: none)])
1305 AC_HELP_STRING([--disable-extensions], [Disable support for extensions entirely]),
1306 if test -n ${enableval}; then
1307 if test "x${enableval}" != "xno"; then
1308 extlist="${enableval}"
1309 enableval=`echo ${enableval} | tr '\054' ' ' `
1310 AC_DEFINE([USE_EXTENSIONS], [1], [Specify that extension support is enabled.])
1314 extensions_support=no
1318 while test -n "${enableval}" ; do
1319 val=`echo ${enableval} | cut -d ' ' -f 1`
1320 extensions_list="${extensions_list} ${val}"
1322 dejagnu|DEJAGNU|dj|DJ)
1323 AC_DEFINE(USE_DEJAGNU_EXT, [1], [Build the DejaGnu extension])
1324 AC_MSG_NOTICE([Adding DejaGnu extension])
1326 nextensions=$((nextensions+1))
1328 mysql|MYSQL|sql|SQL)
1329 AC_DEFINE(USE_MYSQL_EXT, [1], [Build the MySQL extension])
1330 AC_MSG_NOTICE([Adding MySql extension])
1332 nextensions=$((nextensions+1))
1334 fileio|FILEIO|io|IO)
1335 AC_DEFINE(USE_FILEIO_EXT, [1], [Build the FileIO extension])
1336 AC_MSG_NOTICE([Adding FileIO extension])
1338 nextensions=$((nextensions+1))
1341 AC_DEFINE(USE_GTK_EXT, [1], [Build the GTK extension])
1343 nextensions=$((nextensions+1))
1346 AC_DEFINE(USE_LIRC_EXT, [1], [Build the LIRC extension])
1348 nextensions=$((nextensions+1))
1351 AC_DEFINE(USE_DBUS_EXT, [1], [Build the DBUS extension])
1353 nextensions=$((nextensions+1))
1356 AC_DEFINE(USE_GTK_EXT, [1], [Build all the extensions])
1366 *) AC_MSG_ERROR([invalid extension specified: ${enableval} given (accept: MYSQL|DEJAGNU|FILEIO|GTK|LIRC|DBUS|METOME|ALL)])
1369 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1370 if test "x$val" = "x$enableval"; then
1374 EXTENSIONS_LIST="$extensions_list"
1375 AC_SUBST(EXTENSIONS_LIST)
1378 if test x$ext_dbus = xyes; then
1382 if test x$ext_mysql = xyes; then
1386 AM_CONDITIONAL(BUILD_DEJAGNU_EXT, [ test x$ext_dejagnu = xyes ])
1387 AM_CONDITIONAL(BUILD_FILEIO_EXT, [ test x$ext_fileio = xyes ])
1388 AM_CONDITIONAL(BUILD_MYSQL_EXT, [ test x$ext_mysql = xyes ])
1389 AM_CONDITIONAL(BUILD_GTK_EXT, [ test x$ext_gtk = xyes ])
1390 AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes ])
1391 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
1392 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
1394 AM_CONDITIONAL(ENABLE_EXTENSIONS, [ test "x${extensions_support}" != "xno" ])
1396 dnl --------------------------------------------------------
1398 dnl --------------------------------------------------------
1401 AC_LIBTOOL_WIN32_DLL
1404 AC_SUBST(LIBTOOL_DEPS)
1406 DLPREOPEN="-dlpreopen"
1410 GNASH_PKG_FIND([ltdl], [ltdl.h], [libltdl library], [lt_dlinit])
1412 if test x"$has_ltdl" = x"yes";then
1413 AC_DEFINE(HAVE_LTDL, [1], [Libtool 2.x defines this, but libtool 1.5 does not])
1416 dnl --------------------------------------------------------
1418 dnl --------------------------------------------------------
1421 AC_HELP_STRING([--with-soldir],
1422 [directory for .sol files]),
1423 with_soldir=${withval})
1424 if test x${with_soldir} != x; then
1425 soldir=${with_soldir}
1430 dnl --------------------------------------------------------
1432 dnl --------------------------------------------------------
1433 dnl AC_ARG_ENABLE(avm2,
1434 dnl AC_HELP_STRING([--enable-avm2], [Enable support for AS3]),
1435 dnl [case "${enableval}" in
1436 dnl yes) avm2=yes ;;
1438 dnl *) AC_MSG_ERROR([bad value ${enableval} for enable-avm2 option]) ;;
1441 dnl AM_CONDITIONAL(ENABLE_AVM2, [test x"$avm2" = xyes])
1442 dnl if test x$avm2 = xyes; then
1443 dnl AC_DEFINE(ENABLE_AVM2, [1], [Enable AVM2 code])
1445 AM_CONDITIONAL(ENABLE_AVM2, false)
1447 dnl This option is only used if you want Gnash to interwork with
1448 dnl the Adobe player using the LocalConnection class.
1449 dnl lckey=0xdd3adabd
1451 AC_HELP_STRING([--with-lckey],
1452 [shared memory key for your system]),
1453 with_lckey=${withval})
1455 if test x${with_lckey} != x; then
1463 AC_ARG_ENABLE(python,
1464 AC_HELP_STRING([--enable-python],[Enable python for the python wrapper]),
1465 [case "${enableval}" in
1468 *) AC_MSG_ERROR([bad value ${enableval} for --enable-python option]) ;;
1471 dnl Look for python, which is optional. If enabled, a python loadable
1472 dnl module of Gnash is created.
1474 AM_CONDITIONAL([USE_PYTHON], test x"$python" = xyes)
1475 AM_CONDITIONAL([HAS_PYTHON], test x"$has_python" = xyes)
1477 dnl By default debug logging is enabled. For better performance, it can
1478 dnl be disabled, as when running as a plugin, nobody sees the debug messages
1479 dnl anyway. Debug logging is primarily for developers, so we can turn it off
1480 dnl for package builds.
1482 AC_HELP_STRING([--enable-log],[Enable debug logging]),
1483 [case "${enableval}" in
1484 yes) debuglog=yes ;;
1486 *) AC_MSG_ERROR([bad value ${enableval} for --enable-log option]) ;;
1489 if test x"${debuglog}" = x"yes"; then
1490 AC_DEFINE([DEBUG_LOGGING], [1], [Enable debug logging])
1493 # Maybe use jemalloc, which handles memory fragmentation for
1494 # ECAMscript languages better than the regular system malloc.
1495 # This seems like a good idea, as both the other player and
1496 # Mozilla/Firefox both recently switched to using jemalloc.
1497 AC_ARG_ENABLE(jemalloc,
1498 AC_HELP_STRING([--enable-jemalloc],[Enable jemalloc instead of system malloc]),
1499 [case "${enableval}" in
1500 yes) jemalloc=yes ;;
1502 *) AC_MSG_ERROR([bad value ${enableval} for --enable-jemalloc option]) ;;
1505 AC_CHECK_SIZEOF([void *], [4])
1507 if test "x${ac_cv_sizeof_void_p}" != x4 -a x"${ac_cv_sizeof_void_p}" != x8; then
1508 dnl jemalloc doesn't support unusual pointer sizes
1512 dnl There is some weird stuff going on with NetBSD and jemalloc, so don't
1513 dnl build it for now.
1514 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
1517 dnl If the compiler doesn't have local thread storage enabled, don't try to
1519 if test x"${jemalloc}" = x"yes"; then
1520 AC_TRY_COMPILE([], [
1521 extern __thread int global_i; ],
1522 has_local_thread_storage=yes
1524 if test x"${has_local_thread_storage}" = x"yes"; then
1525 AC_DEFINE([HAVE_LOCAL_THREAD_STORAGE], [1], [Has __thread (local thread storage) support])
1526 AC_DEFINE([USE_JEMALLOC], [], [Use jemalloc instead of system malloc])
1532 dnl We can search libs for mallinfo to decide whether we have it or not.
1533 dnl This is added to the linker flags when it's found. Usually it's -lc, but
1534 dnl on OpenSolaris it's -lmalloc, so this fixes the build.
1535 AC_SEARCH_LIBS([mallinfo], [c malloc],
1536 AC_DEFINE(HAVE_MALLINFO, [1], [Has mallinfo()])
1540 AM_CONDITIONAL([HAVE_MALLINFO], test x$mallinfo = xyes)
1541 AM_CONDITIONAL(JEMALLOC, test x$jemalloc = xyes)
1543 AC_ARG_ENABLE(fps-debug,
1544 AC_HELP_STRING([--enable-fps-debug],[Enable FPS debugging code]),
1545 [case "${enableval}" in
1546 yes) AC_DEFINE([GNASH_FPS_DEBUG], [1], [Enable FPS debugging code])
1549 dnl IPC_INFO isn't portable, and doesn't exist on BSD
1550 AC_TRY_COMPILE([#include <sys/ipc.h> #include <sys/shm.h>], [
1551 int flag = IPC_INFO; ],
1552 AC_DEFINE([HAVE_IPC_INFO], [1], [Use ipc_info])
1555 dnl --------------------------------------------------------
1557 dnl --------------------------------------------------------
1558 dnl Don't add the GUI menu. Some educational systems think this adds
1559 dnl clutter and confusion, like on the OLPC.
1560 AC_ARG_ENABLE(menus,
1561 AC_HELP_STRING([--disable-menus],[Disable the GUI menus]),
1562 [case "${enableval}" in
1565 *) AC_MSG_ERROR([bad value ${enableval} for --disable-menus option]) ;;
1568 if test x"$menus" = x"yes"; then
1569 AC_DEFINE([USE_MENUS], [], [GUI Menu support])
1571 AM_CONDITIONAL(MENUS, test x$menus = xyes)
1573 dnl --------------------------------------------------------
1574 dnl Disable SWF information
1575 dnl --------------------------------------------------------
1576 dnl Don't gather SWF information in tree form. This takes
1577 dnl resources and memory that can be saved if there's no
1578 dnl need to examine SWF internals.
1579 AC_ARG_ENABLE(swftree,
1580 AC_HELP_STRING([--disable-swftree],[Disable showing SWF properties]),
1581 [case "${enableval}" in
1584 *) AC_MSG_ERROR([bad value ${enableval} for --disable-swf-properties option]) ;;
1587 if test x"$swftree" = x"yes"; then
1588 AC_DEFINE([USE_SWFTREE], [], [View SWF information])
1590 AM_CONDITIONAL(SWFTREE, test x$swftree = xyes)
1592 dnl --------------------------------------------------------
1593 dnl Disable testsuite
1594 dnl --------------------------------------------------------
1595 dnl Disable running any tests for "make check". This may sound stupid, but
1596 dnl this option is designed to solely be used by maintainers in the
1597 dnl DISTCHECK_CONFIGURE_FLAGS when building packages. Gnash's testing infrastructure
1598 dnl is complex, and often the the testsuites will work, but due to some obscure reason,
1599 dnl make distcheck fails.
1600 AC_ARG_ENABLE(testsuite,
1601 AC_HELP_STRING([--disable-testsuite],[Disable the testsuite, maintainers option only]),
1602 [case "${enableval}" in
1603 yes) testsuite=yes ;;
1605 *) AC_MSG_ERROR([bad value ${enableval} for --disable-testsuite option]) ;;
1606 esac],testsuite=yes)
1608 if test x"$testsuite" = x"yes"; then
1609 AC_DEFINE([USE_TESTSUITE], [], [Testsuite support, maintainers option only])
1611 AM_CONDITIONAL(TESTSUITE, test x$testsuite = xyes)
1613 dnl --------------------------------------------------------
1614 dnl Write the file to disk in the plugin
1615 dnl --------------------------------------------------------
1616 AC_ARG_ENABLE(write,
1617 AC_HELP_STRING([--enable-write], [Makes the Mozilla plugin write the currently playing SWF movie to /tmp.]),
1618 [case "${enableval}" in
1621 *) AC_MSG_ERROR([bad value ${enableval} for --enable-write option]) ;;
1624 if test x"$write" = x"yes"; then
1625 AC_DEFINE([WRITE_FILE], [], [Write files while streaming])
1628 dnl --------------------------------------------------------
1629 dnl Write a standalone gnash launcher to disk from the plugin
1630 dnl --------------------------------------------------------
1631 AC_ARG_ENABLE(sa-launcher,
1632 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.]),
1633 [case "${enableval}" in
1634 yes) sa_launcher=yes ;;
1635 no) sa_launcher=no ;;
1636 *) AC_MSG_ERROR([bad value ${enableval} for --enable-sa-launcher option]) ;;
1637 esac],sa_launcher=yes)
1639 if test x"$sa_launcher" = x"yes"; then
1640 AC_DEFINE([CREATE_STANDALONE_GNASH_LAUNCHER], [], [Add support for writing a standalone executable launcher for movies embedded in web pages])
1643 dnl --------------------------------------------------------
1644 dnl Build the cygnal server if specified.
1645 dnl --------------------------------------------------------
1646 AC_ARG_ENABLE(cygnal,
1647 AC_HELP_STRING([--enable-cygnal], [Enable building of the Cygnal server]),
1648 [case "${enableval}" in
1651 *) AC_MSG_ERROR([bad value ${enableval} for enable-cygnal option]) ;;
1653 AM_CONDITIONAL(CYGNAL, test x$cygnal = xyes)
1655 if test x$cygnal = xyes; then
1656 AC_OUTPUT(cygnal/Makefile
1657 cygnal/libnet/Makefile
1658 cygnal/libamf/Makefile
1659 cygnal/cgi-bin/Makefile
1660 cygnal/cgi-bin/echo/Makefile
1661 cygnal/cgi-bin/oflaDemo/Makefile
1662 cygnal/cgi-bin/fitcDemo/Makefile
1663 cygnal/testsuite/Makefile
1664 cygnal/testsuite/libamf.all/Makefile
1665 cygnal/testsuite/libnet.all/Makefile
1666 cygnal/testsuite/cygnal.all/Makefile
1670 dnl --------------------------------------------------------
1671 dnl Build the cgibins server if specified.
1672 dnl --------------------------------------------------------
1673 AC_ARG_ENABLE(cgibins,
1674 AC_HELP_STRING([--enable-cgibins], [Enable building of the CGIs for Cygnal]),
1675 [case "${enableval}" in
1678 *) AC_MSG_ERROR([bad value ${enableval} for enable-cgibins option]) ;;
1680 AM_CONDITIONAL(USE_CGI, test x$cgibin = xyes)
1681 if test x"${cgibin}" = x"yes"; then
1682 AC_DEFINE([USE_CGIBIN], [1], [Enable cgi-bin processes for Cygnal])
1685 dnl --------------------------------------------------------
1687 dnl --------------------------------------------------------
1688 dnl Add an option for double buffering when rendering, currently only used by
1689 dnl the frmaebuffer GUI.
1690 dnl If defined, an internal software-buffer is used for rendering and is then
1691 dnl copied to the video RAM. This avoids flicker and is faster for complex
1692 dnl graphics, as video RAM access is usually slower. (strongly suggested)
1693 AC_ARG_ENABLE(doublebuf,
1694 AC_HELP_STRING([--enable-doublebuf], [Enable support for double buffering when rendering]),
1695 [case "${enableval}" in
1696 yes) doublebuf=yes ;;
1698 *) AC_MSG_ERROR([bad value ${enableval} for enable-doublebuf option]) ;;
1701 AM_CONDITIONAL(ENABLE_DBUF, [test x"$doublebuf" = xyes])
1702 if test x$doublebuf = xyes; then
1703 AC_DEFINE(ENABLE_DOUBLE_BUFFERING, [1], [Enable double buffering])
1706 dnl --------------------------------------------------------
1707 dnl Offscreen buffer
1708 dnl --------------------------------------------------------
1709 dnl This enables rendering to an offscreen buffer, instead of directly to window
1710 AC_ARG_ENABLE(offscreen,
1711 AC_HELP_STRING([--enable-offscreen], [Enable support for rendering offscreen]),
1712 [case "${enableval}" in
1713 yes) offscreen=yes ;;
1715 *) AC_MSG_ERROR([bad value ${enableval} for enable-offscreen option]) ;;
1720 dnl --------------------------------------------------------
1721 dnl SSH support selection
1722 dnl --------------------------------------------------------
1723 dnl Enable using libssh with libnet
1725 AC_HELP_STRING([--enable-ssh], [Enable using SSH for network authentication]),
1726 [case "${enableval}" in
1727 yes) build_ssh=yes ;;
1729 *) AC_MSG_ERROR([bad value ${enableval} for --enable-ssh option]) ;;
1730 esac], build_ssh=no)
1732 AM_CONDITIONAL(BUILD_SSH, test x"${build_ssh}" = xyes)
1733 if test x"${build_ssh}" = xyes; then
1734 GNASH_PKG_FIND(ssh, [libssh/libssh.h], [libssh library], ssh_socket_init)
1735 dnl GNASH_PKG_FIND(poppler, [popt.h], [Poppler library], poppler_init)
1737 if test x"${has_ssh}" = x"yes"; then
1738 AC_DEFINE([USE_SSH], [1], [Use SSH for authentication])
1741 dnl --------------------------------------------------------
1742 dnl SSL support selection
1743 dnl --------------------------------------------------------
1745 dnl Enable using OpenSSL with libnet.
1747 AC_HELP_STRING([--enable-ssl], [Enable using OpenSSL directly]),
1748 [case "${enableval}" in
1749 yes) build_ssl=yes ;;
1751 *) AC_MSG_ERROR([bad value ${enableval} for --enable-ssl option]) ;;
1752 esac], build_ssl=no)
1756 AM_CONDITIONAL(BUILD_SSL, test x"${build_ssl}" = xyes)
1758 AC_HELP_STRING([--with-cert],
1759 [cert file for SSL]),
1760 with_cert=${withval})
1762 AC_HELP_STRING([--with-pe],
1763 [pem file for SSL]),
1764 with_pem=${withval})
1766 if test x"${build_ssl}" = xyes; then
1767 GNASH_PKG_FIND(ssl, [openssl/ssl.h], [OpenSSL library], SSL_library_init)
1769 if test x"${has_ssl}" = x"yes"; then
1770 AC_DEFINE([USE_SSL], [1], [Use SSL for authentication])
1773 dnl -----------------------------------------------------------
1774 dnl Set the general plugins install policy here
1775 dnl (NOTE: before GNASH_PATH_FIREFOX and GNASH_PATH_KDE*)
1776 dnl -----------------------------------------------------------
1778 AC_ARG_WITH(plugins-install,
1779 AC_HELP_STRING([--with-plugins-install=system|user|prefix], [Policy for plugins install. Default: user.]),
1780 [case "${withval}" in
1781 user) PLUGINS_INSTALL_POLICY=user ;;
1782 system) PLUGINS_INSTALL_POLICY=system ;;
1783 prefix) PLUGINS_INSTALL_POLICY=prefix ;;
1784 *) AC_MSG_ERROR([bad value ${withval} for --with-plugins-install]) ;;
1786 ], PLUGINS_INSTALL_POLICY=user)
1788 dnl -----------------------------------------------------------
1789 dnl Verify dependencies for requested GUIs are met, and
1790 dnl disable build of the GUIS for which deps are NOT met
1791 dnl ------------------------------------------------------------
1793 if test x$build_gtk = xyes; then
1796 GNASH_PKG_FIND(atk, [atk/atk.h], [atk library], atk_focus_tracker_init, [1.0])
1797 if test x"${build_ogl}" = xyes; then
1800 if test x"${build_cairo}" = xyes; then
1801 GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1805 if test x"${build_qt4}" != xno; then
1809 if test x"${build_qt4}" = xauto; then
1810 if test x"${has_qt4}" = xyes; then
1817 if test x"${build_kde3}" != xno -o x"${build_qtopia3}" != xno; then
1821 if test x"${build_kde3}" != xno; then
1826 if test x"${build_kde3}" = xauto; then
1827 if test x"${has_qt3}" = xyes -a x"${has_kde3}" = xyes; then
1834 dnl Check possibility to build DUMP gui, if requested
1835 if test x"${build_dump}" != xno; then
1836 if test x"${build_agg}" = xyes; then
1839 if test x"${build_dump}" = xyes; then
1840 dnl SHOULD we just check at the end of file instead ?
1841 AC_MSG_ERROR(dump GUI cannot be built without AGG renderer);
1847 dnl Check possibility to build FB gui, if requested
1848 dnl FB dependency is a linux system (linux/fb.h)
1849 if test x"${build_fb}" != xno; then
1850 if test x"${linux}" = xyes; then
1853 if test x"${build_fb}" = xyes; then
1854 dnl SHOULD we just check at the end of file instead ?
1855 AC_MSG_ERROR(fb GUI cannot be built on non-linux platforms);
1857 AC_MSG_NOTICE([fb GUI won't be built (non-linux platform)])
1862 dnl TODO: add checks for all other GUIs
1864 dnl -------------------------------
1865 dnl Input Device selection
1866 dnl -------------------------------
1868 dnl Multiple input devices are supported. These can all work in
1869 dnl varying combinations, so several may be listed. These are only
1870 dnl required when using the Framebuffer, as without the X11 desktop,
1871 dnl Gnash has to handle all these internally. This can get
1872 dnl messy, as one might want to use a touchscreen with a normal mouse
1873 dnl or keyboard attached.
1874 dnl By default, don't build any of these, as they are only for the Framebuffer
1875 dnl running without X11.
1876 if test x"${build_fb}" = xyes; then
1878 build_ps2keyboard=no
1879 build_input_events=yes
1881 input_events="PS/2 Mouse, Input Devices, Touchscreen via Tslib"
1884 build_ps2keyboard=no
1885 build_input_events=no
1889 AC_ARG_ENABLE(input,
1890 AC_HELP_STRING([--enable-input=], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
1891 [if test -n ${enableval}; then
1892 enableval=`echo ${enableval} | tr '\054' ' ' `
1894 while test -n "${enableval}" ; do
1895 val=`echo ${enableval} | cut -d ' ' -f 1`
1897 ps2m*|PS2m*|m*|M*) dnl a PS/2 style mouse
1899 input_events="${input_events}, PS/2 Mouse"
1901 ps2k*|PS2K*|k*|K*) dnl a PS/2 style keyboard
1902 build_ps2keyboard=yes
1903 input_events="${input_events}, PS/2 Keyboard"
1905 i*|I*|ev*|Ev*) dnl use the new Input Event, which supports both
1906 input_events="${input_events}, Input Event Device"
1907 build_input_events=yes
1909 t*|T*) dnl use a touchscreen with tslib, which works like a mouse
1911 input_events="${input_events}, Touchscreen"
1913 *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
1916 enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1917 if test "x$val" = "x$enableval"; then
1923 if test x"${build_tslib}" = xyes; then
1924 AC_DEFINE(USE_TSLIB, [1], [Use a tslib supported touchscreen])
1925 GNASH_PKG_FIND(ts, [tslib.h], [Touchscreen library], ts_config)
1927 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} != xno])
1929 if test x"${build_ps2mouse}" = xyes; then
1930 AC_DEFINE(USE_MOUSE_PS2, [1], [Add support for a directly using a PS/2 Mouse])
1932 AM_CONDITIONAL(ENABLE_MOUSE, [test x"${build_ps2mouse}" = xyes])
1934 if test x"${build_ps2keyboard}" = xyes; then
1935 AC_DEFINE(USE_KEYBOARD_PS2, [1], [Add support for directly using a PS/2 Keyboard])
1937 if test x"${build_input_events}" = xyes; then
1938 AC_DEFINE(USE_INPUT_EVENTS, [1], [Add support for a directly using Linux Input Event Devices])
1940 AM_CONDITIONAL(ENABLE_INPUT_EVENTS, [test x"${build_input_events}" = xyes])
1941 dnl this is enabled if we have any input devices at all
1942 AM_CONDITIONAL(ENABLE_INPUT_DEVICES, [test x"${input_events}" != x])
1945 dnl -----------------------------------------------------------
1946 dnl Try to ignore stupid dependencies
1947 dnl -----------------------------------------------------------
1949 AC_MSG_CHECKING(linker --as-needed support)
1950 gcc_cv_ld_as_needed=no
1951 # Check if linker supports --as-needed and --no-as-needed options
1952 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1953 gcc_cv_ld_as_needed=yes
1955 if test x"$gcc_cv_ld_as_needed" = xyes; then
1956 LDFLAGS="$LDFLAGS -Wl,--as-needed"
1958 AC_MSG_RESULT($gcc_cv_ld_as_needed)
1960 AC_DEFINE(USE_GIF, [1], [Use the GIF library])
1961 AC_DEFINE(USE_PNG, [1], [Use the PNG library])
1962 AM_CONDITIONAL(USE_GIF, true)
1963 AM_CONDITIONAL(USE_PNG, true)
1965 AC_PATH_TOOL([AUTOTRACE], [autotrace])
1968 dnl -----------------------------------------------------------------
1969 dnl PLUGIN RELATED STUFF
1970 dnl -----------------------------------------------------------------
1972 dnl !! This has been moved here to make --enable-npapi work
1973 dnl !! All of plugin-related macro calls could be moved into
1974 dnl !! a specialized macros/plugin.m4
1976 dnl ----------------------------------------------------
1977 dnl Add KPARTS support, if specified or KDE gui is built
1978 dnl ----------------------------------------------------
1980 AC_ARG_ENABLE(kparts3,
1981 AC_HELP_STRING([--disable-kparts3], [Disable support for Konqueror 3.x plugin (default: enabled if kde3 gui is)]),
1982 [case "${enableval}" in
1983 yes) build_kparts3=yes ;;
1984 no) build_kparts3=no ;;
1985 *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
1986 esac],build_kparts3=$build_kde3)
1988 dnl --------------------------------------------------------
1989 dnl Add KPARTS 4.x support, if specified or KDE gui is built
1990 dnl --------------------------------------------------------
1992 AC_ARG_ENABLE(kparts4,
1993 AC_HELP_STRING([--disable-kparts4], [Disable support for Konqueror 4.x plugin (default: enabled if Qt4 gui is)]),
1994 [case "${enableval}" in
1995 yes) build_kparts4=yes ;;
1996 no) build_kparts4=no ;;
1997 *) AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
1998 esac],build_kparts4=$build_qt4)
2000 if test x"${build_kparts4}" != xno; then
2004 dnl -----------------------------------------------------------
2005 dnl Add NPAPI support, if specified or GTK or Qt4 gui is built
2006 dnl -----------------------------------------------------------
2008 AC_ARG_ENABLE(npapi,
2009 AC_HELP_STRING([--disable-npapi], [Disable NPAPI plugin build (default: enabled if gtk or Qt4 gui is)]),
2010 [case "${enableval}" in
2013 *) AC_MSG_ERROR([bad value ${enableval} for disable-npapi option]) ;;
2015 if test x$build_gtk = xyes -o x$build_qt4 = xyes; then
2020 if test x"$npapi" = x"yes"; then
2024 dnl -----------------------------------------------------------------
2025 dnl Enable us to disable building all browser plugins in one command.
2026 dnl -----------------------------------------------------------------
2028 AC_ARG_ENABLE(plugins,
2029 AC_HELP_STRING([--disable-plugins], [Disable all browser plugins from building (default=no)]),
2030 [case "${enableval}" in
2033 *) AC_MSG_ERROR([bad value ${enableval} for disable-plugins option]) ;;
2037 if test x$plugins = xno; then
2046 dnl -----------------------------------------------------------------
2047 dnl END OF PLUGIN RELATED STUFF
2048 dnl -----------------------------------------------------------------
2050 AM_CONDITIONAL(LIRC, [test x$lirc_ext = xyes])
2052 AC_CHECK_HEADERS(getopt.h)
2053 AC_CHECK_HEADERS(libgen.h)
2054 AC_CHECK_HEADERS(pwd.h)
2055 AC_CHECK_HEADERS(sys/utsname.h)
2056 AC_CHECK_HEADERS(signal.h)
2057 AC_CHECK_HEADERS(unistd.h)
2058 AC_CHECK_HEADERS(sys/time.h)
2059 AC_CHECK_LIB(bz2, BZ2_bzopen, [AC_SUBST(BZ2_LIBS, -lbz2)])
2060 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
2062 dnl X11 is needed for fltk (at least),
2063 dnl and probably for many other guis too ...
2064 dnl if ! test x$build_fb = xyes; then # <--- this is wrong as build_x is non-exclusive
2066 dnl AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
2067 dnl AC_CHECK_LIB(gmp, _gmp_get_memory_functions)
2069 AC_CHECK_LIB(Xi, XInput_find_display)
2070 AC_CHECK_LIB(X11, XDisableAccessControl)
2072 AM_CONDITIONAL(HAVE_X11, [test x${has_x11} = xyes])
2073 if test x${build_x11_device} = xyes -a x${has_x11} = xyes; then
2074 AC_DEFINE(BUILD_X11_DEVICE, [1], [Build the X11 device])
2077 dnl See if ipc_perm structure has the ipc_perm.key field, and if so,
2078 dnl which variant of the name is used.
2081 #include <sys/ipc.h>
2082 #include <sys/shm.h>], [
2083 struct shmid_ds shmseg;
2084 key_t x = shmseg.shm_perm.key;],
2086 AC_DEFINE(IPC_PERM_KEY, [key], [Has the key field in ipc_perm])
2089 if test x$ipc_key = xno; then
2091 #include <sys/ipc.h>
2092 #include <sys/shm.h>], [
2093 struct shmid_ds shmseg;
2094 key_t x = shmseg.shm_perm.__key;],
2095 AC_DEFINE(IPC_PERM_KEY, [__key], [Has the key field in ipc_perm])
2100 AC_CACHE_CHECK([for finite], ac_cv_finite,
2103 #ifdef HAVE_IEEEFP_H
2106 [double x; int y; y = finite(x);],
2110 if test x"$ac_cv_finite" = x"yes"; then
2111 AC_SEARCH_LIBS(finite, m,
2112 [AC_DEFINE(HAVE_FINITE, [1], [Has finite])]
2117 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
2118 [AC_TRY_COMPILE([#include <cmath>],
2119 [using namespace std; double x; int y; y = isfinite(x);],
2124 if test x"$ac_cv_isfinite" = x"yes"; then
2125 dnl Don't give up if isfinite is not found in -lm
2126 dnl isfinite is defined as a macro in C99.
2127 AC_SEARCH_LIBS(isfinite, m)
2128 AC_DEFINE(HAVE_ISFINITE, [1], [Has isfinite])
2132 AC_CACHE_CHECK([whether $CXX implements __PRETTY_FUNCTION__], ac_cv_implements___PRETTY_FUNCTION__, [
2133 AC_TRY_LINK([#include <cstdio>
2135 [ std::printf("%s", __PRETTY_FUNCTION__); ],
2136 [ ac_cv_implements___PRETTY_FUNCTION__="yes" ],
2137 [ ac_cv_implements___PRETTY_FUNCTION__="no" ]
2140 if test "x$ac_cv_implements___PRETTY_FUNCTION__" = "xyes" ; then
2141 AC_DEFINE(HAVE_PRETTY_FUNCTION, [1], [__PRETTY_FUNCTION__ is defined])
2144 AC_CACHE_CHECK([whether $CXX implements __FUNCTION__], ac_cv_implements___FUNCTION__, [
2145 AC_TRY_LINK([#include <cstdio>
2147 [ std::printf("%s", __FUNCTION__); ],
2148 [ ac_cv_implements___FUNCTION__="yes" ],
2149 [ ac_cv_implements___FUNCTION__="no" ]
2152 if test "x$ac_cv_implements___FUNCTION__" = "xyes" ; then
2153 AC_DEFINE(HAVE_FUNCTION, [1], [__FUNCTION__ is defined])
2156 AC_CACHE_CHECK([whether $CXX implements __func__], ac_cv_implements___func__, [
2157 AC_TRY_LINK([#include <cstdio>
2159 [ std::printf("%s", __func__); ],
2160 [ ac_cv_implements___func__="yes" ],
2161 [ ac_cv_implements___func__="no" ]
2164 if test "x$ac_cv_implements___func__" = "xyes" ; then
2165 AC_DEFINE(HAVE_func, [1], [__func__ is defined])
2168 AC_REPLACE_FUNCS(getopt)
2170 dnl Date portability stuff, used in server/asobj/Date.cpp
2171 AC_CHECK_FUNCS(gettimeofday)
2172 AC_CHECK_FUNCS(ftime)
2173 AC_CHECK_FUNCS(tzset)
2174 AC_CHECK_FUNCS(localtime_r)
2176 AC_CACHE_CHECK([whether struct tm has tm_gmtoff], ac_cv_tm_gmtoff, [
2178 /* ctime(1) says "The glibc version of struct tm has additional fields
2179 * defined when _BSD_SOURCE was set before including <time.h>"
2180 * In practice, you do not need to define it yourself (tested on glibc-2.2.1
2181 * and 2.3.6) but if you *do* define it yourself, it makes *all* functions
2182 * favour BSD-like behaviour over of GNU/POSIX, which seems dangerous.
2184 // #define _BSD_SOURCE 1
2187 [ struct tm tm; long l = tm.tm_gmtoff; ],
2188 [ ac_cv_tm_gmtoff="yes" ],
2189 [ ac_cv_tm_gmtoff="no" ]
2192 if test "x$ac_cv_tm_gmtoff" = "xyes" ; then
2193 AC_DEFINE(HAVE_TM_GMTOFF, [1], [struct tm has member tm_gmtoff])
2196 AC_CACHE_CHECK([whether timezone is a long], ac_cv_long_timezone, [
2198 /* On Linux/glibc, tzset(3) says "extern long timezone;" (seconds West of GMT)
2199 * but on BSD char *timezone(int,int) is a function returning a string name.
2200 * The BSD function timegm() may be the equivalent, but this should
2201 * not be necessary because on BSD the code should use tm.tm_gmtoff instead
2202 * (use of long timezone is a fallback strategy for when tm_gmtoff exists not).
2206 extern long timezone;
2208 [ printf("%ld", timezone); ],
2209 [ ac_cv_long_timezone="yes" ],
2210 [ ac_cv_long_timezone="no" ]
2213 if test "x$ac_cv_long_timezone" = "xyes" ; then
2214 AC_DEFINE(HAVE_LONG_TIMEZONE, [1], [extern timezone is a long integer, not a function])
2217 AC_CHECK_FUNCS(sysconf)
2218 AC_CHECK_FUNCS(shmget shmat shmdt mmap)
2219 AC_CHECK_FUNCS(scandir) dnl supported by BSD and Linux, but you never know...
2220 AC_CHECK_LIB(rt, clock_gettime)
2221 AC_CHECK_FUNC(clock_gettime, AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Has clock_gettime()] ))
2222 dnl Look for Win32 networking stuff
2223 AC_CHECK_HEADERS(winsock.h)
2224 AC_CHECK_HEADERS(winsock2.h)
2226 GNASH_PKG_FIND(nspr, [nspr.h], [Netscape Portable Runtime (NSPR)], PR_Init)
2228 AC_PATH_TOOL(WINDRES, [windres])
2231 GNASH_PKG_FIND(z, [zlib.h], [zlib compression library], compress)
2232 GNASH_PKG_FIND(jpeg, [jpeglib.h], [jpeg images], jpeg_mem_init)
2233 GNASH_PKG_FIND(png, [png.h], [png images], png_info_init)
2234 GNASH_PKG_FIND(gif, [gif_lib.h], [gif images], DGifOpen)
2235 if test x"${GIF_LIBS}" = x ; then
2236 GNASH_PKG_FIND(ungif, [gif_lib.h], [gif images], DGifOpen)
2237 GIF_LIBS=${UNGIF_LIBS}
2238 GIF_CFLAGS=${UNGIF_CFLAGS}
2240 if test x"$testsuite" = x"yes"; then
2241 GNASH_PKG_INCLUDES([dejagnu], [dejagnu.h])
2244 GNASH_PKG_FIND(speex, [speex.h], [speex audio codec], speex_decode_int)
2245 AM_CONDITIONAL(HAVE_SPEEX, [ test x$has_speex = xyes ])
2246 if test x$has_speex = xyes ; then
2247 AC_DEFINE([DECODING_SPEEX], [1], [Speex codec available])
2250 GNASH_PKG_FIND(speexdsp, [speex_resampler.h], [speex DSP utilities], speex_resampler_process_int)
2251 if test x$has_speexdsp = xyes ; then
2252 AC_DEFINE([RESAMPLING_SPEEX], [1], [Speex resampler available])
2255 dnl Find freetype and fontconfig
2256 GNASH_PATH_FREETYPE2
2257 GNASH_PKG_FIND(fontconfig, [fontconfig/fontconfig.h], [fontconfig library], FcFontMatch)
2259 if test x$cross_compiling = xno; then
2263 if test x"$MING_VERSION_CODE" = x; then
2264 MING_VERSION_CODE=00000000
2267 AM_CONDITIONAL(ENABLE_MING,
2268 [ test x"$MAKESWF" != x -a $MING_VERSION_CODE -gt 00040000 ])
2270 AM_CONDITIONAL(MING_VERSION_0_4,
2271 [ test $MING_VERSION_CODE -ge 00040000 ])
2272 AM_CONDITIONAL(MAKESWF_SUPPORTS_PREBUILT_CLIPS,
2273 [ test $MING_VERSION_CODE -ge 00040002 ])
2274 AM_CONDITIONAL(MING_SUPPORTS_INIT_ACTIONS,
2275 [ test $MING_VERSION_CODE -ge 00040004 ])
2276 AM_CONDITIONAL(MING_SUPPORTS_REPLACE_TAG,
2277 [ test $MING_VERSION_CODE -ge 00040005 ])
2278 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_ADD_CHARACTER,
2279 [ test $MING_VERSION_CODE -ge 00040005 ])
2280 AM_CONDITIONAL(MING_SUPPORTS_STREAMING_SOUND,
2281 [ test $MING_VERSION_CODE -ge 00040006 ])
2282 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_SET_DEPTH,
2283 [ test $MING_VERSION_CODE -ge 00040006 ])
2284 AM_CONDITIONAL(MING_VERSION_0_4_3,
2285 [ test $MING_VERSION_CODE -ge 00040300 ])
2286 AM_CONDITIONAL(MING_VERSION_0_4_4,
2287 [ test $MING_VERSION_CODE -ge 00040400 ])
2289 if test x$cross_compiling = xno; then
2290 AC_ARG_WITH([swfdec_testsuite],
2291 AC_HELP_STRING([--with-swfdec-testsuite],
2292 [directory where swfdec testsuite (the 'test' dir) is]),
2293 if test x"${withval}" = xyes; then
2295 dir=`cd ${dir} && pwd`
2296 withval="${dir}/testsuite/swfdec/src/test"
2298 SWFDEC_TESTSUITE=${withval}
2300 AC_SUBST(SWFDEC_TESTSUITE)
2302 AM_CONDITIONAL(ENABLE_SWFDEC_TESTSUITE, [ test x"$SWFDEC_TESTSUITE" != x ])
2304 if test x$cross_compiling = xno; then
2305 AC_ARG_ENABLE([http_testsuite],
2306 dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2307 AC_HELP_STRING([--enable-http-testsuite=<baseurl>],
2308 [Enable http based testsuite (default url is http://www.gnashdev.org/testcases)]),
2309 [case "${enableval}" in
2310 no) HTTP_TESTSUITE="" ;;
2311 yes) HTTP_TESTSUITE="http://www.gnashdev.org/testcases" ;;
2312 *) HTTP_TESTSUITE="${enableval}";;
2314 AC_SUBST(HTTP_TESTSUITE)
2316 AM_CONDITIONAL(ENABLE_HTTP_TESTSUITE, [ test x"$HTTP_TESTSUITE" != x ])
2318 if test x$cross_compiling = xno; then
2319 AC_ARG_ENABLE([red5_testing],
2320 dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2321 AC_HELP_STRING([--enable-red5-testing=<host>],
2322 [Enable red5 based testing (default host is www.gnashdev.org)]),
2323 [case "${enableval}" in
2325 yes) RED5_HOST="www.gnashdev.org" ;;
2326 *) RED5_HOST="${enableval}";;
2330 AM_CONDITIONAL(ENABLE_RED5_TESTING, [ test x"$RED5_HOST" != x ])
2332 if test x$cross_compiling = xno; then
2333 AC_ARG_ENABLE([rtmpy_testing],
2334 dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2335 AC_HELP_STRING([--enable-rtmpy-testing=<host>],
2336 [Enable rtmpy based testing (default host is www.gnashdev.org)]),
2337 [case "${enableval}" in
2338 no) RTMPY_HOST="" ;;
2339 yes) RTMPY_HOST="www.gnashdev.org" ;;
2340 *) RTMPY_HOST="${enableval}";;
2342 AC_SUBST(RTMPY_HOST)
2344 AM_CONDITIONAL(ENABLE_RTMPY_TESTING, [ test x"$RTMPY_HOST" != x ])
2346 dnl The name might differ between systems.
2347 if test x"$testsuite" = x"yes"; then
2348 AC_PATH_PROGS(NETCAT, [nc netcat])
2349 AC_PATH_PROG(WGET, wget)
2351 AM_CONDITIONAL(HAS_NETCAT, [ test x"$NETCAT" != x ])
2352 AM_CONDITIONAL(HAS_WGET, [ test x"$WGET" != x ])
2355 dnl See if we can use the swfmill, mtasc, swfc and haxe based testsuites
2357 if test x"$testsuite" = x"yes" -a x$cross_compiling = xno; then
2358 AC_PATH_PROG(AS3COMPILE, as3compile)
2359 AC_PATH_PROG(SWFC, swfc)
2365 AM_CONDITIONAL(ENABLE_SWFMILL, [ test x"$SWFMILL" != x ])
2366 AM_CONDITIONAL(SWFMILL_AS3_SUPPORT,
2367 [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2369 dnl SWFMILL versions older than 0.3 didn't get function2 flags order correctly
2370 AM_CONDITIONAL(SWFMILL_FUNCTION2_FLAGS_ORDER_CORRECT,
2371 [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2373 AM_CONDITIONAL(ENABLE_AS3COMPILE, [ test x"$AS3COMPILE" != x ])
2374 AM_CONDITIONAL(ENABLE_MTASC, [ test x"$MTASC" != x ])
2375 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2376 AM_CONDITIONAL(ENABLE_SWFC, [ test x"$SWFC" != x ])
2377 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2379 AC_PATH_PROG(DOXYGEN, doxygen)
2380 AM_CONDITIONAL(ENABLE_DOXYGEN, [ test x"$DOXYGEN" != x ])
2382 AM_CONDITIONAL(HAVE_KDE3, [test x$has_kde3 = xyes])
2383 AM_CONDITIONAL(HAVE_KDE4, [test x$has_kde4 = xyes])
2384 AM_CONDITIONAL(HAVE_QT3, [test x$has_qt3 = xyes])
2385 AM_CONDITIONAL(HAVE_QT4, [test x$has_qt4 = xyes])
2387 AM_CONDITIONAL([QT_X11], [test "$platform" = "X11"])
2388 AM_CONDITIONAL([QTOPIA], [test "$platform" = "Qtopia"])
2389 AM_CONDITIONAL([QT_OSX], [test "$platform" = "OSX"])
2390 AM_CONDITIONAL([QT_OS9], [test "$platform" = "OS9"])
2391 AM_CONDITIONAL([QT_WIN32], [test "$platform" = "Win32"])
2393 dnl Need GLIB for both GTK and GST
2394 if test x"${build_gtk}" = xyes -o x"${build_media_gst}" = xyes; then
2398 AM_CONDITIONAL(HAVE_GLIB, [ test x"${has_glib}" = xyes ])
2400 if test x$npapi = xyes; then
2401 if ! test x$build_gtk = xyes -o x$build_qt4 = xyes; then
2402 AC_MSG_WARN(["Enabled NPAPI plugin, but it's not supported by the selected GUI"])
2406 if test x$windows = xyes -a x$npapi = xyes; then
2407 if test "x$NSPR_CFLAGS" = x -a "x$NSPR_LIBS" = x; then
2408 AC_MSG_ERROR(["On Win32, NPAPI plugin requires NSPR."])
2410 if test "x$WINDRES" = x; then
2411 AC_MSG_ERROR(["On Win32, NPAPI plugin requires windres."])
2415 dnl Need GLIB for NPAPI plugin
2416 if test x$npapi = xyes; then
2420 dnl if kde isn't installed, even if it's specified, don't try to build
2421 dnl the KPARTS plugin, which is KDE based.
2422 if test x$has_kde3 = xno -a x$build_kparts3 = xyes; then
2424 AC_MSG_WARN(["Disabling KPARTS 3.x plugin, no KDE development found"])
2427 if test x$build_kde3 = xno -a x$build_kparts3 = xyes; then
2428 AC_MSG_WARN(["Enabled KPARTS 3.x plugin, but you aren't building a KDE based GUI!"])
2430 if test x$has_kde4 = xno -a x$build_kparts4 = xyes; then
2432 AC_MSG_WARN(["Disabling KPARTS 4.x plugin, no KDE 4.x development found"])
2435 if test x$build_qt4 = xno -a x$kparts4 = xyes; then
2436 AC_MSG_WARN(["Enabled KPARTS 4.x plugin, but you aren't building a KDE 4.x based GUI!"])
2439 AM_CONDITIONAL(BUILD_QTOPIA3_GUI, [ test x$build_qtopia3 = xyes ])
2440 AM_CONDITIONAL(BUILD_QTOPIA4_GUI, [ test x$build_qtopia4 = xyes ])
2442 AM_CONDITIONAL(BUILD_KDE3_GUI, [ test x$build_kde3 = xyes ])
2443 AM_CONDITIONAL(BUILD_QT4_GUI, [ test x$build_qt4 = xyes ])
2445 AM_CONDITIONAL(BUILD_GTK_GUI, [ test x$build_gtk = xyes ])
2446 AM_CONDITIONAL(BUILD_FLTK_GUI, [ test x$build_fltk = xyes ])
2447 AM_CONDITIONAL(BUILD_SDL_GUI, [ test x$build_sdl = xyes ])
2448 AM_CONDITIONAL(BUILD_FB_GUI, [ test x$build_fb = xyes ])
2449 AM_CONDITIONAL(BUILD_AQUA_GUI, [ test x$build_aqua = xyes ])
2450 AM_CONDITIONAL(BUILD_DUMP_GUI, [ test x$build_dump = xyes ])
2451 AM_CONDITIONAL(BUILD_AMIGAOS4_GUI, [ test x$build_aos4 = xyes ])
2452 AM_CONDITIONAL(BUILD_HAIKU_GUI, [ test x$build_haiku = xyes ])
2454 # plugin building flags
2455 AM_CONDITIONAL(NPAPI, [test x"${npapi}" = xyes])
2456 AM_CONDITIONAL(KPARTS3, [test x"${build_kparts3}" = xyes])
2457 AM_CONDITIONAL(KPARTS4, [test x"${build_kparts4}" = xyes])
2459 if test x"${build_gles1}"; then
2463 dnl only Linux supports /dev/fb0
2464 if test x"${build_rawfb_device}" = xyes -a x"${linux}" = xyes; then
2465 AC_DEFINE([BUILD_RAWFB_DEVICE], [1], [Use raw Framebuffer device support])
2468 if test x"${build_directfb_device}" = xyes; then
2469 GNASH_PKG_FIND(directfb, [directfb.h], [DirectFB render library], DirectFBCreate)
2470 AC_DEFINE([BUILD_DIRECTFB_DEVICE], [1], [Use DirectFB device support])
2473 AM_CONDITIONAL(BUILD_VAAPI_DEVICE, [test x"${use_libva}" = xyes])
2474 AM_CONDITIONAL(BUILD_EGL_DEVICE, [test x"${build_egl_device}" = xyes])
2475 AM_CONDITIONAL(BUILD_DIRECTFB_DEVICE, [ test x${build_directfb_device} = xyes])
2476 AM_CONDITIONAL(BUILD_RAWFB_DEVICE, [ test x${build_rawfb_device} = xyes])
2477 AM_CONDITIONAL(BUILD_X11_DEVICE, [test x${build_x11_device} = xyes])
2479 if test x"${build_gtk}" = xyes; then
2480 AC_ARG_ENABLE(ghelp,
2481 AC_HELP_STRING([--enable-ghelp], [Enable support for the GNOME help system]),
2482 [case "${enableval}" in
2485 *) AC_MSG_ERROR([bad value ${enableval} for enable-ghelp option]) ;;
2489 if test x"${ghelp}" = x"yes" ; then
2490 AC_PATH_PROG(SCROLLKEEPER, scrollkeeper-config, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2491 AC_PATH_PROG(SCROLLUPDATE, scrollkeeper-update, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2492 AC_PATH_PROG(SCROLLINSTALL, scrollkeeper-preinstall, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2494 if test x"$SCROLLKEEPER" = x -o x"$SCROLLUPDATE" = x -o x"$SCROLLINSTALL" = x ; then
2496 AC_MSG_WARN([You need to install scrollkeeper for gnome help])
2500 AM_CONDITIONAL(GHELP, [test x${ghelp} = xyes])
2502 if test x${build_fltk} = xyes; then
2503 GNASH_PKG_FIND(Xft, [Xft.h], [xft library], XftGlyphRender)
2506 dnl Some systems have a pervered set of dependencies.
2507 dnl Fedora Core 6 appears to have a dependency on expat for fontconfig.
2508 dnl We only need the library, but this is the easy wind to find it.
2509 GNASH_PKG_FIND(expat, [expat.h], [Expat library], XML_ErrorString)
2511 dnl these conditionals were moved out of kde.m4
2512 AM_CONDITIONAL(HAS_KDE3, [test x$has_kde3 = xyes])
2513 # used to disable x11-specific stuff on special platforms
2514 AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
2515 AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
2516 AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2518 AM_CONDITIONAL(HAVE_GLEXT, [test x$glext = xyes])
2520 dnl We don't have GTKGLExt, so default to SDL, and don't build the Firefox plugin
2521 if test x$glext = xno -a x$build_ogl = xyes; then
2522 if test x$gtk2 = xyes -a x$build_gtk = xyes; then
2523 AC_ERROR([You have GTK installed, but not GtkGLExt. You need GtkGLExt to use the OpenGL renderer. Attempting to build SDL version])
2527 AC_MSG_WARN([GTK2 specified for the GUI, but GtkGlExt is not present. Trying SDL instead.])
2531 if test x"$build_media_gst" = "xyes"; then
2532 AC_PATH_PROG(GST_INSPECT, gst-inspect, ,[${pathlist}])
2533 if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2534 AC_PATH_PROG(GST_INSPECT, gst-inspect-0.10, ,[${pathlist}])
2536 if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2537 dnl FIXME: there may be multiple acceptable plugins that are acceptable for
2538 dnl our use. For example, mad or FFmpeg will play mp3.
2539 codecs="ffdec_flv ffdec_flashsv ffdec_vp6f ffdec_flashsv mad vorbisdec ffdec_vp6"
2540 for i in $codecs; do
2541 hits="`$GST_INSPECT $i | grep -c 'Long name'`"
2542 if test $hits -eq 0; then
2543 missing_codecs="$missing_codecs $i"
2544 AC_MSG_WARN([Missing codec: $i])
2548 GNASH_PKG_FIND(gstreamer_plugins_base, [gst/interfaces/probeprobe.h], [gstreamer interfaces library], gst_property_probe_probe_and_get_values_name, [0.10])
2549 GNASH_PKG_FIND(gstreamer_app, [gst/app/gstappsink.h], [gstreamer app library], call_gmon_start, [0.10])
2550 GNASH_PKG_FIND(gstreamer, [gst/gst.h], [gstreamer library], gst_init, [0.10])
2551 dnl if cross compiling, we're usually not going to be able to pop up
2552 dnl the codec installer to download the package to install, so disable
2553 dnl it if cross compiling with gstreamer support.
2554 if test x$cross_compiling = xno; then
2555 GNASH_PKG_FIND(gstreamer_pbutils, [gst/pbutils/install-plugins.h], [gstreamer PB Utils library], gst_install_plugins_supported, [0.10])
2557 dnl when cross compiling Gstreamer, not all supplied SDKs include all the
2558 dnl development libraries since most devices don't need to support plugin
2559 dnl development, only the runtime. In these caes we often have the header
2560 dnl files but not the libraries.
2561 if test x"${has_gstreamer_plugins_base}" = xyes; then
2562 GSTREAMER_LIBS="-lgstinterfaces-0.10 $GSTREAMER_LIBS"
2563 AC_DEFINE(HAS_GSTREAMER_PLUGINS_BASE, [1], [Has the Gstreamer Plugin Dev package installed])
2567 AM_CONDITIONAL(HAVE_CAIRO, [true])
2568 AM_CONDITIONAL(HAVE_OPENGL, [true])
2570 AM_CONDITIONAL(USE_SOUND_SDL, test x$build_sound_sdl = xyes)
2571 AM_CONDITIONAL(USE_SOUND_AHI, test x$build_sound_ahi = xyes)
2572 AM_CONDITIONAL(USE_SOUND_MKIT, test x$build_sound_mkit = xyes)
2573 AM_CONDITIONAL(USE_FFMPEG_ENGINE, test x"${build_media_ffmpeg}" = x"yes")
2574 AM_CONDITIONAL(USE_GST_ENGINE, test x"${build_media_gst}" = x"yes")
2575 AM_CONDITIONAL(HAVE_OPENGL, test x"${OPENGL_LIBS}" != x)
2576 dnl for now the Haiku media handler is experimental
2577 AM_CONDITIONAL(USE_HAIKU_ENGINE, test x"$build_media_haiku" = xyes)
2579 if test x"${build_media_ffmpeg}" = x"yes"; then
2580 AC_DEFINE([ENABLE_FFMPEG_MEDIA], [1], [Use FFmpeg for media decoding])
2583 if test x"${build_media_gst}" = x"yes"; then
2584 AC_DEFINE([ENABLE_GST_MEDIA], [1], [Use gstreamer for media decoding])
2587 if test x"${build_media_haiku}" = x"yes"; then
2588 AC_DEFINE([ENABLE_HAIKU_MEDIA], [1], [Use haiku for media decoding])
2591 if test x$build_sound_mkit = xyes; then
2592 if test x"${haiku}" != xyes; then
2593 AC_MSG_ERROR([Media Kit sound handling is supported only under Haiku]);
2595 AC_DEFINE([SOUND_MKIT], [1], [Use Haiku Media Kit for sound handling])
2599 if test x"${build_sound_sdl}" = xyes; then
2600 AC_DEFINE([SOUND_SDL], [1], [Use SDL for sound handling])
2603 if test x"${build_sound_ahi}" = xyes; then
2604 if test x"$amigaos4" != xyes; then
2605 AC_MSG_ERROR([AHI sound handling is supported only under AmigaOS]);
2607 AC_DEFINE([SOUND_AHI], [1], [Use AmigaOS AHI for sound handling])
2611 if test x$build_fltk = xyes; then
2612 GNASH_PKG_FIND(fltk2, [fltk/FL_API.h], [Fast Light Toolkit], fl_window_flush)
2613 if test x"${has_fltk2}" = xyes; then
2614 AC_CHECK_LIB(Xi, XInput_find_display,
2615 [AC_SUBST(FLTK2_LIBS, "$FLTK2_LIBS -lXi")])
2619 AM_CONDITIONAL(HAVE_FLTK2, [ test x$has_fltk2 = xyes ])
2620 AM_CONDITIONAL(HAS_XFT, [ test x$has_xft = xyes ])
2623 AM_CONDITIONAL(ENABLE_INFO, test x${INSTALL_INFO} != x)
2624 AM_CONDITIONAL(DOCBOOK, test x$docbook = xyes)
2625 AM_CONDITIONAL(ENABLE_TEXI, [ test x"$DB2X_TEXI" != x -o x"$DB2X_TEXIXML" != x ])
2626 AM_CONDITIONAL(ENABLE_PDF, [ test x"$DB2X_PDF" ])
2627 AM_CONDITIONAL(ENABLE_HTML, [ test x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2628 AM_CONDITIONAL(ENABLE_FOP, [ test x"$FOP" != x -a x"$docbook_styles" != x ])
2629 AM_CONDITIONAL(ENABLE_XMLTEX, [ test x"$PDFXMLTEX" != x -a x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2630 AM_CONDITIONAL(ENABLE_MAN, [ test x"$DB2X_MAN" != x -o x"$DB2X_MANXML" != x ])
2631 AM_CONDITIONAL(HAVE_AGG, [test x"${AGG_LIBS}" != x])
2635 dnl Define winsock if we're on windows. We could do something complicated,
2636 dnl but since AC_EXEEXT does it for us, we'll do this the easy way.
2637 if test x"$EXEEXT" = "exe"; then
2638 AC_DEFINE(HAVE_WINSOCK,1,[This is defined is we are on Win32])
2641 dnl ****************************************
2642 dnl *** Check for ELF visibility support ***
2643 dnl ****************************************
2645 AC_ARG_ENABLE([visibility],
2646 AC_HELP_STRING([--enable-visibility], [Use ELF visibility attributes]), [], [enable_visibility=no])
2648 if test x"$enable_visibility" != x"no"; then
2649 dnl Check whether the compiler supports the visibility attribute
2650 save_CFLAGS="$CFLAGS"
2651 CFLAGS="$CFLAGS -Wall -Werror"
2652 AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
2653 AC_COMPILE_IFELSE([AC_LANG_SOURCE(
2655 void __attribute__ ((visibility("default"))) test_default (void) {}
2656 void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
2657 int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
2660 AC_DEFINE([HAVE_GNUC_VISIBILITY], [1], [Define this for GCC-visibility.])
2661 AC_MSG_RESULT([yes])
2667 CFLAGS="$save_CFLAGS"
2670 AC_ARG_ENABLE([pch],
2671 AC_HELP_STRING([--enable-pch], [Enable precompiled header support]), [], [enable_pch=no])
2673 AM_CONDITIONAL([ENABLE_PCH], [test x"$enable_pch" != x"no"])
2675 PCH_FLAGS="-include all-includes.h -Winvalid-pch"
2682 AC_ARG_ENABLE([strict],
2683 AC_HELP_STRING([--enable-strict],[Accept only standards compliant code (GCC only)]),
2684 [case "${enableval}" in
2687 *) AC_MSG_ERROR([bad value ${enableval} for --enable-strict option]) ;;
2692 if test x"$strict" = x"yes" -a x$build_agg = xyes; then
2693 AC_MSG_ERROR([agg renderer will fail with --enable-strict.]);
2696 # We want warnings, lots of warnings :-)
2697 # It should be possible to build with -ansi, not with
2698 # -pedantic because of agg.
2700 # -ansi was actually dropped because it hides 'fileno', which
2701 # is used in a few places
2703 if test x"$GCC" = x"yes"; then
2704 CXXFLAGS="$CXXFLAGS \
2712 -Wnon-virtual-dtor \
2723 -Wmissing-declarations \
2724 -Wmissing-prototypes \
2725 -Wstrict-prototypes \
2727 if test x"$strict" = x"yes"; then
2728 CXXFLAGS="$CXXFLAGS \
2742 AC_ARG_ENABLE([cassert],
2743 AC_HELP_STRING([--disable-cassert],[Disable assertion checking]),
2744 [case "${enableval}" in
2747 *) AC_MSG_ERROR([bad value ${enableval} for --enable-cassert option]) ;;
2752 if test x"$cassert" = x"no"; then
2753 CXXFLAGS="$CXXFLAGS \
2761 dnl /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
2762 AC_DEFUN([CHECK_VISIBILITY_GCC_BUG],
2764 AC_CACHE_CHECK([if -fvisibility-inlines-hidden is broken], ac_cv_gcc_visibility_bug, [
2766 save_CXXFLAGS=$CXXFLAGS
2767 save_LDFLAGS=$LDFLAGS
2768 CXXFLAGS="-fPIC -fvisibility-inlines-hidden -O0"
2769 LDFLAGS="$LDFLAGS -shared -fPIC"
2773 template<typename CharT>
2778 template<typename CharT>
2779 inline VisTest<CharT>::VisTest()
2781 extern template class VisTest<char>; // It works if we drop that line
2782 int some_function( int do_something ) __attribute__((visibility("default")));
2783 int some_function( int )
2789 ac_cv_gcc_visibility_bug=no, ac_cv_gcc_visibility_bug=yes)
2791 CXXFLAGS=$save_CXXFLAGS
2792 LDFLAGS=$save_LDFLAGS
2796 if test x$ac_cv_gcc_visibility_bug = xno; then
2797 CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
2802 CHECK_VISIBILITY_GCC_BUG
2804 if test x$ac_cv_gcc_visibility_bug = xno; then
2806 AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
2807 save_CXXFLAGS=$CXXFLAGS
2808 CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2809 AC_LINK_IFELSE([AC_LANG_PROGRAM()],
2810 [ac_cv_gcc_visibility=yes;
2811 AC_MSG_RESULT([yes])],
2812 [ac_cv_gcc_visibility=no;
2813 AC_MSG_RESULT([no])]);
2814 CXXFLAGS="$save_CXXFLAGS"
2819 AM_CONDITIONAL(VISIBILITY_WORKS, test x"$ac_cv_gcc_visibility" = xyes)
2821 if test x"$ac_cv_gcc_visibility" = xyes -a x"$enable_visibility" != xno; then
2822 CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2825 dnl Define convenience constants so Gnash can print out the
2826 dnl default configuration of the build.
2827 RENDERER_CONFIG="${renderer_list}"
2829 for rend in `echo "${add_renderer}" | tr ',' ' '`; do
2830 RENDERER_LIBS="${RENDERER_LIBS} \$(top_builddir)/librender/libgnash${rend}.la"
2832 AC_SUBST(RENDERER_LIBS)
2833 AC_SUBST(RENDERER_CONFIG)
2835 HWACCEL_CONFIG="${device_list}"
2836 AC_SUBST(HWACCEL_CONFIG)
2838 dnl check for missing libraries and disable them.
2839 if test x"$BOOST_LIBS" != x; then
2840 if test x"${cygnal_missing_libs}" != x; then
2841 for i in ${cygnal_missing_libs}; do
2842 if test $i = serialization; then
2843 AC_DEFINE([BOOST_MULTI_INDEX_DISABLE_SERIALIZATION], ["1"], [if the library is missing, don't use it.])
2852 if test x$build_qtopia3 = xyes; then
2853 SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
2855 if test x$build_qtopia4 = xyes; then
2856 SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
2858 if test x$build_fb = xyes; then
2859 SUPPORTED_GUIS="${SUPPORTED_GUIS},fb"
2861 if test x$build_fltk = xyes; then
2862 SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
2864 if test x$build_kde3 = xyes; then
2865 SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
2867 if test x$build_qt4 = xyes; then
2868 SUPPORTED_GUIS="${SUPPORTED_GUIS},qt4"
2870 if test x$build_gtk = xyes; then
2871 SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
2873 if test x$build_sdl = xyes; then
2874 SUPPORTED_GUIS="${SUPPORTED_GUIS},sdl"
2876 if test x$build_aqua = xyes; then
2877 SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
2879 if test x$build_dump = xyes; then
2880 SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
2882 if test x$build_aos4 = xyes; then
2883 SUPPORTED_GUIS="${SUPPORTED_GUIS},aos4"
2885 if test x$build_haiku = xyes; then
2886 SUPPORTED_GUIS="${SUPPORTED_GUIS},haiku"
2888 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
2889 AC_SUBST(SUPPORTED_GUIS)
2891 AC_CONFIG_LINKS(cygnal/testsuite/cygnal.all/cygnalrc:cygnal/testsuite/cygnal.all/cygnalrc.in)
2892 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc:testsuite/libbase.all/gnashrc.in)
2893 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc-local:testsuite/libbase.all/gnashrc-local.in)
2896 gnash.pc:gnash.pc.in
2897 desktop/gnash-gtk-launcher:desktop/gnash-gtk-launcher.in
2898 desktop/gnash-qt-launcher:desktop/gnash-qt-launcher.in
2909 libcore/parser/Makefile
2916 testsuite/media/Makefile
2917 testsuite/libbase.all/Makefile
2918 testsuite/as3compile.all/Makefile
2919 testsuite/actionscript.all/Makefile
2920 testsuite/samples/Makefile
2921 testsuite/swfdec/Makefile
2922 testsuite/misc-ming.all/Makefile
2923 testsuite/misc-ming.all/action_order/Makefile
2924 testsuite/misc-ming.all/sound/Makefile
2925 testsuite/misc-ming.all/displaylist_depths/Makefile
2926 testsuite/misc-ming.all/init_action/Makefile
2927 testsuite/misc-ming.all/loop/Makefile
2928 testsuite/misc-ming.all/loading/Makefile
2929 testsuite/misc-ming.all/register_class/Makefile
2930 testsuite/misc-mtasc.all/Makefile
2931 testsuite/misc-haxe.all/Makefile
2932 testsuite/misc-haxe.all/classes.all/Makefile
2933 testsuite/misc-swfmill.all/Makefile
2934 testsuite/misc-swfmill.all/trace-as2/Makefile
2935 testsuite/misc-swfmill.all/trace-as3/Makefile
2936 testsuite/misc-swfc.all/Makefile
2937 testsuite/network.all/Makefile
2938 testsuite/movies.all/Makefile
2939 testsuite/libcore.all/Makefile
2940 testsuite/libmedia.all/Makefile
2943 gui/pythonmod/Makefile
2945 extensions/dejagnu/Makefile
2946 extensions/mysql/Makefile
2947 extensions/fileio/Makefile
2948 extensions/gtk2/Makefile
2949 extensions/lirc/Makefile
2950 extensions/dbus/Makefile
2952 plugin/npapi/Makefile
2953 plugin/klash/Makefile
2954 plugin/klash4/Makefile
2955 plugin/win32/Makefile
2956 plugin/aos4/Makefile
2960 ########################## Final report begins... ############################
2963 dnl Create temporary directory in a secure way
2964 tmp=`mktemp -d ${TMPDIR=/tmp}/gnash-configure-XXXXXX`
2965 if test \! -n "$tmp" || test \! -d "$tmp"; then
2966 tmp=`(umask 077 && mkdir -d ${TMPDIR=/tmp}/gnash-configure-${RANDOM}-$$) 2>/dev/null`
2968 cerr="${tmp}/errors"
2969 cwarn="${tmp}/warnings"
2970 crec="${tmp}/recommended"
2971 deb_err="${tmp}/deb_err"
2972 deb_war="${tmp}/deb_war"
2973 deb_rec="${tmp}/deb_rec"
2974 rpm_err="${tmp}/rpm_err"
2975 rpm_war="${tmp}/rpm_war"
2976 rpm_rec="${tmp}/rpm_rec"
2977 yast_err="${tmp}/yast_err"
2978 yast_war="${tmp}/yast_war"
2979 yast_rec="${tmp}/yast_rec"
2982 #trap 'rm cerr' 0 # trap isn't a good idea, might override other traps
2987 for F in "$deb_err" "$deb_war" "$deb_rec" "$rpm_err" "$rpm_war" "$rpm_rec" "$yast_err" "$yast_war" "$yast_rec"; do
2996 dnl These macros should be portable as I checked most things used are in
2997 dnl POSIX-2008, GNU CoreUtils, and shipped in MinGW. Old unices? No clue.
2998 dnl In any case, they are hardly relevant on non-GNU systems.
3000 dnl Beware, here comes some long scary shell commands.
3005 echo " ERROR: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3008 yast_dest="$yast_err"
3014 echo " WARNING: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3017 yast_dest="$yast_war"
3023 echo " RECOMMENDED: `echo "$1" | fold -s -w 62 | sed 's/^/ /' | tr '\n' '#' | cut -b 18- | tr '#' '\n'`" >&$pkg_out_fd
3026 yast_dest="$yast_rec"
3029 AC_DEFUN([PKG_SUGGEST],
3031 echo "`echo "$1" | fold -s -w 62 | sed 's/^/ /'`" >&$pkg_out_fd
3034 AC_DEFUN([DEB_INSTALL],
3036 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
3037 echo -n " $1" >> "$deb_dest"
3040 AC_DEFUN([DEB_ALTERNATIVE],
3042 echo " or maybe : `echo "apt-get install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3043 echo -n "/$1" >> "$deb_dest"
3046 AC_DEFUN([RPM_INSTALL],
3048 echo " or .rpm users: `echo "yum install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3049 echo -n " $1" >> "$rpm_dest"
3052 AC_DEFUN([RPM_ALTERNATIVE],
3054 echo " or maybe : `echo "yum install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3055 echo -n "/$1" >> "$rpm_dest"
3058 AC_DEFUN([YAST_INSTALL],
3060 echo " or yast users: `echo "yast install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3061 echo -n " $1" >> "$yast_dest"
3064 AC_DEFUN([YAST_ALTERNATIVE],
3066 echo " or maybe : `echo "yast install $1" | fold -s -w 48 | sed 's/^/ /' | tr '\n' '#' | cut -b 33- | tr '#' '\n'`" >&$pkg_out_fd
3067 echo -n "/$1" >> "$yast_dest"
3070 AC_DEFUN([PKG_ALTERNATIVE],
3072 echo "`echo "$1" | fold -s -w 62 | sed 's/^/ /'`" >&$pkg_out_fd
3075 echo "Configurable options are:"
3077 if test x"${pthreads}" = x"yes"; then
3078 echo " POSIX Threads support enabled (default)"
3080 if test x"${build_haiku}" = x"yes"; then
3081 echo " POSIX Thread support built into C library."
3083 echo " POSIX Thread support disabled."
3087 if test x"${npapi}" = x"yes"; then
3088 echo " NPAPI plugin enabled (default). Use --disable-npapi to disable."
3089 echo " NPAPI plugin will be installed in ${FIREFOX_PLUGINS}"
3091 echo " NPAPI plugin disabled."
3094 if test x"${build_kparts3}" = x"yes"; then
3095 echo " KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to disable"
3096 echo " KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
3097 echo " KPARTS 3.x service will be installed in ${KDE3_SERVICESDIR}"
3098 echo " KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
3099 echo " KPARTS 3.x appsdata will be installed in ${KDE3_APPSDATADIR}"
3101 echo " KPARTS 3.x plugin disabled."
3104 if test x"${build_kparts4}" = x"yes"; then
3105 echo " KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to disable"
3106 echo " KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
3107 echo " KPARTS 4.x service will be installed in ${KDE4_SERVICESDIR}"
3108 echo " KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
3109 echo " KPARTS 4.x appsdata will be installed in ${KDE4_APPSDATADIR}"
3111 echo " KPARTS 4.x plugin disabled."
3114 # set a variable if we shouldn't continue. This way we can print
3115 # out everything that is missing in one pass, hopefully making it
3116 # easy for new developers to get everything they need installed.
3119 echo "Configured paths for ${build} are:"
3121 dnl Dump QT3 options is the user specified a QTOPIA3 or KDE3 GUI
3122 if test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes; then
3123 if test x"${has_qt3}" = xyes; then
3124 echo " QT3 flags are: ${QT3_CFLAGS}"
3125 echo " QT3 libs are: ${QT3_LIBS}"
3127 PKG_ERR([No QT 3.x development package installed!])
3128 PKG_SUGGEST([Install a QT 3.x development environment from http://qt.nokia.com/])
3129 DEB_INSTALL([libqt3-mt-dev])
3130 RPM_INSTALL([qt3-devel])
3131 RPM_ALTERNATIVE([qt-devel])
3132 PKG_ALTERNATIVE([or change to a different gui with --enable-gui=...])
3136 dnl Dump QT4 options is the user specified a QTOPIA4 or Qt4 GUI
3137 if test x"${build_qt4}" = xyes -o x"${build_qtopia4}" = xyes; then
3138 if test x"${has_qt4}" = xyes; then
3139 echo " QT4 flags are: ${QT4_CFLAGS}"
3140 echo " QT4 libs are: ${QT4_LIBS}"
3142 PKG_ERR([No QT 4.x development package installed!])
3143 PKG_SUGGEST([Install a QT 4.x development environment from http://qt.nokia.com/])
3144 DEB_INSTALL([libqt4-dev])
3145 DEB_ALTERNATIVE([qt4-dev-tools]) dnl TODO: Is this required?
3146 RPM_INSTALL([qt4-devel])
3147 RPM_ALTERNATIVE([qt-devel])
3148 PKG_ALTERNATIVE([or change to a different gui with --enable-gui=...])
3152 if test x"${build_kparts4}" = xyes; then
3153 if test x"${has_kde4}" = xyes; then
3154 echo " KDE4 flags are: ${KDE4_CFLAGS}"
3155 echo " KDE4 libs are: ${KDE4_LIBS}"
3157 PKG_WAR([kparts4 plugin is disabled!])
3158 PKG_SUGGEST([Install version 4.x of the KDE development environment from http://kde.org])
3159 DEB_INSTALL([kdelibs5-dev])
3160 RPM_INSTALL([kdelibs-devel])
3164 if test x"$build_qtopia3" = xyes; then
3165 if test x"${QTOPIA3_LIBS}" != x ; then
3166 if test x"${QTOPIA3_CFLAGS}" != x ; then
3167 echo " QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
3169 echo " QTOPIA 3.x flags are: default include path"
3171 echo " QTOPIA 3.x libs are: $QTOPIA3_LIBS"
3173 PKG_ERR([No QTOPIA 3.x library development package installed!])
3174 PKG_SUGGEST([Install it from http://trolltech.com/downloads/ as binary packages are not available.]) dnl TODO: This link is no longer valid.
3178 if test x"$build_qtopia4" = xyes; then
3179 if test x"${QTOPIA4_LIBS}" != x ; then
3180 if test x"${QTOPIA4_CFLAGS}" != x ; then
3181 echo " QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
3183 echo " QTOPIA 4.x flags are: default include path"
3185 echo " QTOPIA 4.x libs are: $QTOPIA4_LIBS"
3187 PKG_ERR([No QTOPIA 4.x library development package installed!])
3188 PKG_SUGGEST([Install it from http://trolltech.com/downloads/ as binary packages are not available.]) dnl TODO: This link is no longer valid.
3193 # -o x$build_kparts3 = xyes
3194 if test x$build_kde3 = xyes; then
3195 if test x"$has_kde3" = xyes; then
3196 echo " KDE 3.x flags are: $KDE3_CFLAGS"
3197 echo " KDE 3.x libs are: $KDE3_LIBS"
3199 PKG_ERR([No KDE 3.x development package installed!])
3200 PKG_SUGGEST([Install version 3.x of the KDE development environment from http://kde.org])
3201 DEB_INSTALL([kdelibs4-dev])
3202 RPM_INSTALL([kdelibs3-devel])
3203 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.])
3207 if test x"${JPEG_LIBS}" != x ; then
3208 if test x"${JPEG_CFLAGS}" != x ; then
3209 echo " JPEG flags are: $JPEG_CFLAGS"
3211 echo " JPEG flags are: default include path"
3213 echo " JPEG libs are: $JPEG_LIBS"
3215 PKG_ERR([No JPEG library development package installed!])
3216 PKG_SUGGEST([Install it from http://ijg.org])
3217 DEB_INSTALL([libjpeg-dev])
3218 RPM_INSTALL([libjpeg-devel])
3221 if test x"${GIF_LIBS}" != x ; then
3222 if test x"${GIF_CFLAGS}" != x ; then
3223 echo " GIF flags are: $GIF_CFLAGS"
3225 echo " GIF flags are: default include path"
3227 echo " GIF libs are: $GIF_LIBS"
3229 PKG_ERR([No GIF library development package installed!])
3230 PKG_SUGGEST([Install it from http://sourceforge.net/projects/giflib/])
3231 DEB_INSTALL([libungif-dev])
3232 DEB_ALTERNATIVE([libgif-dev])
3233 RPM_INSTALL([libgif-devel])
3234 RPM_ALTERNATIVE([giflib-devel])
3235 RPM_ALTERNATIVE([libunfif-devel])
3238 if test x"${PNG_LIBS}" != x ; then
3239 if test x"${PNG_CFLAGS}" != x ; then
3240 echo " PNG flags are: $PNG_CFLAGS"
3242 echo " PNG flags are: default include path"
3244 echo " PNG libs are: $PNG_LIBS"
3246 PKG_REC([No PNG library development package installed!])
3247 PKG_SUGGEST([Gnash will be built without support for dynamic loading of PNG files.])
3248 PKG_SUGGEST([Install it from http://www.libpng.org])
3249 DEB_INSTALL([libpng12-dev])
3250 RPM_INSTALL([libpng-devel])
3253 if test x"${build_ovg}" = x"yes"; then
3254 if test x"${has_openvg}" = xyes; then
3255 echo " OpenVG flags are: $OPENVG_CFLAGS"
3256 echo " OpenVG libs are: $OPENVG_LIBS"
3258 echo " ERROR: No OpenVG development package installed!" >&3
3259 echo " You need to install the libmesa development package" >&3
3260 echo " or .deb users: apt-get install libopenvg1-mesa-dev" >&3
3261 echo " or .rpm users: yum install mesa-libOpenVG-devel-7.8.1-7.fc13.i686" >&3
3262 echo " or use a different renderer with --enable-renderer=" >&3
3266 if test x"${build_ogl}" = x"yes"; then
3267 if test x"$OPENGL_LIBS" != x; then
3268 if test x"$OPENGL_CFLAGS" != x; then
3269 echo " OpenGL flags are: $OPENGL_CFLAGS"
3271 echo " OpenGL flags are: default include path"
3273 echo " OpenGL libs are: $OPENGL_LIBS"
3275 PKG_ERR([No OpenGL development package installed!])
3276 PKG_SUGGEST([You need to install the libmesa development package])
3277 DEB_INSTALL([libgl1-mesa-dev])
3278 RPM_INSTALL([mesa-libGL-devel])
3279 RPM_ALTERNATIVE([xorg-x11-Mesa-libGL])
3280 PKG_ALTERNATIVE([or use a different renderer with --enable-renderer=])
3284 if test x"${build_gles1}" = x"yes"; then
3285 if test x"${has_gles1}" = xyes; then
3286 if test x"${GLES1_CFLAGS}" != x; then
3287 echo " OpenGLES1 flags are: ${GLES1_CFLAGS}"
3289 echo " OpenGLES1 flags are: default include path"
3291 echo " OpenGLES1 libs are: ${GLES1_LIBS}"
3293 PKG_ERR([No OpenGL-ES development package installed!])
3294 PKG_SUGGEST([You need to install the this from source probably])
3295 PKG_ALTERNATIVE([or use a different renderer with --enable-renderer=])
3299 dnl GLEXT is only needed for GTK/OpenGL
3300 if test x$build_gtk = xyes -a x$build_ogl = xyes ; then
3301 if test x"$GLEXT_LIBS" != x; then
3302 if test x"$GLEXT_CFLAGS" != x; then
3303 echo " GtkGLExt flags are: $GLEXT_CFLAGS"
3305 echo " GtkGLExt flags are: default include path"
3307 echo " GtkGLExt libs are: $GLEXT_LIBS"
3309 PKG_ERR([No GtkGLExt development package installed!])
3310 PKG_SUGGEST([It is needed to build the GTK/OpenGL GUI/renderer combination.])
3311 PKG_SUGGEST([Install it from http://gtkglext.sourceforge.net])
3312 DEB_INSTALL([libgtkglext1-dev])
3313 RPM_INSTALL([gtkglext-devel])
3314 PKG_ALTERNATIVE([or --enable-gui=sdl or --enable-renderer=agg])
3318 if test x$build_gtk = xyes; then #{
3319 if test x"$GTK2_LIBS" != x; then
3320 if test x"$GTK2_CFLAGS" != x; then
3321 echo " GTK2 flags are: $GTK2_CFLAGS"
3323 echo " GTK2 flags are: default include path"
3325 echo " GTK2 libs are: $GTK2_LIBS"
3327 PKG_ERR([No GTK2 development package installed!])
3328 PKG_SUGGEST([Install it from http://gtk.org])
3329 DEB_INSTALL([libgtk2.0-dev])
3330 RPM_INSTALL([gtk2-devel])
3333 if test x"$PANGO_LIBS" != x; then
3334 if test x"$PANGO_CFLAGS" != x; then
3335 echo " Pango flags are: $PANGO_CFLAGS"
3337 echo " Pango flags are: default include path"
3339 echo " Pango libs are: $PANGO_LIBS"
3341 PKG_ERR([No Pango development package installed!])
3342 PKG_SUGGEST([Install it from http://pango.org])
3343 DEB_INSTALL([libpango1.0-dev])
3344 RPM_INSTALL([pango-devel])
3347 if test x"$GLIB_LIBS" != x; then
3348 if test x"$GLIB_CFLAGS" != x; then
3349 echo " GLib flags are: $GLIB_CFLAGS"
3351 echo " GLib flags are: default include path"
3353 echo " GLib libs are: $GLIB_LIBS"
3355 PKG_ERR([No GLib development package installed!])
3356 PKG_SUGGEST([Install it from http://gtk.org])
3357 DEB_INSTALL([libglib2.0-dev])
3358 RPM_INSTALL([glib2-devel])
3361 if test x"$ATK_LIBS" != x; then
3362 if test x"$ATK_CFLAGS" != x; then
3363 echo " ATK flags are: $ATK_CFLAGS"
3365 echo " ATK flags are: default include path"
3367 echo " ATK libs are: $ATK_LIBS"
3369 PKG_ERR([No ATK development package installed!])
3370 PKG_SUGGEST([Install it from http://atk.org])
3371 DEB_INSTALL([libatk1.0-dev])
3372 RPM_INSTALL([atk-devel])
3377 if test x"$build_media_gst" = x"yes"; then
3378 if test x"$missing_codecs" != x; then
3379 echo " Your Gstreamer installation is missing these codecs: $missing_codecs"
3380 echo " Please install the gstreamer-ffmpeg for Gstreamer"
3382 if test x"$GSTREAMER_LIBS" != x; then
3383 if test x"$GSTREAMER_CFLAGS" != x; then
3384 echo " Gstreamer flags are: $GSTREAMER_CFLAGS"
3386 echo " Gstreamer flags are: default include path"
3388 echo " Gstreamer libs are: $GSTREAMER_LIBS"
3390 PKG_ERR([GST media handling requested but gstreamer-0.10+ not found])
3391 PKG_SUGGEST([Install it from http://www.gstreamer.net])
3392 DEB_INSTALL([libgstreamer0.10-dev])
3393 RPM_INSTALL([gstreamer-devel])
3394 YAST_INSTALL([gstreamer010-devel])
3396 if test x"$has_gstreamer_pbutils" != "xyes"; then
3397 PKG_REC([If the user has not installed the necessary Gstreamer plugins, Gstreamer can pop up a message prompting them to.])
3398 PKG_SUGGEST([Install gstpbutils (>= 0.10.15) from http://www.gstreamer.net for that to be enabled])
3399 DEB_INSTALL([libgstreamer-plugins-base0.10-dev])
3400 PKG_SUGGEST([or .rpm users: simply install the below package]) dnl TODO: Can/should this notice be done cleaner?
3401 PKG_SUGGEST([Also see --with-gstpbutils-incl and --with-gstpbutils-lib])
3403 if test x"$has_gstreamer_plugins_base" = "xno"; then
3404 dnl TODO: Check if this is really a mandatory asset!
3405 PKG_ERR([Base plugins are required for gstreamer media!])
3406 PKG_SUGGEST([Install gstreamer-plugins-base from http://www.gstreamer.net])
3407 DEB_INSTALL([libgstreamer-plugins-base0.10-dev])
3408 RPM_INSTALL([gstreamer-plugins-base-devel])
3412 dnl TODO: figure out some RPM package names.
3413 dnl TODO: The following tests is probably incorrect for any/older/exotic systems! Could someone experienced look at it?
3414 if test x"${build_media_ffmpeg}" = x"yes"; then
3415 if test x"$FFMPEG_LIBS" != x; then
3416 echo " MP3 and video support enabled through FFmpeg"
3417 if test x"$FFMPEG_CFLAGS" != x; then
3418 echo " FFmpeg flags are: $FFMPEG_CFLAGS"
3420 echo " FFmpeg flags are: default include path"
3422 echo " FFmpeg libs are: $FFMPEG_LIBS"
3424 PKG_ERR([No FFmpeg development package installed!])
3425 PKG_SUGGEST([You can install FFmpeg from http://ffmpeg.org])
3426 DEB_INSTALL([libavcodec-dev])
3427 RPM_INSTALL([ffmpeg-devel])
3428 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3431 if test x"${avformat_h}" = x; then
3432 PKG_ERR([FFmpeg's avformat header is installed but not libavformat!])
3433 PKG_SUGGEST([You can install FFmpeg from http://ffmpeg.org])
3434 DEB_INSTALL([libavformat-dev])
3435 YAST_INSTALL([libavformat-api]) dnl (but currently installs into /usr/lib64)
3436 PKG_ALTERNATIVE(or explicitly set the path using --with-ffmpeg-incl=)
3437 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3440 if test x"${have_ffmpeg_swscale}" = "xno"; then
3441 PKG_ERR([No libswscale development package installed!])
3442 PKG_SUGGEST([You can install libswscale from http://ffmpeg.org])
3443 DEB_INSTALL([libswscale-dev])
3444 PKG_ALTERNATIVE(or reconfigure with --enable-media=gst)
3448 if test x$build_cairo = xyes; then
3449 if test x"$CAIRO_LIBS" != x; then
3450 if test x"$CAIRO_CFLAGS" != x; then
3451 echo " Cairo flags are: $CAIRO_CFLAGS"
3453 echo " Cairo flags are: default include path"
3455 echo " Cairo libs are: $CAIRO_LIBS"
3457 PKG_ERR([No Cairo development package installed!])
3458 PKG_SUGGEST([You need to have the Cairo development package installed if you have used --enable-render=cairo to configure.])
3459 PKG_SUGGEST([Install it from http://cairographics.org])
3460 DEB_INSTALL([libcairo-dev])
3461 RPM_INSTALL([cairo-devel])
3465 if test x$build_fltk = xyes; then
3466 if test x"$FLTK2_LIBS" != x; then
3467 if test x"$FLTK2_CFLAGS" != x; then
3468 echo " FLTK flags are: $FLTK2_CFLAGS"
3470 echo " FLTK flags are: default include path"
3472 echo " FLTK libs are: $FLTK2_LIBS"
3474 PKG_ERR([No FLTK2 development package installed!])
3475 PKG_SUGGEST([Install it from http://fltk.org])
3476 PKG_ALTERNATIVE(or change to a different gui with --enable-gui=...)
3480 if test x$build_fltk = xyes; then
3481 if test x"$XFT_LIBS" != x; then
3482 if test x"$XFT_CFLAGS" != x; then
3483 echo " Xft flags are: $XFT_CFLAGS"
3485 echo " Xft flags are: default include path"
3487 echo " Xft libs are: $XFT_LIBS"
3491 # See whether SDL is required
3493 test x$build_sdl = xyes && need_sdl=true
3494 test x$build_sound_sdl = xyes && need_sdl=true
3497 if test x"$SDL_LIBS" != x; then
3498 echo " SDL flags are: $SDL_CFLAGS"
3499 echo " SDL libs are: $SDL_LIBS"
3501 PKG_ERR([No SDL development package installed!])
3502 PKG_SUGGEST([Install it from http://www.libsdl.org/download-1.2.php])
3503 DEB_INSTALL([libsdl1.2-dev])
3504 RPM_INSTALL([SDL-devel])
3505 PKG_ALTERNATIVE(or change to a different gui with --enable-gui=...)
3510 if test x"$nsapi" = x"yes"; then
3511 echo " Plugin will be installed in ${FIREFOX_PLUGINS}"
3514 if test x"${pthreads}" = x"yes"; then
3515 if test x"$PTHREAD_CFLAGS" != x; then
3516 echo " POSIX Threads flags are: $PTHREAD_CFLAGS"
3518 if test x"${PTHREAD_LIBS}" != x; then
3519 echo " POSIX Threads lib is: $PTHREAD_LIBS"
3521 if test x"${cross_compiling}" = xno; then
3522 echo "ERROR: No pthread development package installed!" >&3
3527 if test x"${docbook}" = x"yes"; then
3528 if test x"$MAKEINFO" = x; then
3529 PKG_ERR([No makeinfo tools installed!])
3530 PKG_SUGGEST([Install it from http://www.gnu.org/software/texinfo/])
3531 DEB_INSTALL([texinfo])
3532 RPM_INSTALL([texinfo])
3533 RPM_ALTERNATIVE([texinfo-tex])
3536 if test x"$DB2X_TEXIXML" = x -o x"$DB2X_MANXML" = x -o x"$DB2X_XSLTPROC" = x; then
3537 dnl high-level tools
3538 if test x"${DB2X_TEXI}" = x -o x"${DB2X_MAN}" = x; then
3539 PKG_ERR([No DocBook2X tools installed!])
3540 PKG_SUGGEST([Install it from http://docbook2x.sourceforge.net])
3541 dnl TODO: Could someone look at this and confirm the needed software is installed?
3542 dnl FIXME: I removed the texidocbook and docbook-utilsnfo packages as they are not on my system.
3543 DEB_INSTALL([docbook2x docbook-xml docbook-xsl texinfo xsltproc])
3544 PKG_ALTERNATIVE([or configure without --enable-docbook])
3547 echo " You have version $db2x_version of the DocBook2X tools."
3550 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.])
3553 if test x"$CURL_LIBS" != x; then
3554 if test x"$CURL_CFLAGS" != x; then
3555 echo " CURL flags are: $CURL_CFLAGS"
3557 echo " CURL flags are: default include path"
3559 echo " CURL libs are: $CURL_LIBS"
3561 PKG_REC([If you install the CURL library, Gnash will be able to display remote content (streaming from URLs) using CURL.])
3562 PKG_SUGGEST([Install libcurl from http://curl.haxx.se/libcurl])
3563 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?
3564 DEB_ALTERNATIVE([libcurl-dev])
3565 RPM_INSTALL([curl-devel])
3568 if test x"$SPEEX_LIBS" != x; then
3569 if test x"$SPEEX_CFLAGS" != x; then
3570 echo " Speex flags are: $SPEEX_CFLAGS"
3572 echo " Speex flags are: default include path"
3574 echo " Speex libs are: $SPEEX_LIBS"
3576 PKG_REC([If you install the Speex library, Gnash will be able to decoded Speex encoded audio in FLV files.])
3577 PKG_SUGGEST([Install libspeex from http://speex.org])
3578 DEB_INSTALL([libspeex-dev])
3579 RPM_INSTALL([speex-devel])
3582 if test x"$SPEEXDSP_LIBS" != x; then
3583 if test x"$SPEEXDSP_CFLAGS" != x; then
3584 echo " Speex DSP flags are: $SPEEXDSP_CFLAGS"
3586 echo " Speex DSP flags are: default include path"
3588 echo " Speex DSP libs are: $SPEEXDSP_LIBS"
3590 PKG_REC([If you install the Speex DSP library, Gnash will be able to resample Speex encoded audio in FLV files.])
3591 PKG_SUGGEST([Install libspeexdsp from http://speex.org])
3592 DEB_INSTALL([libspeexdsp-dev])
3593 RPM_INSTALL([speex-devel])
3596 if test x"$ext_dbus" = xyes; then
3597 if test x"$DBUS_LIBS" != x; then
3598 if test x"$DBUS_CFLAGS" != x; then
3599 echo " DBUS flags are: $DBUS_CFLAGS"
3601 echo " DBUS flags are: default include path"
3603 echo " DBUS libs are: $DBUS_LIBS"
3605 PKG_WAR([No DBUS development package was found! Gnash will be built without support for remote controls.])
3606 PKG_SUGGEST([Install libdbus from http://www.dbus.org])
3607 DEB_INSTALL([dbus-dev])
3608 DEB_ALTERNATIVE([libdbus-1-dev])
3609 RPM_INSTALL([dbus-devel])
3613 if test x$build_agg = xyes; then # {
3614 echo " AGG Pixel format is: $pixelformat"
3615 if test x"$AGG_LIBS" != x -a x"${agg25}" == xyes; then # {
3616 if test x"$AGG_CFLAGS" != x; then # {
3617 echo " AGG flags are: $AGG_CFLAGS"
3619 echo " AGG flags are: default include path"
3621 echo " AGG libs are: $AGG_LIBS"
3623 if test x"$AGG_LIBS" != x -a x"${agg25}" != xyes; then
3624 PKG_ERR([Your installation of AGG appears to be version 2.4 or older. Please upgrade to AGG 2.5 or greater.])
3626 PKG_ERR([No AGG development package installed!])
3628 PKG_SUGGEST([Install it from http://www.antigrain.com])
3629 DEB_INSTALL([libagg-dev])
3630 RPM_INSTALL([agg-devel])
3634 dnl TODO: This package is handled a bit stupidly in regard to the package
3635 dnl suggestion system. It would be better to check for each package
3636 dnl separately, instead of passing the missing ones in variables..
3637 if test x"$BOOST_LIBS" != x; then
3638 echo " BOOST flags are: $BOOST_CFLAGS"
3639 echo " BOOST libs are: $BOOST_LIBS"
3640 echo " BOOST libs for cygnal are: $BOOST_CYGNAL_LIBS"
3642 if test x"${missing_headers}" != x; then
3643 for i in ${missing_headers}; do
3644 PKG_ERR([The Boost $i header is not installed])
3645 PKG_SUGGEST([Install it from http://www.boost.org])
3649 if test x"${cygnal}" = x"yes"; then
3650 if test x"${cygnal_missing_libs}" != x; then
3651 for i in ${cygnal_missing_libs}; do
3652 PKG_ERR([No Boost $i package installed])
3653 PKG_SUGGEST([Install it from http://www.boost.org])
3654 debtmppkg="libboost-`echo ${i} | sed 's/_/-/g'`-dev"
3655 DEB_INSTALL([$debtmppkg])
3656 PKG_ALTERNATIVE([or configure with --disable-cygnal])
3661 if test x"${missing_libs}" != x; then
3662 for i in ${missing_libs}; do
3663 PKG_ERR([No Boost $i package installed])
3664 PKG_SUGGEST([Install it from http://www.boost.org])
3665 debtmppkg="libboost-`echo ${i} | sed 's/_/-/g'`-dev"
3666 DEB_INSTALL([$debtmppkg])
3670 PKG_ERR([No Boost development package installed])
3671 PKG_SUGGEST([Install it from http://www.boost.org])
3672 dnl I am not sure that libboost-program-options-dev should be passed here, but
3673 dnl it seems like the cleanest way to get it.
3674 if test x"$cygnal" = xyes; then
3675 DEB_INSTALL([libboost-dev libboost-thread-dev libboost-program-options-dev libboost-date-time-dev])
3677 DEB_INSTALL([libboost-dev libboost-thread-dev libboost-program-options-dev])
3679 RPM_INSTALL([boost-devel])
3682 dnl don't look for the flash compilers when cross compiling.
3683 if test x"$testsuite" = x"yes"; then
3684 if test x$cross_compiling = xno; then
3685 if test x"$MING_LIBS" != x; then
3686 echo " MING flags are $MING_CFLAGS"
3687 echo " MING libs are $MING_LIBS"
3689 PKG_WAR([You need to have the Ming development package installed to run most of the tests in Gnash testsuite.])
3690 PKG_SUGGEST([Install it from http://www.libming.org/])
3691 DEB_INSTALL([libming-dev])
3692 RPM_INSTALL([libming-devel])
3695 if test x"$MAKESWF" != x; then
3696 echo " MING version code is $MING_VERSION_CODE"
3697 echo " MAKESWF is $MAKESWF"
3699 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.])
3700 PKG_SUGGEST([Install it from http://www.libming.org/])
3701 DEB_INSTALL([libming-util])
3702 RPM_INSTALL([ming-util])
3703 RPM_ALTERNATIVE([ming-utils])
3706 if test x"$MAKESWF" != x && test $MING_VERSION_CODE -lt 00040006; then
3707 echo " WARNING: You have an older version of Ming installed and will not" >&4
3708 echo " be able to run all of the tests in Gnash testsuite." >&4
3709 echo " Install the latest version from http://www.libming.org" >&4
3712 if test x"$SWFDEC_TESTSUITE" != x; then
3713 echo " SWFDEC testsuite dir is $SWFDEC_TESTSUITE"
3716 if test x"$MTASC" != x; then
3717 echo " MTASC is $MTASC"
3718 echo " MTASC CLASSPATH is $MTASC_CLASSPATH"
3720 PKG_WAR([You need to have the MTASC compiler packages installed to run some of the tests in Gnash testsuite.])
3721 PKG_SUGGEST([Install it from http://mtasc.org])
3722 DEB_INSTALL([mtasc])
3723 RPM_INSTALL([mtasc])
3726 if test x"$HAXE" != x; then
3727 echo " HAXE is $HAXE"
3728 echo " HAXE CLASSPATH is $HAXE_CLASSPATH"
3730 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.])
3731 PKG_SUGGEST([Install it from http://haxe.org])
3736 if test x"$SWFMILL" != x; then
3737 echo " SWFMILL is $SWFMILL"
3738 if test x"$ENABLE_AVM2" != x -a "$SWFMILL_VERSION" -lt 00021206; then
3739 PKG_WAR([You are building Gnash with AVM2 support but your swfmill version is too old to run AS3 tests.])
3742 PKG_WAR([You need to have the swfmill tool installed to run some of the tests in Gnash testsuite.])
3743 PKG_SUGGEST([Install it from http://swfmill.org])
3744 DEB_INSTALL([swfmill])
3745 RPM_INSTALL([swfmill])
3748 if test x"$SWFC" != x; then
3749 echo " SWFC is $SWFC"
3751 PKG_WAR([You need to have swfc from SWFTools installed to run some of the tests in Gnash testsuite.])
3752 PKG_SUGGEST([Install it from http://swftools.org])
3753 DEB_INSTALL([swftools])
3754 RPM_INSTALL([swftools])
3757 if test x"$AS3COMPILE" != x; then
3758 echo " AS3COMPILE is $AS3COMPILE"
3760 PKG_WAR([You need to have as3compile from SWFTools installed to run some of the tests in Gnash testsuite.])
3761 PKG_SUGGEST([Install it from http://swftools.org])
3764 if test x"$HTTP_TESTSUITE" != x; then
3765 echo " HTTP testsuite dir is $HTTP_TESTSUITE"
3768 if test x"$RED5_HOST" != x; then
3769 echo " RED5 testing host is $RED5_HOST"
3774 if test x"$PERL" != x; then
3775 echo " PERL is $PERL"
3777 PKG_WAR([You need to have perl installed to run some of the tests in Gnash testsuite.])
3778 PKG_SUGGEST([Install it from http://perl.org])
3783 if test x"$testsuite" = x"yes"; then
3784 if test x"$CSOUND" != x; then
3785 echo " CSOUND is $CSOUND"
3787 echo " WARNING: You need to have csound installed" >&4
3788 echo " to have real fun." >&4
3789 echo " Install it from http://www.csounds.com/" >&4
3790 echo " or .deb users: apt-get install csound" >&4
3791 echo " or .rpm users: yum install csound" >&4
3795 if test x"$Z_LIBS" != x; then
3796 if test x"$Z_CFLAGS" != x; then
3797 echo " Z flags are: $Z_CFLAGS"
3799 echo " Z flags are: default include path"
3801 echo " Z libs are: $Z_LIBS"
3803 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.])
3804 PKG_SUGGEST([Install it from http://zlib.net])
3805 DEB_INSTALL([zlib1g-dev])
3806 RPM_INSTALL([zlib-devel])
3807 PKG_ALTERNATIVE([It may still be possible to configure without zlib.])
3810 if test x"$FREETYPE2_LIBS" != x; then
3811 if test x"$FREETYPE2_CFLAGS" != x; then
3812 echo " FreeType flags are: $FREETYPE2_CFLAGS"
3814 echo " FreeType flags are: default include path"
3816 echo " FreeType libs are: $FREETYPE2_LIBS"
3818 PKG_REC([You need to have the freetype development packages installed to use device fonts.])
3819 PKG_SUGGEST([Install it from http://freetype.org])
3820 DEB_INSTALL([libfreetype6-dev])
3821 RPM_INSTALL([freetype-devel])
3822 PKG_ALTERNATIVE([It may still be possible to configure without freetype.])
3825 if test x"$FONTCONFIG_LIBS" != x; then
3826 if test x"$FONTCONFIG_CFLAGS" != x; then
3827 echo " Fontconfig flags are: $FONTCONFIG_CFLAGS"
3829 echo " Fontconfig flags are: default include path"
3831 echo " Fontconfig libs are: $FONTCONFIG_LIBS"
3833 PKG_REC([You need to have the fontconfig development packages installed to use device fonts.])
3834 PKG_SUGGEST([Install it from http://fontconfig.org])
3835 DEB_INSTALL([libfontconfig1-dev])
3836 RPM_INSTALL([fontconfig-devel])
3837 PKG_ALTERNATIVE([It may still be possible to configure without fontconfig.])
3840 if test x$ext_mysql = xyes; then
3841 if test x$mysql != xno; then
3842 if test x"$MYSQL_LIBS" != x; then
3843 echo " MYSQL flags are: $MYSQL_CFLAGS"
3844 echo " MYSQL libs are: $MYSQL_LIBS"
3846 PKG_ERR([No MySQL development package is installed.])
3847 PKG_SUGGEST([Install it from http://mysql.org])
3848 DEB_INSTALL([libmysqlclient-dev])
3849 RPM_INSTALL([mysql-devel])
3850 PKG_ALTERNATIVE([or reconfigure without --enable-extensions=mysql])
3855 if test "$GMSGFMT" = ":"; then
3856 PKG_WAR([You need the gettext package installed to use translations. Required for building a package or 'make distcheck'])
3857 PKG_SUGGEST([Install it from http://www.gnu.org/software/gettext/])
3858 DEB_INSTALL([gettext])
3859 RPM_INSTALL([gettext])
3862 if test x"${build_vaapi}" = x"yes"; then
3863 if test x"${LIBVA_CFLAGS}" = xyes; then
3864 echo " LIBVA flags are: default"
3866 echo " LIBVA flags are: $LIBVA_CFLAGS"
3867 echo " LIBVA libraries are: $LIBVA_LIBS"
3869 if test x$use_libva_x11 = xyes; then
3870 if test x"${LIBVA_X11_CFLAGS}" = xyes; then
3871 echo " LIBVA X11 flags are: default"
3873 echo " LIBVA X11 flags are: $LIBVA_X11_CFLAGS"
3874 echo " LIBVA X11 libraries are: $LIBVA_X11_LIBS"
3877 if test x$use_libva_glx = xyes; then
3878 if test x"${LIBVA_GLX_CFLAGS}" = xyes; then
3879 echo " LIBVA GLXflags are: default"
3881 echo " LIBVA GLX flags are: $LIBVA_GLX_CFLAGS"
3883 echo " LIBVA GLX libraries are: $LIBVA_GLX_LIBS"
3887 if test x"$ac_cv_gcc_visibility" != xyes; then
3888 if test x"$npapi" = xyes; then
3889 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!])
3893 if test x"$npapi" = xyes; then
3894 if test x"$has_npapi" = xyes; then
3895 echo " NPAPI flags are: $NPAPI_CFLAGS"
3897 PKG_ERR([No xulrunner development package is installed!])
3898 PKG_SUGGEST([Install it from http://releases.mozilla.org/pub/mozilla.org/xulrunner])
3899 DEB_INSTALL([xulrunner-dev])
3900 RPM_INSTALL([xulrunner-devel])
3903 echo " NPAPI plugin is disabled"
3906 if test x"${DEJAGNU}" != x""; then
3907 echo " DEJAGNU's runtest is $DEJAGNU"
3909 PKG_WAR([You need the dejagnu package installed to get a summary after running 'make check'.])
3910 PKG_SUGGEST([Install it from http://www.gnu.org/software/dejagnu/])
3911 DEB_INSTALL([dejagnu])
3912 RPM_INSTALL([dejagnu])
3916 if test x"${build_haiku}" = xyes -o x"${build_sound_mkit}" = xyes -o x"${build_media_haiku}" = x"yes"; then
3917 echo " Haiku libs are: $HAIKU_LIBS"
3920 if test x"$has_ltdl" = x"yes";then
3921 echo " LIBLTDL flags are: $LTDL_CFLAGS"
3922 echo " LIBLTDL libs are: $LTDL_LIBS"
3924 if test x"${extensions_support}" != xno; then
3925 PKG_ERR([No libltdl development package is installed, yet --disable-extensions was not specified.])
3926 PKG_SUGGEST([Install it from ftp://ftp.gnu.org/gnu/libtool/])
3927 DEB_INSTALL([libltdl-dev])
3928 RPM_INSTALL([libtool-ltdl-devel])
3932 if test x"$python" = x"yes"; then
3933 if test x"$has_python" = x"yes"; then
3934 echo " PYTHON flags are: $PYTHON_CFLAGS"
3935 echo " PYTHON libs are: $PYTHON_LIBS"
3936 echo " PYTHON executable is: $PYTHON"
3938 PKG_ERR([No Python development package is installed, but it's enabled.])
3941 if test x${build_ssl} = xyes; then
3942 if test x"${has_ssl}" = xyes; then
3943 if test x"${SSL_CFLAGS}" = xyes; then
3944 echo " SSL flags are: default"
3946 echo " SSL flags are: $SSL_CFLAGS"
3948 echo " SSL libs are: $SSL_LIBS"
3950 PKG_ERR([No SSL development package is installed, but it's enabled."])
3954 if test x${build_ssh} = xyes; then
3955 if test x"${has_ssh}" = xyes; then
3956 if test x"${SSH_CFLAGS}" = xyes; then
3957 echo " SSH flags are: default"
3959 echo " SSH flags are: $SSH_CFLAGS"
3961 echo " SSH libs are: $SSH_LIBS"
3963 PKG_ERR([No SSH development package is installed, but it's enabled."])
3967 if test x"${build_all_as3}" = x"yes"; then
3968 echo " Building the entire ActionScript class libary"
3970 echo " Only building these ActionScript classes into the library:"
3971 echo " ${classlist}"
3974 if test x"$testsuite" = x"yes"; then
3975 if test x"$NETCAT" != x; then
3976 echo " You have netcat installed, which is only used for testing"
3978 echo " Install netcat for networking test support"
3980 if test x"$WGET" != x; then
3981 echo " You have wget installed, which is only used for testing"
3983 echo " Install wget for networking test support"
3987 if test x$cross_compiling = xyes; then
3988 if test x"${android_ndk}" != xno; then
3989 AC_MSG_NOTICE([This build is setup for cross compiling for Android])
3991 AC_MSG_NOTICE([This build is setup for cross compiling])
3997 if test x"${cygnal}" = x"yes"; then
3998 echo " Building Cygnal media server enabled (default). Use --disable-cygnal to disable."
4000 echo " Building Cygnal media server disabled."
4003 if test x"${with-top_level}" != x; then
4004 echo " Top level for cross compiling support files is: $with_top_level"
4007 if test x"${build_gtk}" = xyes -a x"${pixelformat}" = xrgb565; then
4008 echo " WARNING: Pixel format RGB565 selected in combination with the" >&4
4009 echo " GTK GUI. Only a hacked GTK will work (e.g. on the OLPC)." >&4
4012 if test x"${extensions_list}" != x; then
4013 echo " Building extensions: ${extensions_list}"
4016 if test x"${extensions_support}" = xno; then
4017 echo " Extension support disabled."
4020 if test x"${security_list}" != x; then
4021 echo " Enabling security features: ${security_list}"
4024 if test x"${statistics_list}" != x; then
4025 echo " Enabling statistics collecting for: ${statistics_list}"
4028 if test x"${SUPPORTED_GUIS}" = x; then
4029 AC_MSG_ERROR(no supported GUIs found);
4032 echo " GUI toolkits supported: ${SUPPORTED_GUIS}"
4033 echo " Renderers supported: ${renderer_list}"
4034 echo " Hardware Acceleration: ${device_list}"
4035 echo " Media handlers: ${media_list}"
4036 echo " Using ${add_sound} for sound handling"
4037 echo " Using $with_shm mode for shared memory"
4039 if test x"$docbook" = x"yes"; then
4040 echo ' DocBook document processing enabled (for "make html" and "make pdf")'
4041 if test x"$docbook_styles" != x; then
4042 echo " Docbook styles sheets in $docbook_styles"
4045 echo " DocBook document processing disabled (default)"
4048 dnl The Framebuffer GUI has several other settings. As it doesn't have X11,
4049 dnl we have to handle input devics ourselves.
4050 if test x"${build_fb}" = xyes; then
4051 echo " Using ${input_events} for Input"
4052 if test x"${fakefb}" != x; then
4053 echo " Using shared memory as a fake framebuffer"
4055 if test x"${offscreen}" = xyes; then
4056 echo " Using offscreen rendering"
4058 if test x"${doublebuf}" = xyes; then
4059 echo " Using double buffering when rendering"
4063 if test -s $cwarn; then
4068 echo "Gnash should still compile even with these warnings."
4069 echo "If it doesn't, report the warnings as a bug."
4074 if test -s $crec; then
4079 echo "Gnash should still compile, but you'll miss important support"
4084 if test -s $cerr; then
4089 deb_err="`cat $deb_err`"
4090 deb_war="`cat $deb_war`"
4091 deb_rec="`cat $deb_rec`"
4092 rpm_err="`cat $rpm_err`"
4093 rpm_war="`cat $rpm_war`"
4094 rpm_rec="`cat $rpm_rec`"
4095 yast_err="`cat $yast_err`"
4096 yast_war="`cat $yast_war`"
4097 yast_rec="`cat $yast_rec`"
4099 # Pipe stderr to /dev/null since Fedora complains when target isn't there.
4100 if test x`which apt-get 2>/dev/null` != x; then
4101 if test x"$deb_err" != x -o x"$deb_war" != x -o x"$deb_rec" != x; then
4102 echo "#!/bin/sh" > deb-attempt-install-dependencies.sh
4103 echo "packages=\"$deb_err $deb_war $deb_rec\"" >> deb-attempt-install-dependencies.sh
4104 echo "PKGCOMMAND=\"apt-get install -y -q\"" >> deb-attempt-install-dependencies.sh
4105 cat ${srcdir}/base-attempter.sh >> deb-attempt-install-dependencies.sh
4106 chmod +x deb-attempt-install-dependencies.sh
4108 echo ".deb users might be able to install most dependencies by executing:"
4109 echo "sudo ./deb-attempt-install-dependencies.sh"
4113 if test x`which yum 2>/dev/null` != x; then
4114 if test x"$rpm_err" != x -o x"$rpm_war" != x -o x"$deb_rec" != x; then
4115 echo "#!/bin/sh" > rpm-attempt-install-dependencies.sh
4116 echo "packages=\"$rpm_err $rpm_war $rpm_rec\"" >> rpm-attempt-install-dependencies.sh
4117 echo "PKGCOMMAND=\"yum install -y \"" >> rpm-attempt-install-dependencies.sh
4118 cat ${srcdir}/base-attempter.sh >> rpm-attempt-install-dependencies.sh
4119 chmod +x rpm-attempt-install-dependencies.sh
4121 echo ".rpm users might be able to install most dependencies by executing:"
4122 echo "sudo ./rpm-attempt-install-dependencies.sh"
4126 dnl TODO: Add support for yast here, which AFAIK is used on OpenSuse.
4128 dnl If anything critical is missing, don't bother to continue
4129 if test -s $cerr; then
4132 AC_MSG_ERROR([Please install required packages])
4139 if test x"$fork" = x"no"; then
4141 AC_MSG_ERROR([Currently only forking the standalone player works!])
4148 # indent-tabs-mode: nil