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