Tell more about "Unexpected color value" (which is likely another case in which we...
[gnash.git] / configure.ac
blob6daafb3f61571ba9737ca53c71bfb41669ecd7af
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*)
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*)
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_MSG_CHECKING([For the version of libtool])
286 if test -d ${srcdir}/libltdl/libltdl; then
287   ltver=2.x
288 else
289   ltver=1.x
291 ltmajor=`echo $ltver | cut -d '.' -f 1`
292 AC_MSG_RESULT([$ltver])
293 AM_CONDITIONAL(LIBLTDL2, [test $ltmajor -eq 2])
294 AM_CONDITIONAL(LIBLTDL1, [test $ltmajor -eq 1])
295 if test $ltmajor -eq 1; then
296   AC_LIBLTDL_CONVENIENCE
297   AC_LIBTOOL_DLOPEN
298   if test x"${windows}" = x"yes"; then
299     dnl The following macro may be empty; the colon is necessary
300     dnl in this case to avoid an empty if statement (which is a syntax error).
301     AC_LIBTOOL_WIN32_DLL
302     :
303   fi
304   AC_DISABLE_STATIC
305 else
306   LT_INIT([dlopen win32-dll disable-static])
307   LTDL_INIT([convenience recursive])
309 AC_PROG_LIBTOOL
311 AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
312 AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
314 AC_C_BIGENDIAN
315 AC_C_CONST
316 AC_C_INLINE
317 AC_SUBST([LIBTOOL_DEPS])
318 AC_LIB_LTDL
320 AM_CONDITIONAL(ENABLE_SHARED, [test x"${enable_shared}" = xyes])
321 AM_CONDITIONAL(ENABLE_STATIC, [test x"${enable_shared}" = xno])
322 dnl -- AM_CONDITIONAL(STATIC_GUI, test x"${dynamic_gui}" = xno -o x"${enable_shared}" = xno)
324 AC_PATH_PROG(DEJAGNU, runtest)
326 dnl AC_CHECK_LIB(ltdl, lt_dlmutex_register, AC_DEFINE(LT_DLMUTEX, 1, [Has lt_dlmutex_register]),
327 dnl                                         AC_DEFINE(LT_DLMUTEX, 0, [doesn't have lt_dlmutex_register]) )
329 dnl These options are for Cygnal, which collects optional statistics
330 dnl on all the network traffic By default, we turn on statistics
331 dnl collecting for the incoming and outgoing queues, since those are
332 dnl required to be compatiable with FMS 3, and the ActionScript server
333 dnl management API. buffers are the lowest level data storage, this
334 dnl data is the time spent in the queue, and is primarily only used
335 dnl for tuning the queueing API in Gnash. Memoryis the same, it's only
336 dnl used by developers for tuning performance of memory allocations in
337 dnl Gnash.
338 buffers=no
339 que=no
340 memory=no
341 cache=yes
342 stat_proplookup=no
343 AC_ARG_WITH(statistics,
344   AC_HELP_STRING([--with-statistics=], [Specify which statistics features to enable]),
345   if test -n ${withval}; then
346     if test "x${withval}" != "xno"; then
347       extlist="${withval}"
348       withval=`echo ${withval} | tr '\054' ' ' `
349     else
350       extlist=""
351       withval=""
352     fi
353   fi
354   statistics_list=""
355   nstatistics=0
356   while test -n "${withval}" ; do
357     val=`echo ${withval} | cut -d ' ' -f 1`
358     [case "${val}" in
359       buffers)
360         buffers=yes
361         nstatistics=$((nstatistics+1))
362         ;;
363       que)
364         que=yes
365         nstatistics=$((nstatistics+1))
366         ;;
367       memory)
368         memory=yes
369         nstatistics=$((nstatistics+1))
370         ;;
371       cache)
372         cache=yes
373         nstatistics=$((nstatistics+1))
374         ;;
375       proplookup)
376         stat_proplookup=yes
377         nstatistics=$((nstatistics+1))
378         ;;
379       all|ALL)
380         buffers=yes
381         memory=yes
382         queu=yes
383         cache=yes
384         stat_proplookup=yes
385         nstatistics=5           dnl this must be incremented if you add anything
386         ;;
387       *) AC_MSG_ERROR([invalid statistics feature specified: ${withval} given (accept: buffers|que|memory|cache|proplookup|all)])
388         ;;
389       esac]
390     withval=`echo ${withval} | cut -d ' ' -f 2-6`
391     if test "x$val" = "x$withval"; then
392       break;
393     fi
394   done
396 if test x${buffers} = xyes; then
397   statistics_list="${statistics_list} buffers"
398   AC_DEFINE(USE_STATS_BUFFERS, [1], [Support statistics collecting for the queue buffers])
399   AC_MSG_WARN([This option will effect your performance])
402 if test x${memory} = xyes; then
403   statistics_list="${statistics_list} memory"
404   AC_DEFINE(USE_STATS_MEMORY, [1], [Support statistics collecting for all memory profiling])
405   AC_MSG_WARN([This option will effect your performance])
408 if test x${que} = xyes; then
409   statistics_list="${statistics_list} queues"
410   AC_DEFINE(USE_STATS_QUEUE, [1], [Support statistics collecting for the queues])
413 if test x${cache} = xyes; then
414   statistics_list="${statistics_list} cache"
415   AC_DEFINE(USE_STATS_CACHE, [1], [Support statistics collecting for the cache])
418 if test x${stat_proplookup} = xyes; then
419   statistics_list="${statistics_list} proplookup"
420   AC_DEFINE(GNASH_STATS_OBJECT_URI_NOCASE, [1], [Collecting and report stats about ObjectURI case lookups])
421   AC_DEFINE(GNASH_STATS_PROPERTY_LOOKUPS, [1], [Collecting and report stats about property lookups])
422   AC_DEFINE(GNASH_STATS_STRING_TABLE_NOCASE, [1], [Collecting and report stats about string_table::key case lookups])
425 dnl this is just so Makefile can print the same list
426 STATISTICS_LIST="$statistics_list"
427 AC_SUBST(STATISTICS_LIST)
430 # These settings are compile time options for the security
431 # setting for anything that lets gnash exchange data with
432 # other applications. Currently this only supports Shared
433 # Objects and Local Connections. Shared Objects are like
434 # your web browsers cookies, and Local Connections use
435 # shared memory to execute methods remotely, and to
436 # exchange data.
438 # The default is to enable everything, and these can
439 # also be controlled dynamically by the $HOME/.gnashrc
440 # file.
442 solreadonly=no
443 localconnection=yes
444 lctrace=yes
446 AC_ARG_WITH(security,
447   AC_HELP_STRING([--with-security=], [Specify which security features to enable]),
448   if test -n ${withval}; then
449     if test "x${withval}" != "xno"; then
450       extlist="${withval}"
451       withval=`echo ${withval} | tr '\054' ' ' `
452     else
453       extlist=""
454       withval=""
455     fi
456   fi
457   security_list=""
458   nsecurity=0
459   while test -n "${withval}" ; do
460     val=`echo ${withval} | cut -d ' ' -f 1`
461 dnl    security_list="${security_list} ${val}"
462     [case "${val}" in
463       solreadonly)
464         solreadonly=yes
465         nsecurity=$((nsecurity+1))
466         ;;
467       lc)
468         localconnection=yes
469         nsecurity=$((nsecurity+1))
470         ;;
471       lctrace)
472         lctrace=yes
473         nsecurity=$((nsecurity+1))
474         ;;
475       all|ALL)
476         solreadonly=yes
477         lc=yes
478         lctrace=yes
479         nsecurity=3
480         ;;
481       *) AC_MSG_ERROR([invalid security feature specified: ${withval} given (accept: solreadonly|lc|lctrace)])
482         ;;
483       esac]
484     withval=`echo ${withval} | cut -d ' ' -f 2-6`
485     if test "x$val" = "x$withval"; then
486       break;
487     fi
488   done
490 if test xlctrace = xyes; then
491   security_list="${security_list} lctrace"
492   AC_DEFINE(USE_LC_TRACE, [1],
493            [Support LocalConnection])
494   AC_MSG_NOTICE([This build supports LocalConnection tracing])
495   AC_MSG_WARN([This option will effect your performance])
498 if test x$localconnection = xyes; then
499   security_list="${security_list} localconnection"
500   AC_DEFINE(USE_LC, [1],
501                  [Support LocalConnection])
502   AC_MSG_NOTICE([This build supports LocalConnection])
504 if test x$solreadonly = xyes; then
505   security_list="${security_list} solreadonly"
506   AC_DEFINE(USE_SOL_READONLY, [1],
507                  [Shared Objects are read-only])
508   AC_MSG_NOTICE([Shared Objects are read-only])
510 SECURITY_LIST="$security_list"
511 AC_SUBST(SECURITY_LIST)
513 dnl For Haiku, we know the sysroot is in a non-standard place
514 dnl it is important that -lagg comes before -lbe
515 if test x"${haiku}" = xyes; then
516   HAIKU_LIBS=-lbe
517   AC_SUBST(HAIKU_LIBS)
520 DLOPEN="-dlopen"
521 DLPREOPEN="-dlpreopen"
522 AC_SUBST(DLOPEN)
523 AC_SUBST(DLPREOPEN)
525 dnl dnl Substitute INCLTDL and LIBLTDL in the Makefiles
526 AC_SUBST(INCLTDL)
527 AC_SUBST(LIBLTDL)
528 AC_SUBST(LIBTOOL_DEPS)
530 dnl Darwin uses libtool instead of ar to produce libraries. We determine which one
531 dnl we have here now. For some reason on Darwin, we don't get the
532 dnl count from grep via stdin correctly. Writing a temp file does the
533 dnl trick, so although it's ugly, that's what we gotta do...
534 AC_MSG_CHECKING([which type of library archiver we have])
535 rm -f .tmp
536 libtool > .tmp 2>&1
537 archiver=`grep -c dynamic .tmp 2>&1`
538 rm -f .tmp
539 dnl is there any good way to report what we found here?
540 AC_MSG_RESULT()
541 if test x"${archiver}" != x && test "${archiver}" -eq 1; then
542 dnl   if test "$enable_shared" = no; then
543 dnl     AR="libtool -static"
544 dnl   else
545 dnl     AR="libtool -dynamic"
546 dnl     CXXFLAGS="${CXXFLAGS} -dynamic"
547    export MACOSX_DEPLOYMENT_TARGET="10.3"
548 dnl   fi
549 dnl   AR_FLAGS="-o"
550    darwin=yes
551 else
552    darwin=no
555 dnl When cross compiling, limit the search directories cause otherwise
556 dnl we may get the host headers or libraries by accident. These values
557 dnl are exported, so all the other configure tests in macros/*.m4 use
558 dnl these same settings rather than duplicating them like we used to.
559 dnl To override thise, use the --with-*-incl= and --with-*-libs=
560 dnl options to configure.
561 if test x$cross_compiling = xyes; then
562   AC_MSG_NOTICE([Configuring Gnash for cross compilation])
563   export pkgroot="`$CXX -print-search-dirs | grep "install:" | sed -e 's/install: //' -e 's:/lib/gcc/.*::'`"
564   dnl pkgroot only works correctly with builds of cross tools not in
565   dnl /usr, ie... installed from the distribution packages, or just
566   dnl plain installed in the system tools. This contaminates configure
567   dnl when building for variations of the same basic architecture,
568   dnl like i686-linux -> i586-mingw32.
569   if test x${pkgroot} = "/usr"; then
570     export pkgroot=""
571   fi
572   export incllist="`eval echo ${with_top_level}/include ${pkgroot}/${host_alias}/include ${pkgroot}/include`"
573   export libslist="`eval echo ${with_top_level}/lib ${pkgroot}/${host_alias}/lib ${pkgroot}/lib64 ${pkgroot}/lib32 ${pkgroot}/lib`"
574   export pathlist="`eval echo ${pkgroot}/${host_alias}/bin:${pkgroot}/bin`"
575   npapi=no
576 else
577   AC_MSG_NOTICE([Configuring Gnash for native compilation])
578   export incllist="`eval cat ${srcdir}/macros/incllist`"
579   export libslist="`eval cat ${srcdir}/macros/libslist`"
580   export pathlist=$PATH
583 if test x"${android_ndk}" != xno; then
584    incllist="${android_ndk}/include ${incllist}"
587 AM_CONDITIONAL(CROSS_COMPILING, [ test x$cross_compiling = xyes ])
589 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
590 dnl !! 
591 dnl !! IMPORTANT NOTICE 
592 dnl !!
593 dnl !!  Any call to GNASH_PATH_XXX must be be given *after* this snippet.
594 dnl !!  This is to ensure that PKG_CONFIG, cross_compiling and incllist are
595 dnl !!  properly set at the time of call.
596 dnl !!
597 dnl !!  Also GNASH_PKG_FIND has to be called later. Not sure
598 dnl !!  why but calling before breaks detection of CPP (see
599 dnl !!  gnash-dev mailing archives for June 12 2009
600 dnl !!  http://lists.gnu.org/archive/html/gnash-dev/2009-06/index.html
601 dnl !! 
602 dnl !! 
603 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
605 dnl Check for PKG_CONFIG before any GNASH_PATH call
606 PKG_PROG_PKG_CONFIG
608 dnl --------------------------------------------------------
609 dnl  GUI selection
610 dnl --------------------------------------------------------
612 has_gtk2=no        dnl FIXME: has_* shouldn't be in configure but in a macro
613 build_haiku=no
614 build_aos4=no      dnl AmigaOS4 GUI
615 build_kde3=no
616 build_kde4=no
617 build_qtopia3=no
618 build_qtopia4=no
619 build_gtk=no
620 build_qt3=no
621 build_qt4=no
622 build_fb=no                     dnl Raw framebuffer
623 build_fltk=no
624 build_sdl=no
625 build_riscos=no                 dnl Native OS2 GUI
626 build_aqua=no                   dnl Native MacOSX
627 build_hildon=no                 dnl Native LIMO
628 build_alp=no                    dnl Acess Linux Platform using Hiker
629 build_dump=no
630 AC_ARG_ENABLE(gui,
631   AC_HELP_STRING([--enable-gui=], [Enable support for the specified GUI toolkits (default=gtk,kde4)]),
632   [if test -n ${enableval}; then
633     enableval=`echo ${enableval} | tr '\054' ' ' `
634   fi
635   while test -n "${enableval}" ; do
636     val=`echo ${enableval} | cut -d ' ' -f 1`
637     case "${val}" in
638       gtk|GTK|gtk2|GTK2)
639         build_gtk=yes
640         ;;
641       kde3|KDE3)
642         build_qt3=yes
643         build_kde3=yes
644         ;;
645       kde4|KDE4)
646         build_qt4=yes
647         build_kde4=yes
648         ;;
649       qtopia3|QTOPIA3)
650         build_qtopia3=yes
651         build_qt3=yes
652         ;;
653       qtopia4|QTOPIA4)
654         build_qtopia4=yes
655         build_qt4=yes
656         ;;
657       qt3|QT3)
658         build_qt3=yes
659         ;;
660       qt4|QT4)
661         build_qt4=yes
662         ;;
663       sdl|SDL)
664         build_sdl=yes
665         ;;
666       aqua|AQUA|Aqua)
667         build_aqua=yes
668         ;;
669       riscos|RISCOS|RiscOS)
670         build_riscos=yes
671         ;;
672       fltk|FLTK|fltk2|FLTK2)
673         build_fltk=yes
674         ;;
675       fb|FB)
676         build_fb=yes
677         ;;
678       aos4|AOS4)
679         build_aos4=yes
680         ;;
681       haiku|HAIKU)
682         build_haiku=yes
683         ;;
684       dump|DUMP)
685         build_dump=yes
686         ;;
687       all|ALL)
688         build_dump=yes
689         build_fb=yes
690         build_fltk=yes
691         build_qt3=yes
692         build_kde3=yes
693         build_kde4=yes
694         build_qt4=yes
695         build_sdl=yes
696         ;;
697       *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: gtk|kde3|kde4|fltk|sdl|riscos|aqua|fb|qtopia3|qtopia4|dump|aos4|haiku)])
698          ;;
699       esac
700     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
701     if test "x$val" = "x$enableval"; then
702       break;
703     fi
704   done],
705   [if test x"${openbsd_os}" = x"openbsd"; then
706     build_kde3=yes;
707     build_qt3=yes;
708     build_gtk=yes;
709   else if test x"${haiku}" = xyes; then
710     build_haiku=yes;
711   else
712     build_kde4=yes;
713     build_qt4=yes;
714     build_gtk=yes;
715   fi
716   fi]
719 if test x"${build_haiku}" = xyes; then
720   if test x"$haiku" != xyes; then
721     echo "        ERROR: Can not build Haiku gui outside of Haiku
722 operating system." >&3
723   fi
726 dnl We can use Xephyr or fbe to create a fake framebuffer instead of real
727 dnl video memory. This lets us test on a desktop machine.
728 AC_ARG_WITH(fakefb,
729 AC_HELP_STRING([--with-fakefb],
730  [specify a file to be mapped instead of a real framebuffer]),
731  with_fakefb=${withval})
733 fakefb=
734 if test x"${with_fakefb}" = xyes; then
735   dnl This is the default file name fbe uses.
736   fakefb=/tmp/fbe_buffer
737 else
738   if test x"${with_fakefb}" != x; then
739     fakefb=${with_fakefb}
740   fi
742 FAKEFB=${fakefb}
743 AC_SUBST(FAKEFB)
745 if test x"${fakefb}" != x; then
746     AC_DEFINE(ENABLE_FAKE_FRAMEBUFFER, [1], [Enable using a file instead of a real framebuffer])
750 dnl --------------------------------------------------------
751 dnl  Sound handler selection
752 dnl --------------------------------------------------------
753 add_sound=
754 build_sound_sdl=no
755 build_sound_ahi=no
756 build_sound_mkit=no
757 AC_ARG_ENABLE(sound,
758   AC_HELP_STRING([--enable-sound=[[sdl|ahi|mkit]]], [Use the specified sound handler (default=sdl)]),
759      [case "${enableval}" in
760       sdl|SDL|Sdl)
761         build_sound_sdl=yes
762         add_sound="sdl"
763         ;;
764       ahi|AHI|Ahi)
765         build_sound_ahi=yes
766         add_sound="ahi"
767         ;;
768       mkit|MKIT|Mkit)
769         build_sound_mkit=yes
770         add_sound="mkit"
771         ;;
772      esac],
773   [if test x"${haiku}" = xyes; then
774      build_sound_mkit=yes
775      add_sound="mkit"
776    else
777      build_sound_sdl=yes
778      add_sound=sdl
779    fi]
783 dnl --------------------------------------------------------
784 dnl  Media handler selection
785 dnl --------------------------------------------------------
786 build_media_gst=no
787 build_media_ffmpeg=no
788 build_media_none=no
789 AC_ARG_ENABLE(media,
790   AC_HELP_STRING([--enable-media=handler],
791     [Enable media handling support using the specified handler: gst, ffmpeg or none (no sound) [[gst]] ]),
792   
793     if test -n ${enableval}; then
794       enableval=`echo ${enableval} | tr '\054' ' ' `
795     fi
796     while test -n "${enableval}"; do
797       val=`echo ${enableval} | cut -d ' ' -f 1`
798       [case "${val}" in
799         GST|gst)
800           build_media_gst=yes
801           media_list="${media_list}gst "
802           ;;
803         FFMPEG|ffmpeg)
804           build_media_ffmpeg=yes
805           media_list="${media_list}ffmpeg "
806           ;;
807         no|NO|none)
808           build_media_none=yes
809           build_media_ffmpeg=no
810           build_media_gst=no
811           media_list="none"
812           ;;
813         *)
814           AC_MSG_ERROR([bad value ${enableval} for --enable-media option])
815           ;;
816      
817       esac]
818       enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
819       if test "x$val" = "x$enableval"; then
820         break;
821       fi
822     done,
823     [if test x"${build_haiku}" = xyes; then
824         build_media_ffmpeg=yes
825         build_media_haiku=yes
826         media_list="ffmpeg haiku"
827      else
828         build_media_gst=yes
829         media_list="gst"
830     fi]
833 dnl If no render is selected, and media handling isn't disabled, them enable gst
834 if test x${build_media_none} = xno -a x${build_media_gst} = xno -a x${build_media_ffmpeg} = xno; then
835   build_media_gst=yes
838 MEDIA_CONFIG="${media_list}"
839 AC_SUBST(MEDIA_CONFIG)
841 if test x"$build_media_ffmpeg" = x"yes"; then
842   GNASH_PATH_FFMPEG
845 dnl -------------------------------
846 dnl Input Device selection
847 dnl -------------------------------
849 dnl Multiple input devices are supported. These can all work in
850 dnl varying combinations, so several may be listed. These are only
851 dnl required when using the Framebuffer, as without the X11 desktop,
852 dnl Gnash has to handle all these internally. This can get
853 dnl messy, as one might want to use a touchscreen with a normal mouse
854 dnl or keyboard attached. 
855 dnl By default, don't build any of these, as they are only for the Framebuffer
856 dnl running without X11.
857 if test x"${build_fb}" = xyes; then
858 build_ps2mouse=yes
859 build_ps2keyboard=no
860 build_input_events=yes
861 build_tslib=yes
862 input_events="PS/2 Mouse, Input Devices, Touchscreen via Tslib"
863 else
864 build_ps2mouse=no
865 build_ps2keyboard=no
866 build_input_events=no
867 build_tslib=no
868 input_events=
870 AC_ARG_ENABLE(input,
871   AC_HELP_STRING([--enable-input=], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
872   [if test -n ${enableval}; then
873     enableval=`echo ${enableval} | tr '\054' ' ' `
874   fi
875   while test -n "${enableval}" ; do
876     val=`echo ${enableval} | cut -d ' ' -f 1`
877     case "${val}" in
878       ps2m*|PS2m*|m*|M*)        dnl a PS/2 style mouse
879         build_ps2mouse=yes
880         input_events="${input_events}, PS/2 Mouse"
881         ;;
882       ps2k*|PS2K*|k*|K*)        dnl a PS/2 style keyboard
883         build_ps2keyboard=yes
884         input_events="${input_events}, PS/2 Keyboard"
885         ;;
886       i*|I*|ev*|Ev*)    dnl use the new Input Event, which supports both
887         input_events="${input_events}, Input Event Device"
888         build_input_events=yes
889         ;;
890       t*|T*) dnl use a touchscreen with tslib, which works like a mouse
891         build_tslib=yes
892         input_events="${input_events}, Touchscreen"
893         ;;
894       *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
895          ;;
896       esac
897     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
898     if test "x$val" = "x$enableval"; then
899       break;
900     fi
901   done],
904 if test x"${build_tslib}" = xyes; then
905   AC_DEFINE(USE_TSLIB, [1], [Use a tslib supported touchscreen])
906   GNASH_PKG_FIND(ts, [tslib.h], [Touchscreen library], ts_config)
908 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} != xno])
910 if test x"${build_ps2mouse}" = xyes; then
911   AC_DEFINE(USE_MOUSE_PS2, [1], [Add support for a directly using a PS/2 Mouse])
913 AM_CONDITIONAL(ENABLE_MOUSE, [test x"${build_ps2mouse}" = xyes])
915 if test x"${build_ps2keyboard}" = xyes; then
916   AC_DEFINE(USE_KEYBOARD_PS2, [1], [Add support for directly using a PS/2 Keyboard])
918 if test x"${build_input_events}" = xyes; then
919   AC_DEFINE(USE_INPUT_EVENTS, [1], [Add support for a directly using Linux Input Event Devices])
921 AM_CONDITIONAL(ENABLE_INPUT_EVENTS, [test x"${build_input_events}" = xyes])
922 dnl this is enabled if we have any input devices at all
923 AM_CONDITIONAL(ENABLE_INPUT_DEVICES, [test x"${input_events}" != x])
925 dnl -------------------------------
926 dnl Renderer Selection
927 dnl -------------------------------
928 input_events=
929 dnl By default, we want to to build all renderers
930 build_ovg=no
931 build_gles=no
932 build_ogl=yes
933 build_agg=yes
934 build_cairo=yes
935 renderer_list="OpenGL AGG Cairo"
936 nrender=3
937 AC_ARG_ENABLE(renderer,
938   AC_HELP_STRING([--enable-renderer=], [Enable support for the specified renderers (ogl|gles|cairo|agg|all, default=all)]),
939   if test -n ${enableval}; then
940     if test "x${enableval}" != "xno" -o "x${enableval}" != "xnone" ; then
941       renderer_list="none"
942       enableval=`echo ${enableval} | tr '\054' ' ' `
943     else
944       renderer_list=""
945       enableval=""
946     fi
947   fi
948   renderer_list=""
949   nrender=0
950   build_ovg=no
951   build_ogl=no
952   build_gles=no
953   build_agg=no
954   build_cairo=no
955   while test -n "${enableval}" ; do
956     val=`echo ${enableval} | cut -d ' ' -f 1`
957     [case "${val}" in
958       no*|NO*)
959         renderer_list="none"
960         build_ovg=no
961         build_ogl=no
962         build_gles=no
963         build_agg=no
964         build_cairo=no
965         nrender=1
966         ;;
967       all|ALL)
968         renderer_list="OpenGL, Cairo, AGG"
969         build_ogl=yes
970         build_agg=yes
971         build_cairo=yes
972         build_ovg=yes
973         nrender=4
974         ;;
975       ogl|OGL|OpenGL|opengl)
976         renderer_list="${renderer_list} OpenGL"
977         build_gles=no
978         build_ogl=yes
979         nrender=$((nrender+1))
980         ;;
981       gles|GLES|GL-ES|gl-es)
982         renderer_list="${renderer_list} OpenGL-ES"
983         build_gles=yes
984         build_ogl=no
985         nrender=$((nrender+1))
986         ;;
987       ovg|OVG|OpenVG|openvg)
988         renderer_list="${renderer_list} OpenVG"
989         build_ogv=yes
990         nrender=$((nrender+1))
991         ;;
992       agg|AGG)
993         renderer_list="${renderer_list} AGG"
994         build_agg=yes
995         nrender=$((nrender+1))
996         ;;
997       cairo|CAIRO|Cairo*)
998         renderer_list="${renderer_list} Cairo"
999         build_cairo=yes
1000         nrender=$((nrender+1))
1001         ;;
1002       *) AC_MSG_ERROR([invalid renderer specified: ${enableval} given (accept:  (ogl|cairo|agg|all)])
1003         ;;
1004       esac]
1005     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1006     if test "x$val" = "x$enableval"; then
1007       break;
1008     fi
1009   done
1011 dnl 16 bit: RGB555, RGB565
1012 dnl 24 bit: RGB24, BGR24
1013 dnl 32 bit: RGBA32, BGRA32
1014 pixelformat=all
1015 AC_ARG_WITH(pixelformat,
1016   AC_HELP_STRING([--with-pixelformat=], [Use the specified pixel format for AGG (default=all)]),
1017   [if test -n ${withval}; then
1018     pixelformat="${withval}"
1019     withval=`echo ${withval} | tr '\054' ' ' `
1020   fi
1021   while test -n "${withval}" ; do
1022     val=`echo ${withval} | cut -d ' ' -f 1`
1023     case "${val}" in
1024       all)
1025         # allow special value "all" set by user (handled below)
1026         ;; 
1027       argb32|ARGB32)
1028         AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32])
1029         ;;
1030       abgr32|ABGR32)
1031         AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32])
1032         ;;
1033       bgra32|BGRA32)
1034         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1035         ;;
1036       bgr24|BGR24)
1037         AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24])
1038         ;;
1039       rgba32|RGBA32)
1040         AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32])
1041         ;;
1042       rgb24|RGB24)
1043         AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24])
1044         ;;
1045       rgb555|RGB555)
1046         AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555])
1047         ;;
1048       rgb565|RGB565)
1049         AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565])
1050         ;;
1051       *) AC_MSG_ERROR([invalid pixel format ${withval} given (accept: all|RGB555|RGB565|RGB24|BGR24|BGRA32|RGBA32|ARGB32|ABGR32)])
1052          ;;
1053       esac
1054     withval=`echo ${withval} | cut -d ' ' -f 2-6`
1055     if test "x$val" = "x$withval"; then
1056       break;
1057     fi
1058   done],
1059   [if test x$build_haiku = xyes -a x$build_sdl != xyes; then
1060         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1061         pixelformat=BGRA32
1062    fi]
1065 if test x$pixelformat = xall; then
1066   if test x$build_agg = xyes; then
1067     ### The fact that we're building GTK doesn't mean we're not also
1068     ### building KDE or SDL, each needing its own pixel format !
1069     #if test x$build_gtk = xyes; then
1070     #  AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1071     #  pixelformat="RGB24"
1072     #else
1073       AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555 pixel format])
1074       AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565 pixel format])
1075       AC_DEFINE(PIXELFORMAT_RGB24,  [1], [RGB24 pixel format])
1076       AC_DEFINE(PIXELFORMAT_BGR24,  [1], [BGR24 pixel format])
1077       AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32 pixel format])
1078       AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32 pixel format])
1079       AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32 pixel format])
1080       AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32 pixel format])
1081     #fi
1082   fi
1085 AM_CONDITIONAL(BUILD_OVG_RENDERER, [ test x$build_ovg = xyes ])
1086 AM_CONDITIONAL(BUILD_GLES_RENDERER, [ test x$build_gles = xyes ])
1087 AM_CONDITIONAL(BUILD_OGL_RENDERER, [ test x$build_ogl = xyes])
1088 AM_CONDITIONAL(BUILD_AGG_RENDERER, [ test x$build_agg = xyes ])
1089 AM_CONDITIONAL(BUILD_CAIRO_RENDERER, [ test x$build_cairo = xyes ])
1091 if test x"${build_ogl}" = xyes; then
1092    AC_DEFINE([RENDERER_OPENGL], [], [Use OpenGL renderer])
1095 if test x"$build_agg" = xyes; then
1096   AC_DEFINE([RENDERER_AGG], [], [Use AntiGrain renderer])
1099 if test x"$build_cairo" = xyes; then
1100   GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1101   AC_DEFINE([RENDERER_CAIRO], [], [Use cairo renderer])
1104 if test x"${build_agg}" = xyes; then
1105    GNASH_PATH_AGG
1108 dnl VA API is used by default for all H.264 videos. HW requirements:
1109 dnl     * AMD GPUs with UVD2 and xvba-video VA driver
1110 dnl     * NVIDIA GPUs with vdpau-video VA driver
1111 dnl     * All HW with a VA driver supporting the VA/GLX extensions or
1112 dnl     vaPutSurface(Pixmap,...). This may include the Intel
1113 dnl     Moorestown platform and future G45 VA driver.
1114 dnl NOTE: it is possible to use Gnash/VAAPI on platforms with an Intel
1115 dnl GMA500 but you currently will have to build the AGG renderer
1116 dnl instead of the OGL (OpenGL) one. 
1118 build_vaapi=yes
1119 hwaccel_list="VAAPI"
1120 nhwaccel=1
1121 AC_ARG_ENABLE(hwaccel,
1122   AC_HELP_STRING([--enable-hwaccel], [Specify which accleration to support to enable (none,vaapi,omap)]),
1123   if test -z ${enableval}; then
1124       hwaccel_list="none"
1125       nhwaccel=0
1126       enableval=""
1127   fi
1128   while test -n "${enableval}" ; do
1129     val=`echo ${enableval} | cut -d ' ' -f 1`
1130     [case "${val}" in
1131       no*|NO*)
1132         hwaccel_list="none"
1133         build_vaapi=no
1134         build_omap=no
1135         nhwaccel=0
1136         ;;
1137       va*|VA*)
1138         hwaccel_list="${hwaccel_list} vaapi"
1139         build_vaapi=yes
1140         nhwaccel=$((nhwaccel+1))
1141         ;;
1142       all|ALL)
1143         hwaccel_list="VAAPI OMAP"
1144         nhwaccel=2
1145         build_omap=yes
1146         build_vaapi=yes
1147         ;;
1148       omap*|OMAP*)
1149         hwaccel_list="${hwaccel_list} omap"
1150         build_omap=yes
1151         nhwaccel=$((nhwaccel+1))
1152         ;;
1153       *) AC_MSG_ERROR([invalid hwaccel feature specified: ${enableval} given (accept: none,vaapi,omap)])
1154         ;;
1155       esac]
1156     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1157     if test "x$val" = "x$enableval"; then
1158       break;
1159     fi
1160   done
1163 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi}" = x"yes"; then
1164   use_libva=no
1165   use_libva_x11=no
1166   use_libva_glx=no
1167   dnl if the version of FFmpeg is recent enough, (r20957, 52.45.0), then
1168   dnl look for VAAPI support so we can use use the VAAPI enabled FFmpeg.
1169   if test x"${have_ffmpeg_vaapi}" = xyes; then
1170     use_libva=yes
1171     GNASH_PKG_FIND([libva],
1172       [va/va.h],
1173       [Video Acceleration API],
1174       vaInitialize
1175     )
1177     use_libva_x11=yes
1178     GNASH_PKG_FIND([libva_x11],
1179       [va/va_x11.h],
1180       [VA API (X11 display)],
1181       vaGetDisplay,
1182       [], [-lva-x11]
1183     )
1185     if test x$build_ogl = xyes; then
1186       use_libva_glx=yes
1187       GNASH_PKG_FIND([libva_glx],
1188         [va/va_glx.h],
1189         [VA API (GLX display)],
1190         vaGetDisplayGLX,
1191         [], [-lva-glx]
1192       )
1193     fi
1194   fi
1197 dnl libVA drivers. We declare conditional for both the option being
1198 dnl selected, as well as whether or not it's found. This we can
1199 dnl generate better error handling if it's not found.
1200 AM_CONDITIONAL(BUILD_OMAP, test x"${build_omap}" = xyes)
1201 AM_CONDITIONAL(USE_VAAPI, test x"${use_libva}" = xyes)
1203 dnl Only build the vaapi support if we have a version of FFmpeg that
1204 dnl supports it.
1205 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${found_libva_incl}" = xyes; then
1206   build_vaapi=yes
1207   hwaccel_list="VAAPI"
1208   nhwaccel=1
1209 else
1210   build_vaapi=no
1211   hwaccel_list=""
1212   nhwaccel=0
1215 dnl Until the hwaccel patches in FFmpeg wind up in the ffmpeg-plugin,
1216 dnl restrict using HW Accel to using FFmpeg directly.
1217 dnl test xyes = xyes -a ( x != xyes -o x != xyes )
1218 if test x"${build_vaapi}" = x"yes" -a x"${have_ffmpeg}" != x"yes"; then
1219   AC_MSG_ERROR(["Hardware acceleration currently not supported unless using FFmpeg."])
1222 AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = xyes)
1223 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
1224 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
1227 AC_PATH_PROG(PERL, perl)
1228 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
1230 AC_PATH_PROG(CSOUND, csound)
1231 AM_CONDITIONAL(HAVE_CSOUND, test x"$CSOUND" != x)
1233 dnl -------------------------------------
1234 dnl LIRC
1235 dnl -------------------------------------
1236 AC_ARG_ENABLE(lirc, AC_HELP_STRING([--enable-lirc], [Disable support for Lirc]),
1237 [case "${enableval}" in
1238   yes) lirc=yes ;;
1239   no)  lirc=no ;;
1240   *)   AC_MSG_ERROR([bad value ${enableval} for enable-lirc option]) ;;
1241 esac], lirc=no)
1243 if test x"$lirc" = x"yes"; then
1244   AC_DEFINE([USE_LIRC], [], [LIRC daemon support])
1246 AM_CONDITIONAL(USE_LIRC, test x$lirc = xyes)
1248 dnl --------------------------------------------------------
1249 dnl Extension selection
1250 dnl --------------------------------------------------------
1251 extensions_list=
1252 ext_dejagnu=no
1253 ext_mysql=no
1254 ext_fileio=no
1255 ext_gtk=no
1256 ext_lirc=no
1257 ext_dbus=no
1258 ext_all=no
1259 ext_launcher=no
1260 AC_ARG_ENABLE(extensions,
1261   AC_HELP_STRING([--enable-extensions=], [Specify which extensions to build]),
1262   if test -n ${enableval}; then
1263     if test "x${enableval}" != "xno"; then
1264       extlist="${enableval}"
1265       enableval=`echo ${enableval} | tr '\054' ' ' `
1266     else
1267       extlist=""
1268       enableval=""
1269     fi
1270   fi
1271   nextensions=0
1272   while test -n "${enableval}" ; do
1273     val=`echo ${enableval} | cut -d ' ' -f 1`
1274     extensions_list="${extensions_list} ${val}"
1275     [case "${val}" in
1276       dejagnu|DEJAGNU|dj|DJ)
1277         AC_DEFINE(USE_DEJAGNU_EXT, [1], [Build the DejaGnu extension])
1278         AC_MSG_NOTICE([Adding DejaGnu extension])
1279         ext_dejagnu=yes
1280         nextensions=$((nextensions+1))
1281         ;;
1282       mysql|MYSQL|sql|SQL)
1283         AC_DEFINE(USE_MYSQL_EXT, [1], [Build the MySQL extension])
1284         AC_MSG_NOTICE([Adding MySql extension])
1285         ext_mysql=yes
1286         nextensions=$((nextensions+1))
1287         ;;
1288       fileio|FILEIO|io|IO)
1289         AC_DEFINE(USE_FILEIO_EXT, [1], [Build the FileIO extension])
1290         AC_MSG_NOTICE([Adding FileIO extension])
1291         ext_fileio=yes
1292         nextensions=$((nextensions+1))
1293         ;;
1294       gtk|GTK|gtk2|GTK2)
1295         AC_DEFINE(USE_GTK_EXT, [1], [Build the GTK extension])
1296         ext_gtk=yes
1297         nextensions=$((nextensions+1))
1298         ;;
1299       launcher|LAUNCHER)
1300         AC_DEFINE(USE_LAUNCHER_EXT, [1], [Build the Launcher extension])
1301         ext_launcher=yes
1302         nextensions=$((nextensions+1))
1303         ;;
1304       lirc|LIRC)
1305         AC_DEFINE(USE_LIRC_EXT, [1], [Build the LIRC extension])
1306         ext_lirc=yes
1307         nextensions=$((nextensions+1))
1308         ;;
1309       dbus|DBUS)
1310         AC_DEFINE(USE_DBUS_EXT, [1], [Build the DBUS extension])
1311         ext_dbus=yes
1312         nextensions=$((nextensions+1))
1313         ;;
1314       all|ALL)
1315         AC_DEFINE(USE_GTK_EXT, [1], [Build all the extensions])
1316         ext_dejagnu=yes
1317         ext_mysql=yes
1318         ext_fileio=yes
1319         ext_gtk=yes
1320         ext_lirc=yes
1321         ext_dbus=yes
1322         ext_launcher=yes
1323         ext_all=yes
1324         nextensions=9
1325         ;;
1326       *) AC_MSG_ERROR([invalid extension specified: ${enableval} given (accept: MYSQL|DEJAGNU|FILEIO|GTK|LIRC|DBUS|METOME|ALL)])
1327          ;;
1328       esac]
1329     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1330     if test "x$val" = "x$enableval"; then
1331       break;
1332     fi
1333   done
1334   EXTENSIONS_LIST="$extensions_list"
1335   AC_SUBST(EXTENSIONS_LIST)
1338 if test x$ext_dbus = xyes; then
1339   GNASH_PATH_DBUS
1342 if test x$ext_mysql = xyes; then
1343   GNASH_PATH_MYSQL
1346 AM_CONDITIONAL(BUILD_DEJAGNU_EXT, [ test x$ext_dejagnu = xyes ])
1347 AM_CONDITIONAL(BUILD_FILEIO_EXT, [ test x$ext_fileio = xyes ])
1348 AM_CONDITIONAL(BUILD_MYSQL_EXT, [ test x$ext_mysql = xyes ])
1349 AM_CONDITIONAL(BUILD_LAUNCHER_EXT, [ test x$ext_launcher = xyes ])
1350 AM_CONDITIONAL(BUILD_GTK_EXT, [ test x$ext_gtk = xyes ])
1351 AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes ])
1352 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
1353 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
1355 GNASH_PKG_CLASSFILE
1357 dnl --------------------------------------------------------
1358 dnl SOL dir
1359 dnl --------------------------------------------------------
1360 soldir=/tmp
1361 AC_ARG_WITH(soldir,
1362  AC_HELP_STRING([--with-soldir],
1363  [directory for .sol files]),
1364  with_soldir=${withval})
1365 if test x${with_soldir} != x; then
1366   soldir=${with_soldir}
1368 SOLDIR=${soldir}
1369 AC_SUBST(SOLDIR)
1371 dnl --------------------------------------------------------
1372 dnl AVM2
1373 dnl --------------------------------------------------------
1374 dnl AC_ARG_ENABLE(avm2,
1375 dnl   AC_HELP_STRING([--enable-avm2], [Enable support for AS3]),
1376 dnl   [case "${enableval}" in
1377 dnl     yes) avm2=yes ;;
1378 dnl     no)  avm2=no ;;
1379 dnl     *)   AC_MSG_ERROR([bad value ${enableval} for enable-avm2 option]) ;;
1380 dnl   esac], avm2=no
1381 dnl )
1382 dnl AM_CONDITIONAL(ENABLE_AVM2, [test x"$avm2" = xyes])
1383 dnl if test x$avm2 = xyes; then
1384 dnl     AC_DEFINE(ENABLE_AVM2, [1], [Enable AVM2 code])
1385 dnl fi
1386 AM_CONDITIONAL(ENABLE_AVM2, false)
1388 dnl This option is only used if you want Gnash to interwork with 
1389 dnl the Adobe player using the LocalConnection class.
1390 dnl lckey=0xdd3adabd
1391 AC_ARG_WITH(lckey,
1392  AC_HELP_STRING([--with-lckey],
1393  [shared memory key for your system]),
1394  with_lckey=${withval})
1396 if test x${with_lckey} != x; then
1397   lckey=${with_lckey}
1398 else
1399   lckey=0xcbc384f8
1401 LC_KEY=${lckey}
1402 AC_SUBST(LC_KEY)
1404 AC_ARG_ENABLE(python,
1405   AC_HELP_STRING([--enable-python],[Enable python for the python wrapper]),
1406 [case "${enableval}" in
1407   yes) python=yes ;;
1408   no)  python=no ;;
1409   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-python option]) ;;
1410 esac],python=no)
1412 dnl Look for python, which is optional. If enabled, a python loadable
1413 dnl module of Gnash is created.
1414 GNASH_PATH_PYTHON
1415 AM_CONDITIONAL([USE_PYTHON], test x"$python" = xyes)
1416 AM_CONDITIONAL([HAS_PYTHON], test x"$has_python" = xyes)
1418 # Maybe use jemalloc, which handles memory fragmentation for
1419 # ECAMscript languages better than the regular system malloc.
1420 # This seems like a good idea, as both the other player and
1421 # Mozilla/Firefox both recently switched to using jemalloc.
1422 AC_ARG_ENABLE(jemalloc,
1423   AC_HELP_STRING([--enable-jemalloc],[Enable jemalloc instead of system malloc]),
1424 [case "${enableval}" in
1425   yes) jemalloc=yes ;;
1426   no)  jemalloc=no ;;
1427   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-jemalloc option]) ;;
1428 esac],jemalloc=yes)
1430 dnl There is some weird stuff going on with NetBSD and jemalloc, so don't 
1431 dnl build it for now.
1432 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
1433   jemalloc=no
1435 dnl If the compiler doesn't have local thread storage enabled, don't try to
1436 dnl use jemalloc.
1437 if test x"${jemalloc}" = x"yes"; then
1438   AC_TRY_COMPILE([], [
1439     extern __thread int global_i; ],
1440     has_local_thread_storage=yes
1441   )
1442   if test x"${has_local_thread_storage}" = x"yes"; then
1443     AC_DEFINE([HAVE_LOCAL_THREAD_STORAGE], [1], [Has __thread (local thread storage) support])
1444     AC_DEFINE([USE_JEMALLOC], [], [Use jemalloc instead of system malloc])
1445   else
1446     jemalloc=no
1447   fi
1450 dnl We can search libs for mallinfo to decide whether we have it or not.
1451 dnl This is added to the linker flags when it's found. Usually it's -lc, but
1452 dnl on OpenSolaris it's -lmalloc, so this fixes the build.
1453 AC_SEARCH_LIBS([mallinfo], [c malloc],
1454                AC_DEFINE(HAVE_MALLINFO, [1], [Has mallinfo()])
1455                mallinfo=yes
1456                )
1458 AM_CONDITIONAL([HAVE_MALLINFO], test x$mallinfo = xyes)
1459 AM_CONDITIONAL(JEMALLOC, test x$jemalloc = xyes)
1461 AC_ARG_ENABLE(fps-debug,
1462   AC_HELP_STRING([--enable-fps-debug],[Enable FPS debugging code]),
1463 [case "${enableval}" in
1464   yes) AC_DEFINE([GNASH_FPS_DEBUG], [1], [Enable FPS debugging code])
1465 esac])
1467 dnl When we're making binary releases, it's often nice to just statically link
1468 dnl the final executables so we don't worry about what's installed, or which
1469 dnl version it is.
1470 AC_ARG_ENABLE(allstatic,
1471   AC_HELP_STRING([--enable-allstatic],[Enable using static libraries when possible for dependencies]),
1472 [case "${enableval}" in
1473   yes) allstatic=yes ;;
1474   no)  allstatic=no ;;
1475   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-allstatic option]) ;;
1476 esac],allstatic=no)
1477 AM_CONDITIONAL(ALLSTATIC, test x$allstatic = xyes)
1480 dnl --------------------------------------------------------
1481 dnl SHM
1482 dnl --------------------------------------------------------
1483 AC_ARG_WITH(shm,
1484   AC_HELP_STRING([--with-shm],[specify a shared memory type.]),
1485   [case "${withval}" in
1486     sysv) with_shm=sysv
1487           ;;
1488     posix) with_shm=posix
1489           ;;    
1490     *)   AC_MSG_ERROR([bad value ${enableval} for --with-shm option (try sysv or posix])
1491           ;;
1492    esac],with_shm=sysv)
1494 if test x"${with_shm}" = x"sysv"; then
1495   AC_DEFINE([USE_SYSV_SHM], [1], [Use SYSV shared memory for compatability])
1496   dnl IPC_INFO isn't portable, and doesn't exist on BSD
1497   AC_TRY_COMPILE([#include <sys/ipc.h> #include <sys/shm.h>], [
1498     int flag = IPC_INFO; ],
1499     AC_DEFINE([HAVE_IPC_INFO], [1], [Use shm_info])
1500   )
1501 else
1502   AC_DEFINE([USE_POSIX_SHM], [1], [Use POSIX shared memory])
1505 dnl --------------------------------------------------------
1506 dnl Disable menus
1507 dnl --------------------------------------------------------
1508 dnl Don't add the GUI menu. Some educational systems think this adds
1509 dnl clutter and confusion, like on the OLPC.
1510 AC_ARG_ENABLE(menus,
1511   AC_HELP_STRING([--disable-menus],[Disable the GUI menus]),
1512 [case "${enableval}" in
1513   yes) menus=yes ;;
1514   no)  menus=no ;;
1515   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-menus option]) ;;
1516 esac],menus=yes)
1518 if test x"$menus" = x"yes"; then
1519   AC_DEFINE([USE_MENUS], [], [GUI Menu support])
1521 AM_CONDITIONAL(MENUS, test x$menus = xyes)
1523 dnl --------------------------------------------------------
1524 dnl Disable SWF information
1525 dnl --------------------------------------------------------
1526 dnl Don't gather SWF information in tree form. This takes
1527 dnl resources and memory that can be saved if there's no
1528 dnl need to examine SWF internals.
1529 AC_ARG_ENABLE(swftree,
1530   AC_HELP_STRING([--disable-swftree],[Disable showing SWF properties]),
1531 [case "${enableval}" in
1532   yes) swftree=yes ;;
1533   no)  swftree=no ;;
1534   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-swf-properties option]) ;;
1535 esac],swftree=yes)
1537 if test x"$swftree" = x"yes"; then
1538   AC_DEFINE([USE_SWFTREE], [], [View SWF information])
1540 AM_CONDITIONAL(SWFTREE, test x$swftree = xyes)
1542 dnl --------------------------------------------------------
1543 dnl Disable testsuite
1544 dnl --------------------------------------------------------
1545 dnl Disable running any tests for "make check". This may sound stupid, but
1546 dnl this option is designed to solely be used by maintainers in the 
1547 dnl DISTCHECK_CONFIGURE_FLAGS when building packages. Gnash's testing infrastructure
1548 dnl is complex, and often the the testsuites will work, but due to some obscure reason,
1549 dnl make distcheck fails.
1550 AC_ARG_ENABLE(testsuite,
1551   AC_HELP_STRING([--disable-testsuite],[Disable the testsuite, maintainers option only]),
1552 [case "${enableval}" in
1553   yes) testsuite=yes ;;
1554   no)  testsuite=no ;;
1555   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-testsuite option]) ;;
1556 esac],testsuite=yes)
1558 if test x"$testsuite" = x"yes"; then
1559   AC_DEFINE([USE_TESTSUITE], [], [Testsuite support, maintainers option only])
1561 AM_CONDITIONAL(TESTSUITE, test x$testsuite = xyes)
1563 dnl --------------------------------------------------------
1564 dnl Write the file to disk in the plugin
1565 dnl --------------------------------------------------------
1566 AC_ARG_ENABLE(write,
1567   AC_HELP_STRING([--enable-write], [Makes the Mozilla plugin write the currently playing SWF movie to /tmp.]),
1568 [case "${enableval}" in
1569   yes) write=yes ;;
1570   no)  write=no ;;
1571   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-write option]) ;;
1572 esac],write=no)
1574 if test x"$write" = x"yes"; then
1575   AC_DEFINE([WRITE_FILE], [], [Write files while streaming])
1578 dnl --------------------------------------------------------
1579 dnl Write a standalone gnash launcher to disk from the plugin
1580 dnl --------------------------------------------------------
1581 AC_ARG_ENABLE(sa-launcher,
1582   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.]),
1583 [case "${enableval}" in
1584   yes) sa_launcher=yes ;;
1585   no)  sa_launcher=no ;;
1586   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-sa-launcher option]) ;;
1587 esac],sa_launcher=yes)
1589 if test x"$sa_launcher" = x"yes"; then
1590   AC_DEFINE([CREATE_STANDALONE_GNASH_LAUNCHER], [], [Add support for writing a standalone executable launcher for movies embedded in web pages])
1593 dnl --------------------------------------------------------
1594 dnl Build the cygnal server if specified.
1595 dnl --------------------------------------------------------
1596 AC_ARG_ENABLE(cygnal,
1597   AC_HELP_STRING([--enable-cygnal], [Enable building of the Cygnal server]),
1598 [case "${enableval}" in
1599   yes) cygnal=yes ;;
1600   no)  cygnal=no ;;
1601   *)   AC_MSG_ERROR([bad value ${enableval} for enable-cygnal option]) ;;
1602 esac],cygnal=no)
1603 AM_CONDITIONAL(CYGNAL, test x$cygnal = xyes)
1605 dnl --------------------------------------------------------
1606 dnl Build the cgibins server if specified.
1607 dnl --------------------------------------------------------
1608 AC_ARG_ENABLE(cgibins,
1609   AC_HELP_STRING([--enable-cgibins], [Enable building of the CGIs for Cygnal]),
1610 [case "${enableval}" in
1611   yes) cgibin=yes ;;
1612   no)  cgibin=no ;;
1613   *)   AC_MSG_ERROR([bad value ${enableval} for enable-cgibins option]) ;;
1614 esac],cgibin=yes)
1615 AM_CONDITIONAL(USE_CGI, test x$cgibin = xyes)
1616 if test x"${cgibin}" = x"yes"; then
1617   AC_DEFINE([USE_CGIBIN], [1], [Enable cgi-bin processes for Cygnal])
1620 dnl --------------------------------------------------------
1621 dnl Fix the Intel 810 LOD bias problem
1622 dnl --------------------------------------------------------
1623 AC_ARG_ENABLE(i810-lod-bias,
1624   AC_HELP_STRING([--enable-i810-lod-bias], [Enable fix for Intel 810 LOD bias problem]),
1625 [case "${enableval}" in
1626   yes) i810lodbias=yes ;;
1627   no)  i810lodbias=no ;;
1628   *)   AC_MSG_ERROR([bad value ${enableval} for enable-i810-lod-bias option]) ;;
1629 esac])
1631 if test x"${i810lodbias}" = xyes; then
1632     AC_DEFINE([FIX_I810_LOD_BIAS], [], [Fix i810 LOD bias problem])
1635 dnl --------------------------------------------------------
1636 dnl  Double buffer
1637 dnl --------------------------------------------------------
1638 dnl Add an option for double buffering when rendering, currently only used by
1639 dnl the frmaebuffer GUI.
1640 dnl If defined, an internal software-buffer is used for rendering and is then
1641 dnl copied to the video RAM. This avoids flicker and is faster for complex 
1642 dnl graphics, as video RAM access is usually slower. (strongly suggested)
1643 AC_ARG_ENABLE(doublebuf,
1644   AC_HELP_STRING([--enable-doublebuf], [Enable support for double buffering when rendering]),
1645   [case "${enableval}" in
1646     yes) doublebuf=yes ;;
1647     no)  doublebuf=no ;;
1648     *)   AC_MSG_ERROR([bad value ${enableval} for enable-doublebuf option]) ;;
1649   esac], doublebuf=no
1651 AM_CONDITIONAL(ENABLE_DBUF, [test x"$doublebuf" = xyes])
1652 if test x$doublebuf = xyes; then
1653     AC_DEFINE(ENABLE_DOUBLE_BUFFERING, [1], [Enable double buffering])
1656 dnl --------------------------------------------------------
1657 dnl  Offscreen buffer
1658 dnl --------------------------------------------------------
1659 dnl This enables rendering to an offscreen buffer, instead of directly to window
1660 AC_ARG_ENABLE(offscreen,
1661   AC_HELP_STRING([--enable-offscreen], [Enable support for rendering offscreen]),
1662   [case "${enableval}" in
1663     yes) offscreen=yes ;;
1664     no)  offscreen=no ;;
1665     *)   AC_MSG_ERROR([bad value ${enableval} for enable-offscreen option]) ;;
1666   esac], offscreen=no
1670 dnl --------------------------------------------------------
1671 dnl  SSH support selection
1672 dnl --------------------------------------------------------
1673 dnl Enable using libssh with libnet
1674 AC_ARG_ENABLE(ssh,
1675   AC_HELP_STRING([--enable-ssh], [Enable using SSH for network authentication]),
1676 [case "${enableval}" in
1677   yes) build_ssh=yes ;;
1678   no)  build_ssh=no ;;
1679   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-ssh option]) ;;
1680 esac], build_ssh=no)
1682 AM_CONDITIONAL(BUILD_SSH, test x"${build_ssh}" = xyes)
1683 if test x"${build_ssh}" = xyes; then
1684   GNASH_PKG_FIND(ssh, [libssh/libssh.h], [libssh library], ssh_socket_init)
1685 dnl  GNASH_PKG_FIND(poppler, [popt.h], [Poppler library], poppler_init)
1687 if test x"${has_ssh}" = x"yes"; then
1688   AC_DEFINE([USE_SSH], [1], [Use SSH for authentication])
1691 dnl --------------------------------------------------------
1692 dnl  SSL support selection
1693 dnl --------------------------------------------------------
1695 dnl Enable using OpenSSL with libnet.
1696 AC_ARG_ENABLE(ssl,
1697   AC_HELP_STRING([--enable-ssl], [Enable using OpenSSL directly]),
1698 [case "${enableval}" in
1699   yes) build_ssl=yes ;;
1700   no)  build_ssl=no ;;
1701   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-ssl option]) ;;
1702 esac], build_ssl=no)
1704 with_cert=
1705 with_pem=
1706 AM_CONDITIONAL(BUILD_SSL, test x"${build_ssl}" = xyes)
1707 AC_ARG_WITH(cert,
1708   AC_HELP_STRING([--with-cert],
1709   [cert file for SSL]),
1710   with_cert=${withval})
1711 AC_ARG_WITH(pem,
1712   AC_HELP_STRING([--with-pe],
1713   [pem file for SSL]),
1714   with_pem=${withval})
1716 if test x"${build_ssl}" = xyes; then
1717   GNASH_PKG_FIND(ssl, [openssl/ssl.h], [OpenSSL library], SSL_library_init)
1719 if test x"${has_ssl}" = x"yes"; then
1720   AC_DEFINE([USE_SSL], [1], [Use SSL for authentication])
1723 dnl -----------------------------------------------------------
1724 dnl   Verify dependencies for requested GUIs are met, and
1725 dnl   disable build of the GUIS for which deps are NOT met
1726 dnl ------------------------------------------------------------
1728 dnl Look for scratchbox (used in GNASH_PATH_ALP)
1729 dnl FIXME: move it in macros/alp.m4 or at least after
1730 dnl        the build_alp conditional ?
1731 sbox=no
1732 if test x"${SBOX_REDIRECT_FROM_DIRS}" != x; then
1733   sbox=yes
1736 if test x$build_gtk = xyes -o $build_alp = xyes; then
1737    GNASH_PATH_GTK2
1738    GNASH_PATH_PANGO
1739    GNASH_PKG_FIND(atk, [atk/atk.h], [atk library], atk_focus_tracker_init, [1.0])
1740    if test x"${build_ogl}" = xyes; then
1741       GNASH_PATH_GLEXT
1742    fi
1743    if test x"${build_cairo}" = xyes; then
1744       GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1745    fi
1747 dnl TODO: add checks for all other GUIs
1750 dnl -----------------------------------------------------------
1751 dnl Try to ignore stupid dependencies
1752 dnl -----------------------------------------------------------
1754 AC_MSG_CHECKING(linker --as-needed support)
1755 gcc_cv_ld_as_needed=no
1756 # Check if linker supports --as-needed and --no-as-needed options
1757 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1758   gcc_cv_ld_as_needed=yes
1760 if test x"$gcc_cv_ld_as_needed" = xyes; then
1761   LDFLAGS+=" -Wl,--as-needed"
1763 AC_MSG_RESULT($gcc_cv_ld_as_needed)
1765 dnl AC_MSG_CHECKING(linker --no-undefined support)
1766 dnl gcc_cv_ld_undef_needed=no
1767 dnl # Check if linker supports --no-undefined
1768 dnl if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1769 dnl     gcc_cv_ld_undef_needed=yes
1770 dnl fi
1771 dnl if test x"$gcc_cv_ld_undef_needed" = xyes; then
1772 dnl     LDFLAGS=" ${LDFLAGS} -Wl,--no-undefined"
1773 dnl fi
1774 dnl AC_MSG_RESULT($gcc_cv_ld_undef_needed)
1776 AC_DEFINE(USE_GIF, [1], [Use the GIF library])
1777 AC_DEFINE(USE_PNG, [1], [Use the PNG library])
1778 AM_CONDITIONAL(USE_GIF, true)
1779 AM_CONDITIONAL(USE_PNG, true)
1781 dnl GNASH_PKG_FIND(dmalloc, [dmalloc.h], [dmalloc], mallinfo)
1782 AM_CONDITIONAL(HAVE_DMALLOC, [ test x$has_dmalloc = xyes ])
1784 AC_PATH_TOOL([AUTOTRACE], [autotrace])
1785 AC_HEADER_DIRENT
1787 dnl -----------------------------------------------------------------
1788 dnl PLUGIN RELATED STUFF
1789 dnl -----------------------------------------------------------------
1791 dnl Zip is used insted of tar when building an xpi package
1792 dnl for Mozilla/Firefox.
1793 AC_PATH_PROG(ZIP, zip, ,[${pathlist}])
1795 dnl !! This has been moved here to make --enable-npapi work
1796 dnl !! All of plugin-related macro calls could be moved into
1797 dnl !! a specialized macros/plugin.m4
1799 dnl ----------------------------------------------------
1800 dnl Add KPARTS support, if specified or KDE gui is built
1801 dnl ----------------------------------------------------
1803 AC_ARG_ENABLE(kparts3,
1804   AC_HELP_STRING([--disable-kparts3], [Disable support for Konqueror 3.x plugin (default: enabled if kde3 gui is)]),
1805 [case "${enableval}" in
1806   yes) build_kparts3=yes ;;
1807   no)  build_kparts3=no ;;
1808   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
1809 esac],build_kparts3=$build_kde3)
1811 dnl --------------------------------------------------------
1812 dnl Add KPARTS 4.x support, if specified or KDE gui is built
1813 dnl --------------------------------------------------------
1815 AC_ARG_ENABLE(kparts4,
1816   AC_HELP_STRING([--disable-kparts4], [Disble support for Konqueror 4.x plugin (default: enabled if kde4 gui is)]),
1817 [case "${enableval}" in
1818   yes) build_kparts4=yes ;;
1819   no)  build_kparts4=no ;;
1820   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
1821 esac],build_kparts4=$build_kde4)
1823 dnl -----------------------------------------------------------
1824 dnl Add NPAPI support, if specified or GTK or KDE4 gui is built
1825 dnl -----------------------------------------------------------
1827 AC_ARG_ENABLE(npapi,
1828   AC_HELP_STRING([--disable-npapi], [Disable NPAPI plugin build (default: enabled if gtk or kde4 gui is)]),
1829   [case "${enableval}" in
1830     yes) npapi=yes ;;
1831     no)  npapi=no ;;
1832     *)   AC_MSG_ERROR([bad value ${enableval} for disable-npapi option]) ;;
1833   esac],
1834   if test x$build_gtk = xyes -o x$build_kde4 = xyes; then
1835     npapi=yes
1836   fi
1839 dnl -----------------------------------------------------------------
1840 dnl Enable us to disable building all browser plugins in one command.
1841 dnl -----------------------------------------------------------------
1843 AC_ARG_ENABLE(plugins,
1844   AC_HELP_STRING([--disable-plugins], [Disable all browser plugins from building (default=no)]),
1845   [case "${enableval}" in
1846     yes) plugins=yes ;;
1847     no)  plugins=no ;;
1848     *)   AC_MSG_ERROR([bad value ${enableval} for disable-plugins option]) ;;
1849   esac],
1850   plugins=yes
1852 if test x$plugins = xno; then
1853   npapi=no
1854   build_kparts3=no
1855   build_kparts4=no
1859 dnl Set the general plugins install policy here
1861 AC_ARG_WITH(plugins-install,
1862   AC_HELP_STRING([--with-plugins-install=system|user|prefix], [Policy for plugins install. Default: user.]),
1863         [case "${withval}" in
1864           user) PLUGINS_INSTALL_POLICY=user ;;
1865           system) PLUGINS_INSTALL_POLICY=system ;;
1866           prefix) PLUGINS_INSTALL_POLICY=prefix ;;
1867           *)  AC_MSG_ERROR([bad value ${withval} for --with-plugins-install]) ;;
1868          esac 
1869         ], PLUGINS_INSTALL_POLICY=user) 
1872 GNASH_PATH_FIREFOX
1874 dnl -----------------------------------------------------------------
1875 dnl END OF PLUGIN RELATED STUFF
1876 dnl -----------------------------------------------------------------
1878 dnl IRIX-hack.
1879 case $host in
1880   *-*-irix*)
1881   dnl ABI-check
1882   save_LIBS=$LIBS
1883   dir="/usr/lib /usr/lib32 /usr/lib/lib64"
1884   for i in $dir; do
1885     LIBS=-L$i
1886     AC_SEARCH_LIBS(XDisableAccessControl, X11, [
1887       xpathed=$i
1888       break
1889     ])
1890     unset ac_cv_search_XDisableAccessControl
1891   done
1892   ac_x_libraries=$xpathed
1893   x_libraries=$xpathed
1894   LIBS=$save_LIBS
1895   ;;
1896 esac
1898 AM_CONDITIONAL(LIRC, [test x$lirc_ext = xyes])
1900 AC_CHECK_HEADERS(endian.h machine/endian.h)
1901 AC_CHECK_HEADERS(malloc.h malloc/malloc.h)
1902 AC_CHECK_HEADERS(getopt.h)
1903 AC_CHECK_HEADERS(libgen.h)
1904 AC_CHECK_HEADERS(pwd.h)
1905 AC_CHECK_HEADERS(sys/utsname.h)
1906 AC_CHECK_HEADERS(signal.h)
1907 AC_CHECK_HEADERS(unistd.h)
1908 AC_CHECK_HEADERS(sys/time.h)
1909 AC_CHECK_HEADERS(ieeefp.h)
1910 dnl libcurl3-dev on Ubuntu has a dependency on lber, and Gnash won't link
1911 dnl on most machines without it. While it isn't diretly used by Gnash at all,
1912 dnl it's to work around an Ubuntu packaging bug.
1913 AC_CHECK_LIB(lber, ber_free)
1914 AC_CHECK_LIB(bz2, BZ2_bzopen)
1915 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
1917 dnl X11 is needed for fltk (at least),
1918 dnl and probably for many other guis too ...
1919 dnl if ! test x$build_fb = xyes; then # <--- this is wrong as build_x is non-exclusive
1920 dnl AC_PATH_XTRA
1921 dnl AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
1922 dnl AC_CHECK_LIB(gmp, _gmp_get_memory_functions)
1923   GNASH_PATH_X11
1924   AC_CHECK_LIB(Xi, XInput_find_display)
1925   AC_CHECK_LIB(X11, XDisableAccessControl)
1926 dnl fi
1927 AM_CONDITIONAL(HAVE_X11, [test x$x11 = xyes])
1928 AC_CHECK_LIB(rt, shm_unlink)
1929 AC_CHECK_FUNCS(shm_open shm_unlink)
1930 AC_TRY_COMPILE([#include <strings.h>], [
1931   char *p1 = (char *)"Hello";
1932   char *p2 = (char *)"World";
1933   strcasecmp(p1, p2); ],
1934   AC_DEFINE(HAVE_STRINGCASECMP, [1], [Has strcasecmp])
1937 dnl if test x$cross_compiling = xno; then
1938 AC_LANG_PUSH(C++)
1939 AC_MSG_CHECKING([to see if float formatting is broken])
1940 AC_RUN_IFELSE([
1941   AC_LANG_PROGRAM([#include <cmath>
1942     void testFloat(double d, double& s)
1943     {
1944         d /= 1000.0;
1945         s = std::fmod(d, 86400.0);
1946     }], [
1947      double d = 3.0935415006117e+23;
1948      double s;
1949      testFloat(d, s);
1950      if (static_cast<int>(s) != 61440) {
1951          return 1;
1952      }])],                         dnl end of LANG_PROGRAM
1953      broken_float=no,              dnl returns 0, works
1954      broken_float=yes,             dnl returns 1, broken
1955      broken_float=no               dnl cross compiling
1956 )                                  dnl end of RUN_IFELSE
1957 AC_LANG_POP(C++)
1958 dnl fi
1960 if test x${broken_float} = xyes; then
1961   AC_MSG_RESULT([yes])
1962   AC_DEFINE(HAVE_BROKEN_FLOAT, [1], [Has broken float support])
1963 else
1964   AC_MSG_RESULT([no])
1966 AM_CONDITIONAL(BROKEN_FLOAT, [ test x$broken_float = xyes ])
1968 dnl See if ipc_perm structure has the ipc_perm.key field, and if so,
1969 dnl which variant of the name is used.
1970 ipc_key=no
1971 AC_TRY_COMPILE([
1972   #include <sys/ipc.h>
1973   #include <sys/shm.h>], [
1974  struct shmid_ds shmseg;      
1975  key_t x = shmseg.shm_perm.key;],
1976  ipc_key=yes
1977  AC_DEFINE(IPC_PERM_KEY, [key], [Has the key field in ipc_perm])
1980 if test x$ipc_key = xno; then
1981   AC_TRY_COMPILE([
1982     #include <sys/ipc.h>
1983     #include <sys/shm.h>], [
1984     struct shmid_ds shmseg;      
1985     key_t x = shmseg.shm_perm.__key;],
1986     AC_DEFINE(IPC_PERM_KEY, [__key], [Has the key field in ipc_perm])
1987     ipc_key=yes
1988   )
1991 dnl AC_CHECK_FUNCS(strcasecmp stricmp)
1992 dnl AC_CHECK_FUNCS(vsnprintf)
1994 AC_CACHE_CHECK([for finite], ac_cv_finite,
1995  [AC_TRY_COMPILE([
1996    #include <math.h>
1997    #ifdef HAVE_IEEEFP_H
1998    #include <ieeefp.h>
1999    #endif],
2000  [double x; int y; y = finite(x);],
2001  ac_cv_finite=yes,
2002  ac_cv_finite=no
2004 if test x"$ac_cv_finite" = x"yes"; then
2005   AC_SEARCH_LIBS(finite, m,
2006     [AC_DEFINE(HAVE_FINITE, [1], [Has finite])]
2007   )
2010 AC_LANG_PUSH(C++)
2011 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
2012  [AC_TRY_COMPILE([#include <cmath>],
2013  [using namespace std; double x; int y; y = isfinite(x);],
2014  ac_cv_isfinite=yes,
2015  ac_cv_isfinite=no
2017 AC_LANG_POP(C++)
2018 if test x"$ac_cv_isfinite" = x"yes"; then
2019   dnl Don't give up if isfinite is not found in -lm
2020   dnl isfinite is defined as a macro in C99.
2021   AC_SEARCH_LIBS(isfinite, m)
2022   AC_DEFINE(HAVE_ISFINITE, [1], [Has isfinite])
2025 AC_LANG_PUSH(C++)
2026 AC_CACHE_CHECK([whether $CXX implements __PRETTY_FUNCTION__], ac_cv_implements___PRETTY_FUNCTION__, [
2027   AC_TRY_LINK([#include <cstdio>
2028 ], 
2029     [ std::printf("%s", __PRETTY_FUNCTION__); ], 
2030     [ ac_cv_implements___PRETTY_FUNCTION__="yes" ],
2031     [ ac_cv_implements___PRETTY_FUNCTION__="no" ]
2032   )
2034 if test "x$ac_cv_implements___PRETTY_FUNCTION__" = "xyes" ; then
2035   AC_DEFINE(HAVE_PRETTY_FUNCTION, [1], [__PRETTY_FUNCTION__ is defined])
2038 AC_CACHE_CHECK([whether $CXX implements __FUNCTION__], ac_cv_implements___FUNCTION__, [
2039   AC_TRY_LINK([#include <cstdio>
2040 ], 
2041     [ std::printf("%s", __FUNCTION__); ], 
2042     [ ac_cv_implements___FUNCTION__="yes" ],
2043     [ ac_cv_implements___FUNCTION__="no" ]
2044   )
2046 if test "x$ac_cv_implements___FUNCTION__" = "xyes" ; then
2047   AC_DEFINE(HAVE_FUNCTION, [1], [__FUNCTION__ is defined])
2050 AC_CACHE_CHECK([whether $CXX implements __func__], ac_cv_implements___func__, [
2051   AC_TRY_LINK([#include <cstdio>
2052 ], 
2053     [ std::printf("%s", __func__); ], 
2054     [ ac_cv_implements___func__="yes" ],
2055     [ ac_cv_implements___func__="no" ]
2056   )
2058 if test "x$ac_cv_implements___func__" = "xyes" ; then
2059   AC_DEFINE(HAVE_func, [1], [__func__ is defined])
2061 AC_LANG_POP(C++)
2062 AC_REPLACE_FUNCS(getopt)
2064 dnl Date portability stuff, used in server/asobj/Date.cpp
2065 AC_CHECK_FUNCS(gettimeofday)
2066 AC_CHECK_FUNCS(ftime)
2067 AC_CHECK_FUNCS(tzset)
2068 AC_CHECK_FUNCS(localtime_r)
2070 AC_CACHE_CHECK([whether struct tm has tm_gmtoff], ac_cv_tm_gmtoff, [
2071         AC_TRY_LINK([
2072 /* ctime(1) says "The glibc version of struct tm has additional fields
2073  * defined  when _BSD_SOURCE was set before including <time.h>"
2074  * In practice, you don't need to define it yourself (tested on glibc-2.2.1 
2075  * and 2.3.6) but if you *do* define it yourself, it makes *all* functions
2076  * favour BSD-like behaviour over of GNU/POSIX, which seems dangerous.
2077  */
2078 // #define _BSD_SOURCE 1
2079 #include <time.h>
2080 ], 
2081                 [ struct tm tm; long l = tm.tm_gmtoff; ], 
2082                 [ ac_cv_tm_gmtoff="yes" ],
2083                 [ ac_cv_tm_gmtoff="no" ]
2084         )
2086 if test "x$ac_cv_tm_gmtoff" = "xyes" ; then
2087         AC_DEFINE(HAVE_TM_GMTOFF, [1], [struct tm has member tm_gmtoff])
2090 AC_CACHE_CHECK([whether timezone is a long], ac_cv_long_timezone, [
2091         AC_TRY_LINK([
2092 /* On Linux/glibc, tzset(3) says "extern long timezone;" (seconds West of GMT)
2093  * but on BSD char *timezone(int,int) is a function returning a string name.
2094  * The BSD function timegm() may be the equivalent, but this should
2095  * not be necessary because on BSD the code should use tm.tm_gmtoff instead
2096  * (use of long timezone is a fallback strategy for when tm_gmtoff exists not).
2097  */
2098 #include <stdio.h>
2099 #include <time.h>
2100 extern long timezone;
2101   ], 
2102     [ printf("%ld", timezone); ], 
2103     [ ac_cv_long_timezone="yes" ],
2104     [ ac_cv_long_timezone="no" ]
2105    )
2107 if test "x$ac_cv_long_timezone" = "xyes" ; then
2108   AC_DEFINE(HAVE_LONG_TIMEZONE, [1], [extern timezone is a long integer, not a function])
2111 AC_CHECK_FUNCS(sysconf)
2112 AC_CHECK_FUNCS(shmget shmat shmdt mmap)
2113 AC_CHECK_FUNCS(memmove)
2114 AC_CHECK_FUNCS(scandir)         dnl supported by BSD and Linux, but you never know...
2115 dnl AC_CHECK_FUNC(strndup, AC_DEFINE(HAVE_STRNDUP, 1, [Has strndup()] ))
2116 AC_CHECK_FUNC(clock_gettime, AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Has clock_gettime()] ))
2117 dnl AC_CHECK_FUNCS(strlcpy, AC_DEFINE(HAVE_STRLCPY_PROTO, [1],[Define if you have the strlcpy prototype]))
2118 dnl AC_CHECK_FUNCS(strlcat, AC_DEFINE(HAVE_STRLCAT_PROTO, [1],[Define if you have the strlcat prototype]))
2119 dnl Look for Win32 networking stuff
2120 AC_CHECK_HEADERS(winsock.h)
2121 AC_CHECK_HEADERS(winsock2.h)
2122 AC_CHECK_FUNCS(socket)
2123 AC_CHECK_FUNCS(CreateFileMappingA)
2125 dnl Shm::resize() uses this if it exists
2126 AC_CHECK_LIB(c, mremap)
2128 GNASH_PKG_FIND(nspr, [nspr.h], [Netscape Portable Runtime (NSPR)], PR_Init)
2130 AC_PATH_TOOL(WINDRES, [windres])
2131 AC_SUBST(WINDRES)
2133 GNASH_PKG_FIND(z, [zlib.h], [zlib compression library], compress)
2134 GNASH_PKG_FIND(jpeg, [jpeglib.h], [jpeg images], jpeg_mem_init)
2135 if test x"${openbsd_os}" = x"yes"; then
2136   GNASH_PKG_FIND(libpng, [png.h], [png images], png_info_init)
2137 else
2138   GNASH_PKG_FIND(png, [png.h], [png images], png_info_init)
2140 GNASH_PKG_FIND(gif, [gif_lib.h], [gif images], DGifOpen)
2141 if test x"${GIF_LIBS}" = x ; then
2142  GNASH_PKG_FIND(ungif, [gif_lib.h], [gif images], DGifOpen)
2143  GIF_LIBS=${UNGIF_LIBS}
2144  GIF_CFLAGS=${UNGIF_CFLAGS}
2146 if test x"$testsuite" = x"yes"; then
2147   GNASH_PKG_INCLUDES([dejagnu], [dejagnu.h])
2150 GNASH_PKG_FIND(speex, [speex.h], [speex audio codec], speex_decode_int)
2151 AM_CONDITIONAL(HAVE_SPEEX, [ test x$has_speex = xyes ])
2152 if test x$has_speex = xyes ; then
2153   AC_DEFINE([DECODING_SPEEX], [1], [Speex codec available])
2156 GNASH_PKG_FIND(speexdsp, [speex_resampler.h], [speex DSP utilities], speex_resampler_process_int)
2157 if test x$has_speexdsp = xyes ; then
2158   AC_DEFINE([RESAMPLING_SPEEX], [1], [Speex resampler available])
2161 dnl Find freetype and fontconfig
2162 dnl GNASH_PKG_FIND(freetype2, [freetype/freetype.h], [freetype2 font library], FT_Load_Char)
2163 dnl rob might be working on this or not ;)
2164 GNASH_PATH_FREETYPE2
2165 GNASH_PKG_FIND(fontconfig, [fontconfig/fontconfig.h], [fontconfig library], FcFontMatch)
2167 if test x$cross_compiling = xno; then
2168   AC_PATH_MING
2171 if test x"$MING_VERSION_CODE" = x; then
2172  MING_VERSION_CODE=00000000
2175 AM_CONDITIONAL(ENABLE_MING,
2176         [ test x"$MAKESWF" != x -a $MING_VERSION_CODE -gt 00040000 ])
2178 AM_CONDITIONAL(MING_VERSION_0_4,
2179         [ test $MING_VERSION_CODE -ge 00040000  ])
2180 AM_CONDITIONAL(MAKESWF_SUPPORTS_PREBUILT_CLIPS,
2181         [ test $MING_VERSION_CODE -ge 00040002  ])
2182 AM_CONDITIONAL(MING_SUPPORTS_INIT_ACTIONS,
2183         [ test $MING_VERSION_CODE -ge 00040004  ])
2184 AM_CONDITIONAL(MING_SUPPORTS_REPLACE_TAG,
2185         [ test $MING_VERSION_CODE -ge 00040005 ])
2186 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_ADD_CHARACTER,
2187         [ test $MING_VERSION_CODE -ge 00040005 ])
2188 AM_CONDITIONAL(MING_SUPPORTS_STREAMING_SOUND,
2189         [ test $MING_VERSION_CODE -ge 00040006 ])
2190 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_SET_DEPTH,
2191         [ test $MING_VERSION_CODE -ge 00040006 ])
2192 AM_CONDITIONAL(MING_VERSION_0_4_3,
2193         [ test $MING_VERSION_CODE -ge 00040300 ])
2194 AM_CONDITIONAL(MING_VERSION_0_4_4,
2195         [ test $MING_VERSION_CODE -ge 00040400 ])
2197 if test x$cross_compiling = xno; then
2198   AC_ARG_WITH([swfdec_testsuite],
2199           AC_HELP_STRING([--with-swfdec-testsuite],
2200                   [directory where swfdec testsuite (the 'test' dir) is]),
2201         SWFDEC_TESTSUITE=${withval})
2202   AC_SUBST(SWFDEC_TESTSUITE)
2204 AM_CONDITIONAL(ENABLE_SWFDEC_TESTSUITE, [ test x"$SWFDEC_TESTSUITE" != x ])
2206 if test x$cross_compiling = xno; then
2207   AC_ARG_ENABLE([http_testsuite],
2208       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2209           AC_HELP_STRING([--enable-http-testsuite=<baseurl>],
2210                   [Enable http based testsuite (default url is http://www.gnashdev.org/testcases)]),
2211               [case "${enableval}" in
2212              no) HTTP_TESTSUITE="" ;;
2213             yes) HTTP_TESTSUITE="http://www.gnashdev.org/testcases" ;;
2214               *) HTTP_TESTSUITE="${enableval}";;
2215            esac])
2216   AC_SUBST(HTTP_TESTSUITE)
2218 AM_CONDITIONAL(ENABLE_HTTP_TESTSUITE, [ test x"$HTTP_TESTSUITE" != x ])
2220 if test x$cross_compiling = xno; then
2221   AC_ARG_ENABLE([red5_testing],
2222       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2223           AC_HELP_STRING([--enable-red5-testing=<host>],
2224                   [Enable red5 based testing (default host is www.gnashdev.org)]),
2225               [case "${enableval}" in
2226              no) RED5_HOST="" ;;
2227             yes) RED5_HOST="www.gnashdev.org" ;;
2228               *) RED5_HOST="${enableval}";;
2229            esac])
2230   AC_SUBST(RED5_HOST)
2232 AM_CONDITIONAL(ENABLE_RED5_TESTING, [ test x"$RED5_HOST" != x ])
2234 dnl The name might differ between systems.
2235 if test x"$testsuite" = x"yes"; then
2236 AC_PATH_PROGS(NETCAT, [nc netcat])
2237 AC_PATH_PROG(WGET, wget)
2239 AM_CONDITIONAL(HAS_NETCAT, [ test x"$NETCAT" != x ])
2240 AM_CONDITIONAL(HAS_WGET, [ test x"$WGET" != x ])
2243 dnl See if we can use the swfmill, mtasc, swfc and haxe based testsuites 
2245 if test x"$testsuite" = x"yes" -a x$cross_compiling = xno; then
2246   AC_PATH_PROG(AS3COMPILE, as3compile)
2247   AC_PATH_PROG(SWFC, swfc)
2248   AC_PATH_SWFMILL
2249   AC_PATH_MTASC
2250   AC_PATH_HAXE
2253 AM_CONDITIONAL(ENABLE_SWFMILL, [ test x"$SWFMILL" != x ])
2254 AM_CONDITIONAL(SWFMILL_AS3_SUPPORT,
2255         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2257 dnl SWFMILL versions older than 0.3 didn't get function2 flags order correctly
2258 AM_CONDITIONAL(SWFMILL_FUNCTION2_FLAGS_ORDER_CORRECT,
2259         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2261 AM_CONDITIONAL(ENABLE_AS3COMPILE, [ test x"$AS3COMPILE" != x ])
2262 AM_CONDITIONAL(ENABLE_MTASC, [ test x"$MTASC" != x ])
2263 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2264 AM_CONDITIONAL(ENABLE_SWFC, [ test x"$SWFC" != x ])
2265 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2267 AC_PATH_PROG(DOXYGEN, doxygen)
2268 AM_CONDITIONAL(ENABLE_DOXYGEN, [ test x"$DOXYGEN" != x ])
2270 dnl currently unused
2271 dnl GNASH_PKG_FIND(ogg, [ogg.h], [decode ogg streams], ogg_stream_init)
2273 if test x$build_sdl = xyes -o x$build_sound_sdl = xyes; then
2274   GNASH_PATH_SDL
2277 AM_CONDITIONAL(HAVE_SDL, [ test x$has_SDL = xyes ])
2279 GNASH_PATH_QT3
2280 GNASH_PATH_KDE3
2282 GNASH_PATH_QT4
2283 GNASH_PATH_KDE4
2285 dnl Qtopia is a desktop environment for embedded devices.
2286 dnl GNASH_PATH_QTOPIA3
2287 dnl GNASH_PATH_QTOPIA4
2288 has_qtopia3=no
2289 has_qtopia4=no
2292 AM_CONDITIONAL(HAVE_QTOPIA3, [test x$has_qtopia3 = xyes])
2293 AM_CONDITIONAL(HAVE_QTOPIA4, [test x$has_qtopia4 = xyes])
2294 AM_CONDITIONAL(HAVE_KDE3,    [test x$has_kde3 = xyes])
2295 AM_CONDITIONAL(HAVE_KDE4,    [test x$has_kde4 = xyes])
2296 AM_CONDITIONAL(HAVE_QT3,     [test x$has_qt3 = xyes])
2297 AM_CONDITIONAL(HAVE_QT4,     [test x$has_qt4 = xyes])
2299 AM_CONDITIONAL(WITH_KDE4,    [test "$with_kde4" != "no"])
2300 AM_CONDITIONAL([QT_X11],     [test "$platform" = "X11"])
2301 AM_CONDITIONAL([QTOPIA],     [test "$platform" = "Qtopia"])
2302 AM_CONDITIONAL([QT_OSX],     [test "$platform" = "OSX"])
2303 AM_CONDITIONAL([QT_OS9],     [test "$platform" = "OS9"])
2304 AM_CONDITIONAL([QT_WIN32],   [test "$platform" = "Win32"])
2306 dnl Need GLIB for both GTK and GST
2307 if test x"${build_gtk}" = xyes -o x"${build_media_gst}" = xyes; then
2308   GNASH_PATH_GLIB
2311 AM_CONDITIONAL(HAVE_GLIB, [ test x"${has_glib}" = xyes ])
2313 if test x$npapi = xyes; then
2314   if ! test x$build_gtk = xyes -o x$build_kde4 = xyes; then
2315     AC_MSG_WARN(["Enabled NPAPI plugin, but it's not supported by the selected GUI"])
2316   fi
2319 if test x$windows = xyes -a x$npapi = xyes; then
2320   if test "x$NSPR_CFLAGS" = x -a "x$NSPR_LIBS" = x; then
2321     AC_MSG_ERROR(["On Win32, NPAPI plugin requires NSPR."])
2322   fi
2323   if test "x$WINDRES" = x; then
2324     AC_MSG_ERROR(["On Win32, NPAPI plugin requires windres."])
2325   fi
2328 dnl Need GLIB for NPAPI plugin
2329 if test x$npapi = xyes; then
2330   GNASH_PATH_GLIB
2333 dnl if kde isn't installed, even if it's specified, don't try to build
2334 dnl the KPARTS plugin, which is KDE based.
2335 if test x$has_kde3 = xno -a x$build_kparts3 = xyes; then
2336   build_kparts3=no
2337 dnl  build_kde3=no
2338   AC_MSG_WARN(["Disabling KPARTS 3.x plugin, no KDE development found"])
2341 if test x$build_kde3 = xno -a x$build_kparts3 = xyes; then
2342   AC_MSG_WARN(["Enabled KPARTS 3.x plugin, but you aren't building a KDE based GUI!"])
2344 if test x$has_kde4 = xno -a x$build_kparts4 = xyes; then
2345   build_kparts4=no
2346 dnl  build_kde4=no
2347   AC_MSG_WARN(["Disabling KPARTS 4.x plugin, no KDE 4.x development found"])
2350 if test x$build_kde4 = xno -a x$kparts4 = xyes; then
2351   AC_MSG_WARN(["Enabled KPARTS 4.x plugin, but you aren't building a KDE 4.x based GUI!"])
2354 AM_CONDITIONAL(BUILD_QTOPIA3_GUI,  [ test x$build_qtopia3 = xyes ])
2355 AM_CONDITIONAL(BUILD_QTOPIA4_GUI,  [ test x$build_qtopia4 = xyes ])
2356 AM_CONDITIONAL(BUILD_QT3_GUI,      [ test x$build_qt3 = xyes ])
2357 AM_CONDITIONAL(BUILD_QT4_GUI,      [ test x$build_qt4 = xyes ])
2358 AM_CONDITIONAL(BUILD_KDE3_GUI,     [ test x$build_kde3 = xyes ])
2359 AM_CONDITIONAL(BUILD_KDE4_GUI,     [ test x$build_kde4 = xyes ])
2361 AM_CONDITIONAL(BUILD_GTK_GUI,      [ test x$build_gtk = xyes ])
2362 AM_CONDITIONAL(BUILD_FLTK_GUI,     [ test x$build_fltk = xyes ])
2363 AM_CONDITIONAL(BUILD_SDL_GUI,      [ test x$build_sdl = xyes ])
2364 AM_CONDITIONAL(BUILD_FB_GUI,       [ test x$build_fb = xyes ])
2365 AM_CONDITIONAL(BUILD_AQUA_GUI,     [ test x$build_aqua = xyes ])
2366 AM_CONDITIONAL(ALLSTATIC,          [ test x$build_aqua = xyes ]) dnl the Aqua-binary is always static.
2367 AM_CONDITIONAL(BUILD_RISCOS_GUI,   [ test x$build_riscos = xyes ])
2368 AM_CONDITIONAL(BUILD_DUMP_GUI,     [ test x$build_dump = xyes ])
2369 AM_CONDITIONAL(BUILD_AMIGAOS4_GUI, [ test x$build_aos4 = xyes ])
2370 AM_CONDITIONAL(BUILD_HAIKU_GUI,    [ test x$build_haiku = xyes ])
2372 # plugin building flags
2373 AM_CONDITIONAL(NPAPI,   [test x"${npapi}" = xyes])
2374 AM_CONDITIONAL(KPARTS3, [test x"${build_kparts3}" = xyes])
2375 AM_CONDITIONAL(KPARTS4, [test x"${build_kparts4}" = xyes])
2377 if test x"${build_gles}" = xyes; then
2378   GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
2379   GNASH_PATH_GLES
2382 if test x"${build_ogv}" = xyes; then
2383   GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
2384   GNASH_PKG_FIND(OpenVG, [vg/openvg.h], [OpenVG library], vgDrawImage)
2387 if test x"${build_ogl}" = xyes; then
2388   GNASH_PATH_OPENGL
2391 if test x"${build_gtk}" = xyes; then
2392   AC_ARG_ENABLE(ghelp,
2393     AC_HELP_STRING([--enable-ghelp], [Enable support for the GNOME help system]),
2394     [case "${enableval}" in
2395       yes) ghelp=yes ;;
2396       no)  ghelp=no ;;
2397       *)   AC_MSG_ERROR([bad value ${enableval} for enable-ghelp option]) ;;
2398     esac], ghelp=no
2399   )
2401   if test x"${ghelp}" = x"yes" ; then
2402     AC_PATH_PROG(SCROLLKEEPER, scrollkeeper-config, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2403     AC_PATH_PROG(SCROLLUPDATE, scrollkeeper-update, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2404     AC_PATH_PROG(SCROLLINSTALL, scrollkeeper-preinstall, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2406     if test x"$SCROLLKEEPER" = x -o x"$SCROLLUPDATE" = x -o x"$SCROLLINSTALL" = x ; then
2407       ghelp=no
2408       AC_MSG_WARN([You need to install scrollkeeper for gnome help])
2409     fi
2410   fi
2412 AM_CONDITIONAL(GHELP, [test x${ghelp} = xyes])
2414 if test x${build_fltk} = xyes; then
2415   GNASH_PKG_FIND(Xft, [Xft.h], [xft library], XftGlyphRender)
2418 dnl Some systems have a pervered set of dependencies.
2419 dnl Fedora Core 6 appears to have a dependency on expat for fontconfig.
2420 dnl We only need the library, but this is the easy wind to find it.
2421 GNASH_PKG_FIND(expat, [expat.h], [Expat library], XML_ErrorString)
2423 dnl these conditionals were moved out of kde.m4
2424 AM_CONDITIONAL(HAS_KDE3, [test x$has_kde3 = xyes])
2425 # used to disable x11-specific stuff on special platforms
2426 AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
2427 AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
2428 AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2430 AM_CONDITIONAL(HAVE_GTK2, [ test x$has_gtk2 = xyes ])
2431 AM_CONDITIONAL(HAVE_GLEXT, [test x$glext = xyes])
2433 dnl We don't have GTKGLExt, so default to SDL, and don't build the Firefox plugin
2434 if test x$glext = xno -a x$build_ogl = xyes; then
2435   if test x$gtk2 = xyes -a x$build_gtk = xyes; then
2436     AC_ERROR([You have GTK installed, but not GtkGLExt. You need GtkGLExt to use the OpenGL renderer. Attempting to build SDL version])
2437   fi
2438   gui=sdl
2439   npapi=no
2440   AC_MSG_WARN([GTK2 specified for the GUI, but GtkGlExt is not present. Trying SDL instead.])
2443 missing_codecs=""
2444 if test x"$build_media_gst" = "xyes"; then
2445   AC_PATH_PROG(GST_INSPECT, gst-inspect, ,[${pathlist}])
2446   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2447     AC_PATH_PROG(GST_INSPECT, gst-inspect-0.10, ,[${pathlist}])
2448   fi
2449   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2450     dnl FIXME: there may be multiple acceptable plugins that are acceptable for
2451     dnl our use. For example, mad or FFmpeg will play mp3.
2452     codecs="ffdec_flv ffdec_flashsv ffdec_vp6f ffdec_flashsv mad vorbisdec ffdec_vp6"
2453     for i in $codecs; do
2454        hits="`$GST_INSPECT $i | grep -c 'Long name'`"
2455        if test $hits -eq 0; then
2456          missing_codecs="$missing_codecs $i"
2457          AC_MSG_WARN([Missing codec: $i])
2458        fi
2459     done
2460   fi
2461   GNASH_PKG_FIND(gstreamer_plugins_base, [gst/interfaces/probeprobe.h], [gstreamer interfaces library], gst_property_probe_probe_and_get_values_name, [0.10])
2462   GNASH_PKG_FIND(gstreamer_app, [gst/app/gstappsink.h], [gstreamer app library], call_gmon_start, [0.10])
2463   GNASH_PKG_FIND(gstreamer, [gst/gst.h], [gstreamer library], gst_init, [0.10])
2464   dnl if cross compiling, we're usually not going to be able to pop up
2465   dnl the codec installer to download the package to install, so disable
2466   dnl it if cross compiling with gstreamer support.
2467   if test x$cross_compiling = xno; then
2468     GNASH_PKG_FIND(gstpbutils, [gst/pbutils/install-plugins.h], [gstreamer PB Utils library], gst_install_plugins_supported, [0.10])
2469   fi
2470   dnl when cross compiling Gstreamer, not all supplied SDKs include all the
2471   dnl development libraries since most devices don't need to support plugin
2472   dnl development, only the runtime. In these caes we often have the header
2473   dnl files but not the libraries.
2474   if test x"${has_gstreamer_plugins_base}" = xyes; then
2475     GSTREAMER_LIBS="-lgstinterfaces-0.10 $GSTREAMER_LIBS"
2476     AC_DEFINE(HAS_GSTREAMER_PLUGINS_BASE, [1], [Has the Gstreamer Plugin Dev package installed])
2477   fi
2480 AM_CONDITIONAL(HAVE_CAIRO, [true])
2481 dnl AM_CONDITIONAL(HAVE_CAIRO, [test x"${has_cairo}" = xyes])
2482 AM_CONDITIONAL(HAVE_OPENGL, [true])
2483 dnl AM_CONDITIONAL(HAVE_OPENGL, test x"${has_opengl}" = xyes)
2485 AM_CONDITIONAL(USE_SOUND_SDL, test x$build_sound_sdl = xyes)
2486 AM_CONDITIONAL(USE_SOUND_AHI, test x$build_sound_ahi = xyes)
2487 AM_CONDITIONAL(USE_SOUND_MKIT, test x$build_sound_mkit = xyes)
2488 AM_CONDITIONAL(USE_FFMPEG_ENGINE, test x"${build_media_ffmpeg}" = x"yes")
2489 AM_CONDITIONAL(USE_GST_ENGINE, test x"${build_media_gst}" = x"yes")
2490 AM_CONDITIONAL(HAVE_OPENGL, test x"${OPENGL_LIBS}" != x)
2491 dnl for now the Haiku media handler is experimental
2492 AM_CONDITIONAL(USE_HAIKU_ENGINE, test x"$build_media_haiku" = xyes)
2494 if test x"${build_media_ffmpeg}" = x"yes"; then
2495   AC_DEFINE([ENABLE_FFMPEG_MEDIA],  [1], [Use FFmpeg for media decoding])
2498 if test x"${build_media_gst}" = x"yes"; then
2499   AC_DEFINE([ENABLE_GST_MEDIA],  [1], [Use gstreamer for media decoding])
2502 if test x"${build_media_haiku}" = x"yes"; then
2503   AC_DEFINE([ENABLE_HAIKU_MEDIA],  [1], [Use haiku for media decoding])
2506 if test x$build_sound_mkit = xyes; then
2507   if test x"${haiku}" != xyes; then
2508     AC_MSG_ERROR([Media Kit sound handling is supported only under Haiku]);
2509   else
2510     AC_DEFINE([SOUND_MKIT],  [1], [Use Haiku's Media Kit for sound handling])
2511   fi
2514 if test x"${build_sound_sdl}" = xyes; then
2515   AC_DEFINE([SOUND_SDL],  [1], [Use SDL for sound handling])
2518 if test x"${build_sound_ahi}" = xyes; then
2519   if test x"$amigaos4" != xyes; then
2520     AC_MSG_ERROR([AHI sound handling is supported only under AmigaOS]);
2521   else
2522     AC_DEFINE([SOUND_AHI],  [1], [Use AmigaOS AHI for sound handling])
2523   fi
2526 if test x$build_fltk = xyes; then
2527   GNASH_PKG_FIND(fltk2, [fltk/FL_API.h], [Fast Light Toolkit], fl_window_flush)
2530 AM_CONDITIONAL(HAVE_FLTK2, [ test x$has_fltk2 = xyes ])
2531 AM_CONDITIONAL(HAS_XFT, [ test x$has_xft = xyes ])
2533 GNASH_DOCBOOK
2534 AM_CONDITIONAL(ENABLE_INFO, test x${INSTALL_INFO} != x)
2535 AM_CONDITIONAL(DOCBOOK, test x$docbook = xyes)
2536 AM_CONDITIONAL(ENABLE_TEXI, [ test x"$DB2X_TEXI" != x -o x"$DB2X_TEXIXML" != x ])
2537 AM_CONDITIONAL(ENABLE_PDF, [ test x"$DB2X_PDF" ])
2538 AM_CONDITIONAL(ENABLE_HTML, [ test x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2539 AM_CONDITIONAL(ENABLE_FOP, [ test x"$FOP" != x -a x"$docbook_styles" != x ])
2540 AM_CONDITIONAL(ENABLE_XMLTEX, [ test x"$PDFXMLTEX" != x -a x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2541 dnl  AM_CONDITIONAL(ENABLE_DBLATEX, [ test x"$DBLATEX" != x ])
2542 AM_CONDITIONAL(ENABLE_MAN, [ test x"$DB2X_MAN" != x -o x"$DB2X_MANXML" != x ])
2543 AM_CONDITIONAL(HAVE_AGG, [test x"${AGG_LIBS}" != x])
2545 GNASH_PATH_CURL
2547 dnl Define winsock if we're on windows. We could do something complicated,
2548 dnl but since AC_EXEEXT does it for us, we'll do this the easy way.
2549 if test x"$EXEEXT" = "exe"; then
2550   AC_DEFINE(HAVE_WINSOCK,1,[This is defined is we are on Win32])
2553 dnl ****************************************
2554 dnl *** Check for ELF visibility support ***
2555 dnl ****************************************
2557 AC_ARG_ENABLE([visibility],
2558   AC_HELP_STRING([--enable-visibility], [Use ELF visibility attributes]), [], [enable_visibility=no])
2560 if test x"$enable_visibility" != x"no"; then
2561   dnl Check whether the compiler supports the visibility attribute
2562   save_CFLAGS="$CFLAGS"
2563   CFLAGS="$CFLAGS -Wall -Werror"
2564   AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
2565   AC_COMPILE_IFELSE(AC_LANG_SOURCE(
2566     [
2567       void __attribute__ ((visibility("default"))) test_default (void) {}
2568       void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
2569       int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
2570     ]),
2571     [
2572       AC_DEFINE([HAVE_GNUC_VISIBILITY], [1], [Define this for GCC-visibility.])
2573       AC_MSG_RESULT([yes])
2574     ],
2575     [
2576       AC_MSG_RESULT([no])
2577     ]
2578   )
2579   CFLAGS="$save_CFLAGS"
2582 AC_ARG_ENABLE([pch],
2583   AC_HELP_STRING([--enable-pch], [Enable precompiled header support]), [], [enable_pch=no])
2585 AM_CONDITIONAL([ENABLE_PCH], [test x"$enable_pch" != x"no"])
2587 PCH_FLAGS="-include all-includes.h -Winvalid-pch"
2588 AC_SUBST(PCH_FLAGS)
2590 GNASH_PATH_PTHREADS
2592 GNASH_PATH_BOOST
2593 dnl AX_GCC_ARCHFLAG(no)
2595 AC_ARG_ENABLE([strict],
2596   AC_HELP_STRING([--enable-strict],[Accept only standards compliant code (GCC only)]),
2597   [case "${enableval}" in
2598     yes) strict=yes ;;
2599     no) strict=no ;;
2600     *) AC_MSG_ERROR([bad value ${enableval} for --enable-strict option]) ;;
2601   esac],
2602   [strict=no]
2605 if test x"$strict" = x"yes" -a x$build_agg = xyes; then
2606    AC_MSG_ERROR([agg renderer will fail with --enable-strict.]);        
2609 # We want warnings, lots of warnings  :-)
2610 # It should be possible to build with -ansi, not with
2611 # -pedantic because of agg.
2613 # -ansi was actually dropped because it hides 'fileno', which
2614 # is used in a few places
2616 if test x"$GCC" = x"yes"; then
2617   CXXFLAGS="$CXXFLAGS \
2618     $CROSS_CXXFLAGS \
2619     -W \
2620     -Wall \
2621     -Wcast-align \
2622     -Wcast-qual \
2623     -Wpointer-arith \
2624     -Wreturn-type \
2625     -Wnon-virtual-dtor \
2626     -Wunused \
2627     "
2628   CFLAGS="$CFLAGS \
2629     $CROSS_CXXFLAGS \
2630     -W \
2631     -Wall \
2632     -Wcast-align \
2633     -Wcast-qual \
2634     -Wpointer-arith \
2635     -Wreturn-type \
2636     -Wmissing-declarations \
2637     -Wmissing-prototypes \
2638     -Wstrict-prototypes \
2639     "
2640   if test x"$strict" = x"yes"; then
2641     CXXFLAGS="$CXXFLAGS \
2642       -Wextra \   
2643       -pedantic \
2644       -Wno-long-long \
2645       "
2647     CFLAGS="$CFLAGS \
2648       -pedantic \
2649       -Wno-long-long \
2650       -ansi \
2651       "
2652   fi
2655 AC_ARG_ENABLE([cassert],
2656   AC_HELP_STRING([--disable-cassert],[Disable assertion checking]),
2657   [case "${enableval}" in
2658     yes) cassert=yes ;;
2659     no) cassert=no ;;
2660     *) AC_MSG_ERROR([bad value ${enableval} for --enable-cassert option]) ;;
2661   esac],
2662   [cassert=yes]
2665 if test x"$cassert" = x"no"; then
2666     CXXFLAGS="$CXXFLAGS \
2667       -DNDEBUG \
2668       "
2669     CFLAGS="$CFLAGS \
2670       -DNDEBUG \
2671       "
2674 dnl /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
2675 AC_DEFUN([CHECK_VISIBILITY_GCC_BUG],
2676   [
2677     AC_CACHE_CHECK([if -fvisibility-inlines-hidden is broken], ac_cv_gcc_visibility_bug, [
2678         AC_LANG_PUSH(C++)
2679         save_CXXFLAGS=$CXXFLAGS
2680         save_LDFLAGS=$LDFLAGS
2681         CXXFLAGS="-fPIC -fvisibility-inlines-hidden -O0"
2682         LDFLAGS="$LDFLAGS -shared -fPIC"
2684         AC_TRY_LINK(
2685         [          
2686           template<typename CharT>
2687           struct VisTest
2688           {
2689             inline VisTest ();
2690           };
2691           template<typename CharT>
2692           inline VisTest<CharT>::VisTest()
2693         {}
2694         extern template class VisTest<char>;  // It works if we drop that line
2695         int some_function( int do_something ) __attribute__((visibility("default")));
2696         int some_function( int )
2697           {
2698             VisTest<char> a;
2699             return 0;
2700           }
2701         ], [],
2702         ac_cv_gcc_visibility_bug=no, ac_cv_gcc_visibility_bug=yes)
2704         CXXFLAGS=$save_CXXFLAGS
2705         LDFLAGS=$save_LDFLAGS
2706         AC_LANG_POP(C++)
2707       ]
2708     )
2709     if test x$ac_cv_gcc_visibility_bug = xno; then
2710       CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
2711     fi
2712   ]
2715 CHECK_VISIBILITY_GCC_BUG
2717 if test x$ac_cv_gcc_visibility_bug = xno; then
2718   AC_LANG_PUSH(C++)
2719   AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
2720   save_CXXFLAGS=$CXXFLAGS
2721   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2722   AC_LINK_IFELSE([AC_LANG_PROGRAM()], 
2723                  [ac_cv_gcc_visibility=yes;
2724                   AC_MSG_RESULT([yes])],
2725                  [ac_cv_gcc_visibility=no;
2726                   AC_MSG_RESULT([no])]);
2727   CXXFLAGS="$save_CXXFLAGS"
2728   AC_LANG_POP(C++)
2732 AM_CONDITIONAL(VISIBILITY_WORKS, test x"$ac_cv_gcc_visibility" = xyes)
2734 if test x"$ac_cv_gcc_visibility" = xyes -a x"$enable_visibility" != xno; then
2735   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2738 dnl Define convienience constants so Gnash can print out the
2739 dnl default configuration of the build.
2740 RENDERER_CONFIG="${renderer_list}"
2741 RENDERER_LIBS=
2742 for rend in `echo "${add_renderer}" | tr ',' ' '`; do
2743         RENDERER_LIBS="${RENDERER_LIBS} \$(top_builddir)/librender/libgnash${rend}.la"
2744 done
2745 dnl echo "RENDERER_LIBS=$RENDERER_LIBS"
2746 AC_SUBST(RENDERER_LIBS)
2747 AC_SUBST(RENDERER_CONFIG)
2749 HWACCEL_CONFIG="${hwaccel_list}"
2750 AC_SUBST(HWACCEL_CONFIG)
2752 dnl check for missing libraries and disable them.
2753 if test x"$BOOST_LIBS" != x; then
2754   if test x"${cygnal_missing_libs}" != x; then
2755     for i in ${cygnal_missing_libs}; do
2756       if test $i = serialization; then
2757         AC_DEFINE([BOOST_MULTI_INDEX_DISABLE_SERIALIZATION], ["1"], [if the library is missing, don't use it.])
2758       fi
2759     done
2760   fi
2763 CYGNAL_PATHS
2765 SUPPORTED_GUIS=
2766 if test x$build_qtopia3 = xyes; then
2767   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
2769 if test x$build_qtopia4 = xyes; then
2770   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
2772 if test x$build_fb = xyes; then
2773   SUPPORTED_GUIS="${SUPPORTED_GUIS},fb"
2775 if test x$build_fltk = xyes; then
2776   SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
2778 if test x$build_qt3 = xyes; then
2779   SUPPORTED_GUIS="${SUPPORTED_GUIS},qt3"
2781 if test x$build_qt4 = xyes; then
2782   SUPPORTED_GUIS="${SUPPORTED_GUIS},qt4"
2784 if test x$build_kde3 = xyes; then
2785   SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
2787 if test x$build_kde4 = xyes; then
2788   SUPPORTED_GUIS="${SUPPORTED_GUIS},kde4"
2790 if test x$build_gtk = xyes; then
2791   SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
2793 if test x$build_sdl = xyes; then
2794   SUPPORTED_GUIS="${SUPPORTED_GUIS},sdl"
2796 if test x$build_riscos = xyes; then
2797   SUPPORTED_GUIS="${SUPPORTED_GUIS},riscos"
2799 if test x$build_aqua = xyes; then
2800   SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
2802 if test x$build_dump = xyes; then
2803   SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
2805 if test x$build_aos4 = xyes; then
2806   SUPPORTED_GUIS="${SUPPORTED_GUIS},aos4"
2808 if test x$build_haiku = xyes; then
2809   SUPPORTED_GUIS="${SUPPORTED_GUIS},haiku"
2811 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
2812 AC_SUBST(SUPPORTED_GUIS)
2814 dnl AC_CONFIG_LINKS(doc/C/images)
2815 dnl AC_CONFIG_LINKS(gnashconfig.h,libltdl/config.h)
2816 AC_CONFIG_LINKS(cygnal/testsuite/cygnal.all/cygnalrc:cygnal/testsuite/cygnal.all/cygnalrc.in)
2817 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc:testsuite/libbase.all/gnashrc.in)
2818 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc-local:testsuite/libbase.all/gnashrc-local.in)
2820 AC_CONFIG_FILES(gnash.pc:gnash.pc.in)
2822 AC_OUTPUT(Makefile
2823 po/Makefile
2824 libltdl/Makefile
2825 libmedia/Makefile
2826 libsound/Makefile
2827 libbase/Makefile
2828 libcore/Makefile
2829 libcore/vm/Makefile
2830 libcore/parser/Makefile
2831 libvaapi/Makefile
2832 librender/Makefile
2833 utilities/Makefile
2834 doc/Makefile
2835 doc/C/Makefile
2836 doc/Doxyfile
2837 testsuite/Makefile
2838 testsuite/media/Makefile
2839 testsuite/libbase.all/Makefile
2840 testsuite/as3compile.all/Makefile
2841 testsuite/actionscript.all/Makefile
2842 testsuite/samples/Makefile
2843 testsuite/swfdec/Makefile
2844 testsuite/misc-ming.all/Makefile
2845 testsuite/misc-ming.all/action_order/Makefile
2846 testsuite/misc-ming.all/displaylist_depths/Makefile
2847 testsuite/misc-ming.all/loop/Makefile
2848 testsuite/misc-ming.all/loading/Makefile
2849 testsuite/misc-mtasc.all/Makefile
2850 testsuite/misc-haxe.all/Makefile
2851 testsuite/misc-haxe.all/classes.all/Makefile
2852 testsuite/misc-swfmill.all/Makefile
2853 testsuite/misc-swfmill.all/trace-as2/Makefile
2854 testsuite/misc-swfmill.all/trace-as3/Makefile
2855 testsuite/misc-swfc.all/Makefile
2856 testsuite/network.all/Makefile
2857 testsuite/movies.all/Makefile
2858 testsuite/libcore.all/Makefile
2859 testsuite/libmedia.all/Makefile
2860 gui/Makefile
2861 gui/fb/Makefile
2862 gui/Info.plist
2863 gui/pythonmod/Makefile
2864 extensions/Makefile
2865 extensions/dejagnu/Makefile
2866 extensions/mysql/Makefile
2867 extensions/fileio/Makefile
2868 extensions/gtk2/Makefile
2869 extensions/lirc/Makefile
2870 extensions/dbus/Makefile
2871 plugin/Makefile
2872 plugin/npapi/Makefile
2873 plugin/klash/Makefile
2874 plugin/klash4/Makefile
2875 plugin/win32/Makefile
2876 plugin/aos4/Makefile
2877 cygnal/Makefile
2878 cygnal/libnet/Makefile
2879 cygnal/libamf/Makefile
2880 cygnal/cgi-bin/Makefile
2881 cygnal/cgi-bin/echo/Makefile
2882 cygnal/cgi-bin/oflaDemo/Makefile
2883 cygnal/cgi-bin/fitcDemo/Makefile
2884 cygnal/testsuite/Makefile
2885 cygnal/testsuite/libamf.all/Makefile
2886 cygnal/testsuite/libnet.all/Makefile
2887 cygnal/testsuite/cygnal.all/Makefile
2891 ########################## Final report begins... ############################
2894 cerr=/tmp/gnash-configure-errors.$$
2895 cwarn=/tmp/gnash-configure-warnings.$$
2896 crec=/tmp/gnash-configure-recommended.$$
2897 echo ""
2899 #trap 'rm cerr' 0 # trap isn't a good idea, might override other traps
2900 exec 3> $cerr 
2901 exec 4> $cwarn
2902 exec 5> $crec
2904 echo "Configurable options are:"
2906 if test x"${i810lodbias}" = x"yes"; then
2907   echo "        Intel 810 LOD bias hack enabled"
2908 else
2909   echo "        Intel 810 LOD bias hack disabled (default). Use --enable-i810-lod-bias to enable."
2912 if test x"${pthreads}" = x"yes"; then
2913   echo "        POSIX Threads support enabled (default)"
2914 else
2915   if test x"${build_haiku}" = x"yes"; then
2916      echo "        POSIX Thread support built into C library."
2917   els
2918      echo "        POSIX Thread support disabled."
2919   fi
2922 if test x"${dmalloc}" = x"yes"; then
2923   echo "        DMalloc support enabled"
2924   echo "        For a list of the command-line options enter: dmalloc --usage"
2925 else
2926   echo "        DMalloc support disabled (default). Use --enable-dmalloc to enable."
2929 if test x"${npapi}" = x"yes"; then
2930   echo "        NPAPI plugin enabled (default). Use --disable-npapi to disable."
2931   echo "            NPAPI plugin will be installed in ${FIREFOX_PLUGINS}"
2932 else
2933   echo "        NPAPI plugin disabled."
2936 if test x"${build_kparts3}" = x"yes"; then
2937   echo "        KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to disable"
2938   echo "            KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
2939   echo "            KPARTS 3.x service will be installed in ${KDE3_SERVICESDIR}"
2940   echo "            KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
2941   echo "            KPARTS 3.x appsdata will be installed in ${KDE3_APPSDATADIR}"
2942 else
2943   echo "        KPARTS 3.x plugin disabled."
2946 if test x"${build_kparts4}" = x"yes"; then
2947   echo "        KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to disable"
2948   echo "            KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
2949   echo "            KPARTS 4.x service will be installed in ${KDE4_SERVICESDIR}"
2950   echo "            KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
2951   echo "            KPARTS 4.x appsdata will be installed in ${KDE4_APPSDATADIR}"
2952 else
2953   echo "        KPARTS 4.x plugin disabled."
2956 dnl -- if test x"${dynamic_gui}" = x"yes"; then
2957 dnl --   echo "        Loadable GUI & renderer enabled."
2958 dnl -- else
2959 dnl --   echo "        Loadable GUI & renderer disabled (default). Use --enable-dynamic-gui to enable."
2960 dnl -- fi
2962 # set a variable if we shouldn't continue. This way we can print
2963 # out everything that is missing in one pass, hopefully making it
2964 # easy for new developers to get everything they need installed.
2966 echo "Configured paths for ${build} are:"
2968 dnl Dump QT3 options is the user specified a QT3 or KDE3 GUI
2969 if test x"${build_qt3}" = xyes; then
2970   if test x"${has_qt3}" = xyes; then
2971     echo "        QT3 flags are: ${QT3_CFLAGS}"
2972     echo "        QT3 libs are: ${QT3_LIBS}"
2973   else
2974     echo "        ERROR: No QT 3.x development package installed!" >&3
2975     echo "               Install a QT 3.x development environment from http://trolltech.com" >&3
2976     echo "               or .deb users: apt-get install libqt3-mt-dev" >&3
2977     if test x$build_kde3 = xyes; then
2978       echo "               or change to a different gui with --enable-gui=..." >&3
2979     fi
2980   fi
2983 if test x"${build_qt4}" = xyes; then
2984   if test x"${has_qt4}" = xyes; then
2985     echo "        QT4 flags are: ${QT4_CFLAGS}"
2986     echo "        QT4 libs are: ${QT4_LIBS}"
2987   else
2988     echo "        ERROR: No QT 4.x development package installed!" >&3
2989     echo "               Install a QT 4.x development environment from http://trolltech.com" >&3
2990     echo "               or .deb users: apt-get install qt4-dev-tools" >&3
2991     if test x$build_kde4 = xyes; then
2992       echo "               or change to a different gui with --enable-gui=..." >&3
2993     fi
2994   fi
2997 if test x"$build_qtopia3" = xyes; then
2998   if test x"${QTOPIA3_LIBS}" != x ; then
2999     if test x"${QTOPIA3_CFLAGS}" != x ; then
3000       echo "        QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
3001     else
3002       echo "        QTOPIA 3.x flags are: default include path"
3003     fi
3004     echo "        QTOPIA 3.x libs are: $QTOPIA3_LIBS"
3005   else
3006     echo "        ERROR: No QTOPIA 3.x library development package installed!" >&3
3007     echo "               Install it from http://trolltech.com/downloads/" >&3
3008     echo "               binary packages are not available." >&3
3009   fi
3012 if test x"$build_qtopia4" = xyes; then
3013   if test x"${QTOPIA4_LIBS}" != x ; then
3014     if test x"${QTOPIA4_CFLAGS}" != x ; then
3015       echo "        QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
3016     else
3017       echo "        QTOPIA 4.x flags are: default include path"
3018     fi
3019     echo "        QTOPIA 4.x libs are: $QTOPIA4_LIBS"
3020   else
3021     echo "        ERROR: No QTOPIA 4.x library development package installed!" >&3
3022     echo "               Install it from http://trolltech.com/downloads/" >&3
3023     echo "               binary packages are not available." >&3
3024   fi
3028 # -o x$build_kparts3 = xyes
3029 if test x$build_kde3 = xyes; then
3030   if test x"$has_kde3" = xyes; then
3031     echo "        KDE 3.x flags are: $KDE3_CFLAGS"
3032     echo "        KDE 3.x libs are: $KDE3_LIBS"
3033   else
3034       echo "        ERROR: No KDE 3.x development package installed!" >&3
3035       echo "               To disable the KDE 3.x gui," >&3
3036       echo "               reconfigure using --enable-gui=<list-of-guis>" >&3
3037       echo "               and omit "kde" from the list." >&3
3038       echo "               When the option --enable-gui=... is omitted," >&3
3039       echo "               the default is the same of --enable-gui=kde,gtk" >&3
3040       echo "               To be able to build the kde 3.x gui," >&3
3041       echo "               install version 3.x of the KDE development environment from http://kde.org" >&3
3042       echo "               or .deb users: apt-get install kdelibs4-dev" >&3
3043       echo "               or .rpm users: yum install kdelibs3-devel." >&3
3044   fi
3047 # -o x$build_kparts4 = xyes
3048 if test x$build_kde4 = xyes; then
3049   if test x"$has_kde4" = xyes; then
3050     echo "        KDE 4.x flags are: $KDE4_CFLAGS"
3051     echo "        KDE 4.x libs are: $KDE4_LIBS"
3052   else
3053       echo "        ERROR: No KDE 4.x development package installed!" >&3
3054       echo "               To disable the KDE 4.x gui," >&3
3055       echo "               reconfigure using --enable-gui=<list-of-guis>" >&3
3056       echo "               and omit "kde" from the list." >&3
3057       echo "               When the option --enable-gui=... is omitted," >&3
3058       echo "               the default is the same of --enable-gui=kde,gtk" >&3
3059       echo "               To be able to build the kde 4.x gui," >&3
3060       echo "               install version 4.x of the KDE development environment from http://kde.org" >&3
3061       echo "               or .deb users: apt-get install kdelibs5-dev" >&3
3062       echo "               or .rpm users: yum install kdelibs-devel." >&3
3063   fi
3066 if test x"${JPEG_LIBS}" != x ; then
3067   if test x"${JPEG_CFLAGS}" != x ; then
3068     echo "        JPEG flags are: $JPEG_CFLAGS"
3069   else
3070     echo "        JPEG flags are: default include path"
3071   fi
3072   echo "        JPEG libs are: $JPEG_LIBS"
3073 else
3074   echo "        ERROR: No JPEG library development package installed!" >&3
3075   echo "               Install it from http://ijg.org" >&3
3076   echo "               or .deb users: apt-get install libjpeg-dev" >&3
3077   echo "               or .rpm users: yum install libjpeg-devel" >&3
3080 if test x"${GIF_LIBS}" != x ; then
3081   if test x"${GIF_CFLAGS}" != x ; then
3082     echo "        GIF flags are: $GIF_CFLAGS"
3083   else
3084     echo "        GIF flags are: default include path"
3085   fi
3086   echo "        GIF libs are: $GIF_LIBS"
3087 else
3088   echo "        ERROR: No GIF library development package installed!" >&3
3089   echo "               Install it from http://sourceforge.net/projects/giflib/" >&3
3090   echo "               or .deb users: apt-get install libungif-dev" >&3
3091   echo "               or maybe     : apt-get install libgif-dev" >&3
3092   echo "               or .rpm users: yum install libungif-devel" >&3
3095 if test x"${PNG_LIBS}" != x ; then
3096   if test x"${PNG_CFLAGS}" != x ; then
3097     echo "        PNG flags are: $PNG_CFLAGS"
3098   else
3099     echo "        PNG flags are: default include path"
3100   fi
3101   echo "        PNG libs are: $PNG_LIBS"
3102 else
3103   echo "        RECOMMENDED: No PNG library development package installed!" >&5
3104   echo "                     Gnash will be built without support for dynamic loading of PNG files." >&5
3105   echo "                     Install it from http://www.libpng.org" >&5
3106   echo "                     or .deb users: apt-get install libpng12-dev" >&5
3107   echo "                     or .rpm users: yum install libpng-devel" >&5
3110 if test x"${build_ogl}" = x"yes"; then
3111   if test x"$OPENGL_LIBS" != x; then
3112     if test x"$OPENGL_CFLAGS" != x; then
3113       echo "        OpenGL flags are: $OPENGL_CFLAGS"
3114     else
3115       echo "        OpenGL flags are: default include path"
3116     fi
3117     echo "        OpenGL libs are: $OPENGL_LIBS"
3118     else
3119       echo "        ERROR: No OpenGL development package installed!" >&3
3120       echo "               You need to install the libmesa development package" >&3
3121       echo "               or .deb users: apt-get install libgl1-mesa-dev" >&3
3122       echo "               or .rpm users: yum install xorg-x11-Mesa-libGL" >&3
3123       echo "               or use a different renderer with --enable-renderer=" >&3
3124   fi
3127 if test x"${build_gles}" = x"yes"; then
3128   if test x"${has_gles}" != x; then
3129     if test x"$GLES_CFLAGS" != x; then
3130       echo "        OpenGL-ES flags are: $GLES_CFLAGS"
3131     else
3132       echo "        OpenGL-ES flags are: default include path"
3133     fi
3134     echo "        OpenGL-ES libs are: $GLES_LIBS"
3135   else
3136       echo "        ERROR: No OpenGL-ES development package installed!" >&3
3137       echo "               You need to install the this from source proobably" >&3
3138       echo "               or use a different renderer with --enable-renderer=" >&3
3139   fi
3142 dnl GLEXT is only needed for GTK/OpenGL
3143 if test x$build_gtk = xyes -a x$build_ogl = xyes ; then
3144   if test x"$GLEXT_LIBS" != x; then
3145     if test x"$GLEXT_CFLAGS" != x; then
3146       echo "        GtkGLExt flags are: $GLEXT_CFLAGS"
3147     else
3148       echo "        GtkGLExt flags are: default include path"
3149     fi
3150       echo "        GtkGLExt libs are: $GLEXT_LIBS"
3151   else
3152     if test x$build_gtk = xyes; then
3153       if test x$build_ogl = xyes; then
3154         echo "        ERROR: No GtkGLExt development package installed!" >&3
3155         echo "               It is needed to build the GTK/OpenGL GUI/renderer combination." >&3
3156         echo "               Either install it from http://gtkglext.sourceforge.net" >&3
3157         echo "               or .deb users: apt-get install libgtkglext1-dev" >&3
3158         echo "               or .rpm users: yum install gtkglext-devel" >&3
3159         echo "               or --enable-gui=sdl or --enable-renderer=agg" >&3
3160       fi
3161     fi
3162   fi
3166 if test x$build_gtk = xyes; then #{
3167   if test x"$GTK2_LIBS" != x; then
3168     if test x"$GTK2_CFLAGS" != x; then
3169       echo "        GTK2 flags are: $GTK2_CFLAGS"
3170     else
3171       echo "        GTK2 flags are: default include path"
3172     fi
3173       echo "        GTK2 libs are: $GTK2_LIBS"
3174   else
3175     echo "        ERROR: No GTK2 development package installed!" >&3
3176     echo "               Install it from http://gtk.org" >&3
3177     echo "               or .deb users: apt-get install libgtk2.0-dev" >&3
3178     echo "               or .rpm users: yum install gtk2-devel" >&3
3179   fi
3181   if test x"$PANGO_LIBS" != x; then
3182     if test x"$PANGO_CFLAGS" != x; then
3183       echo "        Pango flags are: $PANGO_CFLAGS"
3184     else
3185       echo "        Pango flags are: default include path"
3186     fi
3187     echo "        Pango libs are: $PANGO_LIBS"
3188   else
3189     echo "        ERROR: No Pango development package installed!" >&3
3190     echo "               Install it from http://pango.org" >&3
3191     echo "               or .deb users: apt-get install libpango1.0-dev" >&3
3192     echo "               or .rpm users: yum install pango-devel" >&3
3193   fi
3195   if test x"$GLIB_LIBS" != x; then
3196     if test x"$GLIB_CFLAGS" != x; then
3197       echo "        GLib flags are: $GLIB_CFLAGS"
3198     else
3199       echo "        GLib flags are: default include path"
3200     fi
3201     echo "        GLib libs are: $GLIB_LIBS"
3202   else
3203     echo "        ERROR: No GLib development package installed!" >&3
3204     echo "               Install it from http://gtk.org" >&3
3205     echo "               or .deb users: apt-get install libglib2.0-dev" >&3
3206     echo "               or .rpm users: yum install glib2-devel" >&3
3207   fi
3209   if test x"$ATK_LIBS" != x; then
3210     if test x"$ATK_CFLAGS" != x; then
3211       echo "        ATK flags are: $ATK_CFLAGS"
3212     else
3213       echo "        ATK flags are: default include path"
3214     fi
3215       echo "        ATK libs are: $ATK_LIBS"
3216   else
3217     echo "        ERROR: No ATK development package installed!" >&3
3218     echo "               Install it from http://gtk.org" >&3
3219     echo "               or .deb users: apt-get install libatk1.0-dev" >&3
3220     echo "               or .rpm users: yum install atk-devel" >&3
3221   fi
3225 if test x"$build_media_gst" = x"yes"; then
3226   if test x"$missing_codecs" != x; then   
3227       echo "        Your Gstreamer installation is missing these codecs: $missing_codecs"
3228       echo "        Please install the gstreamer-ffmpeg for Gstreamer"
3229   fi  
3230   if test x"$GSTREAMER_LIBS" != x; then
3231     if test x"$GSTREAMER_CFLAGS" != x; then
3232       echo "        Gstreamer flags are: $GSTREAMER_CFLAGS"
3233     else
3234       echo "        Gstreamer flags are: default include path"
3235     fi
3236     echo "        Gstreamer libs are: $GSTREAMER_LIBS"
3237     if test x"$has_modern_gstpbutils" = "xno"; then
3238       echo "        RECOMMENDED: If the user has not installed the necessary Gstreamer plugins," >&5
3239       echo "                     Gstreamer can pop up a message prompting them to." >&5
3240       echo "                     Install gstpbutils (>= 0.10.15) from http://www.gstreamer.net for that to be enabled" >&5
3241       echo "                     or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&5
3242     fi
3243     if test x"$has_gstreamer_plugins_base" = "xno"; then
3244       dnl check if this is really a mandatory asset !
3245       echo "        ERROR: base plugins are required for gstreamer media" >&3
3246       echo "                        Install gstreamer-plugins-base from http://www.gstreamer.net" >&3
3247       echo "                        or .rpm users: yum install gstreamer-plugins-base-devel" >&3
3248       echo "                        or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&3
3249     fi
3250   else
3251     echo "        ERROR: GST media handling requested but gstreamer-0.10+ not found" >&3
3252     echo "               Install it from http://www.gstreamer.net" >&3
3253     echo "               or .deb users: apt-get install libgstreamer0.10-dev" >&3
3254     echo "               or .rpm users: yum install gstreamer-devel" >&3
3255     echo "               or             yast install gstreamer010-devel" >&3
3256   fi
3259   if test x"${build_media_ffmpeg}" = x"yes"; then
3260     if test x"$FFMPEG_LIBS" != x; then
3261       echo "        MP3 and video support enabled through FFmpeg"
3262       if test x"${ffmpeg_version_check}" != xok; then
3263         echo "        ERROR: You have version ${ffmpeg_version} of FFmpeg installed," >&3
3264         if test x"${have_ffmpeg_swscale}" = "xno"; then
3265           echo "               with no swscale enabled." >&3
3266         else
3267           echo "               with swscale enabled." >&3
3268         fi
3269         echo "               This setup isn't supported!" >&3
3270         echo "               Version 51.11.0 or newer is required, enabling swscale if >= 52.0.0." >&3
3271         echo "               You can install libswscale from http://ffmpeg.org" >&3
3272         echo "               or .deb users: apt-get install libswscale-dev" >&3
3273       else
3274         if test x"${avformat_h}" = x; then
3275           echo "        ERROR: FFmpeg's libavcodec header is installed but not libavformat." >&3
3276           echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3277           echo "               or .deb users: apt-get install libavformat-dev" >&3
3278           echo "               or YaST users: yast -i libavformat-api (but currently installs into /usr/lib64)" >&3
3279           echo "               or explicitly set the path using --with-ffmpeg-incl=" >&5
3280           echo "               or reconfigure with --enable-media=gst" >&3
3281         else
3282           if test x"$FFMPEG_CFLAGS" != x; then
3283             echo "        FFmpeg flags are: $FFMPEG_CFLAGS"
3284           else
3285             echo "        FFmpeg flags are: default include path"
3286           fi
3287           echo "        FFmpeg libs are: $FFMPEG_LIBS"
3288         fi
3289       fi
3290     else
3291       echo "        ERROR: No FFmpeg development package installed!" >&3
3292       echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3293       echo "               or .deb users: apt-get install libavformat-dev" >&3
3294       echo "               or .rpm users: yum install ffmpeg-devel" >&3
3295       echo "               or reconfigure with --enable-media=gst" >&3
3296     fi
3297   fi
3299 if test x$build_cairo = xyes; then
3300   if test x"$CAIRO_LIBS" != x; then
3301     if test x"$CAIRO_CFLAGS" != x; then
3302       echo "        Cairo flags are: $CAIRO_CFLAGS"
3303     else
3304       echo "        Cairo flags are: default include path"
3305     fi
3306     echo "        Cairo libs are: $CAIRO_LIBS"
3307   else
3308     echo "        ERROR: No Cairo development package installed!" >&3
3309     echo "               You need to have the Cairo development package installed" >&3
3310     echo "               if you have used --enable-render=cairo to configure." >&3
3311     echo "               Install it from http://cairographics.org" >&3
3312     echo "               or .deb users: apt-get install libcairo-dev" >&3
3313     echo "               or .rpm users: yum install cairo-devel" >&3
3314   fi
3317 if test x$build_fltk = xyes; then
3318   if test x"$FLTK2_LIBS" != x; then
3319     if test x"$FLTK2_CFLAGS" != x; then
3320       echo "        FLTK flags are: $FLTK2_CFLAGS"
3321     else
3322       echo "        FLTK flags are: default include path"
3323     fi
3324       echo "        FLTK libs are: $FLTK2_LIBS"
3325   else
3326     echo "        ERROR: No FLTK2 development package installed!" >&3
3327     echo "               There are currently no Debian or RPM packages for FLTK2;" >&3
3328     echo "               see http://www.fltk.org to install it from source." >&3
3329     echo "               or change to a different gui with --enable-gui=..." >&3
3330 dnl What it was for FLTK 1:
3331 dnl    echo "               or .deb users: apt-get install fltk-1.1-dev"
3332 dnl    echo "               or .rpm users: yum install fltk-devel"
3333   fi
3336 if test x$build_fltk = xyes; then
3337   if test x"$XFT_LIBS" != x; then
3338     if test x"$XFT_CFLAGS" != x; then
3339       echo "        Xft flags are: $XFT_CFLAGS"
3340     else
3341       echo "        Xft flags are: default include path"
3342     fi
3343       echo "        Xft libs are: $XFT_LIBS"
3344 dnl     else
3345 dnl       echo "        ERROR: No Xft development package installed!" >&3
3346 dnl       echo "               Install the xft development package" >&3
3347 dnl       echo "               or .deb users: apt-get install libxft-dev" >&3
3348 dnl       echo "               or .rpm users: yum install xft-devel" >&3
3349   fi
3352 # See whether SDL is required
3353 need_sdl=false
3354 test x$build_sdl = xyes                 && need_sdl=true
3355 test x$build_sound_sdl = xyes   && need_sdl=true
3357 if $need_sdl; then
3358   if test x"$SDL_LIBS" != x; then
3359     echo "        SDL flags are: $SDL_CFLAGS"
3360     echo "        SDL libs are: $SDL_LIBS"
3361   else
3362     echo "        ERROR: No SDL development package installed!" >&3
3363     echo "               Install it from http://www.libsdl.org/download-1.2.php" >&3
3364     echo "               or .deb users: apt-get install libsdl1.2-dev" >&3
3365     echo "               or .rpm users: yum install SDL-devel" >&3
3366     test x$build_sdl = xyes &&
3367         echo "               or select a different GUI with --enable-gui= " >&3
3368   fi
3370 unset need_sdl
3372 if test x"$nsapi" = x"yes"; then
3373 dnl  if test x"$FIREFOX_CFLAGS" != x; then
3374 dnl    echo "        Firefox flags are: $FIREFOX_CFLAGS"
3375 dnl    echo "        Firefox libs are: $FIREFOX_LIBS"
3376     echo "        Plugin will be installed in ${FIREFOX_PLUGINS}"
3377 dnl  else
3378 dnl    echo "        ERROR: No Firefox or Mozilla development package installed!" >&3
3379 dnl  fi
3382 if test x"${pthreads}" = x"yes"; then
3383   if test x"$PTHREAD_CFLAGS" != x; then
3384     echo "        POSIX Threads flags are: $PTHREAD_CFLAGS"
3385   fi
3386   if test x"${PTHREAD_LIBS}" != x; then
3387     echo "        POSIX Threads lib is: $PTHREAD_LIBS"
3388   else
3389     if test x"${cross_compiling}" = xno; then
3390       echo "ERROR: No pthread development package installed!" >&3
3391     fi
3392   fi
3395 if test x"${docbook}" = x"yes"; then
3396   if test x"$MAKEINFO" = x; then
3397     echo "        ERROR: no makeinfo tools installed!" >&3
3398     echo "               Either install it from http://www.gnu.org/software/texinfo/" >&3
3399     echo "               or .deb users: apt-get install texinfo" >&3
3400     echo "               or configure without --enable-docbook" >&3
3401   fi
3402   dnl low-level tools
3403   if test x"$DB2X_TEXIXML" = x -o x"$DB2X_MANXML" = x -o x"$DB2X_XSLTPROC" = x; then
3404     dnl high-level tools
3405     if test x"${DB2X_TEXI}" = x -o x"${DB2X_MAN}" = x; then
3406       echo "        ERROR: No DocBook2X tools installed!" >&3
3407       echo "               Either install it from http://docbook2x.sourceforge.net" >&3
3408       echo "               or .deb users: apt-get install docbook docbook2x docbook-utils" >&3
3409       echo "                              docbook-xml docbook-xsl texinfo xsltproc" >&3
3410       echo "               or configure without --enable-docbook" >&3
3411     fi
3412   else
3413     echo "        You have version $db2x_version of the DocBook2X tools."
3414   fi
3415 else
3416   echo "        WARNING: without --enable-docbook we will use the cached" >&4
3417   echo "                 documentation files included in the gnash distribution." >&4
3418   echo "                 If you change files in doc/C, you should --enable-docbook." >&4
3421 if test x"$CURL_LIBS" != x; then
3422   if test x"$CURL_CFLAGS" != x; then
3423     echo "        CURL flags are: $CURL_CFLAGS"
3424   else
3425     echo "        CURL flags are: default include path"
3426   fi
3427     echo "        CURL libs are: $CURL_LIBS"
3428 else
3429   echo "        RECOMMENDED: If you install the CURL library, Gnash will be able to" >&5
3430   echo "                     display remote content (streaming from URLs) using CURL." >&5
3431   echo "                     Install libcurl from http://curl.haxx.se/libcurl" >&5
3432   echo "                     or .deb users: apt-get install libcurl-dev" >&5
3433   echo "                     or .rpm users: yum install curl-devel" >&5
3436 if test x"$SPEEX_LIBS" != x; then
3437   if test x"$SPEEX_CFLAGS" != x; then
3438     echo "        Speex flags are: $SPEEX_CFLAGS"
3439   else
3440     echo "        Speex flags are: default include path"
3441   fi
3442     echo "        Speex libs are: $SPEEX_LIBS"
3443 else
3444   echo "        RECOMMENDED: If you install the Speex library, Gnash will be able to" >&5
3445   echo "                     decoded Speex encoded audio in FLV files." >&5
3446   echo "                     Install libspeex from http://speex.org" >&5
3447   echo "                     or .deb users: apt-get install libspeex-dev" >&5
3448   echo "                     or .rpm users: yum install speex-devel" >&5
3451 if test x"$ext_dbus" = xyes; then
3452   if test x"$DBUS_LIBS" != x; then
3453     if test x"$DBUS_CFLAGS" != x; then
3454       echo "        DBUS flags are: $DBUS_CFLAGS"
3455     else
3456       echo "        DBUS flags are: default include path"
3457     fi
3458       echo "        DBUS libs are: $DBUS_LIBS"
3459   else
3460     echo "        WARNING: DBUS library not found." >&4
3461     echo "                 Gnash will be built without support for remote controls." >&4
3462     echo "                 Why not install libdbus from http://www.dbus.org" >&4
3463     echo "                 or .deb users: apt-get install dbus-dev" >&4
3464     echo "                 or .rpm users: yum install dbus-devel" >&4
3465   fi
3468 if test x$build_agg = xyes; then # {
3469   echo "        AGG Pixel format is: $pixelformat"
3470     if test x"$AGG_LIBS" != x; then # {
3471       if test x"${agg25}" != xyes; then # {
3472         echo "        ERROR: Your installation of AGG appears to be version 2.4 or older." >&3
3473         echo "               Please upgrade to AGG 2.5 or greater." >&3
3474         echo "               Install it from http://www.antigrain.com" >&3
3475         echo "               or .deb users: apt-get install libagg-dev" >&3
3476         echo "               or .rpm users: yum install agg-devel" >&3
3477       else # }{
3478         if test x"$AGG_CFLAGS" != x; then # {
3479           echo "        AGG flags are: $AGG_CFLAGS"
3480         else # }{
3481           echo "        AGG flags are: default include path"
3482         fi # }
3483         echo "        AGG libs are: $AGG_LIBS"
3484       fi # }
3485     else # }{
3486       echo "        ERROR: No AGG development package installed!" >&3
3487       echo "               Install it from http://www.antigrain.com" >&3
3488       echo "               or .deb users: apt-get install libagg-dev" >&3
3489       echo "               or .rpm users: yum install agg-devel" >&3
3490     fi # }
3491 fi # }
3493 if test x"$BOOST_LIBS" != x; then
3494         echo "        BOOST flags are: $BOOST_CFLAGS"
3495         echo "        BOOST libs are: $BOOST_LIBS"
3496         echo "        BOOST libs for cygnal are: $BOOST_CYGNAL_LIBS"
3497     dnl fi
3498     if test x"${missing_headers}" != x; then
3499       for i in ${missing_headers}; do
3500         echo "        ERROR: The BOOST $i header file is needed!" >&3
3501         echo "               Install it from http://boost.org" >&3
3502         echo "               or from a Boost development package" >&3
3503       done
3504     fi
3506     if test x"${cygnal}" = x"yes"; then
3507         if test x"${cygnal_missing_libs}" != x; then
3508           for i in ${cygnal_missing_libs}; do
3509             echo "          ERROR: The BOOST $i library is required for cygnal!" >&4
3510             echo "                 Either configure with --disable-cygnal or" >&4
3511             echo "                 install it from http://www.boost.org" >&4
3512             echo "                 or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&4
3513           done
3514         fi
3515     fi
3517     if test x"${missing_libs}" != x; then
3518       for i in ${missing_libs}; do
3519         echo "        ERROR: The BOOST $i library is needed!" >&3
3520         echo "               Install it from http://boost.org" >&3
3521         echo "               or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&3
3522       done
3523     fi
3524 else
3525     echo "        ERROR: No BOOST development package installed!" >&3
3526     echo "               Install it from http://www.boost.org" >&3
3527     echo "               or .deb users: apt-get install libboost-dev libboost-thread-dev" >&3
3528     if test x"$cygnal" = xyes; then
3529     echo "                              and libboost-date-time-dev (for cygnal)" >&3
3530     fi
3531     echo "               or .rpm users: yum install boost-devel" >&3
3534 dnl don't look for the flash compilers when cross compiling.
3535 if test x"$testsuite" = x"yes"; then
3536   if test x$cross_compiling = xno; then
3537     if test x"$MING_LIBS" != x; then
3538       echo "        MING flags are $MING_CFLAGS"
3539       echo "        MING libs are $MING_LIBS"
3540     else
3541       echo "        WARNING: You need to have the Ming development package" >&4
3542       echo "                 installed to run most of the tests in Gnash testsuite." >&4
3543       echo "                 Install it from http://www.libming.org/" >&4
3544       echo "                 or .deb users: apt-get install libming-dev" >&4
3545     fi
3547     if test x"$MAKESWF" != x; then
3548       echo "        MING version code is $MING_VERSION_CODE"
3549       echo "        MAKESWF is $MAKESWF"
3550     else
3551       echo "        WARNING: You need to have the Ming utilities package" >&4
3552       echo "                 version 0.4 or higher installed to run" >&4
3553       echo "                 many of the tests in Gnash testsuite." >&4
3554       echo "                 Install it from http://www.libming.org" >&4
3555       echo "                 or .deb users: apt-get install libming-util" >&4
3556     fi
3558     if test x"$MAKESWF" != x && test $MING_VERSION_CODE -lt 00040006; then
3559       echo "        WARNING: You have an older version of Ming installed and will not" >&4
3560       echo "                 be able to run all of the tests in Gnash testsuite." >&4
3561       echo "                 Install the latest version from http://www.libming.org" >&4
3562     fi
3564     if test x"$SWFDEC_TESTSUITE" != x; then
3565       echo "        SWFDEC testsuite dir is $SWFDEC_TESTSUITE"
3566     fi
3568     if test x"$MTASC" != x; then
3569       echo "        MTASC is $MTASC"
3570       echo "        MTASC CLASSPATH is $MTASC_CLASSPATH"
3571     else
3572       echo "        WARNING: You need to have the MTASC compiler packages installed" >&4
3573       echo "                 to run some of the tests in Gnash testsuite." >&4
3574       echo "                 You can install it from http://mtasc.org" >&4
3575       echo "                 or .deb users: apt-get install mtasc" >&4
3576     fi
3578     if test x"$HAXE" != x; then
3579       echo "        HAXE is $HAXE"
3580       echo "        HAXE CLASSPATH is $HAXE_CLASSPATH"
3581     else
3582       echo "        WARNING: You need to have the HAXE compiler package " >&4
3583       echo "                 version 2.00 or higher installed" >&4
3584       echo "                 to run some of the tests in Gnash testsuite." >&4
3585       echo "                 You can install it from http://haxe.org" >&4
3586       echo "                 or .deb users: apt-get install haxe" >&4
3587     fi
3589     if test x"$SWFMILL" != x; then
3590       echo "        SWFMILL is $SWFMILL"
3591       if test x"$ENABLE_AVM2" != x -a "$SWFMILL_VERSION" -lt 00021206; then
3592         echo "        WARNING: You are building Gnash with AVM2 support but" >&4
3593         echo "                 your swfmill version is too old to run AS3" >&4
3594         echo "                 tests." >&4
3595       fi
3596     else
3597       echo "        WARNING: You need to have the 'swfmill' tool installed" >&4
3598       echo "                 to run some of the tests in Gnash testsuite." >&4
3599       echo "                 You can install it from http://swfmill.org/" >&4
3600       echo "                 or .deb users: apt-get install swfmill" >&4
3601     fi
3603     if test x"$SWFC" != x; then
3604       echo "        SWFC is $SWFC"
3605     else
3606       echo "        WARNING: You need to have 'swfc' from SWFTools installed" >&4
3607       echo "                 to run some of the tests in Gnash testsuite." >&4
3608       echo "                 You can install it from http://www.swftools.org/" >&4
3609       echo "                 or .deb users: apt-get install swftools" >&4
3610     fi
3612     if test x"$AS3COMPILE" != x; then
3613       echo "        AS3COMPILE is $AS3COMPILE"
3614     else
3615       echo "        WARNING: you need as3compile from SWFTools" >&4
3616       echo "                 to run some of the tests in Gnash testsuite." >&4
3617       echo "                 You can install it from http://www.swftools.org/" >&4
3618     fi
3620     if test x"$HTTP_TESTSUITE" != x; then
3621       echo "        HTTP testsuite dir is $HTTP_TESTSUITE"
3622     fi
3624     if test x"$RED5_HOST" != x; then
3625       echo "        RED5 testing host is $RED5_HOST"
3626     fi
3627   fi
3630   if test x"$PERL" != x; then
3631     echo "        PERL is $PERL"
3632   else
3633     echo "        WARNING: You need to have perl installed" >&4
3634     echo "                 to run some of the tests in Gnash testsuite." >&4
3635   fi
3637 if test x"$testsuite" = x"yes"; then
3638   if test x"$CSOUND" != x; then
3639     echo "        CSOUND is $CSOUND"
3640   fi
3643 if test x"$Z_LIBS" != x; then
3644   if test x"$Z_CFLAGS" != x; then
3645     echo "        Z flags are: $Z_CFLAGS"
3646   else
3647     echo "        Z flags are: default include path"
3648   fi
3649   echo "        Z libs are: $Z_LIBS"
3650 else
3651   echo "        RECOMMENDED: You need to have the zlib development packages installed" >&5
3652   echo "                     to play compressed SWF (most of them from version 6 up)" >&5
3653   echo "                     and to display some kinds of JPEG files." >&5
3654   echo "                     Install it from http://www.zlib.net" >&5
3655   echo "                     or .deb users: apt-get install zlib1g-dev" >&5
3656   echo "                     or .rpm users: yum install zlib-devel." >&5
3657   echo "                     It may still be possible to configure without zlib." >&5
3660 if test x"$FREETYPE2_LIBS" != x; then
3661   if test x"$FREETYPE2_CFLAGS" != x; then
3662     echo "        FreeType flags are: $FREETYPE2_CFLAGS"
3663   else
3664     echo "        FreeType flags are: default include path"
3665   fi
3666   echo "        FreeType libs are: $FREETYPE2_LIBS"
3667 else
3668   echo "        RECOMMENDED: You need to have the freetype development packages installed" >&5
3669   echo "                     to use device fonts." >&5
3670   echo "                     Install it from http://www.freetype.org" >&5
3671   echo "                     or .deb users: apt-get install libfreetype6-dev" >&5
3672   echo "                     or .rpm users: yum install freetype-devel" >&5
3673   echo "                     It may still be possible to configure without freetype." >&5
3676 if test x"$FONTCONFIG_LIBS" != x; then
3677   if test x"$FONTCONFIG_CFLAGS" != x; then
3678     echo "        Fontconfig flags are: $FONTCONFIG_CFLAGS"
3679   else
3680     echo "        Fontconfig flags are: default include path"
3681   fi
3682   echo "        Fontconfig libs are: $FONTCONFIG_LIBS"
3683 else
3684   echo "        RECOMMENDED: You need to have the fontconfig development packages installed" >&5
3685   echo "                     to use device fonts." >&5
3686   echo "                     Install it from http://www.fontconfig.org" >&5
3687   echo "                     or .deb users: apt-get install libfontconfig1-dev" >&5
3688   echo "                     or .rpm users: yum install fontconfig-devel" >&5
3689   echo "                     It may still be possible to configure without fontconfig." >&5
3692 if test x$ext_mysql = xyes; then
3693   if test x$mysql != xno; then
3694     if test x"$MYSQL_LIBS" != x; then
3695       echo "        MYSQL flags are: $MYSQL_CFLAGS"
3696       echo "        MYSQL libs are: $MYSQL_LIBS"
3697     else
3698       echo "        ERROR: No MySQL development package is installed." >&3
3699       echo "               Either reconfigure without --enable-extensions=mysql" >&3
3700       echo "               or install MySQL header files from http://www.mysql.org" >&3
3701       echo "               or .deb users: apt-get install libmysqlclient-dev" >&3
3702       echo "                 or .rpm users: yum install mysql-devel" >&4
3703     fi
3704   fi
3707 if test "$GMSGFMT" = ":"; then
3708   echo "        WARNING: You need the gettext package installed to use translations." >&4
3709   echo "                 Required for building a package or 'make distcheck'" >&4
3710   echo "                 Install it from http://www.gnu.org/software/gettext/" >&4
3711   echo "                 or .deb users: apt-get install gettext" >&4
3712   echo "                 or .rpm users: yum install gettext" >&4
3715 if test x"${build_vaapi}" = x"yes"; then
3716   if test x"${LIBVA_CFLAGS}" = xyes; then
3717       echo "        LIBVA flags are: default"
3718     else
3719       echo "        LIBVA flags are: $LIBVA_CFLAGS"
3720       echo "        LIBVA libraries are: $LIBVA_LIBS"
3721   fi
3722   if test x$use_libva_x11 = xyes; then
3723     if test x"${LIBVA_X11_CFLAGS}" = xyes; then
3724       echo "        LIBVA X11 flags are: default"
3725     else
3726       echo "        LIBVA X11 flags are: $LIBVA_X11_CFLAGS"
3727       echo "        LIBVA X11 libraries are: $LIBVA_X11_LIBS"
3728     fi
3729   fi
3730   if test x$use_libva_glx = xyes; then
3731     if test x"${LIBVA_GLX_CFLAGS}" = xyes; then
3732       echo "        LIBVA GLXflags are: default"
3733     else
3734       echo "        LIBVA GLX flags are: $LIBVA_GLX_CFLAGS"
3735     fi
3736     echo "        LIBVA GLX libraries are: $LIBVA_GLX_LIBS"
3737   fi
3740 if test x"$ac_cv_gcc_visibility" != xyes; then
3741   if test x"$npapi" = xyes; then
3742     echo "        WARNING: NPAPI (mozilla) plugin is enabled, but your compiler"
3743     echo "                 does not support symbol visibility. This may cause "
3744     echo "                 the plugin to malfunction and may result in small "
3745     echo "                 children being eaten. You have been warned!"
3746   fi
3749 if test x"${DEJAGNU}" != x""; then
3750   echo "        DEJAGNU's runtest is $DEJAGNU"
3751 else
3752   echo "        WARNING: You need the dejagnu package installed to get a summary" >&4
3753   echo "                 report after running ''make check''" >&4
3754   echo "                 Install it from http://www.gnu.org/software/dejagnu/" >&4
3755   echo "                 or .deb users: apt-get install dejagnu" >&4
3756   echo "                 or .rpm users: yum install dejagnu" >&4
3759 dnl Haiku
3760 if test x"${build_haiku}" = xyes -o x"${build_sound_mkit}" = xyes -o x"${build_media_haiku}" = x"yes"; then
3761     echo "        Haiku libs are: $HAIKU_LIBS"
3764 if test x"$python" = x"yes"; then
3765   if test x"$has_python" = x"yes"; then
3766     echo "        PYTHON flags are: $PYTHON_CFLAGS"
3767     echo "        PYTHON libs are: $PYTHON_LIBS"
3768     echo "        PYTHON executable is are: $PYTHON"
3769   else
3770     echo "        ERROR: No Python development package is installed, but it's enabled." >&3
3771   fi
3773 if test x${build_ssl} = xyes; then
3774   if test x"${has_ssl}" = xyes; then
3775     if test x"${SSL_CFLAGS}" = xyes; then
3776       echo "        SSL flags are: default"
3777     else
3778       echo "        SSL flags are: $SSL_CFLAGS"
3779     fi
3780     echo "        SSL libs are: $SSL_LIBS"
3781   else
3782     echo "        ERROR: No SSL development package is installed, but it's enabled." >&3
3783   fi
3786 if test x${build_ssh} = xyes; then
3787   if test x"${has_ssh}" = xyes; then
3788     if test x"${SSH_CFLAGS}" = xyes; then
3789       echo "        SSH flags are: default"
3790     else
3791       echo "        SSH flags are: $SSH_CFLAGS"
3792     fi
3793     echo "        SSH libs are: $SSH_LIBS"
3794   else
3795     echo "        ERROR: No SSH development package is installed, but it's enabled." >&3
3796   fi
3799 if test x"${build_all_as3}" = x"yes"; then
3800   echo "        Building the entire ActionScript class libary"
3801 else
3802   echo "        Only building these ActionScript classes into the library:"
3803   echo "     ${classlist}"
3806 if test x"$testsuite" = x"yes"; then
3807   if test x"$NETCAT" != x; then
3808     echo "        You have netcat installed, which is only used for testing"
3809   else
3810     echo "        Install netcat for networking test support"
3811   fi
3812   if test x"$WGET" != x; then
3813     echo "        You have wget installed, which is only used for testing"
3814   else
3815     echo "        Install wget for networking test support"
3816   fi
3819 if test x$cross_compiling = xyes; then
3820    if test x"${android_ndk}" != xno; then
3821       AC_MSG_NOTICE([This build is setup for cross compiling for Android])
3822    else
3823       AC_MSG_NOTICE([This build is setup for cross compiling])
3824    fi
3827 echo "--------"
3829 if test x"${cygnal}" = x"yes"; then
3830   echo "        Building Cygnal media server enabled (default). Use --disable-cygnal to disable."
3831 else
3832   echo "        Building Cygnal media server disabled."
3835 if test x"${with-top_level}" != x; then
3836   echo "        Top level for cross compiling support files is: $with_top_level"
3839 if test x"${build_gtk}" = xyes -a x"${pixelformat}" = xrgb565; then
3840   echo "        WARNING: Pixel format RGB565 selected in combination with the" >&4
3841   echo "                 GTK GUI. Only a hacked GTK will work (e.g. on the OLPC)." >&4
3844 if test x"${extensions_list}" != x; then
3845   echo "        Building extensions: ${extensions_list}"
3848 if test x"${security_list}" != x; then
3849   echo "        Enabling security features: ${security_list}"
3852 if test x"${hwaccel_list}" != xnone; then
3853   echo "        Enabling hardware acceleration features: ${hwaccel_list}"
3856 if test x"${statistics_list}" != x; then
3857   echo "        Enabling statistics collecting for: ${statistics_list}"
3860 if test x"${SUPPORTED_GUIS}" = x; then
3861   AC_MSG_ERROR(no supported GUIs found);
3864 echo "        GUI toolkits supported: ${SUPPORTED_GUIS}"
3865 echo "        Renderers supported: ${renderer_list}"
3866 echo "        Hardware Acceleration: ${hwaccel_list}"
3867 echo "        Media handlers: ${media_list}"
3868 echo "        Using ${add_sound} for sound handling"
3869 echo "        Using $with_shm mode for shared memory"
3871 if test x"$docbook" = x"yes"; then
3872   echo '        DocBook document processing enabled (for "make html" and "make pdf")'
3873   if test x"$docbook_styles" != x; then
3874     echo "        Docbook styles sheets in $docbook_styles"
3875   fi
3876 else
3877   echo "        DocBook document processing disabled (default)"
3880 dnl The Framebuffer GUI has several other settings. As it doesn't have X11,
3881 dnl we have to handle input devices ourselves.
3882 if test x"${build_fb}" = xyes; then
3883 echo "        Using ${input_events} for Input"
3884   if test x"${fakefb}" != x; then
3885     echo "        Using shared memory as a fake framebuffer"
3886   fi
3887   if test x"${offscreen}" = xyes; then
3888     echo "        Using offscreen rendering"
3889   fi
3890   if test x"${doublebuf}" = xyes; then
3891     echo "        Using double buffering when rendering"
3892   fi
3895 if test -s $cwarn; then
3896   echo ""
3897   cat $cwarn
3898   rm $cwarn
3899   echo ""
3900   echo "Gnash should still compile even with these warnings."
3901   echo "If it doesn't, report the warnings as a bug."
3904 if test -s $crec; then
3905   echo ""
3906   cat $crec
3907   rm $crec
3908   echo ""
3909   echo "Gnash should still compile, but you'll miss important support"
3912 dnl If anything critical is missing, don't bother to continue
3913 if test -s $cerr; then
3914   echo ""
3915   cat $cerr >&2
3916   rm $cerr
3917   AC_MSG_ERROR([Please install required packages])
3920 if test x"$fork" = x"no"; then
3921   AC_MSG_ERROR([Currently only forking the standalone player works!])
3923 echo ""
3925 # Local Variables:
3926 # c-basic-offset: 2
3927 # tab-width: 2
3928 # indent-tabs-mode: nil
3929 # End: