Merge branch 'master' into release_0_8_9
[gnash.git] / configure.ac
blobe730554083fc1ac7102f02bafadb9bc125554b10
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.50)
19 AC_INIT(gnash, 0.8.9~rc2)
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 This is primarily used when compiling for a similar architecture,
217 dnl like pentium->geode, which can use the same compiler, but have
218 dnl different development libraries.
220 dnl I want to deprecate this option for the new sysroot name to be
221 dnl consistant with other tools. This will be left for a while as 
222 dnl a transistion.
223 AC_ARG_WITH(top_level,
224   AC_HELP_STRING([--with-top-level],
225   [top level directory for cross compiling files]),
226   with_top_level=${withval} ;
227   cross_compiling=yes)
229 AC_ARG_WITH(sysroot,
230   AC_HELP_STRING([--with-sysroot],
231   [system root directory for cross compiling]),
232   with_top_level=${withval} ;
233   cross_compiling=yes)
235 dnl Android is a little different when using a standard cross toolchain,
236 dnl so we have to configure especially for it for now. Usually it's
237 dnl something like this:
239 dnl arm-linux-eabi-gcc -Wl,--dynamic-linker -Wl,/system/bin/linker
240 dnl -nostdlib -Wl,-rpath -Wl,/system/lib -Wl,-rpath
241 dnl -Wl,/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
242 dnl -L/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
243 dnl -lc -o hello
244 dnl  /opt/android-ndk-r3/build/platforms/android-3/arch-arm/usr/lib/crtbegin_dynamic.o
245 dnl Recent versions of G++ (I'm using 4.5 from source
246 android_ndk=no
247 AC_ARG_WITH([android],
248   AC_HELP_STRING([--with-android], [directory where android NDK is installed]),
249         android_ndk=${withval}
250         if test x"${withval}" != x; then
251           android_ndk=${withval}
252         else
253           android_ndk=/opt/android-ndk-r3/build/platforms/android-5/arch-arm
254         fi
256 CROSS_CXXFLAGS=
257 if test x"${android_ndk}" != xno; then
258 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
259 dnl  CROSS_CXXFLAGS=-mandroid -fexceptions -I${android_ndk}/include
260   CROSS_CXXFLAGS=-mandroid -fexceptions
261   if test x"${with_top_level}" = x; then
262     with_top_level=/usr/local/android-arm/sysroot/usr
263     cross_compiling=yes
264   fi
265   ANDROID_NDK=${android_ndk}
266   AC_DEFINE(ANDROID, [1], [This is an Android build])
267 else
268   ANDROID_NDK=
270 AC_SUBST(ANDROID_NDK)
271 AM_CONDITIONAL(ANDROID, [ test x"${android_ndk}" != xno ])
273 AC_ARG_WITH(cpu,
274   AC_HELP_STRING([--with-cpu],[specify a cpu when cross compiling.]),
275   [case "${withval}" in
276     geode) with_cpu=geode ;;
277     *)   AC_MSG_ERROR([bad value ${enableval} for --with-cpu option]) ;;
278    esac],with_cpu=none)
280 if test x"$with_cpu" != x"none"; then
281 dnl   $CXXFLAGS="$CXXFLAGS -march=${with_cpu}"
282    cross_compiling=yes
285 AC_C_BIGENDIAN
286 AC_C_CONST
287 AC_C_INLINE
289 AM_CONDITIONAL(ENABLE_SHARED, [test x"${enable_shared}" = xyes])
290 AM_CONDITIONAL(ENABLE_STATIC, [test x"${enable_shared}" = xno])
291 dnl -- AM_CONDITIONAL(STATIC_GUI, test x"${dynamic_gui}" = xno -o x"${enable_shared}" = xno)
293 AC_PATH_PROG(DEJAGNU, runtest)
295 dnl AC_CHECK_LIB(ltdl, lt_dlmutex_register, AC_DEFINE(LT_DLMUTEX, 1, [Has lt_dlmutex_register]),
296 dnl                                         AC_DEFINE(LT_DLMUTEX, 0, [doesn't have lt_dlmutex_register]) )
298 dnl These options are for Cygnal, which collects optional statistics
299 dnl on all the network traffic By default, we turn on statistics
300 dnl collecting for the incoming and outgoing queues, since those are
301 dnl required to be compatiable with FMS 3, and the ActionScript server
302 dnl management API. buffers are the lowest level data storage, this
303 dnl data is the time spent in the queue, and is primarily only used
304 dnl for tuning the queueing API in Gnash. Memoryis the same, it's only
305 dnl used by developers for tuning performance of memory allocations in
306 dnl Gnash.
307 buffers=no
308 que=no
309 memory=no
310 cache=yes
311 stat_proplookup=no
312 AC_ARG_WITH(statistics,
313   AC_HELP_STRING([--with-statistics=], [Specify which statistics features to enable]),
314   if test -n ${withval}; then
315     if test "x${withval}" != "xno"; then
316       extlist="${withval}"
317       withval=`echo ${withval} | tr '\054' ' ' `
318     else
319       extlist=""
320       withval=""
321     fi
322   fi
323   statistics_list=""
324   nstatistics=0
325   while test -n "${withval}" ; do
326     val=`echo ${withval} | cut -d ' ' -f 1`
327     [case "${val}" in
328       buffers)
329         buffers=yes
330         nstatistics=$((nstatistics+1))
331         ;;
332       que)
333         que=yes
334         nstatistics=$((nstatistics+1))
335         ;;
336       memory)
337         memory=yes
338         nstatistics=$((nstatistics+1))
339         ;;
340       cache)
341         cache=yes
342         nstatistics=$((nstatistics+1))
343         ;;
344       proplookup)
345         stat_proplookup=yes
346         nstatistics=$((nstatistics+1))
347         ;;
348       all|ALL)
349         buffers=yes
350         memory=yes
351         queu=yes
352         cache=yes
353         stat_proplookup=yes
354         nstatistics=5           dnl this must be incremented if you add anything
355         ;;
356       *) AC_MSG_ERROR([invalid statistics feature specified: ${withval} given (accept: buffers|que|memory|cache|proplookup|all)])
357         ;;
358       esac]
359     withval=`echo ${withval} | cut -d ' ' -f 2-6`
360     if test "x$val" = "x$withval"; then
361       break;
362     fi
363   done
365 if test x${buffers} = xyes; then
366   statistics_list="${statistics_list} buffers"
367   AC_DEFINE(USE_STATS_BUFFERS, [1], [Support statistics collecting for the queue buffers])
368   AC_MSG_WARN([This option will effect your performance])
371 if test x${memory} = xyes; then
372   statistics_list="${statistics_list} memory"
373   AC_DEFINE(USE_STATS_MEMORY, [1], [Support statistics collecting for all memory profiling])
374   AC_MSG_WARN([This option will effect your performance])
377 if test x${que} = xyes; then
378   statistics_list="${statistics_list} queues"
379   AC_DEFINE(USE_STATS_QUEUE, [1], [Support statistics collecting for the queues])
382 if test x${cache} = xyes; then
383   statistics_list="${statistics_list} cache"
384   AC_DEFINE(USE_STATS_CACHE, [1], [Support statistics collecting for the cache])
387 if test x${stat_proplookup} = xyes; then
388   statistics_list="${statistics_list} proplookup"
389   AC_DEFINE(GNASH_STATS_OBJECT_URI_NOCASE, [1], [Collecting and report stats about ObjectURI case lookups])
390   AC_DEFINE(GNASH_STATS_PROPERTY_LOOKUPS, [1], [Collecting and report stats about property lookups])
391   AC_DEFINE(GNASH_STATS_STRING_TABLE_NOCASE, [1], [Collecting and report stats about string_table::key case lookups])
394 dnl this is just so Makefile can print the same list
395 STATISTICS_LIST="$statistics_list"
396 AC_SUBST(STATISTICS_LIST)
399 # These settings are compile time options for the security
400 # setting for anything that lets gnash exchange data with
401 # other applications. Currently this only supports Shared
402 # Objects and Local Connections. Shared Objects are like
403 # your web browsers cookies, and Local Connections use
404 # shared memory to execute methods remotely, and to
405 # exchange data.
407 # The default is to enable everything, and these can
408 # also be controlled dynamically by the $HOME/.gnashrc
409 # file.
411 solreadonly=no
412 localconnection=yes
413 lctrace=yes
415 AC_ARG_WITH(security,
416   AC_HELP_STRING([--with-security=], [Specify which security features to enable]),
417   if test -n ${withval}; then
418     if test "x${withval}" != "xno"; then
419       extlist="${withval}"
420       withval=`echo ${withval} | tr '\054' ' ' `
421     else
422       extlist=""
423       withval=""
424     fi
425   fi
426   security_list=""
427   nsecurity=0
428   while test -n "${withval}" ; do
429     val=`echo ${withval} | cut -d ' ' -f 1`
430 dnl    security_list="${security_list} ${val}"
431     [case "${val}" in
432       solreadonly)
433         solreadonly=yes
434         nsecurity=$((nsecurity+1))
435         ;;
436       lc)
437         localconnection=yes
438         nsecurity=$((nsecurity+1))
439         ;;
440       lctrace)
441         lctrace=yes
442         nsecurity=$((nsecurity+1))
443         ;;
444       all|ALL)
445         solreadonly=yes
446         lc=yes
447         lctrace=yes
448         nsecurity=3
449         ;;
450       *) AC_MSG_ERROR([invalid security feature specified: ${withval} given (accept: solreadonly|lc|lctrace)])
451         ;;
452       esac]
453     withval=`echo ${withval} | cut -d ' ' -f 2-6`
454     if test "x$val" = "x$withval"; then
455       break;
456     fi
457   done
459 if test xlctrace = xyes; then
460   security_list="${security_list} lctrace"
461   AC_DEFINE(USE_LC_TRACE, [1],
462            [Support LocalConnection])
463   AC_MSG_NOTICE([This build supports LocalConnection tracing])
464   AC_MSG_WARN([This option will effect your performance])
467 if test x$localconnection = xyes; then
468   security_list="${security_list} localconnection"
469   AC_DEFINE(USE_LC, [1],
470                  [Support LocalConnection])
471   AC_MSG_NOTICE([This build supports LocalConnection])
473 if test x$solreadonly = xyes; then
474   security_list="${security_list} solreadonly"
475   AC_DEFINE(USE_SOL_READONLY, [1],
476                  [Shared Objects are read-only])
477   AC_MSG_NOTICE([Shared Objects are read-only])
479 SECURITY_LIST="$security_list"
480 AC_SUBST(SECURITY_LIST)
482 dnl For Haiku, we know the sysroot is in a non-standard place
483 dnl it is important that -lagg comes before -lbe
484 if test x"${haiku}" = xyes; then
485   HAIKU_LIBS=-lbe
486   AC_SUBST(HAIKU_LIBS)
489 dnl Darwin uses libtool instead of ar to produce libraries. We determine which one
490 dnl we have here now. For some reason on Darwin, we don't get the
491 dnl count from grep via stdin correctly. Writing a temp file does the
492 dnl trick, so although it's ugly, that's what we gotta do...
493 AC_MSG_CHECKING([which type of library archiver we have])
494 rm -f .tmp
495 libtool > .tmp 2>&1
496 archiver=`grep -c dynamic .tmp 2>&1`
497 rm -f .tmp
498 dnl is there any good way to report what we found here?
499 AC_MSG_RESULT()
500 if test x"${archiver}" != x && test "${archiver}" -eq 1; then
501 dnl   if test "$enable_shared" = no; then
502 dnl     AR="libtool -static"
503 dnl   else
504 dnl     AR="libtool -dynamic"
505 dnl     CXXFLAGS="${CXXFLAGS} -dynamic"
506    export MACOSX_DEPLOYMENT_TARGET="10.3"
507 dnl   fi
508 dnl   AR_FLAGS="-o"
509    darwin=yes
510 else
511    darwin=no
514 dnl When cross compiling, limit the search directories cause otherwise
515 dnl we may get the host headers or libraries by accident. These values
516 dnl are exported, so all the other configure tests in macros/*.m4 use
517 dnl these same settings rather than duplicating them like we used to.
518 dnl To override thise, use the --with-*-incl= and --with-*-libs=
519 dnl options to configure.
520 if test x$cross_compiling = xyes; then
521   AC_MSG_NOTICE([Configuring Gnash for cross compilation])
522   export pkgroot="`$CXX -print-search-dirs | grep "install:" | sed -e 's/install: //' -e 's:/lib/gcc/.*::'`"
523   dnl pkgroot only works correctly with builds of cross tools not in
524   dnl /usr, ie... installed from the distribution packages, or just
525   dnl plain installed in the system tools. This contaminates configure
526   dnl when building for variations of the same basic architecture,
527   dnl like i686-linux -> i586-mingw32.
528   if test x${pkgroot} = "/usr"; then
529     export pkgroot=""
530   fi
531   export incllist="`eval echo ${with_top_level}/include ${pkgroot}/${host_alias}/include ${pkgroot}/include`"
532   export libslist="`eval echo ${with_top_level}/lib ${pkgroot}/${host_alias}/lib ${pkgroot}/lib64 ${pkgroot}/lib32 ${pkgroot}/lib`"
533   export pathlist="`eval echo ${pkgroot}/${host_alias}/bin:${pkgroot}/bin`"
534   npapi=no
535 else
536   AC_MSG_NOTICE([Configuring Gnash for native compilation])
537   export incllist="`eval cat ${srcdir}/macros/incllist`"
538   export libslist="`eval cat ${srcdir}/macros/libslist`"
539   export pathlist=$PATH
542 if test x"${android_ndk}" != xno; then
543    incllist="${android_ndk}/include ${incllist}"
546 AM_CONDITIONAL(CROSS_COMPILING, [ test x$cross_compiling = xyes ])
548 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
549 dnl !! 
550 dnl !! IMPORTANT NOTICE 
551 dnl !!
552 dnl !!  Any call to GNASH_PATH_XXX must be be given *after* this snippet.
553 dnl !!  This is to ensure that PKG_CONFIG, cross_compiling and incllist are
554 dnl !!  properly set at the time of call.
555 dnl !!
556 dnl !!  Also GNASH_PKG_FIND has to be called later. Not sure
557 dnl !!  why but calling before breaks detection of CPP (see
558 dnl !!  gnash-dev mailing archives for June 12 2009
559 dnl !!  http://lists.gnu.org/archive/html/gnash-dev/2009-06/index.html
560 dnl !! 
561 dnl !! 
562 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
564 dnl Check for PKG_CONFIG before any GNASH_PATH call
565 PKG_PROG_PKG_CONFIG
567 dnl --------------------------------------------------------
568 dnl  GUI selection
569 dnl --------------------------------------------------------
571 build_haiku=no
572 build_aos4=no      dnl AmigaOS4 GUI
573 build_kde3=no      dnl WARNING: doesn't work (see https://savannah.gnu.org/bugs/index.php?31782)
574 build_kde4=no
575 build_qtopia3=no
576 build_qtopia4=no
577 build_gtk=no
578 build_fb=no                     dnl Raw framebuffer
579 build_fltk=no
580 build_sdl=no
581 build_riscos=no                 dnl Native OS2 GUI
582 build_aqua=no                   dnl Native MacOSX
583 build_hildon=no                 dnl Native LIMO
584 build_alp=no                    dnl Acess Linux Platform using Hiker
585 build_dump=no
586 AC_ARG_ENABLE(gui,
587   AC_HELP_STRING([--enable-gui=], [Enable support for the specified GUI toolkits (default=gtk,kde4)]),
588   [if test -n ${enableval}; then
589     enableval=`echo ${enableval} | tr '\054' ' ' `
590   fi
591   while test -n "${enableval}" ; do
592     val=`echo ${enableval} | cut -d ' ' -f 1`
593     case "${val}" in
594       gtk|GTK|gtk2|GTK2)
595         build_gtk=yes
596         ;;
597       kde3|KDE3)
598         build_kde3=yes
599         ;;
600       kde4|KDE4)
601         build_kde4=yes
602         ;;
603       qtopia3|QTOPIA3)
604         build_qtopia3=yes
605         ;;
606       qtopia4|QTOPIA4)
607         build_qtopia4=yes
608         ;;
609       sdl|SDL)
610         build_sdl=yes
611         ;;
612       aqua|AQUA|Aqua)
613         build_aqua=yes
614         ;;
615       riscos|RISCOS|RiscOS)
616         build_riscos=yes
617         ;;
618       fltk|FLTK|fltk2|FLTK2)
619         build_fltk=yes
620         ;;
621       fb|FB)
622         build_fb=yes
623         ;;
624       aos4|AOS4)
625         build_aos4=yes
626         ;;
627       haiku|HAIKU)
628         build_haiku=yes
629         ;;
630       dump|DUMP)
631         build_dump=yes
632         ;;
633       all|ALL)
634         build_dump=yes
635         dnl BSD doesn't have a framebuffer interface
636         if test x${linux} = xyes; then
637           build_fb=yes
638         fi
639         if test x${openbsd} != xyes; then
640           build_kde4=yes
641         fi
642         build_sdl=yes
643         ;;
644       *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: gtk|kde3|kde4|fltk|sdl|riscos|aqua|fb|qtopia3|qtopia4|dump|aos4|haiku)])
645          ;;
646       esac
647     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
648     if test "x$val" = "x$enableval"; then
649       break;
650     fi
651   done],
652   [ dnl Run the following code if no --enable-gui is given
653   build_fb=auto
654   build_sdl=auto
655   if test x"${openbsd_os}" = x"openbsd"; then
656     build_gtk=yes
657     build_dump=auto
658   else if test x"${haiku}" = xyes; then
659     build_haiku=yes;
660   else
661     build_kde4=auto
662     build_gtk=yes
663     build_dump=auto
664   fi
665   fi
666   ]
669 if test x"${build_haiku}" = xyes; then
670   if test x"$haiku" != xyes; then
671     echo "        ERROR: Can not build Haiku gui outside of Haiku
672 operating system." >&3
673   fi
676 dnl We can use Xephyr or fbe to create a fake framebuffer instead of real
677 dnl video memory. This lets us test on a desktop machine.
678 AC_ARG_WITH(fakefb,
679 AC_HELP_STRING([--with-fakefb],
680  [specify a file to be mapped instead of a real framebuffer]),
681  with_fakefb=${withval})
683 fakefb=
684 if test x"${with_fakefb}" = xyes; then
685   dnl This is the default file name fbe uses.
686   fakefb=/tmp/fbe_buffer
687 else
688   if test x"${with_fakefb}" != x; then
689     fakefb=${with_fakefb}
690   fi
692 FAKEFB=${fakefb}
693 AC_SUBST(FAKEFB)
695 if test x"${fakefb}" != x; then
696     AC_DEFINE(ENABLE_FAKE_FRAMEBUFFER, [1], [Enable using a file instead of a real framebuffer])
700 dnl --------------------------------------------------------
701 dnl  Sound handler selection
702 dnl --------------------------------------------------------
703 add_sound=
704 build_sound_none=no
705 build_sound_sdl=no
706 build_sound_ahi=no
707 build_sound_mkit=no
708 AC_ARG_ENABLE(sound,
709   AC_HELP_STRING([--enable-sound=[[sdl|ahi|mkit]]], [Use the specified sound handler (default=sdl)]),
710      [case "${enableval}" in
711       sdl|SDL|Sdl)
712         build_sound_sdl=yes
713         add_sound="sdl"
714         ;;
715       none|NONE|None)
716         build_sound_none=yes
717         add_sound="none"
718         ;;
719       ahi|AHI|Ahi)
720         build_sound_ahi=yes
721         add_sound="ahi"
722         ;;
723       mkit|MKIT|Mkit)
724         build_sound_mkit=yes
725         add_sound="mkit"
726         ;;
727      esac],
728   [if test x"${haiku}" = xyes; then
729      build_sound_mkit=yes
730      add_sound="mkit"
731    else
732      if test x${build_sound_none} = xno; then
733        build_sound_sdl=yes
734        add_sound=sdl
735      fi
736    fi]
739 dnl --------------------------------------------------------
740 dnl  Media handler selection
741 dnl --------------------------------------------------------
742 build_media_gst=no
743 build_media_ffmpeg=auto
744 build_media_none=no
745 AC_ARG_ENABLE(media,
746   AC_HELP_STRING([--enable-media=handler],
747     [Enable media handling support using the specified handler: gst, ffmpeg or none (no sound) [[gst]] ]),
748   
749     if test -n ${enableval}; then
750       enableval=`echo ${enableval} | tr '\054' ' ' `
751     fi
752     dnl When --enable-media is given, all media defaults to off
753     dnl except the explicitly enabled ones
754     build_media_ffmpeg=no
755     build_media_gst=no
756     while test -n "${enableval}"; do
757       val=`echo ${enableval} | cut -d ' ' -f 1`
758       [case "${val}" in
759         GST|gst)
760           build_media_gst=yes
761           media_list="${media_list}gst "
762           ;;
763         FFMPEG|ffmpeg)
764           build_media_ffmpeg=yes
765           media_list="${media_list}ffmpeg "
766           ;;
767         no|NO|none)
768           build_media_none=yes
769           media_list="none"
770           ;;
771         *)
772           AC_MSG_ERROR([bad value ${enableval} for --enable-media option])
773           ;;
774      
775       esac]
776       enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
777       if test "x$val" = "x$enableval"; then
778         break;
779       fi
780     done,
781     [if test x"${build_haiku}" = xyes; then
782         build_media_ffmpeg=yes
783         build_media_haiku=yes
784         media_list="ffmpeg haiku"
785      else
786         build_media_gst=yes
787         media_list="gst"
788     fi]
791 dnl If no render is selected, and media handling isn't disabled, them enable gst
792 if test x${build_media_none} = xno -a x${build_media_gst} = xno -a x${build_media_ffmpeg} = xno; then
793   build_media_gst=yes
796 if test x"$build_media_ffmpeg" != x"no"; then # yes or auto
797   GNASH_PATH_FFMPEG
798   if test x"${build_media_ffmpeg}" = xauto; then
799     dnl TODO: have GNASH_PATH_FFMPEG set ${has_ffmpeg}
800     if test x"$FFMPEG_LIBS" != x; then
801       build_media_ffmpeg=yes
802       media_list="${media_list} ffmpeg"
803     else
804       build_ogl=no
805     fi
806   fi
809 MEDIA_CONFIG="${media_list}"
810 AC_SUBST(MEDIA_CONFIG)
812 dnl -----------------------------------------------------
813 dnl Check for SDL and decide about auto gui accordingly.
814 dnl Need be done after build_sound_sdl and build_sdl are
815 dnl initialized and before they are checked for yes/no
816 dnl -----------------------------------------------------
818 if test x$build_sdl != xno -o x$build_sound_sdl = xyes; then
819   GNASH_PATH_SDL
822 if test x"${build_sdl}" = xauto; then
823   if test xyes = x"${has_sdl}"; then
824     build_sdl=yes
825   else
826     AC_MSG_NOTICE([sdl GUI won't be built (no sdl development files found)])
827     build_sdl=no
828   fi
832 dnl -------------------------------
833 dnl Renderer Selection
834 dnl -------------------------------
835 input_events=
836 dnl By default, we want to to build all renderers
837 build_ovg=no
838 build_gles=no
839 build_ogl=auto
840 build_agg=yes
841 build_cairo=yes
842 renderer_list="AGG Cairo"
843 nrender=3
844 AC_ARG_ENABLE(renderer,
845   AC_HELP_STRING([--enable-renderer=], [Enable support for the specified renderers (ogl|gles|cairo|agg|all, default=all)]),
846   if test -n ${enableval}; then
847     if test "x${enableval}" != "xno" -o "x${enableval}" != "xnone" ; then
848       renderer_list="none"
849       enableval=`echo ${enableval} | tr '\054' ' ' `
850     else
851       renderer_list=""
852       enableval=""
853     fi
854   fi
855   renderer_list=""
856   nrender=0
857   build_ovg=no
858   build_ogl=no
859   build_gles=no
860   build_agg=no
861   build_cairo=no
862   while test -n "${enableval}" ; do
863     val=`echo ${enableval} | cut -d ' ' -f 1`
864     [case "${val}" in
865       no*|NO*)
866         renderer_list="none"
867         build_ovg=no
868         build_ogl=no
869         build_gles=no
870         build_agg=no
871         build_cairo=no
872         nrender=1
873         ;;
874       all|ALL)
875         renderer_list="OpenGL, Cairo, AGG"
876         build_ogl=yes
877         build_agg=yes
878         build_cairo=yes
879         build_ovg=yes
880         nrender=4
881         ;;
882       ogl|OGL|OpenGL|opengl)
883         renderer_list="${renderer_list} OpenGL"
884         build_gles=no
885         build_ogl=yes
886         nrender=$((nrender+1))
887         ;;
888       gles|GLES|GL-ES|gl-es)
889         renderer_list="${renderer_list} OpenGL-ES"
890         build_gles=yes
891         build_ogl=no
892         nrender=$((nrender+1))
893         ;;
894       ovg|OVG|OpenVG|openvg)
895         renderer_list="${renderer_list} OpenVG"
896         build_ogv=yes
897         nrender=$((nrender+1))
898         ;;
899       agg|AGG)
900         renderer_list="${renderer_list} AGG"
901         build_agg=yes
902         nrender=$((nrender+1))
903         ;;
904       cairo|CAIRO|Cairo*)
905         renderer_list="${renderer_list} Cairo"
906         build_cairo=yes
907         nrender=$((nrender+1))
908         ;;
909       *) AC_MSG_ERROR([invalid renderer specified: ${enableval} given (accept:  (ogl|cairo|agg|all)])
910         ;;
911       esac]
912     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
913     if test "x$val" = "x$enableval"; then
914       break;
915     fi
916   done
918 dnl 16 bit: RGB555, RGB565
919 dnl 24 bit: RGB24, BGR24
920 dnl 32 bit: RGBA32, BGRA32
921 pixelformat=all
922 AC_ARG_WITH(pixelformat,
923   AC_HELP_STRING([--with-pixelformat=], [Use the specified pixel format for AGG (default=all)]),
924   [if test -n ${withval}; then
925     pixelformat="${withval}"
926     withval=`echo ${withval} | tr '\054' ' ' `
927   fi
928   while test -n "${withval}" ; do
929     val=`echo ${withval} | cut -d ' ' -f 1`
930     case "${val}" in
931       all)
932         # allow special value "all" set by user (handled below)
933         ;; 
934       argb32|ARGB32)
935         AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32])
936         ;;
937       abgr32|ABGR32)
938         AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32])
939         ;;
940       bgra32|BGRA32)
941         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
942         ;;
943       bgr24|BGR24)
944         AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24])
945         ;;
946       rgba32|RGBA32)
947         AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32])
948         ;;
949       rgb24|RGB24)
950         AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24])
951         ;;
952       rgb555|RGB555)
953         AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555])
954         ;;
955       rgb565|RGB565)
956         AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565])
957         ;;
958       *) AC_MSG_ERROR([invalid pixel format ${withval} given (accept: all|RGB555|RGB565|RGB24|BGR24|BGRA32|RGBA32|ARGB32|ABGR32)])
959          ;;
960       esac
961     withval=`echo ${withval} | cut -d ' ' -f 2-6`
962     if test "x$val" = "x$withval"; then
963       break;
964     fi
965   done],
966   [if test x$build_haiku = xyes -a x$build_sdl != xyes; then
967         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
968         pixelformat=BGRA32
969    fi]
972 if test x$pixelformat = xall; then
973   if test x$build_agg = xyes; then
974     ### The fact that we're building GTK doesn't mean we're not also
975     ### building KDE or SDL, each needing its own pixel format !
976     #if test x$build_gtk = xyes; then
977     #  AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
978     #  pixelformat="RGB24"
979     #else
980       AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555 pixel format])
981       AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565 pixel format])
982       AC_DEFINE(PIXELFORMAT_RGB24,  [1], [RGB24 pixel format])
983       AC_DEFINE(PIXELFORMAT_BGR24,  [1], [BGR24 pixel format])
984       AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32 pixel format])
985       AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32 pixel format])
986       AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32 pixel format])
987       AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32 pixel format])
988     #fi
989   fi
992 if test x"${build_ogl}" != xno; then # yes or auto
993   GNASH_PATH_OPENGL
994   if test x"${build_ogl}" = xauto; then
995     if test xyes = x"${has_opengl}"; then
996       build_ogl=yes
997       renderer_list="${renderer_list} OpenGL"
998     else
999       build_ogl=no
1000     fi
1001   fi
1004 AM_CONDITIONAL(BUILD_OVG_RENDERER, [ test x$build_ovg = xyes ])
1005 AM_CONDITIONAL(BUILD_GLES_RENDERER, [ test x$build_gles = xyes ])
1006 AM_CONDITIONAL(BUILD_OGL_RENDERER, [ test x$build_ogl = xyes])
1007 AM_CONDITIONAL(BUILD_AGG_RENDERER, [ test x$build_agg = xyes ])
1008 AM_CONDITIONAL(BUILD_CAIRO_RENDERER, [ test x$build_cairo = xyes ])
1010 if test x"${build_ogl}" = xyes; then
1011    AC_DEFINE([RENDERER_OPENGL], [], [Use OpenGL renderer])
1014 if test x"$build_agg" = xyes; then
1015   AC_DEFINE([RENDERER_AGG], [], [Use AntiGrain renderer])
1018 if test x"$build_cairo" = xyes; then
1019   GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1020   AC_DEFINE([RENDERER_CAIRO], [], [Use cairo renderer])
1023 if test x"${build_agg}" = xyes; then
1024    GNASH_PATH_AGG
1027 dnl VA API is used by default for all H.264 videos. HW requirements:
1028 dnl     * AMD GPUs with UVD2 and xvba-video VA driver
1029 dnl     * NVIDIA GPUs with vdpau-video VA driver
1030 dnl     * All HW with a VA driver supporting the VA/GLX extensions or
1031 dnl     vaPutSurface(Pixmap,...). This may include the Intel
1032 dnl     Moorestown platform and future G45 VA driver.
1033 dnl NOTE: it is possible to use Gnash/VAAPI on platforms with an Intel
1034 dnl GMA500 but you currently will have to build the AGG renderer
1035 dnl instead of the OGL (OpenGL) one. 
1037 build_vaapi=yes
1038 hwaccel_list="VAAPI"
1039 nhwaccel=1
1040 AC_ARG_ENABLE(hwaccel,
1041   AC_HELP_STRING([--enable-hwaccel], [Specify which accleration to support to enable (none,vaapi,omap)]),
1042   if test -z ${enableval}; then
1043       hwaccel_list="none"
1044       nhwaccel=0
1045       enableval=""
1046   fi
1047   while test -n "${enableval}" ; do
1048     val=`echo ${enableval} | cut -d ' ' -f 1`
1049     [case "${val}" in
1050       no*|NO*)
1051         hwaccel_list="none"
1052         build_vaapi=no
1053         build_omap=no
1054         nhwaccel=0
1055         ;;
1056       va*|VA*)
1057         hwaccel_list="${hwaccel_list} vaapi"
1058         build_vaapi=yes
1059         nhwaccel=$((nhwaccel+1))
1060         ;;
1061       all|ALL)
1062         hwaccel_list="VAAPI OMAP"
1063         nhwaccel=2
1064         build_omap=yes
1065         build_vaapi=yes
1066         ;;
1067       omap*|OMAP*)
1068         hwaccel_list="${hwaccel_list} omap"
1069         build_omap=yes
1070         nhwaccel=$((nhwaccel+1))
1071         ;;
1072       *) AC_MSG_ERROR([invalid hwaccel feature specified: ${enableval} given (accept: none,vaapi,omap)])
1073         ;;
1074       esac]
1075     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1076     if test "x$val" = "x$enableval"; then
1077       break;
1078     fi
1079   done
1082 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi}" = x"yes"; then
1083   use_libva=no
1084   use_libva_x11=no
1085   use_libva_glx=no
1086   dnl if the version of FFmpeg is recent enough, (r20957, 52.45.0), then
1087   dnl look for VAAPI support so we can use use the VAAPI enabled FFmpeg.
1088   if test x"${have_ffmpeg_vaapi}" = xyes; then
1089     use_libva=yes
1090     GNASH_PKG_FIND([libva],
1091       [va/va.h],
1092       [Video Acceleration API],
1093       vaInitialize
1094     )
1096     use_libva_x11=yes
1097     GNASH_PKG_FIND([libva_x11],
1098       [va/va_x11.h],
1099       [VA API (X11 display)],
1100       vaGetDisplay,
1101       [], [-lva-x11]
1102     )
1104     if test x$build_ogl = xyes; then
1105       use_libva_glx=yes
1106       GNASH_PKG_FIND([libva_glx],
1107         [va/va_glx.h],
1108         [VA API (GLX display)],
1109         vaGetDisplayGLX,
1110         [], [-lva-glx]
1111       )
1112     fi
1113   fi
1116 dnl libVA drivers. We declare conditional for both the option being
1117 dnl selected, as well as whether or not it's found. This we can
1118 dnl generate better error handling if it's not found.
1119 AM_CONDITIONAL(BUILD_OMAP, test x"${build_omap}" = xyes)
1120 AM_CONDITIONAL(USE_VAAPI, test x"${use_libva}" = xyes)
1122 dnl Only build the vaapi support if we have a version of FFmpeg that
1123 dnl supports it.
1124 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${found_libva_incl}" = xyes; then
1125   build_vaapi=yes
1126   hwaccel_list="VAAPI"
1127   nhwaccel=1
1128 else
1129   build_vaapi=no
1130   hwaccel_list=""
1131   nhwaccel=0
1134 dnl Until the hwaccel patches in FFmpeg wind up in the ffmpeg-plugin,
1135 dnl restrict using HW Accel to using FFmpeg directly.
1136 dnl test xyes = xyes -a ( x != xyes -o x != xyes )
1137 if test x"${build_vaapi}" = x"yes" -a x"${have_ffmpeg}" != x"yes"; then
1138   AC_MSG_ERROR(["Hardware acceleration currently not supported unless using FFmpeg."])
1141 AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = xyes)
1142 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
1143 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
1146 AC_PATH_PROG(PERL, perl)
1147 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
1149 AC_PATH_PROG(CSOUND, csound)
1150 AM_CONDITIONAL(HAVE_CSOUND, test x"$CSOUND" != x)
1152 AC_PATH_PROG(GIT, git)
1153 AC_SUBST(GIT)
1155 dnl -------------------------------------
1156 dnl LIRC
1157 dnl -------------------------------------
1158 AC_ARG_ENABLE(lirc, AC_HELP_STRING([--enable-lirc], [Disable support for Lirc]),
1159 [case "${enableval}" in
1160   yes) lirc=yes ;;
1161   no)  lirc=no ;;
1162   *)   AC_MSG_ERROR([bad value ${enableval} for enable-lirc option]) ;;
1163 esac], lirc=no)
1165 if test x"$lirc" = x"yes"; then
1166   AC_DEFINE([USE_LIRC], [], [LIRC daemon support])
1168 AM_CONDITIONAL(USE_LIRC, test x$lirc = xyes)
1170 dnl --------------------------------------------------------
1171 dnl Extension selection
1172 dnl --------------------------------------------------------
1173 ext_dejagnu=no
1174 ext_mysql=no
1175 ext_fileio=no
1176 ext_gtk=no
1177 ext_lirc=no
1178 ext_dbus=no
1179 ext_all=no
1180 ext_launcher=no
1181 extensions_list=
1182 nextensions=0
1183 AC_ARG_ENABLE(extensions,
1184   AC_HELP_STRING([--enable-extensions=], [Specify which extensions to build]),
1185   if test -n ${enableval}; then
1186     if test "x${enableval}" != "xno"; then
1187       extlist="${enableval}"
1188       enableval=`echo ${enableval} | tr '\054' ' ' `
1189     else
1190       extlist=""
1191       enableval=""
1192     fi
1193   fi
1194   nextensions=0
1195   while test -n "${enableval}" ; do
1196     val=`echo ${enableval} | cut -d ' ' -f 1`
1197     extensions_list="${extensions_list} ${val}"
1198     [case "${val}" in
1199       dejagnu|DEJAGNU|dj|DJ)
1200         AC_DEFINE(USE_DEJAGNU_EXT, [1], [Build the DejaGnu extension])
1201         AC_MSG_NOTICE([Adding DejaGnu extension])
1202         ext_dejagnu=yes
1203         nextensions=$((nextensions+1))
1204         ;;
1205       mysql|MYSQL|sql|SQL)
1206         AC_DEFINE(USE_MYSQL_EXT, [1], [Build the MySQL extension])
1207         AC_MSG_NOTICE([Adding MySql extension])
1208         ext_mysql=yes
1209         nextensions=$((nextensions+1))
1210         ;;
1211       fileio|FILEIO|io|IO)
1212         AC_DEFINE(USE_FILEIO_EXT, [1], [Build the FileIO extension])
1213         AC_MSG_NOTICE([Adding FileIO extension])
1214         ext_fileio=yes
1215         nextensions=$((nextensions+1))
1216         ;;
1217       gtk|GTK|gtk2|GTK2)
1218         AC_DEFINE(USE_GTK_EXT, [1], [Build the GTK extension])
1219         ext_gtk=yes
1220         nextensions=$((nextensions+1))
1221         ;;
1222       launcher|LAUNCHER)
1223         AC_DEFINE(USE_LAUNCHER_EXT, [1], [Build the Launcher extension])
1224         ext_launcher=yes
1225         nextensions=$((nextensions+1))
1226         ;;
1227       lirc|LIRC)
1228         AC_DEFINE(USE_LIRC_EXT, [1], [Build the LIRC extension])
1229         ext_lirc=yes
1230         nextensions=$((nextensions+1))
1231         ;;
1232       dbus|DBUS)
1233         AC_DEFINE(USE_DBUS_EXT, [1], [Build the DBUS extension])
1234         ext_dbus=yes
1235         nextensions=$((nextensions+1))
1236         ;;
1237       all|ALL)
1238         AC_DEFINE(USE_GTK_EXT, [1], [Build all the extensions])
1239         ext_dejagnu=yes
1240         ext_mysql=yes
1241         ext_fileio=yes
1242         ext_gtk=yes
1243         ext_lirc=yes
1244         ext_dbus=yes
1245         ext_launcher=yes
1246         ext_all=yes
1247         nextensions=9
1248         ;;
1249       *) AC_MSG_ERROR([invalid extension specified: ${enableval} given (accept: MYSQL|DEJAGNU|FILEIO|GTK|LIRC|DBUS|METOME|ALL)])
1250          ;;
1251       esac]
1252     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1253     if test "x$val" = "x$enableval"; then
1254       break;
1255     fi
1256   done
1257   EXTENSIONS_LIST="$extensions_list"
1258   AC_SUBST(EXTENSIONS_LIST)
1261 if test x$ext_dbus = xyes; then
1262   GNASH_PATH_DBUS
1265 if test x$ext_mysql = xyes; then
1266   GNASH_PATH_MYSQL
1269 AM_CONDITIONAL(BUILD_DEJAGNU_EXT, [ test x$ext_dejagnu = xyes ])
1270 AM_CONDITIONAL(BUILD_FILEIO_EXT, [ test x$ext_fileio = xyes ])
1271 AM_CONDITIONAL(BUILD_MYSQL_EXT, [ test x$ext_mysql = xyes ])
1272 AM_CONDITIONAL(BUILD_LAUNCHER_EXT, [ test x$ext_launcher = xyes ])
1273 AM_CONDITIONAL(BUILD_GTK_EXT, [ test x$ext_gtk = xyes ])
1274 AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes ])
1275 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
1276 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
1278 GNASH_PKG_CLASSFILE
1280 dnl --------------------------------------------------------
1281 dnl Libtool
1282 dnl --------------------------------------------------------
1284 AC_LIBTOOL_DLOPEN
1285 AC_LIBTOOL_WIN32_DLL
1286 AC_DISABLE_STATIC
1287 AC_PROG_LIBTOOL
1288 AC_SUBST(LIBTOOL_DEPS)
1289 DLOPEN="-dlopen"
1290 DLPREOPEN="-dlpreopen"
1291 AC_SUBST(DLOPEN)
1292 AC_SUBST(DLPREOPEN)
1294 GNASH_PKG_FIND([ltdl], [ltdl.h], [libltdl library], [lt_dlinit])
1296 if test x"$has_ltdl" = x"yes";then
1297   AC_DEFINE(HAVE_LTDL, [1], [Libtool 2.x defines this, but libtool 1.5 doesn't])
1300 dnl --------------------------------------------------------
1301 dnl SOL dir
1302 dnl --------------------------------------------------------
1303 soldir=/tmp
1304 AC_ARG_WITH(soldir,
1305  AC_HELP_STRING([--with-soldir],
1306  [directory for .sol files]),
1307  with_soldir=${withval})
1308 if test x${with_soldir} != x; then
1309   soldir=${with_soldir}
1311 SOLDIR=${soldir}
1312 AC_SUBST(SOLDIR)
1314 dnl --------------------------------------------------------
1315 dnl AVM2
1316 dnl --------------------------------------------------------
1317 dnl AC_ARG_ENABLE(avm2,
1318 dnl   AC_HELP_STRING([--enable-avm2], [Enable support for AS3]),
1319 dnl   [case "${enableval}" in
1320 dnl     yes) avm2=yes ;;
1321 dnl     no)  avm2=no ;;
1322 dnl     *)   AC_MSG_ERROR([bad value ${enableval} for enable-avm2 option]) ;;
1323 dnl   esac], avm2=no
1324 dnl )
1325 dnl AM_CONDITIONAL(ENABLE_AVM2, [test x"$avm2" = xyes])
1326 dnl if test x$avm2 = xyes; then
1327 dnl     AC_DEFINE(ENABLE_AVM2, [1], [Enable AVM2 code])
1328 dnl fi
1329 AM_CONDITIONAL(ENABLE_AVM2, false)
1331 dnl This option is only used if you want Gnash to interwork with 
1332 dnl the Adobe player using the LocalConnection class.
1333 dnl lckey=0xdd3adabd
1334 AC_ARG_WITH(lckey,
1335  AC_HELP_STRING([--with-lckey],
1336  [shared memory key for your system]),
1337  with_lckey=${withval})
1339 if test x${with_lckey} != x; then
1340   lckey=${with_lckey}
1341 else
1342   lckey=0xcbc384f8
1344 LC_KEY=${lckey}
1345 AC_SUBST(LC_KEY)
1347 AC_ARG_ENABLE(python,
1348   AC_HELP_STRING([--enable-python],[Enable python for the python wrapper]),
1349 [case "${enableval}" in
1350   yes) python=yes ;;
1351   no)  python=no ;;
1352   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-python option]) ;;
1353 esac],python=no)
1355 dnl Look for python, which is optional. If enabled, a python loadable
1356 dnl module of Gnash is created.
1357 GNASH_PATH_PYTHON
1358 AM_CONDITIONAL([USE_PYTHON], test x"$python" = xyes)
1359 AM_CONDITIONAL([HAS_PYTHON], test x"$has_python" = xyes)
1361 # Maybe use jemalloc, which handles memory fragmentation for
1362 # ECAMscript languages better than the regular system malloc.
1363 # This seems like a good idea, as both the other player and
1364 # Mozilla/Firefox both recently switched to using jemalloc.
1365 AC_ARG_ENABLE(jemalloc,
1366   AC_HELP_STRING([--enable-jemalloc],[Enable jemalloc instead of system malloc]),
1367 [case "${enableval}" in
1368   yes) jemalloc=yes ;;
1369   no)  jemalloc=no ;;
1370   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-jemalloc option]) ;;
1371 esac],jemalloc=yes)
1373 dnl There is some weird stuff going on with NetBSD and jemalloc, so don't 
1374 dnl build it for now.
1375 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
1376   jemalloc=no
1378 dnl If the compiler doesn't have local thread storage enabled, don't try to
1379 dnl use jemalloc.
1380 if test x"${jemalloc}" = x"yes"; then
1381   AC_TRY_COMPILE([], [
1382     extern __thread int global_i; ],
1383     has_local_thread_storage=yes
1384   )
1385   if test x"${has_local_thread_storage}" = x"yes"; then
1386     AC_DEFINE([HAVE_LOCAL_THREAD_STORAGE], [1], [Has __thread (local thread storage) support])
1387     AC_DEFINE([USE_JEMALLOC], [], [Use jemalloc instead of system malloc])
1388   else
1389     jemalloc=no
1390   fi
1393 dnl We can search libs for mallinfo to decide whether we have it or not.
1394 dnl This is added to the linker flags when it's found. Usually it's -lc, but
1395 dnl on OpenSolaris it's -lmalloc, so this fixes the build.
1396 AC_SEARCH_LIBS([mallinfo], [c malloc],
1397                AC_DEFINE(HAVE_MALLINFO, [1], [Has mallinfo()])
1398                mallinfo=yes
1399                )
1401 AM_CONDITIONAL([HAVE_MALLINFO], test x$mallinfo = xyes)
1402 AM_CONDITIONAL(JEMALLOC, test x$jemalloc = xyes)
1404 AC_ARG_ENABLE(fps-debug,
1405   AC_HELP_STRING([--enable-fps-debug],[Enable FPS debugging code]),
1406 [case "${enableval}" in
1407   yes) AC_DEFINE([GNASH_FPS_DEBUG], [1], [Enable FPS debugging code])
1408 esac])
1410 dnl When we're making binary releases, it's often nice to just statically link
1411 dnl the final executables so we don't worry about what's installed, or which
1412 dnl version it is.
1413 AC_ARG_ENABLE(allstatic,
1414   AC_HELP_STRING([--enable-allstatic],[Enable using static libraries when possible for dependencies]),
1415 [case "${enableval}" in
1416   yes) allstatic=yes ;;
1417   no)  allstatic=no ;;
1418   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-allstatic option]) ;;
1419 esac],allstatic=no)
1420 AM_CONDITIONAL(ALLSTATIC, test x$allstatic = xyes)
1423 dnl --------------------------------------------------------
1424 dnl SHM
1425 dnl --------------------------------------------------------
1426 AC_ARG_WITH(shm,
1427   AC_HELP_STRING([--with-shm],[specify a shared memory type.]),
1428   [case "${withval}" in
1429     sysv) with_shm=sysv
1430           ;;
1431     posix) with_shm=posix
1432           ;;    
1433     *)   AC_MSG_ERROR([bad value ${enableval} for --with-shm option (try sysv or posix])
1434           ;;
1435    esac],with_shm=sysv)
1437 if test x"${with_shm}" = x"sysv"; then
1438   AC_DEFINE([USE_SYSV_SHM], [1], [Use SYSV shared memory for compatability])
1439   dnl IPC_INFO isn't portable, and doesn't exist on BSD
1440   AC_TRY_COMPILE([#include <sys/ipc.h> #include <sys/shm.h>], [
1441     int flag = IPC_INFO; ],
1442     AC_DEFINE([HAVE_IPC_INFO], [1], [Use shm_info])
1443   )
1444 else
1445   AC_DEFINE([USE_POSIX_SHM], [1], [Use POSIX shared memory])
1448 dnl --------------------------------------------------------
1449 dnl Disable menus
1450 dnl --------------------------------------------------------
1451 dnl Don't add the GUI menu. Some educational systems think this adds
1452 dnl clutter and confusion, like on the OLPC.
1453 AC_ARG_ENABLE(menus,
1454   AC_HELP_STRING([--disable-menus],[Disable the GUI menus]),
1455 [case "${enableval}" in
1456   yes) menus=yes ;;
1457   no)  menus=no ;;
1458   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-menus option]) ;;
1459 esac],menus=yes)
1461 if test x"$menus" = x"yes"; then
1462   AC_DEFINE([USE_MENUS], [], [GUI Menu support])
1464 AM_CONDITIONAL(MENUS, test x$menus = xyes)
1466 dnl --------------------------------------------------------
1467 dnl Disable SWF information
1468 dnl --------------------------------------------------------
1469 dnl Don't gather SWF information in tree form. This takes
1470 dnl resources and memory that can be saved if there's no
1471 dnl need to examine SWF internals.
1472 AC_ARG_ENABLE(swftree,
1473   AC_HELP_STRING([--disable-swftree],[Disable showing SWF properties]),
1474 [case "${enableval}" in
1475   yes) swftree=yes ;;
1476   no)  swftree=no ;;
1477   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-swf-properties option]) ;;
1478 esac],swftree=yes)
1480 if test x"$swftree" = x"yes"; then
1481   AC_DEFINE([USE_SWFTREE], [], [View SWF information])
1483 AM_CONDITIONAL(SWFTREE, test x$swftree = xyes)
1485 dnl --------------------------------------------------------
1486 dnl Disable testsuite
1487 dnl --------------------------------------------------------
1488 dnl Disable running any tests for "make check". This may sound stupid, but
1489 dnl this option is designed to solely be used by maintainers in the 
1490 dnl DISTCHECK_CONFIGURE_FLAGS when building packages. Gnash's testing infrastructure
1491 dnl is complex, and often the the testsuites will work, but due to some obscure reason,
1492 dnl make distcheck fails.
1493 AC_ARG_ENABLE(testsuite,
1494   AC_HELP_STRING([--disable-testsuite],[Disable the testsuite, maintainers option only]),
1495 [case "${enableval}" in
1496   yes) testsuite=yes ;;
1497   no)  testsuite=no ;;
1498   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-testsuite option]) ;;
1499 esac],testsuite=yes)
1501 if test x"$testsuite" = x"yes"; then
1502   AC_DEFINE([USE_TESTSUITE], [], [Testsuite support, maintainers option only])
1504 AM_CONDITIONAL(TESTSUITE, test x$testsuite = xyes)
1506 dnl --------------------------------------------------------
1507 dnl Write the file to disk in the plugin
1508 dnl --------------------------------------------------------
1509 AC_ARG_ENABLE(write,
1510   AC_HELP_STRING([--enable-write], [Makes the Mozilla plugin write the currently playing SWF movie to /tmp.]),
1511 [case "${enableval}" in
1512   yes) write=yes ;;
1513   no)  write=no ;;
1514   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-write option]) ;;
1515 esac],write=no)
1517 if test x"$write" = x"yes"; then
1518   AC_DEFINE([WRITE_FILE], [], [Write files while streaming])
1521 dnl --------------------------------------------------------
1522 dnl Write a standalone gnash launcher to disk from the plugin
1523 dnl --------------------------------------------------------
1524 AC_ARG_ENABLE(sa-launcher,
1525   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.]),
1526 [case "${enableval}" in
1527   yes) sa_launcher=yes ;;
1528   no)  sa_launcher=no ;;
1529   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-sa-launcher option]) ;;
1530 esac],sa_launcher=yes)
1532 if test x"$sa_launcher" = x"yes"; then
1533   AC_DEFINE([CREATE_STANDALONE_GNASH_LAUNCHER], [], [Add support for writing a standalone executable launcher for movies embedded in web pages])
1536 dnl --------------------------------------------------------
1537 dnl Build the cygnal server if specified.
1538 dnl --------------------------------------------------------
1539 AC_ARG_ENABLE(cygnal,
1540   AC_HELP_STRING([--enable-cygnal], [Enable building of the Cygnal server]),
1541 [case "${enableval}" in
1542   yes) cygnal=yes ;;
1543   no)  cygnal=no ;;
1544   *)   AC_MSG_ERROR([bad value ${enableval} for enable-cygnal option]) ;;
1545 esac],cygnal=no)
1546 AM_CONDITIONAL(CYGNAL, test x$cygnal = xyes)
1548 dnl --------------------------------------------------------
1549 dnl Build the cgibins server if specified.
1550 dnl --------------------------------------------------------
1551 AC_ARG_ENABLE(cgibins,
1552   AC_HELP_STRING([--enable-cgibins], [Enable building of the CGIs for Cygnal]),
1553 [case "${enableval}" in
1554   yes) cgibin=yes ;;
1555   no)  cgibin=no ;;
1556   *)   AC_MSG_ERROR([bad value ${enableval} for enable-cgibins option]) ;;
1557 esac],cgibin=yes)
1558 AM_CONDITIONAL(USE_CGI, test x$cgibin = xyes)
1559 if test x"${cgibin}" = x"yes"; then
1560   AC_DEFINE([USE_CGIBIN], [1], [Enable cgi-bin processes for Cygnal])
1563 dnl --------------------------------------------------------
1564 dnl Fix the Intel 810 LOD bias problem
1565 dnl --------------------------------------------------------
1566 AC_ARG_ENABLE(i810-lod-bias,
1567   AC_HELP_STRING([--enable-i810-lod-bias], [Enable fix for Intel 810 LOD bias problem]),
1568 [case "${enableval}" in
1569   yes) i810lodbias=yes ;;
1570   no)  i810lodbias=no ;;
1571   *)   AC_MSG_ERROR([bad value ${enableval} for enable-i810-lod-bias option]) ;;
1572 esac])
1574 if test x"${i810lodbias}" = xyes; then
1575     AC_DEFINE([FIX_I810_LOD_BIAS], [], [Fix i810 LOD bias problem])
1578 dnl --------------------------------------------------------
1579 dnl  Double buffer
1580 dnl --------------------------------------------------------
1581 dnl Add an option for double buffering when rendering, currently only used by
1582 dnl the frmaebuffer GUI.
1583 dnl If defined, an internal software-buffer is used for rendering and is then
1584 dnl copied to the video RAM. This avoids flicker and is faster for complex 
1585 dnl graphics, as video RAM access is usually slower. (strongly suggested)
1586 AC_ARG_ENABLE(doublebuf,
1587   AC_HELP_STRING([--enable-doublebuf], [Enable support for double buffering when rendering]),
1588   [case "${enableval}" in
1589     yes) doublebuf=yes ;;
1590     no)  doublebuf=no ;;
1591     *)   AC_MSG_ERROR([bad value ${enableval} for enable-doublebuf option]) ;;
1592   esac], doublebuf=no
1594 AM_CONDITIONAL(ENABLE_DBUF, [test x"$doublebuf" = xyes])
1595 if test x$doublebuf = xyes; then
1596     AC_DEFINE(ENABLE_DOUBLE_BUFFERING, [1], [Enable double buffering])
1599 dnl --------------------------------------------------------
1600 dnl  Offscreen buffer
1601 dnl --------------------------------------------------------
1602 dnl This enables rendering to an offscreen buffer, instead of directly to window
1603 AC_ARG_ENABLE(offscreen,
1604   AC_HELP_STRING([--enable-offscreen], [Enable support for rendering offscreen]),
1605   [case "${enableval}" in
1606     yes) offscreen=yes ;;
1607     no)  offscreen=no ;;
1608     *)   AC_MSG_ERROR([bad value ${enableval} for enable-offscreen option]) ;;
1609   esac], offscreen=no
1613 dnl --------------------------------------------------------
1614 dnl  SSH support selection
1615 dnl --------------------------------------------------------
1616 dnl Enable using libssh with libnet
1617 AC_ARG_ENABLE(ssh,
1618   AC_HELP_STRING([--enable-ssh], [Enable using SSH for network authentication]),
1619 [case "${enableval}" in
1620   yes) build_ssh=yes ;;
1621   no)  build_ssh=no ;;
1622   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-ssh option]) ;;
1623 esac], build_ssh=no)
1625 AM_CONDITIONAL(BUILD_SSH, test x"${build_ssh}" = xyes)
1626 if test x"${build_ssh}" = xyes; then
1627   GNASH_PKG_FIND(ssh, [libssh/libssh.h], [libssh library], ssh_socket_init)
1628 dnl  GNASH_PKG_FIND(poppler, [popt.h], [Poppler library], poppler_init)
1630 if test x"${has_ssh}" = x"yes"; then
1631   AC_DEFINE([USE_SSH], [1], [Use SSH for authentication])
1634 dnl --------------------------------------------------------
1635 dnl  SSL support selection
1636 dnl --------------------------------------------------------
1638 dnl Enable using OpenSSL with libnet.
1639 AC_ARG_ENABLE(ssl,
1640   AC_HELP_STRING([--enable-ssl], [Enable using OpenSSL directly]),
1641 [case "${enableval}" in
1642   yes) build_ssl=yes ;;
1643   no)  build_ssl=no ;;
1644   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-ssl option]) ;;
1645 esac], build_ssl=no)
1647 with_cert=
1648 with_pem=
1649 AM_CONDITIONAL(BUILD_SSL, test x"${build_ssl}" = xyes)
1650 AC_ARG_WITH(cert,
1651   AC_HELP_STRING([--with-cert],
1652   [cert file for SSL]),
1653   with_cert=${withval})
1654 AC_ARG_WITH(pem,
1655   AC_HELP_STRING([--with-pe],
1656   [pem file for SSL]),
1657   with_pem=${withval})
1659 if test x"${build_ssl}" = xyes; then
1660   GNASH_PKG_FIND(ssl, [openssl/ssl.h], [OpenSSL library], SSL_library_init)
1662 if test x"${has_ssl}" = x"yes"; then
1663   AC_DEFINE([USE_SSL], [1], [Use SSL for authentication])
1666 dnl -----------------------------------------------------------
1667 dnl Set the general plugins install policy here
1668 dnl (NOTE: before GNASH_PATH_FIREFOX and GNASH_PATH_KDE*)
1669 dnl -----------------------------------------------------------
1671 AC_ARG_WITH(plugins-install,
1672   AC_HELP_STRING([--with-plugins-install=system|user|prefix], [Policy for plugins install. Default: user.]),
1673         [case "${withval}" in
1674           user) PLUGINS_INSTALL_POLICY=user ;;
1675           system) PLUGINS_INSTALL_POLICY=system ;;
1676           prefix) PLUGINS_INSTALL_POLICY=prefix ;;
1677           *)  AC_MSG_ERROR([bad value ${withval} for --with-plugins-install]) ;;
1678          esac 
1679         ], PLUGINS_INSTALL_POLICY=user) 
1681 dnl -----------------------------------------------------------
1682 dnl   Verify dependencies for requested GUIs are met, and
1683 dnl   disable build of the GUIS for which deps are NOT met
1684 dnl ------------------------------------------------------------
1686 dnl Look for scratchbox (used in GNASH_PATH_ALP)
1687 dnl FIXME: move it in macros/alp.m4 or at least after
1688 dnl        the build_alp conditional ?
1689 sbox=no
1690 if test x"${SBOX_REDIRECT_FROM_DIRS}" != x; then
1691   sbox=yes
1694 if test x$build_gtk = xyes -o $build_alp = xyes; then
1695    GNASH_PATH_GTK2
1696    GNASH_PATH_PANGO
1697    GNASH_PKG_FIND(atk, [atk/atk.h], [atk library], atk_focus_tracker_init, [1.0])
1698    if test x"${build_ogl}" = xyes; then
1699       GNASH_PATH_GLEXT
1700    fi
1701    if test x"${build_cairo}" = xyes; then
1702       GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1703    fi
1707 if test x"${build_kde4}" != xno -o x"${build_qtopia4}" != xno; then
1708  GNASH_PATH_QT4
1711 if test x"${build_kde4}" != xno; then
1712   GNASH_PATH_KDE4
1715 if test x"${build_kde4}" = xauto; then
1716   if test x"${has_qt4}" = xyes -a x"${has_kde4}" = xyes; then
1717      build_kde4=yes
1718   else
1719      build_kde4=no
1720   fi
1723 if test x"${build_kde3}" != xno -o x"${build_qtopia3}" != xno; then
1724  GNASH_PATH_QT3
1727 if test x"${build_kde3}" != xno; then
1728   GNASH_PATH_KDE3
1732 if test x"${build_kde3}" = xauto; then
1733   if test x"${has_qt3}" = xyes -a x"${has_kde3}" = xyes; then
1734      build_kde3=yes
1735   else
1736      build_kde3=no
1737   fi
1740 dnl Check possibility to build DUMP gui, if requested
1741 if test x"${build_dump}" != xno; then
1742   if test x"${build_agg}" = xyes; then
1743     build_dump=yes
1744   else
1745     if test x"${build_dump}" = xyes; then
1746       dnl SHOULD we just check at the end of file instead ?
1747       AC_MSG_ERROR(dump GUI cannot be built without AGG renderer);
1748     fi
1749     build_dump=no
1750   fi
1753 dnl Check possibility to build FB gui, if requested
1754 dnl FB dependencies are a linux system (linux/fb.h) 
1755 dnl and AGG renderer
1756 if test x"${build_fb}" != xno; then
1757   if test x"${linux}" = xyes; then
1758     if test x"${build_agg}" = xyes; then
1759       build_fb=yes
1760     else
1761       if test x"${build_fb}" = xyes; then
1762         dnl SHOULD we just check at the end of file instead ?
1763         AC_MSG_ERROR([fb GUI cannot be built without AGG renderer])
1764       fi
1765       AC_MSG_NOTICE([fb GUI won't be built (needs AGG renderer)])
1766       build_fb=no
1767     fi
1768   else
1769     if test x"${build_fb}" = xyes; then
1770       dnl SHOULD we just check at the end of file instead ?
1771       AC_MSG_ERROR(fb GUI cannot be built on non-linux platforms);
1772     fi
1773     AC_MSG_NOTICE([fb GUI won't be built (non-linux platform)])
1774     build_fb=no
1775   fi
1778 dnl TODO: add checks for all other GUIs
1780 dnl -------------------------------
1781 dnl Input Device selection
1782 dnl -------------------------------
1784 dnl Multiple input devices are supported. These can all work in
1785 dnl varying combinations, so several may be listed. These are only
1786 dnl required when using the Framebuffer, as without the X11 desktop,
1787 dnl Gnash has to handle all these internally. This can get
1788 dnl messy, as one might want to use a touchscreen with a normal mouse
1789 dnl or keyboard attached. 
1790 dnl By default, don't build any of these, as they are only for the Framebuffer
1791 dnl running without X11.
1792 if test x"${build_fb}" = xyes; then
1793 build_ps2mouse=yes
1794 build_ps2keyboard=no
1795 build_input_events=yes
1796 build_tslib=yes
1797 input_events="PS/2 Mouse, Input Devices, Touchscreen via Tslib"
1798 else
1799 build_ps2mouse=no
1800 build_ps2keyboard=no
1801 build_input_events=no
1802 build_tslib=no
1803 input_events=
1805 AC_ARG_ENABLE(input,
1806   AC_HELP_STRING([--enable-input=], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
1807   [if test -n ${enableval}; then
1808     enableval=`echo ${enableval} | tr '\054' ' ' `
1809   fi
1810   while test -n "${enableval}" ; do
1811     val=`echo ${enableval} | cut -d ' ' -f 1`
1812     case "${val}" in
1813       ps2m*|PS2m*|m*|M*)        dnl a PS/2 style mouse
1814         build_ps2mouse=yes
1815         input_events="${input_events}, PS/2 Mouse"
1816         ;;
1817       ps2k*|PS2K*|k*|K*)        dnl a PS/2 style keyboard
1818         build_ps2keyboard=yes
1819         input_events="${input_events}, PS/2 Keyboard"
1820         ;;
1821       i*|I*|ev*|Ev*)    dnl use the new Input Event, which supports both
1822         input_events="${input_events}, Input Event Device"
1823         build_input_events=yes
1824         ;;
1825       t*|T*) dnl use a touchscreen with tslib, which works like a mouse
1826         build_tslib=yes
1827         input_events="${input_events}, Touchscreen"
1828         ;;
1829       *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
1830          ;;
1831       esac
1832     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1833     if test "x$val" = "x$enableval"; then
1834       break;
1835     fi
1836   done],
1839 if test x"${build_tslib}" = xyes; then
1840   AC_DEFINE(USE_TSLIB, [1], [Use a tslib supported touchscreen])
1841   GNASH_PKG_FIND(ts, [tslib.h], [Touchscreen library], ts_config)
1843 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} != xno])
1845 if test x"${build_ps2mouse}" = xyes; then
1846   AC_DEFINE(USE_MOUSE_PS2, [1], [Add support for a directly using a PS/2 Mouse])
1848 AM_CONDITIONAL(ENABLE_MOUSE, [test x"${build_ps2mouse}" = xyes])
1850 if test x"${build_ps2keyboard}" = xyes; then
1851   AC_DEFINE(USE_KEYBOARD_PS2, [1], [Add support for directly using a PS/2 Keyboard])
1853 if test x"${build_input_events}" = xyes; then
1854   AC_DEFINE(USE_INPUT_EVENTS, [1], [Add support for a directly using Linux Input Event Devices])
1856 AM_CONDITIONAL(ENABLE_INPUT_EVENTS, [test x"${build_input_events}" = xyes])
1857 dnl this is enabled if we have any input devices at all
1858 AM_CONDITIONAL(ENABLE_INPUT_DEVICES, [test x"${input_events}" != x])
1861 dnl -----------------------------------------------------------
1862 dnl Try to ignore stupid dependencies
1863 dnl -----------------------------------------------------------
1865 AC_MSG_CHECKING(linker --as-needed support)
1866 gcc_cv_ld_as_needed=no
1867 # Check if linker supports --as-needed and --no-as-needed options
1868 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1869   gcc_cv_ld_as_needed=yes
1871 if test x"$gcc_cv_ld_as_needed" = xyes; then
1872   LDFLAGS="$LDFLAGS -Wl,--as-needed"
1874 AC_MSG_RESULT($gcc_cv_ld_as_needed)
1876 dnl AC_MSG_CHECKING(linker --no-undefined support)
1877 dnl gcc_cv_ld_undef_needed=no
1878 dnl # Check if linker supports --no-undefined
1879 dnl if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1880 dnl     gcc_cv_ld_undef_needed=yes
1881 dnl fi
1882 dnl if test x"$gcc_cv_ld_undef_needed" = xyes; then
1883 dnl     LDFLAGS=" ${LDFLAGS} -Wl,--no-undefined"
1884 dnl fi
1885 dnl AC_MSG_RESULT($gcc_cv_ld_undef_needed)
1887 AC_DEFINE(USE_GIF, [1], [Use the GIF library])
1888 AC_DEFINE(USE_PNG, [1], [Use the PNG library])
1889 AM_CONDITIONAL(USE_GIF, true)
1890 AM_CONDITIONAL(USE_PNG, true)
1892 dnl GNASH_PKG_FIND(dmalloc, [dmalloc.h], [dmalloc], mallinfo)
1893 AM_CONDITIONAL(HAVE_DMALLOC, [ test x$has_dmalloc = xyes ])
1895 AC_PATH_TOOL([AUTOTRACE], [autotrace])
1896 AC_HEADER_DIRENT
1898 dnl -----------------------------------------------------------------
1899 dnl PLUGIN RELATED STUFF
1900 dnl -----------------------------------------------------------------
1902 dnl Zip is used insted of tar when building an xpi package
1903 dnl for Mozilla/Firefox.
1904 AC_PATH_PROG(ZIP, zip, ,[${pathlist}])
1906 dnl !! This has been moved here to make --enable-npapi work
1907 dnl !! All of plugin-related macro calls could be moved into
1908 dnl !! a specialized macros/plugin.m4
1910 dnl ----------------------------------------------------
1911 dnl Add KPARTS support, if specified or KDE gui is built
1912 dnl ----------------------------------------------------
1914 AC_ARG_ENABLE(kparts3,
1915   AC_HELP_STRING([--disable-kparts3], [Disable support for Konqueror 3.x plugin (default: enabled if kde3 gui is)]),
1916 [case "${enableval}" in
1917   yes) build_kparts3=yes ;;
1918   no)  build_kparts3=no ;;
1919   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
1920 esac],build_kparts3=$build_kde3)
1922 dnl --------------------------------------------------------
1923 dnl Add KPARTS 4.x support, if specified or KDE gui is built
1924 dnl --------------------------------------------------------
1926 AC_ARG_ENABLE(kparts4,
1927   AC_HELP_STRING([--disable-kparts4], [Disble support for Konqueror 4.x plugin (default: enabled if kde4 gui is)]),
1928 [case "${enableval}" in
1929   yes) build_kparts4=yes ;;
1930   no)  build_kparts4=no ;;
1931   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
1932 esac],build_kparts4=$build_kde4)
1934 dnl -----------------------------------------------------------
1935 dnl Add NPAPI support, if specified or GTK or KDE4 gui is built
1936 dnl -----------------------------------------------------------
1938 AC_ARG_ENABLE(npapi,
1939   AC_HELP_STRING([--disable-npapi], [Disable NPAPI plugin build (default: enabled if gtk or kde4 gui is)]),
1940   [case "${enableval}" in
1941     yes) npapi=yes ;;
1942     no)  npapi=no ;;
1943     *)   AC_MSG_ERROR([bad value ${enableval} for disable-npapi option]) ;;
1944   esac],
1945   if test x$build_gtk = xyes -o x$build_kde4 = xyes; then
1946     npapi=yes
1947   fi
1950 dnl -----------------------------------------------------------------
1951 dnl Enable us to disable building all browser plugins in one command.
1952 dnl -----------------------------------------------------------------
1954 AC_ARG_ENABLE(plugins,
1955   AC_HELP_STRING([--disable-plugins], [Disable all browser plugins from building (default=no)]),
1956   [case "${enableval}" in
1957     yes) plugins=yes ;;
1958     no)  plugins=no ;;
1959     *)   AC_MSG_ERROR([bad value ${enableval} for disable-plugins option]) ;;
1960   esac],
1961   plugins=yes
1963 if test x$plugins = xno; then
1964   npapi=no
1965   build_kparts3=no
1966   build_kparts4=no
1970 GNASH_PATH_FIREFOX
1972 dnl -----------------------------------------------------------------
1973 dnl END OF PLUGIN RELATED STUFF
1974 dnl -----------------------------------------------------------------
1976 dnl IRIX-hack.
1977 case $host in
1978   *-*-irix*)
1979   dnl ABI-check
1980   save_LIBS=$LIBS
1981   dir="/usr/lib /usr/lib32 /usr/lib/lib64"
1982   for i in $dir; do
1983     LIBS=-L$i
1984     AC_SEARCH_LIBS(XDisableAccessControl, X11, [
1985       xpathed=$i
1986       break
1987     ])
1988     unset ac_cv_search_XDisableAccessControl
1989   done
1990   ac_x_libraries=$xpathed
1991   x_libraries=$xpathed
1992   LIBS=$save_LIBS
1993   ;;
1994 esac
1996 AM_CONDITIONAL(LIRC, [test x$lirc_ext = xyes])
1998 AC_CHECK_HEADERS(endian.h machine/endian.h)
1999 AC_CHECK_HEADERS(malloc.h malloc/malloc.h)
2000 AC_CHECK_HEADERS(getopt.h)
2001 AC_CHECK_HEADERS(libgen.h)
2002 AC_CHECK_HEADERS(pwd.h)
2003 AC_CHECK_HEADERS(sys/utsname.h)
2004 AC_CHECK_HEADERS(signal.h)
2005 AC_CHECK_HEADERS(unistd.h)
2006 AC_CHECK_HEADERS(sys/time.h)
2007 AC_CHECK_HEADERS(ieeefp.h)
2008 dnl libcurl3-dev on Ubuntu has a dependency on lber, and Gnash won't link
2009 dnl on most machines without it. While it isn't diretly used by Gnash at all,
2010 dnl it's to work around an Ubuntu packaging bug.
2011 AC_CHECK_LIB(lber, ber_free)
2012 AC_CHECK_LIB(bz2, BZ2_bzopen)
2013 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
2015 dnl X11 is needed for fltk (at least),
2016 dnl and probably for many other guis too ...
2017 dnl if ! test x$build_fb = xyes; then # <--- this is wrong as build_x is non-exclusive
2018 dnl AC_PATH_XTRA
2019 dnl AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
2020 dnl AC_CHECK_LIB(gmp, _gmp_get_memory_functions)
2021   GNASH_PATH_X11
2022   AC_CHECK_LIB(Xi, XInput_find_display)
2023   AC_CHECK_LIB(X11, XDisableAccessControl)
2024 dnl fi
2025 AM_CONDITIONAL(HAVE_X11, [test x$x11 = xyes])
2026 AC_CHECK_LIB(rt, shm_unlink)
2027 AC_CHECK_FUNCS(shm_open shm_unlink)
2028 AC_TRY_COMPILE([#include <strings.h>], [
2029   char *p1 = (char *)"Hello";
2030   char *p2 = (char *)"World";
2031   strcasecmp(p1, p2); ],
2032   AC_DEFINE(HAVE_STRINGCASECMP, [1], [Has strcasecmp])
2035 dnl if test x$cross_compiling = xno; then
2036 AC_LANG_PUSH(C++)
2037 AC_MSG_CHECKING([to see if float formatting is broken])
2038 AC_RUN_IFELSE([
2039   AC_LANG_PROGRAM([#include <cmath>
2040     void testFloat(double d, double& s)
2041     {
2042         d /= 1000.0;
2043         s = std::fmod(d, 86400.0);
2044     }], [
2045      double d = 3.0935415006117e+23;
2046      double s;
2047      testFloat(d, s);
2048      if (static_cast<int>(s) != 61440) {
2049          return 1;
2050      }])],                         dnl end of LANG_PROGRAM
2051      broken_float=no,              dnl returns 0, works
2052      broken_float=yes,             dnl returns 1, broken
2053      broken_float=no               dnl cross compiling
2054 )                                  dnl end of RUN_IFELSE
2055 AC_LANG_POP(C++)
2056 dnl fi
2058 if test x${broken_float} = xyes; then
2059   AC_MSG_RESULT([yes])
2060   AC_DEFINE(HAVE_BROKEN_FLOAT, [1], [Has broken float support])
2061 else
2062   AC_MSG_RESULT([no])
2064 AM_CONDITIONAL(BROKEN_FLOAT, [ test x$broken_float = xyes ])
2066 dnl See if ipc_perm structure has the ipc_perm.key field, and if so,
2067 dnl which variant of the name is used.
2068 ipc_key=no
2069 AC_TRY_COMPILE([
2070   #include <sys/ipc.h>
2071   #include <sys/shm.h>], [
2072  struct shmid_ds shmseg;      
2073  key_t x = shmseg.shm_perm.key;],
2074  ipc_key=yes
2075  AC_DEFINE(IPC_PERM_KEY, [key], [Has the key field in ipc_perm])
2078 if test x$ipc_key = xno; then
2079   AC_TRY_COMPILE([
2080     #include <sys/ipc.h>
2081     #include <sys/shm.h>], [
2082     struct shmid_ds shmseg;      
2083     key_t x = shmseg.shm_perm.__key;],
2084     AC_DEFINE(IPC_PERM_KEY, [__key], [Has the key field in ipc_perm])
2085     ipc_key=yes
2086   )
2089 dnl AC_CHECK_FUNCS(strcasecmp stricmp)
2090 dnl AC_CHECK_FUNCS(vsnprintf)
2092 AC_CACHE_CHECK([for finite], ac_cv_finite,
2093  [AC_TRY_COMPILE([
2094    #include <math.h>
2095    #ifdef HAVE_IEEEFP_H
2096    #include <ieeefp.h>
2097    #endif],
2098  [double x; int y; y = finite(x);],
2099  ac_cv_finite=yes,
2100  ac_cv_finite=no
2102 if test x"$ac_cv_finite" = x"yes"; then
2103   AC_SEARCH_LIBS(finite, m,
2104     [AC_DEFINE(HAVE_FINITE, [1], [Has finite])]
2105   )
2108 AC_LANG_PUSH(C++)
2109 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
2110  [AC_TRY_COMPILE([#include <cmath>],
2111  [using namespace std; double x; int y; y = isfinite(x);],
2112  ac_cv_isfinite=yes,
2113  ac_cv_isfinite=no
2115 AC_LANG_POP(C++)
2116 if test x"$ac_cv_isfinite" = x"yes"; then
2117   dnl Don't give up if isfinite is not found in -lm
2118   dnl isfinite is defined as a macro in C99.
2119   AC_SEARCH_LIBS(isfinite, m)
2120   AC_DEFINE(HAVE_ISFINITE, [1], [Has isfinite])
2123 AC_LANG_PUSH(C++)
2124 AC_CACHE_CHECK([whether $CXX implements __PRETTY_FUNCTION__], ac_cv_implements___PRETTY_FUNCTION__, [
2125   AC_TRY_LINK([#include <cstdio>
2126 ], 
2127     [ std::printf("%s", __PRETTY_FUNCTION__); ], 
2128     [ ac_cv_implements___PRETTY_FUNCTION__="yes" ],
2129     [ ac_cv_implements___PRETTY_FUNCTION__="no" ]
2130   )
2132 if test "x$ac_cv_implements___PRETTY_FUNCTION__" = "xyes" ; then
2133   AC_DEFINE(HAVE_PRETTY_FUNCTION, [1], [__PRETTY_FUNCTION__ is defined])
2136 AC_CACHE_CHECK([whether $CXX implements __FUNCTION__], ac_cv_implements___FUNCTION__, [
2137   AC_TRY_LINK([#include <cstdio>
2138 ], 
2139     [ std::printf("%s", __FUNCTION__); ], 
2140     [ ac_cv_implements___FUNCTION__="yes" ],
2141     [ ac_cv_implements___FUNCTION__="no" ]
2142   )
2144 if test "x$ac_cv_implements___FUNCTION__" = "xyes" ; then
2145   AC_DEFINE(HAVE_FUNCTION, [1], [__FUNCTION__ is defined])
2148 AC_CACHE_CHECK([whether $CXX implements __func__], ac_cv_implements___func__, [
2149   AC_TRY_LINK([#include <cstdio>
2150 ], 
2151     [ std::printf("%s", __func__); ], 
2152     [ ac_cv_implements___func__="yes" ],
2153     [ ac_cv_implements___func__="no" ]
2154   )
2156 if test "x$ac_cv_implements___func__" = "xyes" ; then
2157   AC_DEFINE(HAVE_func, [1], [__func__ is defined])
2159 AC_LANG_POP(C++)
2160 AC_REPLACE_FUNCS(getopt)
2162 dnl Date portability stuff, used in server/asobj/Date.cpp
2163 AC_CHECK_FUNCS(gettimeofday)
2164 AC_CHECK_FUNCS(ftime)
2165 AC_CHECK_FUNCS(tzset)
2166 AC_CHECK_FUNCS(localtime_r)
2168 AC_CACHE_CHECK([whether struct tm has tm_gmtoff], ac_cv_tm_gmtoff, [
2169         AC_TRY_LINK([
2170 /* ctime(1) says "The glibc version of struct tm has additional fields
2171  * defined  when _BSD_SOURCE was set before including <time.h>"
2172  * In practice, you don't need to define it yourself (tested on glibc-2.2.1 
2173  * and 2.3.6) but if you *do* define it yourself, it makes *all* functions
2174  * favour BSD-like behaviour over of GNU/POSIX, which seems dangerous.
2175  */
2176 // #define _BSD_SOURCE 1
2177 #include <time.h>
2178 ], 
2179                 [ struct tm tm; long l = tm.tm_gmtoff; ], 
2180                 [ ac_cv_tm_gmtoff="yes" ],
2181                 [ ac_cv_tm_gmtoff="no" ]
2182         )
2184 if test "x$ac_cv_tm_gmtoff" = "xyes" ; then
2185         AC_DEFINE(HAVE_TM_GMTOFF, [1], [struct tm has member tm_gmtoff])
2188 AC_CACHE_CHECK([whether timezone is a long], ac_cv_long_timezone, [
2189         AC_TRY_LINK([
2190 /* On Linux/glibc, tzset(3) says "extern long timezone;" (seconds West of GMT)
2191  * but on BSD char *timezone(int,int) is a function returning a string name.
2192  * The BSD function timegm() may be the equivalent, but this should
2193  * not be necessary because on BSD the code should use tm.tm_gmtoff instead
2194  * (use of long timezone is a fallback strategy for when tm_gmtoff exists not).
2195  */
2196 #include <stdio.h>
2197 #include <time.h>
2198 extern long timezone;
2199   ], 
2200     [ printf("%ld", timezone); ], 
2201     [ ac_cv_long_timezone="yes" ],
2202     [ ac_cv_long_timezone="no" ]
2203    )
2205 if test "x$ac_cv_long_timezone" = "xyes" ; then
2206   AC_DEFINE(HAVE_LONG_TIMEZONE, [1], [extern timezone is a long integer, not a function])
2209 AC_CHECK_FUNCS(sysconf)
2210 AC_CHECK_FUNCS(shmget shmat shmdt mmap)
2211 AC_CHECK_FUNCS(memmove)
2212 AC_CHECK_FUNCS(scandir)         dnl supported by BSD and Linux, but you never know...
2213 dnl AC_CHECK_FUNC(strndup, AC_DEFINE(HAVE_STRNDUP, 1, [Has strndup()] ))
2214 AC_CHECK_FUNC(clock_gettime, AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Has clock_gettime()] ))
2215 dnl AC_CHECK_FUNCS(strlcpy, AC_DEFINE(HAVE_STRLCPY_PROTO, [1],[Define if you have the strlcpy prototype]))
2216 dnl AC_CHECK_FUNCS(strlcat, AC_DEFINE(HAVE_STRLCAT_PROTO, [1],[Define if you have the strlcat prototype]))
2217 dnl Look for Win32 networking stuff
2218 AC_CHECK_HEADERS(winsock.h)
2219 AC_CHECK_HEADERS(winsock2.h)
2220 AC_CHECK_FUNCS(socket)
2221 AC_CHECK_FUNCS(CreateFileMappingA)
2223 dnl Shm::resize() uses this if it exists
2224 AC_CHECK_LIB(c, mremap)
2226 GNASH_PKG_FIND(nspr, [nspr.h], [Netscape Portable Runtime (NSPR)], PR_Init)
2228 AC_PATH_TOOL(WINDRES, [windres])
2229 AC_SUBST(WINDRES)
2231 GNASH_PKG_FIND(z, [zlib.h], [zlib compression library], compress)
2232 GNASH_PKG_FIND(jpeg, [jpeglib.h], [jpeg images], jpeg_mem_init)
2233 if test x"${openbsd_os}" = x"yes"; then
2234   GNASH_PKG_FIND(libpng, [png.h], [png images], png_info_init)
2235 else
2236   GNASH_PKG_FIND(png, [png.h], [png images], png_info_init)
2238 GNASH_PKG_FIND(gif, [gif_lib.h], [gif images], DGifOpen)
2239 if test x"${GIF_LIBS}" = x ; then
2240  GNASH_PKG_FIND(ungif, [gif_lib.h], [gif images], DGifOpen)
2241  GIF_LIBS=${UNGIF_LIBS}
2242  GIF_CFLAGS=${UNGIF_CFLAGS}
2244 if test x"$testsuite" = x"yes"; then
2245   GNASH_PKG_INCLUDES([dejagnu], [dejagnu.h])
2248 GNASH_PKG_FIND(speex, [speex.h], [speex audio codec], speex_decode_int)
2249 AM_CONDITIONAL(HAVE_SPEEX, [ test x$has_speex = xyes ])
2250 if test x$has_speex = xyes ; then
2251   AC_DEFINE([DECODING_SPEEX], [1], [Speex codec available])
2254 GNASH_PKG_FIND(speexdsp, [speex_resampler.h], [speex DSP utilities], speex_resampler_process_int)
2255 if test x$has_speexdsp = xyes ; then
2256   AC_DEFINE([RESAMPLING_SPEEX], [1], [Speex resampler available])
2259 dnl Find freetype and fontconfig
2260 GNASH_PATH_FREETYPE2
2261 GNASH_PKG_FIND(fontconfig, [fontconfig/fontconfig.h], [fontconfig library], FcFontMatch)
2263 if test x$cross_compiling = xno; then
2264   AC_PATH_MING
2267 if test x"$MING_VERSION_CODE" = x; then
2268  MING_VERSION_CODE=00000000
2271 AM_CONDITIONAL(ENABLE_MING,
2272         [ test x"$MAKESWF" != x -a $MING_VERSION_CODE -gt 00040000 ])
2274 AM_CONDITIONAL(MING_VERSION_0_4,
2275         [ test $MING_VERSION_CODE -ge 00040000  ])
2276 AM_CONDITIONAL(MAKESWF_SUPPORTS_PREBUILT_CLIPS,
2277         [ test $MING_VERSION_CODE -ge 00040002  ])
2278 AM_CONDITIONAL(MING_SUPPORTS_INIT_ACTIONS,
2279         [ test $MING_VERSION_CODE -ge 00040004  ])
2280 AM_CONDITIONAL(MING_SUPPORTS_REPLACE_TAG,
2281         [ test $MING_VERSION_CODE -ge 00040005 ])
2282 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_ADD_CHARACTER,
2283         [ test $MING_VERSION_CODE -ge 00040005 ])
2284 AM_CONDITIONAL(MING_SUPPORTS_STREAMING_SOUND,
2285         [ test $MING_VERSION_CODE -ge 00040006 ])
2286 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_SET_DEPTH,
2287         [ test $MING_VERSION_CODE -ge 00040006 ])
2288 AM_CONDITIONAL(MING_VERSION_0_4_3,
2289         [ test $MING_VERSION_CODE -ge 00040300 ])
2290 AM_CONDITIONAL(MING_VERSION_0_4_4,
2291         [ test $MING_VERSION_CODE -ge 00040400 ])
2293 if test x$cross_compiling = xno; then
2294     AC_ARG_WITH([swfdec_testsuite],
2295         AC_HELP_STRING([--with-swfdec-testsuite],
2296             [directory where swfdec testsuite (the 'test' dir) is]),
2297         if test x"${withval}" = xyes; then
2298             dir=`dirname $0`
2299             dir=`cd ${dir} && pwd`
2300             withval="${dir}/testsuite/swfdec/src/test"
2301         fi
2302         SWFDEC_TESTSUITE=${withval}
2303     )
2304     AC_SUBST(SWFDEC_TESTSUITE)
2306 AM_CONDITIONAL(ENABLE_SWFDEC_TESTSUITE, [ test x"$SWFDEC_TESTSUITE" != x ])
2308 if test x$cross_compiling = xno; then
2309   AC_ARG_ENABLE([http_testsuite],
2310       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2311           AC_HELP_STRING([--enable-http-testsuite=<baseurl>],
2312                   [Enable http based testsuite (default url is http://www.gnashdev.org/testcases)]),
2313               [case "${enableval}" in
2314              no) HTTP_TESTSUITE="" ;;
2315             yes) HTTP_TESTSUITE="http://www.gnashdev.org/testcases" ;;
2316               *) HTTP_TESTSUITE="${enableval}";;
2317            esac])
2318   AC_SUBST(HTTP_TESTSUITE)
2320 AM_CONDITIONAL(ENABLE_HTTP_TESTSUITE, [ test x"$HTTP_TESTSUITE" != x ])
2322 if test x$cross_compiling = xno; then
2323   AC_ARG_ENABLE([red5_testing],
2324       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2325           AC_HELP_STRING([--enable-red5-testing=<host>],
2326                   [Enable red5 based testing (default host is www.gnashdev.org)]),
2327               [case "${enableval}" in
2328              no) RED5_HOST="" ;;
2329             yes) RED5_HOST="www.gnashdev.org" ;;
2330               *) RED5_HOST="${enableval}";;
2331            esac])
2332   AC_SUBST(RED5_HOST)
2334 AM_CONDITIONAL(ENABLE_RED5_TESTING, [ test x"$RED5_HOST" != x ])
2336 if test x$cross_compiling = xno; then
2337   AC_ARG_ENABLE([rtmpy_testing],
2338       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2339           AC_HELP_STRING([--enable-rtmpy-testing=<host>],
2340                   [Enable rtmpy based testing (default host is www.gnashdev.org)]),
2341               [case "${enableval}" in
2342              no) RTMPY_HOST="" ;;
2343             yes) RTMPY_HOST="www.gnashdev.org" ;;
2344               *) RTMPY_HOST="${enableval}";;
2345            esac])
2346   AC_SUBST(RTMPY_HOST)
2348 AM_CONDITIONAL(ENABLE_RTMPY_TESTING, [ test x"$RTMPY_HOST" != x ])
2350 dnl The name might differ between systems.
2351 if test x"$testsuite" = x"yes"; then
2352 AC_PATH_PROGS(NETCAT, [nc netcat])
2353 AC_PATH_PROG(WGET, wget)
2355 AM_CONDITIONAL(HAS_NETCAT, [ test x"$NETCAT" != x ])
2356 AM_CONDITIONAL(HAS_WGET, [ test x"$WGET" != x ])
2359 dnl See if we can use the swfmill, mtasc, swfc and haxe based testsuites 
2361 if test x"$testsuite" = x"yes" -a x$cross_compiling = xno; then
2362   AC_PATH_PROG(AS3COMPILE, as3compile)
2363   AC_PATH_PROG(SWFC, swfc)
2364   AC_PATH_SWFMILL
2365   AC_PATH_MTASC
2366   AC_PATH_HAXE
2369 AM_CONDITIONAL(ENABLE_SWFMILL, [ test x"$SWFMILL" != x ])
2370 AM_CONDITIONAL(SWFMILL_AS3_SUPPORT,
2371         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2373 dnl SWFMILL versions older than 0.3 didn't get function2 flags order correctly
2374 AM_CONDITIONAL(SWFMILL_FUNCTION2_FLAGS_ORDER_CORRECT,
2375         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2377 AM_CONDITIONAL(ENABLE_AS3COMPILE, [ test x"$AS3COMPILE" != x ])
2378 AM_CONDITIONAL(ENABLE_MTASC, [ test x"$MTASC" != x ])
2379 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2380 AM_CONDITIONAL(ENABLE_SWFC, [ test x"$SWFC" != x ])
2381 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2383 AC_PATH_PROG(DOXYGEN, doxygen)
2384 AM_CONDITIONAL(ENABLE_DOXYGEN, [ test x"$DOXYGEN" != x ])
2386 dnl currently unused
2387 dnl GNASH_PKG_FIND(ogg, [ogg.h], [decode ogg streams], ogg_stream_init)
2389 dnl Qtopia is a desktop environment for embedded devices.
2390 dnl GNASH_PATH_QTOPIA3
2391 dnl GNASH_PATH_QTOPIA4
2392 has_qtopia3=no
2393 has_qtopia4=no
2396 AM_CONDITIONAL(HAVE_QTOPIA3, [test x$has_qtopia3 = xyes])
2397 AM_CONDITIONAL(HAVE_QTOPIA4, [test x$has_qtopia4 = xyes])
2398 AM_CONDITIONAL(HAVE_KDE3,    [test x$has_kde3 = xyes])
2399 AM_CONDITIONAL(HAVE_KDE4,    [test x$has_kde4 = xyes])
2400 AM_CONDITIONAL(HAVE_QT3,     [test x$has_qt3 = xyes])
2401 AM_CONDITIONAL(HAVE_QT4,     [test x$has_qt4 = xyes])
2403 AM_CONDITIONAL(WITH_KDE4,    [test "$with_kde4" != "no"])
2404 AM_CONDITIONAL([QT_X11],     [test "$platform" = "X11"])
2405 AM_CONDITIONAL([QTOPIA],     [test "$platform" = "Qtopia"])
2406 AM_CONDITIONAL([QT_OSX],     [test "$platform" = "OSX"])
2407 AM_CONDITIONAL([QT_OS9],     [test "$platform" = "OS9"])
2408 AM_CONDITIONAL([QT_WIN32],   [test "$platform" = "Win32"])
2410 dnl Need GLIB for both GTK and GST
2411 if test x"${build_gtk}" = xyes -o x"${build_media_gst}" = xyes; then
2412   GNASH_PATH_GLIB
2415 AM_CONDITIONAL(HAVE_GLIB, [ test x"${has_glib}" = xyes ])
2417 if test x$npapi = xyes; then
2418   if ! test x$build_gtk = xyes -o x$build_kde4 = xyes; then
2419     AC_MSG_WARN(["Enabled NPAPI plugin, but it's not supported by the selected GUI"])
2420   fi
2423 if test x$windows = xyes -a x$npapi = xyes; then
2424   if test "x$NSPR_CFLAGS" = x -a "x$NSPR_LIBS" = x; then
2425     AC_MSG_ERROR(["On Win32, NPAPI plugin requires NSPR."])
2426   fi
2427   if test "x$WINDRES" = x; then
2428     AC_MSG_ERROR(["On Win32, NPAPI plugin requires windres."])
2429   fi
2432 dnl Need GLIB for NPAPI plugin
2433 if test x$npapi = xyes; then
2434   GNASH_PATH_GLIB
2437 dnl if kde isn't installed, even if it's specified, don't try to build
2438 dnl the KPARTS plugin, which is KDE based.
2439 if test x$has_kde3 = xno -a x$build_kparts3 = xyes; then
2440   build_kparts3=no
2441 dnl  build_kde3=no
2442   AC_MSG_WARN(["Disabling KPARTS 3.x plugin, no KDE development found"])
2445 if test x$build_kde3 = xno -a x$build_kparts3 = xyes; then
2446   AC_MSG_WARN(["Enabled KPARTS 3.x plugin, but you aren't building a KDE based GUI!"])
2448 if test x$has_kde4 = xno -a x$build_kparts4 = xyes; then
2449   build_kparts4=no
2450 dnl  build_kde4=no
2451   AC_MSG_WARN(["Disabling KPARTS 4.x plugin, no KDE 4.x development found"])
2454 if test x$build_kde4 = xno -a x$kparts4 = xyes; then
2455   AC_MSG_WARN(["Enabled KPARTS 4.x plugin, but you aren't building a KDE 4.x based GUI!"])
2458 AM_CONDITIONAL(BUILD_QTOPIA3_GUI,  [ test x$build_qtopia3 = xyes ])
2459 AM_CONDITIONAL(BUILD_QTOPIA4_GUI,  [ test x$build_qtopia4 = xyes ])
2461 dnl Drop these conditionals ?
2462 AM_CONDITIONAL(BUILD_QT3_GUI,
2463     [ test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes ])
2464 AM_CONDITIONAL(BUILD_QT4_GUI,
2465     [ test x"${build_kde4}" = xyes -o x"${build_qtopia4}" = xyes ])
2467 AM_CONDITIONAL(BUILD_KDE3_GUI,     [ test x$build_kde3 = xyes ])
2468 AM_CONDITIONAL(BUILD_KDE4_GUI,     [ test x$build_kde4 = xyes ])
2470 AM_CONDITIONAL(BUILD_GTK_GUI,      [ test x$build_gtk = xyes ])
2471 AM_CONDITIONAL(BUILD_FLTK_GUI,     [ test x$build_fltk = xyes ])
2472 AM_CONDITIONAL(BUILD_SDL_GUI,      [ test x$build_sdl = xyes ])
2473 AM_CONDITIONAL(BUILD_FB_GUI,       [ test x$build_fb = xyes ])
2474 AM_CONDITIONAL(BUILD_AQUA_GUI,     [ test x$build_aqua = xyes ])
2475 AM_CONDITIONAL(ALLSTATIC,          [ test x$build_aqua = xyes ]) dnl the Aqua-binary is always static.
2476 AM_CONDITIONAL(BUILD_RISCOS_GUI,   [ test x$build_riscos = xyes ])
2477 AM_CONDITIONAL(BUILD_DUMP_GUI,     [ test x$build_dump = xyes ])
2478 AM_CONDITIONAL(BUILD_AMIGAOS4_GUI, [ test x$build_aos4 = xyes ])
2479 AM_CONDITIONAL(BUILD_HAIKU_GUI,    [ test x$build_haiku = xyes ])
2481 # plugin building flags
2482 AM_CONDITIONAL(NPAPI,   [test x"${npapi}" = xyes])
2483 AM_CONDITIONAL(KPARTS3, [test x"${build_kparts3}" = xyes])
2484 AM_CONDITIONAL(KPARTS4, [test x"${build_kparts4}" = xyes])
2486 if test x"${build_gles}" = xyes; then
2487   GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
2488   GNASH_PATH_GLES
2491 if test x"${build_ogv}" = xyes; then
2492   GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
2493   GNASH_PKG_FIND(OpenVG, [vg/openvg.h], [OpenVG library], vgDrawImage)
2496 if test x"${build_gtk}" = xyes; then
2497   AC_ARG_ENABLE(ghelp,
2498     AC_HELP_STRING([--enable-ghelp], [Enable support for the GNOME help system]),
2499     [case "${enableval}" in
2500       yes) ghelp=yes ;;
2501       no)  ghelp=no ;;
2502       *)   AC_MSG_ERROR([bad value ${enableval} for enable-ghelp option]) ;;
2503     esac], ghelp=no
2504   )
2506   if test x"${ghelp}" = x"yes" ; then
2507     AC_PATH_PROG(SCROLLKEEPER, scrollkeeper-config, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2508     AC_PATH_PROG(SCROLLUPDATE, scrollkeeper-update, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2509     AC_PATH_PROG(SCROLLINSTALL, scrollkeeper-preinstall, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2511     if test x"$SCROLLKEEPER" = x -o x"$SCROLLUPDATE" = x -o x"$SCROLLINSTALL" = x ; then
2512       ghelp=no
2513       AC_MSG_WARN([You need to install scrollkeeper for gnome help])
2514     fi
2515   fi
2517 AM_CONDITIONAL(GHELP, [test x${ghelp} = xyes])
2519 if test x${build_fltk} = xyes; then
2520   GNASH_PKG_FIND(Xft, [Xft.h], [xft library], XftGlyphRender)
2523 dnl Some systems have a pervered set of dependencies.
2524 dnl Fedora Core 6 appears to have a dependency on expat for fontconfig.
2525 dnl We only need the library, but this is the easy wind to find it.
2526 GNASH_PKG_FIND(expat, [expat.h], [Expat library], XML_ErrorString)
2528 dnl these conditionals were moved out of kde.m4
2529 AM_CONDITIONAL(HAS_KDE3, [test x$has_kde3 = xyes])
2530 # used to disable x11-specific stuff on special platforms
2531 AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
2532 AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
2533 AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2535 AM_CONDITIONAL(HAVE_GLEXT, [test x$glext = xyes])
2537 dnl We don't have GTKGLExt, so default to SDL, and don't build the Firefox plugin
2538 if test x$glext = xno -a x$build_ogl = xyes; then
2539   if test x$gtk2 = xyes -a x$build_gtk = xyes; then
2540     AC_ERROR([You have GTK installed, but not GtkGLExt. You need GtkGLExt to use the OpenGL renderer. Attempting to build SDL version])
2541   fi
2542   gui=sdl
2543   npapi=no
2544   AC_MSG_WARN([GTK2 specified for the GUI, but GtkGlExt is not present. Trying SDL instead.])
2547 missing_codecs=""
2548 if test x"$build_media_gst" = "xyes"; then
2549   AC_PATH_PROG(GST_INSPECT, gst-inspect, ,[${pathlist}])
2550   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2551     AC_PATH_PROG(GST_INSPECT, gst-inspect-0.10, ,[${pathlist}])
2552   fi
2553   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2554     dnl FIXME: there may be multiple acceptable plugins that are acceptable for
2555     dnl our use. For example, mad or FFmpeg will play mp3.
2556     codecs="ffdec_flv ffdec_flashsv ffdec_vp6f ffdec_flashsv mad vorbisdec ffdec_vp6"
2557     for i in $codecs; do
2558        hits="`$GST_INSPECT $i | grep -c 'Long name'`"
2559        if test $hits -eq 0; then
2560          missing_codecs="$missing_codecs $i"
2561          AC_MSG_WARN([Missing codec: $i])
2562        fi
2563     done
2564   fi
2565   GNASH_PKG_FIND(gstreamer_plugins_base, [gst/interfaces/probeprobe.h], [gstreamer interfaces library], gst_property_probe_probe_and_get_values_name, [0.10])
2566   GNASH_PKG_FIND(gstreamer_app, [gst/app/gstappsink.h], [gstreamer app library], call_gmon_start, [0.10])
2567   GNASH_PKG_FIND(gstreamer, [gst/gst.h], [gstreamer library], gst_init, [0.10])
2568   dnl if cross compiling, we're usually not going to be able to pop up
2569   dnl the codec installer to download the package to install, so disable
2570   dnl it if cross compiling with gstreamer support.
2571   if test x$cross_compiling = xno; then
2572     GNASH_PKG_FIND(gstreamer_pbutils, [gst/pbutils/install-plugins.h], [gstreamer PB Utils library], gst_install_plugins_supported, [0.10])
2573   fi
2574   dnl when cross compiling Gstreamer, not all supplied SDKs include all the
2575   dnl development libraries since most devices don't need to support plugin
2576   dnl development, only the runtime. In these caes we often have the header
2577   dnl files but not the libraries.
2578   if test x"${has_gstreamer_plugins_base}" = xyes; then
2579     GSTREAMER_LIBS="-lgstinterfaces-0.10 $GSTREAMER_LIBS"
2580     AC_DEFINE(HAS_GSTREAMER_PLUGINS_BASE, [1], [Has the Gstreamer Plugin Dev package installed])
2581   fi
2584 AM_CONDITIONAL(HAVE_CAIRO, [true])
2585 dnl AM_CONDITIONAL(HAVE_CAIRO, [test x"${has_cairo}" = xyes])
2586 AM_CONDITIONAL(HAVE_OPENGL, [true])
2587 dnl AM_CONDITIONAL(HAVE_OPENGL, test x"${has_opengl}" = xyes)
2589 AM_CONDITIONAL(USE_SOUND_SDL, test x$build_sound_sdl = xyes)
2590 AM_CONDITIONAL(USE_SOUND_AHI, test x$build_sound_ahi = xyes)
2591 AM_CONDITIONAL(USE_SOUND_MKIT, test x$build_sound_mkit = xyes)
2592 AM_CONDITIONAL(USE_FFMPEG_ENGINE, test x"${build_media_ffmpeg}" = x"yes")
2593 AM_CONDITIONAL(USE_GST_ENGINE, test x"${build_media_gst}" = x"yes")
2594 AM_CONDITIONAL(HAVE_OPENGL, test x"${OPENGL_LIBS}" != x)
2595 dnl for now the Haiku media handler is experimental
2596 AM_CONDITIONAL(USE_HAIKU_ENGINE, test x"$build_media_haiku" = xyes)
2598 if test x"${build_media_ffmpeg}" = x"yes"; then
2599   AC_DEFINE([ENABLE_FFMPEG_MEDIA],  [1], [Use FFmpeg for media decoding])
2602 if test x"${build_media_gst}" = x"yes"; then
2603   AC_DEFINE([ENABLE_GST_MEDIA],  [1], [Use gstreamer for media decoding])
2606 if test x"${build_media_haiku}" = x"yes"; then
2607   AC_DEFINE([ENABLE_HAIKU_MEDIA],  [1], [Use haiku for media decoding])
2610 if test x$build_sound_mkit = xyes; then
2611   if test x"${haiku}" != xyes; then
2612     AC_MSG_ERROR([Media Kit sound handling is supported only under Haiku]);
2613   else
2614     AC_DEFINE([SOUND_MKIT],  [1], [Use Haiku's Media Kit for sound handling])
2615   fi
2618 if test x"${build_sound_sdl}" = xyes; then
2619   AC_DEFINE([SOUND_SDL],  [1], [Use SDL for sound handling])
2622 if test x"${build_sound_ahi}" = xyes; then
2623   if test x"$amigaos4" != xyes; then
2624     AC_MSG_ERROR([AHI sound handling is supported only under AmigaOS]);
2625   else
2626     AC_DEFINE([SOUND_AHI],  [1], [Use AmigaOS AHI for sound handling])
2627   fi
2630 if test x$build_fltk = xyes; then
2631   GNASH_PKG_FIND(fltk2, [fltk/FL_API.h], [Fast Light Toolkit], fl_window_flush)
2634 AM_CONDITIONAL(HAVE_FLTK2, [ test x$has_fltk2 = xyes ])
2635 AM_CONDITIONAL(HAS_XFT, [ test x$has_xft = xyes ])
2637 GNASH_DOCBOOK
2638 AM_CONDITIONAL(ENABLE_INFO, test x${INSTALL_INFO} != x)
2639 AM_CONDITIONAL(DOCBOOK, test x$docbook = xyes)
2640 AM_CONDITIONAL(ENABLE_TEXI, [ test x"$DB2X_TEXI" != x -o x"$DB2X_TEXIXML" != x ])
2641 AM_CONDITIONAL(ENABLE_PDF, [ test x"$DB2X_PDF" ])
2642 AM_CONDITIONAL(ENABLE_HTML, [ test x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2643 AM_CONDITIONAL(ENABLE_FOP, [ test x"$FOP" != x -a x"$docbook_styles" != x ])
2644 AM_CONDITIONAL(ENABLE_XMLTEX, [ test x"$PDFXMLTEX" != x -a x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2645 dnl  AM_CONDITIONAL(ENABLE_DBLATEX, [ test x"$DBLATEX" != x ])
2646 AM_CONDITIONAL(ENABLE_MAN, [ test x"$DB2X_MAN" != x -o x"$DB2X_MANXML" != x ])
2647 AM_CONDITIONAL(HAVE_AGG, [test x"${AGG_LIBS}" != x])
2649 GNASH_PATH_CURL
2651 dnl Define winsock if we're on windows. We could do something complicated,
2652 dnl but since AC_EXEEXT does it for us, we'll do this the easy way.
2653 if test x"$EXEEXT" = "exe"; then
2654   AC_DEFINE(HAVE_WINSOCK,1,[This is defined is we are on Win32])
2657 dnl ****************************************
2658 dnl *** Check for ELF visibility support ***
2659 dnl ****************************************
2661 AC_ARG_ENABLE([visibility],
2662   AC_HELP_STRING([--enable-visibility], [Use ELF visibility attributes]), [], [enable_visibility=no])
2664 if test x"$enable_visibility" != x"no"; then
2665   dnl Check whether the compiler supports the visibility attribute
2666   save_CFLAGS="$CFLAGS"
2667   CFLAGS="$CFLAGS -Wall -Werror"
2668   AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
2669   AC_COMPILE_IFELSE(AC_LANG_SOURCE(
2670     [
2671       void __attribute__ ((visibility("default"))) test_default (void) {}
2672       void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
2673       int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
2674     ]),
2675     [
2676       AC_DEFINE([HAVE_GNUC_VISIBILITY], [1], [Define this for GCC-visibility.])
2677       AC_MSG_RESULT([yes])
2678     ],
2679     [
2680       AC_MSG_RESULT([no])
2681     ]
2682   )
2683   CFLAGS="$save_CFLAGS"
2686 AC_ARG_ENABLE([pch],
2687   AC_HELP_STRING([--enable-pch], [Enable precompiled header support]), [], [enable_pch=no])
2689 AM_CONDITIONAL([ENABLE_PCH], [test x"$enable_pch" != x"no"])
2691 PCH_FLAGS="-include all-includes.h -Winvalid-pch"
2692 AC_SUBST(PCH_FLAGS)
2694 GNASH_PATH_PTHREADS
2696 GNASH_PATH_BOOST
2698 dnl disable --gcc-arch by default
2699 dnl AX_GCC_ARCHFLAG
2700 dnl AC_SUBST(CFLAGS)
2701 dnl AC_SUBST(CLIBS)
2703 AC_ARG_ENABLE([strict],
2704   AC_HELP_STRING([--enable-strict],[Accept only standards compliant code (GCC only)]),
2705   [case "${enableval}" in
2706     yes) strict=yes ;;
2707     no) strict=no ;;
2708     *) AC_MSG_ERROR([bad value ${enableval} for --enable-strict option]) ;;
2709   esac],
2710   [strict=no]
2713 if test x"$strict" = x"yes" -a x$build_agg = xyes; then
2714    AC_MSG_ERROR([agg renderer will fail with --enable-strict.]);        
2717 # We want warnings, lots of warnings  :-)
2718 # It should be possible to build with -ansi, not with
2719 # -pedantic because of agg.
2721 # -ansi was actually dropped because it hides 'fileno', which
2722 # is used in a few places
2724 if test x"$GCC" = x"yes"; then
2725   CXXFLAGS="$CXXFLAGS \
2726     $CROSS_CXXFLAGS \
2727     -W \
2728     -Wall \
2729     -Wcast-align \
2730     -Wcast-qual \
2731     -Wpointer-arith \
2732     -Wreturn-type \
2733     -Wnon-virtual-dtor \
2734     -Wunused \
2735     "
2736   CFLAGS="$CFLAGS \
2737     $CROSS_CXXFLAGS \
2738     -W \
2739     -Wall \
2740     -Wcast-align \
2741     -Wcast-qual \
2742     -Wpointer-arith \
2743     -Wreturn-type \
2744     -Wmissing-declarations \
2745     -Wmissing-prototypes \
2746     -Wstrict-prototypes \
2747     "
2748   if test x"$strict" = x"yes"; then
2749     CXXFLAGS="$CXXFLAGS \
2750       -Wextra \   
2751       -pedantic \
2752       -Wno-long-long \
2753       "
2755     CFLAGS="$CFLAGS \
2756       -pedantic \
2757       -Wno-long-long \
2758       -ansi \
2759       "
2760   fi
2763 AC_ARG_ENABLE([cassert],
2764   AC_HELP_STRING([--disable-cassert],[Disable assertion checking]),
2765   [case "${enableval}" in
2766     yes) cassert=yes ;;
2767     no) cassert=no ;;
2768     *) AC_MSG_ERROR([bad value ${enableval} for --enable-cassert option]) ;;
2769   esac],
2770   [cassert=yes]
2773 if test x"$cassert" = x"no"; then
2774     CXXFLAGS="$CXXFLAGS \
2775       -DNDEBUG \
2776       "
2777     CFLAGS="$CFLAGS \
2778       -DNDEBUG \
2779       "
2782 dnl /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
2783 AC_DEFUN([CHECK_VISIBILITY_GCC_BUG],
2784   [
2785     AC_CACHE_CHECK([if -fvisibility-inlines-hidden is broken], ac_cv_gcc_visibility_bug, [
2786         AC_LANG_PUSH(C++)
2787         save_CXXFLAGS=$CXXFLAGS
2788         save_LDFLAGS=$LDFLAGS
2789         CXXFLAGS="-fPIC -fvisibility-inlines-hidden -O0"
2790         LDFLAGS="$LDFLAGS -shared -fPIC"
2792         AC_TRY_LINK(
2793         [          
2794           template<typename CharT>
2795           struct VisTest
2796           {
2797             inline VisTest ();
2798           };
2799           template<typename CharT>
2800           inline VisTest<CharT>::VisTest()
2801         {}
2802         extern template class VisTest<char>;  // It works if we drop that line
2803         int some_function( int do_something ) __attribute__((visibility("default")));
2804         int some_function( int )
2805           {
2806             VisTest<char> a;
2807             return 0;
2808           }
2809         ], [],
2810         ac_cv_gcc_visibility_bug=no, ac_cv_gcc_visibility_bug=yes)
2812         CXXFLAGS=$save_CXXFLAGS
2813         LDFLAGS=$save_LDFLAGS
2814         AC_LANG_POP(C++)
2815       ]
2816     )
2817     if test x$ac_cv_gcc_visibility_bug = xno; then
2818       CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
2819     fi
2820   ]
2823 CHECK_VISIBILITY_GCC_BUG
2825 if test x$ac_cv_gcc_visibility_bug = xno; then
2826   AC_LANG_PUSH(C++)
2827   AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
2828   save_CXXFLAGS=$CXXFLAGS
2829   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2830   AC_LINK_IFELSE([AC_LANG_PROGRAM()], 
2831                  [ac_cv_gcc_visibility=yes;
2832                   AC_MSG_RESULT([yes])],
2833                  [ac_cv_gcc_visibility=no;
2834                   AC_MSG_RESULT([no])]);
2835   CXXFLAGS="$save_CXXFLAGS"
2836   AC_LANG_POP(C++)
2840 AM_CONDITIONAL(VISIBILITY_WORKS, test x"$ac_cv_gcc_visibility" = xyes)
2842 if test x"$ac_cv_gcc_visibility" = xyes -a x"$enable_visibility" != xno; then
2843   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2846 dnl Define convienience constants so Gnash can print out the
2847 dnl default configuration of the build.
2848 RENDERER_CONFIG="${renderer_list}"
2849 RENDERER_LIBS=
2850 for rend in `echo "${add_renderer}" | tr ',' ' '`; do
2851         RENDERER_LIBS="${RENDERER_LIBS} \$(top_builddir)/librender/libgnash${rend}.la"
2852 done
2853 dnl echo "RENDERER_LIBS=$RENDERER_LIBS"
2854 AC_SUBST(RENDERER_LIBS)
2855 AC_SUBST(RENDERER_CONFIG)
2857 HWACCEL_CONFIG="${hwaccel_list}"
2858 AC_SUBST(HWACCEL_CONFIG)
2860 dnl check for missing libraries and disable them.
2861 if test x"$BOOST_LIBS" != x; then
2862   if test x"${cygnal_missing_libs}" != x; then
2863     for i in ${cygnal_missing_libs}; do
2864       if test $i = serialization; then
2865         AC_DEFINE([BOOST_MULTI_INDEX_DISABLE_SERIALIZATION], ["1"], [if the library is missing, don't use it.])
2866       fi
2867     done
2868   fi
2871 CYGNAL_PATHS
2873 SUPPORTED_GUIS=
2874 if test x$build_qtopia3 = xyes; then
2875   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
2877 if test x$build_qtopia4 = xyes; then
2878   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
2880 if test x$build_fb = xyes; then
2881   SUPPORTED_GUIS="${SUPPORTED_GUIS},fb"
2883 if test x$build_fltk = xyes; then
2884   SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
2886 if test x$build_kde3 = xyes; then
2887   SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
2889 if test x$build_kde4 = xyes; then
2890   SUPPORTED_GUIS="${SUPPORTED_GUIS},kde4"
2892 if test x$build_gtk = xyes; then
2893   SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
2895 if test x$build_sdl = xyes; then
2896   SUPPORTED_GUIS="${SUPPORTED_GUIS},sdl"
2898 if test x$build_riscos = xyes; then
2899   SUPPORTED_GUIS="${SUPPORTED_GUIS},riscos"
2901 if test x$build_aqua = xyes; then
2902   SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
2904 if test x$build_dump = xyes; then
2905   SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
2907 if test x$build_aos4 = xyes; then
2908   SUPPORTED_GUIS="${SUPPORTED_GUIS},aos4"
2910 if test x$build_haiku = xyes; then
2911   SUPPORTED_GUIS="${SUPPORTED_GUIS},haiku"
2913 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
2914 AC_SUBST(SUPPORTED_GUIS)
2916 dnl AC_CONFIG_LINKS(doc/C/images)
2917 dnl AC_CONFIG_LINKS(gnashconfig.h)
2918 AC_CONFIG_LINKS(cygnal/testsuite/cygnal.all/cygnalrc:cygnal/testsuite/cygnal.all/cygnalrc.in)
2919 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc:testsuite/libbase.all/gnashrc.in)
2920 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc-local:testsuite/libbase.all/gnashrc-local.in)
2922 AC_CONFIG_FILES(
2923 gnash.pc:gnash.pc.in
2924 desktop/gnash-gtk-launcher:desktop/gnash-gtk-launcher.in
2925 desktop/gnash-qt-launcher:desktop/gnash-qt-launcher.in
2928 AC_OUTPUT(Makefile
2929 desktop/Makefile
2930 po/Makefile
2931 libmedia/Makefile
2932 libsound/Makefile
2933 libbase/Makefile
2934 libcore/Makefile
2935 libcore/vm/Makefile
2936 libcore/parser/Makefile
2937 libvaapi/Makefile
2938 librender/Makefile
2939 utilities/Makefile
2940 doc/Makefile
2941 doc/C/Makefile
2942 doc/Doxyfile
2943 testsuite/Makefile
2944 testsuite/media/Makefile
2945 testsuite/libbase.all/Makefile
2946 testsuite/as3compile.all/Makefile
2947 testsuite/actionscript.all/Makefile
2948 testsuite/samples/Makefile
2949 testsuite/swfdec/Makefile
2950 testsuite/misc-ming.all/Makefile
2951 testsuite/misc-ming.all/action_order/Makefile
2952 testsuite/misc-ming.all/displaylist_depths/Makefile
2953 testsuite/misc-ming.all/loop/Makefile
2954 testsuite/misc-ming.all/loading/Makefile
2955 testsuite/misc-mtasc.all/Makefile
2956 testsuite/misc-haxe.all/Makefile
2957 testsuite/misc-haxe.all/classes.all/Makefile
2958 testsuite/misc-swfmill.all/Makefile
2959 testsuite/misc-swfmill.all/trace-as2/Makefile
2960 testsuite/misc-swfmill.all/trace-as3/Makefile
2961 testsuite/misc-swfc.all/Makefile
2962 testsuite/network.all/Makefile
2963 testsuite/movies.all/Makefile
2964 testsuite/libcore.all/Makefile
2965 testsuite/libmedia.all/Makefile
2966 gui/Makefile
2967 gui/fb/Makefile
2968 gui/dump/Makefile
2969 gui/Info.plist
2970 gui/pythonmod/Makefile
2971 extensions/Makefile
2972 extensions/dejagnu/Makefile
2973 extensions/mysql/Makefile
2974 extensions/fileio/Makefile
2975 extensions/gtk2/Makefile
2976 extensions/lirc/Makefile
2977 extensions/dbus/Makefile
2978 plugin/Makefile
2979 plugin/npapi/Makefile
2980 plugin/klash/Makefile
2981 plugin/klash4/Makefile
2982 plugin/win32/Makefile
2983 plugin/aos4/Makefile
2984 cygnal/Makefile
2985 cygnal/libnet/Makefile
2986 cygnal/libamf/Makefile
2987 cygnal/cgi-bin/Makefile
2988 cygnal/cgi-bin/echo/Makefile
2989 cygnal/cgi-bin/oflaDemo/Makefile
2990 cygnal/cgi-bin/fitcDemo/Makefile
2991 cygnal/testsuite/Makefile
2992 cygnal/testsuite/libamf.all/Makefile
2993 cygnal/testsuite/libnet.all/Makefile
2994 cygnal/testsuite/cygnal.all/Makefile
2998 ########################## Final report begins... ############################
3001 dnl Create temporary directory in a secure way
3002 tmp=`mktemp -d ${TMPDIR=/tmp}/gnash-configure-XXXXXX`
3003 if test \! -n "$tmp" || test \! -d "$tmp"; then
3004   tmp=`(umask 077 && mkdir -d ${TMPDIR=/tmp}/gnash-configure-${RANDOM}-$$) 2>/dev/null`
3006 cerr=${tmp}/errors
3007 cwarn=${tmp}/warnings
3008 crec=${tmp}/recommended
3009 echo ""
3011 #trap 'rm cerr' 0 # trap isn't a good idea, might override other traps
3012 exec 3> $cerr 
3013 exec 4> $cwarn
3014 exec 5> $crec
3016 echo "Configurable options are:"
3018 if test x"${i810lodbias}" = x"yes"; then
3019   echo "        Intel 810 LOD bias hack enabled"
3020 else
3021   echo "        Intel 810 LOD bias hack disabled (default). Use --enable-i810-lod-bias to enable."
3024 if test x"${pthreads}" = x"yes"; then
3025   echo "        POSIX Threads support enabled (default)"
3026 else
3027   if test x"${build_haiku}" = x"yes"; then
3028      echo "        POSIX Thread support built into C library."
3029   els
3030      echo "        POSIX Thread support disabled."
3031   fi
3034 if test x"${dmalloc}" = x"yes"; then
3035   echo "        DMalloc support enabled"
3036   echo "        For a list of the command-line options enter: dmalloc --usage"
3037 else
3038   echo "        DMalloc support disabled (default). Use --enable-dmalloc to enable."
3041 if test x"${npapi}" = x"yes"; then
3042   echo "        NPAPI plugin enabled (default). Use --disable-npapi to disable."
3043   echo "            NPAPI plugin will be installed in ${FIREFOX_PLUGINS}"
3044 else
3045   echo "        NPAPI plugin disabled."
3048 if test x"${build_kparts3}" = x"yes"; then
3049   echo "        KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to disable"
3050   echo "            KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
3051   echo "            KPARTS 3.x service will be installed in ${KDE3_SERVICESDIR}"
3052   echo "            KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
3053   echo "            KPARTS 3.x appsdata will be installed in ${KDE3_APPSDATADIR}"
3054 else
3055   echo "        KPARTS 3.x plugin disabled."
3058 if test x"${build_kparts4}" = x"yes"; then
3059   echo "        KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to disable"
3060   echo "            KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
3061   echo "            KPARTS 4.x service will be installed in ${KDE4_SERVICESDIR}"
3062   echo "            KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
3063   echo "            KPARTS 4.x appsdata will be installed in ${KDE4_APPSDATADIR}"
3064 else
3065   echo "        KPARTS 4.x plugin disabled."
3068 dnl -- if test x"${dynamic_gui}" = x"yes"; then
3069 dnl --   echo "        Loadable GUI & renderer enabled."
3070 dnl -- else
3071 dnl --   echo "        Loadable GUI & renderer disabled (default). Use --enable-dynamic-gui to enable."
3072 dnl -- fi
3074 # set a variable if we shouldn't continue. This way we can print
3075 # out everything that is missing in one pass, hopefully making it
3076 # easy for new developers to get everything they need installed.
3078 echo "Configured paths for ${build} are:"
3080 dnl Dump QT3 options is the user specified a QTOPIA3 or KDE3 GUI
3081 if test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes; then
3082   if test x"${has_qt3}" = xyes; then
3083     echo "        QT3 flags are: ${QT3_CFLAGS}"
3084     echo "        QT3 libs are: ${QT3_LIBS}"
3085   else
3086     echo "        ERROR: No QT 3.x development package installed!" >&3
3087     echo "               Install a QT 3.x development environment from http://trolltech.com" >&3
3088     echo "               or .deb users: apt-get install libqt3-mt-dev" >&3
3089     echo "               or change to a different gui with --enable-gui=..." >&3
3090   fi
3093 dnl Dump QT4 options is the user specified a QTOPIA4 or KDE4 GUI
3094 if test x"${build_kde4}" = xyes -o x"${build_qtopia4}" = xyes; then
3095   if test x"${has_qt4}" = xyes; then
3096     echo "        QT4 flags are: ${QT4_CFLAGS}"
3097     echo "        QT4 libs are: ${QT4_LIBS}"
3098   else
3099     echo "        ERROR: No QT 4.x development package installed!" >&3
3100     echo "               Install a QT 4.x development environment from http://trolltech.com" >&3
3101     echo "               or .deb users: apt-get install qt4-dev-tools" >&3
3102     echo "               or change to a different gui with --enable-gui=..." >&3
3103   fi
3106 if test x"$build_qtopia3" = xyes; then
3107   if test x"${QTOPIA3_LIBS}" != x ; then
3108     if test x"${QTOPIA3_CFLAGS}" != x ; then
3109       echo "        QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
3110     else
3111       echo "        QTOPIA 3.x flags are: default include path"
3112     fi
3113     echo "        QTOPIA 3.x libs are: $QTOPIA3_LIBS"
3114   else
3115     echo "        ERROR: No QTOPIA 3.x library development package installed!" >&3
3116     echo "               Install it from http://trolltech.com/downloads/" >&3
3117     echo "               binary packages are not available." >&3
3118   fi
3121 if test x"$build_qtopia4" = xyes; then
3122   if test x"${QTOPIA4_LIBS}" != x ; then
3123     if test x"${QTOPIA4_CFLAGS}" != x ; then
3124       echo "        QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
3125     else
3126       echo "        QTOPIA 4.x flags are: default include path"
3127     fi
3128     echo "        QTOPIA 4.x libs are: $QTOPIA4_LIBS"
3129   else
3130     echo "        ERROR: No QTOPIA 4.x library development package installed!" >&3
3131     echo "               Install it from http://trolltech.com/downloads/" >&3
3132     echo "               binary packages are not available." >&3
3133   fi
3137 # -o x$build_kparts3 = xyes
3138 if test x$build_kde3 = xyes; then
3139   if test x"$has_kde3" = xyes; then
3140     echo "        KDE 3.x flags are: $KDE3_CFLAGS"
3141     echo "        KDE 3.x libs are: $KDE3_LIBS"
3142   else
3143       echo "        ERROR: No KDE 3.x development package installed!" >&3
3144       echo "               To disable the KDE 3.x gui," >&3
3145       echo "               reconfigure using --enable-gui=<list-of-guis>" >&3
3146       echo "               and omit "kde" from the list." >&3
3147       echo "               or avoid --enable-gui=... as a whole." >&3
3148       echo "               To be able to build the kde 3.x gui," >&3
3149       echo "               install version 3.x of the KDE development environment" >&3
3150       echo "               from http://kde.org" >&3
3151       echo "               or .deb users: apt-get install kdelibs4-dev" >&3
3152       echo "               or .rpm users: yum install kdelibs3-devel." >&3
3153   fi
3156 # -o x$build_kparts4 = xyes
3157 if test x$build_kde4 = xyes; then
3158   if test x"$has_kde4" = xyes; then
3159     echo "        KDE 4.x flags are: $KDE4_CFLAGS"
3160     echo "        KDE 4.x libs are: $KDE4_LIBS"
3161   else
3162       echo "        ERROR: No KDE 4.x development package installed!" >&3
3163       echo "               To disable the KDE 4.x gui," >&3
3164       echo "               reconfigure using --enable-gui=<list-of-guis>" >&3
3165       echo "               and omit "kde4" from the list" >&3
3166       echo "               or avoid --enable-gui=... as a whole." >&3
3167       echo "               To be able to build the kde 4.x gui," >&3
3168       echo "               install version 4.x of the KDE development environment" >&3
3169       echo "               from http://kde.org" >&3
3170       echo "               or .deb users: apt-get install kdelibs5-dev" >&3
3171       echo "               or .rpm users: yum install kdelibs-devel." >&3
3172   fi
3175 if test x"${JPEG_LIBS}" != x ; then
3176   if test x"${JPEG_CFLAGS}" != x ; then
3177     echo "        JPEG flags are: $JPEG_CFLAGS"
3178   else
3179     echo "        JPEG flags are: default include path"
3180   fi
3181   echo "        JPEG libs are: $JPEG_LIBS"
3182 else
3183   echo "        ERROR: No JPEG library development package installed!" >&3
3184   echo "               Install it from http://ijg.org" >&3
3185   echo "               or .deb users: apt-get install libjpeg-dev" >&3
3186   echo "               or .rpm users: yum install libjpeg-devel" >&3
3189 if test x"${GIF_LIBS}" != x ; then
3190   if test x"${GIF_CFLAGS}" != x ; then
3191     echo "        GIF flags are: $GIF_CFLAGS"
3192   else
3193     echo "        GIF flags are: default include path"
3194   fi
3195   echo "        GIF libs are: $GIF_LIBS"
3196 else
3197   echo "        ERROR: No GIF library development package installed!" >&3
3198   echo "               Install it from http://sourceforge.net/projects/giflib/" >&3
3199   echo "               or .deb users: apt-get install libungif-dev" >&3
3200   echo "               or maybe     : apt-get install libgif-dev" >&3
3201   echo "               or .rpm users: yum install libungif-devel" >&3
3204 if test x"${PNG_LIBS}" != x ; then
3205   if test x"${PNG_CFLAGS}" != x ; then
3206     echo "        PNG flags are: $PNG_CFLAGS"
3207   else
3208     echo "        PNG flags are: default include path"
3209   fi
3210   echo "        PNG libs are: $PNG_LIBS"
3211 else
3212   echo "        RECOMMENDED: No PNG library development package installed!" >&5
3213   echo "                     Gnash will be built without support for dynamic loading of PNG files." >&5
3214   echo "                     Install it from http://www.libpng.org" >&5
3215   echo "                     or .deb users: apt-get install libpng12-dev" >&5
3216   echo "                     or .rpm users: yum install libpng-devel" >&5
3219 if test x"${build_ogl}" = x"yes"; then
3220   if test x"$OPENGL_LIBS" != x; then
3221     if test x"$OPENGL_CFLAGS" != x; then
3222       echo "        OpenGL flags are: $OPENGL_CFLAGS"
3223     else
3224       echo "        OpenGL flags are: default include path"
3225     fi
3226     echo "        OpenGL libs are: $OPENGL_LIBS"
3227     else
3228       echo "        ERROR: No OpenGL development package installed!" >&3
3229       echo "               You need to install the libmesa development package" >&3
3230       echo "               or .deb users: apt-get install libgl1-mesa-dev" >&3
3231       echo "               or .rpm users: yum install xorg-x11-Mesa-libGL" >&3
3232       echo "               or use a different renderer with --enable-renderer=" >&3
3233   fi
3236 if test x"${build_gles}" = x"yes"; then
3237   if test x"${has_gles}" != x; then
3238     if test x"$GLES_CFLAGS" != x; then
3239       echo "        OpenGL-ES flags are: $GLES_CFLAGS"
3240     else
3241       echo "        OpenGL-ES flags are: default include path"
3242     fi
3243     echo "        OpenGL-ES libs are: $GLES_LIBS"
3244   else
3245       echo "        ERROR: No OpenGL-ES development package installed!" >&3
3246       echo "               You need to install the this from source proobably" >&3
3247       echo "               or use a different renderer with --enable-renderer=" >&3
3248   fi
3251 dnl GLEXT is only needed for GTK/OpenGL
3252 if test x$build_gtk = xyes -a x$build_ogl = xyes ; then
3253   if test x"$GLEXT_LIBS" != x; then
3254     if test x"$GLEXT_CFLAGS" != x; then
3255       echo "        GtkGLExt flags are: $GLEXT_CFLAGS"
3256     else
3257       echo "        GtkGLExt flags are: default include path"
3258     fi
3259       echo "        GtkGLExt libs are: $GLEXT_LIBS"
3260   else
3261     if test x$build_gtk = xyes; then
3262       if test x$build_ogl = xyes; then
3263         echo "        ERROR: No GtkGLExt development package installed!" >&3
3264         echo "               It is needed to build the GTK/OpenGL GUI/renderer combination." >&3
3265         echo "               Either install it from http://gtkglext.sourceforge.net" >&3
3266         echo "               or .deb users: apt-get install libgtkglext1-dev" >&3
3267         echo "               or .rpm users: yum install gtkglext-devel" >&3
3268         echo "               or --enable-gui=sdl or --enable-renderer=agg" >&3
3269       fi
3270     fi
3271   fi
3275 if test x$build_gtk = xyes; then #{
3276   if test x"$GTK2_LIBS" != x; then
3277     if test x"$GTK2_CFLAGS" != x; then
3278       echo "        GTK2 flags are: $GTK2_CFLAGS"
3279     else
3280       echo "        GTK2 flags are: default include path"
3281     fi
3282       echo "        GTK2 libs are: $GTK2_LIBS"
3283   else
3284     echo "        ERROR: No GTK2 development package installed!" >&3
3285     echo "               Install it from http://gtk.org" >&3
3286     echo "               or .deb users: apt-get install libgtk2.0-dev" >&3
3287     echo "               or .rpm users: yum install gtk2-devel" >&3
3288   fi
3290   if test x"$PANGO_LIBS" != x; then
3291     if test x"$PANGO_CFLAGS" != x; then
3292       echo "        Pango flags are: $PANGO_CFLAGS"
3293     else
3294       echo "        Pango flags are: default include path"
3295     fi
3296     echo "        Pango libs are: $PANGO_LIBS"
3297   else
3298     echo "        ERROR: No Pango development package installed!" >&3
3299     echo "               Install it from http://pango.org" >&3
3300     echo "               or .deb users: apt-get install libpango1.0-dev" >&3
3301     echo "               or .rpm users: yum install pango-devel" >&3
3302   fi
3304   if test x"$GLIB_LIBS" != x; then
3305     if test x"$GLIB_CFLAGS" != x; then
3306       echo "        GLib flags are: $GLIB_CFLAGS"
3307     else
3308       echo "        GLib flags are: default include path"
3309     fi
3310     echo "        GLib libs are: $GLIB_LIBS"
3311   else
3312     echo "        ERROR: No GLib development package installed!" >&3
3313     echo "               Install it from http://gtk.org" >&3
3314     echo "               or .deb users: apt-get install libglib2.0-dev" >&3
3315     echo "               or .rpm users: yum install glib2-devel" >&3
3316   fi
3318   if test x"$ATK_LIBS" != x; then
3319     if test x"$ATK_CFLAGS" != x; then
3320       echo "        ATK flags are: $ATK_CFLAGS"
3321     else
3322       echo "        ATK flags are: default include path"
3323     fi
3324       echo "        ATK libs are: $ATK_LIBS"
3325   else
3326     echo "        ERROR: No ATK development package installed!" >&3
3327     echo "               Install it from http://gtk.org" >&3
3328     echo "               or .deb users: apt-get install libatk1.0-dev" >&3
3329     echo "               or .rpm users: yum install atk-devel" >&3
3330   fi
3334 if test x"$build_media_gst" = x"yes"; then
3335   if test x"$missing_codecs" != x; then   
3336       echo "        Your Gstreamer installation is missing these codecs: $missing_codecs"
3337       echo "        Please install the gstreamer-ffmpeg for Gstreamer"
3338   fi  
3339   if test x"$GSTREAMER_LIBS" != x; then
3340     if test x"$GSTREAMER_CFLAGS" != x; then
3341       echo "        Gstreamer flags are: $GSTREAMER_CFLAGS"
3342     else
3343       echo "        Gstreamer flags are: default include path"
3344     fi
3345     echo "        Gstreamer libs are: $GSTREAMER_LIBS"
3346     if test x"$has_gstreamer_pbutils" != "xyes"; then
3347       echo "        RECOMMENDED: If the user has not installed the necessary Gstreamer plugins," >&5
3348       echo "                     Gstreamer can pop up a message prompting them to." >&5
3349       echo "                     Install gstpbutils (>= 0.10.15) from http://www.gstreamer.net for that to be enabled" >&5
3350       echo "                     or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&5
3351       echo "                     Also see --with-gstpbutils-incl and --with-gstpbutils-lib" >&5
3352     fi
3353     if test x"$has_gstreamer_plugins_base" = "xno"; then
3354       dnl check if this is really a mandatory asset !
3355       echo "        ERROR: base plugins are required for gstreamer media" >&3
3356       echo "                        Install gstreamer-plugins-base from http://www.gstreamer.net" >&3
3357       echo "                        or .rpm users: yum install gstreamer-plugins-base-devel" >&3
3358       echo "                        or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&3
3359     fi
3360   else
3361     echo "        ERROR: GST media handling requested but gstreamer-0.10+ not found" >&3
3362     echo "               Install it from http://www.gstreamer.net" >&3
3363     echo "               or .deb users: apt-get install libgstreamer0.10-dev" >&3
3364     echo "               or .rpm users: yum install gstreamer-devel" >&3
3365     echo "               or             yast install gstreamer010-devel" >&3
3366   fi
3369   if test x"${build_media_ffmpeg}" = x"yes"; then
3370     if test x"$FFMPEG_LIBS" != x; then
3371       echo "        MP3 and video support enabled through FFmpeg"
3372       if test x"${ffmpeg_version_check}" != xok; then
3373         echo "        ERROR: You have version ${ffmpeg_version} of FFmpeg installed," >&3
3374         if test x"${have_ffmpeg_swscale}" = "xno"; then
3375           echo "               with no swscale enabled." >&3
3376         else
3377           echo "               with swscale enabled." >&3
3378         fi
3379         echo "               This setup isn't supported!" >&3
3380         echo "               Version 51.11.0 or newer is required, enabling swscale if >= 52.0.0." >&3
3381         echo "               You can install libswscale from http://ffmpeg.org" >&3
3382         echo "               or .deb users: apt-get install libswscale-dev" >&3
3383       else
3384         if test x"${avformat_h}" = x; then
3385           echo "        ERROR: FFmpeg's libavcodec header is installed but not libavformat." >&3
3386           echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3387           echo "               or .deb users: apt-get install libavformat-dev" >&3
3388           echo "               or YaST users: yast -i libavformat-api (but currently installs into /usr/lib64)" >&3
3389           echo "               or explicitly set the path using --with-ffmpeg-incl=" >&5
3390           echo "               or reconfigure with --enable-media=gst" >&3
3391         else
3392           if test x"$FFMPEG_CFLAGS" != x; then
3393             echo "        FFmpeg flags are: $FFMPEG_CFLAGS"
3394           else
3395             echo "        FFmpeg flags are: default include path"
3396           fi
3397           echo "        FFmpeg libs are: $FFMPEG_LIBS"
3398         fi
3399       fi
3400     else
3401       echo "        ERROR: No FFmpeg development package installed!" >&3
3402       echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3403       echo "               or .deb users: apt-get install libavformat-dev" >&3
3404       echo "               or .rpm users: yum install ffmpeg-devel" >&3
3405       echo "               or reconfigure with --enable-media=gst" >&3
3406     fi
3407   fi
3409 if test x$build_cairo = xyes; then
3410   if test x"$CAIRO_LIBS" != x; then
3411     if test x"$CAIRO_CFLAGS" != x; then
3412       echo "        Cairo flags are: $CAIRO_CFLAGS"
3413     else
3414       echo "        Cairo flags are: default include path"
3415     fi
3416     echo "        Cairo libs are: $CAIRO_LIBS"
3417   else
3418     echo "        ERROR: No Cairo development package installed!" >&3
3419     echo "               You need to have the Cairo development package installed" >&3
3420     echo "               if you have used --enable-render=cairo to configure." >&3
3421     echo "               Install it from http://cairographics.org" >&3
3422     echo "               or .deb users: apt-get install libcairo-dev" >&3
3423     echo "               or .rpm users: yum install cairo-devel" >&3
3424   fi
3427 if test x$build_fltk = xyes; then
3428   if test x"$FLTK2_LIBS" != x; then
3429     if test x"$FLTK2_CFLAGS" != x; then
3430       echo "        FLTK flags are: $FLTK2_CFLAGS"
3431     else
3432       echo "        FLTK flags are: default include path"
3433     fi
3434       echo "        FLTK libs are: $FLTK2_LIBS"
3435   else
3436     echo "        ERROR: No FLTK2 development package installed!" >&3
3437     echo "               There are currently no Debian or RPM packages for FLTK2;" >&3
3438     echo "               see http://www.fltk.org to install it from source." >&3
3439     echo "               or change to a different gui with --enable-gui=..." >&3
3440 dnl What it was for FLTK 1:
3441 dnl    echo "               or .deb users: apt-get install fltk-1.1-dev"
3442 dnl    echo "               or .rpm users: yum install fltk-devel"
3443   fi
3446 if test x$build_fltk = xyes; then
3447   if test x"$XFT_LIBS" != x; then
3448     if test x"$XFT_CFLAGS" != x; then
3449       echo "        Xft flags are: $XFT_CFLAGS"
3450     else
3451       echo "        Xft flags are: default include path"
3452     fi
3453       echo "        Xft libs are: $XFT_LIBS"
3454 dnl     else
3455 dnl       echo "        ERROR: No Xft development package installed!" >&3
3456 dnl       echo "               Install the xft development package" >&3
3457 dnl       echo "               or .deb users: apt-get install libxft-dev" >&3
3458 dnl       echo "               or .rpm users: yum install xft-devel" >&3
3459   fi
3462 # See whether SDL is required
3463 need_sdl=false
3464 test x$build_sdl = xyes                 && need_sdl=true
3465 test x$build_sound_sdl = xyes   && need_sdl=true
3467 if $need_sdl; then
3468   if test x"$SDL_LIBS" != x; then
3469     echo "        SDL flags are: $SDL_CFLAGS"
3470     echo "        SDL libs are: $SDL_LIBS"
3471   else
3472     echo "        ERROR: No SDL development package installed!" >&3
3473     echo "               Install it from http://www.libsdl.org/download-1.2.php" >&3
3474     echo "               or .deb users: apt-get install libsdl1.2-dev" >&3
3475     echo "               or .rpm users: yum install SDL-devel" >&3
3476     test x$build_sdl = xyes &&
3477         echo "               or select a different GUI with --enable-gui= " >&3
3478   fi
3480 unset need_sdl
3482 if test x"$nsapi" = x"yes"; then
3483 dnl  if test x"$FIREFOX_CFLAGS" != x; then
3484 dnl    echo "        Firefox flags are: $FIREFOX_CFLAGS"
3485 dnl    echo "        Firefox libs are: $FIREFOX_LIBS"
3486     echo "        Plugin will be installed in ${FIREFOX_PLUGINS}"
3487 dnl  else
3488 dnl    echo "        ERROR: No Firefox or Mozilla development package installed!" >&3
3489 dnl  fi
3492 if test x"${pthreads}" = x"yes"; then
3493   if test x"$PTHREAD_CFLAGS" != x; then
3494     echo "        POSIX Threads flags are: $PTHREAD_CFLAGS"
3495   fi
3496   if test x"${PTHREAD_LIBS}" != x; then
3497     echo "        POSIX Threads lib is: $PTHREAD_LIBS"
3498   else
3499     if test x"${cross_compiling}" = xno; then
3500       echo "ERROR: No pthread development package installed!" >&3
3501     fi
3502   fi
3505 if test x"${docbook}" = x"yes"; then
3506   if test x"$MAKEINFO" = x; then
3507     echo "        ERROR: no makeinfo tools installed!" >&3
3508     echo "               Either install it from http://www.gnu.org/software/texinfo/" >&3
3509     echo "               or .deb users: apt-get install texinfo" >&3
3510     echo "               or configure without --enable-docbook" >&3
3511   fi
3512   dnl low-level tools
3513   if test x"$DB2X_TEXIXML" = x -o x"$DB2X_MANXML" = x -o x"$DB2X_XSLTPROC" = x; then
3514     dnl high-level tools
3515     if test x"${DB2X_TEXI}" = x -o x"${DB2X_MAN}" = x; then
3516       echo "        ERROR: No DocBook2X tools installed!" >&3
3517       echo "               Either install it from http://docbook2x.sourceforge.net" >&3
3518       echo "               or .deb users: apt-get install docbook docbook2x docbook-utils" >&3
3519       echo "                              docbook-xml docbook-xsl texinfo xsltproc" >&3
3520       echo "               or configure without --enable-docbook" >&3
3521     fi
3522   else
3523     echo "        You have version $db2x_version of the DocBook2X tools."
3524   fi
3525 else
3526   echo "        WARNING: without --enable-docbook we will use the cached" >&4
3527   echo "                 documentation files included in the gnash distribution." >&4
3528   echo "                 If you change files in doc/C, you should --enable-docbook." >&4
3531 if test x"$CURL_LIBS" != x; then
3532   if test x"$CURL_CFLAGS" != x; then
3533     echo "        CURL flags are: $CURL_CFLAGS"
3534   else
3535     echo "        CURL flags are: default include path"
3536   fi
3537     echo "        CURL libs are: $CURL_LIBS"
3538 else
3539   echo "        RECOMMENDED: If you install the CURL library, Gnash will be able to" >&5
3540   echo "                     display remote content (streaming from URLs) using CURL." >&5
3541   echo "                     Install libcurl from http://curl.haxx.se/libcurl" >&5
3542   echo "                     or .deb users: apt-get install libcurl-dev" >&5
3543   echo "                     or .rpm users: yum install curl-devel" >&5
3546 if test x"$SPEEX_LIBS" != x; then
3547   if test x"$SPEEX_CFLAGS" != x; then
3548     echo "        Speex flags are: $SPEEX_CFLAGS"
3549   else
3550     echo "        Speex flags are: default include path"
3551   fi
3552     echo "        Speex libs are: $SPEEX_LIBS"
3553 else
3554   echo "        RECOMMENDED: If you install the Speex library, Gnash will be able to" >&5
3555   echo "                     decoded Speex encoded audio in FLV files." >&5
3556   echo "                     Install libspeex from http://speex.org" >&5
3557   echo "                     or .deb users: apt-get install libspeex-dev" >&5
3558   echo "                     or .rpm users: yum install speex-devel" >&5
3561 if test x"$ext_dbus" = xyes; then
3562   if test x"$DBUS_LIBS" != x; then
3563     if test x"$DBUS_CFLAGS" != x; then
3564       echo "        DBUS flags are: $DBUS_CFLAGS"
3565     else
3566       echo "        DBUS flags are: default include path"
3567     fi
3568       echo "        DBUS libs are: $DBUS_LIBS"
3569   else
3570     echo "        WARNING: DBUS library not found." >&4
3571     echo "                 Gnash will be built without support for remote controls." >&4
3572     echo "                 Why not install libdbus from http://www.dbus.org" >&4
3573     echo "                 or .deb users: apt-get install dbus-dev" >&4
3574     echo "                 or .rpm users: yum install dbus-devel" >&4
3575   fi
3578 if test x$build_agg = xyes; then # {
3579   echo "        AGG Pixel format is: $pixelformat"
3580     if test x"$AGG_LIBS" != x; then # {
3581       if test x"${agg25}" != xyes; then # {
3582         echo "        ERROR: Your installation of AGG appears to be version 2.4 or older." >&3
3583         echo "               Please upgrade to AGG 2.5 or greater." >&3
3584         echo "               Install it from http://www.antigrain.com" >&3
3585         echo "               or .deb users: apt-get install libagg-dev" >&3
3586         echo "               or .rpm users: yum install agg-devel" >&3
3587       else # }{
3588         if test x"$AGG_CFLAGS" != x; then # {
3589           echo "        AGG flags are: $AGG_CFLAGS"
3590         else # }{
3591           echo "        AGG flags are: default include path"
3592         fi # }
3593         echo "        AGG libs are: $AGG_LIBS"
3594       fi # }
3595     else # }{
3596       echo "        ERROR: No AGG development package installed!" >&3
3597       echo "               Install it from http://www.antigrain.com" >&3
3598       echo "               or .deb users: apt-get install libagg-dev" >&3
3599       echo "               or .rpm users: yum install agg-devel" >&3
3600     fi # }
3601 fi # }
3603 if test x"$BOOST_LIBS" != x; then
3604         echo "        BOOST flags are: $BOOST_CFLAGS"
3605         echo "        BOOST libs are: $BOOST_LIBS"
3606         echo "        BOOST libs for cygnal are: $BOOST_CYGNAL_LIBS"
3607     dnl fi
3608     if test x"${missing_headers}" != x; then
3609       for i in ${missing_headers}; do
3610         echo "        ERROR: The BOOST $i header file is needed!" >&3
3611         echo "               Install it from http://boost.org" >&3
3612         echo "               or from a Boost development package" >&3
3613       done
3614     fi
3616     if test x"${cygnal}" = x"yes"; then
3617         if test x"${cygnal_missing_libs}" != x; then
3618           for i in ${cygnal_missing_libs}; do
3619             echo "          ERROR: The BOOST $i library is required for cygnal!" >&4
3620             echo "                 Either configure with --disable-cygnal or" >&4
3621             echo "                 install it from http://www.boost.org" >&4
3622             echo "                 or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&4
3623           done
3624         fi
3625     fi
3627     if test x"${missing_libs}" != x; then
3628       for i in ${missing_libs}; do
3629         echo "        ERROR: The BOOST $i library is needed!" >&3
3630         echo "               Install it from http://boost.org" >&3
3631         echo "               or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&3
3632       done
3633     fi
3634 else
3635     echo "        ERROR: No BOOST development package installed!" >&3
3636     echo "               Install it from http://www.boost.org" >&3
3637     echo "               or .deb users: apt-get install libboost-dev libboost-thread-dev" >&3
3638     if test x"$cygnal" = xyes; then
3639     echo "                              and libboost-date-time-dev (for cygnal)" >&3
3640     fi
3641     echo "               or .rpm users: yum install boost-devel" >&3
3644 dnl don't look for the flash compilers when cross compiling.
3645 if test x"$testsuite" = x"yes"; then
3646   if test x$cross_compiling = xno; then
3647     if test x"$MING_LIBS" != x; then
3648       echo "        MING flags are $MING_CFLAGS"
3649       echo "        MING libs are $MING_LIBS"
3650     else
3651       echo "        WARNING: You need to have the Ming development package" >&4
3652       echo "                 installed to run most of the tests in Gnash testsuite." >&4
3653       echo "                 Install it from http://www.libming.org/" >&4
3654       echo "                 or .deb users: apt-get install libming-dev" >&4
3655     fi
3657     if test x"$MAKESWF" != x; then
3658       echo "        MING version code is $MING_VERSION_CODE"
3659       echo "        MAKESWF is $MAKESWF"
3660     else
3661       echo "        WARNING: You need to have the Ming utilities package" >&4
3662       echo "                 version 0.4 or higher installed to run" >&4
3663       echo "                 many of the tests in Gnash testsuite." >&4
3664       echo "                 Install it from http://www.libming.org" >&4
3665       echo "                 or .deb users: apt-get install libming-util" >&4
3666     fi
3668     if test x"$MAKESWF" != x && test $MING_VERSION_CODE -lt 00040006; then
3669       echo "        WARNING: You have an older version of Ming installed and will not" >&4
3670       echo "                 be able to run all of the tests in Gnash testsuite." >&4
3671       echo "                 Install the latest version from http://www.libming.org" >&4
3672     fi
3674     if test x"$SWFDEC_TESTSUITE" != x; then
3675       echo "        SWFDEC testsuite dir is $SWFDEC_TESTSUITE"
3676     fi
3678     if test x"$MTASC" != x; then
3679       echo "        MTASC is $MTASC"
3680       echo "        MTASC CLASSPATH is $MTASC_CLASSPATH"
3681     else
3682       echo "        WARNING: You need to have the MTASC compiler packages installed" >&4
3683       echo "                 to run some of the tests in Gnash testsuite." >&4
3684       echo "                 You can install it from http://mtasc.org" >&4
3685       echo "                 or .deb users: apt-get install mtasc" >&4
3686     fi
3688     if test x"$HAXE" != x; then
3689       echo "        HAXE is $HAXE"
3690       echo "        HAXE CLASSPATH is $HAXE_CLASSPATH"
3691     else
3692       echo "        WARNING: You need to have the HAXE compiler package " >&4
3693       echo "                 version 2.00 or higher installed" >&4
3694       echo "                 to run some of the tests in Gnash testsuite." >&4
3695       echo "                 You can install it from http://haxe.org" >&4
3696       echo "                 or .deb users: apt-get install haxe" >&4
3697     fi
3699     if test x"$SWFMILL" != x; then
3700       echo "        SWFMILL is $SWFMILL"
3701       if test x"$ENABLE_AVM2" != x -a "$SWFMILL_VERSION" -lt 00021206; then
3702         echo "        WARNING: You are building Gnash with AVM2 support but" >&4
3703         echo "                 your swfmill version is too old to run AS3" >&4
3704         echo "                 tests." >&4
3705       fi
3706     else
3707       echo "        WARNING: You need to have the 'swfmill' tool installed" >&4
3708       echo "                 to run some of the tests in Gnash testsuite." >&4
3709       echo "                 You can install it from http://swfmill.org/" >&4
3710       echo "                 or .deb users: apt-get install swfmill" >&4
3711     fi
3713     if test x"$SWFC" != x; then
3714       echo "        SWFC is $SWFC"
3715     else
3716       echo "        WARNING: You need to have 'swfc' from SWFTools installed" >&4
3717       echo "                 to run some of the tests in Gnash testsuite." >&4
3718       echo "                 You can install it from http://www.swftools.org/" >&4
3719       echo "                 or .deb users: apt-get install swftools" >&4
3720     fi
3722     if test x"$AS3COMPILE" != x; then
3723       echo "        AS3COMPILE is $AS3COMPILE"
3724     else
3725       echo "        WARNING: you need as3compile from SWFTools" >&4
3726       echo "                 to run some of the tests in Gnash testsuite." >&4
3727       echo "                 You can install it from http://www.swftools.org/" >&4
3728     fi
3730     if test x"$HTTP_TESTSUITE" != x; then
3731       echo "        HTTP testsuite dir is $HTTP_TESTSUITE"
3732     fi
3734     if test x"$RED5_HOST" != x; then
3735       echo "        RED5 testing host is $RED5_HOST"
3736     fi
3737   fi
3740   if test x"$PERL" != x; then
3741     echo "        PERL is $PERL"
3742   else
3743     echo "        WARNING: You need to have perl installed" >&4
3744     echo "                 to run some of the tests in Gnash testsuite." >&4
3745   fi
3747 if test x"$testsuite" = x"yes"; then
3748   if test x"$CSOUND" != x; then
3749     echo "        CSOUND is $CSOUND"
3750   fi
3753 if test x"$Z_LIBS" != x; then
3754   if test x"$Z_CFLAGS" != x; then
3755     echo "        Z flags are: $Z_CFLAGS"
3756   else
3757     echo "        Z flags are: default include path"
3758   fi
3759   echo "        Z libs are: $Z_LIBS"
3760 else
3761   echo "        RECOMMENDED: You need to have the zlib development packages installed" >&5
3762   echo "                     to play compressed SWF (most of them from version 6 up)" >&5
3763   echo "                     and to display some kinds of JPEG files." >&5
3764   echo "                     Install it from http://www.zlib.net" >&5
3765   echo "                     or .deb users: apt-get install zlib1g-dev" >&5
3766   echo "                     or .rpm users: yum install zlib-devel." >&5
3767   echo "                     It may still be possible to configure without zlib." >&5
3770 if test x"$FREETYPE2_LIBS" != x; then
3771   if test x"$FREETYPE2_CFLAGS" != x; then
3772     echo "        FreeType flags are: $FREETYPE2_CFLAGS"
3773   else
3774     echo "        FreeType flags are: default include path"
3775   fi
3776   echo "        FreeType libs are: $FREETYPE2_LIBS"
3777 else
3778   echo "        RECOMMENDED: You need to have the freetype development packages installed" >&5
3779   echo "                     to use device fonts." >&5
3780   echo "                     Install it from http://www.freetype.org" >&5
3781   echo "                     or .deb users: apt-get install libfreetype6-dev" >&5
3782   echo "                     or .rpm users: yum install freetype-devel" >&5
3783   echo "                     It may still be possible to configure without freetype." >&5
3786 if test x"$FONTCONFIG_LIBS" != x; then
3787   if test x"$FONTCONFIG_CFLAGS" != x; then
3788     echo "        Fontconfig flags are: $FONTCONFIG_CFLAGS"
3789   else
3790     echo "        Fontconfig flags are: default include path"
3791   fi
3792   echo "        Fontconfig libs are: $FONTCONFIG_LIBS"
3793 else
3794   echo "        RECOMMENDED: You need to have the fontconfig development packages installed" >&5
3795   echo "                     to use device fonts." >&5
3796   echo "                     Install it from http://www.fontconfig.org" >&5
3797   echo "                     or .deb users: apt-get install libfontconfig1-dev" >&5
3798   echo "                     or .rpm users: yum install fontconfig-devel" >&5
3799   echo "                     It may still be possible to configure without fontconfig." >&5
3802 if test x$ext_mysql = xyes; then
3803   if test x$mysql != xno; then
3804     if test x"$MYSQL_LIBS" != x; then
3805       echo "        MYSQL flags are: $MYSQL_CFLAGS"
3806       echo "        MYSQL libs are: $MYSQL_LIBS"
3807     else
3808       echo "        ERROR: No MySQL development package is installed." >&3
3809       echo "               Either reconfigure without --enable-extensions=mysql" >&3
3810       echo "               or install MySQL header files from http://www.mysql.org" >&3
3811       echo "               or .deb users: apt-get install libmysqlclient-dev" >&3
3812       echo "                 or .rpm users: yum install mysql-devel" >&4
3813     fi
3814   fi
3817 if test "$GMSGFMT" = ":"; then
3818   echo "        WARNING: You need the gettext package installed to use translations." >&4
3819   echo "                 Required for building a package or 'make distcheck'" >&4
3820   echo "                 Install it from http://www.gnu.org/software/gettext/" >&4
3821   echo "                 or .deb users: apt-get install gettext" >&4
3822   echo "                 or .rpm users: yum install gettext" >&4
3825 if test x"${build_vaapi}" = x"yes"; then
3826   if test x"${LIBVA_CFLAGS}" = xyes; then
3827       echo "        LIBVA flags are: default"
3828     else
3829       echo "        LIBVA flags are: $LIBVA_CFLAGS"
3830       echo "        LIBVA libraries are: $LIBVA_LIBS"
3831   fi
3832   if test x$use_libva_x11 = xyes; then
3833     if test x"${LIBVA_X11_CFLAGS}" = xyes; then
3834       echo "        LIBVA X11 flags are: default"
3835     else
3836       echo "        LIBVA X11 flags are: $LIBVA_X11_CFLAGS"
3837       echo "        LIBVA X11 libraries are: $LIBVA_X11_LIBS"
3838     fi
3839   fi
3840   if test x$use_libva_glx = xyes; then
3841     if test x"${LIBVA_GLX_CFLAGS}" = xyes; then
3842       echo "        LIBVA GLXflags are: default"
3843     else
3844       echo "        LIBVA GLX flags are: $LIBVA_GLX_CFLAGS"
3845     fi
3846     echo "        LIBVA GLX libraries are: $LIBVA_GLX_LIBS"
3847   fi
3850 if test x"$ac_cv_gcc_visibility" != xyes; then
3851   if test x"$npapi" = xyes; then
3852     echo "        WARNING: NPAPI (mozilla) plugin is enabled, but your compiler"
3853     echo "                 does not support symbol visibility. This may cause "
3854     echo "                 the plugin to malfunction and may result in small "
3855     echo "                 children being eaten. You have been warned!"
3856   fi
3859 if test x"${DEJAGNU}" != x""; then
3860   echo "        DEJAGNU's runtest is $DEJAGNU"
3861 else
3862   echo "        WARNING: You need the dejagnu package installed to get a summary" >&4
3863   echo "                 report after running ''make check''" >&4
3864   echo "                 Install it from http://www.gnu.org/software/dejagnu/" >&4
3865   echo "                 or .deb users: apt-get install dejagnu" >&4
3866   echo "                 or .rpm users: yum install dejagnu" >&4
3869 dnl Haiku
3870 if test x"${build_haiku}" = xyes -o x"${build_sound_mkit}" = xyes -o x"${build_media_haiku}" = x"yes"; then
3871     echo "        Haiku libs are: $HAIKU_LIBS"
3874 if test x"$has_ltdl" = x"yes";then
3875   echo "        LIBLTDL flags are: $LTDL_CFLAGS"
3876   echo "        LIBLTDL libs are: $LTDL_LIBS"
3877 else
3878   echo "        ERROR: No libltdl development package is installed" >&3
3879   echo "               Install it from ftp://ftp.gnu.org/gnu/libtool/" >&3
3880   echo "               or .deb users: apt-get install libltdl-dev" >&3
3881   echo "               or .rpm users: yum install libtool-ltdl-devel" >&3
3884 if test x"$python" = x"yes"; then
3885   if test x"$has_python" = x"yes"; then
3886     echo "        PYTHON flags are: $PYTHON_CFLAGS"
3887     echo "        PYTHON libs are: $PYTHON_LIBS"
3888     echo "        PYTHON executable is are: $PYTHON"
3889   else
3890     echo "        ERROR: No Python development package is installed, but it's enabled." >&3
3891   fi
3893 if test x${build_ssl} = xyes; then
3894   if test x"${has_ssl}" = xyes; then
3895     if test x"${SSL_CFLAGS}" = xyes; then
3896       echo "        SSL flags are: default"
3897     else
3898       echo "        SSL flags are: $SSL_CFLAGS"
3899     fi
3900     echo "        SSL libs are: $SSL_LIBS"
3901   else
3902     echo "        ERROR: No SSL development package is installed, but it's enabled." >&3
3903   fi
3906 if test x${build_ssh} = xyes; then
3907   if test x"${has_ssh}" = xyes; then
3908     if test x"${SSH_CFLAGS}" = xyes; then
3909       echo "        SSH flags are: default"
3910     else
3911       echo "        SSH flags are: $SSH_CFLAGS"
3912     fi
3913     echo "        SSH libs are: $SSH_LIBS"
3914   else
3915     echo "        ERROR: No SSH development package is installed, but it's enabled." >&3
3916   fi
3919 if test x"${build_all_as3}" = x"yes"; then
3920   echo "        Building the entire ActionScript class libary"
3921 else
3922   echo "        Only building these ActionScript classes into the library:"
3923   echo "     ${classlist}"
3926 if test x"$testsuite" = x"yes"; then
3927   if test x"$NETCAT" != x; then
3928     echo "        You have netcat installed, which is only used for testing"
3929   else
3930     echo "        Install netcat for networking test support"
3931   fi
3932   if test x"$WGET" != x; then
3933     echo "        You have wget installed, which is only used for testing"
3934   else
3935     echo "        Install wget for networking test support"
3936   fi
3939 if test x$cross_compiling = xyes; then
3940    if test x"${android_ndk}" != xno; then
3941       AC_MSG_NOTICE([This build is setup for cross compiling for Android])
3942    else
3943       AC_MSG_NOTICE([This build is setup for cross compiling])
3944    fi
3947 echo "--------"
3949 if test x"${cygnal}" = x"yes"; then
3950   echo "        Building Cygnal media server enabled (default). Use --disable-cygnal to disable."
3951 else
3952   echo "        Building Cygnal media server disabled."
3955 if test x"${with-top_level}" != x; then
3956   echo "        Top level for cross compiling support files is: $with_top_level"
3959 if test x"${build_gtk}" = xyes -a x"${pixelformat}" = xrgb565; then
3960   echo "        WARNING: Pixel format RGB565 selected in combination with the" >&4
3961   echo "                 GTK GUI. Only a hacked GTK will work (e.g. on the OLPC)." >&4
3964 if test x"${extensions_list}" != x; then
3965   echo "        Building extensions: ${extensions_list}"
3968 if test x"${security_list}" != x; then
3969   echo "        Enabling security features: ${security_list}"
3972 if test x"${hwaccel_list}" != xnone; then
3973   echo "        Enabling hardware acceleration features: ${hwaccel_list}"
3976 if test x"${statistics_list}" != x; then
3977   echo "        Enabling statistics collecting for: ${statistics_list}"
3980 if test x"${SUPPORTED_GUIS}" = x; then
3981   AC_MSG_ERROR(no supported GUIs found);
3984 echo "        GUI toolkits supported: ${SUPPORTED_GUIS}"
3985 echo "        Renderers supported: ${renderer_list}"
3986 echo "        Hardware Acceleration: ${hwaccel_list}"
3987 echo "        Media handlers: ${media_list}"
3988 echo "        Using ${add_sound} for sound handling"
3989 echo "        Using $with_shm mode for shared memory"
3991 if test x"$docbook" = x"yes"; then
3992   echo '        DocBook document processing enabled (for "make html" and "make pdf")'
3993   if test x"$docbook_styles" != x; then
3994     echo "        Docbook styles sheets in $docbook_styles"
3995   fi
3996 else
3997   echo "        DocBook document processing disabled (default)"
4000 dnl The Framebuffer GUI has several other settings. As it doesn't have X11,
4001 dnl we have to handle input devices ourselves.
4002 if test x"${build_fb}" = xyes; then
4003 echo "        Using ${input_events} for Input"
4004   if test x"${fakefb}" != x; then
4005     echo "        Using shared memory as a fake framebuffer"
4006   fi
4007   if test x"${offscreen}" = xyes; then
4008     echo "        Using offscreen rendering"
4009   fi
4010   if test x"${doublebuf}" = xyes; then
4011     echo "        Using double buffering when rendering"
4012   fi
4015 if test -s $cwarn; then
4016   echo ""
4017   cat $cwarn
4018   rm $cwarn
4019   echo ""
4020   echo "Gnash should still compile even with these warnings."
4021   echo "If it doesn't, report the warnings as a bug."
4022 else
4023   rm $cwarn
4026 if test -s $crec; then
4027   echo ""
4028   cat $crec
4029   rm $crec
4030   echo ""
4031   echo "Gnash should still compile, but you'll miss important support"
4032 else
4033   rm $crec
4036 dnl If anything critical is missing, don't bother to continue
4037 if test -s $cerr; then
4038   echo ""
4039   cat $cerr >&2
4040   rm $cerr
4041   AC_MSG_ERROR([Please install required packages])
4042 else
4043   rm $cerr
4046 rmdir $tmp
4048 if test x"$fork" = x"no"; then
4049   AC_MSG_ERROR([Currently only forking the standalone player works!])
4051 echo ""
4053 # Local Variables:
4054 # c-basic-offset: 2
4055 # tab-width: 2
4056 # indent-tabs-mode: nil
4057 # End: