Include program counter on action limit notification log
[gnash.git] / configure.ac
blob0fda29b068151e77e553b31314cd7a3e13a1c918
1 dnl  
2 dnl  Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
3 dnl  
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.
8 dnl  
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
16 dnl  
18 AC_PREREQ(2.59c)
19 AC_INIT(gnash, 0.8.9dev)
20 AC_CONFIG_SRCDIR([libcore/as_object.h])
21 AC_CONFIG_HEADERS([gnashconfig.h])
22 AC_CONFIG_MACRO_DIR([macros])
24 AC_CANONICAL_BUILD
25 AC_CANONICAL_HOST
27 dnl --------------------------------------------------------
28 dnl Figure out development tool stuff
29 dnl --------------------------------------------------------
31 AC_PROG_CC
32 AC_PROG_CXX
33 AC_EXEEXT
34 AC_PROG_INSTALL
35 AM_COMPILER_LIB
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
52 case "${host}" in
53   *-apple-*)
54     DEFAULT_FLASH_PLATFORM_ID="MAC"
55     DEFAULT_FLASH_SYSTEM_OS="MacOS"
56     ;;
57   *-openbsd*)
58     DEFAULT_FLASH_PLATFORM_ID="BSD"
59     DEFAULT_FLASH_SYSTEM_OS="OpenBSD"
60     ;;
61   *-freebsd* | *-kfreebsd*)
62     DEFAULT_FLASH_PLATFORM_ID="BSD"
63     DEFAULT_FLASH_SYSTEM_OS="FreeBSD"
64     ;;
65   *-netbsd*)
66     DEFAULT_FLASH_PLATFORM_ID="BSD"
67     DEFAULT_FLASH_SYSTEM_OS="NetBSD"
68     ;;
69   *-linux-gnu)
70     DEFAULT_FLASH_PLATFORM_ID="LNX"
71     DEFAULT_FLASH_SYSTEM_OS="GNU/Linux"
72     ;;
73   *-linux*)
74     DEFAULT_FLASH_PLATFORM_ID="LNX"
75     DEFAULT_FLASH_SYSTEM_OS="Linux"
76     ;;
77   *-cygwin* | *-mingw* | *-pw32*)
78     DEFAULT_FLASH_PLATFORM_ID="WIN"
79     DEFAULT_FLASH_SYSTEM_OS="Windows"
80     ;;
81   *-*solaris*)
82     DEFAULT_FLASH_PLATFORM_ID="SUN"
83     DEFAULT_FLASH_SYSTEM_OS="Solaris"
84     ;;
85   *-os2*)
86     DEFAULT_FLASH_PLATFORM_ID="OS2"
87     DEFAULT_FLASH_SYSTEM_OS="OS/2"
88     ;;
89   *-sco*)
90     DEFAULT_FLASH_PLATFORM_ID="SCO"
91     DEFAULT_FLASH_SYSTEM_OS="SCO/Unix"
92     ;;
93   *-irix*)
94     DEFAULT_FLASH_PLATFORM_ID="IRX"
95     DEFAULT_FLASH_SYSTEM_OS="IRIX"
96     ;;
97   *-hpux*)
98     DEFAULT_FLASH_PLATFORM_ID="HPX"
99     DEFAULT_FLASH_SYSTEM_OS="HPUX"
100     ;;    
101   *-amigaos*)
102     DEFAULT_FLASH_PLATFORM_ID="OS4"
103     DEFAULT_FLASH_SYSTEM_OS="AmigaOS4"
104     ;;    
105   *-haiku*)
106     DEFAULT_FLASH_PLATFORM_ID="HAIKU"
107     DEFAULT_FLASH_SYSTEM_OS="Haiku"
108     ;;    
109   *-gnu*)
110     DEFAULT_FLASH_PLATFORM_ID="GNU"
111     DEFAULT_FLASH_SYSTEM_OS="GNU/HURD"
112     ;;    
113   *)
114     DEFAULT_FLASH_PLATFORM_ID="UNK"
115     DEFAULT_FLASH_SYSTEM_OS="Unknown"
116     ;;
117 esac
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.
135 case "${host}" in
136   powerpc-apple-darwin*)
137     AC_DEFINE([__powerpc64__], [1], [this is a 64 bit powerpc])
138     darwin=yes
139     AC_DEFINE([DARWIN_HOST], [1], [this is a Darwin platform])
140     ;;
141   *-apple-darwin*)
142     darwin=yes
143     AC_DEFINE([DARWIN_HOST], [1], [this is a Darwin platform])
144     ;;
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.
148   *-openbsd*)
149     bsd=yes
150     openbsd=yes
151     AC_DEFINE([OPENBSD_HOST], [1], [this is an OpenBSD platform])
152     ;;
153   *-freebsd* | *-kfreebsd*)
154     bsd=yes
155     freebsd=yes
156     AC_DEFINE([FREEBSD_HOST], [1], [this is a FreeBSD platform])
157     ;;
158   *-netbsd*)
159     bsd=yes
160     netbsd=yes
161     AC_DEFINE([NETBSD_HOST], [1], [this is a NetBSD platform])
162     ;;
163   *-*solaris*)
164     solaris=yes
165     AC_DEFINE([SOLARIS_HOST], [1], [this is a Solaris platform])
166     ;;
167   *-*linux*)
168     linux=yes
169     AC_DEFINE([LINUX_HOST], [1], [this is a Linux platform])
170     ;;
171   *-cygwin* | *-mingw* | *-pw32*)
172     windows=yes
173     AC_DEFINE([WIN32_HOST], [1], [this is a Win32 platform])
174     ;;
175   *64-*-*bsd*)
176     bsd_os=bsd 
177     AC_DEFINE([WORDSIZE], [64], [this is a 64 platform])
178     ;;
179   *-*amigaos*)
180     amigaos4=yes
181     AC_DEFINE([AMIGAOS4_HOST], [1], [this is an AmigaOS4 platform])
182     ;;
183   *-*haiku*)
184     haiku=yes
185     AC_DEFINE([HAIKU_HOST], [1], [this is a Haiku platform])
186     ;;
187   *-gnu*)
188     gnu=yes
189     AC_DEFINE([GNU_HOST], [1], [this is a GNU platform])
190     ;;
191 esac
194 AM_CONDITIONAL(PLUGIN_LINK_UNDEFINED, test x$openbsd_os = xopenbsd)
195 AM_CONDITIONAL(WIN32, test x$windows = xyes)
196 AM_CONDITIONAL(HAIKU, test x$haiku = xyes)
197 AM_CONDITIONAL(AMIGAOS4, test x$amigaos4 = xyes)
199 dnl Get build date for helping us debugging
200 BUILDDATE="`date +%Y%m%d`"
201 AC_SUBST(BUILDDATE)
203 dnl These are required by automake
204 dnl AM_INIT_AUTOMAKE(gnash, "trunk$BUILDDATE")
205 AM_INIT_AUTOMAKE
206 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
207 AM_MAINTAINER_MODE
208 AC_PROG_MAKE_SET
210 dnl AC_DISABLE_STATIC dnl Disable building static libs.
212 AM_GNU_GETTEXT([external])
213 AM_CONDITIONAL(HAS_GETTEXT, test x$ac_cv_path_XGETTEXT != x)
214 dnl AM_GNU_GETTEXT_VERSION(0.15)
216 dnl Many of the Gnash macros depend on gettext macros defining shlibext; recent
217 dnl gettext however does not.
218 if test x"${shlibext}" = x; then
219   if test x"${acl_cv_shlibext}" = x; then
220     echo "Gettext macros were supposed to define shared library extensions"
221     exit 1;
222   else
223     shlibext="${acl_cv_shlibext}"
224   fi
227 dnl This is primarily used when compiling for a similar architecture,
228 dnl like pentium->geode, which can use the same compiler, but have
229 dnl different development libraries.
231 dnl I want to deprecate this option for the new sysroot name to be
232 dnl consistant with other tools. This will be left for a while as 
233 dnl a transistion.
234 AC_ARG_WITH(top_level,
235   AC_HELP_STRING([--with-top-level],
236   [top level directory for cross compiling files]),
237   with_top_level=${withval} ;
238   cross_compiling=yes)
240 AC_ARG_WITH(sysroot,
241   AC_HELP_STRING([--with-sysroot],
242   [system root directory for cross compiling]),
243   with_top_level=${withval} ;
244   cross_compiling=yes)
246 dnl Android is a little different when using a standard cross toolchain,
247 dnl so we have to configure especially for it for now. Usually it's
248 dnl something like this:
250 dnl arm-linux-eabi-gcc -Wl,--dynamic-linker -Wl,/system/bin/linker
251 dnl -nostdlib -Wl,-rpath -Wl,/system/lib -Wl,-rpath
252 dnl -Wl,/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
253 dnl -L/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
254 dnl -lc -o hello
255 dnl  /opt/android-ndk-r3/build/platforms/android-3/arch-arm/usr/lib/crtbegin_dynamic.o
256 dnl Recent versions of G++ (I'm using 4.5 from source
257 android_ndk=no
258 AC_ARG_WITH([android],
259   AC_HELP_STRING([--with-android], [directory where android NDK is installed]),
260         android_ndk=${withval}
261         if test x"${withval}" != x; then
262           android_ndk=${withval}
263         else
264           android_ndk=/opt/android-ndk-r3/build/platforms/android-5/arch-arm
265         fi
267 CROSS_CXXFLAGS=
268 if test x"${android_ndk}" != xno; then
269 dnl  LDFLAGS=-Wl,--dynamic-linker -Wl,/system/bin/linker -nostdlib -Wl,-rpath -Wl,/system/lib -Wl,-rpath -Wl,${android_ndk}/usr/lib -L${android_ndk}/usr/lib -lc -o hello ${android_ndk}/usr/lib/crtbegin_dynamic.o
270 dnl  CROSS_CXXFLAGS=-mandroid -fexceptions -I${android_ndk}/include
271   CROSS_CXXFLAGS=-mandroid -fexceptions
272   if test x"${with_top_level}" = x; then
273     with_top_level=/usr/local/android-arm/sysroot/usr
274     cross_compiling=yes
275   fi
276   ANDROID_NDK=${android_ndk}
277   AC_DEFINE(ANDROID, [1], [This is an Android build])
278 else
279   ANDROID_NDK=
281 AC_SUBST(ANDROID_NDK)
282 AM_CONDITIONAL(ANDROID, [ test x"${android_ndk}" != xno ])
284 AC_ARG_WITH(cpu,
285   AC_HELP_STRING([--with-cpu],[specify a cpu when cross compiling.]),
286   [case "${withval}" in
287     geode) with_cpu=geode ;;
288     *)   AC_MSG_ERROR([bad value ${enableval} for --with-cpu option]) ;;
289    esac],with_cpu=none)
291 if test x"$with_cpu" != x"none"; then
292 dnl   $CXXFLAGS="$CXXFLAGS -march=${with_cpu}"
293    cross_compiling=yes
296 AC_C_BIGENDIAN
297 AC_C_CONST
298 AC_C_INLINE
300 AM_CONDITIONAL(ENABLE_SHARED, [test x"${enable_shared}" = xyes])
301 AM_CONDITIONAL(ENABLE_STATIC, [test x"${enable_shared}" = xno])
302 dnl -- AM_CONDITIONAL(STATIC_GUI, test x"${dynamic_gui}" = xno -o x"${enable_shared}" = xno)
304 AC_PATH_PROG(DEJAGNU, runtest)
306 dnl AC_CHECK_LIB(ltdl, lt_dlmutex_register, AC_DEFINE(LT_DLMUTEX, 1, [Has lt_dlmutex_register]),
307 dnl                                         AC_DEFINE(LT_DLMUTEX, 0, [doesn't have lt_dlmutex_register]) )
309 dnl These options are for Cygnal, which collects optional statistics
310 dnl on all the network traffic By default, we turn on statistics
311 dnl collecting for the incoming and outgoing queues, since those are
312 dnl required to be compatiable with FMS 3, and the ActionScript server
313 dnl management API. buffers are the lowest level data storage, this
314 dnl data is the time spent in the queue, and is primarily only used
315 dnl for tuning the queueing API in Gnash. Memoryis the same, it's only
316 dnl used by developers for tuning performance of memory allocations in
317 dnl Gnash.
318 buffers=no
319 que=no
320 memory=no
321 cache=yes
322 stat_proplookup=no
323 AC_ARG_WITH(statistics,
324   AC_HELP_STRING([--with-statistics=], [Specify which statistics features to enable]),
325   if test -n ${withval}; then
326     if test "x${withval}" != "xno"; then
327       extlist="${withval}"
328       withval=`echo ${withval} | tr '\054' ' ' `
329     else
330       extlist=""
331       withval=""
332     fi
333   fi
334   statistics_list=""
335   nstatistics=0
336   while test -n "${withval}" ; do
337     val=`echo ${withval} | cut -d ' ' -f 1`
338     [case "${val}" in
339       buffers)
340         buffers=yes
341         nstatistics=$((nstatistics+1))
342         ;;
343       que)
344         que=yes
345         nstatistics=$((nstatistics+1))
346         ;;
347       memory)
348         memory=yes
349         nstatistics=$((nstatistics+1))
350         ;;
351       cache)
352         cache=yes
353         nstatistics=$((nstatistics+1))
354         ;;
355       proplookup)
356         stat_proplookup=yes
357         nstatistics=$((nstatistics+1))
358         ;;
359       all|ALL)
360         buffers=yes
361         memory=yes
362         queu=yes
363         cache=yes
364         stat_proplookup=yes
365         nstatistics=5           dnl this must be incremented if you add anything
366         ;;
367       *) AC_MSG_ERROR([invalid statistics feature specified: ${withval} given (accept: buffers|que|memory|cache|proplookup|all)])
368         ;;
369       esac]
370     withval=`echo ${withval} | cut -d ' ' -f 2-6`
371     if test "x$val" = "x$withval"; then
372       break;
373     fi
374   done
376 if test x${buffers} = xyes; then
377   statistics_list="${statistics_list} buffers"
378   AC_DEFINE(USE_STATS_BUFFERS, [1], [Support statistics collecting for the queue buffers])
379   AC_MSG_WARN([This option will effect your performance])
382 if test x${memory} = xyes; then
383   statistics_list="${statistics_list} memory"
384   AC_DEFINE(USE_STATS_MEMORY, [1], [Support statistics collecting for all memory profiling])
385   AC_MSG_WARN([This option will effect your performance])
388 if test x${que} = xyes; then
389   statistics_list="${statistics_list} queues"
390   AC_DEFINE(USE_STATS_QUEUE, [1], [Support statistics collecting for the queues])
393 if test x${cache} = xyes; then
394   statistics_list="${statistics_list} cache"
395   AC_DEFINE(USE_STATS_CACHE, [1], [Support statistics collecting for the cache])
398 if test x${stat_proplookup} = xyes; then
399   statistics_list="${statistics_list} proplookup"
400   AC_DEFINE(GNASH_STATS_OBJECT_URI_NOCASE, [1], [Collecting and report stats about ObjectURI case lookups])
401   AC_DEFINE(GNASH_STATS_PROPERTY_LOOKUPS, [1], [Collecting and report stats about property lookups])
402   AC_DEFINE(GNASH_STATS_STRING_TABLE_NOCASE, [1], [Collecting and report stats about string_table::key case lookups])
405 dnl this is just so Makefile can print the same list
406 STATISTICS_LIST="$statistics_list"
407 AC_SUBST(STATISTICS_LIST)
410 # These settings are compile time options for the security
411 # setting for anything that lets gnash exchange data with
412 # other applications. Currently this only supports Shared
413 # Objects and Local Connections. Shared Objects are like
414 # your web browsers cookies, and Local Connections use
415 # shared memory to execute methods remotely, and to
416 # exchange data.
418 # The default is to enable everything, and these can
419 # also be controlled dynamically by the $HOME/.gnashrc
420 # file.
422 solreadonly=no
423 localconnection=yes
424 lctrace=yes
426 AC_ARG_WITH(security,
427   AC_HELP_STRING([--with-security=], [Specify which security features to enable]),
428   if test -n ${withval}; then
429     if test "x${withval}" != "xno"; then
430       extlist="${withval}"
431       withval=`echo ${withval} | tr '\054' ' ' `
432     else
433       extlist=""
434       withval=""
435     fi
436   fi
437   security_list=""
438   nsecurity=0
439   while test -n "${withval}" ; do
440     val=`echo ${withval} | cut -d ' ' -f 1`
441 dnl    security_list="${security_list} ${val}"
442     [case "${val}" in
443       solreadonly)
444         solreadonly=yes
445         nsecurity=$((nsecurity+1))
446         ;;
447       lc)
448         localconnection=yes
449         nsecurity=$((nsecurity+1))
450         ;;
451       lctrace)
452         lctrace=yes
453         nsecurity=$((nsecurity+1))
454         ;;
455       all|ALL)
456         solreadonly=yes
457         lc=yes
458         lctrace=yes
459         nsecurity=3
460         ;;
461       *) AC_MSG_ERROR([invalid security feature specified: ${withval} given (accept: solreadonly|lc|lctrace)])
462         ;;
463       esac]
464     withval=`echo ${withval} | cut -d ' ' -f 2-6`
465     if test "x$val" = "x$withval"; then
466       break;
467     fi
468   done
470 if test xlctrace = xyes; then
471   security_list="${security_list} lctrace"
472   AC_DEFINE(USE_LC_TRACE, [1],
473            [Support LocalConnection])
474   AC_MSG_NOTICE([This build supports LocalConnection tracing])
475   AC_MSG_WARN([This option will effect your performance])
478 if test x$localconnection = xyes; then
479   security_list="${security_list} localconnection"
480   AC_DEFINE(USE_LC, [1],
481                  [Support LocalConnection])
482   AC_MSG_NOTICE([This build supports LocalConnection])
484 if test x$solreadonly = xyes; then
485   security_list="${security_list} solreadonly"
486   AC_DEFINE(USE_SOL_READONLY, [1],
487                  [Shared Objects are read-only])
488   AC_MSG_NOTICE([Shared Objects are read-only])
490 SECURITY_LIST="$security_list"
491 AC_SUBST(SECURITY_LIST)
493 dnl For Haiku, we know the sysroot is in a non-standard place
494 dnl it is important that -lagg comes before -lbe
495 if test x"${haiku}" = xyes; then
496   HAIKU_LIBS=-lbe
497   AC_SUBST(HAIKU_LIBS)
500 dnl Darwin uses libtool instead of ar to produce libraries. We determine which one
501 dnl we have here now. For some reason on Darwin, we don't get the
502 dnl count from grep via stdin correctly. Writing a temp file does the
503 dnl trick, so although it's ugly, that's what we gotta do...
504 AC_MSG_CHECKING([which type of library archiver we have])
505 rm -f .tmp
506 libtool > .tmp 2>&1
507 archiver=`grep -c dynamic .tmp 2>&1`
508 rm -f .tmp
509 dnl is there any good way to report what we found here?
510 AC_MSG_RESULT()
511 if test x"${archiver}" != x && test "${archiver}" -eq 1; then
512 dnl   if test "$enable_shared" = no; then
513 dnl     AR="libtool -static"
514 dnl   else
515 dnl     AR="libtool -dynamic"
516 dnl     CXXFLAGS="${CXXFLAGS} -dynamic"
517    export MACOSX_DEPLOYMENT_TARGET="10.3"
518 dnl   fi
519 dnl   AR_FLAGS="-o"
520    darwin=yes
521 else
522    darwin=no
525 dnl When cross compiling, limit the search directories cause otherwise
526 dnl we may get the host headers or libraries by accident. These values
527 dnl are exported, so all the other configure tests in macros/*.m4 use
528 dnl these same settings rather than duplicating them like we used to.
529 dnl To override thise, use the --with-*-incl= and --with-*-libs=
530 dnl options to configure.
531 if test x$cross_compiling = xyes; then
532   AC_MSG_NOTICE([Configuring Gnash for cross compilation])
533   export pkgroot="`$CXX -print-search-dirs | grep "install:" | sed -e 's/install: //' -e 's:/lib/gcc/.*::'`"
534   dnl pkgroot only works correctly with builds of cross tools not in
535   dnl /usr, ie... installed from the distribution packages, or just
536   dnl plain installed in the system tools. This contaminates configure
537   dnl when building for variations of the same basic architecture,
538   dnl like i686-linux -> i586-mingw32.
539   if test x${pkgroot} = "/usr"; then
540     export pkgroot=""
541   fi
542   export incllist="`eval echo ${with_top_level}/include ${pkgroot}/${host_alias}/include ${pkgroot}/include`"
543   export libslist="`eval echo ${with_top_level}/lib ${pkgroot}/${host_alias}/lib ${pkgroot}/lib64 ${pkgroot}/lib32 ${pkgroot}/lib`"
544   export pathlist="`eval echo ${pkgroot}/${host_alias}/bin:${pkgroot}/bin`"
545   npapi=no
546 else
547   AC_MSG_NOTICE([Configuring Gnash for native compilation])
548   export incllist="`eval cat ${srcdir}/macros/incllist`"
549   export libslist="`eval cat ${srcdir}/macros/libslist`"
550   export pathlist=$PATH
553 if test x"${android_ndk}" != xno; then
554    incllist="${android_ndk}/include ${incllist}"
557 AM_CONDITIONAL(CROSS_COMPILING, [ test x$cross_compiling = xyes ])
559 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
560 dnl !! 
561 dnl !! IMPORTANT NOTICE 
562 dnl !!
563 dnl !!  Any call to GNASH_PATH_XXX must be be given *after* this snippet.
564 dnl !!  This is to ensure that PKG_CONFIG, cross_compiling and incllist are
565 dnl !!  properly set at the time of call.
566 dnl !!
567 dnl !!  Also GNASH_PKG_FIND has to be called later. Not sure
568 dnl !!  why but calling before breaks detection of CPP (see
569 dnl !!  gnash-dev mailing archives for June 12 2009
570 dnl !!  http://lists.gnu.org/archive/html/gnash-dev/2009-06/index.html
571 dnl !! 
572 dnl !! 
573 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
575 dnl Check for PKG_CONFIG before any GNASH_PATH call
576 PKG_PROG_PKG_CONFIG
578 dnl --------------------------------------------------------
579 dnl  GUI selection
580 dnl --------------------------------------------------------
582 build_haiku=no
583 build_aos4=no      dnl AmigaOS4 GUI
584 build_kde3=no      dnl WARNING: doesn't work (see https://savannah.gnu.org/bugs/index.php?31782)
585 build_kde4=no
586 build_qtopia3=no
587 build_qtopia4=no
588 build_gtk=no
589 build_fb=no                     dnl Raw framebuffer
590 build_fltk=no
591 build_sdl=no
592 build_riscos=no                 dnl Native OS2 GUI
593 build_aqua=no                   dnl Native MacOSX
594 build_hildon=no                 dnl Native LIMO
595 build_alp=no                    dnl Acess Linux Platform using Hiker
596 build_dump=no
597 AC_ARG_ENABLE(gui,
598   AC_HELP_STRING([--enable-gui=], [Enable support for the specified GUI toolkits (default=gtk,kde4)]),
599   [if test -n ${enableval}; then
600     enableval=`echo ${enableval} | tr '\054' ' ' `
601   fi
602   while test -n "${enableval}" ; do
603     val=`echo ${enableval} | cut -d ' ' -f 1`
604     case "${val}" in
605       gtk|GTK|gtk2|GTK2)
606         build_gtk=yes
607         ;;
608       kde3|KDE3)
609         build_kde3=yes
610         ;;
611       kde4|KDE4)
612         build_kde4=yes
613         ;;
614       qtopia3|QTOPIA3)
615         build_qtopia3=yes
616         ;;
617       qtopia4|QTOPIA4)
618         build_qtopia4=yes
619         ;;
620       sdl|SDL)
621         build_sdl=yes
622         ;;
623       aqua|AQUA|Aqua)
624         build_aqua=yes
625         ;;
626       riscos|RISCOS|RiscOS)
627         build_riscos=yes
628         ;;
629       fltk|FLTK|fltk2|FLTK2)
630         build_fltk=yes
631         ;;
632       fb|FB)
633         build_fb=yes
634         ;;
635       aos4|AOS4)
636         build_aos4=yes
637         ;;
638       haiku|HAIKU)
639         build_haiku=yes
640         ;;
641       dump|DUMP)
642         build_dump=yes
643         ;;
644       all|ALL)
645         build_dump=yes
646         dnl BSD doesn't have a framebuffer interface
647         if test x${linux} = xyes; then
648           build_fb=yes
649         fi
650         if test x${openbsd} != xyes; then
651           build_kde4=yes
652         fi
653         build_sdl=yes
654         build_gtk=yes
655         ;;
656       *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: gtk|kde3|kde4|fltk|sdl|riscos|aqua|fb|qtopia3|qtopia4|dump|aos4|haiku)])
657          ;;
658       esac
659     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
660     if test "x$val" = "x$enableval"; then
661       break;
662     fi
663   done],
664   [ dnl Run the following code if no --enable-gui is given
665   build_fb=auto
666   build_sdl=auto
667   if test x"${openbsd_os}" = x"openbsd"; then
668     build_gtk=yes
669     build_dump=auto
670   else if test x"${haiku}" = xyes; then
671     build_haiku=yes;
672   else
673     build_kde4=auto
674     build_gtk=yes
675     build_dump=auto
676   fi
677   fi
678   ]
681 if test x"${build_haiku}" = xyes; then
682   if test x"$haiku" != xyes; then
683     echo "        ERROR: Can not build Haiku gui outside of Haiku
684 operating system." >&3
685   fi
688 dnl We can use Xephyr or fbe to create a fake framebuffer instead of real
689 dnl video memory. This lets us test on a desktop machine.
690 AC_ARG_WITH(fakefb,
691 AC_HELP_STRING([--with-fakefb],
692  [specify a file to be mapped instead of a real framebuffer]),
693  with_fakefb=${withval})
695 fakefb=
696 if test x"${with_fakefb}" = xyes; then
697   dnl This is the default file name fbe uses.
698   fakefb=/tmp/fbe_buffer
699 else
700   if test x"${with_fakefb}" != x; then
701     fakefb=${with_fakefb}
702   fi
704 FAKEFB=${fakefb}
705 AC_SUBST(FAKEFB)
707 if test x"${fakefb}" != x; then
708     AC_DEFINE(ENABLE_FAKE_FRAMEBUFFER, [1], [Enable using a file instead of a real framebuffer])
712 dnl --------------------------------------------------------
713 dnl  Sound handler selection
714 dnl --------------------------------------------------------
715 add_sound=
716 build_sound_none=no
717 build_sound_sdl=no
718 build_sound_ahi=no
719 build_sound_mkit=no
720 AC_ARG_ENABLE(sound,
721   AC_HELP_STRING([--enable-sound=[[sdl|ahi|mkit]]], [Use the specified sound handler (default=sdl)]),
722      [case "${enableval}" in
723       sdl|SDL|Sdl)
724         build_sound_sdl=yes
725         add_sound="sdl"
726         ;;
727       none|NONE|None)
728         build_sound_none=yes
729         add_sound="none"
730         ;;
731       ahi|AHI|Ahi)
732         build_sound_ahi=yes
733         add_sound="ahi"
734         ;;
735       mkit|MKIT|Mkit)
736         build_sound_mkit=yes
737         add_sound="mkit"
738         ;;
739      esac],
740   [if test x"${haiku}" = xyes; then
741      build_sound_mkit=yes
742      add_sound="mkit"
743    else
744      if test x${build_sound_none} = xno; then
745        build_sound_sdl=yes
746        add_sound=sdl
747      fi
748    fi]
751 dnl --------------------------------------------------------
752 dnl  Media handler selection
753 dnl --------------------------------------------------------
754 build_media_gst=no
755 build_media_ffmpeg=auto
756 build_media_none=no
757 AC_ARG_ENABLE(media,
758   AC_HELP_STRING([--enable-media=handler],
759     [Enable media handling support using the specified handler: gst, ffmpeg or none (no sound) [[gst]] ]),
760   
761     if test -n ${enableval}; then
762       enableval=`echo ${enableval} | tr '\054' ' ' `
763     fi
764     dnl When --enable-media is given, all media defaults to off
765     dnl except the explicitly enabled ones
766     build_media_ffmpeg=no
767     build_media_gst=no
768     while test -n "${enableval}"; do
769       val=`echo ${enableval} | cut -d ' ' -f 1`
770       [case "${val}" in
771         GST|gst)
772           build_media_gst=yes
773           media_list="${media_list}gst "
774           ;;
775         FFMPEG|ffmpeg)
776           build_media_ffmpeg=yes
777           media_list="${media_list}ffmpeg "
778           ;;
779         no|NO|none)
780           build_media_none=yes
781           media_list="none"
782           ;;
783         *)
784           AC_MSG_ERROR([bad value ${enableval} for --enable-media option])
785           ;;
786      
787       esac]
788       enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
789       if test "x$val" = "x$enableval"; then
790         break;
791       fi
792     done,
793     [if test x"${build_haiku}" = xyes; then
794         build_media_ffmpeg=yes
795         build_media_haiku=yes
796         media_list="ffmpeg haiku"
797      else
798         build_media_gst=yes
799         media_list="gst"
800     fi]
803 dnl If no render is selected, and media handling isn't disabled, them enable gst
804 if test x${build_media_none} = xno -a x${build_media_gst} = xno -a x${build_media_ffmpeg} = xno; then
805   build_media_gst=yes
808 if test x"$build_media_ffmpeg" != x"no"; then # yes or auto
809   GNASH_PATH_FFMPEG
810   if test x"${build_media_ffmpeg}" = xauto; then
811     dnl TODO: have GNASH_PATH_FFMPEG set ${has_ffmpeg}
812     if test x"$FFMPEG_LIBS" != x; then
813       build_media_ffmpeg=yes
814       media_list="${media_list} ffmpeg"
815     else
816       build_ogl=no
817     fi
818   fi
821 MEDIA_CONFIG="${media_list}"
822 AC_SUBST(MEDIA_CONFIG)
824 dnl -----------------------------------------------------
825 dnl Check for SDL and decide about auto gui accordingly.
826 dnl Need be done after build_sound_sdl and build_sdl are
827 dnl initialized and before they are checked for yes/no
828 dnl -----------------------------------------------------
830 if test x$build_sdl != xno -o x$build_sound_sdl = xyes; then
831   GNASH_PATH_SDL
834 if test x"${build_sdl}" = xauto; then
835   if test xyes = x"${has_sdl}"; then
836     build_sdl=yes
837   else
838     AC_MSG_NOTICE([sdl GUI won't be built (no sdl development files found)])
839     build_sdl=no
840   fi
844 dnl -------------------------------
845 dnl Renderer Selection
846 dnl -------------------------------
847 input_events=
848 dnl By default, we want to to build all renderers
849 build_ovg=no
850 build_gles=no
851 build_ogl=auto
852 build_agg=yes
853 build_cairo=yes
854 renderer_list="AGG Cairo"
855 nrender=3
856 AC_ARG_ENABLE(renderer,
857   AC_HELP_STRING([--enable-renderer=], [Enable support for the specified renderers (ogl|gles|cairo|agg|all, default=all)]),
858   if test -n ${enableval}; then
859     if test "x${enableval}" != "xno" -o "x${enableval}" != "xnone" ; then
860       renderer_list="none"
861       enableval=`echo ${enableval} | tr '\054' ' ' `
862     else
863       renderer_list=""
864       enableval=""
865     fi
866   fi
867   renderer_list=""
868   nrender=0
869   build_ovg=no
870   build_ogl=no
871   build_gles=no
872   build_agg=no
873   build_cairo=no
874   while test -n "${enableval}" ; do
875     val=`echo ${enableval} | cut -d ' ' -f 1`
876     [case "${val}" in
877       no*|NO*)
878         renderer_list="none"
879         build_ovg=no
880         build_ogl=no
881         build_gles=no
882         build_agg=no
883         build_cairo=no
884         nrender=1
885         ;;
886       all|ALL)
887         renderer_list="OpenGL, Cairo, AGG"
888         build_ogl=yes
889         build_agg=yes
890         build_cairo=yes
891         build_ovg=yes
892         nrender=4
893         ;;
894       ogl|OGL|OpenGL|opengl)
895         renderer_list="${renderer_list} OpenGL"
896         build_gles=no
897         build_ogl=yes
898         nrender=$((nrender+1))
899         ;;
900       gles|GLES|GL-ES|gl-es)
901         renderer_list="${renderer_list} OpenGL-ES"
902         build_gles=yes
903         build_ogl=no
904         nrender=$((nrender+1))
905         ;;
906       ovg|OVG|OpenVG|openvg)
907         renderer_list="${renderer_list} OpenVG"
908         build_ogv=yes
909         nrender=$((nrender+1))
910         ;;
911       agg|AGG)
912         renderer_list="${renderer_list} AGG"
913         build_agg=yes
914         nrender=$((nrender+1))
915         ;;
916       cairo|CAIRO|Cairo*)
917         renderer_list="${renderer_list} Cairo"
918         build_cairo=yes
919         nrender=$((nrender+1))
920         ;;
921       *) AC_MSG_ERROR([invalid renderer specified: ${enableval} given (accept:  (ogl|cairo|agg|all)])
922         ;;
923       esac]
924     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
925     if test "x$val" = "x$enableval"; then
926       break;
927     fi
928   done
930 dnl 16 bit: RGB555, RGB565
931 dnl 24 bit: RGB24, BGR24
932 dnl 32 bit: RGBA32, BGRA32
933 pixelformat=all
934 AC_ARG_WITH(pixelformat,
935   AC_HELP_STRING([--with-pixelformat=], [Use the specified pixel format for AGG (default=all)]),
936   [if test -n ${withval}; then
937     pixelformat="${withval}"
938     withval=`echo ${withval} | tr '\054' ' ' `
939   fi
940   while test -n "${withval}" ; do
941     val=`echo ${withval} | cut -d ' ' -f 1`
942     case "${val}" in
943       all)
944         # allow special value "all" set by user (handled below)
945         ;; 
946       argb32|ARGB32)
947         AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32])
948         ;;
949       abgr32|ABGR32)
950         AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32])
951         ;;
952       bgra32|BGRA32)
953         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
954         ;;
955       bgr24|BGR24)
956         AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24])
957         ;;
958       rgba32|RGBA32)
959         AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32])
960         ;;
961       rgb24|RGB24)
962         AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24])
963         ;;
964       rgb555|RGB555)
965         AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555])
966         ;;
967       rgb565|RGB565)
968         AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565])
969         ;;
970       *) AC_MSG_ERROR([invalid pixel format ${withval} given (accept: all|RGB555|RGB565|RGB24|BGR24|BGRA32|RGBA32|ARGB32|ABGR32)])
971          ;;
972       esac
973     withval=`echo ${withval} | cut -d ' ' -f 2-6`
974     if test "x$val" = "x$withval"; then
975       break;
976     fi
977   done],
978   [if test x$build_haiku = xyes -a x$build_sdl != xyes; then
979         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
980         pixelformat=BGRA32
981    fi]
984 if test x$pixelformat = xall; then
985   if test x$build_agg = xyes; then
986     ### The fact that we're building GTK doesn't mean we're not also
987     ### building KDE or SDL, each needing its own pixel format !
988     #if test x$build_gtk = xyes; then
989     #  AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
990     #  pixelformat="RGB24"
991     #else
992       AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555 pixel format])
993       AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565 pixel format])
994       AC_DEFINE(PIXELFORMAT_RGB24,  [1], [RGB24 pixel format])
995       AC_DEFINE(PIXELFORMAT_BGR24,  [1], [BGR24 pixel format])
996       AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32 pixel format])
997       AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32 pixel format])
998       AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32 pixel format])
999       AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32 pixel format])
1000     #fi
1001   fi
1004 if test x"${build_ogl}" != xno; then # yes or auto
1005   GNASH_PATH_OPENGL
1006   if test x"${build_ogl}" = xauto; then
1007     if test xyes = x"${has_opengl}"; then
1008       build_ogl=yes
1009       renderer_list="${renderer_list} OpenGL"
1010     else
1011       build_ogl=no
1012     fi
1013   fi
1016 AM_CONDITIONAL(BUILD_OVG_RENDERER, [ test x$build_ovg = xyes ])
1017 AM_CONDITIONAL(BUILD_GLES_RENDERER, [ test x$build_gles = xyes ])
1018 AM_CONDITIONAL(BUILD_OGL_RENDERER, [ test x$build_ogl = xyes])
1019 AM_CONDITIONAL(BUILD_AGG_RENDERER, [ test x$build_agg = xyes ])
1020 AM_CONDITIONAL(BUILD_CAIRO_RENDERER, [ test x$build_cairo = xyes ])
1022 if test x"${build_ogl}" = xyes; then
1023    AC_DEFINE([RENDERER_OPENGL], [], [Use OpenGL renderer])
1026 if test x"$build_agg" = xyes; then
1027   AC_DEFINE([RENDERER_AGG], [], [Use AntiGrain renderer])
1030 if test x"$build_cairo" = xyes; then
1031   GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1032   AC_DEFINE([RENDERER_CAIRO], [], [Use cairo renderer])
1035 if test x"${build_agg}" = xyes; then
1036    GNASH_PATH_AGG
1039 dnl VA API is used by default for all H.264 videos. HW requirements:
1040 dnl     * AMD GPUs with UVD2 and xvba-video VA driver
1041 dnl     * NVIDIA GPUs with vdpau-video VA driver
1042 dnl     * All HW with a VA driver supporting the VA/GLX extensions or
1043 dnl     vaPutSurface(Pixmap,...). This may include the Intel
1044 dnl     Moorestown platform and future G45 VA driver.
1045 dnl NOTE: it is possible to use Gnash/VAAPI on platforms with an Intel
1046 dnl GMA500 but you currently will have to build the AGG renderer
1047 dnl instead of the OGL (OpenGL) one. 
1049 build_vaapi=yes
1050 hwaccel_list="VAAPI"
1051 nhwaccel=1
1052 AC_ARG_ENABLE(hwaccel,
1053   AC_HELP_STRING([--enable-hwaccel], [Specify which accleration to support to enable (none,vaapi,omap)]),
1054   if test -z ${enableval}; then
1055       hwaccel_list="none"
1056       nhwaccel=0
1057       enableval=""
1058   fi
1059   while test -n "${enableval}" ; do
1060     val=`echo ${enableval} | cut -d ' ' -f 1`
1061     [case "${val}" in
1062       no*|NO*)
1063         hwaccel_list="none"
1064         build_vaapi=no
1065         build_omap=no
1066         nhwaccel=0
1067         ;;
1068       va*|VA*)
1069         hwaccel_list="${hwaccel_list} vaapi"
1070         build_vaapi=yes
1071         nhwaccel=$((nhwaccel+1))
1072         ;;
1073       all|ALL)
1074         hwaccel_list="VAAPI OMAP"
1075         nhwaccel=2
1076         build_omap=yes
1077         build_vaapi=yes
1078         ;;
1079       omap*|OMAP*)
1080         hwaccel_list="${hwaccel_list} omap"
1081         build_omap=yes
1082         nhwaccel=$((nhwaccel+1))
1083         ;;
1084       *) AC_MSG_ERROR([invalid hwaccel feature specified: ${enableval} given (accept: none,vaapi,omap)])
1085         ;;
1086       esac]
1087     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1088     if test "x$val" = "x$enableval"; then
1089       break;
1090     fi
1091   done
1094 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi}" = x"yes"; then
1095   use_libva=no
1096   use_libva_x11=no
1097   use_libva_glx=no
1098   dnl if the version of FFmpeg is recent enough, (r20957, 52.45.0), then
1099   dnl look for VAAPI support so we can use use the VAAPI enabled FFmpeg.
1100   if test x"${have_ffmpeg_vaapi}" = xyes; then
1101     use_libva=yes
1102     GNASH_PKG_FIND([libva],
1103       [va/va.h],
1104       [Video Acceleration API],
1105       vaInitialize
1106     )
1108     use_libva_x11=yes
1109     GNASH_PKG_FIND([libva_x11],
1110       [va/va_x11.h],
1111       [VA API (X11 display)],
1112       vaGetDisplay,
1113       [], [-lva-x11]
1114     )
1116     if test x$build_ogl = xyes; then
1117       use_libva_glx=yes
1118       GNASH_PKG_FIND([libva_glx],
1119         [va/va_glx.h],
1120         [VA API (GLX display)],
1121         vaGetDisplayGLX,
1122         [], [-lva-glx]
1123       )
1124     fi
1125   fi
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(BUILD_OMAP, test x"${build_omap}" = xyes)
1132 AM_CONDITIONAL(USE_VAAPI, test x"${use_libva}" = xyes)
1134 dnl Only build the vaapi support if we have a version of FFmpeg that
1135 dnl supports it.
1136 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${found_libva_incl}" = xyes; then
1137   build_vaapi=yes
1138   hwaccel_list="VAAPI"
1139   nhwaccel=1
1140 else
1141   build_vaapi=no
1142   hwaccel_list=""
1143   nhwaccel=0
1146 dnl Until the hwaccel patches in FFmpeg wind up in the ffmpeg-plugin,
1147 dnl restrict using HW Accel to using FFmpeg directly.
1148 dnl test xyes = xyes -a ( x != xyes -o x != xyes )
1149 if test x"${build_vaapi}" = x"yes" -a x"${have_ffmpeg}" != x"yes"; then
1150   AC_MSG_ERROR(["Hardware acceleration currently not supported unless using FFmpeg."])
1153 AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = xyes)
1154 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
1155 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
1158 AC_PATH_PROG(PERL, perl)
1159 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
1161 AC_PATH_PROG(CSOUND, csound)
1162 AM_CONDITIONAL(HAVE_CSOUND, test x"$CSOUND" != x)
1164 AC_PATH_PROG(GIT, git)
1165 AC_SUBST(GIT)
1167 dnl -------------------------------------
1168 dnl LIRC
1169 dnl -------------------------------------
1170 AC_ARG_ENABLE(lirc, AC_HELP_STRING([--enable-lirc], [Disable support for Lirc]),
1171 [case "${enableval}" in
1172   yes) lirc=yes ;;
1173   no)  lirc=no ;;
1174   *)   AC_MSG_ERROR([bad value ${enableval} for enable-lirc option]) ;;
1175 esac], lirc=no)
1177 if test x"$lirc" = x"yes"; then
1178   AC_DEFINE([USE_LIRC], [], [LIRC daemon support])
1180 AM_CONDITIONAL(USE_LIRC, test x$lirc = xyes)
1182 dnl --------------------------------------------------------
1183 dnl Extension selection
1184 dnl --------------------------------------------------------
1185 ext_dejagnu=no
1186 ext_mysql=no
1187 ext_fileio=no
1188 ext_gtk=no
1189 ext_lirc=no
1190 ext_dbus=no
1191 ext_all=no
1192 extensions_list=
1193 nextensions=0
1194 AC_ARG_ENABLE(extensions,
1195   AC_HELP_STRING([--enable-extensions=], [Specify which extensions to build]),
1196   if test -n ${enableval}; then
1197     if test "x${enableval}" != "xno"; then
1198       extlist="${enableval}"
1199       enableval=`echo ${enableval} | tr '\054' ' ' `
1200     else
1201       extlist=""
1202       enableval=""
1203     fi
1204   fi
1205   nextensions=0
1206   while test -n "${enableval}" ; do
1207     val=`echo ${enableval} | cut -d ' ' -f 1`
1208     extensions_list="${extensions_list} ${val}"
1209     [case "${val}" in
1210       dejagnu|DEJAGNU|dj|DJ)
1211         AC_DEFINE(USE_DEJAGNU_EXT, [1], [Build the DejaGnu extension])
1212         AC_MSG_NOTICE([Adding DejaGnu extension])
1213         ext_dejagnu=yes
1214         nextensions=$((nextensions+1))
1215         ;;
1216       mysql|MYSQL|sql|SQL)
1217         AC_DEFINE(USE_MYSQL_EXT, [1], [Build the MySQL extension])
1218         AC_MSG_NOTICE([Adding MySql extension])
1219         ext_mysql=yes
1220         nextensions=$((nextensions+1))
1221         ;;
1222       fileio|FILEIO|io|IO)
1223         AC_DEFINE(USE_FILEIO_EXT, [1], [Build the FileIO extension])
1224         AC_MSG_NOTICE([Adding FileIO extension])
1225         ext_fileio=yes
1226         nextensions=$((nextensions+1))
1227         ;;
1228       gtk|GTK|gtk2|GTK2)
1229         AC_DEFINE(USE_GTK_EXT, [1], [Build the GTK extension])
1230         ext_gtk=yes
1231         nextensions=$((nextensions+1))
1232         ;;
1233       lirc|LIRC)
1234         AC_DEFINE(USE_LIRC_EXT, [1], [Build the LIRC extension])
1235         ext_lirc=yes
1236         nextensions=$((nextensions+1))
1237         ;;
1238       dbus|DBUS)
1239         AC_DEFINE(USE_DBUS_EXT, [1], [Build the DBUS extension])
1240         ext_dbus=yes
1241         nextensions=$((nextensions+1))
1242         ;;
1243       all|ALL)
1244         AC_DEFINE(USE_GTK_EXT, [1], [Build all the extensions])
1245         ext_dejagnu=yes
1246         ext_mysql=yes
1247         ext_fileio=yes
1248         ext_gtk=yes
1249         ext_lirc=yes
1250         ext_dbus=yes
1251         ext_all=yes
1252         nextensions=9
1253         ;;
1254       *) AC_MSG_ERROR([invalid extension specified: ${enableval} given (accept: MYSQL|DEJAGNU|FILEIO|GTK|LIRC|DBUS|METOME|ALL)])
1255          ;;
1256       esac]
1257     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1258     if test "x$val" = "x$enableval"; then
1259       break;
1260     fi
1261   done
1262   EXTENSIONS_LIST="$extensions_list"
1263   AC_SUBST(EXTENSIONS_LIST)
1266 if test x$ext_dbus = xyes; then
1267   GNASH_PATH_DBUS
1270 if test x$ext_mysql = xyes; then
1271   GNASH_PATH_MYSQL
1274 AM_CONDITIONAL(BUILD_DEJAGNU_EXT, [ test x$ext_dejagnu = xyes ])
1275 AM_CONDITIONAL(BUILD_FILEIO_EXT, [ test x$ext_fileio = xyes ])
1276 AM_CONDITIONAL(BUILD_MYSQL_EXT, [ test x$ext_mysql = xyes ])
1277 AM_CONDITIONAL(BUILD_GTK_EXT, [ test x$ext_gtk = xyes ])
1278 AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes ])
1279 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
1280 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
1282 dnl --------------------------------------------------------
1283 dnl Libtool
1284 dnl --------------------------------------------------------
1286 AC_LIBTOOL_DLOPEN
1287 AC_LIBTOOL_WIN32_DLL
1288 AC_DISABLE_STATIC
1289 AC_PROG_LIBTOOL
1290 AC_SUBST(LIBTOOL_DEPS)
1291 DLOPEN="-dlopen"
1292 DLPREOPEN="-dlpreopen"
1293 AC_SUBST(DLOPEN)
1294 AC_SUBST(DLPREOPEN)
1296 GNASH_PKG_FIND([ltdl], [ltdl.h], [libltdl library], [lt_dlinit])
1298 if test x"$has_ltdl" = x"yes";then
1299   AC_DEFINE(HAVE_LTDL, [1], [Libtool 2.x defines this, but libtool 1.5 doesn't])
1302 dnl --------------------------------------------------------
1303 dnl SOL dir
1304 dnl --------------------------------------------------------
1305 soldir=/tmp
1306 AC_ARG_WITH(soldir,
1307  AC_HELP_STRING([--with-soldir],
1308  [directory for .sol files]),
1309  with_soldir=${withval})
1310 if test x${with_soldir} != x; then
1311   soldir=${with_soldir}
1313 SOLDIR=${soldir}
1314 AC_SUBST(SOLDIR)
1316 dnl --------------------------------------------------------
1317 dnl AVM2
1318 dnl --------------------------------------------------------
1319 dnl AC_ARG_ENABLE(avm2,
1320 dnl   AC_HELP_STRING([--enable-avm2], [Enable support for AS3]),
1321 dnl   [case "${enableval}" in
1322 dnl     yes) avm2=yes ;;
1323 dnl     no)  avm2=no ;;
1324 dnl     *)   AC_MSG_ERROR([bad value ${enableval} for enable-avm2 option]) ;;
1325 dnl   esac], avm2=no
1326 dnl )
1327 dnl AM_CONDITIONAL(ENABLE_AVM2, [test x"$avm2" = xyes])
1328 dnl if test x$avm2 = xyes; then
1329 dnl     AC_DEFINE(ENABLE_AVM2, [1], [Enable AVM2 code])
1330 dnl fi
1331 AM_CONDITIONAL(ENABLE_AVM2, false)
1333 dnl This option is only used if you want Gnash to interwork with 
1334 dnl the Adobe player using the LocalConnection class.
1335 dnl lckey=0xdd3adabd
1336 AC_ARG_WITH(lckey,
1337  AC_HELP_STRING([--with-lckey],
1338  [shared memory key for your system]),
1339  with_lckey=${withval})
1341 if test x${with_lckey} != x; then
1342   lckey=${with_lckey}
1343 else
1344   lckey=0xcbc384f8
1346 LC_KEY=${lckey}
1347 AC_SUBST(LC_KEY)
1349 AC_ARG_ENABLE(python,
1350   AC_HELP_STRING([--enable-python],[Enable python for the python wrapper]),
1351 [case "${enableval}" in
1352   yes) python=yes ;;
1353   no)  python=no ;;
1354   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-python option]) ;;
1355 esac],python=no)
1357 dnl Look for python, which is optional. If enabled, a python loadable
1358 dnl module of Gnash is created.
1359 GNASH_PATH_PYTHON
1360 AM_CONDITIONAL([USE_PYTHON], test x"$python" = xyes)
1361 AM_CONDITIONAL([HAS_PYTHON], test x"$has_python" = xyes)
1363 # Maybe use jemalloc, which handles memory fragmentation for
1364 # ECAMscript languages better than the regular system malloc.
1365 # This seems like a good idea, as both the other player and
1366 # Mozilla/Firefox both recently switched to using jemalloc.
1367 AC_ARG_ENABLE(jemalloc,
1368   AC_HELP_STRING([--enable-jemalloc],[Enable jemalloc instead of system malloc]),
1369 [case "${enableval}" in
1370   yes) jemalloc=yes ;;
1371   no)  jemalloc=no ;;
1372   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-jemalloc option]) ;;
1373 esac],jemalloc=yes)
1375 dnl There is some weird stuff going on with NetBSD and jemalloc, so don't 
1376 dnl build it for now.
1377 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
1378   jemalloc=no
1380 dnl If the compiler doesn't have local thread storage enabled, don't try to
1381 dnl use jemalloc.
1382 if test x"${jemalloc}" = x"yes"; then
1383   AC_TRY_COMPILE([], [
1384     extern __thread int global_i; ],
1385     has_local_thread_storage=yes
1386   )
1387   if test x"${has_local_thread_storage}" = x"yes"; then
1388     AC_DEFINE([HAVE_LOCAL_THREAD_STORAGE], [1], [Has __thread (local thread storage) support])
1389     AC_DEFINE([USE_JEMALLOC], [], [Use jemalloc instead of system malloc])
1390   else
1391     jemalloc=no
1392   fi
1395 dnl We can search libs for mallinfo to decide whether we have it or not.
1396 dnl This is added to the linker flags when it's found. Usually it's -lc, but
1397 dnl on OpenSolaris it's -lmalloc, so this fixes the build.
1398 AC_SEARCH_LIBS([mallinfo], [c malloc],
1399                AC_DEFINE(HAVE_MALLINFO, [1], [Has mallinfo()])
1400                mallinfo=yes
1401                )
1403 AM_CONDITIONAL([HAVE_MALLINFO], test x$mallinfo = xyes)
1404 AM_CONDITIONAL(JEMALLOC, test x$jemalloc = xyes)
1406 AC_ARG_ENABLE(fps-debug,
1407   AC_HELP_STRING([--enable-fps-debug],[Enable FPS debugging code]),
1408 [case "${enableval}" in
1409   yes) AC_DEFINE([GNASH_FPS_DEBUG], [1], [Enable FPS debugging code])
1410 esac])
1412 dnl When we're making binary releases, it's often nice to just statically link
1413 dnl the final executables so we don't worry about what's installed, or which
1414 dnl version it is.
1415 AC_ARG_ENABLE(allstatic,
1416   AC_HELP_STRING([--enable-allstatic],[Enable using static libraries when possible for dependencies]),
1417 [case "${enableval}" in
1418   yes) allstatic=yes ;;
1419   no)  allstatic=no ;;
1420   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-allstatic option]) ;;
1421 esac],allstatic=no)
1422 AM_CONDITIONAL(ALLSTATIC, test x$allstatic = xyes)
1425 dnl --------------------------------------------------------
1426 dnl SHM
1427 dnl --------------------------------------------------------
1428 AC_ARG_WITH(shm,
1429   AC_HELP_STRING([--with-shm],[specify a shared memory type.]),
1430   [case "${withval}" in
1431     sysv) with_shm=sysv
1432           ;;
1433     posix) with_shm=posix
1434           ;;    
1435     *)   AC_MSG_ERROR([bad value ${enableval} for --with-shm option (try sysv or posix])
1436           ;;
1437    esac],with_shm=sysv)
1439 if test x"${with_shm}" = x"sysv"; then
1440   AC_DEFINE([USE_SYSV_SHM], [1], [Use SYSV shared memory for compatability])
1441   dnl IPC_INFO isn't portable, and doesn't exist on BSD
1442   AC_TRY_COMPILE([#include <sys/ipc.h> #include <sys/shm.h>], [
1443     int flag = IPC_INFO; ],
1444     AC_DEFINE([HAVE_IPC_INFO], [1], [Use shm_info])
1445   )
1446 else
1447   AC_DEFINE([USE_POSIX_SHM], [1], [Use POSIX shared memory])
1450 dnl --------------------------------------------------------
1451 dnl Disable menus
1452 dnl --------------------------------------------------------
1453 dnl Don't add the GUI menu. Some educational systems think this adds
1454 dnl clutter and confusion, like on the OLPC.
1455 AC_ARG_ENABLE(menus,
1456   AC_HELP_STRING([--disable-menus],[Disable the GUI menus]),
1457 [case "${enableval}" in
1458   yes) menus=yes ;;
1459   no)  menus=no ;;
1460   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-menus option]) ;;
1461 esac],menus=yes)
1463 if test x"$menus" = x"yes"; then
1464   AC_DEFINE([USE_MENUS], [], [GUI Menu support])
1466 AM_CONDITIONAL(MENUS, test x$menus = xyes)
1468 dnl --------------------------------------------------------
1469 dnl Disable SWF information
1470 dnl --------------------------------------------------------
1471 dnl Don't gather SWF information in tree form. This takes
1472 dnl resources and memory that can be saved if there's no
1473 dnl need to examine SWF internals.
1474 AC_ARG_ENABLE(swftree,
1475   AC_HELP_STRING([--disable-swftree],[Disable showing SWF properties]),
1476 [case "${enableval}" in
1477   yes) swftree=yes ;;
1478   no)  swftree=no ;;
1479   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-swf-properties option]) ;;
1480 esac],swftree=yes)
1482 if test x"$swftree" = x"yes"; then
1483   AC_DEFINE([USE_SWFTREE], [], [View SWF information])
1485 AM_CONDITIONAL(SWFTREE, test x$swftree = xyes)
1487 dnl --------------------------------------------------------
1488 dnl Disable testsuite
1489 dnl --------------------------------------------------------
1490 dnl Disable running any tests for "make check". This may sound stupid, but
1491 dnl this option is designed to solely be used by maintainers in the 
1492 dnl DISTCHECK_CONFIGURE_FLAGS when building packages. Gnash's testing infrastructure
1493 dnl is complex, and often the the testsuites will work, but due to some obscure reason,
1494 dnl make distcheck fails.
1495 AC_ARG_ENABLE(testsuite,
1496   AC_HELP_STRING([--disable-testsuite],[Disable the testsuite, maintainers option only]),
1497 [case "${enableval}" in
1498   yes) testsuite=yes ;;
1499   no)  testsuite=no ;;
1500   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-testsuite option]) ;;
1501 esac],testsuite=yes)
1503 if test x"$testsuite" = x"yes"; then
1504   AC_DEFINE([USE_TESTSUITE], [], [Testsuite support, maintainers option only])
1506 AM_CONDITIONAL(TESTSUITE, test x$testsuite = xyes)
1508 dnl --------------------------------------------------------
1509 dnl Write the file to disk in the plugin
1510 dnl --------------------------------------------------------
1511 AC_ARG_ENABLE(write,
1512   AC_HELP_STRING([--enable-write], [Makes the Mozilla plugin write the currently playing SWF movie to /tmp.]),
1513 [case "${enableval}" in
1514   yes) write=yes ;;
1515   no)  write=no ;;
1516   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-write option]) ;;
1517 esac],write=no)
1519 if test x"$write" = x"yes"; then
1520   AC_DEFINE([WRITE_FILE], [], [Write files while streaming])
1523 dnl --------------------------------------------------------
1524 dnl Write a standalone gnash launcher to disk from the plugin
1525 dnl --------------------------------------------------------
1526 AC_ARG_ENABLE(sa-launcher,
1527   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.]),
1528 [case "${enableval}" in
1529   yes) sa_launcher=yes ;;
1530   no)  sa_launcher=no ;;
1531   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-sa-launcher option]) ;;
1532 esac],sa_launcher=yes)
1534 if test x"$sa_launcher" = x"yes"; then
1535   AC_DEFINE([CREATE_STANDALONE_GNASH_LAUNCHER], [], [Add support for writing a standalone executable launcher for movies embedded in web pages])
1538 dnl --------------------------------------------------------
1539 dnl Build the cygnal server if specified.
1540 dnl --------------------------------------------------------
1541 AC_ARG_ENABLE(cygnal,
1542   AC_HELP_STRING([--enable-cygnal], [Enable building of the Cygnal server]),
1543 [case "${enableval}" in
1544   yes) cygnal=yes ;;
1545   no)  cygnal=no ;;
1546   *)   AC_MSG_ERROR([bad value ${enableval} for enable-cygnal option]) ;;
1547 esac],cygnal=no)
1548 AM_CONDITIONAL(CYGNAL, test x$cygnal = xyes)
1550 dnl --------------------------------------------------------
1551 dnl Build the cgibins server if specified.
1552 dnl --------------------------------------------------------
1553 AC_ARG_ENABLE(cgibins,
1554   AC_HELP_STRING([--enable-cgibins], [Enable building of the CGIs for Cygnal]),
1555 [case "${enableval}" in
1556   yes) cgibin=yes ;;
1557   no)  cgibin=no ;;
1558   *)   AC_MSG_ERROR([bad value ${enableval} for enable-cgibins option]) ;;
1559 esac],cgibin=yes)
1560 AM_CONDITIONAL(USE_CGI, test x$cgibin = xyes)
1561 if test x"${cgibin}" = x"yes"; then
1562   AC_DEFINE([USE_CGIBIN], [1], [Enable cgi-bin processes for Cygnal])
1565 dnl --------------------------------------------------------
1566 dnl Fix the Intel 810 LOD bias problem
1567 dnl --------------------------------------------------------
1568 AC_ARG_ENABLE(i810-lod-bias,
1569   AC_HELP_STRING([--enable-i810-lod-bias], [Enable fix for Intel 810 LOD bias problem]),
1570 [case "${enableval}" in
1571   yes) i810lodbias=yes ;;
1572   no)  i810lodbias=no ;;
1573   *)   AC_MSG_ERROR([bad value ${enableval} for enable-i810-lod-bias option]) ;;
1574 esac])
1576 if test x"${i810lodbias}" = xyes; then
1577     AC_DEFINE([FIX_I810_LOD_BIAS], [], [Fix i810 LOD bias problem])
1580 dnl --------------------------------------------------------
1581 dnl  Double buffer
1582 dnl --------------------------------------------------------
1583 dnl Add an option for double buffering when rendering, currently only used by
1584 dnl the frmaebuffer GUI.
1585 dnl If defined, an internal software-buffer is used for rendering and is then
1586 dnl copied to the video RAM. This avoids flicker and is faster for complex 
1587 dnl graphics, as video RAM access is usually slower. (strongly suggested)
1588 AC_ARG_ENABLE(doublebuf,
1589   AC_HELP_STRING([--enable-doublebuf], [Enable support for double buffering when rendering]),
1590   [case "${enableval}" in
1591     yes) doublebuf=yes ;;
1592     no)  doublebuf=no ;;
1593     *)   AC_MSG_ERROR([bad value ${enableval} for enable-doublebuf option]) ;;
1594   esac], doublebuf=no
1596 AM_CONDITIONAL(ENABLE_DBUF, [test x"$doublebuf" = xyes])
1597 if test x$doublebuf = xyes; then
1598     AC_DEFINE(ENABLE_DOUBLE_BUFFERING, [1], [Enable double buffering])
1601 dnl --------------------------------------------------------
1602 dnl  Offscreen buffer
1603 dnl --------------------------------------------------------
1604 dnl This enables rendering to an offscreen buffer, instead of directly to window
1605 AC_ARG_ENABLE(offscreen,
1606   AC_HELP_STRING([--enable-offscreen], [Enable support for rendering offscreen]),
1607   [case "${enableval}" in
1608     yes) offscreen=yes ;;
1609     no)  offscreen=no ;;
1610     *)   AC_MSG_ERROR([bad value ${enableval} for enable-offscreen option]) ;;
1611   esac], offscreen=no
1615 dnl --------------------------------------------------------
1616 dnl  SSH support selection
1617 dnl --------------------------------------------------------
1618 dnl Enable using libssh with libnet
1619 AC_ARG_ENABLE(ssh,
1620   AC_HELP_STRING([--enable-ssh], [Enable using SSH for network authentication]),
1621 [case "${enableval}" in
1622   yes) build_ssh=yes ;;
1623   no)  build_ssh=no ;;
1624   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-ssh option]) ;;
1625 esac], build_ssh=no)
1627 AM_CONDITIONAL(BUILD_SSH, test x"${build_ssh}" = xyes)
1628 if test x"${build_ssh}" = xyes; then
1629   GNASH_PKG_FIND(ssh, [libssh/libssh.h], [libssh library], ssh_socket_init)
1630 dnl  GNASH_PKG_FIND(poppler, [popt.h], [Poppler library], poppler_init)
1632 if test x"${has_ssh}" = x"yes"; then
1633   AC_DEFINE([USE_SSH], [1], [Use SSH for authentication])
1636 dnl --------------------------------------------------------
1637 dnl  SSL support selection
1638 dnl --------------------------------------------------------
1640 dnl Enable using OpenSSL with libnet.
1641 AC_ARG_ENABLE(ssl,
1642   AC_HELP_STRING([--enable-ssl], [Enable using OpenSSL directly]),
1643 [case "${enableval}" in
1644   yes) build_ssl=yes ;;
1645   no)  build_ssl=no ;;
1646   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-ssl option]) ;;
1647 esac], build_ssl=no)
1649 with_cert=
1650 with_pem=
1651 AM_CONDITIONAL(BUILD_SSL, test x"${build_ssl}" = xyes)
1652 AC_ARG_WITH(cert,
1653   AC_HELP_STRING([--with-cert],
1654   [cert file for SSL]),
1655   with_cert=${withval})
1656 AC_ARG_WITH(pem,
1657   AC_HELP_STRING([--with-pe],
1658   [pem file for SSL]),
1659   with_pem=${withval})
1661 if test x"${build_ssl}" = xyes; then
1662   GNASH_PKG_FIND(ssl, [openssl/ssl.h], [OpenSSL library], SSL_library_init)
1664 if test x"${has_ssl}" = x"yes"; then
1665   AC_DEFINE([USE_SSL], [1], [Use SSL for authentication])
1668 dnl -----------------------------------------------------------
1669 dnl Set the general plugins install policy here
1670 dnl (NOTE: before GNASH_PATH_FIREFOX and GNASH_PATH_KDE*)
1671 dnl -----------------------------------------------------------
1673 AC_ARG_WITH(plugins-install,
1674   AC_HELP_STRING([--with-plugins-install=system|user|prefix], [Policy for plugins install. Default: user.]),
1675         [case "${withval}" in
1676           user) PLUGINS_INSTALL_POLICY=user ;;
1677           system) PLUGINS_INSTALL_POLICY=system ;;
1678           prefix) PLUGINS_INSTALL_POLICY=prefix ;;
1679           *)  AC_MSG_ERROR([bad value ${withval} for --with-plugins-install]) ;;
1680          esac 
1681         ], PLUGINS_INSTALL_POLICY=user) 
1683 dnl -----------------------------------------------------------
1684 dnl   Verify dependencies for requested GUIs are met, and
1685 dnl   disable build of the GUIS for which deps are NOT met
1686 dnl ------------------------------------------------------------
1688 dnl Look for scratchbox (used in GNASH_PATH_ALP)
1689 dnl FIXME: move it in macros/alp.m4 or at least after
1690 dnl        the build_alp conditional ?
1691 sbox=no
1692 if test x"${SBOX_REDIRECT_FROM_DIRS}" != x; then
1693   sbox=yes
1696 if test x$build_gtk = xyes -o $build_alp = xyes; then
1697    GNASH_PATH_GTK2
1698    GNASH_PATH_PANGO
1699    GNASH_PKG_FIND(atk, [atk/atk.h], [atk library], atk_focus_tracker_init, [1.0])
1700    if test x"${build_ogl}" = xyes; then
1701       GNASH_PATH_GLEXT
1702    fi
1703    if test x"${build_cairo}" = xyes; then
1704       GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1705    fi
1709 if test x"${build_kde4}" != xno -o x"${build_qtopia4}" != xno; then
1710  GNASH_PATH_QT4
1713 if test x"${build_kde4}" != xno; then
1714   GNASH_PATH_KDE4
1717 if test x"${build_kde4}" = xauto; then
1718   if test x"${has_qt4}" = xyes -a x"${has_kde4}" = xyes; then
1719      build_kde4=yes
1720   else
1721      build_kde4=no
1722   fi
1725 if test x"${build_kde3}" != xno -o x"${build_qtopia3}" != xno; then
1726  GNASH_PATH_QT3
1729 if test x"${build_kde3}" != xno; then
1730   GNASH_PATH_KDE3
1734 if test x"${build_kde3}" = xauto; then
1735   if test x"${has_qt3}" = xyes -a x"${has_kde3}" = xyes; then
1736      build_kde3=yes
1737   else
1738      build_kde3=no
1739   fi
1742 dnl Check possibility to build DUMP gui, if requested
1743 if test x"${build_dump}" != xno; then
1744   if test x"${build_agg}" = xyes; then
1745     build_dump=yes
1746   else
1747     if test x"${build_dump}" = xyes; then
1748       dnl SHOULD we just check at the end of file instead ?
1749       AC_MSG_ERROR(dump GUI cannot be built without AGG renderer);
1750     fi
1751     build_dump=no
1752   fi
1755 dnl Check possibility to build FB gui, if requested
1756 dnl FB dependencies are a linux system (linux/fb.h) 
1757 dnl and AGG renderer
1758 if test x"${build_fb}" != xno; then
1759   if test x"${linux}" = xyes; then
1760     if test x"${build_agg}" = xyes; then
1761       build_fb=yes
1762     else
1763       if test x"${build_fb}" = xyes; then
1764         dnl SHOULD we just check at the end of file instead ?
1765         AC_MSG_ERROR([fb GUI cannot be built without AGG renderer])
1766       fi
1767       AC_MSG_NOTICE([fb GUI won't be built (needs AGG renderer)])
1768       build_fb=no
1769     fi
1770   else
1771     if test x"${build_fb}" = xyes; then
1772       dnl SHOULD we just check at the end of file instead ?
1773       AC_MSG_ERROR(fb GUI cannot be built on non-linux platforms);
1774     fi
1775     AC_MSG_NOTICE([fb GUI won't be built (non-linux platform)])
1776     build_fb=no
1777   fi
1780 dnl TODO: add checks for all other GUIs
1782 dnl -------------------------------
1783 dnl Input Device selection
1784 dnl -------------------------------
1786 dnl Multiple input devices are supported. These can all work in
1787 dnl varying combinations, so several may be listed. These are only
1788 dnl required when using the Framebuffer, as without the X11 desktop,
1789 dnl Gnash has to handle all these internally. This can get
1790 dnl messy, as one might want to use a touchscreen with a normal mouse
1791 dnl or keyboard attached. 
1792 dnl By default, don't build any of these, as they are only for the Framebuffer
1793 dnl running without X11.
1794 if test x"${build_fb}" = xyes; then
1795 build_ps2mouse=yes
1796 build_ps2keyboard=no
1797 build_input_events=yes
1798 build_tslib=yes
1799 input_events="PS/2 Mouse, Input Devices, Touchscreen via Tslib"
1800 else
1801 build_ps2mouse=no
1802 build_ps2keyboard=no
1803 build_input_events=no
1804 build_tslib=no
1805 input_events=
1807 AC_ARG_ENABLE(input,
1808   AC_HELP_STRING([--enable-input=], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
1809   [if test -n ${enableval}; then
1810     enableval=`echo ${enableval} | tr '\054' ' ' `
1811   fi
1812   while test -n "${enableval}" ; do
1813     val=`echo ${enableval} | cut -d ' ' -f 1`
1814     case "${val}" in
1815       ps2m*|PS2m*|m*|M*)        dnl a PS/2 style mouse
1816         build_ps2mouse=yes
1817         input_events="${input_events}, PS/2 Mouse"
1818         ;;
1819       ps2k*|PS2K*|k*|K*)        dnl a PS/2 style keyboard
1820         build_ps2keyboard=yes
1821         input_events="${input_events}, PS/2 Keyboard"
1822         ;;
1823       i*|I*|ev*|Ev*)    dnl use the new Input Event, which supports both
1824         input_events="${input_events}, Input Event Device"
1825         build_input_events=yes
1826         ;;
1827       t*|T*) dnl use a touchscreen with tslib, which works like a mouse
1828         build_tslib=yes
1829         input_events="${input_events}, Touchscreen"
1830         ;;
1831       *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
1832          ;;
1833       esac
1834     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1835     if test "x$val" = "x$enableval"; then
1836       break;
1837     fi
1838   done],
1841 if test x"${build_tslib}" = xyes; then
1842   AC_DEFINE(USE_TSLIB, [1], [Use a tslib supported touchscreen])
1843   GNASH_PKG_FIND(ts, [tslib.h], [Touchscreen library], ts_config)
1845 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} != xno])
1847 if test x"${build_ps2mouse}" = xyes; then
1848   AC_DEFINE(USE_MOUSE_PS2, [1], [Add support for a directly using a PS/2 Mouse])
1850 AM_CONDITIONAL(ENABLE_MOUSE, [test x"${build_ps2mouse}" = xyes])
1852 if test x"${build_ps2keyboard}" = xyes; then
1853   AC_DEFINE(USE_KEYBOARD_PS2, [1], [Add support for directly using a PS/2 Keyboard])
1855 if test x"${build_input_events}" = xyes; then
1856   AC_DEFINE(USE_INPUT_EVENTS, [1], [Add support for a directly using Linux Input Event Devices])
1858 AM_CONDITIONAL(ENABLE_INPUT_EVENTS, [test x"${build_input_events}" = xyes])
1859 dnl this is enabled if we have any input devices at all
1860 AM_CONDITIONAL(ENABLE_INPUT_DEVICES, [test x"${input_events}" != x])
1863 dnl -----------------------------------------------------------
1864 dnl Try to ignore stupid dependencies
1865 dnl -----------------------------------------------------------
1867 AC_MSG_CHECKING(linker --as-needed support)
1868 gcc_cv_ld_as_needed=no
1869 # Check if linker supports --as-needed and --no-as-needed options
1870 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1871   gcc_cv_ld_as_needed=yes
1873 if test x"$gcc_cv_ld_as_needed" = xyes; then
1874   LDFLAGS="$LDFLAGS -Wl,--as-needed"
1876 AC_MSG_RESULT($gcc_cv_ld_as_needed)
1878 dnl AC_MSG_CHECKING(linker --no-undefined support)
1879 dnl gcc_cv_ld_undef_needed=no
1880 dnl # Check if linker supports --no-undefined
1881 dnl if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1882 dnl     gcc_cv_ld_undef_needed=yes
1883 dnl fi
1884 dnl if test x"$gcc_cv_ld_undef_needed" = xyes; then
1885 dnl     LDFLAGS=" ${LDFLAGS} -Wl,--no-undefined"
1886 dnl fi
1887 dnl AC_MSG_RESULT($gcc_cv_ld_undef_needed)
1889 AC_DEFINE(USE_GIF, [1], [Use the GIF library])
1890 AC_DEFINE(USE_PNG, [1], [Use the PNG library])
1891 AM_CONDITIONAL(USE_GIF, true)
1892 AM_CONDITIONAL(USE_PNG, true)
1894 dnl GNASH_PKG_FIND(dmalloc, [dmalloc.h], [dmalloc], mallinfo)
1895 AM_CONDITIONAL(HAVE_DMALLOC, [ test x$has_dmalloc = xyes ])
1897 AC_PATH_TOOL([AUTOTRACE], [autotrace])
1898 AC_HEADER_DIRENT
1900 dnl -----------------------------------------------------------------
1901 dnl PLUGIN RELATED STUFF
1902 dnl -----------------------------------------------------------------
1904 dnl Zip is used insted of tar when building an xpi package
1905 dnl for Mozilla/Firefox.
1906 AC_PATH_PROG(ZIP, zip, ,[${pathlist}])
1908 dnl !! This has been moved here to make --enable-npapi work
1909 dnl !! All of plugin-related macro calls could be moved into
1910 dnl !! a specialized macros/plugin.m4
1912 dnl ----------------------------------------------------
1913 dnl Add KPARTS support, if specified or KDE gui is built
1914 dnl ----------------------------------------------------
1916 AC_ARG_ENABLE(kparts3,
1917   AC_HELP_STRING([--disable-kparts3], [Disable support for Konqueror 3.x plugin (default: enabled if kde3 gui is)]),
1918 [case "${enableval}" in
1919   yes) build_kparts3=yes ;;
1920   no)  build_kparts3=no ;;
1921   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
1922 esac],build_kparts3=$build_kde3)
1924 dnl --------------------------------------------------------
1925 dnl Add KPARTS 4.x support, if specified or KDE gui is built
1926 dnl --------------------------------------------------------
1928 AC_ARG_ENABLE(kparts4,
1929   AC_HELP_STRING([--disable-kparts4], [Disble support for Konqueror 4.x plugin (default: enabled if kde4 gui is)]),
1930 [case "${enableval}" in
1931   yes) build_kparts4=yes ;;
1932   no)  build_kparts4=no ;;
1933   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
1934 esac],build_kparts4=$build_kde4)
1936 dnl -----------------------------------------------------------
1937 dnl Add NPAPI support, if specified or GTK or KDE4 gui is built
1938 dnl -----------------------------------------------------------
1940 AC_ARG_ENABLE(npapi,
1941   AC_HELP_STRING([--disable-npapi], [Disable NPAPI plugin build (default: enabled if gtk or kde4 gui is)]),
1942   [case "${enableval}" in
1943     yes) npapi=yes ;;
1944     no)  npapi=no ;;
1945     *)   AC_MSG_ERROR([bad value ${enableval} for disable-npapi option]) ;;
1946   esac],
1947   if test x$build_gtk = xyes -o x$build_kde4 = xyes; then
1948     npapi=yes
1949   fi
1952 if test x"$npapi" = x"yes"; then
1953   GNASH_PATH_NPAPI
1956 dnl -----------------------------------------------------------------
1957 dnl Enable us to disable building all browser plugins in one command.
1958 dnl -----------------------------------------------------------------
1960 AC_ARG_ENABLE(plugins,
1961   AC_HELP_STRING([--disable-plugins], [Disable all browser plugins from building (default=no)]),
1962   [case "${enableval}" in
1963     yes) plugins=yes ;;
1964     no)  plugins=no ;;
1965     *)   AC_MSG_ERROR([bad value ${enableval} for disable-plugins option]) ;;
1966   esac],
1967   plugins=yes
1969 if test x$plugins = xno; then
1970   npapi=no
1971   build_kparts3=no
1972   build_kparts4=no
1976 GNASH_PATH_FIREFOX
1978 dnl -----------------------------------------------------------------
1979 dnl END OF PLUGIN RELATED STUFF
1980 dnl -----------------------------------------------------------------
1982 dnl IRIX-hack.
1983 case $host in
1984   *-*-irix*)
1985   dnl ABI-check
1986   save_LIBS=$LIBS
1987   dir="/usr/lib /usr/lib32 /usr/lib/lib64"
1988   for i in $dir; do
1989     LIBS=-L$i
1990     AC_SEARCH_LIBS(XDisableAccessControl, X11, [
1991       xpathed=$i
1992       break
1993     ])
1994     unset ac_cv_search_XDisableAccessControl
1995   done
1996   ac_x_libraries=$xpathed
1997   x_libraries=$xpathed
1998   LIBS=$save_LIBS
1999   ;;
2000 esac
2002 AM_CONDITIONAL(LIRC, [test x$lirc_ext = xyes])
2004 AC_CHECK_HEADERS(endian.h machine/endian.h)
2005 AC_CHECK_HEADERS(malloc.h malloc/malloc.h)
2006 AC_CHECK_HEADERS(getopt.h)
2007 AC_CHECK_HEADERS(libgen.h)
2008 AC_CHECK_HEADERS(pwd.h)
2009 AC_CHECK_HEADERS(sys/utsname.h)
2010 AC_CHECK_HEADERS(signal.h)
2011 AC_CHECK_HEADERS(unistd.h)
2012 AC_CHECK_HEADERS(sys/time.h)
2013 AC_CHECK_HEADERS(ieeefp.h)
2014 dnl libcurl3-dev on Ubuntu has a dependency on lber, and Gnash won't link
2015 dnl on most machines without it. While it isn't diretly used by Gnash at all,
2016 dnl it's to work around an Ubuntu packaging bug.
2017 AC_CHECK_LIB(lber, ber_free)
2018 AC_CHECK_LIB(bz2, BZ2_bzopen)
2019 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
2021 dnl X11 is needed for fltk (at least),
2022 dnl and probably for many other guis too ...
2023 dnl if ! test x$build_fb = xyes; then # <--- this is wrong as build_x is non-exclusive
2024 dnl AC_PATH_XTRA
2025 dnl AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
2026 dnl AC_CHECK_LIB(gmp, _gmp_get_memory_functions)
2027   GNASH_PATH_X11
2028   AC_CHECK_LIB(Xi, XInput_find_display)
2029   AC_CHECK_LIB(X11, XDisableAccessControl)
2030 dnl fi
2031 AM_CONDITIONAL(HAVE_X11, [test x$x11 = xyes])
2032 AC_CHECK_LIB(rt, shm_unlink)
2033 AC_CHECK_FUNCS(shm_open shm_unlink)
2034 AC_TRY_COMPILE([#include <strings.h>], [
2035   char *p1 = (char *)"Hello";
2036   char *p2 = (char *)"World";
2037   strcasecmp(p1, p2); ],
2038   AC_DEFINE(HAVE_STRINGCASECMP, [1], [Has strcasecmp])
2041 dnl if test x$cross_compiling = xno; then
2042 AC_LANG_PUSH(C++)
2043 AC_MSG_CHECKING([to see if float formatting is broken])
2044 AC_RUN_IFELSE([
2045   AC_LANG_PROGRAM([#include <cmath>
2046     void testFloat(double d, double& s)
2047     {
2048         d /= 1000.0;
2049         s = std::fmod(d, 86400.0);
2050     }], [
2051      double d = 3.0935415006117e+23;
2052      double s;
2053      testFloat(d, s);
2054      if (static_cast<int>(s) != 61440) {
2055          return 1;
2056      }])],                         dnl end of LANG_PROGRAM
2057      broken_float=no,              dnl returns 0, works
2058      broken_float=yes,             dnl returns 1, broken
2059      broken_float=no               dnl cross compiling
2060 )                                  dnl end of RUN_IFELSE
2061 AC_LANG_POP(C++)
2062 dnl fi
2064 if test x${broken_float} = xyes; then
2065   AC_MSG_RESULT([yes])
2066   AC_DEFINE(HAVE_BROKEN_FLOAT, [1], [Has broken float support])
2067 else
2068   AC_MSG_RESULT([no])
2070 AM_CONDITIONAL(BROKEN_FLOAT, [ test x$broken_float = xyes ])
2072 dnl See if ipc_perm structure has the ipc_perm.key field, and if so,
2073 dnl which variant of the name is used.
2074 ipc_key=no
2075 AC_TRY_COMPILE([
2076   #include <sys/ipc.h>
2077   #include <sys/shm.h>], [
2078  struct shmid_ds shmseg;      
2079  key_t x = shmseg.shm_perm.key;],
2080  ipc_key=yes
2081  AC_DEFINE(IPC_PERM_KEY, [key], [Has the key field in ipc_perm])
2084 if test x$ipc_key = xno; then
2085   AC_TRY_COMPILE([
2086     #include <sys/ipc.h>
2087     #include <sys/shm.h>], [
2088     struct shmid_ds shmseg;      
2089     key_t x = shmseg.shm_perm.__key;],
2090     AC_DEFINE(IPC_PERM_KEY, [__key], [Has the key field in ipc_perm])
2091     ipc_key=yes
2092   )
2095 dnl AC_CHECK_FUNCS(strcasecmp stricmp)
2096 dnl AC_CHECK_FUNCS(vsnprintf)
2098 AC_CACHE_CHECK([for finite], ac_cv_finite,
2099  [AC_TRY_COMPILE([
2100    #include <math.h>
2101    #ifdef HAVE_IEEEFP_H
2102    #include <ieeefp.h>
2103    #endif],
2104  [double x; int y; y = finite(x);],
2105  ac_cv_finite=yes,
2106  ac_cv_finite=no
2108 if test x"$ac_cv_finite" = x"yes"; then
2109   AC_SEARCH_LIBS(finite, m,
2110     [AC_DEFINE(HAVE_FINITE, [1], [Has finite])]
2111   )
2114 AC_LANG_PUSH(C++)
2115 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
2116  [AC_TRY_COMPILE([#include <cmath>],
2117  [using namespace std; double x; int y; y = isfinite(x);],
2118  ac_cv_isfinite=yes,
2119  ac_cv_isfinite=no
2121 AC_LANG_POP(C++)
2122 if test x"$ac_cv_isfinite" = x"yes"; then
2123   dnl Don't give up if isfinite is not found in -lm
2124   dnl isfinite is defined as a macro in C99.
2125   AC_SEARCH_LIBS(isfinite, m)
2126   AC_DEFINE(HAVE_ISFINITE, [1], [Has isfinite])
2129 AC_LANG_PUSH(C++)
2130 AC_CACHE_CHECK([whether $CXX implements __PRETTY_FUNCTION__], ac_cv_implements___PRETTY_FUNCTION__, [
2131   AC_TRY_LINK([#include <cstdio>
2132 ], 
2133     [ std::printf("%s", __PRETTY_FUNCTION__); ], 
2134     [ ac_cv_implements___PRETTY_FUNCTION__="yes" ],
2135     [ ac_cv_implements___PRETTY_FUNCTION__="no" ]
2136   )
2138 if test "x$ac_cv_implements___PRETTY_FUNCTION__" = "xyes" ; then
2139   AC_DEFINE(HAVE_PRETTY_FUNCTION, [1], [__PRETTY_FUNCTION__ is defined])
2142 AC_CACHE_CHECK([whether $CXX implements __FUNCTION__], ac_cv_implements___FUNCTION__, [
2143   AC_TRY_LINK([#include <cstdio>
2144 ], 
2145     [ std::printf("%s", __FUNCTION__); ], 
2146     [ ac_cv_implements___FUNCTION__="yes" ],
2147     [ ac_cv_implements___FUNCTION__="no" ]
2148   )
2150 if test "x$ac_cv_implements___FUNCTION__" = "xyes" ; then
2151   AC_DEFINE(HAVE_FUNCTION, [1], [__FUNCTION__ is defined])
2154 AC_CACHE_CHECK([whether $CXX implements __func__], ac_cv_implements___func__, [
2155   AC_TRY_LINK([#include <cstdio>
2156 ], 
2157     [ std::printf("%s", __func__); ], 
2158     [ ac_cv_implements___func__="yes" ],
2159     [ ac_cv_implements___func__="no" ]
2160   )
2162 if test "x$ac_cv_implements___func__" = "xyes" ; then
2163   AC_DEFINE(HAVE_func, [1], [__func__ is defined])
2165 AC_LANG_POP(C++)
2166 AC_REPLACE_FUNCS(getopt)
2168 dnl Date portability stuff, used in server/asobj/Date.cpp
2169 AC_CHECK_FUNCS(gettimeofday)
2170 AC_CHECK_FUNCS(ftime)
2171 AC_CHECK_FUNCS(tzset)
2172 AC_CHECK_FUNCS(localtime_r)
2174 AC_CACHE_CHECK([whether struct tm has tm_gmtoff], ac_cv_tm_gmtoff, [
2175         AC_TRY_LINK([
2176 /* ctime(1) says "The glibc version of struct tm has additional fields
2177  * defined  when _BSD_SOURCE was set before including <time.h>"
2178  * In practice, you don't need to define it yourself (tested on glibc-2.2.1 
2179  * and 2.3.6) but if you *do* define it yourself, it makes *all* functions
2180  * favour BSD-like behaviour over of GNU/POSIX, which seems dangerous.
2181  */
2182 // #define _BSD_SOURCE 1
2183 #include <time.h>
2184 ], 
2185                 [ struct tm tm; long l = tm.tm_gmtoff; ], 
2186                 [ ac_cv_tm_gmtoff="yes" ],
2187                 [ ac_cv_tm_gmtoff="no" ]
2188         )
2190 if test "x$ac_cv_tm_gmtoff" = "xyes" ; then
2191         AC_DEFINE(HAVE_TM_GMTOFF, [1], [struct tm has member tm_gmtoff])
2194 AC_CACHE_CHECK([whether timezone is a long], ac_cv_long_timezone, [
2195         AC_TRY_LINK([
2196 /* On Linux/glibc, tzset(3) says "extern long timezone;" (seconds West of GMT)
2197  * but on BSD char *timezone(int,int) is a function returning a string name.
2198  * The BSD function timegm() may be the equivalent, but this should
2199  * not be necessary because on BSD the code should use tm.tm_gmtoff instead
2200  * (use of long timezone is a fallback strategy for when tm_gmtoff exists not).
2201  */
2202 #include <stdio.h>
2203 #include <time.h>
2204 extern long timezone;
2205   ], 
2206     [ printf("%ld", timezone); ], 
2207     [ ac_cv_long_timezone="yes" ],
2208     [ ac_cv_long_timezone="no" ]
2209    )
2211 if test "x$ac_cv_long_timezone" = "xyes" ; then
2212   AC_DEFINE(HAVE_LONG_TIMEZONE, [1], [extern timezone is a long integer, not a function])
2215 AC_CHECK_FUNCS(sysconf)
2216 AC_CHECK_FUNCS(shmget shmat shmdt mmap)
2217 AC_CHECK_FUNCS(memmove)
2218 AC_CHECK_FUNCS(scandir)         dnl supported by BSD and Linux, but you never know...
2219 dnl AC_CHECK_FUNC(strndup, AC_DEFINE(HAVE_STRNDUP, 1, [Has strndup()] ))
2220 AC_CHECK_FUNC(clock_gettime, AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Has clock_gettime()] ))
2221 dnl AC_CHECK_FUNCS(strlcpy, AC_DEFINE(HAVE_STRLCPY_PROTO, [1],[Define if you have the strlcpy prototype]))
2222 dnl AC_CHECK_FUNCS(strlcat, AC_DEFINE(HAVE_STRLCAT_PROTO, [1],[Define if you have the strlcat prototype]))
2223 dnl Look for Win32 networking stuff
2224 AC_CHECK_HEADERS(winsock.h)
2225 AC_CHECK_HEADERS(winsock2.h)
2226 AC_CHECK_FUNCS(socket)
2227 AC_CHECK_FUNCS(CreateFileMappingA)
2229 dnl Shm::resize() uses this if it exists
2230 AC_CHECK_LIB(c, mremap)
2232 GNASH_PKG_FIND(nspr, [nspr.h], [Netscape Portable Runtime (NSPR)], PR_Init)
2234 AC_PATH_TOOL(WINDRES, [windres])
2235 AC_SUBST(WINDRES)
2237 GNASH_PKG_FIND(z, [zlib.h], [zlib compression library], compress)
2238 GNASH_PKG_FIND(jpeg, [jpeglib.h], [jpeg images], jpeg_mem_init)
2239 if test x"${openbsd_os}" = x"yes"; then
2240   GNASH_PKG_FIND(libpng, [png.h], [png images], png_info_init)
2241 else
2242   GNASH_PKG_FIND(png, [png.h], [png images], png_info_init)
2244 GNASH_PKG_FIND(gif, [gif_lib.h], [gif images], DGifOpen)
2245 if test x"${GIF_LIBS}" = x ; then
2246  GNASH_PKG_FIND(ungif, [gif_lib.h], [gif images], DGifOpen)
2247  GIF_LIBS=${UNGIF_LIBS}
2248  GIF_CFLAGS=${UNGIF_CFLAGS}
2250 if test x"$testsuite" = x"yes"; then
2251   GNASH_PKG_INCLUDES([dejagnu], [dejagnu.h])
2254 GNASH_PKG_FIND(speex, [speex.h], [speex audio codec], speex_decode_int)
2255 AM_CONDITIONAL(HAVE_SPEEX, [ test x$has_speex = xyes ])
2256 if test x$has_speex = xyes ; then
2257   AC_DEFINE([DECODING_SPEEX], [1], [Speex codec available])
2260 GNASH_PKG_FIND(speexdsp, [speex_resampler.h], [speex DSP utilities], speex_resampler_process_int)
2261 if test x$has_speexdsp = xyes ; then
2262   AC_DEFINE([RESAMPLING_SPEEX], [1], [Speex resampler available])
2265 dnl Find freetype and fontconfig
2266 GNASH_PATH_FREETYPE2
2267 GNASH_PKG_FIND(fontconfig, [fontconfig/fontconfig.h], [fontconfig library], FcFontMatch)
2269 if test x$cross_compiling = xno; then
2270   AC_PATH_MING
2273 if test x"$MING_VERSION_CODE" = x; then
2274  MING_VERSION_CODE=00000000
2277 AM_CONDITIONAL(ENABLE_MING,
2278         [ test x"$MAKESWF" != x -a $MING_VERSION_CODE -gt 00040000 ])
2280 AM_CONDITIONAL(MING_VERSION_0_4,
2281         [ test $MING_VERSION_CODE -ge 00040000  ])
2282 AM_CONDITIONAL(MAKESWF_SUPPORTS_PREBUILT_CLIPS,
2283         [ test $MING_VERSION_CODE -ge 00040002  ])
2284 AM_CONDITIONAL(MING_SUPPORTS_INIT_ACTIONS,
2285         [ test $MING_VERSION_CODE -ge 00040004  ])
2286 AM_CONDITIONAL(MING_SUPPORTS_REPLACE_TAG,
2287         [ test $MING_VERSION_CODE -ge 00040005 ])
2288 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_ADD_CHARACTER,
2289         [ test $MING_VERSION_CODE -ge 00040005 ])
2290 AM_CONDITIONAL(MING_SUPPORTS_STREAMING_SOUND,
2291         [ test $MING_VERSION_CODE -ge 00040006 ])
2292 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_SET_DEPTH,
2293         [ test $MING_VERSION_CODE -ge 00040006 ])
2294 AM_CONDITIONAL(MING_VERSION_0_4_3,
2295         [ test $MING_VERSION_CODE -ge 00040300 ])
2296 AM_CONDITIONAL(MING_VERSION_0_4_4,
2297         [ test $MING_VERSION_CODE -ge 00040400 ])
2299 if test x$cross_compiling = xno; then
2300     AC_ARG_WITH([swfdec_testsuite],
2301         AC_HELP_STRING([--with-swfdec-testsuite],
2302             [directory where swfdec testsuite (the 'test' dir) is]),
2303         if test x"${withval}" = xyes; then
2304             dir=`dirname $0`
2305             dir=`cd ${dir} && pwd`
2306             withval="${dir}/testsuite/swfdec/src/test"
2307         fi
2308         SWFDEC_TESTSUITE=${withval}
2309     )
2310     AC_SUBST(SWFDEC_TESTSUITE)
2312 AM_CONDITIONAL(ENABLE_SWFDEC_TESTSUITE, [ test x"$SWFDEC_TESTSUITE" != x ])
2314 if test x$cross_compiling = xno; then
2315   AC_ARG_ENABLE([http_testsuite],
2316       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2317           AC_HELP_STRING([--enable-http-testsuite=<baseurl>],
2318                   [Enable http based testsuite (default url is http://www.gnashdev.org/testcases)]),
2319               [case "${enableval}" in
2320              no) HTTP_TESTSUITE="" ;;
2321             yes) HTTP_TESTSUITE="http://www.gnashdev.org/testcases" ;;
2322               *) HTTP_TESTSUITE="${enableval}";;
2323            esac])
2324   AC_SUBST(HTTP_TESTSUITE)
2326 AM_CONDITIONAL(ENABLE_HTTP_TESTSUITE, [ test x"$HTTP_TESTSUITE" != x ])
2328 if test x$cross_compiling = xno; then
2329   AC_ARG_ENABLE([red5_testing],
2330       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2331           AC_HELP_STRING([--enable-red5-testing=<host>],
2332                   [Enable red5 based testing (default host is www.gnashdev.org)]),
2333               [case "${enableval}" in
2334              no) RED5_HOST="" ;;
2335             yes) RED5_HOST="www.gnashdev.org" ;;
2336               *) RED5_HOST="${enableval}";;
2337            esac])
2338   AC_SUBST(RED5_HOST)
2340 AM_CONDITIONAL(ENABLE_RED5_TESTING, [ test x"$RED5_HOST" != x ])
2342 if test x$cross_compiling = xno; then
2343   AC_ARG_ENABLE([rtmpy_testing],
2344       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2345           AC_HELP_STRING([--enable-rtmpy-testing=<host>],
2346                   [Enable rtmpy based testing (default host is www.gnashdev.org)]),
2347               [case "${enableval}" in
2348              no) RTMPY_HOST="" ;;
2349             yes) RTMPY_HOST="www.gnashdev.org" ;;
2350               *) RTMPY_HOST="${enableval}";;
2351            esac])
2352   AC_SUBST(RTMPY_HOST)
2354 AM_CONDITIONAL(ENABLE_RTMPY_TESTING, [ test x"$RTMPY_HOST" != x ])
2356 dnl The name might differ between systems.
2357 if test x"$testsuite" = x"yes"; then
2358 AC_PATH_PROGS(NETCAT, [nc netcat])
2359 AC_PATH_PROG(WGET, wget)
2361 AM_CONDITIONAL(HAS_NETCAT, [ test x"$NETCAT" != x ])
2362 AM_CONDITIONAL(HAS_WGET, [ test x"$WGET" != x ])
2365 dnl See if we can use the swfmill, mtasc, swfc and haxe based testsuites 
2367 if test x"$testsuite" = x"yes" -a x$cross_compiling = xno; then
2368   AC_PATH_PROG(AS3COMPILE, as3compile)
2369   AC_PATH_PROG(SWFC, swfc)
2370   AC_PATH_SWFMILL
2371   AC_PATH_MTASC
2372   AC_PATH_HAXE
2375 AM_CONDITIONAL(ENABLE_SWFMILL, [ test x"$SWFMILL" != x ])
2376 AM_CONDITIONAL(SWFMILL_AS3_SUPPORT,
2377         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2379 dnl SWFMILL versions older than 0.3 didn't get function2 flags order correctly
2380 AM_CONDITIONAL(SWFMILL_FUNCTION2_FLAGS_ORDER_CORRECT,
2381         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2383 AM_CONDITIONAL(ENABLE_AS3COMPILE, [ test x"$AS3COMPILE" != x ])
2384 AM_CONDITIONAL(ENABLE_MTASC, [ test x"$MTASC" != x ])
2385 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2386 AM_CONDITIONAL(ENABLE_SWFC, [ test x"$SWFC" != x ])
2387 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2389 AC_PATH_PROG(DOXYGEN, doxygen)
2390 AM_CONDITIONAL(ENABLE_DOXYGEN, [ test x"$DOXYGEN" != x ])
2392 dnl currently unused
2393 dnl GNASH_PKG_FIND(ogg, [ogg.h], [decode ogg streams], ogg_stream_init)
2395 dnl Qtopia is a desktop environment for embedded devices.
2396 dnl GNASH_PATH_QTOPIA3
2397 dnl GNASH_PATH_QTOPIA4
2398 has_qtopia3=no
2399 has_qtopia4=no
2402 AM_CONDITIONAL(HAVE_QTOPIA3, [test x$has_qtopia3 = xyes])
2403 AM_CONDITIONAL(HAVE_QTOPIA4, [test x$has_qtopia4 = xyes])
2404 AM_CONDITIONAL(HAVE_KDE3,    [test x$has_kde3 = xyes])
2405 AM_CONDITIONAL(HAVE_KDE4,    [test x$has_kde4 = xyes])
2406 AM_CONDITIONAL(HAVE_QT3,     [test x$has_qt3 = xyes])
2407 AM_CONDITIONAL(HAVE_QT4,     [test x$has_qt4 = xyes])
2409 AM_CONDITIONAL(WITH_KDE4,    [test "$with_kde4" != "no"])
2410 AM_CONDITIONAL([QT_X11],     [test "$platform" = "X11"])
2411 AM_CONDITIONAL([QTOPIA],     [test "$platform" = "Qtopia"])
2412 AM_CONDITIONAL([QT_OSX],     [test "$platform" = "OSX"])
2413 AM_CONDITIONAL([QT_OS9],     [test "$platform" = "OS9"])
2414 AM_CONDITIONAL([QT_WIN32],   [test "$platform" = "Win32"])
2416 dnl Need GLIB for both GTK and GST
2417 if test x"${build_gtk}" = xyes -o x"${build_media_gst}" = xyes; then
2418   GNASH_PATH_GLIB
2421 AM_CONDITIONAL(HAVE_GLIB, [ test x"${has_glib}" = xyes ])
2423 if test x$npapi = xyes; then
2424   if ! test x$build_gtk = xyes -o x$build_kde4 = xyes; then
2425     AC_MSG_WARN(["Enabled NPAPI plugin, but it's not supported by the selected GUI"])
2426   fi
2429 if test x$windows = xyes -a x$npapi = xyes; then
2430   if test "x$NSPR_CFLAGS" = x -a "x$NSPR_LIBS" = x; then
2431     AC_MSG_ERROR(["On Win32, NPAPI plugin requires NSPR."])
2432   fi
2433   if test "x$WINDRES" = x; then
2434     AC_MSG_ERROR(["On Win32, NPAPI plugin requires windres."])
2435   fi
2438 dnl Need GLIB for NPAPI plugin
2439 if test x$npapi = xyes; then
2440   GNASH_PATH_GLIB
2443 dnl if kde isn't installed, even if it's specified, don't try to build
2444 dnl the KPARTS plugin, which is KDE based.
2445 if test x$has_kde3 = xno -a x$build_kparts3 = xyes; then
2446   build_kparts3=no
2447 dnl  build_kde3=no
2448   AC_MSG_WARN(["Disabling KPARTS 3.x plugin, no KDE development found"])
2451 if test x$build_kde3 = xno -a x$build_kparts3 = xyes; then
2452   AC_MSG_WARN(["Enabled KPARTS 3.x plugin, but you aren't building a KDE based GUI!"])
2454 if test x$has_kde4 = xno -a x$build_kparts4 = xyes; then
2455   build_kparts4=no
2456 dnl  build_kde4=no
2457   AC_MSG_WARN(["Disabling KPARTS 4.x plugin, no KDE 4.x development found"])
2460 if test x$build_kde4 = xno -a x$kparts4 = xyes; then
2461   AC_MSG_WARN(["Enabled KPARTS 4.x plugin, but you aren't building a KDE 4.x based GUI!"])
2464 AM_CONDITIONAL(BUILD_QTOPIA3_GUI,  [ test x$build_qtopia3 = xyes ])
2465 AM_CONDITIONAL(BUILD_QTOPIA4_GUI,  [ test x$build_qtopia4 = xyes ])
2467 dnl Drop these conditionals ?
2468 AM_CONDITIONAL(BUILD_QT3_GUI,
2469     [ test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes ])
2470 AM_CONDITIONAL(BUILD_QT4_GUI,
2471     [ test x"${build_kde4}" = xyes -o x"${build_qtopia4}" = xyes ])
2473 AM_CONDITIONAL(BUILD_KDE3_GUI,     [ test x$build_kde3 = xyes ])
2474 AM_CONDITIONAL(BUILD_KDE4_GUI,     [ test x$build_kde4 = xyes ])
2476 AM_CONDITIONAL(BUILD_GTK_GUI,      [ test x$build_gtk = xyes ])
2477 AM_CONDITIONAL(BUILD_FLTK_GUI,     [ test x$build_fltk = xyes ])
2478 AM_CONDITIONAL(BUILD_SDL_GUI,      [ test x$build_sdl = xyes ])
2479 AM_CONDITIONAL(BUILD_FB_GUI,       [ test x$build_fb = xyes ])
2480 AM_CONDITIONAL(BUILD_AQUA_GUI,     [ test x$build_aqua = xyes ])
2481 AM_CONDITIONAL(ALLSTATIC,          [ test x$build_aqua = xyes ]) dnl the Aqua-binary is always static.
2482 AM_CONDITIONAL(BUILD_RISCOS_GUI,   [ test x$build_riscos = xyes ])
2483 AM_CONDITIONAL(BUILD_DUMP_GUI,     [ test x$build_dump = xyes ])
2484 AM_CONDITIONAL(BUILD_AMIGAOS4_GUI, [ test x$build_aos4 = xyes ])
2485 AM_CONDITIONAL(BUILD_HAIKU_GUI,    [ test x$build_haiku = xyes ])
2487 # plugin building flags
2488 AM_CONDITIONAL(NPAPI,   [test x"${npapi}" = xyes])
2489 AM_CONDITIONAL(KPARTS3, [test x"${build_kparts3}" = xyes])
2490 AM_CONDITIONAL(KPARTS4, [test x"${build_kparts4}" = xyes])
2492 if test x"${build_gles}" = xyes; then
2493   GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
2494   GNASH_PATH_GLES
2497 if test x"${build_ogv}" = xyes; then
2498   GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
2499   GNASH_PKG_FIND(OpenVG, [vg/openvg.h], [OpenVG library], vgDrawImage)
2502 if test x"${build_gtk}" = xyes; then
2503   AC_ARG_ENABLE(ghelp,
2504     AC_HELP_STRING([--enable-ghelp], [Enable support for the GNOME help system]),
2505     [case "${enableval}" in
2506       yes) ghelp=yes ;;
2507       no)  ghelp=no ;;
2508       *)   AC_MSG_ERROR([bad value ${enableval} for enable-ghelp option]) ;;
2509     esac], ghelp=no
2510   )
2512   if test x"${ghelp}" = x"yes" ; then
2513     AC_PATH_PROG(SCROLLKEEPER, scrollkeeper-config, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2514     AC_PATH_PROG(SCROLLUPDATE, scrollkeeper-update, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2515     AC_PATH_PROG(SCROLLINSTALL, scrollkeeper-preinstall, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2517     if test x"$SCROLLKEEPER" = x -o x"$SCROLLUPDATE" = x -o x"$SCROLLINSTALL" = x ; then
2518       ghelp=no
2519       AC_MSG_WARN([You need to install scrollkeeper for gnome help])
2520     fi
2521   fi
2523 AM_CONDITIONAL(GHELP, [test x${ghelp} = xyes])
2525 if test x${build_fltk} = xyes; then
2526   GNASH_PKG_FIND(Xft, [Xft.h], [xft library], XftGlyphRender)
2529 dnl Some systems have a pervered set of dependencies.
2530 dnl Fedora Core 6 appears to have a dependency on expat for fontconfig.
2531 dnl We only need the library, but this is the easy wind to find it.
2532 GNASH_PKG_FIND(expat, [expat.h], [Expat library], XML_ErrorString)
2534 dnl these conditionals were moved out of kde.m4
2535 AM_CONDITIONAL(HAS_KDE3, [test x$has_kde3 = xyes])
2536 # used to disable x11-specific stuff on special platforms
2537 AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
2538 AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
2539 AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2541 AM_CONDITIONAL(HAVE_GLEXT, [test x$glext = xyes])
2543 dnl We don't have GTKGLExt, so default to SDL, and don't build the Firefox plugin
2544 if test x$glext = xno -a x$build_ogl = xyes; then
2545   if test x$gtk2 = xyes -a x$build_gtk = xyes; then
2546     AC_ERROR([You have GTK installed, but not GtkGLExt. You need GtkGLExt to use the OpenGL renderer. Attempting to build SDL version])
2547   fi
2548   gui=sdl
2549   npapi=no
2550   AC_MSG_WARN([GTK2 specified for the GUI, but GtkGlExt is not present. Trying SDL instead.])
2553 missing_codecs=""
2554 if test x"$build_media_gst" = "xyes"; then
2555   AC_PATH_PROG(GST_INSPECT, gst-inspect, ,[${pathlist}])
2556   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2557     AC_PATH_PROG(GST_INSPECT, gst-inspect-0.10, ,[${pathlist}])
2558   fi
2559   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2560     dnl FIXME: there may be multiple acceptable plugins that are acceptable for
2561     dnl our use. For example, mad or FFmpeg will play mp3.
2562     codecs="ffdec_flv ffdec_flashsv ffdec_vp6f ffdec_flashsv mad vorbisdec ffdec_vp6"
2563     for i in $codecs; do
2564        hits="`$GST_INSPECT $i | grep -c 'Long name'`"
2565        if test $hits -eq 0; then
2566          missing_codecs="$missing_codecs $i"
2567          AC_MSG_WARN([Missing codec: $i])
2568        fi
2569     done
2570   fi
2571   GNASH_PKG_FIND(gstreamer_plugins_base, [gst/interfaces/probeprobe.h], [gstreamer interfaces library], gst_property_probe_probe_and_get_values_name, [0.10])
2572   GNASH_PKG_FIND(gstreamer_app, [gst/app/gstappsink.h], [gstreamer app library], call_gmon_start, [0.10])
2573   GNASH_PKG_FIND(gstreamer, [gst/gst.h], [gstreamer library], gst_init, [0.10])
2574   dnl if cross compiling, we're usually not going to be able to pop up
2575   dnl the codec installer to download the package to install, so disable
2576   dnl it if cross compiling with gstreamer support.
2577   if test x$cross_compiling = xno; then
2578     GNASH_PKG_FIND(gstreamer_pbutils, [gst/pbutils/install-plugins.h], [gstreamer PB Utils library], gst_install_plugins_supported, [0.10])
2579   fi
2580   dnl when cross compiling Gstreamer, not all supplied SDKs include all the
2581   dnl development libraries since most devices don't need to support plugin
2582   dnl development, only the runtime. In these caes we often have the header
2583   dnl files but not the libraries.
2584   if test x"${has_gstreamer_plugins_base}" = xyes; then
2585     GSTREAMER_LIBS="-lgstinterfaces-0.10 $GSTREAMER_LIBS"
2586     AC_DEFINE(HAS_GSTREAMER_PLUGINS_BASE, [1], [Has the Gstreamer Plugin Dev package installed])
2587   fi
2590 AM_CONDITIONAL(HAVE_CAIRO, [true])
2591 dnl AM_CONDITIONAL(HAVE_CAIRO, [test x"${has_cairo}" = xyes])
2592 AM_CONDITIONAL(HAVE_OPENGL, [true])
2593 dnl AM_CONDITIONAL(HAVE_OPENGL, test x"${has_opengl}" = xyes)
2595 AM_CONDITIONAL(USE_SOUND_SDL, test x$build_sound_sdl = xyes)
2596 AM_CONDITIONAL(USE_SOUND_AHI, test x$build_sound_ahi = xyes)
2597 AM_CONDITIONAL(USE_SOUND_MKIT, test x$build_sound_mkit = xyes)
2598 AM_CONDITIONAL(USE_FFMPEG_ENGINE, test x"${build_media_ffmpeg}" = x"yes")
2599 AM_CONDITIONAL(USE_GST_ENGINE, test x"${build_media_gst}" = x"yes")
2600 AM_CONDITIONAL(HAVE_OPENGL, test x"${OPENGL_LIBS}" != x)
2601 dnl for now the Haiku media handler is experimental
2602 AM_CONDITIONAL(USE_HAIKU_ENGINE, test x"$build_media_haiku" = xyes)
2604 if test x"${build_media_ffmpeg}" = x"yes"; then
2605   AC_DEFINE([ENABLE_FFMPEG_MEDIA],  [1], [Use FFmpeg for media decoding])
2608 if test x"${build_media_gst}" = x"yes"; then
2609   AC_DEFINE([ENABLE_GST_MEDIA],  [1], [Use gstreamer for media decoding])
2612 if test x"${build_media_haiku}" = x"yes"; then
2613   AC_DEFINE([ENABLE_HAIKU_MEDIA],  [1], [Use haiku for media decoding])
2616 if test x$build_sound_mkit = xyes; then
2617   if test x"${haiku}" != xyes; then
2618     AC_MSG_ERROR([Media Kit sound handling is supported only under Haiku]);
2619   else
2620     AC_DEFINE([SOUND_MKIT],  [1], [Use Haiku's Media Kit for sound handling])
2621   fi
2624 if test x"${build_sound_sdl}" = xyes; then
2625   AC_DEFINE([SOUND_SDL],  [1], [Use SDL for sound handling])
2628 if test x"${build_sound_ahi}" = xyes; then
2629   if test x"$amigaos4" != xyes; then
2630     AC_MSG_ERROR([AHI sound handling is supported only under AmigaOS]);
2631   else
2632     AC_DEFINE([SOUND_AHI],  [1], [Use AmigaOS AHI for sound handling])
2633   fi
2636 if test x$build_fltk = xyes; then
2637   GNASH_PKG_FIND(fltk2, [fltk/FL_API.h], [Fast Light Toolkit], fl_window_flush)
2640 AM_CONDITIONAL(HAVE_FLTK2, [ test x$has_fltk2 = xyes ])
2641 AM_CONDITIONAL(HAS_XFT, [ test x$has_xft = xyes ])
2643 GNASH_DOCBOOK
2644 AM_CONDITIONAL(ENABLE_INFO, test x${INSTALL_INFO} != x)
2645 AM_CONDITIONAL(DOCBOOK, test x$docbook = xyes)
2646 AM_CONDITIONAL(ENABLE_TEXI, [ test x"$DB2X_TEXI" != x -o x"$DB2X_TEXIXML" != x ])
2647 AM_CONDITIONAL(ENABLE_PDF, [ test x"$DB2X_PDF" ])
2648 AM_CONDITIONAL(ENABLE_HTML, [ test x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2649 AM_CONDITIONAL(ENABLE_FOP, [ test x"$FOP" != x -a x"$docbook_styles" != x ])
2650 AM_CONDITIONAL(ENABLE_XMLTEX, [ test x"$PDFXMLTEX" != x -a x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2651 dnl  AM_CONDITIONAL(ENABLE_DBLATEX, [ test x"$DBLATEX" != x ])
2652 AM_CONDITIONAL(ENABLE_MAN, [ test x"$DB2X_MAN" != x -o x"$DB2X_MANXML" != x ])
2653 AM_CONDITIONAL(HAVE_AGG, [test x"${AGG_LIBS}" != x])
2655 GNASH_PATH_CURL
2657 dnl Define winsock if we're on windows. We could do something complicated,
2658 dnl but since AC_EXEEXT does it for us, we'll do this the easy way.
2659 if test x"$EXEEXT" = "exe"; then
2660   AC_DEFINE(HAVE_WINSOCK,1,[This is defined is we are on Win32])
2663 dnl ****************************************
2664 dnl *** Check for ELF visibility support ***
2665 dnl ****************************************
2667 AC_ARG_ENABLE([visibility],
2668   AC_HELP_STRING([--enable-visibility], [Use ELF visibility attributes]), [], [enable_visibility=no])
2670 if test x"$enable_visibility" != x"no"; then
2671   dnl Check whether the compiler supports the visibility attribute
2672   save_CFLAGS="$CFLAGS"
2673   CFLAGS="$CFLAGS -Wall -Werror"
2674   AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
2675   AC_COMPILE_IFELSE(AC_LANG_SOURCE(
2676     [
2677       void __attribute__ ((visibility("default"))) test_default (void) {}
2678       void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
2679       int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
2680     ]),
2681     [
2682       AC_DEFINE([HAVE_GNUC_VISIBILITY], [1], [Define this for GCC-visibility.])
2683       AC_MSG_RESULT([yes])
2684     ],
2685     [
2686       AC_MSG_RESULT([no])
2687     ]
2688   )
2689   CFLAGS="$save_CFLAGS"
2692 AC_ARG_ENABLE([pch],
2693   AC_HELP_STRING([--enable-pch], [Enable precompiled header support]), [], [enable_pch=no])
2695 AM_CONDITIONAL([ENABLE_PCH], [test x"$enable_pch" != x"no"])
2697 PCH_FLAGS="-include all-includes.h -Winvalid-pch"
2698 AC_SUBST(PCH_FLAGS)
2700 GNASH_PATH_PTHREADS
2702 GNASH_PATH_BOOST
2704 dnl disable --gcc-arch by default
2705 dnl AX_GCC_ARCHFLAG
2706 dnl AC_SUBST(CFLAGS)
2707 dnl AC_SUBST(CLIBS)
2709 AC_ARG_ENABLE([strict],
2710   AC_HELP_STRING([--enable-strict],[Accept only standards compliant code (GCC only)]),
2711   [case "${enableval}" in
2712     yes) strict=yes ;;
2713     no) strict=no ;;
2714     *) AC_MSG_ERROR([bad value ${enableval} for --enable-strict option]) ;;
2715   esac],
2716   [strict=no]
2719 if test x"$strict" = x"yes" -a x$build_agg = xyes; then
2720    AC_MSG_ERROR([agg renderer will fail with --enable-strict.]);        
2723 # We want warnings, lots of warnings  :-)
2724 # It should be possible to build with -ansi, not with
2725 # -pedantic because of agg.
2727 # -ansi was actually dropped because it hides 'fileno', which
2728 # is used in a few places
2730 if test x"$GCC" = x"yes"; then
2731   CXXFLAGS="$CXXFLAGS \
2732     $CROSS_CXXFLAGS \
2733     -W \
2734     -Wall \
2735     -Wcast-align \
2736     -Wcast-qual \
2737     -Wpointer-arith \
2738     -Wreturn-type \
2739     -Wnon-virtual-dtor \
2740     -Wunused \
2741     "
2742   CFLAGS="$CFLAGS \
2743     $CROSS_CXXFLAGS \
2744     -W \
2745     -Wall \
2746     -Wcast-align \
2747     -Wcast-qual \
2748     -Wpointer-arith \
2749     -Wreturn-type \
2750     -Wmissing-declarations \
2751     -Wmissing-prototypes \
2752     -Wstrict-prototypes \
2753     "
2754   if test x"$strict" = x"yes"; then
2755     CXXFLAGS="$CXXFLAGS \
2756       -Wextra \   
2757       -pedantic \
2758       -Wno-long-long \
2759       "
2761     CFLAGS="$CFLAGS \
2762       -pedantic \
2763       -Wno-long-long \
2764       -ansi \
2765       "
2766   fi
2769 AC_ARG_ENABLE([cassert],
2770   AC_HELP_STRING([--disable-cassert],[Disable assertion checking]),
2771   [case "${enableval}" in
2772     yes) cassert=yes ;;
2773     no) cassert=no ;;
2774     *) AC_MSG_ERROR([bad value ${enableval} for --enable-cassert option]) ;;
2775   esac],
2776   [cassert=yes]
2779 if test x"$cassert" = x"no"; then
2780     CXXFLAGS="$CXXFLAGS \
2781       -DNDEBUG \
2782       "
2783     CFLAGS="$CFLAGS \
2784       -DNDEBUG \
2785       "
2788 dnl /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
2789 AC_DEFUN([CHECK_VISIBILITY_GCC_BUG],
2790   [
2791     AC_CACHE_CHECK([if -fvisibility-inlines-hidden is broken], ac_cv_gcc_visibility_bug, [
2792         AC_LANG_PUSH(C++)
2793         save_CXXFLAGS=$CXXFLAGS
2794         save_LDFLAGS=$LDFLAGS
2795         CXXFLAGS="-fPIC -fvisibility-inlines-hidden -O0"
2796         LDFLAGS="$LDFLAGS -shared -fPIC"
2798         AC_TRY_LINK(
2799         [          
2800           template<typename CharT>
2801           struct VisTest
2802           {
2803             inline VisTest ();
2804           };
2805           template<typename CharT>
2806           inline VisTest<CharT>::VisTest()
2807         {}
2808         extern template class VisTest<char>;  // It works if we drop that line
2809         int some_function( int do_something ) __attribute__((visibility("default")));
2810         int some_function( int )
2811           {
2812             VisTest<char> a;
2813             return 0;
2814           }
2815         ], [],
2816         ac_cv_gcc_visibility_bug=no, ac_cv_gcc_visibility_bug=yes)
2818         CXXFLAGS=$save_CXXFLAGS
2819         LDFLAGS=$save_LDFLAGS
2820         AC_LANG_POP(C++)
2821       ]
2822     )
2823     if test x$ac_cv_gcc_visibility_bug = xno; then
2824       CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
2825     fi
2826   ]
2829 CHECK_VISIBILITY_GCC_BUG
2831 if test x$ac_cv_gcc_visibility_bug = xno; then
2832   AC_LANG_PUSH(C++)
2833   AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
2834   save_CXXFLAGS=$CXXFLAGS
2835   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2836   AC_LINK_IFELSE([AC_LANG_PROGRAM()], 
2837                  [ac_cv_gcc_visibility=yes;
2838                   AC_MSG_RESULT([yes])],
2839                  [ac_cv_gcc_visibility=no;
2840                   AC_MSG_RESULT([no])]);
2841   CXXFLAGS="$save_CXXFLAGS"
2842   AC_LANG_POP(C++)
2846 AM_CONDITIONAL(VISIBILITY_WORKS, test x"$ac_cv_gcc_visibility" = xyes)
2848 if test x"$ac_cv_gcc_visibility" = xyes -a x"$enable_visibility" != xno; then
2849   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2852 dnl Define convienience constants so Gnash can print out the
2853 dnl default configuration of the build.
2854 RENDERER_CONFIG="${renderer_list}"
2855 RENDERER_LIBS=
2856 for rend in `echo "${add_renderer}" | tr ',' ' '`; do
2857         RENDERER_LIBS="${RENDERER_LIBS} \$(top_builddir)/librender/libgnash${rend}.la"
2858 done
2859 dnl echo "RENDERER_LIBS=$RENDERER_LIBS"
2860 AC_SUBST(RENDERER_LIBS)
2861 AC_SUBST(RENDERER_CONFIG)
2863 HWACCEL_CONFIG="${hwaccel_list}"
2864 AC_SUBST(HWACCEL_CONFIG)
2866 dnl check for missing libraries and disable them.
2867 if test x"$BOOST_LIBS" != x; then
2868   if test x"${cygnal_missing_libs}" != x; then
2869     for i in ${cygnal_missing_libs}; do
2870       if test $i = serialization; then
2871         AC_DEFINE([BOOST_MULTI_INDEX_DISABLE_SERIALIZATION], ["1"], [if the library is missing, don't use it.])
2872       fi
2873     done
2874   fi
2877 CYGNAL_PATHS
2879 SUPPORTED_GUIS=
2880 if test x$build_qtopia3 = xyes; then
2881   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
2883 if test x$build_qtopia4 = xyes; then
2884   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
2886 if test x$build_fb = xyes; then
2887   SUPPORTED_GUIS="${SUPPORTED_GUIS},fb"
2889 if test x$build_fltk = xyes; then
2890   SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
2892 if test x$build_kde3 = xyes; then
2893   SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
2895 if test x$build_kde4 = xyes; then
2896   SUPPORTED_GUIS="${SUPPORTED_GUIS},kde4"
2898 if test x$build_gtk = xyes; then
2899   SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
2901 if test x$build_sdl = xyes; then
2902   SUPPORTED_GUIS="${SUPPORTED_GUIS},sdl"
2904 if test x$build_riscos = xyes; then
2905   SUPPORTED_GUIS="${SUPPORTED_GUIS},riscos"
2907 if test x$build_aqua = xyes; then
2908   SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
2910 if test x$build_dump = xyes; then
2911   SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
2913 if test x$build_aos4 = xyes; then
2914   SUPPORTED_GUIS="${SUPPORTED_GUIS},aos4"
2916 if test x$build_haiku = xyes; then
2917   SUPPORTED_GUIS="${SUPPORTED_GUIS},haiku"
2919 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
2920 AC_SUBST(SUPPORTED_GUIS)
2922 dnl AC_CONFIG_LINKS(doc/C/images)
2923 dnl AC_CONFIG_LINKS(gnashconfig.h)
2924 AC_CONFIG_LINKS(cygnal/testsuite/cygnal.all/cygnalrc:cygnal/testsuite/cygnal.all/cygnalrc.in)
2925 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc:testsuite/libbase.all/gnashrc.in)
2926 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc-local:testsuite/libbase.all/gnashrc-local.in)
2928 AC_CONFIG_FILES(
2929 gnash.pc:gnash.pc.in
2930 desktop/gnash-gtk-launcher:desktop/gnash-gtk-launcher.in
2931 desktop/gnash-qt-launcher:desktop/gnash-qt-launcher.in
2934 AC_OUTPUT(Makefile
2935 desktop/Makefile
2936 po/Makefile
2937 libmedia/Makefile
2938 libsound/Makefile
2939 libbase/Makefile
2940 libcore/Makefile
2941 libcore/vm/Makefile
2942 libcore/parser/Makefile
2943 libvaapi/Makefile
2944 librender/Makefile
2945 utilities/Makefile
2946 doc/Makefile
2947 doc/C/Makefile
2948 doc/Doxyfile
2949 testsuite/Makefile
2950 testsuite/media/Makefile
2951 testsuite/libbase.all/Makefile
2952 testsuite/as3compile.all/Makefile
2953 testsuite/actionscript.all/Makefile
2954 testsuite/samples/Makefile
2955 testsuite/swfdec/Makefile
2956 testsuite/misc-ming.all/Makefile
2957 testsuite/misc-ming.all/action_order/Makefile
2958 testsuite/misc-ming.all/displaylist_depths/Makefile
2959 testsuite/misc-ming.all/loop/Makefile
2960 testsuite/misc-ming.all/loading/Makefile
2961 testsuite/misc-mtasc.all/Makefile
2962 testsuite/misc-haxe.all/Makefile
2963 testsuite/misc-haxe.all/classes.all/Makefile
2964 testsuite/misc-swfmill.all/Makefile
2965 testsuite/misc-swfmill.all/trace-as2/Makefile
2966 testsuite/misc-swfmill.all/trace-as3/Makefile
2967 testsuite/misc-swfc.all/Makefile
2968 testsuite/network.all/Makefile
2969 testsuite/movies.all/Makefile
2970 testsuite/libcore.all/Makefile
2971 testsuite/libmedia.all/Makefile
2972 gui/Makefile
2973 gui/fb/Makefile
2974 gui/dump/Makefile
2975 gui/Info.plist
2976 gui/pythonmod/Makefile
2977 extensions/Makefile
2978 extensions/dejagnu/Makefile
2979 extensions/mysql/Makefile
2980 extensions/fileio/Makefile
2981 extensions/gtk2/Makefile
2982 extensions/lirc/Makefile
2983 extensions/dbus/Makefile
2984 plugin/Makefile
2985 plugin/npapi/Makefile
2986 plugin/klash/Makefile
2987 plugin/klash4/Makefile
2988 plugin/win32/Makefile
2989 plugin/aos4/Makefile
2990 cygnal/Makefile
2991 cygnal/libnet/Makefile
2992 cygnal/libamf/Makefile
2993 cygnal/cgi-bin/Makefile
2994 cygnal/cgi-bin/echo/Makefile
2995 cygnal/cgi-bin/oflaDemo/Makefile
2996 cygnal/cgi-bin/fitcDemo/Makefile
2997 cygnal/testsuite/Makefile
2998 cygnal/testsuite/libamf.all/Makefile
2999 cygnal/testsuite/libnet.all/Makefile
3000 cygnal/testsuite/cygnal.all/Makefile
3004 ########################## Final report begins... ############################
3007 dnl Create temporary directory in a secure way
3008 tmp=`mktemp -d ${TMPDIR=/tmp}/gnash-configure-XXXXXX`
3009 if test \! -n "$tmp" || test \! -d "$tmp"; then
3010   tmp=`(umask 077 && mkdir -d ${TMPDIR=/tmp}/gnash-configure-${RANDOM}-$$) 2>/dev/null`
3012 cerr=${tmp}/errors
3013 cwarn=${tmp}/warnings
3014 crec=${tmp}/recommended
3015 echo ""
3017 #trap 'rm cerr' 0 # trap isn't a good idea, might override other traps
3018 exec 3> $cerr 
3019 exec 4> $cwarn
3020 exec 5> $crec
3022 echo "Configurable options are:"
3024 if test x"${i810lodbias}" = x"yes"; then
3025   echo "        Intel 810 LOD bias hack enabled"
3026 else
3027   echo "        Intel 810 LOD bias hack disabled (default). Use --enable-i810-lod-bias to enable."
3030 if test x"${pthreads}" = x"yes"; then
3031   echo "        POSIX Threads support enabled (default)"
3032 else
3033   if test x"${build_haiku}" = x"yes"; then
3034      echo "        POSIX Thread support built into C library."
3035   els
3036      echo "        POSIX Thread support disabled."
3037   fi
3040 if test x"${dmalloc}" = x"yes"; then
3041   echo "        DMalloc support enabled"
3042   echo "        For a list of the command-line options enter: dmalloc --usage"
3043 else
3044   echo "        DMalloc support disabled (default). Use --enable-dmalloc to enable."
3047 if test x"${npapi}" = x"yes"; then
3048   echo "        NPAPI plugin enabled (default). Use --disable-npapi to disable."
3049   echo "            NPAPI plugin will be installed in ${FIREFOX_PLUGINS}"
3050 else
3051   echo "        NPAPI plugin disabled."
3054 if test x"${build_kparts3}" = x"yes"; then
3055   echo "        KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to disable"
3056   echo "            KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
3057   echo "            KPARTS 3.x service will be installed in ${KDE3_SERVICESDIR}"
3058   echo "            KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
3059   echo "            KPARTS 3.x appsdata will be installed in ${KDE3_APPSDATADIR}"
3060 else
3061   echo "        KPARTS 3.x plugin disabled."
3064 if test x"${build_kparts4}" = x"yes"; then
3065   echo "        KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to disable"
3066   echo "            KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
3067   echo "            KPARTS 4.x service will be installed in ${KDE4_SERVICESDIR}"
3068   echo "            KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
3069   echo "            KPARTS 4.x appsdata will be installed in ${KDE4_APPSDATADIR}"
3070 else
3071   echo "        KPARTS 4.x plugin disabled."
3074 dnl -- if test x"${dynamic_gui}" = x"yes"; then
3075 dnl --   echo "        Loadable GUI & renderer enabled."
3076 dnl -- else
3077 dnl --   echo "        Loadable GUI & renderer disabled (default). Use --enable-dynamic-gui to enable."
3078 dnl -- fi
3080 # set a variable if we shouldn't continue. This way we can print
3081 # out everything that is missing in one pass, hopefully making it
3082 # easy for new developers to get everything they need installed.
3084 echo "Configured paths for ${build} are:"
3086 dnl Dump QT3 options is the user specified a QTOPIA3 or KDE3 GUI
3087 if test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes; then
3088   if test x"${has_qt3}" = xyes; then
3089     echo "        QT3 flags are: ${QT3_CFLAGS}"
3090     echo "        QT3 libs are: ${QT3_LIBS}"
3091   else
3092     echo "        ERROR: No QT 3.x development package installed!" >&3
3093     echo "               Install a QT 3.x development environment from http://trolltech.com" >&3
3094     echo "               or .deb users: apt-get install libqt3-mt-dev" >&3
3095     echo "               or change to a different gui with --enable-gui=..." >&3
3096   fi
3099 dnl Dump QT4 options is the user specified a QTOPIA4 or KDE4 GUI
3100 if test x"${build_kde4}" = xyes -o x"${build_qtopia4}" = xyes; then
3101   if test x"${has_qt4}" = xyes; then
3102     echo "        QT4 flags are: ${QT4_CFLAGS}"
3103     echo "        QT4 libs are: ${QT4_LIBS}"
3104   else
3105     echo "        ERROR: No QT 4.x development package installed!" >&3
3106     echo "               Install a QT 4.x development environment from http://trolltech.com" >&3
3107     echo "               or .deb users: apt-get install qt4-dev-tools" >&3
3108     echo "               or change to a different gui with --enable-gui=..." >&3
3109   fi
3112 if test x"$build_qtopia3" = xyes; then
3113   if test x"${QTOPIA3_LIBS}" != x ; then
3114     if test x"${QTOPIA3_CFLAGS}" != x ; then
3115       echo "        QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
3116     else
3117       echo "        QTOPIA 3.x flags are: default include path"
3118     fi
3119     echo "        QTOPIA 3.x libs are: $QTOPIA3_LIBS"
3120   else
3121     echo "        ERROR: No QTOPIA 3.x library development package installed!" >&3
3122     echo "               Install it from http://trolltech.com/downloads/" >&3
3123     echo "               binary packages are not available." >&3
3124   fi
3127 if test x"$build_qtopia4" = xyes; then
3128   if test x"${QTOPIA4_LIBS}" != x ; then
3129     if test x"${QTOPIA4_CFLAGS}" != x ; then
3130       echo "        QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
3131     else
3132       echo "        QTOPIA 4.x flags are: default include path"
3133     fi
3134     echo "        QTOPIA 4.x libs are: $QTOPIA4_LIBS"
3135   else
3136     echo "        ERROR: No QTOPIA 4.x library development package installed!" >&3
3137     echo "               Install it from http://trolltech.com/downloads/" >&3
3138     echo "               binary packages are not available." >&3
3139   fi
3143 # -o x$build_kparts3 = xyes
3144 if test x$build_kde3 = xyes; then
3145   if test x"$has_kde3" = xyes; then
3146     echo "        KDE 3.x flags are: $KDE3_CFLAGS"
3147     echo "        KDE 3.x libs are: $KDE3_LIBS"
3148   else
3149       echo "        ERROR: No KDE 3.x development package installed!" >&3
3150       echo "               To disable the KDE 3.x gui," >&3
3151       echo "               reconfigure using --enable-gui=<list-of-guis>" >&3
3152       echo "               and omit "kde" from the list." >&3
3153       echo "               or avoid --enable-gui=... as a whole." >&3
3154       echo "               To be able to build the kde 3.x gui," >&3
3155       echo "               install version 3.x of the KDE development environment" >&3
3156       echo "               from http://kde.org" >&3
3157       echo "               or .deb users: apt-get install kdelibs4-dev" >&3
3158       echo "               or .rpm users: yum install kdelibs3-devel." >&3
3159   fi
3162 # -o x$build_kparts4 = xyes
3163 if test x$build_kde4 = xyes; then
3164   if test x"$has_kde4" = xyes; then
3165     echo "        KDE 4.x flags are: $KDE4_CFLAGS"
3166     echo "        KDE 4.x libs are: $KDE4_LIBS"
3167   else
3168       echo "        ERROR: No KDE 4.x development package installed!" >&3
3169       echo "               To disable the KDE 4.x gui," >&3
3170       echo "               reconfigure using --enable-gui=<list-of-guis>" >&3
3171       echo "               and omit "kde4" from the list" >&3
3172       echo "               or avoid --enable-gui=... as a whole." >&3
3173       echo "               To be able to build the kde 4.x gui," >&3
3174       echo "               install version 4.x of the KDE development environment" >&3
3175       echo "               from http://kde.org" >&3
3176       echo "               or .deb users: apt-get install kdelibs5-dev" >&3
3177       echo "               or .rpm users: yum install kdelibs-devel." >&3
3178   fi
3181 if test x"${JPEG_LIBS}" != x ; then
3182   if test x"${JPEG_CFLAGS}" != x ; then
3183     echo "        JPEG flags are: $JPEG_CFLAGS"
3184   else
3185     echo "        JPEG flags are: default include path"
3186   fi
3187   echo "        JPEG libs are: $JPEG_LIBS"
3188 else
3189   echo "        ERROR: No JPEG library development package installed!" >&3
3190   echo "               Install it from http://ijg.org" >&3
3191   echo "               or .deb users: apt-get install libjpeg-dev" >&3
3192   echo "               or .rpm users: yum install libjpeg-devel" >&3
3195 if test x"${GIF_LIBS}" != x ; then
3196   if test x"${GIF_CFLAGS}" != x ; then
3197     echo "        GIF flags are: $GIF_CFLAGS"
3198   else
3199     echo "        GIF flags are: default include path"
3200   fi
3201   echo "        GIF libs are: $GIF_LIBS"
3202 else
3203   echo "        ERROR: No GIF library development package installed!" >&3
3204   echo "               Install it from http://sourceforge.net/projects/giflib/" >&3
3205   echo "               or .deb users: apt-get install libungif-dev" >&3
3206   echo "               or maybe     : apt-get install libgif-dev" >&3
3207   echo "               or .rpm users: yum install libungif-devel" >&3
3210 if test x"${PNG_LIBS}" != x ; then
3211   if test x"${PNG_CFLAGS}" != x ; then
3212     echo "        PNG flags are: $PNG_CFLAGS"
3213   else
3214     echo "        PNG flags are: default include path"
3215   fi
3216   echo "        PNG libs are: $PNG_LIBS"
3217 else
3218   echo "        RECOMMENDED: No PNG library development package installed!" >&5
3219   echo "                     Gnash will be built without support for dynamic loading of PNG files." >&5
3220   echo "                     Install it from http://www.libpng.org" >&5
3221   echo "                     or .deb users: apt-get install libpng12-dev" >&5
3222   echo "                     or .rpm users: yum install libpng-devel" >&5
3225 if test x"${build_ogl}" = x"yes"; then
3226   if test x"$OPENGL_LIBS" != x; then
3227     if test x"$OPENGL_CFLAGS" != x; then
3228       echo "        OpenGL flags are: $OPENGL_CFLAGS"
3229     else
3230       echo "        OpenGL flags are: default include path"
3231     fi
3232     echo "        OpenGL libs are: $OPENGL_LIBS"
3233     else
3234       echo "        ERROR: No OpenGL development package installed!" >&3
3235       echo "               You need to install the libmesa development package" >&3
3236       echo "               or .deb users: apt-get install libgl1-mesa-dev" >&3
3237       echo "               or .rpm users: yum install xorg-x11-Mesa-libGL" >&3
3238       echo "               or use a different renderer with --enable-renderer=" >&3
3239   fi
3242 if test x"${build_gles}" = x"yes"; then
3243   if test x"${has_gles}" != x; then
3244     if test x"$GLES_CFLAGS" != x; then
3245       echo "        OpenGL-ES flags are: $GLES_CFLAGS"
3246     else
3247       echo "        OpenGL-ES flags are: default include path"
3248     fi
3249     echo "        OpenGL-ES libs are: $GLES_LIBS"
3250   else
3251       echo "        ERROR: No OpenGL-ES development package installed!" >&3
3252       echo "               You need to install the this from source proobably" >&3
3253       echo "               or use a different renderer with --enable-renderer=" >&3
3254   fi
3257 dnl GLEXT is only needed for GTK/OpenGL
3258 if test x$build_gtk = xyes -a x$build_ogl = xyes ; then
3259   if test x"$GLEXT_LIBS" != x; then
3260     if test x"$GLEXT_CFLAGS" != x; then
3261       echo "        GtkGLExt flags are: $GLEXT_CFLAGS"
3262     else
3263       echo "        GtkGLExt flags are: default include path"
3264     fi
3265       echo "        GtkGLExt libs are: $GLEXT_LIBS"
3266   else
3267     if test x$build_gtk = xyes; then
3268       if test x$build_ogl = xyes; then
3269         echo "        ERROR: No GtkGLExt development package installed!" >&3
3270         echo "               It is needed to build the GTK/OpenGL GUI/renderer combination." >&3
3271         echo "               Either install it from http://gtkglext.sourceforge.net" >&3
3272         echo "               or .deb users: apt-get install libgtkglext1-dev" >&3
3273         echo "               or .rpm users: yum install gtkglext-devel" >&3
3274         echo "               or --enable-gui=sdl or --enable-renderer=agg" >&3
3275       fi
3276     fi
3277   fi
3281 if test x$build_gtk = xyes; then #{
3282   if test x"$GTK2_LIBS" != x; then
3283     if test x"$GTK2_CFLAGS" != x; then
3284       echo "        GTK2 flags are: $GTK2_CFLAGS"
3285     else
3286       echo "        GTK2 flags are: default include path"
3287     fi
3288       echo "        GTK2 libs are: $GTK2_LIBS"
3289   else
3290     echo "        ERROR: No GTK2 development package installed!" >&3
3291     echo "               Install it from http://gtk.org" >&3
3292     echo "               or .deb users: apt-get install libgtk2.0-dev" >&3
3293     echo "               or .rpm users: yum install gtk2-devel" >&3
3294   fi
3296   if test x"$PANGO_LIBS" != x; then
3297     if test x"$PANGO_CFLAGS" != x; then
3298       echo "        Pango flags are: $PANGO_CFLAGS"
3299     else
3300       echo "        Pango flags are: default include path"
3301     fi
3302     echo "        Pango libs are: $PANGO_LIBS"
3303   else
3304     echo "        ERROR: No Pango development package installed!" >&3
3305     echo "               Install it from http://pango.org" >&3
3306     echo "               or .deb users: apt-get install libpango1.0-dev" >&3
3307     echo "               or .rpm users: yum install pango-devel" >&3
3308   fi
3310   if test x"$GLIB_LIBS" != x; then
3311     if test x"$GLIB_CFLAGS" != x; then
3312       echo "        GLib flags are: $GLIB_CFLAGS"
3313     else
3314       echo "        GLib flags are: default include path"
3315     fi
3316     echo "        GLib libs are: $GLIB_LIBS"
3317   else
3318     echo "        ERROR: No GLib development package installed!" >&3
3319     echo "               Install it from http://gtk.org" >&3
3320     echo "               or .deb users: apt-get install libglib2.0-dev" >&3
3321     echo "               or .rpm users: yum install glib2-devel" >&3
3322   fi
3324   if test x"$ATK_LIBS" != x; then
3325     if test x"$ATK_CFLAGS" != x; then
3326       echo "        ATK flags are: $ATK_CFLAGS"
3327     else
3328       echo "        ATK flags are: default include path"
3329     fi
3330       echo "        ATK libs are: $ATK_LIBS"
3331   else
3332     echo "        ERROR: No ATK development package installed!" >&3
3333     echo "               Install it from http://gtk.org" >&3
3334     echo "               or .deb users: apt-get install libatk1.0-dev" >&3
3335     echo "               or .rpm users: yum install atk-devel" >&3
3336   fi
3340 if test x"$build_media_gst" = x"yes"; then
3341   if test x"$missing_codecs" != x; then   
3342       echo "        Your Gstreamer installation is missing these codecs: $missing_codecs"
3343       echo "        Please install the gstreamer-ffmpeg for Gstreamer"
3344   fi  
3345   if test x"$GSTREAMER_LIBS" != x; then
3346     if test x"$GSTREAMER_CFLAGS" != x; then
3347       echo "        Gstreamer flags are: $GSTREAMER_CFLAGS"
3348     else
3349       echo "        Gstreamer flags are: default include path"
3350     fi
3351     echo "        Gstreamer libs are: $GSTREAMER_LIBS"
3352     if test x"$has_gstreamer_pbutils" != "xyes"; then
3353       echo "        RECOMMENDED: If the user has not installed the necessary Gstreamer plugins," >&5
3354       echo "                     Gstreamer can pop up a message prompting them to." >&5
3355       echo "                     Install gstpbutils (>= 0.10.15) from http://www.gstreamer.net for that to be enabled" >&5
3356       echo "                     or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&5
3357       echo "                     Also see --with-gstpbutils-incl and --with-gstpbutils-lib" >&5
3358     fi
3359     if test x"$has_gstreamer_plugins_base" = "xno"; then
3360       dnl check if this is really a mandatory asset !
3361       echo "        ERROR: base plugins are required for gstreamer media" >&3
3362       echo "                        Install gstreamer-plugins-base from http://www.gstreamer.net" >&3
3363       echo "                        or .rpm users: yum install gstreamer-plugins-base-devel" >&3
3364       echo "                        or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&3
3365     fi
3366   else
3367     echo "        ERROR: GST media handling requested but gstreamer-0.10+ not found" >&3
3368     echo "               Install it from http://www.gstreamer.net" >&3
3369     echo "               or .deb users: apt-get install libgstreamer0.10-dev" >&3
3370     echo "               or .rpm users: yum install gstreamer-devel" >&3
3371     echo "               or             yast install gstreamer010-devel" >&3
3372   fi
3375   if test x"${build_media_ffmpeg}" = x"yes"; then
3376     if test x"$FFMPEG_LIBS" != x; then
3377       echo "        MP3 and video support enabled through FFmpeg"
3378       if test x"${ffmpeg_version_check}" != xok; then
3379         echo "        ERROR: You have version ${ffmpeg_version} of FFmpeg installed," >&3
3380         if test x"${have_ffmpeg_swscale}" = "xno"; then
3381           echo "               with no swscale enabled." >&3
3382         else
3383           echo "               with swscale enabled." >&3
3384         fi
3385         echo "               This setup isn't supported!" >&3
3386         echo "               Version 51.11.0 or newer is required, enabling swscale if >= 52.0.0." >&3
3387         echo "               You can install libswscale from http://ffmpeg.org" >&3
3388         echo "               or .deb users: apt-get install libswscale-dev" >&3
3389       else
3390         if test x"${avformat_h}" = x; then
3391           echo "        ERROR: FFmpeg's libavcodec header is installed but not libavformat." >&3
3392           echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3393           echo "               or .deb users: apt-get install libavformat-dev" >&3
3394           echo "               or YaST users: yast -i libavformat-api (but currently installs into /usr/lib64)" >&3
3395           echo "               or explicitly set the path using --with-ffmpeg-incl=" >&5
3396           echo "               or reconfigure with --enable-media=gst" >&3
3397         else
3398           if test x"$FFMPEG_CFLAGS" != x; then
3399             echo "        FFmpeg flags are: $FFMPEG_CFLAGS"
3400           else
3401             echo "        FFmpeg flags are: default include path"
3402           fi
3403           echo "        FFmpeg libs are: $FFMPEG_LIBS"
3404         fi
3405       fi
3406     else
3407       echo "        ERROR: No FFmpeg development package installed!" >&3
3408       echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3409       echo "               or .deb users: apt-get install libavformat-dev" >&3
3410       echo "               or .rpm users: yum install ffmpeg-devel" >&3
3411       echo "               or reconfigure with --enable-media=gst" >&3
3412     fi
3413   fi
3415 if test x$build_cairo = xyes; then
3416   if test x"$CAIRO_LIBS" != x; then
3417     if test x"$CAIRO_CFLAGS" != x; then
3418       echo "        Cairo flags are: $CAIRO_CFLAGS"
3419     else
3420       echo "        Cairo flags are: default include path"
3421     fi
3422     echo "        Cairo libs are: $CAIRO_LIBS"
3423   else
3424     echo "        ERROR: No Cairo development package installed!" >&3
3425     echo "               You need to have the Cairo development package installed" >&3
3426     echo "               if you have used --enable-render=cairo to configure." >&3
3427     echo "               Install it from http://cairographics.org" >&3
3428     echo "               or .deb users: apt-get install libcairo-dev" >&3
3429     echo "               or .rpm users: yum install cairo-devel" >&3
3430   fi
3433 if test x$build_fltk = xyes; then
3434   if test x"$FLTK2_LIBS" != x; then
3435     if test x"$FLTK2_CFLAGS" != x; then
3436       echo "        FLTK flags are: $FLTK2_CFLAGS"
3437     else
3438       echo "        FLTK flags are: default include path"
3439     fi
3440       echo "        FLTK libs are: $FLTK2_LIBS"
3441   else
3442     echo "        ERROR: No FLTK2 development package installed!" >&3
3443     echo "               There are currently no Debian or RPM packages for FLTK2;" >&3
3444     echo "               see http://www.fltk.org to install it from source." >&3
3445     echo "               or change to a different gui with --enable-gui=..." >&3
3446 dnl What it was for FLTK 1:
3447 dnl    echo "               or .deb users: apt-get install fltk-1.1-dev"
3448 dnl    echo "               or .rpm users: yum install fltk-devel"
3449   fi
3452 if test x$build_fltk = xyes; then
3453   if test x"$XFT_LIBS" != x; then
3454     if test x"$XFT_CFLAGS" != x; then
3455       echo "        Xft flags are: $XFT_CFLAGS"
3456     else
3457       echo "        Xft flags are: default include path"
3458     fi
3459       echo "        Xft libs are: $XFT_LIBS"
3460 dnl     else
3461 dnl       echo "        ERROR: No Xft development package installed!" >&3
3462 dnl       echo "               Install the xft development package" >&3
3463 dnl       echo "               or .deb users: apt-get install libxft-dev" >&3
3464 dnl       echo "               or .rpm users: yum install xft-devel" >&3
3465   fi
3468 # See whether SDL is required
3469 need_sdl=false
3470 test x$build_sdl = xyes                 && need_sdl=true
3471 test x$build_sound_sdl = xyes   && need_sdl=true
3473 if $need_sdl; then
3474   if test x"$SDL_LIBS" != x; then
3475     echo "        SDL flags are: $SDL_CFLAGS"
3476     echo "        SDL libs are: $SDL_LIBS"
3477   else
3478     echo "        ERROR: No SDL development package installed!" >&3
3479     echo "               Install it from http://www.libsdl.org/download-1.2.php" >&3
3480     echo "               or .deb users: apt-get install libsdl1.2-dev" >&3
3481     echo "               or .rpm users: yum install SDL-devel" >&3
3482     test x$build_sdl = xyes &&
3483         echo "               or select a different GUI with --enable-gui= " >&3
3484   fi
3486 unset need_sdl
3488 if test x"$nsapi" = x"yes"; then
3489 dnl  if test x"$FIREFOX_CFLAGS" != x; then
3490 dnl    echo "        Firefox flags are: $FIREFOX_CFLAGS"
3491 dnl    echo "        Firefox libs are: $FIREFOX_LIBS"
3492     echo "        Plugin will be installed in ${FIREFOX_PLUGINS}"
3493 dnl  else
3494 dnl    echo "        ERROR: No Firefox or Mozilla development package installed!" >&3
3495 dnl  fi
3498 if test x"${pthreads}" = x"yes"; then
3499   if test x"$PTHREAD_CFLAGS" != x; then
3500     echo "        POSIX Threads flags are: $PTHREAD_CFLAGS"
3501   fi
3502   if test x"${PTHREAD_LIBS}" != x; then
3503     echo "        POSIX Threads lib is: $PTHREAD_LIBS"
3504   else
3505     if test x"${cross_compiling}" = xno; then
3506       echo "ERROR: No pthread development package installed!" >&3
3507     fi
3508   fi
3511 if test x"${docbook}" = x"yes"; then
3512   if test x"$MAKEINFO" = x; then
3513     echo "        ERROR: no makeinfo tools installed!" >&3
3514     echo "               Either install it from http://www.gnu.org/software/texinfo/" >&3
3515     echo "               or .deb users: apt-get install texinfo" >&3
3516     echo "               or configure without --enable-docbook" >&3
3517   fi
3518   dnl low-level tools
3519   if test x"$DB2X_TEXIXML" = x -o x"$DB2X_MANXML" = x -o x"$DB2X_XSLTPROC" = x; then
3520     dnl high-level tools
3521     if test x"${DB2X_TEXI}" = x -o x"${DB2X_MAN}" = x; then
3522       echo "        ERROR: No DocBook2X tools installed!" >&3
3523       echo "               Either install it from http://docbook2x.sourceforge.net" >&3
3524       echo "               or .deb users: apt-get install docbook docbook2x docbook-utils" >&3
3525       echo "                              docbook-xml docbook-xsl texinfo xsltproc" >&3
3526       echo "               or configure without --enable-docbook" >&3
3527     fi
3528   else
3529     echo "        You have version $db2x_version of the DocBook2X tools."
3530   fi
3531 else
3532   echo "        WARNING: without --enable-docbook we will use the cached" >&4
3533   echo "                 documentation files included in the gnash distribution." >&4
3534   echo "                 If you change files in doc/C, you should --enable-docbook." >&4
3537 if test x"$CURL_LIBS" != x; then
3538   if test x"$CURL_CFLAGS" != x; then
3539     echo "        CURL flags are: $CURL_CFLAGS"
3540   else
3541     echo "        CURL flags are: default include path"
3542   fi
3543     echo "        CURL libs are: $CURL_LIBS"
3544 else
3545   echo "        RECOMMENDED: If you install the CURL library, Gnash will be able to" >&5
3546   echo "                     display remote content (streaming from URLs) using CURL." >&5
3547   echo "                     Install libcurl from http://curl.haxx.se/libcurl" >&5
3548   echo "                     or .deb users: apt-get install libcurl-dev" >&5
3549   echo "                     or .rpm users: yum install curl-devel" >&5
3552 if test x"$SPEEX_LIBS" != x; then
3553   if test x"$SPEEX_CFLAGS" != x; then
3554     echo "        Speex flags are: $SPEEX_CFLAGS"
3555   else
3556     echo "        Speex flags are: default include path"
3557   fi
3558     echo "        Speex libs are: $SPEEX_LIBS"
3559 else
3560   echo "        RECOMMENDED: If you install the Speex library, Gnash will be able to" >&5
3561   echo "                     decoded Speex encoded audio in FLV files." >&5
3562   echo "                     Install libspeex from http://speex.org" >&5
3563   echo "                     or .deb users: apt-get install libspeex-dev" >&5
3564   echo "                     or .rpm users: yum install speex-devel" >&5
3567 if test x"$ext_dbus" = xyes; then
3568   if test x"$DBUS_LIBS" != x; then
3569     if test x"$DBUS_CFLAGS" != x; then
3570       echo "        DBUS flags are: $DBUS_CFLAGS"
3571     else
3572       echo "        DBUS flags are: default include path"
3573     fi
3574       echo "        DBUS libs are: $DBUS_LIBS"
3575   else
3576     echo "        WARNING: DBUS library not found." >&4
3577     echo "                 Gnash will be built without support for remote controls." >&4
3578     echo "                 Why not install libdbus from http://www.dbus.org" >&4
3579     echo "                 or .deb users: apt-get install dbus-dev" >&4
3580     echo "                 or .rpm users: yum install dbus-devel" >&4
3581   fi
3584 if test x$build_agg = xyes; then # {
3585   echo "        AGG Pixel format is: $pixelformat"
3586     if test x"$AGG_LIBS" != x; then # {
3587       if test x"${agg25}" != xyes; then # {
3588         echo "        ERROR: Your installation of AGG appears to be version 2.4 or older." >&3
3589         echo "               Please upgrade to AGG 2.5 or greater." >&3
3590         echo "               Install it from http://www.antigrain.com" >&3
3591         echo "               or .deb users: apt-get install libagg-dev" >&3
3592         echo "               or .rpm users: yum install agg-devel" >&3
3593       else # }{
3594         if test x"$AGG_CFLAGS" != x; then # {
3595           echo "        AGG flags are: $AGG_CFLAGS"
3596         else # }{
3597           echo "        AGG flags are: default include path"
3598         fi # }
3599         echo "        AGG libs are: $AGG_LIBS"
3600       fi # }
3601     else # }{
3602       echo "        ERROR: No AGG development package installed!" >&3
3603       echo "               Install it from http://www.antigrain.com" >&3
3604       echo "               or .deb users: apt-get install libagg-dev" >&3
3605       echo "               or .rpm users: yum install agg-devel" >&3
3606     fi # }
3607 fi # }
3609 if test x"$BOOST_LIBS" != x; then
3610         echo "        BOOST flags are: $BOOST_CFLAGS"
3611         echo "        BOOST libs are: $BOOST_LIBS"
3612         echo "        BOOST libs for cygnal are: $BOOST_CYGNAL_LIBS"
3613     dnl fi
3614     if test x"${missing_headers}" != x; then
3615       for i in ${missing_headers}; do
3616         echo "        ERROR: The BOOST $i header file is needed!" >&3
3617         echo "               Install it from http://boost.org" >&3
3618         echo "               or from a Boost development package" >&3
3619       done
3620     fi
3622     if test x"${cygnal}" = x"yes"; then
3623         if test x"${cygnal_missing_libs}" != x; then
3624           for i in ${cygnal_missing_libs}; do
3625             echo "          ERROR: The BOOST $i library is required for cygnal!" >&4
3626             echo "                 Either configure with --disable-cygnal or" >&4
3627             echo "                 install it from http://www.boost.org" >&4
3628             echo "                 or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&4
3629           done
3630         fi
3631     fi
3633     if test x"${missing_libs}" != x; then
3634       for i in ${missing_libs}; do
3635         echo "        ERROR: The BOOST $i library is needed!" >&3
3636         echo "               Install it from http://boost.org" >&3
3637         echo "               or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&3
3638       done
3639     fi
3640 else
3641     echo "        ERROR: No BOOST development package installed!" >&3
3642     echo "               Install it from http://www.boost.org" >&3
3643     echo "               or .deb users: apt-get install libboost-dev libboost-thread-dev" >&3
3644     if test x"$cygnal" = xyes; then
3645     echo "                              and libboost-date-time-dev (for cygnal)" >&3
3646     fi
3647     echo "               or .rpm users: yum install boost-devel" >&3
3650 dnl don't look for the flash compilers when cross compiling.
3651 if test x"$testsuite" = x"yes"; then
3652   if test x$cross_compiling = xno; then
3653     if test x"$MING_LIBS" != x; then
3654       echo "        MING flags are $MING_CFLAGS"
3655       echo "        MING libs are $MING_LIBS"
3656     else
3657       echo "        WARNING: You need to have the Ming development package" >&4
3658       echo "                 installed to run most of the tests in Gnash testsuite." >&4
3659       echo "                 Install it from http://www.libming.org/" >&4
3660       echo "                 or .deb users: apt-get install libming-dev" >&4
3661     fi
3663     if test x"$MAKESWF" != x; then
3664       echo "        MING version code is $MING_VERSION_CODE"
3665       echo "        MAKESWF is $MAKESWF"
3666     else
3667       echo "        WARNING: You need to have the Ming utilities package" >&4
3668       echo "                 version 0.4 or higher installed to run" >&4
3669       echo "                 many of the tests in Gnash testsuite." >&4
3670       echo "                 Install it from http://www.libming.org" >&4
3671       echo "                 or .deb users: apt-get install libming-util" >&4
3672     fi
3674     if test x"$MAKESWF" != x && test $MING_VERSION_CODE -lt 00040006; then
3675       echo "        WARNING: You have an older version of Ming installed and will not" >&4
3676       echo "                 be able to run all of the tests in Gnash testsuite." >&4
3677       echo "                 Install the latest version from http://www.libming.org" >&4
3678     fi
3680     if test x"$SWFDEC_TESTSUITE" != x; then
3681       echo "        SWFDEC testsuite dir is $SWFDEC_TESTSUITE"
3682     fi
3684     if test x"$MTASC" != x; then
3685       echo "        MTASC is $MTASC"
3686       echo "        MTASC CLASSPATH is $MTASC_CLASSPATH"
3687     else
3688       echo "        WARNING: You need to have the MTASC compiler packages installed" >&4
3689       echo "                 to run some of the tests in Gnash testsuite." >&4
3690       echo "                 You can install it from http://mtasc.org" >&4
3691       echo "                 or .deb users: apt-get install mtasc" >&4
3692     fi
3694     if test x"$HAXE" != x; then
3695       echo "        HAXE is $HAXE"
3696       echo "        HAXE CLASSPATH is $HAXE_CLASSPATH"
3697     else
3698       echo "        WARNING: You need to have the HAXE compiler package " >&4
3699       echo "                 version 2.00 or higher installed" >&4
3700       echo "                 to run some of the tests in Gnash testsuite." >&4
3701       echo "                 You can install it from http://haxe.org" >&4
3702       echo "                 or .deb users: apt-get install haxe" >&4
3703     fi
3705     if test x"$SWFMILL" != x; then
3706       echo "        SWFMILL is $SWFMILL"
3707       if test x"$ENABLE_AVM2" != x -a "$SWFMILL_VERSION" -lt 00021206; then
3708         echo "        WARNING: You are building Gnash with AVM2 support but" >&4
3709         echo "                 your swfmill version is too old to run AS3" >&4
3710         echo "                 tests." >&4
3711       fi
3712     else
3713       echo "        WARNING: You need to have the 'swfmill' tool installed" >&4
3714       echo "                 to run some of the tests in Gnash testsuite." >&4
3715       echo "                 You can install it from http://swfmill.org/" >&4
3716       echo "                 or .deb users: apt-get install swfmill" >&4
3717     fi
3719     if test x"$SWFC" != x; then
3720       echo "        SWFC is $SWFC"
3721     else
3722       echo "        WARNING: You need to have 'swfc' from SWFTools installed" >&4
3723       echo "                 to run some of the tests in Gnash testsuite." >&4
3724       echo "                 You can install it from http://www.swftools.org/" >&4
3725       echo "                 or .deb users: apt-get install swftools" >&4
3726     fi
3728     if test x"$AS3COMPILE" != x; then
3729       echo "        AS3COMPILE is $AS3COMPILE"
3730     else
3731       echo "        WARNING: you need as3compile from SWFTools" >&4
3732       echo "                 to run some of the tests in Gnash testsuite." >&4
3733       echo "                 You can install it from http://www.swftools.org/" >&4
3734     fi
3736     if test x"$HTTP_TESTSUITE" != x; then
3737       echo "        HTTP testsuite dir is $HTTP_TESTSUITE"
3738     fi
3740     if test x"$RED5_HOST" != x; then
3741       echo "        RED5 testing host is $RED5_HOST"
3742     fi
3743   fi
3746   if test x"$PERL" != x; then
3747     echo "        PERL is $PERL"
3748   else
3749     echo "        WARNING: You need to have perl installed" >&4
3750     echo "                 to run some of the tests in Gnash testsuite." >&4
3751   fi
3753 if test x"$testsuite" = x"yes"; then
3754   if test x"$CSOUND" != x; then
3755     echo "        CSOUND is $CSOUND"
3756   fi
3759 if test x"$Z_LIBS" != x; then
3760   if test x"$Z_CFLAGS" != x; then
3761     echo "        Z flags are: $Z_CFLAGS"
3762   else
3763     echo "        Z flags are: default include path"
3764   fi
3765   echo "        Z libs are: $Z_LIBS"
3766 else
3767   echo "        RECOMMENDED: You need to have the zlib development packages installed" >&5
3768   echo "                     to play compressed SWF (most of them from version 6 up)" >&5
3769   echo "                     and to display some kinds of JPEG files." >&5
3770   echo "                     Install it from http://www.zlib.net" >&5
3771   echo "                     or .deb users: apt-get install zlib1g-dev" >&5
3772   echo "                     or .rpm users: yum install zlib-devel." >&5
3773   echo "                     It may still be possible to configure without zlib." >&5
3776 if test x"$FREETYPE2_LIBS" != x; then
3777   if test x"$FREETYPE2_CFLAGS" != x; then
3778     echo "        FreeType flags are: $FREETYPE2_CFLAGS"
3779   else
3780     echo "        FreeType flags are: default include path"
3781   fi
3782   echo "        FreeType libs are: $FREETYPE2_LIBS"
3783 else
3784   echo "        RECOMMENDED: You need to have the freetype development packages installed" >&5
3785   echo "                     to use device fonts." >&5
3786   echo "                     Install it from http://www.freetype.org" >&5
3787   echo "                     or .deb users: apt-get install libfreetype6-dev" >&5
3788   echo "                     or .rpm users: yum install freetype-devel" >&5
3789   echo "                     It may still be possible to configure without freetype." >&5
3792 if test x"$FONTCONFIG_LIBS" != x; then
3793   if test x"$FONTCONFIG_CFLAGS" != x; then
3794     echo "        Fontconfig flags are: $FONTCONFIG_CFLAGS"
3795   else
3796     echo "        Fontconfig flags are: default include path"
3797   fi
3798   echo "        Fontconfig libs are: $FONTCONFIG_LIBS"
3799 else
3800   echo "        RECOMMENDED: You need to have the fontconfig development packages installed" >&5
3801   echo "                     to use device fonts." >&5
3802   echo "                     Install it from http://www.fontconfig.org" >&5
3803   echo "                     or .deb users: apt-get install libfontconfig1-dev" >&5
3804   echo "                     or .rpm users: yum install fontconfig-devel" >&5
3805   echo "                     It may still be possible to configure without fontconfig." >&5
3808 if test x$ext_mysql = xyes; then
3809   if test x$mysql != xno; then
3810     if test x"$MYSQL_LIBS" != x; then
3811       echo "        MYSQL flags are: $MYSQL_CFLAGS"
3812       echo "        MYSQL libs are: $MYSQL_LIBS"
3813     else
3814       echo "        ERROR: No MySQL development package is installed." >&3
3815       echo "               Either reconfigure without --enable-extensions=mysql" >&3
3816       echo "               or install MySQL header files from http://www.mysql.org" >&3
3817       echo "               or .deb users: apt-get install libmysqlclient-dev" >&3
3818       echo "                 or .rpm users: yum install mysql-devel" >&4
3819     fi
3820   fi
3823 if test "$GMSGFMT" = ":"; then
3824   echo "        WARNING: You need the gettext package installed to use translations." >&4
3825   echo "                 Required for building a package or 'make distcheck'" >&4
3826   echo "                 Install it from http://www.gnu.org/software/gettext/" >&4
3827   echo "                 or .deb users: apt-get install gettext" >&4
3828   echo "                 or .rpm users: yum install gettext" >&4
3831 if test x"${build_vaapi}" = x"yes"; then
3832   if test x"${LIBVA_CFLAGS}" = xyes; then
3833       echo "        LIBVA flags are: default"
3834     else
3835       echo "        LIBVA flags are: $LIBVA_CFLAGS"
3836       echo "        LIBVA libraries are: $LIBVA_LIBS"
3837   fi
3838   if test x$use_libva_x11 = xyes; then
3839     if test x"${LIBVA_X11_CFLAGS}" = xyes; then
3840       echo "        LIBVA X11 flags are: default"
3841     else
3842       echo "        LIBVA X11 flags are: $LIBVA_X11_CFLAGS"
3843       echo "        LIBVA X11 libraries are: $LIBVA_X11_LIBS"
3844     fi
3845   fi
3846   if test x$use_libva_glx = xyes; then
3847     if test x"${LIBVA_GLX_CFLAGS}" = xyes; then
3848       echo "        LIBVA GLXflags are: default"
3849     else
3850       echo "        LIBVA GLX flags are: $LIBVA_GLX_CFLAGS"
3851     fi
3852     echo "        LIBVA GLX libraries are: $LIBVA_GLX_LIBS"
3853   fi
3856 if test x"$ac_cv_gcc_visibility" != xyes; then
3857   if test x"$npapi" = xyes; then
3858     echo "        WARNING: NPAPI (mozilla) plugin is enabled, but your compiler"
3859     echo "                 does not support symbol visibility. This may cause "
3860     echo "                 the plugin to malfunction and may result in small "
3861     echo "                 children being eaten. You have been warned!"
3862   fi
3865 if test x"$npapi" = xyes; then
3866   if test x"$has_npapi" = xyes; then
3867     echo "        NPAPI flags are: $NPAPI_CFLAGS"
3868   else
3869     echo "        ERROR : No xulrunner development package is installed" >&3
3870     echo "                Install it from http://releases.mozilla.org/pub/mozilla.org/xulrunner" >&3
3871     echo "                or .deb users: apt-get install xulrunner-dev" >&3
3872     echo "                or .rpm users: yum install xulrunner-devel" >&3
3873   fi
3874 else
3875   echo "        NPAPI plugin is disabled"
3878 if test x"${DEJAGNU}" != x""; then
3879   echo "        DEJAGNU's runtest is $DEJAGNU"
3880 else
3881   echo "        WARNING: You need the dejagnu package installed to get a summary" >&4
3882   echo "                 report after running ''make check''" >&4
3883   echo "                 Install it from http://www.gnu.org/software/dejagnu/" >&4
3884   echo "                 or .deb users: apt-get install dejagnu" >&4
3885   echo "                 or .rpm users: yum install dejagnu" >&4
3888 dnl Haiku
3889 if test x"${build_haiku}" = xyes -o x"${build_sound_mkit}" = xyes -o x"${build_media_haiku}" = x"yes"; then
3890     echo "        Haiku libs are: $HAIKU_LIBS"
3893 if test x"$has_ltdl" = x"yes";then
3894   echo "        LIBLTDL flags are: $LTDL_CFLAGS"
3895   echo "        LIBLTDL libs are: $LTDL_LIBS"
3896 else
3897   echo "        ERROR: No libltdl development package is installed" >&3
3898   echo "               Install it from ftp://ftp.gnu.org/gnu/libtool/" >&3
3899   echo "               or .deb users: apt-get install libltdl-dev" >&3
3900   echo "               or .rpm users: yum install libtool-ltdl-devel" >&3
3903 if test x"$python" = x"yes"; then
3904   if test x"$has_python" = x"yes"; then
3905     echo "        PYTHON flags are: $PYTHON_CFLAGS"
3906     echo "        PYTHON libs are: $PYTHON_LIBS"
3907     echo "        PYTHON executable is: $PYTHON"
3908   else
3909     echo "        ERROR: No Python development package is installed, but it's enabled." >&3
3910   fi
3912 if test x${build_ssl} = xyes; then
3913   if test x"${has_ssl}" = xyes; then
3914     if test x"${SSL_CFLAGS}" = xyes; then
3915       echo "        SSL flags are: default"
3916     else
3917       echo "        SSL flags are: $SSL_CFLAGS"
3918     fi
3919     echo "        SSL libs are: $SSL_LIBS"
3920   else
3921     echo "        ERROR: No SSL development package is installed, but it's enabled." >&3
3922   fi
3925 if test x${build_ssh} = xyes; then
3926   if test x"${has_ssh}" = xyes; then
3927     if test x"${SSH_CFLAGS}" = xyes; then
3928       echo "        SSH flags are: default"
3929     else
3930       echo "        SSH flags are: $SSH_CFLAGS"
3931     fi
3932     echo "        SSH libs are: $SSH_LIBS"
3933   else
3934     echo "        ERROR: No SSH development package is installed, but it's enabled." >&3
3935   fi
3938 if test x"${build_all_as3}" = x"yes"; then
3939   echo "        Building the entire ActionScript class libary"
3940 else
3941   echo "        Only building these ActionScript classes into the library:"
3942   echo "     ${classlist}"
3945 if test x"$testsuite" = x"yes"; then
3946   if test x"$NETCAT" != x; then
3947     echo "        You have netcat installed, which is only used for testing"
3948   else
3949     echo "        Install netcat for networking test support"
3950   fi
3951   if test x"$WGET" != x; then
3952     echo "        You have wget installed, which is only used for testing"
3953   else
3954     echo "        Install wget for networking test support"
3955   fi
3958 if test x$cross_compiling = xyes; then
3959    if test x"${android_ndk}" != xno; then
3960       AC_MSG_NOTICE([This build is setup for cross compiling for Android])
3961    else
3962       AC_MSG_NOTICE([This build is setup for cross compiling])
3963    fi
3966 echo "--------"
3968 if test x"${cygnal}" = x"yes"; then
3969   echo "        Building Cygnal media server enabled (default). Use --disable-cygnal to disable."
3970 else
3971   echo "        Building Cygnal media server disabled."
3974 if test x"${with-top_level}" != x; then
3975   echo "        Top level for cross compiling support files is: $with_top_level"
3978 if test x"${build_gtk}" = xyes -a x"${pixelformat}" = xrgb565; then
3979   echo "        WARNING: Pixel format RGB565 selected in combination with the" >&4
3980   echo "                 GTK GUI. Only a hacked GTK will work (e.g. on the OLPC)." >&4
3983 if test x"${extensions_list}" != x; then
3984   echo "        Building extensions: ${extensions_list}"
3987 if test x"${security_list}" != x; then
3988   echo "        Enabling security features: ${security_list}"
3991 if test x"${hwaccel_list}" != xnone; then
3992   echo "        Enabling hardware acceleration features: ${hwaccel_list}"
3995 if test x"${statistics_list}" != x; then
3996   echo "        Enabling statistics collecting for: ${statistics_list}"
3999 if test x"${SUPPORTED_GUIS}" = x; then
4000   AC_MSG_ERROR(no supported GUIs found);
4003 echo "        GUI toolkits supported: ${SUPPORTED_GUIS}"
4004 echo "        Renderers supported: ${renderer_list}"
4005 echo "        Hardware Acceleration: ${hwaccel_list}"
4006 echo "        Media handlers: ${media_list}"
4007 echo "        Using ${add_sound} for sound handling"
4008 echo "        Using $with_shm mode for shared memory"
4010 if test x"$docbook" = x"yes"; then
4011   echo '        DocBook document processing enabled (for "make html" and "make pdf")'
4012   if test x"$docbook_styles" != x; then
4013     echo "        Docbook styles sheets in $docbook_styles"
4014   fi
4015 else
4016   echo "        DocBook document processing disabled (default)"
4019 dnl The Framebuffer GUI has several other settings. As it doesn't have X11,
4020 dnl we have to handle input devices ourselves.
4021 if test x"${build_fb}" = xyes; then
4022 echo "        Using ${input_events} for Input"
4023   if test x"${fakefb}" != x; then
4024     echo "        Using shared memory as a fake framebuffer"
4025   fi
4026   if test x"${offscreen}" = xyes; then
4027     echo "        Using offscreen rendering"
4028   fi
4029   if test x"${doublebuf}" = xyes; then
4030     echo "        Using double buffering when rendering"
4031   fi
4034 if test -s $cwarn; then
4035   echo ""
4036   cat $cwarn
4037   rm $cwarn
4038   echo ""
4039   echo "Gnash should still compile even with these warnings."
4040   echo "If it doesn't, report the warnings as a bug."
4041 else
4042   rm $cwarn
4045 if test -s $crec; then
4046   echo ""
4047   cat $crec
4048   rm $crec
4049   echo ""
4050   echo "Gnash should still compile, but you'll miss important support"
4051 else
4052   rm $crec
4055 dnl If anything critical is missing, don't bother to continue
4056 if test -s $cerr; then
4057   echo ""
4058   cat $cerr >&2
4059   rm $cerr
4060   AC_MSG_ERROR([Please install required packages])
4061 else
4062   rm $cerr
4065 rmdir $tmp
4067 if test x"$fork" = x"no"; then
4068   AC_MSG_ERROR([Currently only forking the standalone player works!])
4070 echo ""
4072 # Local Variables:
4073 # c-basic-offset: 2
4074 # tab-width: 2
4075 # indent-tabs-mode: nil
4076 # End: