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