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