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