merge from master
[gnash.git] / configure.ac
blobd5bfb1c48a2cc61f14ca284ef84a9bda4a353ec5
1 dnl  
2 dnl  Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
3 dnl  
4 dnl  This program is free software; you can redistribute it and/or modify
5 dnl  it under the terms of the GNU General Public License as published by
6 dnl  the Free Software Foundation; either version 3 of the License, or
7 dnl  (at your option) any later version.
8 dnl  
9 dnl  This program is distributed in the hope that it will be useful,
10 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 dnl  GNU General Public License for more details.
13 dnl  You should have received a copy of the GNU General Public License
14 dnl  along with this program; if not, write to the Free Software
15 dnl  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
16 dnl  
18 AC_PREREQ(2.59c)
19 AC_INIT(gnash, 0.8.10dev)
20 AC_CONFIG_SRCDIR([libcore/as_object.h])
21 AC_CONFIG_HEADERS([gnashconfig.h])
22 AC_CONFIG_MACRO_DIR([macros])
24 AC_CANONICAL_BUILD
25 AC_CANONICAL_HOST
27 dnl --------------------------------------------------------
28 dnl Figure out development tool stuff
29 dnl --------------------------------------------------------
31 AC_PROG_CC
32 AC_PROG_CXX
33 AM_PROG_CC_C_O
34 AC_EXEEXT
35 AC_PROG_INSTALL
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   *-*wince)
192     wince=yes
193     AC_DEFINE([WINCE_HOST], [1], [this is a WINCE platform])
194     ;;
195   *-*winmo)
196     wince=yes
197     AC_DEFINE([WINCE_HOST], [1], [this is a WINCE platform])
198     AC_DEFINE([WINCE6_HOST], [1], [this is a WINCE6 platform])
199     ;;
200   *-android*)
201     android=yes
202     AC_DEFINE([ANDROID_HOST], [1], [this is an Android platform])
203     ;;
204 esac
207 AM_CONDITIONAL(WIN32, test x$windows = xyes)
208 AM_CONDITIONAL(HAIKU, test x$haiku = xyes)
209 AM_CONDITIONAL(AMIGAOS4, test x$amigaos4 = xyes)
211 dnl Get build date for helping us debugging
212 BUILDDATE="`date +%Y%m%d`"
213 AC_SUBST(BUILDDATE)
215 dnl These are required by automake
216 AM_INIT_AUTOMAKE
217 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
218 AM_MAINTAINER_MODE
219 AC_PROG_MAKE_SET
221 AM_GNU_GETTEXT([external])
222 AM_CONDITIONAL(HAS_GETTEXT, test x$ac_cv_path_XGETTEXT != x)
224 dnl Many of the Gnash macros depend on gettext macros defining shlibext; recent
225 dnl gettext however does not.
226 if test x"${shlibext}" = x; then
227   if test x"${acl_cv_shlibext}" = x; then
228     echo "Gettext macros were supposed to define shared library extensions"
229     exit 1;
230   else
231     shlibext="${acl_cv_shlibext}"
232   fi
235 dnl This is primarily used when compiling for a similar architecture,
236 dnl like pentium->geode, which can use the same compiler, but have
237 dnl different development libraries.
239 AC_ARG_WITH(sysroot,
240   AC_HELP_STRING([--with-sysroot],
241   [system root directory for cross compiling]),
242   with_top_level=${withval} ;
243   cross_compiling=yes)
245 dnl Android is a little different when using a standard cross toolchain,
246 dnl so we have to configure especially for it for now. Usually it's
247 dnl something like this:
249 dnl arm-linux-eabi-gcc -Wl,--dynamic-linker -Wl,/system/bin/linker
250 dnl -nostdlib -Wl,-rpath -Wl,/system/lib -Wl,-rpath
251 dnl -Wl,/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
252 dnl -L/opt/android-ndk-r3/build/platforms/android-5/arch-arm/usr/lib
253 dnl -lc -o hello
254 dnl  /opt/android-ndk-r3/build/platforms/android-3/arch-arm/usr/lib/crtbegin_dynamic.o
255 dnl Recent versions of G++ (I'm using 4.5 from source
256 android_ndk=no
257 AC_ARG_WITH([android],
258   AC_HELP_STRING([--with-android], [directory where android NDK is installed]),
259         android_ndk=${withval}
260         if test x"${withval}" != x; then
261           android_ndk=${withval}
262         else
263           android_ndk=/opt/android-ndk-r3/build/platforms/android-5/arch-arm
264         fi
266 CROSS_CXXFLAGS=
267 if test x"${android_ndk}" != xno; then
268   CROSS_CXXFLAGS=-mandroid -fexceptions
269   if test x"${with_top_level}" = x; then
270     with_top_level=/usr/local/android-arm/sysroot/usr
271     cross_compiling=yes
272   fi
273   ANDROID_NDK=${android_ndk}
274   AC_DEFINE(ANDROID, [1], [This is an Android build])
275 else
276   ANDROID_NDK=
278 AC_SUBST(ANDROID_NDK)
279 AM_CONDITIONAL(ANDROID, [ test x"${android_ndk}" != xno ])
281 AC_C_BIGENDIAN
282 AC_C_CONST
283 AC_C_INLINE
285 AC_PATH_PROG(DEJAGNU, runtest)
287 dnl These options are for Cygnal, which collects optional statistics
288 dnl on all the network traffic By default, we turn on statistics
289 dnl collecting for the incoming and outgoing queues, since those are
290 dnl required to be compatiable with FMS 3, and the ActionScript server
291 dnl management API. buffers are the lowest level data storage, this
292 dnl data is the time spent in the queue, and is primarily only used
293 dnl for tuning the queueing API in Gnash. Memoryis the same, it's only
294 dnl used by developers for tuning performance of memory allocations in
295 dnl Gnash.
296 buffers=no
297 que=no
298 memory=no
299 cache=yes
300 stat_proplookup=no
301 AC_ARG_WITH(statistics,
302   AC_HELP_STRING([--with-statistics=], [Specify which statistics features to enable]),
303   if test -n ${withval}; then
304     if test "x${withval}" != "xno"; then
305       extlist="${withval}"
306       withval=`echo ${withval} | tr '\054' ' ' `
307     else
308       extlist=""
309       withval=""
310     fi
311   fi
312   statistics_list=""
313   nstatistics=0
314   while test -n "${withval}" ; do
315     val=`echo ${withval} | cut -d ' ' -f 1`
316     [case "${val}" in
317       buffers)
318         buffers=yes
319         nstatistics=$((nstatistics+1))
320         ;;
321       que)
322         que=yes
323         nstatistics=$((nstatistics+1))
324         ;;
325       memory)
326         memory=yes
327         nstatistics=$((nstatistics+1))
328         ;;
329       cache)
330         cache=yes
331         nstatistics=$((nstatistics+1))
332         ;;
333       proplookup)
334         stat_proplookup=yes
335         nstatistics=$((nstatistics+1))
336         ;;
337       all|ALL)
338         buffers=yes
339         memory=yes
340         queu=yes
341         cache=yes
342         stat_proplookup=yes
343         nstatistics=5           dnl this must be incremented if you add anything
344         ;;
345       *) AC_MSG_ERROR([invalid statistics feature specified: ${withval} given (accept: buffers|que|memory|cache|proplookup|all)])
346         ;;
347       esac]
348     withval=`echo ${withval} | cut -d ' ' -f 2-6`
349     if test "x$val" = "x$withval"; then
350       break;
351     fi
352   done
354 if test x${buffers} = xyes; then
355   statistics_list="${statistics_list} buffers"
356   AC_DEFINE(USE_STATS_BUFFERS, [1], [Support statistics collecting for the queue buffers])
357   AC_MSG_WARN([This option will effect your performance])
360 if test x${memory} = xyes; then
361   statistics_list="${statistics_list} memory"
362   AC_DEFINE(USE_STATS_MEMORY, [1], [Support statistics collecting for all memory profiling])
363   AC_MSG_WARN([This option will effect your performance])
366 if test x${que} = xyes; then
367   statistics_list="${statistics_list} queues"
368   AC_DEFINE(USE_STATS_QUEUE, [1], [Support statistics collecting for the queues])
371 if test x${cache} = xyes; then
372   statistics_list="${statistics_list} cache"
373   AC_DEFINE(USE_STATS_CACHE, [1], [Support statistics collecting for the cache])
376 if test x${stat_proplookup} = xyes; then
377   statistics_list="${statistics_list} proplookup"
378   AC_DEFINE(GNASH_STATS_OBJECT_URI_NOCASE, [1], [Collecting and report stats about ObjectURI case lookups])
379   AC_DEFINE(GNASH_STATS_PROPERTY_LOOKUPS, [1], [Collecting and report stats about property lookups])
380   AC_DEFINE(GNASH_STATS_STRING_TABLE_NOCASE, [1], [Collecting and report stats about string_table::key case lookups])
383 dnl this is just so Makefile can print the same list
384 STATISTICS_LIST="$statistics_list"
385 AC_SUBST(STATISTICS_LIST)
388 # These settings are compile time options for the security
389 # setting for anything that lets gnash exchange data with
390 # other applications. Currently this only supports Shared
391 # Objects and Local Connections. Shared Objects are like
392 # your web browsers cookies, and Local Connections use
393 # shared memory to execute methods remotely, and to
394 # exchange data.
396 # The default is to enable everything, and these can
397 # also be controlled dynamically by the $HOME/.gnashrc
398 # file.
400 solreadonly=no
401 localconnection=yes
403 AC_ARG_WITH(security,
404   AC_HELP_STRING([--with-security=], [Specify which security features to enable]),
405   if test -n ${withval}; then
406     if test "x${withval}" != "xno"; then
407       extlist="${withval}"
408       withval=`echo ${withval} | tr '\054' ' ' `
409     else
410       extlist=""
411       withval=""
412     fi
413   fi
414   security_list=""
415   nsecurity=0
416   while test -n "${withval}" ; do
417     val=`echo ${withval} | cut -d ' ' -f 1`
418     [case "${val}" in
419       solreadonly)
420         solreadonly=yes
421         nsecurity=$((nsecurity+1))
422         ;;
423       lc)
424         localconnection=yes
425         nsecurity=$((nsecurity+1))
426         ;;
427       all|ALL)
428         solreadonly=yes
429         lc=yes
430         nsecurity=3
431         ;;
432       *) AC_MSG_ERROR([invalid security feature specified: ${withval} given (accept: solreadonly|lc)])
433         ;;
434       esac]
435     withval=`echo ${withval} | cut -d ' ' -f 2-6`
436     if test "x$val" = "x$withval"; then
437       break;
438     fi
439   done
442 if test x$localconnection = xyes; then
443   security_list="${security_list} localconnection"
444   AC_DEFINE(USE_LC, [1],
445                  [Support LocalConnection])
446   AC_MSG_NOTICE([This build supports LocalConnection])
448 if test x$solreadonly = xyes; then
449   security_list="${security_list} solreadonly"
450   AC_DEFINE(USE_SOL_READONLY, [1],
451                  [Shared Objects are read-only])
452   AC_MSG_NOTICE([Shared Objects are read-only])
454 SECURITY_LIST="$security_list"
455 AC_SUBST(SECURITY_LIST)
457 dnl For Haiku, we know the sysroot is in a non-standard place
458 dnl it is important that -lagg comes before -lbe
459 if test x"${haiku}" = xyes; then
460   HAIKU_LIBS=-lbe
461   AC_SUBST(HAIKU_LIBS)
464 dnl Darwin uses libtool instead of ar to produce libraries. We determine which one
465 dnl we have here now. For some reason on Darwin, we don't get the
466 dnl count from grep via stdin correctly. Writing a temp file does the
467 dnl trick, so although it's ugly, that's what we gotta do...
468 AC_MSG_CHECKING([which type of library archiver we have])
469 rm -f .tmp
470 libtool > .tmp 2>&1
471 archiver=`grep -c dynamic .tmp 2>&1`
472 rm -f .tmp
473 dnl is there any good way to report what we found here?
474 AC_MSG_RESULT()
475 if test x"${archiver}" != x && test "${archiver}" -eq 1; then
476    export MACOSX_DEPLOYMENT_TARGET="10.3"
477    darwin=yes
478 else
479    darwin=no
482 dnl When cross compiling, limit the search directories cause otherwise
483 dnl we may get the host headers or libraries by accident. These values
484 dnl are exported, so all the other configure tests in macros/*.m4 use
485 dnl these same settings rather than duplicating them like we used to.
486 dnl To override thise, use the --with-*-incl= and --with-*-libs=
487 dnl options to configure.
488 if test x$cross_compiling = xyes; then
489   AC_MSG_NOTICE([Configuring Gnash for cross compilation])
490   export pkgroot="`$CXX -print-search-dirs | grep "install:" | sed -e 's/install: //' -e 's:/lib/gcc/.*::'`"
491   dnl pkgroot only works correctly with builds of cross tools not in
492   dnl /usr, ie... installed from the distribution packages, or just
493   dnl plain installed in the system tools. This contaminates configure
494   dnl when building for variations of the same basic architecture,
495   dnl like i686-linux -> i586-mingw32.
496   if test x${pkgroot} = "/usr"; then
497     export pkgroot=""
498   fi
499   export incllist="`eval echo ${with_top_level}/include ${pkgroot}/${host_alias}/include ${pkgroot}/include`"
500   export libslist="`eval echo ${with_top_level}/lib ${pkgroot}/${host_alias}/lib ${pkgroot}/lib64 ${pkgroot}/lib32 ${pkgroot}/lib`"
501   export pathlist="`eval echo ${pkgroot}/${host_alias}/bin:${pkgroot}/bin`"
502   npapi=no
503 else
504   AC_MSG_NOTICE([Configuring Gnash for native compilation])
505   export incllist="`eval cat ${srcdir}/macros/incllist`"
506   export libslist="`eval cat ${srcdir}/macros/libslist`"
507   export pathlist=$PATH
510 if test x"${android_ndk}" != xno; then
511    incllist="${android_ndk}/include ${incllist}"
514 AM_CONDITIONAL(CROSS_COMPILING, [ test x$cross_compiling = xyes ])
516 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
517 dnl !! 
518 dnl !! IMPORTANT NOTICE 
519 dnl !!
520 dnl !!  Any call to GNASH_PATH_XXX must be be given *after* this snippet.
521 dnl !!  This is to ensure that PKG_CONFIG, cross_compiling and incllist are
522 dnl !!  properly set at the time of call.
523 dnl !!
524 dnl !!  Also GNASH_PKG_FIND has to be called later. Not sure
525 dnl !!  why but calling before breaks detection of CPP (see
526 dnl !!  gnash-dev mailing archives for June 12 2009
527 dnl !!  http://lists.gnu.org/archive/html/gnash-dev/2009-06/index.html
528 dnl !! 
529 dnl !! 
530 dnl !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
532 dnl Check for PKG_CONFIG before any GNASH_PATH call
533 PKG_PROG_PKG_CONFIG
535 dnl --------------------------------------------------------
536 dnl  GUI selection
537 dnl --------------------------------------------------------
539 build_haiku=no
540 build_aos4=no      dnl AmigaOS4 GUI
541 build_kde3=no      dnl WARNING: doesn't work (see https://savannah.gnu.org/bugs/index.php?31782)
542 build_qt4=no
543 build_qtopia3=no
544 build_qtopia4=no
545 build_gtk=no
546 build_fb=no                     dnl Raw framebuffer
547 build_fltk=no
548 build_sdl=no
549 build_aqua=no                   dnl Native MacOSX
550 build_dump=no
551 AC_ARG_ENABLE(gui,
552   AC_HELP_STRING([--enable-gui=], [Enable support for the specified GUI toolkits (default=gtk,qt4)]),
553   [if test -n ${enableval}; then
554     enableval=`echo ${enableval} | tr '\054' ' ' `
555   fi
556   while test -n "${enableval}" ; do
557     val=`echo ${enableval} | cut -d ' ' -f 1`
558     case "${val}" in
559       gtk|GTK|gtk2|GTK2)
560         build_gtk=yes
561         ;;
562       kde3|KDE3)
563         build_kde3=yes
564         ;;
565       qt4|QT4|kde4|KDE4)
566         build_qt4=yes
567         ;;
568       qtopia3|QTOPIA3)
569         build_qtopia3=yes
570         ;;
571       qtopia4|QTOPIA4)
572         build_qtopia4=yes
573         ;;
574       sdl|SDL)
575         build_sdl=yes
576         ;;
577       aqua|AQUA|Aqua)
578         build_aqua=yes
579         ;;
580       fltk|FLTK|fltk2|FLTK2)
581         build_fltk=yes
582         ;;
583       fb|FB)
584         build_fb=yes
585         ;;
586       aos4|AOS4)
587         build_aos4=yes
588         ;;
589       haiku|HAIKU)
590         build_haiku=yes
591         ;;
592       dump|DUMP)
593         build_dump=yes
594         ;;
595       all|ALL)
596         build_dump=yes
597         dnl BSD doesn't have a framebuffer interface
598         if test x${linux} = xyes; then
599           build_fb=yes
600         fi
601         if test x${openbsd} != xyes; then
602           build_qt4=yes
603         fi
604         build_sdl=yes
605         build_gtk=yes
606         ;;
607       *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: gtk|kde3|qt4|fltk|sdl|aqua|fb|qtopia3|qtopia4|dump|aos4|haiku)])
608          ;;
609       esac
610     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
611     if test "x$val" = "x$enableval"; then
612       break;
613     fi
614   done],
615   [ dnl Run the following code if no --enable-gui is given
616   build_fb=auto
617   build_sdl=auto
618   if test x"${openbsd}" = xyes; then
619     build_gtk=yes
620     build_dump=auto
621   else if test x"${haiku}" = xyes; then
622     build_haiku=yes;
623   else
624     build_qt4=auto
625     build_gtk=yes
626     build_dump=auto
627   fi
628   fi
629   ]
632 if test x"${build_haiku}" = xyes; then
633   if test x"$haiku" != xyes; then
634     echo "        ERROR: Can not build Haiku gui outside of Haiku
635 operating system." >&3
636   fi
639 dnl We can use Xephyr or fbe to create a fake framebuffer instead of real
640 dnl video memory. This lets us test on a desktop machine.
641 AC_ARG_WITH(fakefb,
642 AC_HELP_STRING([--with-fakefb],
643  [specify a file to be mapped instead of a real framebuffer]),
644  with_fakefb=${withval})
646 fakefb=
647 if test x"${with_fakefb}" = xyes; then
648   dnl This is the default file name fbe uses.
649   fakefb=/tmp/fbe_buffer
650 else
651   if test x"${with_fakefb}" != x; then
652     fakefb=${with_fakefb}
653   fi
655 FAKEFB=${fakefb}
656 AC_SUBST(FAKEFB)
658 if test x"${fakefb}" != x; then
659     AC_DEFINE(ENABLE_FAKE_FRAMEBUFFER, [1], [Enable using a file instead of a real framebuffer])
662 dnl This enable a small handful of tests that aren't designed to be
663 dnl run as part of "make check", as they are either incomplete, or
664 dnl can only be run interactively. These are all primarily oriented
665 dnl towards code development and debugging, instead of regression
666 dnl or unit testing.
667 AC_ARG_ENABLE(devtests, AC_HELP_STRING([--enable-devtests],
668   [Developer only tests, not to be included in make check]),
669 [case "${enableval}" in
670   yes) devtests=yes ;;
671   no)  devtests=no ;;
672   *)   AC_MSG_ERROR([bad value ${enableval} for enable-devtests option]) ;;
673 esac], devtests=no)
674 AM_CONDITIONAL(ENABLE_DEVELOPER_TESTS, [test x${devtests} = xyes])
676 dnl --------------------------------------------------------
677 dnl  Sound handler selection
678 dnl --------------------------------------------------------
679 add_sound=
680 build_sound_none=no
681 build_sound_sdl=no
682 build_sound_ahi=no
683 build_sound_mkit=no
684 AC_ARG_ENABLE(sound,
685   AC_HELP_STRING([--enable-sound=[[sdl|ahi|mkit]]], [Use the specified sound handler (default=sdl)]),
686      [case "${enableval}" in
687       sdl|SDL|Sdl)
688         build_sound_sdl=yes
689         add_sound="sdl"
690         ;;
691       none|NONE|None)
692         build_sound_none=yes
693         add_sound="none"
694         ;;
695       ahi|AHI|Ahi)
696         build_sound_ahi=yes
697         add_sound="ahi"
698         ;;
699       mkit|MKIT|Mkit)
700         build_sound_mkit=yes
701         add_sound="mkit"
702         ;;
703      esac],
704   [if test x"${haiku}" = xyes; then
705      build_sound_mkit=yes
706      add_sound="mkit"
707    else
708      if test x${build_sound_none} = xno; then
709        build_sound_sdl=yes
710        add_sound=sdl
711      fi
712    fi]
715 dnl --------------------------------------------------------
716 dnl  Media handler selection
717 dnl --------------------------------------------------------
718 build_media_gst=no
719 build_media_ffmpeg=auto
720 build_media_none=no
721 AC_ARG_ENABLE(media,
722   AC_HELP_STRING([--enable-media=handler],
723     [Enable media handling support using the specified handler: gst, ffmpeg or none (no sound) [[gst]] ]),
724   
725     if test -n ${enableval}; then
726       enableval=`echo ${enableval} | tr '\054' ' ' `
727     fi
728     dnl When --enable-media is given, all media defaults to off
729     dnl except the explicitly enabled ones
730     build_media_ffmpeg=no
731     build_media_gst=no
732     while test -n "${enableval}"; do
733       val=`echo ${enableval} | cut -d ' ' -f 1`
734       [case "${val}" in
735         GST|gst)
736           build_media_gst=yes
737           media_list="${media_list}gst "
738           ;;
739         FFMPEG|ffmpeg)
740           build_media_ffmpeg=yes
741           media_list="${media_list}ffmpeg "
742           ;;
743         no|NO|none)
744           build_media_none=yes
745           media_list="none"
746           ;;
747         *)
748           AC_MSG_ERROR([bad value ${enableval} for --enable-media option])
749           ;;
750      
751       esac]
752       enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
753       if test "x$val" = "x$enableval"; then
754         break;
755       fi
756     done,
757     [if test x"${build_haiku}" = xyes; then
758         build_media_ffmpeg=yes
759         build_media_haiku=yes
760         media_list="ffmpeg haiku"
761      else
762         build_media_gst=yes
763         media_list="gst"
764     fi]
767 dnl If no render is selected, and media handling isn't disabled, them enable gst
768 if test x${build_media_none} = xno -a x${build_media_gst} = xno -a x${build_media_ffmpeg} = xno; then
769   build_media_gst=yes
772 if test x"$build_media_ffmpeg" != x"no"; then # yes or auto
773   GNASH_PATH_FFMPEG
774   if test x"${build_media_ffmpeg}" = xauto; then
775     dnl TODO: have GNASH_PATH_FFMPEG set ${has_ffmpeg}
776     if test x"$FFMPEG_LIBS" != x; then
777       build_media_ffmpeg=yes
778       media_list="${media_list} ffmpeg"
779     else
780       build_ogl=no
781     fi
782   fi
785 MEDIA_CONFIG="${media_list}"
786 AC_SUBST(MEDIA_CONFIG)
788 dnl Multiple input devices are supported. These can all work in
789 dnl varying combinations, so several may be listed. These are only
790 dnl required when using the Framebuffer, as without the X11 desktop,
791 dnl Gnash has to handle all these internally. This can get
792 dnl messy, as one might want to use a touchscreen with a normal mouse
793 dnl or keyboard attached. 
794 dnl By default, don't build any of these, as they are only for the 
795 dnl Framebuffer running without X11.
796 if test x"${build_fb}" = xyes -a x"${linux}" = xyes; then
797   build_ps2mouse=yes
798   build_ps2keyboard=yes
799   build_input_events=yes
800   build_tslib=yes
801   input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"
802 else
803   build_ps2mouse=no
804   build_ps2keyboard=no
805   build_input_events=no
806   build_tslib=no
807   input_events=
809 AC_ARG_ENABLE(input,
810   AC_HELP_STRING([--enable-input], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
811   [if test -n ${enableval}; then
812     enableval=`echo ${enableval} | tr '\054' ' ' `
813   fi
814   build_ps2mouse=no
815   build_ps2keyboard=no
816   build_input_events=no
817   build_tslib=no
818   while test -n "${enableval}" ; do
819     val=`echo ${enableval} | cut -d ' ' -f 1`
820     case "${val}" in
821       ps2m*|PS2m*|m*|M*)        dnl a PS/2 style mouse
822         build_ps2mouse=yes
823         input_events="${input_events}, PS/2 Mouse"
824         ;;
825       ps2k*|PS2K*|k*|K*)        dnl a PS/2 style keyboard
826         build_ps2keyboard=yes
827         input_events="${input_events}, PS/2 Keyboard"
828         ;;
829       i*|I*|ev*|Ev*)    dnl use the new Input Event, which supports both
830         input_events="${input_events}, Input Event Device"
831         build_input_events=yes
832         ;;
833       t*|T*) dnl use a touchscreen with tslib, which works like a mouse
834         build_tslib=yes
835         input_events="${input_events}, Touchscreen"
836         ;;
837       a*) dnl all
838         build_ps2mouse=yes
839         build_ps2keyboard=yes
840         build_input_events=yes
841         build_tslib=yes
842         input_events="PS/2 Mouse, PS/2 Keyboard, Input Devices, Touchscreen via Tslib"                
843         ;;
844       *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
845          ;;
846       esac
847     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
848     if test "x$val" = "x$enableval"; then
849       break;
850     fi
851   done],
854 if test x$build_sdl != xno -o x$build_sound_sdl = xyes; then
855   GNASH_PATH_SDL
857 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} = xyes])
860 dnl -----------------------------------------------------
861 dnl Check for SDL and decide about auto gui accordingly.
862 dnl Need be done after build_sound_sdl and build_sdl are
863 dnl initialized and before they are checked for yes/no
864 dnl -----------------------------------------------------
865 if test x"${build_sdl}" = xauto; then
866   if test xyes = x"${has_sdl}"; then
867     build_sdl=yes
868   else
869     AC_MSG_NOTICE([sdl GUI will not be built (no sdl development files found)])
870     build_sdl=no
871   fi
874 dnl -------------------------------
875 dnl Renderer Selection
876 dnl -------------------------------
877 input_events=
878 dnl By default, we want to to build all renderers
879 dnl DirectFB has both a device layer and a rendering layer, although
880 dnl currently the rendering part is incomplete. Configure support is
881 dnl included for development purposes.
882 build_directfb=no
883 dnl The OpenVG support works on both the desktop and embedded devices
884 dnl that don't run X11. It is supported by iPhone/iPad/Android
885 dnl devices, and the nouveau driver on the desktop.
886 build_ovg=no
887 dnl The OpenGLES1 renderer is a work in progress. It is originally
888 dnl based on a patch to Gnash 0.8.5, which of course not only didn't
889 dnl compile anymore, it was all hardcoded into the framebuffer
890 dnl code. This version compiles with the latest internal rendering
891 dnl API, and works properly with the glue code for the Gnash GUIs.
892 build_gles1=no
893 dnl OpenGL works, but suffers from performance problems. This should
894 dnl eventually be replacd by the OpenGLES1 and OpenVG renders.
895 build_ogl=yes
896 dnl AGG is a software only renderer
897 build_agg=yes
898 build_cairo=yes
899 renderer_list="agg cairo"
900 AC_ARG_ENABLE(renderer,
901   AC_HELP_STRING([--enable-renderer=], [Enable support for the specified renderers (agg|cairo|opengl|openvg|all, default=all)]),
902   if test -n ${enableval}; then
903     if test "x${enableval}" != "xno" -o "x${enableval}" != "xnone" ; then
904       renderer_list="none"
905       enableval=`echo ${enableval} | tr '\054' ' ' `
906     else
907       renderer_list=""
908       enableval=""
909     fi
910   fi
911   renderer_list=""
912   build_ovg=no
913   build_ogl=no
914   build_gles1=no
915   build_gles2=no
916   build_agg=no
917   build_cairo=no
918   while test -n "${enableval}" ; do
919     val=`echo ${enableval} | cut -d ' ' -f 1`
920     [case "${val}" in
921       no*|NO*)
922         renderer_list="none"
923         build_ovg=no
924         build_ogl=no
925         build_gles1=no
926         build_gles2=no
927         build_agg=no
928         build_cairo=no
929         ;;
930       all|ALL)
931         renderer_list="agg cairo opengl openvg, opengles1"
932         build_ogl=yes
933         build_agg=yes
934         build_cairo=yes
935         build_ovg=yes
936         nrender=4
937         ;;
938       ogl|OGL|OpenGL|opengl)
939         renderer_list="${renderer_list} opengl"
940         build_ogl=yes
941         ;;
942       gles|GLES|gles1|GLES1)
943         renderer_list="${renderer_list} opengles1"
944         build_gles1=yes
945         build_ogl=no
946         nrender=$((nrender+1))
947         ;;
948       ovg|OVG|OpenVG|openvg)
949         renderer_list="${renderer_list} openvg"
950         build_ovg=yes
951         nrender=$((nrender+1))
952         ;;
953       directfb|dfb)
954         renderer_list="${renderer_list} DirectFB"
955         build_directfb=yes
956         nrender=$((nrender+1))
957         ;;
958       agg|AGG)
959         renderer_list="${renderer_list} agg"
960         build_agg=yes
961         ;;
962       cairo|CAIRO|Cairo*)
963         renderer_list="${renderer_list} cairo"
964         build_cairo=yes
965         ;;
966       *) AC_MSG_ERROR([invalid renderer specified: ${enableval} given (accept:  (opengl|openvg|cairo|agg|all)])
967         ;;
968       esac]
969     enableval=`echo ${enableval} | cut -d ' ' -f 2-`
970     if test "x$val" = "x$enableval"; then
971       break;
972     fi
973   done
976 dnl 16 bit: RGB555, RGB565
977 dnl 24 bit: RGB24, BGR24
978 dnl 32 bit: RGBA32, BGRA32
979 pixelformat=all
980 AC_ARG_WITH(pixelformat,
981   AC_HELP_STRING([--with-pixelformat=], [Use the specified pixel format for AGG (default=all)]),
982   [if test -n ${withval}; then
983     pixelformat="${withval}"
984     withval=`echo ${withval} | tr '\054' ' ' `
985   fi
986   while test -n "${withval}" ; do
987     val=`echo ${withval} | cut -d ' ' -f 1`
988     case "${val}" in
989       all)
990         # allow special value "all" set by user (handled below)
991         ;; 
992       argb32|ARGB32)
993         AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32])
994         ;;
995       abgr32|ABGR32)
996         AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32])
997         ;;
998       bgra32|BGRA32)
999         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1000         ;;
1001       bgr24|BGR24)
1002         AC_DEFINE(PIXELFORMAT_BGR24, [1], [BGR24])
1003         ;;
1004       rgba32|RGBA32)
1005         AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32])
1006         ;;
1007       rgb24|RGB24)
1008         AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24])
1009         ;;
1010       rgb555|RGB555)
1011         AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555])
1012         ;;
1013       rgb565|RGB565)
1014         AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565])
1015         ;;
1016       *) AC_MSG_ERROR([invalid pixel format ${withval} given (accept: all|RGB555|RGB565|RGB24|BGR24|BGRA32|RGBA32|ARGB32|ABGR32)])
1017          ;;
1018       esac
1019     withval=`echo ${withval} | cut -d ' ' -f 2-6`
1020     if test "x$val" = "x$withval"; then
1021       break;
1022     fi
1023   done],
1024   [if test x$build_haiku = xyes -a x$build_sdl != xyes; then
1025         AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32])
1026         pixelformat=BGRA32
1027    fi]
1030 if test x$pixelformat = xall; then
1031   if test x$build_agg = xyes; then
1032     ### The fact that we're building GTK doesn't mean we're not also
1033     ### building KDE or SDL, each needing its own pixel format !
1034     #if test x$build_gtk = xyes; then
1035     #  AC_DEFINE(PIXELFORMAT_RGB24, [1], [RGB24 pixel format])
1036     #  pixelformat="RGB24"
1037     #else
1038       AC_DEFINE(PIXELFORMAT_RGB555, [1], [RGB555 pixel format])
1039       AC_DEFINE(PIXELFORMAT_RGB565, [1], [RGB565 pixel format])
1040       AC_DEFINE(PIXELFORMAT_RGB24,  [1], [RGB24 pixel format])
1041       AC_DEFINE(PIXELFORMAT_BGR24,  [1], [BGR24 pixel format])
1042       AC_DEFINE(PIXELFORMAT_RGBA32, [1], [RGBA32 pixel format])
1043       AC_DEFINE(PIXELFORMAT_BGRA32, [1], [BGRA32 pixel format])
1044       AC_DEFINE(PIXELFORMAT_ARGB32, [1], [ARGB32 pixel format])
1045       AC_DEFINE(PIXELFORMAT_ABGR32, [1], [ABGR32 pixel format])
1046     #fi
1047   fi
1050 if test x"${build_ogl}" != xno; then # yes or auto
1051   GNASH_PATH_OPENGL
1052   if test x"${build_ogl}" = xauto; then
1053     if test xyes = x"${has_opengl}"; then
1054       build_ogl=yes
1055       renderer_list="${renderer_list} OpenGL"
1056     else
1057       build_ogl=no
1058     fi
1059   fi
1062 AM_CONDITIONAL(BUILD_OVG_RENDERER,   [ test x${build_ovg} = xyes ])
1063 AM_CONDITIONAL(BUILD_GLES1_RENDERER, [ test x${build_gles1} = xyes ])
1064 AM_CONDITIONAL(BUILD_GLES2_RENDERER, [ test x${build_gles2} = xyes ])
1065 AM_CONDITIONAL(BUILD_OGL_RENDERER,   [ test x${build_ogl} = xyes])
1066 AM_CONDITIONAL(BUILD_AGG_RENDERER,   [ test x${build_agg} = xyes ])
1067 AM_CONDITIONAL(BUILD_CAIRO_RENDERER, [ test x${build_cairo} = xyes ])
1069 if test x"${build_ovg}" = xyes; then
1070    AC_DEFINE([RENDERER_OPENVG], [1], [Use OpenVG renderer])
1073 if test x"${build_ogl}" = xyes; then
1074    AC_DEFINE([RENDERER_OPENGL], [1], [Use OpenGL renderer])
1077 if test x"${build_agg}" = xyes; then
1078   AC_DEFINE([RENDERER_AGG], [1], [Use AntiGrain renderer])
1081 if test x"${build_cairo}" = xyes; then
1082   GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1083   AC_DEFINE([RENDERER_CAIRO], [1], [Use cairo renderer])
1086 if test x"${build_agg}" = xyes; then
1087    GNASH_PATH_AGG
1090 dnl VA API is used by default for all H.264 videos. HW requirements:
1091 dnl     * AMD GPUs with UVD2 and xvba-video VA driver
1092 dnl     * NVIDIA GPUs with vdpau-video VA driver
1093 dnl     * All HW with a VA driver supporting the VA/GLX extensions or
1094 dnl     vaPutSurface(Pixmap,...). This may include the Intel
1095 dnl     Moorestown platform and future G45 VA driver.
1096 dnl NOTE: it is possible to use Gnash/VAAPI on platforms with an Intel
1097 dnl GMA500 but you currently will have to build the AGG renderer
1098 dnl instead of the OGL (OpenGL) one. 
1099 build_vaapi_device=no
1100 build_openmax_device=no
1101 build_x11_device=no
1102 build_directfb_device=no
1103 build_egl_device=auto
1104 build_rawfb_device=yes
1105 device_list="RawFB"
1106 ndevice=1
1107 AC_ARG_ENABLE(device,
1108   AC_HELP_STRING([--enable-device], [Specify which hardware abstraction to use to support to enable (none,egl,directfb,rawfb,x11,vaapi)]),
1109   enableval=`echo ${enableval} | tr '\054' ' ' `
1110   build_egl_device=no
1111   build_rawfb_device=no
1112   device_list=""
1113   ndevice=0
1114   while test -n "${enableval}" ; do
1115     val=`echo ${enableval} | cut -d ' ' -f 1`
1116     [case "${val}" in
1117       no*|NO*)
1118         device_list="none"
1119         build_vaapi_device=no
1120         build_openmax_device=no
1121         build_egl_device=no
1122         build_directfb_device=no
1123         build_x11_device=no
1124         ndevice=0
1125         ;;
1126       va*|VA*)
1127         device_list="${device_list} VAAPI"
1128         build_vaapi_device=yes
1129         ndevice=$((ndevice+1))
1130         ;;
1131       eg*|EG*)
1132         device_list="${device_list} EGL"
1133         build_egl_device=yes
1134         ndevice=$((ndevice+1))
1135         ;;
1136       x1*|X1*)
1137         device_list="${device_list} X11"
1138         build_x11_device=yes
1139         ndevice=$((ndevice+1))
1140         ;;
1141       di*|Di*|DI*|dfb)
1142         device_list="${device_list} DirectFB"
1143         build_directfb_device=yes
1144         ndevice=$((ndevice+1))
1145         ;;
1146       ra*|RAW*)
1147         device_list="${device_list} RawFB"
1148         build_rawfb_device=yes
1149         ndevice=$((ndevice+1))
1150         ;;
1151       all|ALL)
1152         device_list="EGL DirectFB X11"
1153         build_openmax_device=no
1154         build_vaapi_device=no
1155         build_egl_device=yes
1156         build_rawfb_device=yes
1157         build_directfb_device=yes
1158         build_x11_device=yes
1159         ndevice=5
1160         ;;
1161       op*|Op*|OP*)
1162         device_list="${device_list} OpenMAX"
1163         build_openmax_device=yes
1164         ndevice=$((ndevice+1))
1165         ;;
1166       *) AC_MSG_ERROR([invalid device feature specified: ${enableval} given (accept: none,vaapi)])
1167         ;;
1168       esac]
1169     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1170     if test "x$val" = "x$enableval"; then
1171       break;
1172     fi
1173   done
1176 if test x"${have_ffmpeg_vaapi}" = x"yes" -a x"${build_vaapi_device}" = x"yes"; then
1177   use_libva=no
1178   use_libva_x11=no
1179   use_libva_glx=no
1180   dnl if the version of FFmpeg is recent enough, (r20957, 52.45.0), then
1181   dnl look for VAAPI support so we can use use the VAAPI enabled FFmpeg.
1182   if test x"${have_ffmpeg_vaapi}" = xyes; then
1183     use_libva=yes
1184     GNASH_PKG_FIND([libva],
1185       [va/va.h],
1186       [Video Acceleration API],
1187       vaInitialize
1188     )
1190     use_libva_x11=yes
1191     GNASH_PKG_FIND([libva_x11],
1192       [va/va_x11.h],
1193       [VA API (X11 display)],
1194       vaGetDisplay,
1195       [], [-lva-x11]
1196     )
1198     if test x$build_ogl = xyes; then
1199       use_libva_glx=yes
1200       GNASH_PKG_FIND([libva_glx],
1201         [va/va_glx.h],
1202         [VA API (GLX display)],
1203         vaGetDisplayGLX,
1204         [], [-lva-glx]
1205       )
1206     fi
1207   fi
1210 dnl libVA drivers. We declare conditional for both the option being
1211 dnl selected, as well as whether or not it's found. This we can
1212 dnl generate better error handling if it's not found.
1213 AM_CONDITIONAL(USE_VAAPI, test x"${use_libva}" = xyes)
1215 dnl Until the hwaccel patches in FFmpeg wind up in the ffmpeg-plugin,
1216 dnl restrict using HW Accel to using FFmpeg directly.
1217 dnl test xyes = xyes -a ( x != xyes -o x != xyes )
1218 if test x"${build_vaapi}" = x"yes" -a x"${have_ffmpeg}" != x"yes"; then
1219   AC_MSG_ERROR(["Hardware acceleration currently not supported unless using FFmpeg."])
1222 AM_CONDITIONAL(HAVE_VAAPI, test x"${found_libva_incl}" = xyes)
1223 AM_CONDITIONAL(HAVE_VAAPI_GLX, test x"${found_libva_glx_incl}" = xyes)
1224 AM_CONDITIONAL(HAVE_VAAPI_X11, test x"${found_libva_x11_incl}" = xyes)
1226 if test x"${build_egl_device}" != xno; then # yes or auto
1227   GNASH_PKG_FIND(EGL, [EGL/egl.h], [EGL library], eglGetDisplay)
1228   if test xyes = x"${has_EGL}"; then
1229     AC_DEFINE(BUILD_EGL_DEVICE, [ 1 ],
1230           [Build the EGL device for OpenVG, OpenGLES1&2, and X11/Mesa])
1231     build_egl_device=yes
1232     device_list="${device_list} EGL"
1233     ndevice=$((ndevice+1))
1234   else
1235     if test xyes = x"${build_egl_device}"; then
1236       AC_MSG_ERROR(["EGL requested but development package not found"])
1237     fi
1238     build_egl_device=no
1239   fi
1242 AM_CONDITIONAL(BUILD_DEVICES, test ${ndevice} -gt 0)
1243 if test ${ndevice} -gt 0; then
1244   AC_OUTPUT(libdevice/Makefile)
1247 AC_PATH_PROG(PERL, perl)
1248 AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != x)
1250 AC_PATH_PROG(CSOUND, csound)
1251 AM_CONDITIONAL(HAVE_CSOUND, test x"$CSOUND" != x)
1253 AC_PATH_PROG(GIT, git)
1254 AC_SUBST(GIT)
1256 dnl --------------------------------------------------------
1257 dnl Extension selection
1258 dnl --------------------------------------------------------
1259 ext_dejagnu=no
1260 ext_mysql=no
1261 ext_fileio=no
1262 ext_gtk=no
1263 ext_lirc=no
1264 ext_dbus=no
1265 ext_all=no
1266 extensions_list=
1267 extensions_support=yes
1268 nextensions=0
1269 AC_ARG_ENABLE(extensions,
1270   AC_HELP_STRING([--enable-extensions=], [Specify which extensions to build (default: none)])
1271   AC_HELP_STRING([--disable-extensions], [Disable support for extensions entirely]),
1272   if test -n ${enableval}; then
1273     if test "x${enableval}" != "xno"; then
1274       extlist="${enableval}"
1275       enableval=`echo ${enableval} | tr '\054' ' ' `
1276       AC_DEFINE([USE_EXTENSIONS], [1], [Specify that extension support is enabled.])
1277     else
1278       extlist=""
1279       enableval=""
1280       extensions_support=no
1281     fi
1282   fi
1283   nextensions=0
1284   while test -n "${enableval}" ; do
1285     val=`echo ${enableval} | cut -d ' ' -f 1`
1286     extensions_list="${extensions_list} ${val}"
1287     [case "${val}" in
1288       dejagnu|DEJAGNU|dj|DJ)
1289         AC_DEFINE(USE_DEJAGNU_EXT, [1], [Build the DejaGnu extension])
1290         AC_MSG_NOTICE([Adding DejaGnu extension])
1291         ext_dejagnu=yes
1292         nextensions=$((nextensions+1))
1293         ;;
1294       mysql|MYSQL|sql|SQL)
1295         AC_DEFINE(USE_MYSQL_EXT, [1], [Build the MySQL extension])
1296         AC_MSG_NOTICE([Adding MySql extension])
1297         ext_mysql=yes
1298         nextensions=$((nextensions+1))
1299         ;;
1300       fileio|FILEIO|io|IO)
1301         AC_DEFINE(USE_FILEIO_EXT, [1], [Build the FileIO extension])
1302         AC_MSG_NOTICE([Adding FileIO extension])
1303         ext_fileio=yes
1304         nextensions=$((nextensions+1))
1305         ;;
1306       gtk|GTK|gtk2|GTK2)
1307         AC_DEFINE(USE_GTK_EXT, [1], [Build the GTK extension])
1308         ext_gtk=yes
1309         nextensions=$((nextensions+1))
1310         ;;
1311       lirc|LIRC)
1312         AC_DEFINE(USE_LIRC_EXT, [1], [Build the LIRC extension])
1313         ext_lirc=yes
1314         nextensions=$((nextensions+1))
1315         ;;
1316       dbus|DBUS)
1317         AC_DEFINE(USE_DBUS_EXT, [1], [Build the DBUS extension])
1318         ext_dbus=yes
1319         nextensions=$((nextensions+1))
1320         ;;
1321       all|ALL)
1322         AC_DEFINE(USE_GTK_EXT, [1], [Build all the extensions])
1323         ext_dejagnu=yes
1324         ext_mysql=yes
1325         ext_fileio=yes
1326         ext_gtk=yes
1327         ext_lirc=yes
1328         ext_dbus=yes
1329         ext_all=yes
1330         nextensions=9
1331         ;;
1332       *) AC_MSG_ERROR([invalid extension specified: ${enableval} given (accept: MYSQL|DEJAGNU|FILEIO|GTK|LIRC|DBUS|METOME|ALL)])
1333          ;;
1334       esac]
1335     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1336     if test "x$val" = "x$enableval"; then
1337       break;
1338     fi
1339   done
1340   EXTENSIONS_LIST="$extensions_list"
1341   AC_SUBST(EXTENSIONS_LIST)
1344 if test x$ext_dbus = xyes; then
1345   GNASH_PATH_DBUS
1348 if test x$ext_mysql = xyes; then
1349   GNASH_PATH_MYSQL
1352 AM_CONDITIONAL(BUILD_DEJAGNU_EXT, [ test x$ext_dejagnu = xyes ])
1353 AM_CONDITIONAL(BUILD_FILEIO_EXT, [ test x$ext_fileio = xyes ])
1354 AM_CONDITIONAL(BUILD_MYSQL_EXT, [ test x$ext_mysql = xyes ])
1355 AM_CONDITIONAL(BUILD_GTK_EXT, [ test x$ext_gtk = xyes ])
1356 AM_CONDITIONAL(BUILD_LIRC_EXT, [ test x$ext_lirc = xyes ])
1357 AM_CONDITIONAL(BUILD_DBUS_EXT, [ test x$ext_dbus = xyes ])
1358 AM_CONDITIONAL(BUILD_EXTENSIONS, [ test -n "$extensions_list"])
1360 AM_CONDITIONAL(ENABLE_EXTENSIONS, [ test "x${extensions_support}" != "xno" ])
1362 dnl --------------------------------------------------------
1363 dnl Libtool
1364 dnl --------------------------------------------------------
1366 AC_LIBTOOL_DLOPEN
1367 AC_LIBTOOL_WIN32_DLL
1368 AC_DISABLE_STATIC
1369 AC_PROG_LIBTOOL
1370 AC_SUBST(LIBTOOL_DEPS)
1371 DLOPEN="-dlopen"
1372 DLPREOPEN="-dlpreopen"
1373 AC_SUBST(DLOPEN)
1374 AC_SUBST(DLPREOPEN)
1376 GNASH_PKG_FIND([ltdl], [ltdl.h], [libltdl library], [lt_dlinit])
1378 if test x"$has_ltdl" = x"yes";then
1379   AC_DEFINE(HAVE_LTDL, [1], [Libtool 2.x defines this, but libtool 1.5 does not])
1382 dnl --------------------------------------------------------
1383 dnl SOL dir
1384 dnl --------------------------------------------------------
1385 soldir=/tmp
1386 AC_ARG_WITH(soldir,
1387  AC_HELP_STRING([--with-soldir],
1388  [directory for .sol files]),
1389  with_soldir=${withval})
1390 if test x${with_soldir} != x; then
1391   soldir=${with_soldir}
1393 SOLDIR=${soldir}
1394 AC_SUBST(SOLDIR)
1396 dnl --------------------------------------------------------
1397 dnl AVM2
1398 dnl --------------------------------------------------------
1399 dnl AC_ARG_ENABLE(avm2,
1400 dnl   AC_HELP_STRING([--enable-avm2], [Enable support for AS3]),
1401 dnl   [case "${enableval}" in
1402 dnl     yes) avm2=yes ;;
1403 dnl     no)  avm2=no ;;
1404 dnl     *)   AC_MSG_ERROR([bad value ${enableval} for enable-avm2 option]) ;;
1405 dnl   esac], avm2=no
1406 dnl )
1407 dnl AM_CONDITIONAL(ENABLE_AVM2, [test x"$avm2" = xyes])
1408 dnl if test x$avm2 = xyes; then
1409 dnl     AC_DEFINE(ENABLE_AVM2, [1], [Enable AVM2 code])
1410 dnl fi
1411 AM_CONDITIONAL(ENABLE_AVM2, false)
1413 dnl This option is only used if you want Gnash to interwork with 
1414 dnl the Adobe player using the LocalConnection class.
1415 dnl lckey=0xdd3adabd
1416 AC_ARG_WITH(lckey,
1417  AC_HELP_STRING([--with-lckey],
1418  [shared memory key for your system]),
1419  with_lckey=${withval})
1421 if test x${with_lckey} != x; then
1422   lckey=${with_lckey}
1423 else
1424   lckey=0xcbc384f8
1426 LC_KEY=${lckey}
1427 AC_SUBST(LC_KEY)
1429 AC_ARG_ENABLE(python,
1430   AC_HELP_STRING([--enable-python],[Enable python for the python wrapper]),
1431 [case "${enableval}" in
1432   yes) python=yes ;;
1433   no)  python=no ;;
1434   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-python option]) ;;
1435 esac],python=no)
1437 dnl Look for python, which is optional. If enabled, a python loadable
1438 dnl module of Gnash is created.
1439 GNASH_PATH_PYTHON
1440 AM_CONDITIONAL([USE_PYTHON], test x"$python" = xyes)
1441 AM_CONDITIONAL([HAS_PYTHON], test x"$has_python" = xyes)
1443 # Maybe use jemalloc, which handles memory fragmentation for
1444 # ECAMscript languages better than the regular system malloc.
1445 # This seems like a good idea, as both the other player and
1446 # Mozilla/Firefox both recently switched to using jemalloc.
1447 AC_ARG_ENABLE(jemalloc,
1448   AC_HELP_STRING([--enable-jemalloc],[Enable jemalloc instead of system malloc]),
1449 [case "${enableval}" in
1450   yes) jemalloc=yes ;;
1451   no)  jemalloc=no ;;
1452   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-jemalloc option]) ;;
1453 esac],jemalloc=yes)
1455 AC_CHECK_SIZEOF([void *], [4])
1457 if test "x${ac_cv_sizeof_void_p}" != x4 -a x"${ac_cv_sizeof_void_p}" != x8; then
1458   dnl jemalloc doesn't support unusual pointer sizes
1459   jemalloc=no
1462 dnl There is some weird stuff going on with NetBSD and jemalloc, so don't 
1463 dnl build it for now.
1464 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
1465   jemalloc=no
1467 dnl If the compiler doesn't have local thread storage enabled, don't try to
1468 dnl use jemalloc.
1469 if test x"${jemalloc}" = x"yes"; then
1470   AC_TRY_COMPILE([], [
1471     extern __thread int global_i; ],
1472     has_local_thread_storage=yes
1473   )
1474   if test x"${has_local_thread_storage}" = x"yes"; then
1475     AC_DEFINE([HAVE_LOCAL_THREAD_STORAGE], [1], [Has __thread (local thread storage) support])
1476     AC_DEFINE([USE_JEMALLOC], [], [Use jemalloc instead of system malloc])
1477   else
1478     jemalloc=no
1479   fi
1482 dnl We can search libs for mallinfo to decide whether we have it or not.
1483 dnl This is added to the linker flags when it's found. Usually it's -lc, but
1484 dnl on OpenSolaris it's -lmalloc, so this fixes the build.
1485 AC_SEARCH_LIBS([mallinfo], [c malloc],
1486                AC_DEFINE(HAVE_MALLINFO, [1], [Has mallinfo()])
1487                mallinfo=yes
1488                )
1490 AM_CONDITIONAL([HAVE_MALLINFO], test x$mallinfo = xyes)
1491 AM_CONDITIONAL(JEMALLOC, test x$jemalloc = xyes)
1493 AC_ARG_ENABLE(fps-debug,
1494   AC_HELP_STRING([--enable-fps-debug],[Enable FPS debugging code]),
1495 [case "${enableval}" in
1496   yes) AC_DEFINE([GNASH_FPS_DEBUG], [1], [Enable FPS debugging code])
1497 esac])
1499 dnl IPC_INFO isn't portable, and doesn't exist on BSD
1500 AC_TRY_COMPILE([#include <sys/ipc.h> #include <sys/shm.h>], [
1501   int flag = IPC_INFO; ],
1502   AC_DEFINE([HAVE_IPC_INFO], [1], [Use ipc_info])
1505 dnl --------------------------------------------------------
1506 dnl Disable menus
1507 dnl --------------------------------------------------------
1508 dnl Don't add the GUI menu. Some educational systems think this adds
1509 dnl clutter and confusion, like on the OLPC.
1510 AC_ARG_ENABLE(menus,
1511   AC_HELP_STRING([--disable-menus],[Disable the GUI menus]),
1512 [case "${enableval}" in
1513   yes) menus=yes ;;
1514   no)  menus=no ;;
1515   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-menus option]) ;;
1516 esac],menus=yes)
1518 if test x"$menus" = x"yes"; then
1519   AC_DEFINE([USE_MENUS], [], [GUI Menu support])
1521 AM_CONDITIONAL(MENUS, test x$menus = xyes)
1523 dnl --------------------------------------------------------
1524 dnl Disable SWF information
1525 dnl --------------------------------------------------------
1526 dnl Don't gather SWF information in tree form. This takes
1527 dnl resources and memory that can be saved if there's no
1528 dnl need to examine SWF internals.
1529 AC_ARG_ENABLE(swftree,
1530   AC_HELP_STRING([--disable-swftree],[Disable showing SWF properties]),
1531 [case "${enableval}" in
1532   yes) swftree=yes ;;
1533   no)  swftree=no ;;
1534   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-swf-properties option]) ;;
1535 esac],swftree=yes)
1537 if test x"$swftree" = x"yes"; then
1538   AC_DEFINE([USE_SWFTREE], [], [View SWF information])
1540 AM_CONDITIONAL(SWFTREE, test x$swftree = xyes)
1542 dnl --------------------------------------------------------
1543 dnl Disable testsuite
1544 dnl --------------------------------------------------------
1545 dnl Disable running any tests for "make check". This may sound stupid, but
1546 dnl this option is designed to solely be used by maintainers in the 
1547 dnl DISTCHECK_CONFIGURE_FLAGS when building packages. Gnash's testing infrastructure
1548 dnl is complex, and often the the testsuites will work, but due to some obscure reason,
1549 dnl make distcheck fails.
1550 AC_ARG_ENABLE(testsuite,
1551   AC_HELP_STRING([--disable-testsuite],[Disable the testsuite, maintainers option only]),
1552 [case "${enableval}" in
1553   yes) testsuite=yes ;;
1554   no)  testsuite=no ;;
1555   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-testsuite option]) ;;
1556 esac],testsuite=yes)
1558 if test x"$testsuite" = x"yes"; then
1559   AC_DEFINE([USE_TESTSUITE], [], [Testsuite support, maintainers option only])
1561 AM_CONDITIONAL(TESTSUITE, test x$testsuite = xyes)
1563 dnl --------------------------------------------------------
1564 dnl Write the file to disk in the plugin
1565 dnl --------------------------------------------------------
1566 AC_ARG_ENABLE(write,
1567   AC_HELP_STRING([--enable-write], [Makes the Mozilla plugin write the currently playing SWF movie to /tmp.]),
1568 [case "${enableval}" in
1569   yes) write=yes ;;
1570   no)  write=no ;;
1571   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-write option]) ;;
1572 esac],write=no)
1574 if test x"$write" = x"yes"; then
1575   AC_DEFINE([WRITE_FILE], [], [Write files while streaming])
1578 dnl --------------------------------------------------------
1579 dnl Write a standalone gnash launcher to disk from the plugin
1580 dnl --------------------------------------------------------
1581 AC_ARG_ENABLE(sa-launcher,
1582   AC_HELP_STRING([--disable-sa-launcher], [Drops support for the NPAPI plugin writing of standalone executable launcher scripts for the currently playing SWF movie to /tmp.]),
1583 [case "${enableval}" in
1584   yes) sa_launcher=yes ;;
1585   no)  sa_launcher=no ;;
1586   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-sa-launcher option]) ;;
1587 esac],sa_launcher=yes)
1589 if test x"$sa_launcher" = x"yes"; then
1590   AC_DEFINE([CREATE_STANDALONE_GNASH_LAUNCHER], [], [Add support for writing a standalone executable launcher for movies embedded in web pages])
1593 dnl --------------------------------------------------------
1594 dnl Build the cygnal server if specified.
1595 dnl --------------------------------------------------------
1596 AC_ARG_ENABLE(cygnal,
1597   AC_HELP_STRING([--enable-cygnal], [Enable building of the Cygnal server]),
1598 [case "${enableval}" in
1599   yes) cygnal=yes ;;
1600   no)  cygnal=no ;;
1601   *)   AC_MSG_ERROR([bad value ${enableval} for enable-cygnal option]) ;;
1602 esac],cygnal=no)
1603 AM_CONDITIONAL(CYGNAL, test x$cygnal = xyes)
1605 if test x$cygnal = xyes; then
1606  AC_OUTPUT(cygnal/Makefile
1607     cygnal/libnet/Makefile
1608     cygnal/libamf/Makefile
1609     cygnal/cgi-bin/Makefile
1610     cygnal/cgi-bin/echo/Makefile
1611     cygnal/cgi-bin/oflaDemo/Makefile
1612     cygnal/cgi-bin/fitcDemo/Makefile
1613     cygnal/testsuite/Makefile
1614     cygnal/testsuite/libamf.all/Makefile
1615     cygnal/testsuite/libnet.all/Makefile
1616     cygnal/testsuite/cygnal.all/Makefile
1620 dnl --------------------------------------------------------
1621 dnl Build the cgibins server if specified.
1622 dnl --------------------------------------------------------
1623 AC_ARG_ENABLE(cgibins,
1624   AC_HELP_STRING([--enable-cgibins], [Enable building of the CGIs for Cygnal]),
1625 [case "${enableval}" in
1626   yes) cgibin=yes ;;
1627   no)  cgibin=no ;;
1628   *)   AC_MSG_ERROR([bad value ${enableval} for enable-cgibins option]) ;;
1629 esac],cgibin=yes)
1630 AM_CONDITIONAL(USE_CGI, test x$cgibin = xyes)
1631 if test x"${cgibin}" = x"yes"; then
1632   AC_DEFINE([USE_CGIBIN], [1], [Enable cgi-bin processes for Cygnal])
1635 dnl --------------------------------------------------------
1636 dnl  Double buffer
1637 dnl --------------------------------------------------------
1638 dnl Add an option for double buffering when rendering, currently only used by
1639 dnl the frmaebuffer GUI.
1640 dnl If defined, an internal software-buffer is used for rendering and is then
1641 dnl copied to the video RAM. This avoids flicker and is faster for complex 
1642 dnl graphics, as video RAM access is usually slower. (strongly suggested)
1643 AC_ARG_ENABLE(doublebuf,
1644   AC_HELP_STRING([--enable-doublebuf], [Enable support for double buffering when rendering]),
1645   [case "${enableval}" in
1646     yes) doublebuf=yes ;;
1647     no)  doublebuf=no ;;
1648     *)   AC_MSG_ERROR([bad value ${enableval} for enable-doublebuf option]) ;;
1649   esac], doublebuf=no
1651 AM_CONDITIONAL(ENABLE_DBUF, [test x"$doublebuf" = xyes])
1652 if test x$doublebuf = xyes; then
1653     AC_DEFINE(ENABLE_DOUBLE_BUFFERING, [1], [Enable double buffering])
1656 dnl --------------------------------------------------------
1657 dnl  Offscreen buffer
1658 dnl --------------------------------------------------------
1659 dnl This enables rendering to an offscreen buffer, instead of directly to window
1660 AC_ARG_ENABLE(offscreen,
1661   AC_HELP_STRING([--enable-offscreen], [Enable support for rendering offscreen]),
1662   [case "${enableval}" in
1663     yes) offscreen=yes ;;
1664     no)  offscreen=no ;;
1665     *)   AC_MSG_ERROR([bad value ${enableval} for enable-offscreen option]) ;;
1666   esac], offscreen=no
1670 dnl --------------------------------------------------------
1671 dnl  SSH support selection
1672 dnl --------------------------------------------------------
1673 dnl Enable using libssh with libnet
1674 AC_ARG_ENABLE(ssh,
1675   AC_HELP_STRING([--enable-ssh], [Enable using SSH for network authentication]),
1676 [case "${enableval}" in
1677   yes) build_ssh=yes ;;
1678   no)  build_ssh=no ;;
1679   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-ssh option]) ;;
1680 esac], build_ssh=no)
1682 AM_CONDITIONAL(BUILD_SSH, test x"${build_ssh}" = xyes)
1683 if test x"${build_ssh}" = xyes; then
1684   GNASH_PKG_FIND(ssh, [libssh/libssh.h], [libssh library], ssh_socket_init)
1685 dnl  GNASH_PKG_FIND(poppler, [popt.h], [Poppler library], poppler_init)
1687 if test x"${has_ssh}" = x"yes"; then
1688   AC_DEFINE([USE_SSH], [1], [Use SSH for authentication])
1691 dnl --------------------------------------------------------
1692 dnl  SSL support selection
1693 dnl --------------------------------------------------------
1695 dnl Enable using OpenSSL with libnet.
1696 AC_ARG_ENABLE(ssl,
1697   AC_HELP_STRING([--enable-ssl], [Enable using OpenSSL directly]),
1698 [case "${enableval}" in
1699   yes) build_ssl=yes ;;
1700   no)  build_ssl=no ;;
1701   *)   AC_MSG_ERROR([bad value ${enableval} for --enable-ssl option]) ;;
1702 esac], build_ssl=no)
1704 with_cert=
1705 with_pem=
1706 AM_CONDITIONAL(BUILD_SSL, test x"${build_ssl}" = xyes)
1707 AC_ARG_WITH(cert,
1708   AC_HELP_STRING([--with-cert],
1709   [cert file for SSL]),
1710   with_cert=${withval})
1711 AC_ARG_WITH(pem,
1712   AC_HELP_STRING([--with-pe],
1713   [pem file for SSL]),
1714   with_pem=${withval})
1716 if test x"${build_ssl}" = xyes; then
1717   GNASH_PKG_FIND(ssl, [openssl/ssl.h], [OpenSSL library], SSL_library_init)
1719 if test x"${has_ssl}" = x"yes"; then
1720   AC_DEFINE([USE_SSL], [1], [Use SSL for authentication])
1723 dnl -----------------------------------------------------------
1724 dnl Set the general plugins install policy here
1725 dnl (NOTE: before GNASH_PATH_FIREFOX and GNASH_PATH_KDE*)
1726 dnl -----------------------------------------------------------
1728 AC_ARG_WITH(plugins-install,
1729   AC_HELP_STRING([--with-plugins-install=system|user|prefix], [Policy for plugins install. Default: user.]),
1730         [case "${withval}" in
1731           user) PLUGINS_INSTALL_POLICY=user ;;
1732           system) PLUGINS_INSTALL_POLICY=system ;;
1733           prefix) PLUGINS_INSTALL_POLICY=prefix ;;
1734           *)  AC_MSG_ERROR([bad value ${withval} for --with-plugins-install]) ;;
1735          esac 
1736         ], PLUGINS_INSTALL_POLICY=user) 
1738 dnl -----------------------------------------------------------
1739 dnl   Verify dependencies for requested GUIs are met, and
1740 dnl   disable build of the GUIS for which deps are NOT met
1741 dnl ------------------------------------------------------------
1743 if test x$build_gtk = xyes; then
1744    GNASH_PATH_GTK2
1745    GNASH_PATH_PANGO
1746    GNASH_PKG_FIND(atk, [atk/atk.h], [atk library], atk_focus_tracker_init, [1.0])
1747    if test x"${build_ogl}" = xyes; then
1748       GNASH_PATH_GLEXT
1749    fi
1750    if test x"${build_cairo}" = xyes; then
1751       GNASH_PKG_FIND(cairo, [cairo.h], [cairo render library], cairo_status)
1752    fi
1755 if test x"${build_qt4}" != xno; then
1756  GNASH_PATH_QT4
1759 if test x"${build_qt4}" = xauto; then
1760   if test x"${has_qt4}" = xyes; then
1761      build_qt4=yes
1762   else
1763      build_qt4=no
1764   fi
1767 if test x"${build_kde3}" != xno -o x"${build_qtopia3}" != xno; then
1768  GNASH_PATH_QT3
1771 if test x"${build_kde3}" != xno; then
1772   GNASH_PATH_KDE3
1776 if test x"${build_kde3}" = xauto; then
1777   if test x"${has_qt3}" = xyes -a x"${has_kde3}" = xyes; then
1778      build_kde3=yes
1779   else
1780      build_kde3=no
1781   fi
1784 dnl Check possibility to build DUMP gui, if requested
1785 if test x"${build_dump}" != xno; then
1786   if test x"${build_agg}" = xyes; then
1787     build_dump=yes
1788   else
1789     if test x"${build_dump}" = xyes; then
1790       dnl SHOULD we just check at the end of file instead ?
1791       AC_MSG_ERROR(dump GUI cannot be built without AGG renderer);
1792     fi
1793     build_dump=no
1794   fi
1797 dnl Check possibility to build FB gui, if requested
1798 dnl FB dependency is a linux system (linux/fb.h)
1799 if test x"${build_fb}" != xno; then
1800   if test x"${linux}" = xyes; then
1801       build_fb=yes
1802   else
1803     if test x"${build_fb}" = xyes; then
1804       dnl SHOULD we just check at the end of file instead ?
1805       AC_MSG_ERROR(fb GUI cannot be built on non-linux platforms);
1806     fi
1807     AC_MSG_NOTICE([fb GUI won't be built (non-linux platform)])
1808     build_fb=no
1809   fi
1812 dnl TODO: add checks for all other GUIs
1814 dnl -------------------------------
1815 dnl Input Device selection
1816 dnl -------------------------------
1818 dnl Multiple input devices are supported. These can all work in
1819 dnl varying combinations, so several may be listed. These are only
1820 dnl required when using the Framebuffer, as without the X11 desktop,
1821 dnl Gnash has to handle all these internally. This can get
1822 dnl messy, as one might want to use a touchscreen with a normal mouse
1823 dnl or keyboard attached. 
1824 dnl By default, don't build any of these, as they are only for the Framebuffer
1825 dnl running without X11.
1826 if test x"${build_fb}" = xyes; then
1827 build_ps2mouse=yes
1828 build_ps2keyboard=no
1829 build_input_events=yes
1830 build_tslib=yes
1831 input_events="PS/2 Mouse, Input Devices, Touchscreen via Tslib"
1832 else
1833 build_ps2mouse=no
1834 build_ps2keyboard=no
1835 build_input_events=no
1836 build_tslib=no
1837 input_events=
1839 AC_ARG_ENABLE(input,
1840   AC_HELP_STRING([--enable-input=], [Enable support for the specified input devices for the framebuffer GUI (default=ps2mouse|ps2keyboard|events|touchscreen)]),
1841   [if test -n ${enableval}; then
1842     enableval=`echo ${enableval} | tr '\054' ' ' `
1843   fi
1844   while test -n "${enableval}" ; do
1845     val=`echo ${enableval} | cut -d ' ' -f 1`
1846     case "${val}" in
1847       ps2m*|PS2m*|m*|M*)        dnl a PS/2 style mouse
1848         build_ps2mouse=yes
1849         input_events="${input_events}, PS/2 Mouse"
1850         ;;
1851       ps2k*|PS2K*|k*|K*)        dnl a PS/2 style keyboard
1852         build_ps2keyboard=yes
1853         input_events="${input_events}, PS/2 Keyboard"
1854         ;;
1855       i*|I*|ev*|Ev*)    dnl use the new Input Event, which supports both
1856         input_events="${input_events}, Input Event Device"
1857         build_input_events=yes
1858         ;;
1859       t*|T*) dnl use a touchscreen with tslib, which works like a mouse
1860         build_tslib=yes
1861         input_events="${input_events}, Touchscreen"
1862         ;;
1863       *) AC_MSG_ERROR([invalid input device list! ${enableval} given (accept: ps2mouse|keyboard|events,touchscreen)])
1864          ;;
1865       esac
1866     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
1867     if test "x$val" = "x$enableval"; then
1868       break;
1869     fi
1870   done],
1873 if test x"${build_tslib}" = xyes; then
1874   AC_DEFINE(USE_TSLIB, [1], [Use a tslib supported touchscreen])
1875   GNASH_PKG_FIND(ts, [tslib.h], [Touchscreen library], ts_config)
1877 AM_CONDITIONAL(ENABLE_TSLIB, [test x${ac_cv_header_tslib_h} != xno])
1879 if test x"${build_ps2mouse}" = xyes; then
1880   AC_DEFINE(USE_MOUSE_PS2, [1], [Add support for a directly using a PS/2 Mouse])
1882 AM_CONDITIONAL(ENABLE_MOUSE, [test x"${build_ps2mouse}" = xyes])
1884 if test x"${build_ps2keyboard}" = xyes; then
1885   AC_DEFINE(USE_KEYBOARD_PS2, [1], [Add support for directly using a PS/2 Keyboard])
1887 if test x"${build_input_events}" = xyes; then
1888   AC_DEFINE(USE_INPUT_EVENTS, [1], [Add support for a directly using Linux Input Event Devices])
1890 AM_CONDITIONAL(ENABLE_INPUT_EVENTS, [test x"${build_input_events}" = xyes])
1891 dnl this is enabled if we have any input devices at all
1892 AM_CONDITIONAL(ENABLE_INPUT_DEVICES, [test x"${input_events}" != x])
1895 dnl -----------------------------------------------------------
1896 dnl Try to ignore stupid dependencies
1897 dnl -----------------------------------------------------------
1899 AC_MSG_CHECKING(linker --as-needed support)
1900 gcc_cv_ld_as_needed=no
1901 # Check if linker supports --as-needed and --no-as-needed options
1902 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
1903   gcc_cv_ld_as_needed=yes
1905 if test x"$gcc_cv_ld_as_needed" = xyes; then
1906   LDFLAGS="$LDFLAGS -Wl,--as-needed"
1908 AC_MSG_RESULT($gcc_cv_ld_as_needed)
1910 AC_DEFINE(USE_GIF, [1], [Use the GIF library])
1911 AC_DEFINE(USE_PNG, [1], [Use the PNG library])
1912 AM_CONDITIONAL(USE_GIF, true)
1913 AM_CONDITIONAL(USE_PNG, true)
1915 AC_PATH_TOOL([AUTOTRACE], [autotrace])
1916 AC_HEADER_DIRENT
1918 dnl -----------------------------------------------------------------
1919 dnl PLUGIN RELATED STUFF
1920 dnl -----------------------------------------------------------------
1922 dnl !! This has been moved here to make --enable-npapi work
1923 dnl !! All of plugin-related macro calls could be moved into
1924 dnl !! a specialized macros/plugin.m4
1926 dnl ----------------------------------------------------
1927 dnl Add KPARTS support, if specified or KDE gui is built
1928 dnl ----------------------------------------------------
1930 AC_ARG_ENABLE(kparts3,
1931   AC_HELP_STRING([--disable-kparts3], [Disable support for Konqueror 3.x plugin (default: enabled if kde3 gui is)]),
1932 [case "${enableval}" in
1933   yes) build_kparts3=yes ;;
1934   no)  build_kparts3=no ;;
1935   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts3 option]) ;;
1936 esac],build_kparts3=$build_kde3)
1938 dnl --------------------------------------------------------
1939 dnl Add KPARTS 4.x support, if specified or KDE gui is built
1940 dnl --------------------------------------------------------
1942 AC_ARG_ENABLE(kparts4,
1943   AC_HELP_STRING([--disable-kparts4], [Disable support for Konqueror 4.x plugin (default: enabled if Qt4 gui is)]),
1944 [case "${enableval}" in
1945   yes) build_kparts4=yes ;;
1946   no)  build_kparts4=no ;;
1947   *)   AC_MSG_ERROR([bad value ${enableval} for --disable-kparts4 option]) ;;
1948 esac],build_kparts4=$build_qt4)
1950 if test x"${build_kparts4}" != xno; then
1951   GNASH_PATH_KDE4
1954 dnl -----------------------------------------------------------
1955 dnl Add NPAPI support, if specified or GTK or Qt4 gui is built
1956 dnl -----------------------------------------------------------
1958 AC_ARG_ENABLE(npapi,
1959   AC_HELP_STRING([--disable-npapi], [Disable NPAPI plugin build (default: enabled if gtk or Qt4 gui is)]),
1960   [case "${enableval}" in
1961     yes) npapi=yes ;;
1962     no)  npapi=no ;;
1963     *)   AC_MSG_ERROR([bad value ${enableval} for disable-npapi option]) ;;
1964   esac],
1965   if test x$build_gtk = xyes -o x$build_qt4 = xyes; then
1966     npapi=yes
1967   fi
1970 if test x"$npapi" = x"yes"; then
1971   GNASH_PATH_NPAPI
1974 dnl -----------------------------------------------------------------
1975 dnl Enable us to disable building all browser plugins in one command.
1976 dnl -----------------------------------------------------------------
1978 AC_ARG_ENABLE(plugins,
1979   AC_HELP_STRING([--disable-plugins], [Disable all browser plugins from building (default=no)]),
1980   [case "${enableval}" in
1981     yes) plugins=yes ;;
1982     no)  plugins=no ;;
1983     *)   AC_MSG_ERROR([bad value ${enableval} for disable-plugins option]) ;;
1984   esac],
1985   plugins=yes
1987 if test x$plugins = xno; then
1988   npapi=no
1989   build_kparts3=no
1990   build_kparts4=no
1994 GNASH_PATH_FIREFOX
1996 dnl -----------------------------------------------------------------
1997 dnl END OF PLUGIN RELATED STUFF
1998 dnl -----------------------------------------------------------------
2000 AM_CONDITIONAL(LIRC, [test x$lirc_ext = xyes])
2002 AC_CHECK_HEADERS(endian.h machine/endian.h)
2003 AC_CHECK_HEADERS(malloc.h malloc/malloc.h)
2004 AC_CHECK_HEADERS(getopt.h)
2005 AC_CHECK_HEADERS(libgen.h)
2006 AC_CHECK_HEADERS(pwd.h)
2007 AC_CHECK_HEADERS(sys/utsname.h)
2008 AC_CHECK_HEADERS(signal.h)
2009 AC_CHECK_HEADERS(unistd.h)
2010 AC_CHECK_HEADERS(sys/time.h)
2011 AC_CHECK_HEADERS(ieeefp.h)
2012 AC_CHECK_LIB(bz2, BZ2_bzopen, [AC_SUBST(BZ2_LIBS, -lbz2)])
2013 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
2015 dnl X11 is needed for fltk (at least),
2016 dnl and probably for many other guis too ...
2017 dnl if ! test x$build_fb = xyes; then # <--- this is wrong as build_x is non-exclusive
2018 dnl AC_PATH_XTRA
2019 dnl AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
2020 dnl AC_CHECK_LIB(gmp, _gmp_get_memory_functions)
2021 GNASH_PATH_X11
2022 AC_CHECK_LIB(Xi, XInput_find_display)
2023 AC_CHECK_LIB(X11, XDisableAccessControl)
2024 dnl fi
2025 AM_CONDITIONAL(HAVE_X11, [test x${has_x11} = xyes])
2026 if test x${build_x11_device} = xyes -a  x${has_x11} = xyes; then
2027   AC_DEFINE(BUILD_X11_DEVICE, [1], [Build the X11 device])
2030 AC_CHECK_LIB(rt, shm_unlink)
2031 AC_CHECK_FUNCS(shm_open shm_unlink)
2033 dnl if test x$cross_compiling = xno; then
2034 AC_LANG_PUSH(C++)
2035 AC_MSG_CHECKING([to see if float formatting is broken])
2036 AC_RUN_IFELSE([
2037   AC_LANG_PROGRAM([#include <cmath>
2038     void testFloat(double d, double& s)
2039     {
2040         d /= 1000.0;
2041         s = std::fmod(d, 86400.0);
2042     }], [
2043      double d = 3.0935415006117e+23;
2044      double s;
2045      testFloat(d, s);
2046      if (static_cast<int>(s) != 61440) {
2047          return 1;
2048      }])],                         dnl end of LANG_PROGRAM
2049      broken_float=no,              dnl returns 0, works
2050      broken_float=yes,             dnl returns 1, broken
2051      broken_float=no               dnl cross compiling
2052 )                                  dnl end of RUN_IFELSE
2053 AC_LANG_POP(C++)
2054 dnl fi
2056 if test x${broken_float} = xyes; then
2057   AC_MSG_RESULT([yes])
2058   AC_DEFINE(HAVE_BROKEN_FLOAT, [1], [Has broken float support])
2059 else
2060   AC_MSG_RESULT([no])
2062 AM_CONDITIONAL(BROKEN_FLOAT, [ test x$broken_float = xyes ])
2064 dnl See if ipc_perm structure has the ipc_perm.key field, and if so,
2065 dnl which variant of the name is used.
2066 ipc_key=no
2067 AC_TRY_COMPILE([
2068   #include <sys/ipc.h>
2069   #include <sys/shm.h>], [
2070  struct shmid_ds shmseg;      
2071  key_t x = shmseg.shm_perm.key;],
2072  ipc_key=yes
2073  AC_DEFINE(IPC_PERM_KEY, [key], [Has the key field in ipc_perm])
2076 if test x$ipc_key = xno; then
2077   AC_TRY_COMPILE([
2078     #include <sys/ipc.h>
2079     #include <sys/shm.h>], [
2080     struct shmid_ds shmseg;      
2081     key_t x = shmseg.shm_perm.__key;],
2082     AC_DEFINE(IPC_PERM_KEY, [__key], [Has the key field in ipc_perm])
2083     ipc_key=yes
2084   )
2087 AC_CACHE_CHECK([for finite], ac_cv_finite,
2088  [AC_TRY_COMPILE([
2089    #include <math.h>
2090    #ifdef HAVE_IEEEFP_H
2091    #include <ieeefp.h>
2092    #endif],
2093  [double x; int y; y = finite(x);],
2094  ac_cv_finite=yes,
2095  ac_cv_finite=no
2097 if test x"$ac_cv_finite" = x"yes"; then
2098   AC_SEARCH_LIBS(finite, m,
2099     [AC_DEFINE(HAVE_FINITE, [1], [Has finite])]
2100   )
2103 AC_LANG_PUSH(C++)
2104 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
2105  [AC_TRY_COMPILE([#include <cmath>],
2106  [using namespace std; double x; int y; y = isfinite(x);],
2107  ac_cv_isfinite=yes,
2108  ac_cv_isfinite=no
2110 AC_LANG_POP(C++)
2111 if test x"$ac_cv_isfinite" = x"yes"; then
2112   dnl Don't give up if isfinite is not found in -lm
2113   dnl isfinite is defined as a macro in C99.
2114   AC_SEARCH_LIBS(isfinite, m)
2115   AC_DEFINE(HAVE_ISFINITE, [1], [Has isfinite])
2118 AC_LANG_PUSH(C++)
2119 AC_CACHE_CHECK([whether $CXX implements __PRETTY_FUNCTION__], ac_cv_implements___PRETTY_FUNCTION__, [
2120   AC_TRY_LINK([#include <cstdio>
2121 ], 
2122     [ std::printf("%s", __PRETTY_FUNCTION__); ], 
2123     [ ac_cv_implements___PRETTY_FUNCTION__="yes" ],
2124     [ ac_cv_implements___PRETTY_FUNCTION__="no" ]
2125   )
2127 if test "x$ac_cv_implements___PRETTY_FUNCTION__" = "xyes" ; then
2128   AC_DEFINE(HAVE_PRETTY_FUNCTION, [1], [__PRETTY_FUNCTION__ is defined])
2131 AC_CACHE_CHECK([whether $CXX implements __FUNCTION__], ac_cv_implements___FUNCTION__, [
2132   AC_TRY_LINK([#include <cstdio>
2133 ], 
2134     [ std::printf("%s", __FUNCTION__); ], 
2135     [ ac_cv_implements___FUNCTION__="yes" ],
2136     [ ac_cv_implements___FUNCTION__="no" ]
2137   )
2139 if test "x$ac_cv_implements___FUNCTION__" = "xyes" ; then
2140   AC_DEFINE(HAVE_FUNCTION, [1], [__FUNCTION__ is defined])
2143 AC_CACHE_CHECK([whether $CXX implements __func__], ac_cv_implements___func__, [
2144   AC_TRY_LINK([#include <cstdio>
2145 ], 
2146     [ std::printf("%s", __func__); ], 
2147     [ ac_cv_implements___func__="yes" ],
2148     [ ac_cv_implements___func__="no" ]
2149   )
2151 if test "x$ac_cv_implements___func__" = "xyes" ; then
2152   AC_DEFINE(HAVE_func, [1], [__func__ is defined])
2154 AC_LANG_POP(C++)
2155 AC_REPLACE_FUNCS(getopt)
2157 dnl Date portability stuff, used in server/asobj/Date.cpp
2158 AC_CHECK_FUNCS(gettimeofday)
2159 AC_CHECK_FUNCS(ftime)
2160 AC_CHECK_FUNCS(tzset)
2161 AC_CHECK_FUNCS(localtime_r)
2163 AC_CACHE_CHECK([whether struct tm has tm_gmtoff], ac_cv_tm_gmtoff, [
2164         AC_TRY_LINK([
2165 /* ctime(1) says "The glibc version of struct tm has additional fields
2166  * defined  when _BSD_SOURCE was set before including <time.h>"
2167  * In practice, you do not need to define it yourself (tested on glibc-2.2.1 
2168  * and 2.3.6) but if you *do* define it yourself, it makes *all* functions
2169  * favour BSD-like behaviour over of GNU/POSIX, which seems dangerous.
2170  */
2171 // #define _BSD_SOURCE 1
2172 #include <time.h>
2173 ], 
2174                 [ struct tm tm; long l = tm.tm_gmtoff; ], 
2175                 [ ac_cv_tm_gmtoff="yes" ],
2176                 [ ac_cv_tm_gmtoff="no" ]
2177         )
2179 if test "x$ac_cv_tm_gmtoff" = "xyes" ; then
2180         AC_DEFINE(HAVE_TM_GMTOFF, [1], [struct tm has member tm_gmtoff])
2183 AC_CACHE_CHECK([whether timezone is a long], ac_cv_long_timezone, [
2184         AC_TRY_LINK([
2185 /* On Linux/glibc, tzset(3) says "extern long timezone;" (seconds West of GMT)
2186  * but on BSD char *timezone(int,int) is a function returning a string name.
2187  * The BSD function timegm() may be the equivalent, but this should
2188  * not be necessary because on BSD the code should use tm.tm_gmtoff instead
2189  * (use of long timezone is a fallback strategy for when tm_gmtoff exists not).
2190  */
2191 #include <stdio.h>
2192 #include <time.h>
2193 extern long timezone;
2194   ], 
2195     [ printf("%ld", timezone); ], 
2196     [ ac_cv_long_timezone="yes" ],
2197     [ ac_cv_long_timezone="no" ]
2198    )
2200 if test "x$ac_cv_long_timezone" = "xyes" ; then
2201   AC_DEFINE(HAVE_LONG_TIMEZONE, [1], [extern timezone is a long integer, not a function])
2204 AC_CHECK_FUNCS(sysconf)
2205 AC_CHECK_FUNCS(shmget shmat shmdt mmap)
2206 AC_CHECK_FUNCS(memmove)
2207 AC_CHECK_FUNCS(scandir)         dnl supported by BSD and Linux, but you never know...
2208 AC_CHECK_FUNC(clock_gettime, AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Has clock_gettime()] ))
2209 dnl Look for Win32 networking stuff
2210 AC_CHECK_HEADERS(winsock.h)
2211 AC_CHECK_HEADERS(winsock2.h)
2212 AC_CHECK_FUNCS(socket)
2213 AC_CHECK_FUNCS(CreateFileMappingA)
2215 GNASH_PKG_FIND(nspr, [nspr.h], [Netscape Portable Runtime (NSPR)], PR_Init)
2217 AC_PATH_TOOL(WINDRES, [windres])
2218 AC_SUBST(WINDRES)
2220 GNASH_PKG_FIND(z, [zlib.h], [zlib compression library], compress)
2221 GNASH_PKG_FIND(jpeg, [jpeglib.h], [jpeg images], jpeg_mem_init)
2222 GNASH_PKG_FIND(png, [png.h], [png images], png_info_init)
2223 GNASH_PKG_FIND(gif, [gif_lib.h], [gif images], DGifOpen)
2224 if test x"${GIF_LIBS}" = x ; then
2225  GNASH_PKG_FIND(ungif, [gif_lib.h], [gif images], DGifOpen)
2226  GIF_LIBS=${UNGIF_LIBS}
2227  GIF_CFLAGS=${UNGIF_CFLAGS}
2229 if test x"$testsuite" = x"yes"; then
2230   GNASH_PKG_INCLUDES([dejagnu], [dejagnu.h])
2233 GNASH_PKG_FIND(speex, [speex.h], [speex audio codec], speex_decode_int)
2234 AM_CONDITIONAL(HAVE_SPEEX, [ test x$has_speex = xyes ])
2235 if test x$has_speex = xyes ; then
2236   AC_DEFINE([DECODING_SPEEX], [1], [Speex codec available])
2239 GNASH_PKG_FIND(speexdsp, [speex_resampler.h], [speex DSP utilities], speex_resampler_process_int)
2240 if test x$has_speexdsp = xyes ; then
2241   AC_DEFINE([RESAMPLING_SPEEX], [1], [Speex resampler available])
2244 dnl Find freetype and fontconfig
2245 GNASH_PATH_FREETYPE2
2246 GNASH_PKG_FIND(fontconfig, [fontconfig/fontconfig.h], [fontconfig library], FcFontMatch)
2248 if test x$cross_compiling = xno; then
2249   AC_PATH_MING
2252 if test x"$MING_VERSION_CODE" = x; then
2253  MING_VERSION_CODE=00000000
2256 AM_CONDITIONAL(ENABLE_MING,
2257         [ test x"$MAKESWF" != x -a $MING_VERSION_CODE -gt 00040000 ])
2259 AM_CONDITIONAL(MING_VERSION_0_4,
2260         [ test $MING_VERSION_CODE -ge 00040000  ])
2261 AM_CONDITIONAL(MAKESWF_SUPPORTS_PREBUILT_CLIPS,
2262         [ test $MING_VERSION_CODE -ge 00040002  ])
2263 AM_CONDITIONAL(MING_SUPPORTS_INIT_ACTIONS,
2264         [ test $MING_VERSION_CODE -ge 00040004  ])
2265 AM_CONDITIONAL(MING_SUPPORTS_REPLACE_TAG,
2266         [ test $MING_VERSION_CODE -ge 00040005 ])
2267 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_ADD_CHARACTER,
2268         [ test $MING_VERSION_CODE -ge 00040005 ])
2269 AM_CONDITIONAL(MING_SUPPORTS_STREAMING_SOUND,
2270         [ test $MING_VERSION_CODE -ge 00040006 ])
2271 AM_CONDITIONAL(MING_SUPPORTS_SWFBUTTON_SET_DEPTH,
2272         [ test $MING_VERSION_CODE -ge 00040006 ])
2273 AM_CONDITIONAL(MING_VERSION_0_4_3,
2274         [ test $MING_VERSION_CODE -ge 00040300 ])
2275 AM_CONDITIONAL(MING_VERSION_0_4_4,
2276         [ test $MING_VERSION_CODE -ge 00040400 ])
2278 if test x$cross_compiling = xno; then
2279     AC_ARG_WITH([swfdec_testsuite],
2280         AC_HELP_STRING([--with-swfdec-testsuite],
2281             [directory where swfdec testsuite (the 'test' dir) is]),
2282         if test x"${withval}" = xyes; then
2283             dir=`dirname $0`
2284             dir=`cd ${dir} && pwd`
2285             withval="${dir}/testsuite/swfdec/src/test"
2286         fi
2287         SWFDEC_TESTSUITE=${withval}
2288     )
2289     AC_SUBST(SWFDEC_TESTSUITE)
2291 AM_CONDITIONAL(ENABLE_SWFDEC_TESTSUITE, [ test x"$SWFDEC_TESTSUITE" != x ])
2293 if test x$cross_compiling = xno; then
2294   AC_ARG_ENABLE([http_testsuite],
2295       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2296           AC_HELP_STRING([--enable-http-testsuite=<baseurl>],
2297                   [Enable http based testsuite (default url is http://www.gnashdev.org/testcases)]),
2298               [case "${enableval}" in
2299              no) HTTP_TESTSUITE="" ;;
2300             yes) HTTP_TESTSUITE="http://www.gnashdev.org/testcases" ;;
2301               *) HTTP_TESTSUITE="${enableval}";;
2302            esac])
2303   AC_SUBST(HTTP_TESTSUITE)
2305 AM_CONDITIONAL(ENABLE_HTTP_TESTSUITE, [ test x"$HTTP_TESTSUITE" != x ])
2307 if test x$cross_compiling = xno; then
2308   AC_ARG_ENABLE([red5_testing],
2309       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2310           AC_HELP_STRING([--enable-red5-testing=<host>],
2311                   [Enable red5 based testing (default host is www.gnashdev.org)]),
2312               [case "${enableval}" in
2313              no) RED5_HOST="" ;;
2314             yes) RED5_HOST="www.gnashdev.org" ;;
2315               *) RED5_HOST="${enableval}";;
2316            esac])
2317   AC_SUBST(RED5_HOST)
2319 AM_CONDITIONAL(ENABLE_RED5_TESTING, [ test x"$RED5_HOST" != x ])
2321 if test x$cross_compiling = xno; then
2322   AC_ARG_ENABLE([rtmpy_testing],
2323       dnl # TODO: find out how to add [quotes] around '=<baseurl>'
2324           AC_HELP_STRING([--enable-rtmpy-testing=<host>],
2325                   [Enable rtmpy based testing (default host is www.gnashdev.org)]),
2326               [case "${enableval}" in
2327              no) RTMPY_HOST="" ;;
2328             yes) RTMPY_HOST="gnash.keybit.net" ;;
2329               *) RTMPY_HOST="${enableval}";;
2330            esac])
2331   AC_SUBST(RTMPY_HOST)
2333 AM_CONDITIONAL(ENABLE_RTMPY_TESTING, [ test x"$RTMPY_HOST" != x ])
2335 dnl The name might differ between systems.
2336 if test x"$testsuite" = x"yes"; then
2337 AC_PATH_PROGS(NETCAT, [nc netcat])
2338 AC_PATH_PROG(WGET, wget)
2340 AM_CONDITIONAL(HAS_NETCAT, [ test x"$NETCAT" != x ])
2341 AM_CONDITIONAL(HAS_WGET, [ test x"$WGET" != x ])
2344 dnl See if we can use the swfmill, mtasc, swfc and haxe based testsuites 
2346 if test x"$testsuite" = x"yes" -a x$cross_compiling = xno; then
2347   AC_PATH_PROG(AS3COMPILE, as3compile)
2348   AC_PATH_PROG(SWFC, swfc)
2349   AC_PATH_SWFMILL
2350   AC_PATH_MTASC
2351   AC_PATH_HAXE
2354 AM_CONDITIONAL(ENABLE_SWFMILL, [ test x"$SWFMILL" != x ])
2355 AM_CONDITIONAL(SWFMILL_AS3_SUPPORT,
2356         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2358 dnl SWFMILL versions older than 0.3 didn't get function2 flags order correctly
2359 AM_CONDITIONAL(SWFMILL_FUNCTION2_FLAGS_ORDER_CORRECT,
2360         [ test x"$SWFMILL" != x && test $SWFMILL_VERSION -ge 00021206 ])
2362 AM_CONDITIONAL(ENABLE_AS3COMPILE, [ test x"$AS3COMPILE" != x ])
2363 AM_CONDITIONAL(ENABLE_MTASC, [ test x"$MTASC" != x ])
2364 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2365 AM_CONDITIONAL(ENABLE_SWFC, [ test x"$SWFC" != x ])
2366 AM_CONDITIONAL(ENABLE_HAXE, [ test x"$HAXE" != x ])
2368 AC_PATH_PROG(DOXYGEN, doxygen)
2369 AM_CONDITIONAL(ENABLE_DOXYGEN, [ test x"$DOXYGEN" != x ])
2371 AM_CONDITIONAL(HAVE_KDE3,    [test x$has_kde3 = xyes])
2372 AM_CONDITIONAL(HAVE_KDE4,    [test x$has_kde4 = xyes])
2373 AM_CONDITIONAL(HAVE_QT3,     [test x$has_qt3 = xyes])
2374 AM_CONDITIONAL(HAVE_QT4,     [test x$has_qt4 = xyes])
2376 AM_CONDITIONAL([QT_X11],     [test "$platform" = "X11"])
2377 AM_CONDITIONAL([QTOPIA],     [test "$platform" = "Qtopia"])
2378 AM_CONDITIONAL([QT_OSX],     [test "$platform" = "OSX"])
2379 AM_CONDITIONAL([QT_OS9],     [test "$platform" = "OS9"])
2380 AM_CONDITIONAL([QT_WIN32],   [test "$platform" = "Win32"])
2382 dnl Need GLIB for both GTK and GST
2383 if test x"${build_gtk}" = xyes -o x"${build_media_gst}" = xyes; then
2384   GNASH_PATH_GLIB
2387 AM_CONDITIONAL(HAVE_GLIB, [ test x"${has_glib}" = xyes ])
2389 if test x$npapi = xyes; then
2390   if ! test x$build_gtk = xyes -o x$build_qt4 = xyes; then
2391     AC_MSG_WARN(["Enabled NPAPI plugin, but it's not supported by the selected GUI"])
2392   fi
2395 if test x$windows = xyes -a x$npapi = xyes; then
2396   if test "x$NSPR_CFLAGS" = x -a "x$NSPR_LIBS" = x; then
2397     AC_MSG_ERROR(["On Win32, NPAPI plugin requires NSPR."])
2398   fi
2399   if test "x$WINDRES" = x; then
2400     AC_MSG_ERROR(["On Win32, NPAPI plugin requires windres."])
2401   fi
2404 dnl Need GLIB for NPAPI plugin
2405 if test x$npapi = xyes; then
2406   GNASH_PATH_GLIB
2409 dnl if kde isn't installed, even if it's specified, don't try to build
2410 dnl the KPARTS plugin, which is KDE based.
2411 if test x$has_kde3 = xno -a x$build_kparts3 = xyes; then
2412   build_kparts3=no
2413   AC_MSG_WARN(["Disabling KPARTS 3.x plugin, no KDE development found"])
2416 if test x$build_kde3 = xno -a x$build_kparts3 = xyes; then
2417   AC_MSG_WARN(["Enabled KPARTS 3.x plugin, but you aren't building a KDE based GUI!"])
2419 if test x$has_kde4 = xno -a x$build_kparts4 = xyes; then
2420   build_kparts4=no
2421   AC_MSG_WARN(["Disabling KPARTS 4.x plugin, no KDE 4.x development found"])
2424 if test x$build_qt4 = xno -a x$kparts4 = xyes; then
2425   AC_MSG_WARN(["Enabled KPARTS 4.x plugin, but you aren't building a KDE 4.x based GUI!"])
2428 AM_CONDITIONAL(BUILD_QTOPIA3_GUI,  [ test x$build_qtopia3 = xyes ])
2429 AM_CONDITIONAL(BUILD_QTOPIA4_GUI,  [ test x$build_qtopia4 = xyes ])
2431 AM_CONDITIONAL(BUILD_KDE3_GUI,     [ test x$build_kde3 = xyes ])
2432 AM_CONDITIONAL(BUILD_QT4_GUI,     [ test x$build_qt4 = xyes ])
2434 AM_CONDITIONAL(BUILD_GTK_GUI,      [ test x$build_gtk = xyes ])
2435 AM_CONDITIONAL(BUILD_FLTK_GUI,     [ test x$build_fltk = xyes ])
2436 AM_CONDITIONAL(BUILD_SDL_GUI,      [ test x$build_sdl = xyes ])
2437 AM_CONDITIONAL(BUILD_FB_GUI,       [ test x$build_fb = xyes ])
2438 AM_CONDITIONAL(BUILD_AQUA_GUI,     [ test x$build_aqua = xyes ])
2439 AM_CONDITIONAL(BUILD_DUMP_GUI,     [ test x$build_dump = xyes ])
2440 AM_CONDITIONAL(BUILD_AMIGAOS4_GUI, [ test x$build_aos4 = xyes ])
2441 AM_CONDITIONAL(BUILD_HAIKU_GUI,    [ test x$build_haiku = xyes ])
2443 # plugin building flags
2444 AM_CONDITIONAL(NPAPI,   [test x"${npapi}" = xyes])
2445 AM_CONDITIONAL(KPARTS3, [test x"${build_kparts3}" = xyes])
2446 AM_CONDITIONAL(KPARTS4, [test x"${build_kparts4}" = xyes])
2448 if test x"${build_gles1}"; then
2449   GNASH_PATH_GLES
2452 dnl The OpenGLES1, OpenGLES2, and OpenVG all need the EGL support, X11 can use it also
2453 dnl TODO: move this at the bottom ?
2454 if test x"${build_gles1}" = xyes -o x"${build_ovg}" = xyes; then
2455   if test x"${build_egl_device}" != xyes; then
2456     AC_MSG_ERROR(["OpenGLES1 and OpenVG both need EGL support. See --enable-device."])
2457     build_egl_device=yes
2458   fi
2461 dnl only Linux supports /dev/fb0
2462 if test x"${build_rawfb_device}" = xyes -a x"${linux}" = xyes; then
2463    AC_DEFINE([BUILD_RAWFB_DEVICE], [1], [Use raw Framebuffer device support])
2466 if test x"${build_directfb_device}" = xyes; then
2467    GNASH_PKG_FIND(directfb, [directfb.h], [DirectFB render library], DirectFBCreate)
2468    AC_DEFINE([BUILD_DIRECTFB_DEVICE], [1], [Use DirectFB device support])
2471 AM_CONDITIONAL(BUILD_VAAPI_DEVICE, [test x"${use_libva}" = xyes])
2472 AM_CONDITIONAL(BUILD_EGL_DEVICE, [test x"${build_egl_device}" = xyes])
2473 AM_CONDITIONAL(BUILD_DIRECTFB_DEVICE, [ test x${build_directfb_device} = xyes])
2474 AM_CONDITIONAL(BUILD_RAWFB_DEVICE, [ test x${build_rawfb_device} = xyes])
2475 AM_CONDITIONAL(BUILD_X11_DEVICE, [test x${build_x11_device} = xyes])
2477 if test x"${build_ovg}" = xyes; then
2478   GNASH_PATH_OPENVG
2481 if test x"${build_gtk}" = xyes; then
2482   AC_ARG_ENABLE(ghelp,
2483     AC_HELP_STRING([--enable-ghelp], [Enable support for the GNOME help system]),
2484     [case "${enableval}" in
2485       yes) ghelp=yes ;;
2486       no)  ghelp=no ;;
2487       *)   AC_MSG_ERROR([bad value ${enableval} for enable-ghelp option]) ;;
2488     esac], ghelp=no
2489   )
2491   if test x"${ghelp}" = x"yes" ; then
2492     AC_PATH_PROG(SCROLLKEEPER, scrollkeeper-config, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2493     AC_PATH_PROG(SCROLLUPDATE, scrollkeeper-update, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2494     AC_PATH_PROG(SCROLLINSTALL, scrollkeeper-preinstall, [], [$PATH:/usr/bin/X11:/usr/local/bin/X11:/opt/X11])
2496     if test x"$SCROLLKEEPER" = x -o x"$SCROLLUPDATE" = x -o x"$SCROLLINSTALL" = x ; then
2497       ghelp=no
2498       AC_MSG_WARN([You need to install scrollkeeper for gnome help])
2499     fi
2500   fi
2502 AM_CONDITIONAL(GHELP, [test x${ghelp} = xyes])
2504 if test x${build_fltk} = xyes; then
2505   GNASH_PKG_FIND(Xft, [Xft.h], [xft library], XftGlyphRender)
2508 dnl Some systems have a pervered set of dependencies.
2509 dnl Fedora Core 6 appears to have a dependency on expat for fontconfig.
2510 dnl We only need the library, but this is the easy wind to find it.
2511 GNASH_PKG_FIND(expat, [expat.h], [Expat library], XML_ErrorString)
2513 dnl these conditionals were moved out of kde.m4
2514 AM_CONDITIONAL(HAS_KDE3, [test x$has_kde3 = xyes])
2515 # used to disable x11-specific stuff on special platforms
2516 AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
2517 AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
2518 AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2520 AM_CONDITIONAL(HAVE_GLEXT, [test x$glext = xyes])
2522 dnl We don't have GTKGLExt, so default to SDL, and don't build the Firefox plugin
2523 if test x$glext = xno -a x$build_ogl = xyes; then
2524   if test x$gtk2 = xyes -a x$build_gtk = xyes; then
2525     AC_ERROR([You have GTK installed, but not GtkGLExt. You need GtkGLExt to use the OpenGL renderer. Attempting to build SDL version])
2526   fi
2527   gui=sdl
2528   npapi=no
2529   AC_MSG_WARN([GTK2 specified for the GUI, but GtkGlExt is not present. Trying SDL instead.])
2532 missing_codecs=""
2533 if test x"$build_media_gst" = "xyes"; then
2534   AC_PATH_PROG(GST_INSPECT, gst-inspect, ,[${pathlist}])
2535   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2536     AC_PATH_PROG(GST_INSPECT, gst-inspect-0.10, ,[${pathlist}])
2537   fi
2538   if test "x$GST_INSPECT" != "x" -a x"${darwin}" = xno ; then
2539     dnl FIXME: there may be multiple acceptable plugins that are acceptable for
2540     dnl our use. For example, mad or FFmpeg will play mp3.
2541     codecs="ffdec_flv ffdec_flashsv ffdec_vp6f ffdec_flashsv mad vorbisdec ffdec_vp6"
2542     for i in $codecs; do
2543        hits="`$GST_INSPECT $i | grep -c 'Long name'`"
2544        if test $hits -eq 0; then
2545          missing_codecs="$missing_codecs $i"
2546          AC_MSG_WARN([Missing codec: $i])
2547        fi
2548     done
2549   fi
2550   GNASH_PKG_FIND(gstreamer_plugins_base, [gst/interfaces/probeprobe.h], [gstreamer interfaces library], gst_property_probe_probe_and_get_values_name, [0.10])
2551   GNASH_PKG_FIND(gstreamer_app, [gst/app/gstappsink.h], [gstreamer app library], call_gmon_start, [0.10])
2552   GNASH_PKG_FIND(gstreamer, [gst/gst.h], [gstreamer library], gst_init, [0.10])
2553   dnl if cross compiling, we're usually not going to be able to pop up
2554   dnl the codec installer to download the package to install, so disable
2555   dnl it if cross compiling with gstreamer support.
2556   if test x$cross_compiling = xno; then
2557     GNASH_PKG_FIND(gstreamer_pbutils, [gst/pbutils/install-plugins.h], [gstreamer PB Utils library], gst_install_plugins_supported, [0.10])
2558   fi
2559   dnl when cross compiling Gstreamer, not all supplied SDKs include all the
2560   dnl development libraries since most devices don't need to support plugin
2561   dnl development, only the runtime. In these caes we often have the header
2562   dnl files but not the libraries.
2563   if test x"${has_gstreamer_plugins_base}" = xyes; then
2564     GSTREAMER_LIBS="-lgstinterfaces-0.10 $GSTREAMER_LIBS"
2565     AC_DEFINE(HAS_GSTREAMER_PLUGINS_BASE, [1], [Has the Gstreamer Plugin Dev package installed])
2566   fi
2569 AM_CONDITIONAL(HAVE_CAIRO, [true])
2570 AM_CONDITIONAL(HAVE_OPENGL, [true])
2572 AM_CONDITIONAL(USE_SOUND_SDL, test x$build_sound_sdl = xyes)
2573 AM_CONDITIONAL(USE_SOUND_AHI, test x$build_sound_ahi = xyes)
2574 AM_CONDITIONAL(USE_SOUND_MKIT, test x$build_sound_mkit = xyes)
2575 AM_CONDITIONAL(USE_FFMPEG_ENGINE, test x"${build_media_ffmpeg}" = x"yes")
2576 AM_CONDITIONAL(USE_GST_ENGINE, test x"${build_media_gst}" = x"yes")
2577 AM_CONDITIONAL(HAVE_OPENGL, test x"${OPENGL_LIBS}" != x)
2578 dnl for now the Haiku media handler is experimental
2579 AM_CONDITIONAL(USE_HAIKU_ENGINE, test x"$build_media_haiku" = xyes)
2581 if test x"${build_media_ffmpeg}" = x"yes"; then
2582   AC_DEFINE([ENABLE_FFMPEG_MEDIA],  [1], [Use FFmpeg for media decoding])
2585 if test x"${build_media_gst}" = x"yes"; then
2586   AC_DEFINE([ENABLE_GST_MEDIA],  [1], [Use gstreamer for media decoding])
2589 if test x"${build_media_haiku}" = x"yes"; then
2590   AC_DEFINE([ENABLE_HAIKU_MEDIA],  [1], [Use haiku for media decoding])
2593 if test x$build_sound_mkit = xyes; then
2594   if test x"${haiku}" != xyes; then
2595     AC_MSG_ERROR([Media Kit sound handling is supported only under Haiku]);
2596   else
2597     AC_DEFINE([SOUND_MKIT],  [1], [Use Haiku Media Kit for sound handling])
2598   fi
2601 if test x"${build_sound_sdl}" = xyes; then
2602   AC_DEFINE([SOUND_SDL],  [1], [Use SDL for sound handling])
2605 if test x"${build_sound_ahi}" = xyes; then
2606   if test x"$amigaos4" != xyes; then
2607     AC_MSG_ERROR([AHI sound handling is supported only under AmigaOS]);
2608   else
2609     AC_DEFINE([SOUND_AHI],  [1], [Use AmigaOS AHI for sound handling])
2610   fi
2613 if test x$build_fltk = xyes; then
2614   GNASH_PKG_FIND(fltk2, [fltk/FL_API.h], [Fast Light Toolkit], fl_window_flush)
2615   if test x"${has_fltk2}" = xyes; then
2616     AC_CHECK_LIB(Xi, XInput_find_display,
2617       [AC_SUBST(FLTK2_LIBS, "$FLTK2_LIBS -lXi")])
2618   fi
2621 AM_CONDITIONAL(HAVE_FLTK2, [ test x$has_fltk2 = xyes ])
2622 AM_CONDITIONAL(HAS_XFT, [ test x$has_xft = xyes ])
2624 GNASH_DOCBOOK
2625 AM_CONDITIONAL(ENABLE_INFO, test x${INSTALL_INFO} != x)
2626 AM_CONDITIONAL(DOCBOOK, test x$docbook = xyes)
2627 AM_CONDITIONAL(ENABLE_TEXI, [ test x"$DB2X_TEXI" != x -o x"$DB2X_TEXIXML" != x ])
2628 AM_CONDITIONAL(ENABLE_PDF, [ test x"$DB2X_PDF" ])
2629 AM_CONDITIONAL(ENABLE_HTML, [ test x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2630 AM_CONDITIONAL(ENABLE_FOP, [ test x"$FOP" != x -a x"$docbook_styles" != x ])
2631 AM_CONDITIONAL(ENABLE_XMLTEX, [ test x"$PDFXMLTEX" != x -a x"$XSLTPROC" != x -a x"$docbook_styles" != x ])
2632 AM_CONDITIONAL(ENABLE_MAN, [ test x"$DB2X_MAN" != x -o x"$DB2X_MANXML" != x ])
2633 AM_CONDITIONAL(HAVE_AGG, [test x"${AGG_LIBS}" != x])
2635 GNASH_PATH_CURL
2637 dnl Define winsock if we're on windows. We could do something complicated,
2638 dnl but since AC_EXEEXT does it for us, we'll do this the easy way.
2639 if test x"$EXEEXT" = "exe"; then
2640   AC_DEFINE(HAVE_WINSOCK,1,[This is defined is we are on Win32])
2643 dnl ****************************************
2644 dnl *** Check for ELF visibility support ***
2645 dnl ****************************************
2647 AC_ARG_ENABLE([visibility],
2648   AC_HELP_STRING([--enable-visibility], [Use ELF visibility attributes]), [], [enable_visibility=no])
2650 if test x"$enable_visibility" != x"no"; then
2651   dnl Check whether the compiler supports the visibility attribute
2652   save_CFLAGS="$CFLAGS"
2653   CFLAGS="$CFLAGS -Wall -Werror"
2654   AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
2655   AC_COMPILE_IFELSE([AC_LANG_SOURCE(
2656     [
2657       void __attribute__ ((visibility("default"))) test_default (void) {}
2658       void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
2659       int main (int argc, char **argv) { test_default (); test_hidden (); return 0; }
2660     ])],
2661     [
2662       AC_DEFINE([HAVE_GNUC_VISIBILITY], [1], [Define this for GCC-visibility.])
2663       AC_MSG_RESULT([yes])
2664     ],
2665     [
2666       AC_MSG_RESULT([no])
2667     ]
2668   )
2669   CFLAGS="$save_CFLAGS"
2672 AC_ARG_ENABLE([pch],
2673   AC_HELP_STRING([--enable-pch], [Enable precompiled header support]), [], [enable_pch=no])
2675 AM_CONDITIONAL([ENABLE_PCH], [test x"$enable_pch" != x"no"])
2677 PCH_FLAGS="-include all-includes.h -Winvalid-pch"
2678 AC_SUBST(PCH_FLAGS)
2680 GNASH_PATH_PTHREADS
2682 GNASH_PATH_BOOST
2684 AC_ARG_ENABLE([strict],
2685   AC_HELP_STRING([--enable-strict],[Accept only standards compliant code (GCC only)]),
2686   [case "${enableval}" in
2687     yes) strict=yes ;;
2688     no) strict=no ;;
2689     *) AC_MSG_ERROR([bad value ${enableval} for --enable-strict option]) ;;
2690   esac],
2691   [strict=no]
2694 if test x"$strict" = x"yes" -a x$build_agg = xyes; then
2695    AC_MSG_ERROR([agg renderer will fail with --enable-strict.]);        
2698 # We want warnings, lots of warnings  :-)
2699 # It should be possible to build with -ansi, not with
2700 # -pedantic because of agg.
2702 # -ansi was actually dropped because it hides 'fileno', which
2703 # is used in a few places
2705 if test x"$GCC" = x"yes"; then
2706   CXXFLAGS="$CXXFLAGS \
2707     $CROSS_CXXFLAGS \
2708     -W \
2709     -Wall \
2710     -Wcast-align \
2711     -Wcast-qual \
2712     -Wpointer-arith \
2713     -Wreturn-type \
2714     -Wnon-virtual-dtor \
2715     -Wunused \
2716     "
2717   CFLAGS="$CFLAGS \
2718     $CROSS_CXXFLAGS \
2719     -W \
2720     -Wall \
2721     -Wcast-align \
2722     -Wcast-qual \
2723     -Wpointer-arith \
2724     -Wreturn-type \
2725     -Wmissing-declarations \
2726     -Wmissing-prototypes \
2727     -Wstrict-prototypes \
2728     "
2729   if test x"$strict" = x"yes"; then
2730     CXXFLAGS="$CXXFLAGS \
2731       -Wextra \   
2732       -pedantic \
2733       -Wno-long-long \
2734       "
2736     CFLAGS="$CFLAGS \
2737       -pedantic \
2738       -Wno-long-long \
2739       -ansi \
2740       "
2741   fi
2744 AC_ARG_ENABLE([cassert],
2745   AC_HELP_STRING([--disable-cassert],[Disable assertion checking]),
2746   [case "${enableval}" in
2747     yes) cassert=yes ;;
2748     no) cassert=no ;;
2749     *) AC_MSG_ERROR([bad value ${enableval} for --enable-cassert option]) ;;
2750   esac],
2751   [cassert=yes]
2754 if test x"$cassert" = x"no"; then
2755     CXXFLAGS="$CXXFLAGS \
2756       -DNDEBUG \
2757       "
2758     CFLAGS="$CFLAGS \
2759       -DNDEBUG \
2760       "
2763 dnl /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
2764 AC_DEFUN([CHECK_VISIBILITY_GCC_BUG],
2765   [
2766     AC_CACHE_CHECK([if -fvisibility-inlines-hidden is broken], ac_cv_gcc_visibility_bug, [
2767         AC_LANG_PUSH(C++)
2768         save_CXXFLAGS=$CXXFLAGS
2769         save_LDFLAGS=$LDFLAGS
2770         CXXFLAGS="-fPIC -fvisibility-inlines-hidden -O0"
2771         LDFLAGS="$LDFLAGS -shared -fPIC"
2773         AC_TRY_LINK(
2774         [          
2775           template<typename CharT>
2776           struct VisTest
2777           {
2778             inline VisTest ();
2779           };
2780           template<typename CharT>
2781           inline VisTest<CharT>::VisTest()
2782         {}
2783         extern template class VisTest<char>;  // It works if we drop that line
2784         int some_function( int do_something ) __attribute__((visibility("default")));
2785         int some_function( int )
2786           {
2787             VisTest<char> a;
2788             return 0;
2789           }
2790         ], [],
2791         ac_cv_gcc_visibility_bug=no, ac_cv_gcc_visibility_bug=yes)
2793         CXXFLAGS=$save_CXXFLAGS
2794         LDFLAGS=$save_LDFLAGS
2795         AC_LANG_POP(C++)
2796       ]
2797     )
2798     if test x$ac_cv_gcc_visibility_bug = xno; then
2799       CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
2800     fi
2801   ]
2804 CHECK_VISIBILITY_GCC_BUG
2806 if test x$ac_cv_gcc_visibility_bug = xno; then
2807   AC_LANG_PUSH(C++)
2808   AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden])
2809   save_CXXFLAGS=$CXXFLAGS
2810   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2811   AC_LINK_IFELSE([AC_LANG_PROGRAM()], 
2812                  [ac_cv_gcc_visibility=yes;
2813                   AC_MSG_RESULT([yes])],
2814                  [ac_cv_gcc_visibility=no;
2815                   AC_MSG_RESULT([no])]);
2816   CXXFLAGS="$save_CXXFLAGS"
2817   AC_LANG_POP(C++)
2821 AM_CONDITIONAL(VISIBILITY_WORKS, test x"$ac_cv_gcc_visibility" = xyes)
2823 if test x"$ac_cv_gcc_visibility" = xyes -a x"$enable_visibility" != xno; then
2824   CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
2827 dnl Define convenience constants so Gnash can print out the
2828 dnl default configuration of the build.
2829 RENDERER_CONFIG="${renderer_list}"
2830 RENDERER_LIBS=
2831 for rend in `echo "${add_renderer}" | tr ',' ' '`; do
2832         RENDERER_LIBS="${RENDERER_LIBS} \$(top_builddir)/librender/libgnash${rend}.la"
2833 done
2834 AC_SUBST(RENDERER_LIBS)
2835 AC_SUBST(RENDERER_CONFIG)
2837 HWACCEL_CONFIG="${device_list}"
2838 AC_SUBST(HWACCEL_CONFIG)
2840 dnl check for missing libraries and disable them.
2841 if test x"$BOOST_LIBS" != x; then
2842   if test x"${cygnal_missing_libs}" != x; then
2843     for i in ${cygnal_missing_libs}; do
2844       if test $i = serialization; then
2845         AC_DEFINE([BOOST_MULTI_INDEX_DISABLE_SERIALIZATION], ["1"], [if the library is missing, don't use it.])
2846       fi
2847     done
2848   fi
2851 CYGNAL_PATHS
2853 SUPPORTED_GUIS=
2854 if test x$build_qtopia3 = xyes; then
2855   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia3"
2857 if test x$build_qtopia4 = xyes; then
2858   SUPPORTED_GUIS="${SUPPORTED_GUIS},qtopia4"
2860 if test x$build_fb = xyes; then
2861   SUPPORTED_GUIS="${SUPPORTED_GUIS},fb"
2863 if test x$build_fltk = xyes; then
2864   SUPPORTED_GUIS="${SUPPORTED_GUIS},fltk"
2866 if test x$build_kde3 = xyes; then
2867   SUPPORTED_GUIS="${SUPPORTED_GUIS},kde3"
2869 if test x$build_qt4 = xyes; then
2870   SUPPORTED_GUIS="${SUPPORTED_GUIS},qt4"
2872 if test x$build_gtk = xyes; then
2873   SUPPORTED_GUIS="${SUPPORTED_GUIS},gtk"
2875 if test x$build_sdl = xyes; then
2876   SUPPORTED_GUIS="${SUPPORTED_GUIS},sdl"
2878 if test x$build_aqua = xyes; then
2879   SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
2881 if test x$build_dump = xyes; then
2882   SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
2884 if test x$build_aos4 = xyes; then
2885   SUPPORTED_GUIS="${SUPPORTED_GUIS},aos4"
2887 if test x$build_haiku = xyes; then
2888   SUPPORTED_GUIS="${SUPPORTED_GUIS},haiku"
2890 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
2891 AC_SUBST(SUPPORTED_GUIS)
2893 AC_CONFIG_LINKS(cygnal/testsuite/cygnal.all/cygnalrc:cygnal/testsuite/cygnal.all/cygnalrc.in)
2894 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc:testsuite/libbase.all/gnashrc.in)
2895 AC_CONFIG_LINKS(testsuite/libbase.all/gnashrc-local:testsuite/libbase.all/gnashrc-local.in)
2897 AC_CONFIG_FILES(
2898 gnash.pc:gnash.pc.in
2899 desktop/gnash-gtk-launcher:desktop/gnash-gtk-launcher.in
2900 desktop/gnash-qt-launcher:desktop/gnash-qt-launcher.in
2903 AC_OUTPUT(Makefile
2904 desktop/Makefile
2905 po/Makefile
2906 libmedia/Makefile
2907 libsound/Makefile
2908 libbase/Makefile
2909 libcore/Makefile
2910 libcore/vm/Makefile
2911 libcore/parser/Makefile
2912 librender/Makefile
2913 utilities/Makefile
2914 doc/Makefile
2915 doc/C/Makefile
2916 doc/Doxyfile
2917 testsuite/Makefile
2918 testsuite/media/Makefile
2919 testsuite/libbase.all/Makefile
2920 testsuite/as3compile.all/Makefile
2921 testsuite/actionscript.all/Makefile
2922 testsuite/samples/Makefile
2923 testsuite/swfdec/Makefile
2924 testsuite/misc-ming.all/Makefile
2925 testsuite/misc-ming.all/action_order/Makefile
2926 testsuite/misc-ming.all/displaylist_depths/Makefile
2927 testsuite/misc-ming.all/loop/Makefile
2928 testsuite/misc-ming.all/loading/Makefile
2929 testsuite/misc-mtasc.all/Makefile
2930 testsuite/misc-haxe.all/Makefile
2931 testsuite/misc-haxe.all/classes.all/Makefile
2932 testsuite/misc-swfmill.all/Makefile
2933 testsuite/misc-swfmill.all/trace-as2/Makefile
2934 testsuite/misc-swfmill.all/trace-as3/Makefile
2935 testsuite/misc-swfc.all/Makefile
2936 testsuite/network.all/Makefile
2937 testsuite/movies.all/Makefile
2938 testsuite/libcore.all/Makefile
2939 testsuite/libmedia.all/Makefile
2940 gui/Makefile
2941 gui/Info.plist
2942 gui/pythonmod/Makefile
2943 extensions/Makefile
2944 extensions/dejagnu/Makefile
2945 extensions/mysql/Makefile
2946 extensions/fileio/Makefile
2947 extensions/gtk2/Makefile
2948 extensions/lirc/Makefile
2949 extensions/dbus/Makefile
2950 plugin/Makefile
2951 plugin/npapi/Makefile
2952 plugin/klash/Makefile
2953 plugin/klash4/Makefile
2954 plugin/win32/Makefile
2955 plugin/aos4/Makefile
2959 ########################## Final report begins... ############################
2962 dnl Create temporary directory in a secure way
2963 tmp=`mktemp -d ${TMPDIR=/tmp}/gnash-configure-XXXXXX`
2964 if test \! -n "$tmp" || test \! -d "$tmp"; then
2965   tmp=`(umask 077 && mkdir -d ${TMPDIR=/tmp}/gnash-configure-${RANDOM}-$$) 2>/dev/null`
2967 cerr=${tmp}/errors
2968 cwarn=${tmp}/warnings
2969 crec=${tmp}/recommended
2970 echo ""
2972 #trap 'rm cerr' 0 # trap isn't a good idea, might override other traps
2973 exec 3> $cerr 
2974 exec 4> $cwarn
2975 exec 5> $crec
2977 echo "Configurable options are:"
2979 if test x"${pthreads}" = x"yes"; then
2980   echo "        POSIX Threads support enabled (default)"
2981 else
2982   if test x"${build_haiku}" = x"yes"; then
2983      echo "        POSIX Thread support built into C library."
2984   els
2985      echo "        POSIX Thread support disabled."
2986   fi
2989 if test x"${npapi}" = x"yes"; then
2990   echo "        NPAPI plugin enabled (default). Use --disable-npapi to disable."
2991   echo "            NPAPI plugin will be installed in ${FIREFOX_PLUGINS}"
2992 else
2993   echo "        NPAPI plugin disabled."
2996 if test x"${build_kparts3}" = x"yes"; then
2997   echo "        KPARTS 3.x plugin enabled (default). Use --disable-kparts3 to disable"
2998   echo "            KPARTS 3.x plugin will be installed in ${KDE3_PLUGINDIR}"
2999   echo "            KPARTS 3.x service will be installed in ${KDE3_SERVICESDIR}"
3000   echo "            KPARTS 3.x config dir will be in ${KDE3_CONFIGDIR}"
3001   echo "            KPARTS 3.x appsdata will be installed in ${KDE3_APPSDATADIR}"
3002 else
3003   echo "        KPARTS 3.x plugin disabled."
3006 if test x"${build_kparts4}" = x"yes"; then
3007   echo "        KPARTS 4.x plugin enabled (default). Use --disable-kparts4 to disable"
3008   echo "            KPARTS 4.x plugin will be installed in ${KDE4_PLUGINDIR}"
3009   echo "            KPARTS 4.x service will be installed in ${KDE4_SERVICESDIR}"
3010   echo "            KPARTS 4.x config dir will be in ${KDE4_CONFIGDIR}"
3011   echo "            KPARTS 4.x appsdata will be installed in ${KDE4_APPSDATADIR}"
3012 else
3013   echo "        KPARTS 4.x plugin disabled."
3016 # set a variable if we shouldn't continue. This way we can print
3017 # out everything that is missing in one pass, hopefully making it
3018 # easy for new developers to get everything they need installed.
3020 echo "Configured paths for ${build} are:"
3022 dnl Dump QT3 options is the user specified a QTOPIA3 or KDE3 GUI
3023 if test x"${build_kde3}" = xyes -o x"${build_qtopia3}" = xyes; then
3024   if test x"${has_qt3}" = xyes; then
3025     echo "        QT3 flags are: ${QT3_CFLAGS}"
3026     echo "        QT3 libs are: ${QT3_LIBS}"
3027   else
3028     echo "        ERROR: No QT 3.x development package installed!" >&3
3029     echo "               Install a QT 3.x development environment from http://trolltech.com" >&3
3030     echo "               or .deb users: apt-get install libqt3-mt-dev" >&3
3031     echo "               or change to a different gui with --enable-gui=..." >&3
3032   fi
3035 dnl Dump QT4 options is the user specified a QTOPIA4 or Qt4 GUI
3036 if test x"${build_qt4}" = xyes -o x"${build_qtopia4}" = xyes; then
3037   if test x"${has_qt4}" = xyes; then
3038     echo "        QT4 flags are: ${QT4_CFLAGS}"
3039     echo "        QT4 libs are: ${QT4_LIBS}"
3040   else
3041     echo "        ERROR: No QT 4.x development package installed!" >&3
3042     echo "               Install a QT 4.x development environment from http://trolltech.com" >&3
3043     echo "               or .deb users: apt-get install qt4-dev-tools" >&3
3044     echo "               or change to a different gui with --enable-gui=..." >&3
3045   fi
3048 if test x"${build_kparts4}" = xyes; then
3049   if test x"${has_kde4}" = xyes; then
3050     echo "        KDE4 flags are: ${KDE4_CFLAGS}"
3051     echo "        KDE4 libs are: ${KDE4_LIBS}"
3052   else
3053     echo "        kparts4 plugin is disabled"
3054     echo "               To enable the KDE 4.x gui," >&3
3055     echo "               install version 4.x of the KDE development environment" >&3
3056     echo "               from http://kde.org" >&3
3057     echo "               or .deb users: apt-get install kdelibs5-dev" >&3
3058     echo "               or .rpm users: yum install kdelibs-devel." >&3
3059   fi
3062 if test x"$build_qtopia3" = xyes; then
3063   if test x"${QTOPIA3_LIBS}" != x ; then
3064     if test x"${QTOPIA3_CFLAGS}" != x ; then
3065       echo "        QTOPIA 3.x flags are: $QTOPIA3_CFLAGS"
3066     else
3067       echo "        QTOPIA 3.x flags are: default include path"
3068     fi
3069     echo "        QTOPIA 3.x libs are: $QTOPIA3_LIBS"
3070   else
3071     echo "        ERROR: No QTOPIA 3.x library development package installed!" >&3
3072     echo "               Install it from http://trolltech.com/downloads/" >&3
3073     echo "               binary packages are not available." >&3
3074   fi
3077 if test x"$build_qtopia4" = xyes; then
3078   if test x"${QTOPIA4_LIBS}" != x ; then
3079     if test x"${QTOPIA4_CFLAGS}" != x ; then
3080       echo "        QTOPIA 4.x flags are: $QTOPIA4_CFLAGS"
3081     else
3082       echo "        QTOPIA 4.x flags are: default include path"
3083     fi
3084     echo "        QTOPIA 4.x libs are: $QTOPIA4_LIBS"
3085   else
3086     echo "        ERROR: No QTOPIA 4.x library development package installed!" >&3
3087     echo "               Install it from http://trolltech.com/downloads/" >&3
3088     echo "               binary packages are not available." >&3
3089   fi
3093 # -o x$build_kparts3 = xyes
3094 if test x$build_kde3 = xyes; then
3095   if test x"$has_kde3" = xyes; then
3096     echo "        KDE 3.x flags are: $KDE3_CFLAGS"
3097     echo "        KDE 3.x libs are: $KDE3_LIBS"
3098   else
3099       echo "        ERROR: No KDE 3.x development package installed!" >&3
3100       echo "               To disable the KDE 3.x gui," >&3
3101       echo "               reconfigure using --enable-gui=<list-of-guis>" >&3
3102       echo "               and omit "kde" from the list." >&3
3103       echo "               or avoid --enable-gui=... as a whole." >&3
3104       echo "               To be able to build the kde 3.x gui," >&3
3105       echo "               install version 3.x of the KDE development environment" >&3
3106       echo "               from http://kde.org" >&3
3107       echo "               or .deb users: apt-get install kdelibs4-dev" >&3
3108       echo "               or .rpm users: yum install kdelibs3-devel." >&3
3109   fi
3112 if test x"${JPEG_LIBS}" != x ; then
3113   if test x"${JPEG_CFLAGS}" != x ; then
3114     echo "        JPEG flags are: $JPEG_CFLAGS"
3115   else
3116     echo "        JPEG flags are: default include path"
3117   fi
3118   echo "        JPEG libs are: $JPEG_LIBS"
3119 else
3120   echo "        ERROR: No JPEG library development package installed!" >&3
3121   echo "               Install it from http://ijg.org" >&3
3122   echo "               or .deb users: apt-get install libjpeg-dev" >&3
3123   echo "               or .rpm users: yum install libjpeg-devel" >&3
3126 if test x"${GIF_LIBS}" != x ; then
3127   if test x"${GIF_CFLAGS}" != x ; then
3128     echo "        GIF flags are: $GIF_CFLAGS"
3129   else
3130     echo "        GIF flags are: default include path"
3131   fi
3132   echo "        GIF libs are: $GIF_LIBS"
3133 else
3134   echo "        ERROR: No GIF library development package installed!" >&3
3135   echo "               Install it from http://sourceforge.net/projects/giflib/" >&3
3136   echo "               or .deb users: apt-get install libungif-dev" >&3
3137   echo "               or maybe     : apt-get install libgif-dev" >&3
3138   echo "               or .rpm users: yum install libungif-devel" >&3
3141 if test x"${PNG_LIBS}" != x ; then
3142   if test x"${PNG_CFLAGS}" != x ; then
3143     echo "        PNG flags are: $PNG_CFLAGS"
3144   else
3145     echo "        PNG flags are: default include path"
3146   fi
3147   echo "        PNG libs are: $PNG_LIBS"
3148 else
3149   echo "        RECOMMENDED: No PNG library development package installed!" >&5
3150   echo "                     Gnash will be built without support for dynamic loading of PNG files." >&5
3151   echo "                     Install it from http://www.libpng.org" >&5
3152   echo "                     or .deb users: apt-get install libpng12-dev" >&5
3153   echo "                     or .rpm users: yum install libpng-devel" >&5
3156 if test x"${build_ovg}" = x"yes"; then
3157   if test x"$OPENVG_LIBS" != x; then
3158     if test x"$OPENVG_CFLAGS" != x; then
3159       echo "        OpenVG flags are: $OPENVG_CFLAGS"
3160     else
3161       echo "        OpenVG flags are: default include path"
3162     fi
3163     echo "        OpenVG libs are: $OPENVG_LIBS"
3164     else
3165       echo "        ERROR: No OpenVG development package installed!" >&3
3166       echo "               You need to install the libmesa development package" >&3
3167       echo "               or .deb users: apt-get install libopenvg1-mesa-dev" >&3
3168       echo "               or .rpm users: yum install mesa-libOpenVG-devel-7.8.1-7.fc13.i686" >&3
3169       echo "               or use a different renderer with --enable-renderer=" >&3
3170   fi
3173 if test x"${build_ogl}" = x"yes"; then
3174   if test x"$OPENGL_LIBS" != x; then
3175     if test x"$OPENGL_CFLAGS" != x; then
3176       echo "        OpenGL flags are: $OPENGL_CFLAGS"
3177     else
3178       echo "        OpenGL flags are: default include path"
3179     fi
3180     echo "        OpenGL libs are: $OPENGL_LIBS"
3181     else
3182       echo "        ERROR: No OpenGL development package installed!" >&3
3183       echo "               You need to install the libmesa development package" >&3
3184       echo "               or .deb users: apt-get install libgl1-mesa-dev" >&3
3185       echo "               or .rpm users: yum install xorg-x11-Mesa-libGL" >&3
3186       echo "               or use a different renderer with --enable-renderer=" >&3
3187   fi
3190 if test x"${build_gles1}" = x"yes"; then
3191   if test x"${has_gles1}" = xyes; then
3192     if test x"${GLES1_CFLAGS}" != x; then
3193       echo "        OpenGLES1 flags are: ${GLES1_CFLAGS}"
3194     else
3195       echo "        OpenGLES1 flags are: default include path"
3196     fi
3197     echo "        OpenGLES1 libs are: ${GLES1_LIBS}"
3198   else
3199       echo "        ERROR: No OpenGLES1 development package installed!" >&3
3200       echo "               You need to install the this from source proobably" >&3
3201       echo "               or use a different renderer with --enable-renderer=" >&3
3202   fi
3205 dnl GLEXT is only needed for GTK/OpenGL
3206 if test x$build_gtk = xyes -a x$build_ogl = xyes ; then
3207   if test x"$GLEXT_LIBS" != x; then
3208     if test x"$GLEXT_CFLAGS" != x; then
3209       echo "        GtkGLExt flags are: $GLEXT_CFLAGS"
3210     else
3211       echo "        GtkGLExt flags are: default include path"
3212     fi
3213       echo "        GtkGLExt libs are: $GLEXT_LIBS"
3214   else
3215     if test x$build_gtk = xyes; then
3216       if test x$build_ogl = xyes; then
3217         echo "        ERROR: No GtkGLExt development package installed!" >&3
3218         echo "               It is needed to build the GTK/OpenGL GUI/renderer combination." >&3
3219         echo "               Either install it from http://gtkglext.sourceforge.net" >&3
3220         echo "               or .deb users: apt-get install libgtkglext1-dev" >&3
3221         echo "               or .rpm users: yum install gtkglext-devel" >&3
3222         echo "               or --enable-gui=sdl or --enable-renderer=agg" >&3
3223       fi
3224     fi
3225   fi
3229 if test x$build_gtk = xyes; then #{
3230   if test x"$GTK2_LIBS" != x; then
3231     if test x"$GTK2_CFLAGS" != x; then
3232       echo "        GTK2 flags are: $GTK2_CFLAGS"
3233     else
3234       echo "        GTK2 flags are: default include path"
3235     fi
3236       echo "        GTK2 libs are: $GTK2_LIBS"
3237   else
3238     echo "        ERROR: No GTK2 development package installed!" >&3
3239     echo "               Install it from http://gtk.org" >&3
3240     echo "               or .deb users: apt-get install libgtk2.0-dev" >&3
3241     echo "               or .rpm users: yum install gtk2-devel" >&3
3242   fi
3244   if test x"$PANGO_LIBS" != x; then
3245     if test x"$PANGO_CFLAGS" != x; then
3246       echo "        Pango flags are: $PANGO_CFLAGS"
3247     else
3248       echo "        Pango flags are: default include path"
3249     fi
3250     echo "        Pango libs are: $PANGO_LIBS"
3251   else
3252     echo "        ERROR: No Pango development package installed!" >&3
3253     echo "               Install it from http://pango.org" >&3
3254     echo "               or .deb users: apt-get install libpango1.0-dev" >&3
3255     echo "               or .rpm users: yum install pango-devel" >&3
3256   fi
3258   if test x"$GLIB_LIBS" != x; then
3259     if test x"$GLIB_CFLAGS" != x; then
3260       echo "        GLib flags are: $GLIB_CFLAGS"
3261     else
3262       echo "        GLib flags are: default include path"
3263     fi
3264     echo "        GLib libs are: $GLIB_LIBS"
3265   else
3266     echo "        ERROR: No GLib development package installed!" >&3
3267     echo "               Install it from http://gtk.org" >&3
3268     echo "               or .deb users: apt-get install libglib2.0-dev" >&3
3269     echo "               or .rpm users: yum install glib2-devel" >&3
3270   fi
3272   if test x"$ATK_LIBS" != x; then
3273     if test x"$ATK_CFLAGS" != x; then
3274       echo "        ATK flags are: $ATK_CFLAGS"
3275     else
3276       echo "        ATK flags are: default include path"
3277     fi
3278       echo "        ATK libs are: $ATK_LIBS"
3279   else
3280     echo "        ERROR: No ATK development package installed!" >&3
3281     echo "               Install it from http://gtk.org" >&3
3282     echo "               or .deb users: apt-get install libatk1.0-dev" >&3
3283     echo "               or .rpm users: yum install atk-devel" >&3
3284   fi
3288 if test x"$build_media_gst" = x"yes"; then
3289   if test x"$missing_codecs" != x; then   
3290       echo "        Your Gstreamer installation is missing these codecs: $missing_codecs"
3291       echo "        Please install the gstreamer-ffmpeg for Gstreamer"
3292   fi  
3293   if test x"$GSTREAMER_LIBS" != x; then
3294     if test x"$GSTREAMER_CFLAGS" != x; then
3295       echo "        Gstreamer flags are: $GSTREAMER_CFLAGS"
3296     else
3297       echo "        Gstreamer flags are: default include path"
3298     fi
3299     echo "        Gstreamer libs are: $GSTREAMER_LIBS"
3300     if test x"$has_gstreamer_pbutils" != "xyes"; then
3301       echo "        RECOMMENDED: If the user has not installed the necessary Gstreamer plugins," >&5
3302       echo "                     Gstreamer can pop up a message prompting them to." >&5
3303       echo "                     Install gstpbutils (>= 0.10.15) from http://www.gstreamer.net for that to be enabled" >&5
3304       echo "                     or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&5
3305       echo "                     Also see --with-gstpbutils-incl and --with-gstpbutils-lib" >&5
3306     fi
3307     if test x"$has_gstreamer_plugins_base" = "xno"; then
3308       dnl check if this is really a mandatory asset !
3309       echo "        ERROR: base plugins are required for gstreamer media" >&3
3310       echo "                        Install gstreamer-plugins-base from http://www.gstreamer.net" >&3
3311       echo "                        or .rpm users: yum install gstreamer-plugins-base-devel" >&3
3312       echo "                        or .deb users: apt-get install libgstreamer-plugins-base0.10-dev" >&3
3313     fi
3314   else
3315     echo "        ERROR: GST media handling requested but gstreamer-0.10+ not found" >&3
3316     echo "               Install it from http://www.gstreamer.net" >&3
3317     echo "               or .deb users: apt-get install libgstreamer0.10-dev" >&3
3318     echo "               or .rpm users: yum install gstreamer-devel" >&3
3319     echo "               or             yast install gstreamer010-devel" >&3
3320   fi
3323   if test x"${build_media_ffmpeg}" = x"yes"; then
3324     if test x"$FFMPEG_LIBS" != x; then
3325       echo "        MP3 and video support enabled through FFmpeg"
3326       if test x"${ffmpeg_version_check}" != xok; then
3327         echo "        ERROR: You have version ${ffmpeg_version} of FFmpeg installed," >&3
3328         if test x"${have_ffmpeg_swscale}" = "xno"; then
3329           echo "               with no swscale enabled." >&3
3330         else
3331           echo "               with swscale enabled." >&3
3332         fi
3333         echo "               This setup isn't supported!" >&3
3334         echo "               Version 51.11.0 or newer is required, enabling swscale if >= 52.0.0." >&3
3335         echo "               You can install libswscale from http://ffmpeg.org" >&3
3336         echo "               or .deb users: apt-get install libswscale-dev" >&3
3337       else
3338         if test x"${avformat_h}" = x; then
3339           echo "        ERROR: FFmpeg's libavcodec header is installed but not libavformat." >&3
3340           echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3341           echo "               or .deb users: apt-get install libavformat-dev" >&3
3342           echo "               or YaST users: yast -i libavformat-api (but currently installs into /usr/lib64)" >&3
3343           echo "               or explicitly set the path using --with-ffmpeg-incl=" >&5
3344           echo "               or reconfigure with --enable-media=gst" >&3
3345         else
3346           if test x"$FFMPEG_CFLAGS" != x; then
3347             echo "        FFmpeg flags are: $FFMPEG_CFLAGS"
3348           else
3349             echo "        FFmpeg flags are: default include path"
3350           fi
3351           echo "        FFmpeg libs are: $FFMPEG_LIBS"
3352         fi
3353       fi
3354     else
3355       echo "        ERROR: No FFmpeg development package installed!" >&3
3356       echo "               You can install FFmpeg from http://ffmpeg.org" >&3
3357       echo "               or .deb users: apt-get install libavformat-dev" >&3
3358       echo "               or .rpm users: yum install ffmpeg-devel" >&3
3359       echo "               or reconfigure with --enable-media=gst" >&3
3360     fi
3361   fi
3363 if test x$build_cairo = xyes; then
3364   if test x"$CAIRO_LIBS" != x; then
3365     if test x"$CAIRO_CFLAGS" != x; then
3366       echo "        Cairo flags are: $CAIRO_CFLAGS"
3367     else
3368       echo "        Cairo flags are: default include path"
3369     fi
3370     echo "        Cairo libs are: $CAIRO_LIBS"
3371   else
3372     echo "        ERROR: No Cairo development package installed!" >&3
3373     echo "               You need to have the Cairo development package installed" >&3
3374     echo "               if you have used --enable-render=cairo to configure." >&3
3375     echo "               Install it from http://cairographics.org" >&3
3376     echo "               or .deb users: apt-get install libcairo-dev" >&3
3377     echo "               or .rpm users: yum install cairo-devel" >&3
3378   fi
3381 if test x$build_fltk = xyes; then
3382   if test x"$FLTK2_LIBS" != x; then
3383     if test x"$FLTK2_CFLAGS" != x; then
3384       echo "        FLTK flags are: $FLTK2_CFLAGS"
3385     else
3386       echo "        FLTK flags are: default include path"
3387     fi
3388       echo "        FLTK libs are: $FLTK2_LIBS"
3389   else
3390     echo "        ERROR: No FLTK2 development package installed!" >&3
3391     echo "               There are currently no Debian or RPM packages for FLTK2;" >&3
3392     echo "               see http://www.fltk.org to install it from source." >&3
3393     echo "               or change to a different gui with --enable-gui=..." >&3
3394   fi
3397 if test x$build_fltk = xyes; then
3398   if test x"$XFT_LIBS" != x; then
3399     if test x"$XFT_CFLAGS" != x; then
3400       echo "        Xft flags are: $XFT_CFLAGS"
3401     else
3402       echo "        Xft flags are: default include path"
3403     fi
3404       echo "        Xft libs are: $XFT_LIBS"
3405   fi
3408 # See whether SDL is required
3409 need_sdl=false
3410 test x$build_sdl = xyes                 && need_sdl=true
3411 test x$build_sound_sdl = xyes   && need_sdl=true
3413 if $need_sdl; then
3414   if test x"$SDL_LIBS" != x; then
3415     echo "        SDL flags are: $SDL_CFLAGS"
3416     echo "        SDL libs are: $SDL_LIBS"
3417   else
3418     echo "        ERROR: No SDL development package installed!" >&3
3419     echo "               Install it from http://www.libsdl.org/download-1.2.php" >&3
3420     echo "               or .deb users: apt-get install libsdl1.2-dev" >&3
3421     echo "               or .rpm users: yum install SDL-devel" >&3
3422     test x$build_sdl = xyes &&
3423         echo "               or select a different GUI with --enable-gui= " >&3
3424   fi
3426 unset need_sdl
3428 if test x"$nsapi" = x"yes"; then
3429     echo "        Plugin will be installed in ${FIREFOX_PLUGINS}"
3432 if test x"${pthreads}" = x"yes"; then
3433   if test x"$PTHREAD_CFLAGS" != x; then
3434     echo "        POSIX Threads flags are: $PTHREAD_CFLAGS"
3435   fi
3436   if test x"${PTHREAD_LIBS}" != x; then
3437     echo "        POSIX Threads lib is: $PTHREAD_LIBS"
3438   else
3439     if test x"${cross_compiling}" = xno; then
3440       echo "ERROR: No pthread development package installed!" >&3
3441     fi
3442   fi
3445 if test x"${docbook}" = x"yes"; then
3446   if test x"$MAKEINFO" = x; then
3447     echo "        ERROR: no makeinfo tools installed!" >&3
3448     echo "               Either install it from http://www.gnu.org/software/texinfo/" >&3
3449     echo "               or .deb users: apt-get install texinfo" >&3
3450     echo "               or configure without --enable-docbook" >&3
3451   fi
3452   dnl low-level tools
3453   if test x"$DB2X_TEXIXML" = x -o x"$DB2X_MANXML" = x -o x"$DB2X_XSLTPROC" = x; then
3454     dnl high-level tools
3455     if test x"${DB2X_TEXI}" = x -o x"${DB2X_MAN}" = x; then
3456       echo "        ERROR: No DocBook2X tools installed!" >&3
3457       echo "               Either install it from http://docbook2x.sourceforge.net" >&3
3458       echo "               or .deb users: apt-get install docbook docbook2x docbook-utils" >&3
3459       echo "                              docbook-xml docbook-xsl texinfo xsltproc" >&3
3460       echo "               or configure without --enable-docbook" >&3
3461     fi
3462   else
3463     echo "        You have version $db2x_version of the DocBook2X tools."
3464   fi
3465 else
3466   echo "        WARNING: without --enable-docbook we will use the cached" >&4
3467   echo "                 documentation files included in the gnash distribution." >&4
3468   echo "                 If you change files in doc/C, you should --enable-docbook." >&4
3471 if test x"$CURL_LIBS" != x; then
3472   if test x"$CURL_CFLAGS" != x; then
3473     echo "        CURL flags are: $CURL_CFLAGS"
3474   else
3475     echo "        CURL flags are: default include path"
3476   fi
3477     echo "        CURL libs are: $CURL_LIBS"
3478 else
3479   echo "        RECOMMENDED: If you install the CURL library, Gnash will be able to" >&5
3480   echo "                     display remote content (streaming from URLs) using CURL." >&5
3481   echo "                     Install libcurl from http://curl.haxx.se/libcurl" >&5
3482   echo "                     or .deb users: apt-get install libcurl-dev" >&5
3483   echo "                     or .rpm users: yum install curl-devel" >&5
3486 if test x"$SPEEX_LIBS" != x; then
3487   if test x"$SPEEX_CFLAGS" != x; then
3488     echo "        Speex flags are: $SPEEX_CFLAGS"
3489   else
3490     echo "        Speex flags are: default include path"
3491   fi
3492     echo "        Speex libs are: $SPEEX_LIBS"
3493 else
3494   echo "        RECOMMENDED: If you install the Speex library, Gnash will be able to" >&5
3495   echo "                     decoded Speex encoded audio in FLV files." >&5
3496   echo "                     Install libspeex from http://speex.org" >&5
3497   echo "                     or .deb users: apt-get install libspeex-dev" >&5
3498   echo "                     or .rpm users: yum install speex-devel" >&5
3501 if test x"$ext_dbus" = xyes; then
3502   if test x"$DBUS_LIBS" != x; then
3503     if test x"$DBUS_CFLAGS" != x; then
3504       echo "        DBUS flags are: $DBUS_CFLAGS"
3505     else
3506       echo "        DBUS flags are: default include path"
3507     fi
3508       echo "        DBUS libs are: $DBUS_LIBS"
3509   else
3510     echo "        WARNING: DBUS library not found." >&4
3511     echo "                 Gnash will be built without support for remote controls." >&4
3512     echo "                 Why not install libdbus from http://www.dbus.org" >&4
3513     echo "                 or .deb users: apt-get install dbus-dev" >&4
3514     echo "                 or .rpm users: yum install dbus-devel" >&4
3515   fi
3518 if test x$build_agg = xyes; then # {
3519   echo "        AGG Pixel format is: $pixelformat"
3520     if test x"$AGG_LIBS" != x; then # {
3521       if test x"${agg25}" != xyes; then # {
3522         echo "        ERROR: Your installation of AGG appears to be version 2.4 or older." >&3
3523         echo "               Please upgrade to AGG 2.5 or greater." >&3
3524         echo "               Install it from http://www.antigrain.com" >&3
3525         echo "               or .deb users: apt-get install libagg-dev" >&3
3526         echo "               or .rpm users: yum install agg-devel" >&3
3527       else # }{
3528         if test x"$AGG_CFLAGS" != x; then # {
3529           echo "        AGG flags are: $AGG_CFLAGS"
3530         else # }{
3531           echo "        AGG flags are: default include path"
3532         fi # }
3533         echo "        AGG libs are: $AGG_LIBS"
3534       fi # }
3535     else # }{
3536       echo "        ERROR: No AGG development package installed!" >&3
3537       echo "               Install it from http://www.antigrain.com" >&3
3538       echo "               or .deb users: apt-get install libagg-dev" >&3
3539       echo "               or .rpm users: yum install agg-devel" >&3
3540     fi # }
3541 fi # }
3543 if test x"$BOOST_LIBS" != x; then
3544         echo "        BOOST flags are: $BOOST_CFLAGS"
3545         echo "        BOOST libs are: $BOOST_LIBS"
3546         echo "        BOOST libs for cygnal are: $BOOST_CYGNAL_LIBS"
3547     dnl fi
3548     if test x"${missing_headers}" != x; then
3549       for i in ${missing_headers}; do
3550         echo "        ERROR: The BOOST $i header file is needed!" >&3
3551         echo "               Install it from http://boost.org" >&3
3552         echo "               or from a Boost development package" >&3
3553       done
3554     fi
3556     if test x"${cygnal}" = x"yes"; then
3557         if test x"${cygnal_missing_libs}" != x; then
3558           for i in ${cygnal_missing_libs}; do
3559             echo "          ERROR: The BOOST $i library is required for cygnal!" >&4
3560             echo "                 Either configure with --disable-cygnal or" >&4
3561             echo "                 install it from http://www.boost.org" >&4
3562             echo "                 or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&4
3563           done
3564         fi
3565     fi
3567     if test x"${missing_libs}" != x; then
3568       for i in ${missing_libs}; do
3569         echo "        ERROR: The BOOST $i library is needed!" >&3
3570         echo "               Install it from http://boost.org" >&3
3571         echo "               or .deb users: apt-get install libboost-"`echo ${i} | sed 's/_/-/g'`"-dev" >&3
3572       done
3573     fi
3574 else
3575     echo "        ERROR: No BOOST development package installed!" >&3
3576     echo "               Install it from http://www.boost.org" >&3
3577     echo "               or .deb users: apt-get install libboost-dev libboost-thread-dev" >&3
3578     if test x"$cygnal" = xyes; then
3579     echo "                              and libboost-date-time-dev (for cygnal)" >&3
3580     fi
3581     echo "               or .rpm users: yum install boost-devel" >&3
3584 dnl don't look for the flash compilers when cross compiling.
3585 if test x"$testsuite" = x"yes"; then
3586   if test x$cross_compiling = xno; then
3587     if test x"$MING_LIBS" != x; then
3588       echo "        MING flags are $MING_CFLAGS"
3589       echo "        MING libs are $MING_LIBS"
3590     else
3591       echo "        WARNING: You need to have the Ming development package" >&4
3592       echo "                 installed to run most of the tests in Gnash testsuite." >&4
3593       echo "                 Install it from http://www.libming.org/" >&4
3594       echo "                 or .deb users: apt-get install libming-dev" >&4
3595     fi
3597     if test x"$MAKESWF" != x; then
3598       echo "        MING version code is $MING_VERSION_CODE"
3599       echo "        MAKESWF is $MAKESWF"
3600     else
3601       echo "        WARNING: You need to have the Ming utilities package" >&4
3602       echo "                 version 0.4 or higher installed to run" >&4
3603       echo "                 many of the tests in Gnash testsuite." >&4
3604       echo "                 Install it from http://www.libming.org" >&4
3605       echo "                 or .deb users: apt-get install libming-util" >&4
3606     fi
3608     if test x"$MAKESWF" != x && test $MING_VERSION_CODE -lt 00040006; then
3609       echo "        WARNING: You have an older version of Ming installed and will not" >&4
3610       echo "                 be able to run all of the tests in Gnash testsuite." >&4
3611       echo "                 Install the latest version from http://www.libming.org" >&4
3612     fi
3614     if test x"$SWFDEC_TESTSUITE" != x; then
3615       echo "        SWFDEC testsuite dir is $SWFDEC_TESTSUITE"
3616     fi
3618     if test x"$MTASC" != x; then
3619       echo "        MTASC is $MTASC"
3620       echo "        MTASC CLASSPATH is $MTASC_CLASSPATH"
3621     else
3622       echo "        WARNING: You need to have the MTASC compiler packages installed" >&4
3623       echo "                 to run some of the tests in Gnash testsuite." >&4
3624       echo "                 You can install it from http://mtasc.org" >&4
3625       echo "                 or .deb users: apt-get install mtasc" >&4
3626     fi
3628     if test x"$HAXE" != x; then
3629       echo "        HAXE is $HAXE"
3630       echo "        HAXE CLASSPATH is $HAXE_CLASSPATH"
3631     else
3632       echo "        WARNING: You need to have the HAXE compiler package " >&4
3633       echo "                 version 2.00 or higher installed" >&4
3634       echo "                 to run some of the tests in Gnash testsuite." >&4
3635       echo "                 You can install it from http://haxe.org" >&4
3636       echo "                 or .deb users: apt-get install haxe" >&4
3637     fi
3639     if test x"$SWFMILL" != x; then
3640       echo "        SWFMILL is $SWFMILL"
3641       if test x"$ENABLE_AVM2" != x -a "$SWFMILL_VERSION" -lt 00021206; then
3642         echo "        WARNING: You are building Gnash with AVM2 support but" >&4
3643         echo "                 your swfmill version is too old to run AS3" >&4
3644         echo "                 tests." >&4
3645       fi
3646     else
3647       echo "        WARNING: You need to have the 'swfmill' tool installed" >&4
3648       echo "                 to run some of the tests in Gnash testsuite." >&4
3649       echo "                 You can install it from http://swfmill.org/" >&4
3650       echo "                 or .deb users: apt-get install swfmill" >&4
3651     fi
3653     if test x"$SWFC" != x; then
3654       echo "        SWFC is $SWFC"
3655     else
3656       echo "        WARNING: You need to have 'swfc' from SWFTools installed" >&4
3657       echo "                 to run some of the tests in Gnash testsuite." >&4
3658       echo "                 You can install it from http://www.swftools.org/" >&4
3659       echo "                 or .deb users: apt-get install swftools" >&4
3660     fi
3662     if test x"$AS3COMPILE" != x; then
3663       echo "        AS3COMPILE is $AS3COMPILE"
3664     else
3665       echo "        WARNING: you need as3compile from SWFTools" >&4
3666       echo "                 to run some of the tests in Gnash testsuite." >&4
3667       echo "                 You can install it from http://www.swftools.org/" >&4
3668     fi
3670     if test x"$HTTP_TESTSUITE" != x; then
3671       echo "        HTTP testsuite dir is $HTTP_TESTSUITE"
3672     fi
3674     if test x"$RED5_HOST" != x; then
3675       echo "        RED5 testing host is $RED5_HOST"
3676     fi
3677   fi
3680   if test x"$PERL" != x; then
3681     echo "        PERL is $PERL"
3682   else
3683     echo "        WARNING: You need to have perl installed" >&4
3684     echo "                 to run some of the tests in Gnash testsuite." >&4
3685   fi
3687 if test x"$testsuite" = x"yes"; then
3688   if test x"$CSOUND" != x; then
3689     echo "        CSOUND is $CSOUND"
3690   else
3691     echo "        WARNING: You need to have csound installed" >&4
3692     echo "                 to have real fun." >&4
3693     echo "                 Install it from http://www.csounds.com/" >&4
3694     echo "                 or .deb users: apt-get install csound" >&4
3695     echo "                 or .rpm users: yum install csound" >&4
3696   fi
3699 if test x"$Z_LIBS" != x; then
3700   if test x"$Z_CFLAGS" != x; then
3701     echo "        Z flags are: $Z_CFLAGS"
3702   else
3703     echo "        Z flags are: default include path"
3704   fi
3705   echo "        Z libs are: $Z_LIBS"
3706 else
3707   echo "        RECOMMENDED: You need to have the zlib development packages installed" >&5
3708   echo "                     to play compressed SWF (most of them from version 6 up)" >&5
3709   echo "                     and to display some kinds of JPEG files." >&5
3710   echo "                     Install it from http://www.zlib.net" >&5
3711   echo "                     or .deb users: apt-get install zlib1g-dev" >&5
3712   echo "                     or .rpm users: yum install zlib-devel." >&5
3713   echo "                     It may still be possible to configure without zlib." >&5
3716 if test x"$FREETYPE2_LIBS" != x; then
3717   if test x"$FREETYPE2_CFLAGS" != x; then
3718     echo "        FreeType flags are: $FREETYPE2_CFLAGS"
3719   else
3720     echo "        FreeType flags are: default include path"
3721   fi
3722   echo "        FreeType libs are: $FREETYPE2_LIBS"
3723 else
3724   echo "        RECOMMENDED: You need to have the freetype development packages installed" >&5
3725   echo "                     to use device fonts." >&5
3726   echo "                     Install it from http://www.freetype.org" >&5
3727   echo "                     or .deb users: apt-get install libfreetype6-dev" >&5
3728   echo "                     or .rpm users: yum install freetype-devel" >&5
3729   echo "                     It may still be possible to configure without freetype." >&5
3732 if test x"$FONTCONFIG_LIBS" != x; then
3733   if test x"$FONTCONFIG_CFLAGS" != x; then
3734     echo "        Fontconfig flags are: $FONTCONFIG_CFLAGS"
3735   else
3736     echo "        Fontconfig flags are: default include path"
3737   fi
3738   echo "        Fontconfig libs are: $FONTCONFIG_LIBS"
3739 else
3740   echo "        RECOMMENDED: You need to have the fontconfig development packages installed" >&5
3741   echo "                     to use device fonts." >&5
3742   echo "                     Install it from http://www.fontconfig.org" >&5
3743   echo "                     or .deb users: apt-get install libfontconfig1-dev" >&5
3744   echo "                     or .rpm users: yum install fontconfig-devel" >&5
3745   echo "                     It may still be possible to configure without fontconfig." >&5
3748 if test x$ext_mysql = xyes; then
3749   if test x$mysql != xno; then
3750     if test x"$MYSQL_LIBS" != x; then
3751       echo "        MYSQL flags are: $MYSQL_CFLAGS"
3752       echo "        MYSQL libs are: $MYSQL_LIBS"
3753     else
3754       echo "        ERROR: No MySQL development package is installed." >&3
3755       echo "               Either reconfigure without --enable-extensions=mysql" >&3
3756       echo "               or install MySQL header files from http://www.mysql.org" >&3
3757       echo "               or .deb users: apt-get install libmysqlclient-dev" >&3
3758       echo "                 or .rpm users: yum install mysql-devel" >&4
3759     fi
3760   fi
3763 if test "$GMSGFMT" = ":"; then
3764   echo "        WARNING: You need the gettext package installed to use translations." >&4
3765   echo "                 Required for building a package or 'make distcheck'" >&4
3766   echo "                 Install it from http://www.gnu.org/software/gettext/" >&4
3767   echo "                 or .deb users: apt-get install gettext" >&4
3768   echo "                 or .rpm users: yum install gettext" >&4
3771 if test x"${build_vaapi}" = x"yes"; then
3772   if test x"${LIBVA_CFLAGS}" = xyes; then
3773       echo "        LIBVA flags are: default"
3774     else
3775       echo "        LIBVA flags are: $LIBVA_CFLAGS"
3776       echo "        LIBVA libraries are: $LIBVA_LIBS"
3777   fi
3778   if test x$use_libva_x11 = xyes; then
3779     if test x"${LIBVA_X11_CFLAGS}" = xyes; then
3780       echo "        LIBVA X11 flags are: default"
3781     else
3782       echo "        LIBVA X11 flags are: $LIBVA_X11_CFLAGS"
3783       echo "        LIBVA X11 libraries are: $LIBVA_X11_LIBS"
3784     fi
3785   fi
3786   if test x$use_libva_glx = xyes; then
3787     if test x"${LIBVA_GLX_CFLAGS}" = xyes; then
3788       echo "        LIBVA GLXflags are: default"
3789     else
3790       echo "        LIBVA GLX flags are: $LIBVA_GLX_CFLAGS"
3791     fi
3792     echo "        LIBVA GLX libraries are: $LIBVA_GLX_LIBS"
3793   fi
3796 if test x"$ac_cv_gcc_visibility" != xyes; then
3797   if test x"$npapi" = xyes; then
3798     echo "        WARNING: NPAPI (mozilla) plugin is enabled, but your compiler"
3799     echo "                 does not support symbol visibility. This may cause "
3800     echo "                 the plugin to malfunction and may result in small "
3801     echo "                 children being eaten. You have been warned!"
3802   fi
3805 if test x"$npapi" = xyes; then
3806   if test x"$has_npapi" = xyes; then
3807     echo "        NPAPI flags are: $NPAPI_CFLAGS"
3808   else
3809     echo "        ERROR : No xulrunner development package is installed" >&3
3810     echo "                Install it from http://releases.mozilla.org/pub/mozilla.org/xulrunner" >&3
3811     echo "                or .deb users: apt-get install xulrunner-dev" >&3
3812     echo "                or .rpm users: yum install xulrunner-devel" >&3
3813   fi
3814 else
3815   echo "        NPAPI plugin is disabled"
3818 if test x"${DEJAGNU}" != x""; then
3819   echo "        DEJAGNU's runtest is $DEJAGNU"
3820 else
3821   echo "        WARNING: You need the dejagnu package installed to get a summary" >&4
3822   echo "                 report after running ''make check''" >&4
3823   echo "                 Install it from http://www.gnu.org/software/dejagnu/" >&4
3824   echo "                 or .deb users: apt-get install dejagnu" >&4
3825   echo "                 or .rpm users: yum install dejagnu" >&4
3828 dnl Haiku
3829 if test x"${build_haiku}" = xyes -o x"${build_sound_mkit}" = xyes -o x"${build_media_haiku}" = x"yes"; then
3830     echo "        Haiku libs are: $HAIKU_LIBS"
3833 if test x"$has_ltdl" = x"yes";then
3834   echo "        LIBLTDL flags are: $LTDL_CFLAGS"
3835   echo "        LIBLTDL libs are: $LTDL_LIBS"
3836 else
3837   if test x"${extensions_support}" != xno; then
3838     echo "        ERROR: No libltdl development package is installed," >&3
3839     echo "               yet --disable-extensions was not specified." >&3
3840     echo "               Install it from ftp://ftp.gnu.org/gnu/libtool/" >&3
3841     echo "               or .deb users: apt-get install libltdl-dev" >&3
3842     echo "               or .rpm users: yum install libtool-ltdl-devel" >&3
3843   fi
3846 if test x"$python" = x"yes"; then
3847   if test x"$has_python" = x"yes"; then
3848     echo "        PYTHON flags are: $PYTHON_CFLAGS"
3849     echo "        PYTHON libs are: $PYTHON_LIBS"
3850     echo "        PYTHON executable is: $PYTHON"
3851   else
3852     echo "        ERROR: No Python development package is installed, but it's enabled." >&3
3853   fi
3855 if test x${build_ssl} = xyes; then
3856   if test x"${has_ssl}" = xyes; then
3857     if test x"${SSL_CFLAGS}" = xyes; then
3858       echo "        SSL flags are: default"
3859     else
3860       echo "        SSL flags are: $SSL_CFLAGS"
3861     fi
3862     echo "        SSL libs are: $SSL_LIBS"
3863   else
3864     echo "        ERROR: No SSL development package is installed, but it's enabled." >&3
3865   fi
3868 if test x${build_ssh} = xyes; then
3869   if test x"${has_ssh}" = xyes; then
3870     if test x"${SSH_CFLAGS}" = xyes; then
3871       echo "        SSH flags are: default"
3872     else
3873       echo "        SSH flags are: $SSH_CFLAGS"
3874     fi
3875     echo "        SSH libs are: $SSH_LIBS"
3876   else
3877     echo "        ERROR: No SSH development package is installed, but it's enabled." >&3
3878   fi
3881 if test x"${build_all_as3}" = x"yes"; then
3882   echo "        Building the entire ActionScript class libary"
3883 else
3884   echo "        Only building these ActionScript classes into the library:"
3885   echo "     ${classlist}"
3888 if test x"$testsuite" = x"yes"; then
3889   if test x"$NETCAT" != x; then
3890     echo "        You have netcat installed, which is only used for testing"
3891   else
3892     echo "        Install netcat for networking test support"
3893   fi
3894   if test x"$WGET" != x; then
3895     echo "        You have wget installed, which is only used for testing"
3896   else
3897     echo "        Install wget for networking test support"
3898   fi
3901 if test x$cross_compiling = xyes; then
3902    if test x"${android_ndk}" != xno; then
3903       AC_MSG_NOTICE([This build is setup for cross compiling for Android])
3904    else
3905       AC_MSG_NOTICE([This build is setup for cross compiling])
3906    fi
3909 echo "--------"
3911 if test x"${cygnal}" = x"yes"; then
3912   echo "        Building Cygnal media server enabled (default). Use --disable-cygnal to disable."
3913 else
3914   echo "        Building Cygnal media server disabled."
3917 if test x"${with-top_level}" != x; then
3918   echo "        Top level for cross compiling support files is: $with_top_level"
3921 if test x"${build_gtk}" = xyes -a x"${pixelformat}" = xrgb565; then
3922   echo "        WARNING: Pixel format RGB565 selected in combination with the" >&4
3923   echo "                 GTK GUI. Only a hacked GTK will work (e.g. on the OLPC)." >&4
3926 if test x"${extensions_list}" != x; then
3927   echo "        Building extensions: ${extensions_list}"
3930 if test x"${extensions_support}" = xno; then
3931   echo "        Extension support disabled."
3934 if test x"${security_list}" != x; then
3935   echo "        Enabling security features: ${security_list}"
3938 if test x"${statistics_list}" != x; then
3939   echo "        Enabling statistics collecting for: ${statistics_list}"
3942 if test x"${SUPPORTED_GUIS}" = x; then
3943   AC_MSG_ERROR(no supported GUIs found);
3946 echo "        GUI toolkits supported: ${SUPPORTED_GUIS}"
3947 echo "        Renderers supported: ${renderer_list}"
3948 echo "        Hardware Acceleration: ${device_list}"
3949 echo "        Media handlers: ${media_list}"
3950 echo "        Using ${add_sound} for sound handling"
3951 echo "        Using $with_shm mode for shared memory"
3953 if test x"$docbook" = x"yes"; then
3954   echo '        DocBook document processing enabled (for "make html" and "make pdf")'
3955   if test x"$docbook_styles" != x; then
3956     echo "        Docbook styles sheets in $docbook_styles"
3957   fi
3958 else
3959   echo "        DocBook document processing disabled (default)"
3962 dnl The Framebuffer GUI has several other settings. As it doesn't have X11,
3963 dnl we have to handle input devics ourselves.
3964 if test x"${build_fb}" = xyes; then
3965 echo "        Using ${input_events} for Input"
3966   if test x"${fakefb}" != x; then
3967     echo "        Using shared memory as a fake framebuffer"
3968   fi
3969   if test x"${offscreen}" = xyes; then
3970     echo "        Using offscreen rendering"
3971   fi
3972   if test x"${doublebuf}" = xyes; then
3973     echo "        Using double buffering when rendering"
3974   fi
3977 if test -s $cwarn; then
3978   echo ""
3979   cat $cwarn
3980   rm $cwarn
3981   echo ""
3982   echo "Gnash should still compile even with these warnings."
3983   echo "If it doesn't, report the warnings as a bug."
3984 else
3985   rm $cwarn
3988 if test -s $crec; then
3989   echo ""
3990   cat $crec
3991   rm $crec
3992   echo ""
3993   echo "Gnash should still compile, but you'll miss important support"
3994 else
3995   rm $crec
3998 dnl If anything critical is missing, don't bother to continue
3999 if test -s $cerr; then
4000   echo ""
4001   cat $cerr >&2
4002   rm $cerr
4003   AC_MSG_ERROR([Please install required packages])
4004 else
4005   rm $cerr
4008 rmdir $tmp
4010 if test x"$fork" = x"no"; then
4011   AC_MSG_ERROR([Currently only forking the standalone player works!])
4013 echo ""
4015 # Local Variables:
4016 # c-basic-offset: 2
4017 # tab-width: 2
4018 # indent-tabs-mode: nil
4019 # End: