Remove unused HAVE_SDL conditional
[gnash.git] / configure.ac
blob8a3b65a9056a4b4d55a7c0b1ca3764283ddd93f2
1 dnl  
2 dnl  Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 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.9dev)
20 AC_CONFIG_SRCDIR([libcore/as_object.h])
21 AC_CONFIG_HEADERS([gnashconfig.h])
23 dnl AC_CONFIG_SUBDIRS(libltdl)
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         build_kde4=yes
640         build_sdl=yes
641         ;;
642       *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: gtk|kde3|kde4|fltk|sdl|riscos|aqua|fb|qtopia3|qtopia4|dump|aos4|haiku)])
643          ;;
644       esac
645     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
646     if test "x$val" = "x$enableval"; then
647       break;
648     fi
649   done],
650   [ dnl Run the following code if no --enable-gui is given
651   build_fb=auto
652   if test x"${openbsd_os}" = x"openbsd"; then
653     build_kde3=yes;
654     build_gtk=yes;
655   else if test x"${haiku}" = xyes; then
656     build_haiku=yes;
657   else
658     build_kde4=auto
659     build_gtk=yes
660     build_dump=auto
661   fi
662   fi
663   ]
666 if test x"${build_haiku}" = xyes; then
667   if test x"$haiku" != xyes; then
668     echo "        ERROR: Can not build Haiku gui outside of Haiku
669 operating system." >&3
670   fi
673 dnl We can use Xephyr or fbe to create a fake framebuffer instead of real
674 dnl video memory. This lets us test on a desktop machine.
675 AC_ARG_WITH(fakefb,
676 AC_HELP_STRING([--with-fakefb],
677  [specify a file to be mapped instead of a real framebuffer]),
678  with_fakefb=${withval})
680 fakefb=
681 if test x"${with_fakefb}" = xyes; then
682   dnl This is the default file name fbe uses.
683   fakefb=/tmp/fbe_buffer
684 else
685   if test x"${with_fakefb}" != x; then
686     fakefb=${with_fakefb}
687   fi
689 FAKEFB=${fakefb}
690 AC_SUBST(FAKEFB)
692 if test x"${fakefb}" != x; then
693     AC_DEFINE(ENABLE_FAKE_FRAMEBUFFER, [1], [Enable using a file instead of a real framebuffer])
697 dnl --------------------------------------------------------
698 dnl  Sound handler selection
699 dnl --------------------------------------------------------
700 add_sound=
701 build_sound_none=no
702 build_sound_sdl=no
703 build_sound_ahi=no
704 build_sound_mkit=no
705 AC_ARG_ENABLE(sound,
706   AC_HELP_STRING([--enable-sound=[[sdl|ahi|mkit]]], [Use the specified sound handler (default=sdl)]),
707      [case "${enableval}" in
708       sdl|SDL|Sdl)
709         build_sound_sdl=yes
710         add_sound="sdl"
711         ;;
712       none|NONE|None)
713         build_sound_none=yes
714         add_sound="none"
715         ;;
716       ahi|AHI|Ahi)
717         build_sound_ahi=yes
718         add_sound="ahi"
719         ;;
720       mkit|MKIT|Mkit)
721         build_sound_mkit=yes
722         add_sound="mkit"
723         ;;
724      esac],
725   [if test x"${haiku}" = xyes; then
726      build_sound_mkit=yes
727      add_sound="mkit"
728    else
729      if test x${build_sound_none} = xno; then
730        build_sound_sdl=yes
731        add_sound=sdl
732      fi
733    fi]
736 dnl --------------------------------------------------------
737 dnl  Media handler selection
738 dnl --------------------------------------------------------
739 build_media_gst=no
740 build_media_ffmpeg=auto
741 build_media_none=no
742 AC_ARG_ENABLE(media,
743   AC_HELP_STRING([--enable-media=handler],
744     [Enable media handling support using the specified handler: gst, ffmpeg or none (no sound) [[gst]] ]),
745   
746     if test -n ${enableval}; then
747       enableval=`echo ${enableval} | tr '\054' ' ' `
748     fi
749     dnl When --enable-media is given, all media defaults to off
750     dnl except the explicitly enabled ones
751     build_media_ffmpeg=no
752     build_media_gst=no
753     while test -n "${enableval}"; do
754       val=`echo ${enableval} | cut -d ' ' -f 1`
755       [case "${val}" in
756         GST|gst)
757           build_media_gst=yes
758           media_list="${media_list}gst "
759           ;;
760         FFMPEG|ffmpeg)
761           build_media_ffmpeg=yes
762           media_list="${media_list}ffmpeg "
763           ;;
764         no|NO|none)
765           build_media_none=yes
766           media_list="none"
767           ;;
768         *)
769           AC_MSG_ERROR([bad value ${enableval} for --enable-media option])
770           ;;
771      
772       esac]
773       enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
774       if test "x$val" = "x$enableval"; then
775         break;
776       fi
777     done,
778     [if test x"${build_haiku}" = xyes; then
779         build_media_ffmpeg=yes
780         build_media_haiku=yes
781         media_list="ffmpeg haiku"
782      else
783         build_media_gst=yes
784         media_list="gst"
785     fi]
788 dnl If no render is selected, and media handling isn't disabled, them enable gst
789 if test x${build_media_none} = xno -a x${build_media_gst} = xno -a x${build_media_ffmpeg} = xno; then
790   build_media_gst=yes
793 if test x"$build_media_ffmpeg" != x"no"; then # yes or auto
794   GNASH_PATH_FFMPEG
795   if test x"${build_media_ffmpeg}" = xauto; then
796     dnl TODO: have GNASH_PATH_FFMPEG set ${has_ffmpeg}
797     if test x"$FFMPEG_LIBS" != x; then
798       build_media_ffmpeg=yes
799       media_list="${media_list} ffmpeg"
800     else
801       build_ogl=no
802     fi
803   fi
806 MEDIA_CONFIG="${media_list}"
807 AC_SUBST(MEDIA_CONFIG)
810 dnl -------------------------------
811 dnl Renderer Selection
812 dnl -------------------------------
813 input_events=
814 dnl By default, we want to to build all renderers
815 build_ovg=no
816 build_gles=no
817 build_ogl=auto
818 build_agg=yes
819 build_cairo=yes
820 renderer_list="AGG Cairo"
821 nrender=3
822 AC_ARG_ENABLE(renderer,
823   AC_HELP_STRING([--enable-renderer=], [Enable support for the specified renderers (ogl|gles|cairo|agg|all, default=all)]),
824   if test -n ${enableval}; then
825     if test "x${enableval}" != "xno" -o "x${enableval}" != "xnone" ; then
826       renderer_list="none"
827       enableval=`echo ${enableval} | tr '\054' ' ' `
828     else
829       renderer_list=""
830       enableval=""
831     fi
832   fi
833   renderer_list=""
834   nrender=0
835   build_ovg=no
836   build_ogl=no
837   build_gles=no
838   build_agg=no
839   build_cairo=no
840   while test -n "${enableval}" ; do
841     val=`echo ${enableval} | cut -d ' ' -f 1`
842     [case "${val}" in
843       no*|NO*)
844         renderer_list="none"
845         build_ovg=no
846         build_ogl=no
847         build_gles=no
848         build_agg=no
849         build_cairo=no
850         nrender=1
851         ;;
852       all|ALL)
853         renderer_list="OpenGL, Cairo, AGG"
854         build_ogl=yes
855         build_agg=yes
856         build_cairo=yes
857         build_ovg=yes
858         nrender=4
859         ;;
860       ogl|OGL|OpenGL|opengl)
861         renderer_list="${renderer_list} OpenGL"
862         build_gles=no
863         build_ogl=yes
864         nrender=$((nrender+1))
865         ;;
866       gles|GLES|GL-ES|gl-es)
867         renderer_list="${renderer_list} OpenGL-ES"
868         build_gles=yes
869         build_ogl=no
870         nrender=$((nrender+1))
871         ;;
872       ovg|OVG|OpenVG|openvg)
873         renderer_list="${renderer_list} OpenVG"
874         build_ogv=yes
875         nrender=$((nrender+1))
876         ;;
877       agg|AGG)
878         renderer_list="${renderer_list} AGG"
879         build_agg=yes
880         nrender=$((nrender+1))
881         ;;
882       cairo|CAIRO|Cairo*)
883         renderer_list="${renderer_list} Cairo"
884         build_cairo=yes
885         nrender=$((nrender+1))
886         ;;
887       *) AC_MSG_ERROR([invalid renderer specified: ${enableval} given (accept:  (ogl|cairo|agg|all)])
888         ;;
889       esac]
890     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
891     if test "x$val" = "x$enableval"; then
892       break;
893     fi
894   done
896 dnl 16 bit: RGB555, RGB565
897 dnl 24 bit: RGB24, BGR24
898 dnl 32 bit: RGBA32, BGRA32
899 pixelformat=all
900 AC_ARG_WITH(pixelformat,
901   AC_HELP_STRING([--with-pixelformat=], [Use the specified pixel format for AGG (default=all)]),
902   [if test -n ${withval}; then
903     pixelformat="${withval}"
904     withval=`echo ${withval} | tr '\054' ' ' `
905   fi
906   while test -n "${withval}" ; do
907     val=`echo ${withval} | cut -d ' ' -f 1`
908     case "${val}" in
909       all)
910         # allow special value "all" set by user (handled below)
911         ;; 
912       argb32|ARGB32)
913         AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32])
914         ;;
915       abgr32|ABGR32)
916         AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32])
917         ;;
918       bgra32|BGRA32)
919         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
920         ;;
921       bgr24|BGR24)
922         AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24])
923         ;;
924       rgba32|RGBA32)
925         AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32])
926         ;;
927       rgb24|RGB24)
928         AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24])
929         ;;
930       rgb555|RGB555)
931         AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555])
932         ;;
933       rgb565|RGB565)
934         AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565])
935         ;;
936       *) AC_MSG_ERROR([invalid pixel format ${withval} given (accept: all|RGB555|RGB565|RGB24|BGR24|BGRA32|RGBA32|ARGB32|ABGR32)])
937          ;;
938       esac
939     withval=`echo ${withval} | cut -d ' ' -f 2-6`
940     if test "x$val" = "x$withval"; then
941       break;
942     fi
943   done],
944   [if test x$build_haiku = xyes -a x$build_sdl != xyes; then
945         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
946         pixelformat=BGRA32
947    fi]
950 if test x$pixelformat = xall; then
951   if test x$build_agg = xyes; then
952     ### The fact that we're building GTK doesn't mean we're not also
953     ### building KDE or SDL, each needing its own pixel format !
954     #if test x$build_gtk = xyes; then
955     #  AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
956     #  pixelformat="RGB24"
957     #else
958       AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555 pixel format])
959       AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565 pixel format])
960       AC_DEFINE(PIXELFORMAT_RGB24,  [1], [RGB24 pixel format])
961       AC_DEFINE(PIXELFORMAT_BGR24,  [1], [BGR24 pixel format])
962       AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32 pixel format])
963       AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32 pixel format])
964       AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32 pixel format])
965       AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32 pixel format])
966     #fi
967   fi
970 if test x"${build_ogl}" != xno; then # yes or auto
971   GNASH_PATH_OPENGL
972   if test x"${build_ogl}" = xauto; then
973     if test xyes = x"${has_opengl}"; then
974       build_ogl=yes
975       renderer_list="${renderer_list} OpenGL"
976     else
977       build_ogl=no
978     fi
979   fi
982 AM_CONDITIONAL(BUILD_OVG_RENDERER, [ test x$build_ovg = xyes ])
983 AM_CONDITIONAL(BUILD_GLES_RENDERER, [ test x$build_gles = xyes ])
984 AM_CONDITIONAL(BUILD_OGL_RENDERER, [ test x$build_ogl = xyes])
985 AM_CONDITIONAL(BUILD_AGG_RENDERER, [ test x$build_agg = xyes ])
986 AM_CONDITIONAL(BUILD_CAIRO_RENDERER, [ test x$build_cairo = xyes ])
988 if test x"${build_ogl}" = xyes; then
989    AC_DEFINE([RENDERER_OPENGL], [], [Use OpenGL renderer])
992 if test x"$build_agg" = xyes; then
993   AC_DEFINE([RENDERER_AGG], [], [Use AntiGrain renderer])
996 if test x"$build_cairo" = xyes; then
997   GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
998   AC_DEFINE([RENDERER_CAIRO], [], [Use cairo renderer])
1001 if test x"${build_agg}" = xyes; then
1002    GNASH_PATH_AGG
1005 dnl VA API is used by default for all H.264 videos. HW requirements:
1006 dnl     * AMD GPUs with UVD2 and xvba-video VA driver
1007 dnl     * NVIDIA GPUs with vdpau-video VA driver
1008 dnl     * All HW with a VA driver supporting the VA/GLX extensions or
1009 dnl     vaPutSurface(Pixmap,...). This may include the Intel
1010 dnl     Moorestown platform and future G45 VA driver.
1011 dnl NOTE: it is possible to use Gnash/VAAPI on platforms with an Intel
1012 dnl GMA500 but you currently will have to build the AGG renderer
1013 dnl instead of the OGL (OpenGL) one. 
1015 build_vaapi=yes
1016 hwaccel_list="VAAPI"
1017 nhwaccel=1
1018 AC_ARG_ENABLE(hwaccel,
1019   AC_HELP_STRING([--enable-hwaccel], [Specify which accleration to support to enable (none,vaapi,omap)]),
1020   if test -z ${enableval}; then
1021       hwaccel_list="none"
1022       nhwaccel=0
1023       enableval=""
1024   fi
1025   while test -n "${enableval}" ; do
1026     val=`echo ${enableval} | cut -d ' ' -f 1`
1027     [case "${val}" in
1028       no*|NO*)
1029         hwaccel_list="none"
1030         build_vaapi=no
1031         build_omap=no
1032         nhwaccel=0
1033         ;;
1034       va*|VA*)
1035         hwaccel_list="${hwaccel_list} vaapi"
1036         build_vaapi=yes
1037         nhwaccel=$((nhwaccel+1))
1038         ;;
1039       all|ALL)
1040         hwaccel_list="VAAPI OMAP"
1041         nhwaccel=2
1042         build_omap=yes
1043         build_vaapi=yes
1044         ;;
1045       omap*|OMAP*)
1046         hwaccel_list="${hwaccel_list} omap"
1047         build_omap=yes
1048         nhwaccel=$((nhwaccel+1))
1049         ;;
1050       *) AC_MSG_ERROR([invalid hwaccel feature specified: ${enableval} given (accept: none,vaapi,omap)])
1051         ;;
1052       esac]
1053     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1054     if test "x$val" = "x$enableval"; then
1055       break;
1056     fi
1057   done
1060 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi}" = x"yes"; then
1061   use_libva=no
1062   use_libva_x11=no
1063   use_libva_glx=no
1064   dnl if the version of FFmpeg is recent enough, (r20957, 52.45.0), then
1065   dnl look for VAAPI support so we can use use the VAAPI enabled FFmpeg.
1066   if test x"${have_ffmpeg_vaapi}" = xyes; then
1067     use_libva=yes
1068     GNASH_PKG_FIND([libva],
1069       [va/va.h],
1070       [Video Acceleration API],
1071       vaInitialize
1072     )
1074     use_libva_x11=yes
1075     GNASH_PKG_FIND([libva_x11],
1076       [va/va_x11.h],
1077       [VA API (X11 display)],
1078       vaGetDisplay,
1079       [], [-lva-x11]
1080     )
1082     if test x$build_ogl = xyes; then
1083       use_libva_glx=yes
1084       GNASH_PKG_FIND([libva_glx],
1085         [va/va_glx.h],
1086         [VA API (GLX display)],
1087         vaGetDisplayGLX,
1088         [], [-lva-glx]
1089       )
1090     fi
1091   fi
1094 dnl libVA drivers. We declare conditional for both the option being
1095 dnl selected, as well as whether or not it's found. This we can
1096 dnl generate better error handling if it's not found.
1097 AM_CONDITIONAL(BUILD_OMAP, test x"${build_omap}" = xyes)
1098 AM_CONDITIONAL(USE_VAAPI, test x"${use_libva}" = xyes)
1100 dnl Only build the vaapi support if we have a version of FFmpeg that
1101 dnl supports it.
1102 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${found_libva_incl}" = xyes; then
1103   build_vaapi=yes
1104   hwaccel_list="VAAPI"
1105   nhwaccel=1
1106 else
1107   build_vaapi=no
1108   hwaccel_list=""
1109   nhwaccel=0
1112 dnl Until the hwaccel patches in FFmpeg wind up in the ffmpeg-plugin,
1113 dnl restrict using HW Accel to using FFmpeg directly.
1114 dnl test xyes = xyes -a ( x != xyes -o x != xyes )
1115 if test x"${build_vaapi}" = x"yes" -a x"${have_ffmpeg}" != x"yes"; then
1116   AC_MSG_ERROR(["Hardware acceleration currently not supported unless using FFmpeg."])
1119 AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = xyes)
1120 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
1121 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
1124 AC_PATH_PROG(PERL, perl)
1125 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
1127 AC_PATH_PROG(CSOUND, csound)
1128 AM_CONDITIONAL(HAVE_CSOUND, test x"$CSOUND" != x)
1130 AC_PATH_PROG(GIT, git)
1131 AC_SUBST(GIT)
1133 dnl -------------------------------------
1134 dnl LIRC
1135 dnl -------------------------------------
1136 AC_ARG_ENABLE(lirc, AC_HELP_STRING([--enable-lirc], [Disable support for Lirc]),
1137 [case "${enableval}" in
1138   yes) lirc=yes ;;
1139   no)  lirc=no ;;
1140   *)   AC_MSG_ERROR([bad value ${enableval} for enable-lirc option]) ;;
1141 esac], lirc=no)
1143 if test x"$lirc" = x"yes"; then
1144   AC_DEFINE([USE_LIRC], [], [LIRC daemon support])
1146 AM_CONDITIONAL(USE_LIRC, test x$lirc = xyes)
1148 dnl --------------------------------------------------------
1149 dnl Extension selection
1150 dnl --------------------------------------------------------
1151 ext_dejagnu=no
1152 ext_mysql=no
1153 ext_fileio=no
1154 ext_gtk=no
1155 ext_lirc=no
1156 ext_dbus=no
1157 ext_all=no
1158 ext_launcher=no
1159 extensions_list=
1160 nextensions=0
1161 AC_ARG_ENABLE(extensions,
1162   AC_HELP_STRING([--enable-extensions=], [Specify which extensions to build]),
1163   if test -n ${enableval}; then
1164     if test "x${enableval}" != "xno"; then
1165       extlist="${enableval}"
1166       enableval=`echo ${enableval} | tr '\054' ' ' `
1167     else
1168       extlist=""
1169       enableval=""
1170     fi
1171   fi
1172   nextensions=0
1173   while test -n "${enableval}" ; do
1174     val=`echo ${enableval} | cut -d ' ' -f 1`
1175     extensions_list="${extensions_list} ${val}"
1176     [case "${val}" in
1177       dejagnu|DEJAGNU|dj|DJ)
1178         AC_DEFINE(USE_DEJAGNU_EXT, [1], [Build the DejaGnu extension])
1179         AC_MSG_NOTICE([Adding DejaGnu extension])
1180         ext_dejagnu=yes
1181         nextensions=$((nextensions+1))
1182         ;;
1183       mysql|MYSQL|sql|SQL)
1184         AC_DEFINE(USE_MYSQL_EXT, [1], [Build the MySQL extension])
1185         AC_MSG_NOTICE([Adding MySql extension])
1186         ext_mysql=yes
1187         nextensions=$((nextensions+1))
1188         ;;
1189       fileio|FILEIO|io|IO)
1190         AC_DEFINE(USE_FILEIO_EXT, [1], [Build the FileIO extension])
1191         AC_MSG_NOTICE([Adding FileIO extension])
1192         ext_fileio=yes
1193         nextensions=$((nextensions+1))
1194         ;;
1195       gtk|GTK|gtk2|GTK2)
1196         AC_DEFINE(USE_GTK_EXT, [1], [Build the GTK extension])
1197         ext_gtk=yes
1198         nextensions=$((nextensions+1))
1199         ;;
1200       launcher|LAUNCHER)
1201         AC_DEFINE(USE_LAUNCHER_EXT, [1], [Build the Launcher extension])
1202         ext_launcher=yes
1203         nextensions=$((nextensions+1))
1204         ;;
1205       lirc|LIRC)
1206         AC_DEFINE(USE_LIRC_EXT, [1], [Build the LIRC extension])
1207         ext_lirc=yes
1208         nextensions=$((nextensions+1))
1209         ;;
1210       dbus|DBUS)
1211         AC_DEFINE(USE_DBUS_EXT, [1], [Build the DBUS extension])
1212         ext_dbus=yes
1213         nextensions=$((nextensions+1))
1214         ;;
1215       all|ALL)
1216         AC_DEFINE(USE_GTK_EXT, [1], [Build all the extensions])
1217         ext_dejagnu=yes
1218         ext_mysql=yes
1219         ext_fileio=yes
1220         ext_gtk=yes
1221         ext_lirc=yes
1222         ext_dbus=yes
1223         ext_launcher=yes
1224         ext_all=yes
1225         nextensions=9
1226         ;;
1227       *) AC_MSG_ERROR([invalid extension specified: ${enableval} given (accept: MYSQL|DEJAGNU|FILEIO|GTK|LIRC|DBUS|METOME|ALL)])
1228          ;;
1229       esac]
1230     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1231     if test "x$val" = "x$enableval"; then
1232       break;
1233     fi
1234   done
1235   EXTENSIONS_LIST="$extensions_list"
1236   AC_SUBST(EXTENSIONS_LIST)
1239 if test x$ext_dbus = xyes; then
1240   GNASH_PATH_DBUS
1243 if test x$ext_mysql = xyes; then
1244   GNASH_PATH_MYSQL
1247 AM_CONDITIONAL(BUILD_DEJAGNU_EXT, [ test x$ext_dejagnu = xyes ])
1248 AM_CONDITIONAL(BUILD_FILEIO_EXT, [ test x$ext_fileio = xyes ])
1249 AM_CONDITIONAL(BUILD_MYSQL_EXT, [ test x$ext_mysql = xyes ])
1250 AM_CONDITIONAL(BUILD_LAUNCHER_EXT, [ test x$ext_launcher = xyes ])
1251 AM_CONDITIONAL(BUILD_GTK_EXT, [ test x$ext_gtk = xyes ])
1252 AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes ])
1253 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
1254 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
1256 GNASH_PKG_CLASSFILE
1258 ltmajor=0
1259 AC_MSG_CHECKING([For the version of libtool])
1260 if test -d ${srcdir}/libltdl/libltdl; then
1261   ltver=2.x
1262 else
1263   ltver=1.x
1265 ltmajor=`echo $ltver | cut -d '.' -f 1`
1266 AC_MSG_RESULT([$ltver])
1267 if test $ltmajor -eq 1; then
1268   AC_LIBLTDL_CONVENIENCE
1269   AC_LIBTOOL_DLOPEN
1270   if test x"${windows}" = x"yes"; then
1271     dnl The following macro may be empty; the colon is necessary
1272     dnl in this case to avoid an empty if statement (which is a syntax error).
1273     AC_LIBTOOL_WIN32_DLL
1274     :
1275   fi
1276   AC_DISABLE_STATIC
1277 else
1278   LT_INIT([dlopen win32-dll disable-static])
1279   LTDL_INIT([convenience recursive])
1281 AC_LIB_LTDL
1283 DLOPEN="-dlopen"
1284 DLPREOPEN="-dlpreopen"
1285 AC_SUBST(DLOPEN)
1286 AC_SUBST(DLPREOPEN)
1288 dnl dnl Substitute INCLTDL and LIBLTDL in the Makefiles
1289 AC_SUBST(INCLTDL)
1290 AC_SUBST(LIBLTDL)
1292 AC_PROG_LIBTOOL
1293 AC_SUBST(LIBTOOL_DEPS)
1295 AM_CONDITIONAL(LIBLTDL2, [test $ltmajor -eq 2])
1296 AM_CONDITIONAL(LIBLTDL1, [test $ltmajor -eq 1])
1297 AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
1298 AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
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   Verify dependencies for requested GUIs are met, and
1668 dnl   disable build of the GUIS for which deps are NOT met
1669 dnl ------------------------------------------------------------
1671 dnl Look for scratchbox (used in GNASH_PATH_ALP)
1672 dnl FIXME: move it in macros/alp.m4 or at least after
1673 dnl        the build_alp conditional ?
1674 sbox=no
1675 if test x"${SBOX_REDIRECT_FROM_DIRS}" != x; then
1676   sbox=yes
1679 if test x$build_gtk = xyes -o $build_alp = xyes; then
1680    GNASH_PATH_GTK2
1681    GNASH_PATH_PANGO
1682    GNASH_PKG_FIND(atk, [atk/atk.h], [atk library], atk_focus_tracker_init, [1.0])
1683    if test x"${build_ogl}" = xyes; then
1684       GNASH_PATH_GLEXT
1685    fi
1686    if test x"${build_cairo}" = xyes; then
1687       GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1688    fi
1692 if test x"${build_kde4}" != xno -o x"${build_qtopia4}" != xno; then
1693  GNASH_PATH_QT4
1696 if test x"${build_kde4}" != xno; then
1697   GNASH_PATH_KDE4
1700 if test x"${build_kde4}" = xauto; then
1701   if test x"${has_qt4}" = xyes -a x"${has_kde4}" = xyes; then
1702      build_kde4=yes
1703   else
1704      build_kde4=no
1705   fi
1708 if test x"${build_kde3}" != xno -o x"${build_qtopia3}" != xno; then
1709  GNASH_PATH_QT3
1712 if test x"${build_kde3}" != xno; then
1713   GNASH_PATH_KDE3
1717 if test x"${build_kde3}" = xauto; then
1718   if test x"${has_qt3}" = xyes -a x"${has_kde3}" = xyes; then
1719      build_kde3=yes
1720   else
1721      build_kde3=no
1722   fi
1725 dnl Check possibility to build DUMP gui, if requested
1726 if test x"${build_dump}" != xno; then
1727   if test x"${build_agg}" = xyes; then
1728     build_dump=yes
1729   else
1730     if test x"${build_dump}" = xyes; then
1731       dnl SHOULD we just check at the end of file instead ?
1732       AC_MSG_ERROR(dump GUI cannot be built without AGG renderer);
1733     fi
1734     build_dump=no
1735   fi
1738 dnl Check possibility to build FB gui, if requested
1739 dnl FB dependencies are a linux system (linux/fb.h) 
1740 dnl and AGG renderer
1741 if test x"${build_fb}" != xno; then
1742   if test x"${linux}" = xyes; then
1743     if test x"${build_agg}" = xyes; then
1744       build_fb=yes
1745     else
1746       if test x"${build_fb}" = xyes; then
1747         dnl SHOULD we just check at the end of file instead ?
1748         AC_MSG_ERROR([fb GUI cannot be built without AGG renderer])
1749       fi
1750       AC_MSG_NOTICE([fb GUI won't be built (needs AGG renderer)])
1751       build_fb=no
1752     fi
1753   else
1754     if test x"${build_fb}" = xyes; then
1755       dnl SHOULD we just check at the end of file instead ?
1756       AC_MSG_ERROR(fb GUI cannot be built on non-linux platforms);
1757     fi
1758     AC_MSG_NOTICE([fb GUI won't be built (non-linux platform)])
1759     build_fb=no
1760   fi
1763 dnl TODO: add checks for all other GUIs
1765 dnl -------------------------------
1766 dnl Input Device selection
1767 dnl -------------------------------
1769 dnl Multiple input devices are supported. These can all work in
1770 dnl varying combinations, so several may be listed. These are only
1771 dnl required when using the Framebuffer, as without the X11 desktop,
1772 dnl Gnash has to handle all these internally. This can get
1773 dnl messy, as one might want to use a touchscreen with a normal mouse
1774 dnl or keyboard attached. 
1775 dnl By default, don't build any of these, as they are only for the Framebuffer
1776 dnl running without X11.
1777 if test x"${build_fb}" = xyes; then
1778 build_ps2mouse=yes
1779 build_ps2keyboard=no
1780 build_input_events=yes
1781 build_tslib=yes
1782 input_events="PS/2 Mouse, Input Devices, Touchscreen via Tslib"
1783 else
1784 build_ps2mouse=no
1785 build_ps2keyboard=no
1786 build_input_events=no
1787 build_tslib=no
1788 input_events=
1790 AC_ARG_ENABLE(input,
1791   AC_HELP_STRING([--enable-input=], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
1792   [if test -n ${enableval}; then
1793     enableval=`echo ${enableval} | tr '\054' ' ' `
1794   fi
1795   while test -n "${enableval}" ; do
1796     val=`echo ${enableval} | cut -d ' ' -f 1`
1797     case "${val}" in
1798       ps2m*|PS2m*|m*|M*)        dnl a PS/2 style mouse
1799         build_ps2mouse=yes
1800         input_events="${input_events}, PS/2 Mouse"
1801         ;;
1802       ps2k*|PS2K*|k*|K*)        dnl a PS/2 style keyboard
1803         build_ps2keyboard=yes
1804         input_events="${input_events}, PS/2 Keyboard"
1805         ;;
1806       i*|I*|ev*|Ev*)    dnl use the new Input Event, which supports both
1807         input_events="${input_events}, Input Event Device"
1808         build_input_events=yes
1809         ;;
1810       t*|T*) dnl use a touchscreen with tslib, which works like a mouse
1811         build_tslib=yes
1812         input_events="${input_events}, Touchscreen"
1813         ;;
1814       *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
1815          ;;
1816       esac
1817     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1818     if test "x$val" = "x$enableval"; then
1819       break;
1820     fi
1821   done],
1824 if test x"${build_tslib}" = xyes; then
1825   AC_DEFINE(USE_TSLIB, [1], [Use a tslib supported touchscreen])
1826   GNASH_PKG_FIND(ts, [tslib.h], [Touchscreen library], ts_config)
1828 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} != xno])
1830 if test x"${build_ps2mouse}" = xyes; then
1831   AC_DEFINE(USE_MOUSE_PS2, [1], [Add support for a directly using a PS/2 Mouse])
1833 AM_CONDITIONAL(ENABLE_MOUSE, [test x"${build_ps2mouse}" = xyes])
1835 if test x"${build_ps2keyboard}" = xyes; then
1836   AC_DEFINE(USE_KEYBOARD_PS2, [1], [Add support for directly using a PS/2 Keyboard])
1838 if test x"${build_input_events}" = xyes; then
1839   AC_DEFINE(USE_INPUT_EVENTS, [1], [Add support for a directly using Linux Input Event Devices])
1841 AM_CONDITIONAL(ENABLE_INPUT_EVENTS, [test x"${build_input_events}" = xyes])
1842 dnl this is enabled if we have any input devices at all
1843 AM_CONDITIONAL(ENABLE_INPUT_DEVICES, [test x"${input_events}" != x])
1846 dnl -----------------------------------------------------------
1847 dnl Try to ignore stupid dependencies
1848 dnl -----------------------------------------------------------
1850 AC_MSG_CHECKING(linker --as-needed support)
1851 gcc_cv_ld_as_needed=no
1852 # Check if linker supports --as-needed and --no-as-needed options
1853 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1854   gcc_cv_ld_as_needed=yes
1856 if test x"$gcc_cv_ld_as_needed" = xyes; then
1857   LDFLAGS="$LDFLAGS -Wl,--as-needed"
1859 AC_MSG_RESULT($gcc_cv_ld_as_needed)
1861 dnl AC_MSG_CHECKING(linker --no-undefined support)
1862 dnl gcc_cv_ld_undef_needed=no
1863 dnl # Check if linker supports --no-undefined
1864 dnl if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1865 dnl     gcc_cv_ld_undef_needed=yes
1866 dnl fi
1867 dnl if test x"$gcc_cv_ld_undef_needed" = xyes; then
1868 dnl     LDFLAGS=" ${LDFLAGS} -Wl,--no-undefined"
1869 dnl fi
1870 dnl AC_MSG_RESULT($gcc_cv_ld_undef_needed)
1872 AC_DEFINE(USE_GIF, [1], [Use the GIF library])
1873 AC_DEFINE(USE_PNG, [1], [Use the PNG library])
1874 AM_CONDITIONAL(USE_GIF, true)
1875 AM_CONDITIONAL(USE_PNG, true)
1877 dnl GNASH_PKG_FIND(dmalloc, [dmalloc.h], [dmalloc], mallinfo)
1878 AM_CONDITIONAL(HAVE_DMALLOC, [ test x$has_dmalloc = xyes ])
1880 AC_PATH_TOOL([AUTOTRACE], [autotrace])
1881 AC_HEADER_DIRENT
1883 dnl -----------------------------------------------------------------
1884 dnl PLUGIN RELATED STUFF
1885 dnl -----------------------------------------------------------------
1887 dnl Zip is used insted of tar when building an xpi package
1888 dnl for Mozilla/Firefox.
1889 AC_PATH_PROG(ZIP, zip, ,[${pathlist}])
1891 dnl !! This has been moved here to make --enable-npapi work
1892 dnl !! All of plugin-related macro calls could be moved into
1893 dnl !! a specialized macros/plugin.m4
1895 dnl ----------------------------------------------------
1896 dnl Add KPARTS support, if specified or KDE gui is built
1897 dnl ----------------------------------------------------
1899 AC_ARG_ENABLE(kparts3,
1900   AC_HELP_STRING([--disable-kparts3], [Disable support for Konqueror 3.x plugin (default: enabled if kde3 gui is)]),
1901 [case "${enableval}" in
1902   yes) build_kparts3=yes ;;
1903   no)  build_kparts3=no ;;
1904   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
1905 esac],build_kparts3=$build_kde3)
1907 dnl --------------------------------------------------------
1908 dnl Add KPARTS 4.x support, if specified or KDE gui is built
1909 dnl --------------------------------------------------------
1911 AC_ARG_ENABLE(kparts4,
1912   AC_HELP_STRING([--disable-kparts4], [Disble support for Konqueror 4.x plugin (default: enabled if kde4 gui is)]),
1913 [case "${enableval}" in
1914   yes) build_kparts4=yes ;;
1915   no)  build_kparts4=no ;;
1916   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
1917 esac],build_kparts4=$build_kde4)
1919 dnl -----------------------------------------------------------
1920 dnl Add NPAPI support, if specified or GTK or KDE4 gui is built
1921 dnl -----------------------------------------------------------
1923 AC_ARG_ENABLE(npapi,
1924   AC_HELP_STRING([--disable-npapi], [Disable NPAPI plugin build (default: enabled if gtk or kde4 gui is)]),
1925   [case "${enableval}" in
1926     yes) npapi=yes ;;
1927     no)  npapi=no ;;
1928     *)   AC_MSG_ERROR([bad value ${enableval} for disable-npapi option]) ;;
1929   esac],
1930   if test x$build_gtk = xyes -o x$build_kde4 = xyes; then
1931     npapi=yes
1932   fi
1935 dnl -----------------------------------------------------------------
1936 dnl Enable us to disable building all browser plugins in one command.
1937 dnl -----------------------------------------------------------------
1939 AC_ARG_ENABLE(plugins,
1940   AC_HELP_STRING([--disable-plugins], [Disable all browser plugins from building (default=no)]),
1941   [case "${enableval}" in
1942     yes) plugins=yes ;;
1943     no)  plugins=no ;;
1944     *)   AC_MSG_ERROR([bad value ${enableval} for disable-plugins option]) ;;
1945   esac],
1946   plugins=yes
1948 if test x$plugins = xno; then
1949   npapi=no
1950   build_kparts3=no
1951   build_kparts4=no
1955 dnl Set the general plugins install policy here
1957 AC_ARG_WITH(plugins-install,
1958   AC_HELP_STRING([--with-plugins-install=system|user|prefix], [Policy for plugins install. Default: user.]),
1959         [case "${withval}" in
1960           user) PLUGINS_INSTALL_POLICY=user ;;
1961           system) PLUGINS_INSTALL_POLICY=system ;;
1962           prefix) PLUGINS_INSTALL_POLICY=prefix ;;
1963           *)  AC_MSG_ERROR([bad value ${withval} for --with-plugins-install]) ;;
1964          esac 
1965         ], PLUGINS_INSTALL_POLICY=user) 
1968 GNASH_PATH_FIREFOX
1970 dnl -----------------------------------------------------------------
1971 dnl END OF PLUGIN RELATED STUFF
1972 dnl -----------------------------------------------------------------
1974 dnl IRIX-hack.
1975 case $host in
1976   *-*-irix*)
1977   dnl ABI-check
1978   save_LIBS=$LIBS
1979   dir="/usr/lib /usr/lib32 /usr/lib/lib64"
1980   for i in $dir; do
1981     LIBS=-L$i
1982     AC_SEARCH_LIBS(XDisableAccessControl, X11, [
1983       xpathed=$i
1984       break
1985     ])
1986     unset ac_cv_search_XDisableAccessControl
1987   done
1988   ac_x_libraries=$xpathed
1989   x_libraries=$xpathed
1990   LIBS=$save_LIBS
1991   ;;
1992 esac
1994 AM_CONDITIONAL(LIRC, [test x$lirc_ext = xyes])
1996 AC_CHECK_HEADERS(endian.h machine/endian.h)
1997 AC_CHECK_HEADERS(malloc.h malloc/malloc.h)
1998 AC_CHECK_HEADERS(getopt.h)
1999 AC_CHECK_HEADERS(libgen.h)
2000 AC_CHECK_HEADERS(pwd.h)
2001 AC_CHECK_HEADERS(sys/utsname.h)
2002 AC_CHECK_HEADERS(signal.h)
2003 AC_CHECK_HEADERS(unistd.h)
2004 AC_CHECK_HEADERS(sys/time.h)
2005 AC_CHECK_HEADERS(ieeefp.h)
2006 dnl libcurl3-dev on Ubuntu has a dependency on lber, and Gnash won't link
2007 dnl on most machines without it. While it isn't diretly used by Gnash at all,
2008 dnl it's to work around an Ubuntu packaging bug.
2009 AC_CHECK_LIB(lber, ber_free)
2010 AC_CHECK_LIB(bz2, BZ2_bzopen)
2011 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
2013 dnl X11 is needed for fltk (at least),
2014 dnl and probably for many other guis too ...
2015 dnl if ! test x$build_fb = xyes; then # <--- this is wrong as build_x is non-exclusive
2016 dnl AC_PATH_XTRA
2017 dnl AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
2018 dnl AC_CHECK_LIB(gmp, _gmp_get_memory_functions)
2019   GNASH_PATH_X11
2020   AC_CHECK_LIB(Xi, XInput_find_display)
2021   AC_CHECK_LIB(X11, XDisableAccessControl)
2022 dnl fi
2023 AM_CONDITIONAL(HAVE_X11, [test x$x11 = xyes])
2024 AC_CHECK_LIB(rt, shm_unlink)
2025 AC_CHECK_FUNCS(shm_open shm_unlink)
2026 AC_TRY_COMPILE([#include <strings.h>], [
2027   char *p1 = (char *)"Hello";
2028   char *p2 = (char *)"World";
2029   strcasecmp(p1, p2); ],
2030   AC_DEFINE(HAVE_STRINGCASECMP, [1], [Has strcasecmp])
2033 dnl if test x$cross_compiling = xno; then
2034 AC_LANG_PUSH(C++)
2035 AC_MSG_CHECKING([to see if float formatting is broken])
2036 AC_RUN_IFELSE([
2037   AC_LANG_PROGRAM([#include <cmath>
2038     void testFloat(double d, double& s)
2039     {
2040         d /= 1000.0;
2041         s = std::fmod(d, 86400.0);
2042     }], [
2043      double d = 3.0935415006117e+23;
2044      double s;
2045      testFloat(d, s);
2046      if (static_cast<int>(s) != 61440) {
2047          return 1;
2048      }])],                         dnl end of LANG_PROGRAM
2049      broken_float=no,              dnl returns 0, works
2050      broken_float=yes,             dnl returns 1, broken
2051      broken_float=no               dnl cross compiling
2052 )                                  dnl end of RUN_IFELSE
2053 AC_LANG_POP(C++)
2054 dnl fi
2056 if test x${broken_float} = xyes; then
2057   AC_MSG_RESULT([yes])
2058   AC_DEFINE(HAVE_BROKEN_FLOAT, [1], [Has broken float support])
2059 else
2060   AC_MSG_RESULT([no])
2062 AM_CONDITIONAL(BROKEN_FLOAT, [ test x$broken_float = xyes ])
2064 dnl See if ipc_perm structure has the ipc_perm.key field, and if so,
2065 dnl which variant of the name is used.
2066 ipc_key=no
2067 AC_TRY_COMPILE([
2068   #include <sys/ipc.h>
2069   #include <sys/shm.h>], [
2070  struct shmid_ds shmseg;      
2071  key_t x = shmseg.shm_perm.key;],
2072  ipc_key=yes
2073  AC_DEFINE(IPC_PERM_KEY, [key], [Has the key field in ipc_perm])
2076 if test x$ipc_key = xno; then
2077   AC_TRY_COMPILE([
2078     #include <sys/ipc.h>
2079     #include <sys/shm.h>], [
2080     struct shmid_ds shmseg;      
2081     key_t x = shmseg.shm_perm.__key;],
2082     AC_DEFINE(IPC_PERM_KEY, [__key], [Has the key field in ipc_perm])
2083     ipc_key=yes
2084   )
2087 dnl AC_CHECK_FUNCS(strcasecmp stricmp)
2088 dnl AC_CHECK_FUNCS(vsnprintf)
2090 AC_CACHE_CHECK([for finite], ac_cv_finite,
2091  [AC_TRY_COMPILE([
2092    #include <math.h>
2093    #ifdef HAVE_IEEEFP_H
2094    #include <ieeefp.h>
2095    #endif],
2096  [double x; int y; y = finite(x);],
2097  ac_cv_finite=yes,
2098  ac_cv_finite=no
2100 if test x"$ac_cv_finite" = x"yes"; then
2101   AC_SEARCH_LIBS(finite, m,
2102     [AC_DEFINE(HAVE_FINITE, [1], [Has finite])]
2103   )
2106 AC_LANG_PUSH(C++)
2107 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
2108  [AC_TRY_COMPILE([#include <cmath>],
2109  [using namespace std; double x; int y; y = isfinite(x);],
2110  ac_cv_isfinite=yes,
2111  ac_cv_isfinite=no
2113 AC_LANG_POP(C++)
2114 if test x"$ac_cv_isfinite" = x"yes"; then
2115   dnl Don't give up if isfinite is not found in -lm
2116   dnl isfinite is defined as a macro in C99.
2117   AC_SEARCH_LIBS(isfinite, m)
2118   AC_DEFINE(HAVE_ISFINITE, [1], [Has isfinite])
2121 AC_LANG_PUSH(C++)
2122 AC_CACHE_CHECK([whether $CXX implements __PRETTY_FUNCTION__], ac_cv_implements___PRETTY_FUNCTION__, [
2123   AC_TRY_LINK([#include <cstdio>
2124 ], 
2125     [ std::printf("%s", __PRETTY_FUNCTION__); ], 
2126     [ ac_cv_implements___PRETTY_FUNCTION__="yes" ],
2127     [ ac_cv_implements___PRETTY_FUNCTION__="no" ]
2128   )
2130 if test "x$ac_cv_implements___PRETTY_FUNCTION__" = "xyes" ; then
2131   AC_DEFINE(HAVE_PRETTY_FUNCTION, [1], [__PRETTY_FUNCTION__ is defined])
2134 AC_CACHE_CHECK([whether $CXX implements __FUNCTION__], ac_cv_implements___FUNCTION__, [
2135   AC_TRY_LINK([#include <cstdio>
2136 ], 
2137     [ std::printf("%s", __FUNCTION__); ], 
2138     [ ac_cv_implements___FUNCTION__="yes" ],
2139     [ ac_cv_implements___FUNCTION__="no" ]
2140   )
2142 if test "x$ac_cv_implements___FUNCTION__" = "xyes" ; then
2143   AC_DEFINE(HAVE_FUNCTION, [1], [__FUNCTION__ is defined])
2146 AC_CACHE_CHECK([whether $CXX implements __func__], ac_cv_implements___func__, [
2147   AC_TRY_LINK([#include <cstdio>
2148 ], 
2149     [ std::printf("%s", __func__); ], 
2150     [ ac_cv_implements___func__="yes" ],
2151     [ ac_cv_implements___func__="no" ]
2152   )
2154 if test "x$ac_cv_implements___func__" = "xyes" ; then
2155   AC_DEFINE(HAVE_func, [1], [__func__ is defined])
2157 AC_LANG_POP(C++)
2158 AC_REPLACE_FUNCS(getopt)
2160 dnl Date portability stuff, used in server/asobj/Date.cpp
2161 AC_CHECK_FUNCS(gettimeofday)
2162 AC_CHECK_FUNCS(ftime)
2163 AC_CHECK_FUNCS(tzset)
2164 AC_CHECK_FUNCS(localtime_r)
2166 AC_CACHE_CHECK([whether struct tm has tm_gmtoff], ac_cv_tm_gmtoff, [
2167         AC_TRY_LINK([
2168 /* ctime(1) says "The glibc version of struct tm has additional fields
2169  * defined  when _BSD_SOURCE was set before including <time.h>"
2170  * In practice, you don't need to define it yourself (tested on glibc-2.2.1 
2171  * and 2.3.6) but if you *do* define it yourself, it makes *all* functions
2172  * favour BSD-like behaviour over of GNU/POSIX, which seems dangerous.
2173  */
2174 // #define _BSD_SOURCE 1
2175 #include <time.h>
2176 ], 
2177                 [ struct tm tm; long l = tm.tm_gmtoff; ], 
2178                 [ ac_cv_tm_gmtoff="yes" ],
2179                 [ ac_cv_tm_gmtoff="no" ]
2180         )
2182 if test "x$ac_cv_tm_gmtoff" = "xyes" ; then
2183         AC_DEFINE(HAVE_TM_GMTOFF, [1], [struct tm has member tm_gmtoff])
2186 AC_CACHE_CHECK([whether timezone is a long], ac_cv_long_timezone, [
2187         AC_TRY_LINK([
2188 /* On Linux/glibc, tzset(3) says "extern long timezone;" (seconds West of GMT)
2189  * but on BSD char *timezone(int,int) is a function returning a string name.
2190  * The BSD function timegm() may be the equivalent, but this should
2191  * not be necessary because on BSD the code should use tm.tm_gmtoff instead
2192  * (use of long timezone is a fallback strategy for when tm_gmtoff exists not).
2193  */
2194 #include <stdio.h>
2195 #include <time.h>
2196 extern long timezone;
2197   ], 
2198     [ printf("%ld", timezone); ], 
2199     [ ac_cv_long_timezone="yes" ],
2200     [ ac_cv_long_timezone="no" ]
2201    )
2203 if test "x$ac_cv_long_timezone" = "xyes" ; then
2204   AC_DEFINE(HAVE_LONG_TIMEZONE, [1], [extern timezone is a long integer, not a function])
2207 AC_CHECK_FUNCS(sysconf)
2208 AC_CHECK_FUNCS(shmget shmat shmdt mmap)
2209 AC_CHECK_FUNCS(memmove)
2210 AC_CHECK_FUNCS(scandir)         dnl supported by BSD and Linux, but you never know...
2211 dnl AC_CHECK_FUNC(strndup, AC_DEFINE(HAVE_STRNDUP, 1, [Has strndup()] ))
2212 AC_CHECK_FUNC(clock_gettime, AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Has clock_gettime()] ))
2213 dnl AC_CHECK_FUNCS(strlcpy, AC_DEFINE(HAVE_STRLCPY_PROTO, [1],[Define if you have the strlcpy prototype]))
2214 dnl AC_CHECK_FUNCS(strlcat, AC_DEFINE(HAVE_STRLCAT_PROTO, [1],[Define if you have the strlcat prototype]))
2215 dnl Look for Win32 networking stuff
2216 AC_CHECK_HEADERS(winsock.h)
2217 AC_CHECK_HEADERS(winsock2.h)
2218 AC_CHECK_FUNCS(socket)
2219 AC_CHECK_FUNCS(CreateFileMappingA)
2221 dnl Shm::resize() uses this if it exists
2222 AC_CHECK_LIB(c, mremap)
2224 GNASH_PKG_FIND(nspr, [nspr.h], [Netscape Portable Runtime (NSPR)], PR_Init)
2226 AC_PATH_TOOL(WINDRES, [windres])
2227 AC_SUBST(WINDRES)
2229 GNASH_PKG_FIND(z, [zlib.h], [zlib compression library], compress)
2230 GNASH_PKG_FIND(jpeg, [jpeglib.h], [jpeg images], jpeg_mem_init)
2231 if test x"${openbsd_os}" = x"yes"; then
2232   GNASH_PKG_FIND(libpng, [png.h], [png images], png_info_init)
2233 else
2234   GNASH_PKG_FIND(png, [png.h], [png images], png_info_init)
2236 GNASH_PKG_FIND(gif, [gif_lib.h], [gif images], DGifOpen)
2237 if test x"${GIF_LIBS}" = x ; then
2238  GNASH_PKG_FIND(ungif, [gif_lib.h], [gif images], DGifOpen)
2239  GIF_LIBS=${UNGIF_LIBS}
2240  GIF_CFLAGS=${UNGIF_CFLAGS}
2242 if test x"$testsuite" = x"yes"; then
2243   GNASH_PKG_INCLUDES([dejagnu], [dejagnu.h])
2246 GNASH_PKG_FIND(speex, [speex.h], [speex audio codec], speex_decode_int)
2247 AM_CONDITIONAL(HAVE_SPEEX, [ test x$has_speex = xyes ])
2248 if test x$has_speex = xyes ; then
2249   AC_DEFINE([DECODING_SPEEX], [1], [Speex codec available])
2252 GNASH_PKG_FIND(speexdsp, [speex_resampler.h], [speex DSP utilities], speex_resampler_process_int)
2253 if test x$has_speexdsp = xyes ; then
2254   AC_DEFINE([RESAMPLING_SPEEX], [1], [Speex resampler available])
2257 dnl Find freetype and fontconfig
2258 GNASH_PATH_FREETYPE2
2259 GNASH_PKG_FIND(fontconfig, [fontconfig/fontconfig.h], [fontconfig library], FcFontMatch)
2261 if test x$cross_compiling = xno; then
2262   AC_PATH_MING
2265 if test x"$MING_VERSION_CODE" = x; then
2266  MING_VERSION_CODE=00000000
2269 AM_CONDITIONAL(ENABLE_MING,
2270         [ test x"$MAKESWF" != x -a $MING_VERSION_CODE -gt 00040000 ])
2272 AM_CONDITIONAL(MING_VERSION_0_4,
2273         [ test $MING_VERSION_CODE -ge 00040000  ])
2274 AM_CONDITIONAL(MAKESWF_SUPPORTS_PREBUILT_CLIPS,
2275         [ test $MING_VERSION_CODE -ge 00040002  ])
2276 AM_CONDITIONAL(MING_SUPPORTS_INIT_ACTIONS,
2277         [ test $MING_VERSION_CODE -ge 00040004  ])
2278 AM_CONDITIONAL(MING_SUPPORTS_REPLACE_TAG,
2279         [ test $MING_VERSION_CODE -ge 00040005 ])
2280 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_ADD_CHARACTER,
2281         [ test $MING_VERSION_CODE -ge 00040005 ])
2282 AM_CONDITIONAL(MING_SUPPORTS_STREAMING_SOUND,
2283         [ test $MING_VERSION_CODE -ge 00040006 ])
2284 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_SET_DEPTH,
2285         [ test $MING_VERSION_CODE -ge 00040006 ])
2286 AM_CONDITIONAL(MING_VERSION_0_4_3,
2287         [ test $MING_VERSION_CODE -ge 00040300 ])
2288 AM_CONDITIONAL(MING_VERSION_0_4_4,
2289         [ test $MING_VERSION_CODE -ge 00040400 ])
2291 if test x$cross_compiling = xno; then
2292     AC_ARG_WITH([swfdec_testsuite],
2293         AC_HELP_STRING([--with-swfdec-testsuite],
2294             [directory where swfdec testsuite (the 'test' dir) is]),
2295         if test x"${withval}" = xyes; then
2296             dir=`dirname $0`
2297             dir=`cd ${dir} && pwd`
2298             withval="${dir}/testsuite/swfdec/src/test"
2299         fi
2300         SWFDEC_TESTSUITE=${withval}
2301     )
2302     AC_SUBST(SWFDEC_TESTSUITE)
2304 AM_CONDITIONAL(ENABLE_SWFDEC_TESTSUITE, [ test x"$SWFDEC_TESTSUITE" != x ])
2306 if test x$cross_compiling = xno; then
2307   AC_ARG_ENABLE([http_testsuite],
2308       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2309           AC_HELP_STRING([--enable-http-testsuite=<baseurl>],
2310                   [Enable http based testsuite (default url is http://www.gnashdev.org/testcases)]),
2311               [case "${enableval}" in
2312              no) HTTP_TESTSUITE="" ;;
2313             yes) HTTP_TESTSUITE="http://www.gnashdev.org/testcases" ;;
2314               *) HTTP_TESTSUITE="${enableval}";;
2315            esac])
2316   AC_SUBST(HTTP_TESTSUITE)
2318 AM_CONDITIONAL(ENABLE_HTTP_TESTSUITE, [ test x"$HTTP_TESTSUITE" != x ])
2320 if test x$cross_compiling = xno; then
2321   AC_ARG_ENABLE([red5_testing],
2322       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2323           AC_HELP_STRING([--enable-red5-testing=<host>],
2324                   [Enable red5 based testing (default host is www.gnashdev.org)]),
2325               [case "${enableval}" in
2326              no) RED5_HOST="" ;;
2327             yes) RED5_HOST="www.gnashdev.org" ;;
2328               *) RED5_HOST="${enableval}";;
2329            esac])
2330   AC_SUBST(RED5_HOST)
2332 AM_CONDITIONAL(ENABLE_RED5_TESTING, [ test x"$RED5_HOST" != x ])
2334 if test x$cross_compiling = xno; then
2335   AC_ARG_ENABLE([rtmpy_testing],
2336       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2337           AC_HELP_STRING([--enable-rtmpy-testing=<host>],
2338                   [Enable rtmpy based testing (default host is www.gnashdev.org)]),
2339               [case "${enableval}" in
2340              no) RTMPY_HOST="" ;;
2341             yes) RTMPY_HOST="www.gnashdev.org" ;;
2342               *) RTMPY_HOST="${enableval}";;
2343            esac])
2344   AC_SUBST(RTMPY_HOST)
2346 AM_CONDITIONAL(ENABLE_RTMPY_TESTING, [ test x"$RTMPY_HOST" != x ])
2348 dnl The name might differ between systems.
2349 if test x"$testsuite" = x"yes"; then
2350 AC_PATH_PROGS(NETCAT, [nc netcat])
2351 AC_PATH_PROG(WGET, wget)
2353 AM_CONDITIONAL(HAS_NETCAT, [ test x"$NETCAT" != x ])
2354 AM_CONDITIONAL(HAS_WGET, [ test x"$WGET" != x ])
2357 dnl See if we can use the swfmill, mtasc, swfc and haxe based testsuites 
2359 if test x"$testsuite" = x"yes" -a x$cross_compiling = xno; then
2360   AC_PATH_PROG(AS3COMPILE, as3compile)
2361   AC_PATH_PROG(SWFC, swfc)
2362   AC_PATH_SWFMILL
2363   AC_PATH_MTASC
2364   AC_PATH_HAXE
2367 AM_CONDITIONAL(ENABLE_SWFMILL, [ test x"$SWFMILL" != x ])
2368 AM_CONDITIONAL(SWFMILL_AS3_SUPPORT,
2369         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2371 dnl SWFMILL versions older than 0.3 didn't get function2 flags order correctly
2372 AM_CONDITIONAL(SWFMILL_FUNCTION2_FLAGS_ORDER_CORRECT,
2373         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2375 AM_CONDITIONAL(ENABLE_AS3COMPILE, [ test x"$AS3COMPILE" != x ])
2376 AM_CONDITIONAL(ENABLE_MTASC, [ test x"$MTASC" != x ])
2377 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2378 AM_CONDITIONAL(ENABLE_SWFC, [ test x"$SWFC" != x ])
2379 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2381 AC_PATH_PROG(DOXYGEN, doxygen)
2382 AM_CONDITIONAL(ENABLE_DOXYGEN, [ test x"$DOXYGEN" != x ])
2384 dnl currently unused
2385 dnl GNASH_PKG_FIND(ogg, [ogg.h], [decode ogg streams], ogg_stream_init)
2387 if test x$build_sdl = xyes -o x$build_sound_sdl = xyes; then
2388   GNASH_PATH_SDL
2391 dnl Qtopia is a desktop environment for embedded devices.
2392 dnl GNASH_PATH_QTOPIA3
2393 dnl GNASH_PATH_QTOPIA4
2394 has_qtopia3=no
2395 has_qtopia4=no
2398 AM_CONDITIONAL(HAVE_QTOPIA3, [test x$has_qtopia3 = xyes])
2399 AM_CONDITIONAL(HAVE_QTOPIA4, [test x$has_qtopia4 = xyes])
2400 AM_CONDITIONAL(HAVE_KDE3,    [test x$has_kde3 = xyes])
2401 AM_CONDITIONAL(HAVE_KDE4,    [test x$has_kde4 = xyes])
2402 AM_CONDITIONAL(HAVE_QT3,     [test x$has_qt3 = xyes])
2403 AM_CONDITIONAL(HAVE_QT4,     [test x$has_qt4 = xyes])
2405 AM_CONDITIONAL(WITH_KDE4,    [test "$with_kde4" != "no"])
2406 AM_CONDITIONAL([QT_X11],     [test "$platform" = "X11"])
2407 AM_CONDITIONAL([QTOPIA],     [test "$platform" = "Qtopia"])
2408 AM_CONDITIONAL([QT_OSX],     [test "$platform" = "OSX"])
2409 AM_CONDITIONAL([QT_OS9],     [test "$platform" = "OS9"])
2410 AM_CONDITIONAL([QT_WIN32],   [test "$platform" = "Win32"])
2412 dnl Need GLIB for both GTK and GST
2413 if test x"${build_gtk}" = xyes -o x"${build_media_gst}" = xyes; then
2414   GNASH_PATH_GLIB
2417 AM_CONDITIONAL(HAVE_GLIB, [ test x"${has_glib}" = xyes ])
2419 if test x$npapi = xyes; then
2420   if ! test x$build_gtk = xyes -o x$build_kde4 = xyes; then
2421     AC_MSG_WARN(["Enabled NPAPI plugin, but it's not supported by the selected GUI"])
2422   fi
2425 if test x$windows = xyes -a x$npapi = xyes; then
2426   if test "x$NSPR_CFLAGS" = x -a "x$NSPR_LIBS" = x; then
2427     AC_MSG_ERROR(["On Win32, NPAPI plugin requires NSPR."])
2428   fi
2429   if test "x$WINDRES" = x; then
2430     AC_MSG_ERROR(["On Win32, NPAPI plugin requires windres."])
2431   fi
2434 dnl Need GLIB for NPAPI plugin
2435 if test x$npapi = xyes; then
2436   GNASH_PATH_GLIB
2439 dnl if kde isn't installed, even if it's specified, don't try to build
2440 dnl the KPARTS plugin, which is KDE based.
2441 if test x$has_kde3 = xno -a x$build_kparts3 = xyes; then
2442   build_kparts3=no
2443 dnl  build_kde3=no
2444   AC_MSG_WARN(["Disabling KPARTS 3.x plugin, no KDE development found"])
2447 if test x$build_kde3 = xno -a x$build_kparts3 = xyes; then
2448   AC_MSG_WARN(["Enabled KPARTS 3.x plugin, but you aren't building a KDE based GUI!"])
2450 if test x$has_kde4 = xno -a x$build_kparts4 = xyes; then
2451   build_kparts4=no
2452 dnl  build_kde4=no
2453   AC_MSG_WARN(["Disabling KPARTS 4.x plugin, no KDE 4.x development found"])
2456 if test x$build_kde4 = xno -a x$kparts4 = xyes; then
2457   AC_MSG_WARN(["Enabled KPARTS 4.x plugin, but you aren't building a KDE 4.x based GUI!"])
2460 AM_CONDITIONAL(BUILD_QTOPIA3_GUI,  [ test x$build_qtopia3 = xyes ])
2461 AM_CONDITIONAL(BUILD_QTOPIA4_GUI,  [ test x$build_qtopia4 = xyes ])
2463 dnl Drop these conditionals ?
2464 AM_CONDITIONAL(BUILD_QT3_GUI,
2465     [ test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes ])
2466 AM_CONDITIONAL(BUILD_QT4_GUI,
2467     [ test x"${build_kde4}" = xyes -o x"${build_qtopia4}" = xyes ])
2469 AM_CONDITIONAL(BUILD_KDE3_GUI,     [ test x$build_kde3 = xyes ])
2470 AM_CONDITIONAL(BUILD_KDE4_GUI,     [ test x$build_kde4 = xyes ])
2472 AM_CONDITIONAL(BUILD_GTK_GUI,      [ test x$build_gtk = xyes ])
2473 AM_CONDITIONAL(BUILD_FLTK_GUI,     [ test x$build_fltk = xyes ])
2474 AM_CONDITIONAL(BUILD_SDL_GUI,      [ test x$build_sdl = xyes ])
2475 AM_CONDITIONAL(BUILD_FB_GUI,       [ test x$build_fb = xyes ])
2476 AM_CONDITIONAL(BUILD_AQUA_GUI,     [ test x$build_aqua = xyes ])
2477 AM_CONDITIONAL(ALLSTATIC,          [ test x$build_aqua = xyes ]) dnl the Aqua-binary is always static.
2478 AM_CONDITIONAL(BUILD_RISCOS_GUI,   [ test x$build_riscos = xyes ])
2479 AM_CONDITIONAL(BUILD_DUMP_GUI,     [ test x$build_dump = xyes ])
2480 AM_CONDITIONAL(BUILD_AMIGAOS4_GUI, [ test x$build_aos4 = xyes ])
2481 AM_CONDITIONAL(BUILD_HAIKU_GUI,    [ test x$build_haiku = xyes ])
2483 # plugin building flags
2484 AM_CONDITIONAL(NPAPI,   [test x"${npapi}" = xyes])
2485 AM_CONDITIONAL(KPARTS3, [test x"${build_kparts3}" = xyes])
2486 AM_CONDITIONAL(KPARTS4, [test x"${build_kparts4}" = xyes])
2488 if test x"${build_gles}" = xyes; then
2489   GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
2490   GNASH_PATH_GLES
2493 if test x"${build_ogv}" = xyes; then
2494   GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
2495   GNASH_PKG_FIND(OpenVG, [vg/openvg.h], [OpenVG library], vgDrawImage)
2498 if test x"${build_gtk}" = xyes; then
2499   AC_ARG_ENABLE(ghelp,
2500     AC_HELP_STRING([--enable-ghelp], [Enable support for the GNOME help system]),
2501     [case "${enableval}" in
2502       yes) ghelp=yes ;;
2503       no)  ghelp=no ;;
2504       *)   AC_MSG_ERROR([bad value ${enableval} for enable-ghelp option]) ;;
2505     esac], ghelp=no
2506   )
2508   if test x"${ghelp}" = x"yes" ; then
2509     AC_PATH_PROG(SCROLLKEEPER, scrollkeeper-config, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2510     AC_PATH_PROG(SCROLLUPDATE, scrollkeeper-update, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2511     AC_PATH_PROG(SCROLLINSTALL, scrollkeeper-preinstall, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2513     if test x"$SCROLLKEEPER" = x -o x"$SCROLLUPDATE" = x -o x"$SCROLLINSTALL" = x ; then
2514       ghelp=no
2515       AC_MSG_WARN([You need to install scrollkeeper for gnome help])
2516     fi
2517   fi
2519 AM_CONDITIONAL(GHELP, [test x${ghelp} = xyes])
2521 if test x${build_fltk} = xyes; then
2522   GNASH_PKG_FIND(Xft, [Xft.h], [xft library], XftGlyphRender)
2525 dnl Some systems have a pervered set of dependencies.
2526 dnl Fedora Core 6 appears to have a dependency on expat for fontconfig.
2527 dnl We only need the library, but this is the easy wind to find it.
2528 GNASH_PKG_FIND(expat, [expat.h], [Expat library], XML_ErrorString)
2530 dnl these conditionals were moved out of kde.m4
2531 AM_CONDITIONAL(HAS_KDE3, [test x$has_kde3 = xyes])
2532 # used to disable x11-specific stuff on special platforms
2533 AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
2534 AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
2535 AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2537 AM_CONDITIONAL(HAVE_GLEXT, [test x$glext = xyes])
2539 dnl We don't have GTKGLExt, so default to SDL, and don't build the Firefox plugin
2540 if test x$glext = xno -a x$build_ogl = xyes; then
2541   if test x$gtk2 = xyes -a x$build_gtk = xyes; then
2542     AC_ERROR([You have GTK installed, but not GtkGLExt. You need GtkGLExt to use the OpenGL renderer. Attempting to build SDL version])
2543   fi
2544   gui=sdl
2545   npapi=no
2546   AC_MSG_WARN([GTK2 specified for the GUI, but GtkGlExt is not present. Trying SDL instead.])
2549 missing_codecs=""
2550 if test x"$build_media_gst" = "xyes"; then
2551   AC_PATH_PROG(GST_INSPECT, gst-inspect, ,[${pathlist}])
2552   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2553     AC_PATH_PROG(GST_INSPECT, gst-inspect-0.10, ,[${pathlist}])
2554   fi
2555   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2556     dnl FIXME: there may be multiple acceptable plugins that are acceptable for
2557     dnl our use. For example, mad or FFmpeg will play mp3.
2558     codecs="ffdec_flv ffdec_flashsv ffdec_vp6f ffdec_flashsv mad vorbisdec ffdec_vp6"
2559     for i in $codecs; do
2560        hits="`$GST_INSPECT $i | grep -c 'Long name'`"
2561        if test $hits -eq 0; then
2562          missing_codecs="$missing_codecs $i"
2563          AC_MSG_WARN([Missing codec: $i])
2564        fi
2565     done
2566   fi
2567   GNASH_PKG_FIND(gstreamer_plugins_base, [gst/interfaces/probeprobe.h], [gstreamer interfaces library], gst_property_probe_probe_and_get_values_name, [0.10])
2568   GNASH_PKG_FIND(gstreamer_app, [gst/app/gstappsink.h], [gstreamer app library], call_gmon_start, [0.10])
2569   GNASH_PKG_FIND(gstreamer, [gst/gst.h], [gstreamer library], gst_init, [0.10])
2570   dnl if cross compiling, we're usually not going to be able to pop up
2571   dnl the codec installer to download the package to install, so disable
2572   dnl it if cross compiling with gstreamer support.
2573   if test x$cross_compiling = xno; then
2574     GNASH_PKG_FIND(gstreamer_pbutils, [gst/pbutils/install-plugins.h], [gstreamer PB Utils library], gst_install_plugins_supported, [0.10])
2575   fi
2576   dnl when cross compiling Gstreamer, not all supplied SDKs include all the
2577   dnl development libraries since most devices don't need to support plugin
2578   dnl development, only the runtime. In these caes we often have the header
2579   dnl files but not the libraries.
2580   if test x"${has_gstreamer_plugins_base}" = xyes; then
2581     GSTREAMER_LIBS="-lgstinterfaces-0.10 $GSTREAMER_LIBS"
2582     AC_DEFINE(HAS_GSTREAMER_PLUGINS_BASE, [1], [Has the Gstreamer Plugin Dev package installed])
2583   fi
2586 AM_CONDITIONAL(HAVE_CAIRO, [true])
2587 dnl AM_CONDITIONAL(HAVE_CAIRO, [test x"${has_cairo}" = xyes])
2588 AM_CONDITIONAL(HAVE_OPENGL, [true])
2589 dnl AM_CONDITIONAL(HAVE_OPENGL, test x"${has_opengl}" = xyes)
2591 AM_CONDITIONAL(USE_SOUND_SDL, test x$build_sound_sdl = xyes)
2592 AM_CONDITIONAL(USE_SOUND_AHI, test x$build_sound_ahi = xyes)
2593 AM_CONDITIONAL(USE_SOUND_MKIT, test x$build_sound_mkit = xyes)
2594 AM_CONDITIONAL(USE_FFMPEG_ENGINE, test x"${build_media_ffmpeg}" = x"yes")
2595 AM_CONDITIONAL(USE_GST_ENGINE, test x"${build_media_gst}" = x"yes")
2596 AM_CONDITIONAL(HAVE_OPENGL, test x"${OPENGL_LIBS}" != x)
2597 dnl for now the Haiku media handler is experimental
2598 AM_CONDITIONAL(USE_HAIKU_ENGINE, test x"$build_media_haiku" = xyes)
2600 if test x"${build_media_ffmpeg}" = x"yes"; then
2601   AC_DEFINE([ENABLE_FFMPEG_MEDIA],  [1], [Use FFmpeg for media decoding])
2604 if test x"${build_media_gst}" = x"yes"; then
2605   AC_DEFINE([ENABLE_GST_MEDIA],  [1], [Use gstreamer for media decoding])
2608 if test x"${build_media_haiku}" = x"yes"; then
2609   AC_DEFINE([ENABLE_HAIKU_MEDIA],  [1], [Use haiku for media decoding])
2612 if test x$build_sound_mkit = xyes; then
2613   if test x"${haiku}" != xyes; then
2614     AC_MSG_ERROR([Media Kit sound handling is supported only under Haiku]);
2615   else
2616     AC_DEFINE([SOUND_MKIT],  [1], [Use Haiku's Media Kit for sound handling])
2617   fi
2620 if test x"${build_sound_sdl}" = xyes; then
2621   AC_DEFINE([SOUND_SDL],  [1], [Use SDL for sound handling])
2624 if test x"${build_sound_ahi}" = xyes; then
2625   if test x"$amigaos4" != xyes; then
2626     AC_MSG_ERROR([AHI sound handling is supported only under AmigaOS]);
2627   else
2628     AC_DEFINE([SOUND_AHI],  [1], [Use AmigaOS AHI for sound handling])
2629   fi
2632 if test x$build_fltk = xyes; then
2633   GNASH_PKG_FIND(fltk2, [fltk/FL_API.h], [Fast Light Toolkit], fl_window_flush)
2636 AM_CONDITIONAL(HAVE_FLTK2, [ test x$has_fltk2 = xyes ])
2637 AM_CONDITIONAL(HAS_XFT, [ test x$has_xft = xyes ])
2639 GNASH_DOCBOOK
2640 AM_CONDITIONAL(ENABLE_INFO, test x${INSTALL_INFO} != x)
2641 AM_CONDITIONAL(DOCBOOK, test x$docbook = xyes)
2642 AM_CONDITIONAL(ENABLE_TEXI, [ test x"$DB2X_TEXI" != x -o x"$DB2X_TEXIXML" != x ])
2643 AM_CONDITIONAL(ENABLE_PDF, [ test x"$DB2X_PDF" ])
2644 AM_CONDITIONAL(ENABLE_HTML, [ test x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2645 AM_CONDITIONAL(ENABLE_FOP, [ test x"$FOP" != x -a x"$docbook_styles" != x ])
2646 AM_CONDITIONAL(ENABLE_XMLTEX, [ test x"$PDFXMLTEX" != x -a x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2647 dnl  AM_CONDITIONAL(ENABLE_DBLATEX, [ test x"$DBLATEX" != x ])
2648 AM_CONDITIONAL(ENABLE_MAN, [ test x"$DB2X_MAN" != x -o x"$DB2X_MANXML" != x ])
2649 AM_CONDITIONAL(HAVE_AGG, [test x"${AGG_LIBS}" != x])
2651 GNASH_PATH_CURL
2653 dnl Define winsock if we're on windows. We could do something complicated,
2654 dnl but since AC_EXEEXT does it for us, we'll do this the easy way.
2655 if test x"$EXEEXT" = "exe"; then
2656   AC_DEFINE(HAVE_WINSOCK,1,[This is defined is we are on Win32])
2659 dnl ****************************************
2660 dnl *** Check for ELF visibility support ***
2661 dnl ****************************************
2663 AC_ARG_ENABLE([visibility],
2664   AC_HELP_STRING([--enable-visibility], [Use ELF visibility attributes]), [], [enable_visibility=no])
2666 if test x"$enable_visibility" != x"no"; then
2667   dnl Check whether the compiler supports the visibility attribute
2668   save_CFLAGS="$CFLAGS"
2669   CFLAGS="$CFLAGS -Wall -Werror"
2670   AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
2671   AC_COMPILE_IFELSE(AC_LANG_SOURCE(
2672     [
2673       void __attribute__ ((visibility("default"))) test_default (void) {}
2674       void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
2675       int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
2676     ]),
2677     [
2678       AC_DEFINE([HAVE_GNUC_VISIBILITY], [1], [Define this for GCC-visibility.])
2679       AC_MSG_RESULT([yes])
2680     ],
2681     [
2682       AC_MSG_RESULT([no])
2683     ]
2684   )
2685   CFLAGS="$save_CFLAGS"
2688 AC_ARG_ENABLE([pch],
2689   AC_HELP_STRING([--enable-pch], [Enable precompiled header support]), [], [enable_pch=no])
2691 AM_CONDITIONAL([ENABLE_PCH], [test x"$enable_pch" != x"no"])
2693 PCH_FLAGS="-include all-includes.h -Winvalid-pch"
2694 AC_SUBST(PCH_FLAGS)
2696 GNASH_PATH_PTHREADS
2698 GNASH_PATH_BOOST
2699 dnl AX_GCC_ARCHFLAG(no)
2701 AC_ARG_ENABLE([strict],
2702   AC_HELP_STRING([--enable-strict],[Accept only standards compliant code (GCC only)]),
2703   [case "${enableval}" in
2704     yes) strict=yes ;;
2705     no) strict=no ;;
2706     *) AC_MSG_ERROR([bad value ${enableval} for --enable-strict option]) ;;
2707   esac],
2708   [strict=no]
2711 if test x"$strict" = x"yes" -a x$build_agg = xyes; then
2712    AC_MSG_ERROR([agg renderer will fail with --enable-strict.]);        
2715 # We want warnings, lots of warnings  :-)
2716 # It should be possible to build with -ansi, not with
2717 # -pedantic because of agg.
2719 # -ansi was actually dropped because it hides 'fileno', which
2720 # is used in a few places
2722 if test x"$GCC" = x"yes"; then
2723   CXXFLAGS="$CXXFLAGS \
2724     $CROSS_CXXFLAGS \
2725     -W \
2726     -Wall \
2727     -Wcast-align \
2728     -Wcast-qual \
2729     -Wpointer-arith \
2730     -Wreturn-type \
2731     -Wnon-virtual-dtor \
2732     -Wunused \
2733     "
2734   CFLAGS="$CFLAGS \
2735     $CROSS_CXXFLAGS \
2736     -W \
2737     -Wall \
2738     -Wcast-align \
2739     -Wcast-qual \
2740     -Wpointer-arith \
2741     -Wreturn-type \
2742     -Wmissing-declarations \
2743     -Wmissing-prototypes \
2744     -Wstrict-prototypes \
2745     "
2746   if test x"$strict" = x"yes"; then
2747     CXXFLAGS="$CXXFLAGS \
2748       -Wextra \   
2749       -pedantic \
2750       -Wno-long-long \
2751       "
2753     CFLAGS="$CFLAGS \
2754       -pedantic \
2755       -Wno-long-long \
2756       -ansi \
2757       "
2758   fi
2761 AC_ARG_ENABLE([cassert],
2762   AC_HELP_STRING([--disable-cassert],[Disable assertion checking]),
2763   [case "${enableval}" in
2764     yes) cassert=yes ;;
2765     no) cassert=no ;;
2766     *) AC_MSG_ERROR([bad value ${enableval} for --enable-cassert option]) ;;
2767   esac],
2768   [cassert=yes]
2771 if test x"$cassert" = x"no"; then
2772     CXXFLAGS="$CXXFLAGS \
2773       -DNDEBUG \
2774       "
2775     CFLAGS="$CFLAGS \
2776       -DNDEBUG \
2777       "
2780 dnl /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
2781 AC_DEFUN([CHECK_VISIBILITY_GCC_BUG],
2782   [
2783     AC_CACHE_CHECK([if -fvisibility-inlines-hidden is broken], ac_cv_gcc_visibility_bug, [
2784         AC_LANG_PUSH(C++)
2785         save_CXXFLAGS=$CXXFLAGS
2786         save_LDFLAGS=$LDFLAGS
2787         CXXFLAGS="-fPIC -fvisibility-inlines-hidden -O0"
2788         LDFLAGS="$LDFLAGS -shared -fPIC"
2790         AC_TRY_LINK(
2791         [          
2792           template<typename CharT>
2793           struct VisTest
2794           {
2795             inline VisTest ();
2796           };
2797           template<typename CharT>
2798           inline VisTest<CharT>::VisTest()
2799         {}
2800         extern template class VisTest<char>;  // It works if we drop that line
2801         int some_function( int do_something ) __attribute__((visibility("default")));
2802         int some_function( int )
2803           {
2804             VisTest<char> a;
2805             return 0;
2806           }
2807         ], [],
2808         ac_cv_gcc_visibility_bug=no, ac_cv_gcc_visibility_bug=yes)
2810         CXXFLAGS=$save_CXXFLAGS
2811         LDFLAGS=$save_LDFLAGS
2812         AC_LANG_POP(C++)
2813       ]
2814     )
2815     if test x$ac_cv_gcc_visibility_bug = xno; then
2816       CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
2817     fi
2818   ]
2821 CHECK_VISIBILITY_GCC_BUG
2823 if test x$ac_cv_gcc_visibility_bug = xno; then
2824   AC_LANG_PUSH(C++)
2825   AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
2826   save_CXXFLAGS=$CXXFLAGS
2827   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2828   AC_LINK_IFELSE([AC_LANG_PROGRAM()], 
2829                  [ac_cv_gcc_visibility=yes;
2830                   AC_MSG_RESULT([yes])],
2831                  [ac_cv_gcc_visibility=no;
2832                   AC_MSG_RESULT([no])]);
2833   CXXFLAGS="$save_CXXFLAGS"
2834   AC_LANG_POP(C++)
2838 AM_CONDITIONAL(VISIBILITY_WORKS, test x"$ac_cv_gcc_visibility" = xyes)
2840 if test x"$ac_cv_gcc_visibility" = xyes -a x"$enable_visibility" != xno; then
2841   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2844 dnl Define convienience constants so Gnash can print out the
2845 dnl default configuration of the build.
2846 RENDERER_CONFIG="${renderer_list}"
2847 RENDERER_LIBS=
2848 for rend in `echo "${add_renderer}" | tr ',' ' '`; do
2849         RENDERER_LIBS="${RENDERER_LIBS} \$(top_builddir)/librender/libgnash${rend}.la"
2850 done
2851 dnl echo "RENDERER_LIBS=$RENDERER_LIBS"
2852 AC_SUBST(RENDERER_LIBS)
2853 AC_SUBST(RENDERER_CONFIG)
2855 HWACCEL_CONFIG="${hwaccel_list}"
2856 AC_SUBST(HWACCEL_CONFIG)
2858 dnl check for missing libraries and disable them.
2859 if test x"$BOOST_LIBS" != x; then
2860   if test x"${cygnal_missing_libs}" != x; then
2861     for i in ${cygnal_missing_libs}; do
2862       if test $i = serialization; then
2863         AC_DEFINE([BOOST_MULTI_INDEX_DISABLE_SERIALIZATION], ["1"], [if the library is missing, don't use it.])
2864       fi
2865     done
2866   fi
2869 CYGNAL_PATHS
2871 SUPPORTED_GUIS=
2872 if test x$build_qtopia3 = xyes; then
2873   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
2875 if test x$build_qtopia4 = xyes; then
2876   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
2878 if test x$build_fb = xyes; then
2879   SUPPORTED_GUIS="${SUPPORTED_GUIS},fb"
2881 if test x$build_fltk = xyes; then
2882   SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
2884 if test x$build_kde3 = xyes; then
2885   SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
2887 if test x$build_kde4 = xyes; then
2888   SUPPORTED_GUIS="${SUPPORTED_GUIS},kde4"
2890 if test x$build_gtk = xyes; then
2891   SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
2893 if test x$build_sdl = xyes; then
2894   SUPPORTED_GUIS="${SUPPORTED_GUIS},sdl"
2896 if test x$build_riscos = xyes; then
2897   SUPPORTED_GUIS="${SUPPORTED_GUIS},riscos"
2899 if test x$build_aqua = xyes; then
2900   SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
2902 if test x$build_dump = xyes; then
2903   SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
2905 if test x$build_aos4 = xyes; then
2906   SUPPORTED_GUIS="${SUPPORTED_GUIS},aos4"
2908 if test x$build_haiku = xyes; then
2909   SUPPORTED_GUIS="${SUPPORTED_GUIS},haiku"
2911 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
2912 AC_SUBST(SUPPORTED_GUIS)
2914 dnl AC_CONFIG_LINKS(doc/C/images)
2915 dnl AC_CONFIG_LINKS(gnashconfig.h,libltdl/config.h)
2916 AC_CONFIG_LINKS(cygnal/testsuite/cygnal.all/cygnalrc:cygnal/testsuite/cygnal.all/cygnalrc.in)
2917 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc:testsuite/libbase.all/gnashrc.in)
2918 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc-local:testsuite/libbase.all/gnashrc-local.in)
2920 AC_CONFIG_FILES(gnash.pc:gnash.pc.in)
2922 AC_OUTPUT(Makefile
2923 po/Makefile
2924 libltdl/Makefile
2925 libmedia/Makefile
2926 libsound/Makefile
2927 libbase/Makefile
2928 libcore/Makefile
2929 libcore/vm/Makefile
2930 libcore/parser/Makefile
2931 libvaapi/Makefile
2932 librender/Makefile
2933 utilities/Makefile
2934 doc/Makefile
2935 doc/C/Makefile
2936 doc/Doxyfile
2937 testsuite/Makefile
2938 testsuite/media/Makefile
2939 testsuite/libbase.all/Makefile
2940 testsuite/as3compile.all/Makefile
2941 testsuite/actionscript.all/Makefile
2942 testsuite/samples/Makefile
2943 testsuite/swfdec/Makefile
2944 testsuite/misc-ming.all/Makefile
2945 testsuite/misc-ming.all/action_order/Makefile
2946 testsuite/misc-ming.all/displaylist_depths/Makefile
2947 testsuite/misc-ming.all/loop/Makefile
2948 testsuite/misc-ming.all/loading/Makefile
2949 testsuite/misc-mtasc.all/Makefile
2950 testsuite/misc-haxe.all/Makefile
2951 testsuite/misc-haxe.all/classes.all/Makefile
2952 testsuite/misc-swfmill.all/Makefile
2953 testsuite/misc-swfmill.all/trace-as2/Makefile
2954 testsuite/misc-swfmill.all/trace-as3/Makefile
2955 testsuite/misc-swfc.all/Makefile
2956 testsuite/network.all/Makefile
2957 testsuite/movies.all/Makefile
2958 testsuite/libcore.all/Makefile
2959 testsuite/libmedia.all/Makefile
2960 gui/Makefile
2961 gui/fb/Makefile
2962 gui/Info.plist
2963 gui/pythonmod/Makefile
2964 extensions/Makefile
2965 extensions/dejagnu/Makefile
2966 extensions/mysql/Makefile
2967 extensions/fileio/Makefile
2968 extensions/gtk2/Makefile
2969 extensions/lirc/Makefile
2970 extensions/dbus/Makefile
2971 plugin/Makefile
2972 plugin/npapi/Makefile
2973 plugin/klash/Makefile
2974 plugin/klash4/Makefile
2975 plugin/win32/Makefile
2976 plugin/aos4/Makefile
2977 cygnal/Makefile
2978 cygnal/libnet/Makefile
2979 cygnal/libamf/Makefile
2980 cygnal/cgi-bin/Makefile
2981 cygnal/cgi-bin/echo/Makefile
2982 cygnal/cgi-bin/oflaDemo/Makefile
2983 cygnal/cgi-bin/fitcDemo/Makefile
2984 cygnal/testsuite/Makefile
2985 cygnal/testsuite/libamf.all/Makefile
2986 cygnal/testsuite/libnet.all/Makefile
2987 cygnal/testsuite/cygnal.all/Makefile
2991 ########################## Final report begins... ############################
2994 cerr=/tmp/gnash-configure-errors.$$
2995 cwarn=/tmp/gnash-configure-warnings.$$
2996 crec=/tmp/gnash-configure-recommended.$$
2997 echo ""
2999 #trap 'rm cerr' 0 # trap isn't a good idea, might override other traps
3000 exec 3> $cerr 
3001 exec 4> $cwarn
3002 exec 5> $crec
3004 echo "Configurable options are:"
3006 if test x"${i810lodbias}" = x"yes"; then
3007   echo "        Intel 810 LOD bias hack enabled"
3008 else
3009   echo "        Intel 810 LOD bias hack disabled (default). Use --enable-i810-lod-bias to enable."
3012 if test x"${pthreads}" = x"yes"; then
3013   echo "        POSIX Threads support enabled (default)"
3014 else
3015   if test x"${build_haiku}" = x"yes"; then
3016      echo "        POSIX Thread support built into C library."
3017   els
3018      echo "        POSIX Thread support disabled."
3019   fi
3022 if test x"${dmalloc}" = x"yes"; then
3023   echo "        DMalloc support enabled"
3024   echo "        For a list of the command-line options enter: dmalloc --usage"
3025 else
3026   echo "        DMalloc support disabled (default). Use --enable-dmalloc to enable."
3029 if test x"${npapi}" = x"yes"; then
3030   echo "        NPAPI plugin enabled (default). Use --disable-npapi to disable."
3031   echo "            NPAPI plugin will be installed in ${FIREFOX_PLUGINS}"
3032 else
3033   echo "        NPAPI plugin disabled."
3036 if test x"${build_kparts3}" = x"yes"; then
3037   echo "        KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to disable"
3038   echo "            KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
3039   echo "            KPARTS 3.x service will be installed in ${KDE3_SERVICESDIR}"
3040   echo "            KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
3041   echo "            KPARTS 3.x appsdata will be installed in ${KDE3_APPSDATADIR}"
3042 else
3043   echo "        KPARTS 3.x plugin disabled."
3046 if test x"${build_kparts4}" = x"yes"; then
3047   echo "        KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to disable"
3048   echo "            KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
3049   echo "            KPARTS 4.x service will be installed in ${KDE4_SERVICESDIR}"
3050   echo "            KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
3051   echo "            KPARTS 4.x appsdata will be installed in ${KDE4_APPSDATADIR}"
3052 else
3053   echo "        KPARTS 4.x plugin disabled."
3056 dnl -- if test x"${dynamic_gui}" = x"yes"; then
3057 dnl --   echo "        Loadable GUI & renderer enabled."
3058 dnl -- else
3059 dnl --   echo "        Loadable GUI & renderer disabled (default). Use --enable-dynamic-gui to enable."
3060 dnl -- fi
3062 # set a variable if we shouldn't continue. This way we can print
3063 # out everything that is missing in one pass, hopefully making it
3064 # easy for new developers to get everything they need installed.
3066 echo "Configured paths for ${build} are:"
3068 dnl Dump QT3 options is the user specified a QTOPIA3 or KDE3 GUI
3069 if test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes; then
3070   if test x"${has_qt3}" = xyes; then
3071     echo "        QT3 flags are: ${QT3_CFLAGS}"
3072     echo "        QT3 libs are: ${QT3_LIBS}"
3073   else
3074     echo "        ERROR: No QT 3.x development package installed!" >&3
3075     echo "               Install a QT 3.x development environment from http://trolltech.com" >&3
3076     echo "               or .deb users: apt-get install libqt3-mt-dev" >&3
3077     echo "               or change to a different gui with --enable-gui=..." >&3
3078   fi
3081 dnl Dump QT4 options is the user specified a QTOPIA4 or KDE4 GUI
3082 if test x"${build_kde4}" = xyes -o x"${build_qtopia4}" = xyes; then
3083   if test x"${has_qt4}" = xyes; then
3084     echo "        QT4 flags are: ${QT4_CFLAGS}"
3085     echo "        QT4 libs are: ${QT4_LIBS}"
3086   else
3087     echo "        ERROR: No QT 4.x development package installed!" >&3
3088     echo "               Install a QT 4.x development environment from http://trolltech.com" >&3
3089     echo "               or .deb users: apt-get install qt4-dev-tools" >&3
3090     echo "               or change to a different gui with --enable-gui=..." >&3
3091   fi
3094 if test x"$build_qtopia3" = xyes; then
3095   if test x"${QTOPIA3_LIBS}" != x ; then
3096     if test x"${QTOPIA3_CFLAGS}" != x ; then
3097       echo "        QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
3098     else
3099       echo "        QTOPIA 3.x flags are: default include path"
3100     fi
3101     echo "        QTOPIA 3.x libs are: $QTOPIA3_LIBS"
3102   else
3103     echo "        ERROR: No QTOPIA 3.x library development package installed!" >&3
3104     echo "               Install it from http://trolltech.com/downloads/" >&3
3105     echo "               binary packages are not available." >&3
3106   fi
3109 if test x"$build_qtopia4" = xyes; then
3110   if test x"${QTOPIA4_LIBS}" != x ; then
3111     if test x"${QTOPIA4_CFLAGS}" != x ; then
3112       echo "        QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
3113     else
3114       echo "        QTOPIA 4.x flags are: default include path"
3115     fi
3116     echo "        QTOPIA 4.x libs are: $QTOPIA4_LIBS"
3117   else
3118     echo "        ERROR: No QTOPIA 4.x library development package installed!" >&3
3119     echo "               Install it from http://trolltech.com/downloads/" >&3
3120     echo "               binary packages are not available." >&3
3121   fi
3125 # -o x$build_kparts3 = xyes
3126 if test x$build_kde3 = xyes; then
3127   if test x"$has_kde3" = xyes; then
3128     echo "        KDE 3.x flags are: $KDE3_CFLAGS"
3129     echo "        KDE 3.x libs are: $KDE3_LIBS"
3130   else
3131       echo "        ERROR: No KDE 3.x development package installed!" >&3
3132       echo "               To disable the KDE 3.x gui," >&3
3133       echo "               reconfigure using --enable-gui=<list-of-guis>" >&3
3134       echo "               and omit "kde" from the list." >&3
3135       echo "               or avoid --enable-gui=... as a whole." >&3
3136       echo "               To be able to build the kde 3.x gui," >&3
3137       echo "               install version 3.x of the KDE development environment" >&3
3138       echo "               from http://kde.org" >&3
3139       echo "               or .deb users: apt-get install kdelibs4-dev" >&3
3140       echo "               or .rpm users: yum install kdelibs3-devel." >&3
3141   fi
3144 # -o x$build_kparts4 = xyes
3145 if test x$build_kde4 = xyes; then
3146   if test x"$has_kde4" = xyes; then
3147     echo "        KDE 4.x flags are: $KDE4_CFLAGS"
3148     echo "        KDE 4.x libs are: $KDE4_LIBS"
3149   else
3150       echo "        ERROR: No KDE 4.x development package installed!" >&3
3151       echo "               To disable the KDE 4.x gui," >&3
3152       echo "               reconfigure using --enable-gui=<list-of-guis>" >&3
3153       echo "               and omit "kde4" from the list" >&3
3154       echo "               or avoid --enable-gui=... as a whole." >&3
3155       echo "               To be able to build the kde 4.x gui," >&3
3156       echo "               install version 4.x of the KDE development environment" >&3
3157       echo "               from http://kde.org" >&3
3158       echo "               or .deb users: apt-get install kdelibs5-dev" >&3
3159       echo "               or .rpm users: yum install kdelibs-devel." >&3
3160   fi
3163 if test x"${JPEG_LIBS}" != x ; then
3164   if test x"${JPEG_CFLAGS}" != x ; then
3165     echo "        JPEG flags are: $JPEG_CFLAGS"
3166   else
3167     echo "        JPEG flags are: default include path"
3168   fi
3169   echo "        JPEG libs are: $JPEG_LIBS"
3170 else
3171   echo "        ERROR: No JPEG library development package installed!" >&3
3172   echo "               Install it from http://ijg.org" >&3
3173   echo "               or .deb users: apt-get install libjpeg-dev" >&3
3174   echo "               or .rpm users: yum install libjpeg-devel" >&3
3177 if test x"${GIF_LIBS}" != x ; then
3178   if test x"${GIF_CFLAGS}" != x ; then
3179     echo "        GIF flags are: $GIF_CFLAGS"
3180   else
3181     echo "        GIF flags are: default include path"
3182   fi
3183   echo "        GIF libs are: $GIF_LIBS"
3184 else
3185   echo "        ERROR: No GIF library development package installed!" >&3
3186   echo "               Install it from http://sourceforge.net/projects/giflib/" >&3
3187   echo "               or .deb users: apt-get install libungif-dev" >&3
3188   echo "               or maybe     : apt-get install libgif-dev" >&3
3189   echo "               or .rpm users: yum install libungif-devel" >&3
3192 if test x"${PNG_LIBS}" != x ; then
3193   if test x"${PNG_CFLAGS}" != x ; then
3194     echo "        PNG flags are: $PNG_CFLAGS"
3195   else
3196     echo "        PNG flags are: default include path"
3197   fi
3198   echo "        PNG libs are: $PNG_LIBS"
3199 else
3200   echo "        RECOMMENDED: No PNG library development package installed!" >&5
3201   echo "                     Gnash will be built without support for dynamic loading of PNG files." >&5
3202   echo "                     Install it from http://www.libpng.org" >&5
3203   echo "                     or .deb users: apt-get install libpng12-dev" >&5
3204   echo "                     or .rpm users: yum install libpng-devel" >&5
3207 if test x"${build_ogl}" = x"yes"; then
3208   if test x"$OPENGL_LIBS" != x; then
3209     if test x"$OPENGL_CFLAGS" != x; then
3210       echo "        OpenGL flags are: $OPENGL_CFLAGS"
3211     else
3212       echo "        OpenGL flags are: default include path"
3213     fi
3214     echo "        OpenGL libs are: $OPENGL_LIBS"
3215     else
3216       echo "        ERROR: No OpenGL development package installed!" >&3
3217       echo "               You need to install the libmesa development package" >&3
3218       echo "               or .deb users: apt-get install libgl1-mesa-dev" >&3
3219       echo "               or .rpm users: yum install xorg-x11-Mesa-libGL" >&3
3220       echo "               or use a different renderer with --enable-renderer=" >&3
3221   fi
3224 if test x"${build_gles}" = x"yes"; then
3225   if test x"${has_gles}" != x; then
3226     if test x"$GLES_CFLAGS" != x; then
3227       echo "        OpenGL-ES flags are: $GLES_CFLAGS"
3228     else
3229       echo "        OpenGL-ES flags are: default include path"
3230     fi
3231     echo "        OpenGL-ES libs are: $GLES_LIBS"
3232   else
3233       echo "        ERROR: No OpenGL-ES development package installed!" >&3
3234       echo "               You need to install the this from source proobably" >&3
3235       echo "               or use a different renderer with --enable-renderer=" >&3
3236   fi
3239 dnl GLEXT is only needed for GTK/OpenGL
3240 if test x$build_gtk = xyes -a x$build_ogl = xyes ; then
3241   if test x"$GLEXT_LIBS" != x; then
3242     if test x"$GLEXT_CFLAGS" != x; then
3243       echo "        GtkGLExt flags are: $GLEXT_CFLAGS"
3244     else
3245       echo "        GtkGLExt flags are: default include path"
3246     fi
3247       echo "        GtkGLExt libs are: $GLEXT_LIBS"
3248   else
3249     if test x$build_gtk = xyes; then
3250       if test x$build_ogl = xyes; then
3251         echo "        ERROR: No GtkGLExt development package installed!" >&3
3252         echo "               It is needed to build the GTK/OpenGL GUI/renderer combination." >&3
3253         echo "               Either install it from http://gtkglext.sourceforge.net" >&3
3254         echo "               or .deb users: apt-get install libgtkglext1-dev" >&3
3255         echo "               or .rpm users: yum install gtkglext-devel" >&3
3256         echo "               or --enable-gui=sdl or --enable-renderer=agg" >&3
3257       fi
3258     fi
3259   fi
3263 if test x$build_gtk = xyes; then #{
3264   if test x"$GTK2_LIBS" != x; then
3265     if test x"$GTK2_CFLAGS" != x; then
3266       echo "        GTK2 flags are: $GTK2_CFLAGS"
3267     else
3268       echo "        GTK2 flags are: default include path"
3269     fi
3270       echo "        GTK2 libs are: $GTK2_LIBS"
3271   else
3272     echo "        ERROR: No GTK2 development package installed!" >&3
3273     echo "               Install it from http://gtk.org" >&3
3274     echo "               or .deb users: apt-get install libgtk2.0-dev" >&3
3275     echo "               or .rpm users: yum install gtk2-devel" >&3
3276   fi
3278   if test x"$PANGO_LIBS" != x; then
3279     if test x"$PANGO_CFLAGS" != x; then
3280       echo "        Pango flags are: $PANGO_CFLAGS"
3281     else
3282       echo "        Pango flags are: default include path"
3283     fi
3284     echo "        Pango libs are: $PANGO_LIBS"
3285   else
3286     echo "        ERROR: No Pango development package installed!" >&3
3287     echo "               Install it from http://pango.org" >&3
3288     echo "               or .deb users: apt-get install libpango1.0-dev" >&3
3289     echo "               or .rpm users: yum install pango-devel" >&3
3290   fi
3292   if test x"$GLIB_LIBS" != x; then
3293     if test x"$GLIB_CFLAGS" != x; then
3294       echo "        GLib flags are: $GLIB_CFLAGS"
3295     else
3296       echo "        GLib flags are: default include path"
3297     fi
3298     echo "        GLib libs are: $GLIB_LIBS"
3299   else
3300     echo "        ERROR: No GLib development package installed!" >&3
3301     echo "               Install it from http://gtk.org" >&3
3302     echo "               or .deb users: apt-get install libglib2.0-dev" >&3
3303     echo "               or .rpm users: yum install glib2-devel" >&3
3304   fi
3306   if test x"$ATK_LIBS" != x; then
3307     if test x"$ATK_CFLAGS" != x; then
3308       echo "        ATK flags are: $ATK_CFLAGS"
3309     else
3310       echo "        ATK flags are: default include path"
3311     fi
3312       echo "        ATK libs are: $ATK_LIBS"
3313   else
3314     echo "        ERROR: No ATK development package installed!" >&3
3315     echo "               Install it from http://gtk.org" >&3
3316     echo "               or .deb users: apt-get install libatk1.0-dev" >&3
3317     echo "               or .rpm users: yum install atk-devel" >&3
3318   fi
3322 if test x"$build_media_gst" = x"yes"; then
3323   if test x"$missing_codecs" != x; then   
3324       echo "        Your Gstreamer installation is missing these codecs: $missing_codecs"
3325       echo "        Please install the gstreamer-ffmpeg for Gstreamer"
3326   fi  
3327   if test x"$GSTREAMER_LIBS" != x; then
3328     if test x"$GSTREAMER_CFLAGS" != x; then
3329       echo "        Gstreamer flags are: $GSTREAMER_CFLAGS"
3330     else
3331       echo "        Gstreamer flags are: default include path"
3332     fi
3333     echo "        Gstreamer libs are: $GSTREAMER_LIBS"
3334     if test x"$has_gstreamer_pbutils" != "xyes"; then
3335       echo "        RECOMMENDED: If the user has not installed the necessary Gstreamer plugins," >&5
3336       echo "                     Gstreamer can pop up a message prompting them to." >&5
3337       echo "                     Install gstpbutils (>= 0.10.15) from http://www.gstreamer.net for that to be enabled" >&5
3338       echo "                     or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&5
3339       echo "                     Also see --with-gstpbutils-incl and --with-gstpbutils-lib" >&5
3340     fi
3341     if test x"$has_gstreamer_plugins_base" = "xno"; then
3342       dnl check if this is really a mandatory asset !
3343       echo "        ERROR: base plugins are required for gstreamer media" >&3
3344       echo "                        Install gstreamer-plugins-base from http://www.gstreamer.net" >&3
3345       echo "                        or .rpm users: yum install gstreamer-plugins-base-devel" >&3
3346       echo "                        or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&3
3347     fi
3348   else
3349     echo "        ERROR: GST media handling requested but gstreamer-0.10+ not found" >&3
3350     echo "               Install it from http://www.gstreamer.net" >&3
3351     echo "               or .deb users: apt-get install libgstreamer0.10-dev" >&3
3352     echo "               or .rpm users: yum install gstreamer-devel" >&3
3353     echo "               or             yast install gstreamer010-devel" >&3
3354   fi
3357   if test x"${build_media_ffmpeg}" = x"yes"; then
3358     if test x"$FFMPEG_LIBS" != x; then
3359       echo "        MP3 and video support enabled through FFmpeg"
3360       if test x"${ffmpeg_version_check}" != xok; then
3361         echo "        ERROR: You have version ${ffmpeg_version} of FFmpeg installed," >&3
3362         if test x"${have_ffmpeg_swscale}" = "xno"; then
3363           echo "               with no swscale enabled." >&3
3364         else
3365           echo "               with swscale enabled." >&3
3366         fi
3367         echo "               This setup isn't supported!" >&3
3368         echo "               Version 51.11.0 or newer is required, enabling swscale if >= 52.0.0." >&3
3369         echo "               You can install libswscale from http://ffmpeg.org" >&3
3370         echo "               or .deb users: apt-get install libswscale-dev" >&3
3371       else
3372         if test x"${avformat_h}" = x; then
3373           echo "        ERROR: FFmpeg's libavcodec header is installed but not libavformat." >&3
3374           echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3375           echo "               or .deb users: apt-get install libavformat-dev" >&3
3376           echo "               or YaST users: yast -i libavformat-api (but currently installs into /usr/lib64)" >&3
3377           echo "               or explicitly set the path using --with-ffmpeg-incl=" >&5
3378           echo "               or reconfigure with --enable-media=gst" >&3
3379         else
3380           if test x"$FFMPEG_CFLAGS" != x; then
3381             echo "        FFmpeg flags are: $FFMPEG_CFLAGS"
3382           else
3383             echo "        FFmpeg flags are: default include path"
3384           fi
3385           echo "        FFmpeg libs are: $FFMPEG_LIBS"
3386         fi
3387       fi
3388     else
3389       echo "        ERROR: No FFmpeg development package installed!" >&3
3390       echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3391       echo "               or .deb users: apt-get install libavformat-dev" >&3
3392       echo "               or .rpm users: yum install ffmpeg-devel" >&3
3393       echo "               or reconfigure with --enable-media=gst" >&3
3394     fi
3395   fi
3397 if test x$build_cairo = xyes; then
3398   if test x"$CAIRO_LIBS" != x; then
3399     if test x"$CAIRO_CFLAGS" != x; then
3400       echo "        Cairo flags are: $CAIRO_CFLAGS"
3401     else
3402       echo "        Cairo flags are: default include path"
3403     fi
3404     echo "        Cairo libs are: $CAIRO_LIBS"
3405   else
3406     echo "        ERROR: No Cairo development package installed!" >&3
3407     echo "               You need to have the Cairo development package installed" >&3
3408     echo "               if you have used --enable-render=cairo to configure." >&3
3409     echo "               Install it from http://cairographics.org" >&3
3410     echo "               or .deb users: apt-get install libcairo-dev" >&3
3411     echo "               or .rpm users: yum install cairo-devel" >&3
3412   fi
3415 if test x$build_fltk = xyes; then
3416   if test x"$FLTK2_LIBS" != x; then
3417     if test x"$FLTK2_CFLAGS" != x; then
3418       echo "        FLTK flags are: $FLTK2_CFLAGS"
3419     else
3420       echo "        FLTK flags are: default include path"
3421     fi
3422       echo "        FLTK libs are: $FLTK2_LIBS"
3423   else
3424     echo "        ERROR: No FLTK2 development package installed!" >&3
3425     echo "               There are currently no Debian or RPM packages for FLTK2;" >&3
3426     echo "               see http://www.fltk.org to install it from source." >&3
3427     echo "               or change to a different gui with --enable-gui=..." >&3
3428 dnl What it was for FLTK 1:
3429 dnl    echo "               or .deb users: apt-get install fltk-1.1-dev"
3430 dnl    echo "               or .rpm users: yum install fltk-devel"
3431   fi
3434 if test x$build_fltk = xyes; then
3435   if test x"$XFT_LIBS" != x; then
3436     if test x"$XFT_CFLAGS" != x; then
3437       echo "        Xft flags are: $XFT_CFLAGS"
3438     else
3439       echo "        Xft flags are: default include path"
3440     fi
3441       echo "        Xft libs are: $XFT_LIBS"
3442 dnl     else
3443 dnl       echo "        ERROR: No Xft development package installed!" >&3
3444 dnl       echo "               Install the xft development package" >&3
3445 dnl       echo "               or .deb users: apt-get install libxft-dev" >&3
3446 dnl       echo "               or .rpm users: yum install xft-devel" >&3
3447   fi
3450 # See whether SDL is required
3451 need_sdl=false
3452 test x$build_sdl = xyes                 && need_sdl=true
3453 test x$build_sound_sdl = xyes   && need_sdl=true
3455 if $need_sdl; then
3456   if test x"$SDL_LIBS" != x; then
3457     echo "        SDL flags are: $SDL_CFLAGS"
3458     echo "        SDL libs are: $SDL_LIBS"
3459   else
3460     echo "        ERROR: No SDL development package installed!" >&3
3461     echo "               Install it from http://www.libsdl.org/download-1.2.php" >&3
3462     echo "               or .deb users: apt-get install libsdl1.2-dev" >&3
3463     echo "               or .rpm users: yum install SDL-devel" >&3
3464     test x$build_sdl = xyes &&
3465         echo "               or select a different GUI with --enable-gui= " >&3
3466   fi
3468 unset need_sdl
3470 if test x"$nsapi" = x"yes"; then
3471 dnl  if test x"$FIREFOX_CFLAGS" != x; then
3472 dnl    echo "        Firefox flags are: $FIREFOX_CFLAGS"
3473 dnl    echo "        Firefox libs are: $FIREFOX_LIBS"
3474     echo "        Plugin will be installed in ${FIREFOX_PLUGINS}"
3475 dnl  else
3476 dnl    echo "        ERROR: No Firefox or Mozilla development package installed!" >&3
3477 dnl  fi
3480 if test x"${pthreads}" = x"yes"; then
3481   if test x"$PTHREAD_CFLAGS" != x; then
3482     echo "        POSIX Threads flags are: $PTHREAD_CFLAGS"
3483   fi
3484   if test x"${PTHREAD_LIBS}" != x; then
3485     echo "        POSIX Threads lib is: $PTHREAD_LIBS"
3486   else
3487     if test x"${cross_compiling}" = xno; then
3488       echo "ERROR: No pthread development package installed!" >&3
3489     fi
3490   fi
3493 if test x"${docbook}" = x"yes"; then
3494   if test x"$MAKEINFO" = x; then
3495     echo "        ERROR: no makeinfo tools installed!" >&3
3496     echo "               Either install it from http://www.gnu.org/software/texinfo/" >&3
3497     echo "               or .deb users: apt-get install texinfo" >&3
3498     echo "               or configure without --enable-docbook" >&3
3499   fi
3500   dnl low-level tools
3501   if test x"$DB2X_TEXIXML" = x -o x"$DB2X_MANXML" = x -o x"$DB2X_XSLTPROC" = x; then
3502     dnl high-level tools
3503     if test x"${DB2X_TEXI}" = x -o x"${DB2X_MAN}" = x; then
3504       echo "        ERROR: No DocBook2X tools installed!" >&3
3505       echo "               Either install it from http://docbook2x.sourceforge.net" >&3
3506       echo "               or .deb users: apt-get install docbook docbook2x docbook-utils" >&3
3507       echo "                              docbook-xml docbook-xsl texinfo xsltproc" >&3
3508       echo "               or configure without --enable-docbook" >&3
3509     fi
3510   else
3511     echo "        You have version $db2x_version of the DocBook2X tools."
3512   fi
3513 else
3514   echo "        WARNING: without --enable-docbook we will use the cached" >&4
3515   echo "                 documentation files included in the gnash distribution." >&4
3516   echo "                 If you change files in doc/C, you should --enable-docbook." >&4
3519 if test x"$CURL_LIBS" != x; then
3520   if test x"$CURL_CFLAGS" != x; then
3521     echo "        CURL flags are: $CURL_CFLAGS"
3522   else
3523     echo "        CURL flags are: default include path"
3524   fi
3525     echo "        CURL libs are: $CURL_LIBS"
3526 else
3527   echo "        RECOMMENDED: If you install the CURL library, Gnash will be able to" >&5
3528   echo "                     display remote content (streaming from URLs) using CURL." >&5
3529   echo "                     Install libcurl from http://curl.haxx.se/libcurl" >&5
3530   echo "                     or .deb users: apt-get install libcurl-dev" >&5
3531   echo "                     or .rpm users: yum install curl-devel" >&5
3534 if test x"$SPEEX_LIBS" != x; then
3535   if test x"$SPEEX_CFLAGS" != x; then
3536     echo "        Speex flags are: $SPEEX_CFLAGS"
3537   else
3538     echo "        Speex flags are: default include path"
3539   fi
3540     echo "        Speex libs are: $SPEEX_LIBS"
3541 else
3542   echo "        RECOMMENDED: If you install the Speex library, Gnash will be able to" >&5
3543   echo "                     decoded Speex encoded audio in FLV files." >&5
3544   echo "                     Install libspeex from http://speex.org" >&5
3545   echo "                     or .deb users: apt-get install libspeex-dev" >&5
3546   echo "                     or .rpm users: yum install speex-devel" >&5
3549 if test x"$ext_dbus" = xyes; then
3550   if test x"$DBUS_LIBS" != x; then
3551     if test x"$DBUS_CFLAGS" != x; then
3552       echo "        DBUS flags are: $DBUS_CFLAGS"
3553     else
3554       echo "        DBUS flags are: default include path"
3555     fi
3556       echo "        DBUS libs are: $DBUS_LIBS"
3557   else
3558     echo "        WARNING: DBUS library not found." >&4
3559     echo "                 Gnash will be built without support for remote controls." >&4
3560     echo "                 Why not install libdbus from http://www.dbus.org" >&4
3561     echo "                 or .deb users: apt-get install dbus-dev" >&4
3562     echo "                 or .rpm users: yum install dbus-devel" >&4
3563   fi
3566 if test x$build_agg = xyes; then # {
3567   echo "        AGG Pixel format is: $pixelformat"
3568     if test x"$AGG_LIBS" != x; then # {
3569       if test x"${agg25}" != xyes; then # {
3570         echo "        ERROR: Your installation of AGG appears to be version 2.4 or older." >&3
3571         echo "               Please upgrade to AGG 2.5 or greater." >&3
3572         echo "               Install it from http://www.antigrain.com" >&3
3573         echo "               or .deb users: apt-get install libagg-dev" >&3
3574         echo "               or .rpm users: yum install agg-devel" >&3
3575       else # }{
3576         if test x"$AGG_CFLAGS" != x; then # {
3577           echo "        AGG flags are: $AGG_CFLAGS"
3578         else # }{
3579           echo "        AGG flags are: default include path"
3580         fi # }
3581         echo "        AGG libs are: $AGG_LIBS"
3582       fi # }
3583     else # }{
3584       echo "        ERROR: No AGG development package installed!" >&3
3585       echo "               Install it from http://www.antigrain.com" >&3
3586       echo "               or .deb users: apt-get install libagg-dev" >&3
3587       echo "               or .rpm users: yum install agg-devel" >&3
3588     fi # }
3589 fi # }
3591 if test x"$BOOST_LIBS" != x; then
3592         echo "        BOOST flags are: $BOOST_CFLAGS"
3593         echo "        BOOST libs are: $BOOST_LIBS"
3594         echo "        BOOST libs for cygnal are: $BOOST_CYGNAL_LIBS"
3595     dnl fi
3596     if test x"${missing_headers}" != x; then
3597       for i in ${missing_headers}; do
3598         echo "        ERROR: The BOOST $i header file is needed!" >&3
3599         echo "               Install it from http://boost.org" >&3
3600         echo "               or from a Boost development package" >&3
3601       done
3602     fi
3604     if test x"${cygnal}" = x"yes"; then
3605         if test x"${cygnal_missing_libs}" != x; then
3606           for i in ${cygnal_missing_libs}; do
3607             echo "          ERROR: The BOOST $i library is required for cygnal!" >&4
3608             echo "                 Either configure with --disable-cygnal or" >&4
3609             echo "                 install it from http://www.boost.org" >&4
3610             echo "                 or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&4
3611           done
3612         fi
3613     fi
3615     if test x"${missing_libs}" != x; then
3616       for i in ${missing_libs}; do
3617         echo "        ERROR: The BOOST $i library is needed!" >&3
3618         echo "               Install it from http://boost.org" >&3
3619         echo "               or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&3
3620       done
3621     fi
3622 else
3623     echo "        ERROR: No BOOST development package installed!" >&3
3624     echo "               Install it from http://www.boost.org" >&3
3625     echo "               or .deb users: apt-get install libboost-dev libboost-thread-dev" >&3
3626     if test x"$cygnal" = xyes; then
3627     echo "                              and libboost-date-time-dev (for cygnal)" >&3
3628     fi
3629     echo "               or .rpm users: yum install boost-devel" >&3
3632 dnl don't look for the flash compilers when cross compiling.
3633 if test x"$testsuite" = x"yes"; then
3634   if test x$cross_compiling = xno; then
3635     if test x"$MING_LIBS" != x; then
3636       echo "        MING flags are $MING_CFLAGS"
3637       echo "        MING libs are $MING_LIBS"
3638     else
3639       echo "        WARNING: You need to have the Ming development package" >&4
3640       echo "                 installed to run most of the tests in Gnash testsuite." >&4
3641       echo "                 Install it from http://www.libming.org/" >&4
3642       echo "                 or .deb users: apt-get install libming-dev" >&4
3643     fi
3645     if test x"$MAKESWF" != x; then
3646       echo "        MING version code is $MING_VERSION_CODE"
3647       echo "        MAKESWF is $MAKESWF"
3648     else
3649       echo "        WARNING: You need to have the Ming utilities package" >&4
3650       echo "                 version 0.4 or higher installed to run" >&4
3651       echo "                 many of the tests in Gnash testsuite." >&4
3652       echo "                 Install it from http://www.libming.org" >&4
3653       echo "                 or .deb users: apt-get install libming-util" >&4
3654     fi
3656     if test x"$MAKESWF" != x && test $MING_VERSION_CODE -lt 00040006; then
3657       echo "        WARNING: You have an older version of Ming installed and will not" >&4
3658       echo "                 be able to run all of the tests in Gnash testsuite." >&4
3659       echo "                 Install the latest version from http://www.libming.org" >&4
3660     fi
3662     if test x"$SWFDEC_TESTSUITE" != x; then
3663       echo "        SWFDEC testsuite dir is $SWFDEC_TESTSUITE"
3664     fi
3666     if test x"$MTASC" != x; then
3667       echo "        MTASC is $MTASC"
3668       echo "        MTASC CLASSPATH is $MTASC_CLASSPATH"
3669     else
3670       echo "        WARNING: You need to have the MTASC compiler packages installed" >&4
3671       echo "                 to run some of the tests in Gnash testsuite." >&4
3672       echo "                 You can install it from http://mtasc.org" >&4
3673       echo "                 or .deb users: apt-get install mtasc" >&4
3674     fi
3676     if test x"$HAXE" != x; then
3677       echo "        HAXE is $HAXE"
3678       echo "        HAXE CLASSPATH is $HAXE_CLASSPATH"
3679     else
3680       echo "        WARNING: You need to have the HAXE compiler package " >&4
3681       echo "                 version 2.00 or higher installed" >&4
3682       echo "                 to run some of the tests in Gnash testsuite." >&4
3683       echo "                 You can install it from http://haxe.org" >&4
3684       echo "                 or .deb users: apt-get install haxe" >&4
3685     fi
3687     if test x"$SWFMILL" != x; then
3688       echo "        SWFMILL is $SWFMILL"
3689       if test x"$ENABLE_AVM2" != x -a "$SWFMILL_VERSION" -lt 00021206; then
3690         echo "        WARNING: You are building Gnash with AVM2 support but" >&4
3691         echo "                 your swfmill version is too old to run AS3" >&4
3692         echo "                 tests." >&4
3693       fi
3694     else
3695       echo "        WARNING: You need to have the 'swfmill' tool installed" >&4
3696       echo "                 to run some of the tests in Gnash testsuite." >&4
3697       echo "                 You can install it from http://swfmill.org/" >&4
3698       echo "                 or .deb users: apt-get install swfmill" >&4
3699     fi
3701     if test x"$SWFC" != x; then
3702       echo "        SWFC is $SWFC"
3703     else
3704       echo "        WARNING: You need to have 'swfc' from SWFTools installed" >&4
3705       echo "                 to run some of the tests in Gnash testsuite." >&4
3706       echo "                 You can install it from http://www.swftools.org/" >&4
3707       echo "                 or .deb users: apt-get install swftools" >&4
3708     fi
3710     if test x"$AS3COMPILE" != x; then
3711       echo "        AS3COMPILE is $AS3COMPILE"
3712     else
3713       echo "        WARNING: you need as3compile from SWFTools" >&4
3714       echo "                 to run some of the tests in Gnash testsuite." >&4
3715       echo "                 You can install it from http://www.swftools.org/" >&4
3716     fi
3718     if test x"$HTTP_TESTSUITE" != x; then
3719       echo "        HTTP testsuite dir is $HTTP_TESTSUITE"
3720     fi
3722     if test x"$RED5_HOST" != x; then
3723       echo "        RED5 testing host is $RED5_HOST"
3724     fi
3725   fi
3728   if test x"$PERL" != x; then
3729     echo "        PERL is $PERL"
3730   else
3731     echo "        WARNING: You need to have perl installed" >&4
3732     echo "                 to run some of the tests in Gnash testsuite." >&4
3733   fi
3735 if test x"$testsuite" = x"yes"; then
3736   if test x"$CSOUND" != x; then
3737     echo "        CSOUND is $CSOUND"
3738   fi
3741 if test x"$Z_LIBS" != x; then
3742   if test x"$Z_CFLAGS" != x; then
3743     echo "        Z flags are: $Z_CFLAGS"
3744   else
3745     echo "        Z flags are: default include path"
3746   fi
3747   echo "        Z libs are: $Z_LIBS"
3748 else
3749   echo "        RECOMMENDED: You need to have the zlib development packages installed" >&5
3750   echo "                     to play compressed SWF (most of them from version 6 up)" >&5
3751   echo "                     and to display some kinds of JPEG files." >&5
3752   echo "                     Install it from http://www.zlib.net" >&5
3753   echo "                     or .deb users: apt-get install zlib1g-dev" >&5
3754   echo "                     or .rpm users: yum install zlib-devel." >&5
3755   echo "                     It may still be possible to configure without zlib." >&5
3758 if test x"$FREETYPE2_LIBS" != x; then
3759   if test x"$FREETYPE2_CFLAGS" != x; then
3760     echo "        FreeType flags are: $FREETYPE2_CFLAGS"
3761   else
3762     echo "        FreeType flags are: default include path"
3763   fi
3764   echo "        FreeType libs are: $FREETYPE2_LIBS"
3765 else
3766   echo "        RECOMMENDED: You need to have the freetype development packages installed" >&5
3767   echo "                     to use device fonts." >&5
3768   echo "                     Install it from http://www.freetype.org" >&5
3769   echo "                     or .deb users: apt-get install libfreetype6-dev" >&5
3770   echo "                     or .rpm users: yum install freetype-devel" >&5
3771   echo "                     It may still be possible to configure without freetype." >&5
3774 if test x"$FONTCONFIG_LIBS" != x; then
3775   if test x"$FONTCONFIG_CFLAGS" != x; then
3776     echo "        Fontconfig flags are: $FONTCONFIG_CFLAGS"
3777   else
3778     echo "        Fontconfig flags are: default include path"
3779   fi
3780   echo "        Fontconfig libs are: $FONTCONFIG_LIBS"
3781 else
3782   echo "        RECOMMENDED: You need to have the fontconfig development packages installed" >&5
3783   echo "                     to use device fonts." >&5
3784   echo "                     Install it from http://www.fontconfig.org" >&5
3785   echo "                     or .deb users: apt-get install libfontconfig1-dev" >&5
3786   echo "                     or .rpm users: yum install fontconfig-devel" >&5
3787   echo "                     It may still be possible to configure without fontconfig." >&5
3790 if test x$ext_mysql = xyes; then
3791   if test x$mysql != xno; then
3792     if test x"$MYSQL_LIBS" != x; then
3793       echo "        MYSQL flags are: $MYSQL_CFLAGS"
3794       echo "        MYSQL libs are: $MYSQL_LIBS"
3795     else
3796       echo "        ERROR: No MySQL development package is installed." >&3
3797       echo "               Either reconfigure without --enable-extensions=mysql" >&3
3798       echo "               or install MySQL header files from http://www.mysql.org" >&3
3799       echo "               or .deb users: apt-get install libmysqlclient-dev" >&3
3800       echo "                 or .rpm users: yum install mysql-devel" >&4
3801     fi
3802   fi
3805 if test "$GMSGFMT" = ":"; then
3806   echo "        WARNING: You need the gettext package installed to use translations." >&4
3807   echo "                 Required for building a package or 'make distcheck'" >&4
3808   echo "                 Install it from http://www.gnu.org/software/gettext/" >&4
3809   echo "                 or .deb users: apt-get install gettext" >&4
3810   echo "                 or .rpm users: yum install gettext" >&4
3813 if test x"${build_vaapi}" = x"yes"; then
3814   if test x"${LIBVA_CFLAGS}" = xyes; then
3815       echo "        LIBVA flags are: default"
3816     else
3817       echo "        LIBVA flags are: $LIBVA_CFLAGS"
3818       echo "        LIBVA libraries are: $LIBVA_LIBS"
3819   fi
3820   if test x$use_libva_x11 = xyes; then
3821     if test x"${LIBVA_X11_CFLAGS}" = xyes; then
3822       echo "        LIBVA X11 flags are: default"
3823     else
3824       echo "        LIBVA X11 flags are: $LIBVA_X11_CFLAGS"
3825       echo "        LIBVA X11 libraries are: $LIBVA_X11_LIBS"
3826     fi
3827   fi
3828   if test x$use_libva_glx = xyes; then
3829     if test x"${LIBVA_GLX_CFLAGS}" = xyes; then
3830       echo "        LIBVA GLXflags are: default"
3831     else
3832       echo "        LIBVA GLX flags are: $LIBVA_GLX_CFLAGS"
3833     fi
3834     echo "        LIBVA GLX libraries are: $LIBVA_GLX_LIBS"
3835   fi
3838 if test x"$ac_cv_gcc_visibility" != xyes; then
3839   if test x"$npapi" = xyes; then
3840     echo "        WARNING: NPAPI (mozilla) plugin is enabled, but your compiler"
3841     echo "                 does not support symbol visibility. This may cause "
3842     echo "                 the plugin to malfunction and may result in small "
3843     echo "                 children being eaten. You have been warned!"
3844   fi
3847 if test x"${DEJAGNU}" != x""; then
3848   echo "        DEJAGNU's runtest is $DEJAGNU"
3849 else
3850   echo "        WARNING: You need the dejagnu package installed to get a summary" >&4
3851   echo "                 report after running ''make check''" >&4
3852   echo "                 Install it from http://www.gnu.org/software/dejagnu/" >&4
3853   echo "                 or .deb users: apt-get install dejagnu" >&4
3854   echo "                 or .rpm users: yum install dejagnu" >&4
3857 dnl Haiku
3858 if test x"${build_haiku}" = xyes -o x"${build_sound_mkit}" = xyes -o x"${build_media_haiku}" = x"yes"; then
3859     echo "        Haiku libs are: $HAIKU_LIBS"
3862 if test x"$python" = x"yes"; then
3863   if test x"$has_python" = x"yes"; then
3864     echo "        PYTHON flags are: $PYTHON_CFLAGS"
3865     echo "        PYTHON libs are: $PYTHON_LIBS"
3866     echo "        PYTHON executable is are: $PYTHON"
3867   else
3868     echo "        ERROR: No Python development package is installed, but it's enabled." >&3
3869   fi
3871 if test x${build_ssl} = xyes; then
3872   if test x"${has_ssl}" = xyes; then
3873     if test x"${SSL_CFLAGS}" = xyes; then
3874       echo "        SSL flags are: default"
3875     else
3876       echo "        SSL flags are: $SSL_CFLAGS"
3877     fi
3878     echo "        SSL libs are: $SSL_LIBS"
3879   else
3880     echo "        ERROR: No SSL development package is installed, but it's enabled." >&3
3881   fi
3884 if test x${build_ssh} = xyes; then
3885   if test x"${has_ssh}" = xyes; then
3886     if test x"${SSH_CFLAGS}" = xyes; then
3887       echo "        SSH flags are: default"
3888     else
3889       echo "        SSH flags are: $SSH_CFLAGS"
3890     fi
3891     echo "        SSH libs are: $SSH_LIBS"
3892   else
3893     echo "        ERROR: No SSH development package is installed, but it's enabled." >&3
3894   fi
3897 if test x"${build_all_as3}" = x"yes"; then
3898   echo "        Building the entire ActionScript class libary"
3899 else
3900   echo "        Only building these ActionScript classes into the library:"
3901   echo "     ${classlist}"
3904 if test x"$testsuite" = x"yes"; then
3905   if test x"$NETCAT" != x; then
3906     echo "        You have netcat installed, which is only used for testing"
3907   else
3908     echo "        Install netcat for networking test support"
3909   fi
3910   if test x"$WGET" != x; then
3911     echo "        You have wget installed, which is only used for testing"
3912   else
3913     echo "        Install wget for networking test support"
3914   fi
3917 if test x$cross_compiling = xyes; then
3918    if test x"${android_ndk}" != xno; then
3919       AC_MSG_NOTICE([This build is setup for cross compiling for Android])
3920    else
3921       AC_MSG_NOTICE([This build is setup for cross compiling])
3922    fi
3925 echo "--------"
3927 if test x"${cygnal}" = x"yes"; then
3928   echo "        Building Cygnal media server enabled (default). Use --disable-cygnal to disable."
3929 else
3930   echo "        Building Cygnal media server disabled."
3933 if test x"${with-top_level}" != x; then
3934   echo "        Top level for cross compiling support files is: $with_top_level"
3937 if test x"${build_gtk}" = xyes -a x"${pixelformat}" = xrgb565; then
3938   echo "        WARNING: Pixel format RGB565 selected in combination with the" >&4
3939   echo "                 GTK GUI. Only a hacked GTK will work (e.g. on the OLPC)." >&4
3942 if test x"${extensions_list}" != x; then
3943   echo "        Building extensions: ${extensions_list}"
3946 if test x"${security_list}" != x; then
3947   echo "        Enabling security features: ${security_list}"
3950 if test x"${hwaccel_list}" != xnone; then
3951   echo "        Enabling hardware acceleration features: ${hwaccel_list}"
3954 if test x"${statistics_list}" != x; then
3955   echo "        Enabling statistics collecting for: ${statistics_list}"
3958 if test x"${SUPPORTED_GUIS}" = x; then
3959   AC_MSG_ERROR(no supported GUIs found);
3962 echo "        GUI toolkits supported: ${SUPPORTED_GUIS}"
3963 echo "        Renderers supported: ${renderer_list}"
3964 echo "        Hardware Acceleration: ${hwaccel_list}"
3965 echo "        Media handlers: ${media_list}"
3966 echo "        Using ${add_sound} for sound handling"
3967 echo "        Using $with_shm mode for shared memory"
3969 if test x"$docbook" = x"yes"; then
3970   echo '        DocBook document processing enabled (for "make html" and "make pdf")'
3971   if test x"$docbook_styles" != x; then
3972     echo "        Docbook styles sheets in $docbook_styles"
3973   fi
3974 else
3975   echo "        DocBook document processing disabled (default)"
3978 dnl The Framebuffer GUI has several other settings. As it doesn't have X11,
3979 dnl we have to handle input devices ourselves.
3980 if test x"${build_fb}" = xyes; then
3981 echo "        Using ${input_events} for Input"
3982   if test x"${fakefb}" != x; then
3983     echo "        Using shared memory as a fake framebuffer"
3984   fi
3985   if test x"${offscreen}" = xyes; then
3986     echo "        Using offscreen rendering"
3987   fi
3988   if test x"${doublebuf}" = xyes; then
3989     echo "        Using double buffering when rendering"
3990   fi
3993 if test -s $cwarn; then
3994   echo ""
3995   cat $cwarn
3996   rm $cwarn
3997   echo ""
3998   echo "Gnash should still compile even with these warnings."
3999   echo "If it doesn't, report the warnings as a bug."
4000 else
4001   rm $cwarn
4004 if test -s $crec; then
4005   echo ""
4006   cat $crec
4007   rm $crec
4008   echo ""
4009   echo "Gnash should still compile, but you'll miss important support"
4010 else
4011   rm $crec
4014 dnl If anything critical is missing, don't bother to continue
4015 if test -s $cerr; then
4016   echo ""
4017   cat $cerr >&2
4018   rm $cerr
4019   AC_MSG_ERROR([Please install required packages])
4020 else
4021   rm $cerr
4025 if test x"$fork" = x"no"; then
4026   AC_MSG_ERROR([Currently only forking the standalone player works!])
4028 echo ""
4030 # Local Variables:
4031 # c-basic-offset: 2
4032 # tab-width: 2
4033 # indent-tabs-mode: nil
4034 # End: