Update to MPlayer SVN rev 29978 and FFmpeg SVN rev 20757.
[vaapi:challenzhous-mplayer.git] / .svn / text-base / configure.svn-base
1 #! /bin/sh
2 #
3 # Original version (C) 2000 Pontscho/fresh!mindworkz
4 #                      pontscho@makacs.poliod.hu
5 #
6 # History / Contributors: Check the Subversion log.
7 #
8 # Cleanups all over the place (c) 2001 pl
9 #
10 #
11 # This configure script is *not* autoconf-based and has different semantics.
12 # It attempts to autodetect all settings and options where possible. It is
13 # possible to override autodetection with the --enable-option/--disable-option
14 # command line parameters.  --enable-option forces the option on skipping
15 # autodetection. Yes, this means that compilation may fail and yes, this is not
16 # how autoconf-based configure scripts behave.
17 #
18 # configure generates a series of configuration files:
19 #  - config.h contains #defines that are used in the C code.
20 #  - config.mak is included from the Makefiles.
21 #
22 # If you want to add a new check for $feature, here is a simple skeleton:
23 #
24 # echocheck "$feature"
25 # if test "$_feature" = auto; then
26 # cat > $TMPC << EOF
27 # #include <feature.h>
28 # int main(void) { return 0; }
29 # EOF
30 # _feature=no
31 # cc_check && _feature=yes
32 # fi
33 # if test "$_feature" = yes ; then
34 #   def_feature='#define CONFIG_FEATURE 1'
35 # else
36 #   def_feature='#undef CONFIG_FEATURE'
37 # fi
38 # echores "$_feature"
39 #
40 # Furthermore you need to add the variable _feature to the list of default
41 # settings and set it to one of yes/no/auto. Also add appropriate
42 # --enable-feature/--disable-feature command line options.
43 # The results of the check should be written to config.h and config.mak
44 # at the end of this script. The variable names used for this should be
45 # uniform, i.e. if the option is named 'feature':
46 #
47 # _feature     : should have a value of yes/no/auto
48 # def_feature  : '#define ... 1' or '#undef ...' for conditional compilation
49 # _ld_feature  : '-L/path/dir -lfeature' GCC options
50 #
51 #############################################################################
52
53 # Prevent locale nonsense from breaking basic text processing utils
54 export LC_ALL=C
55
56 # Store the configure line that was used
57 _configuration="$*"
58
59 # Prefer these macros to full length text !
60 # These macros only return an error code - NO display is done
61 compile_check() {
62   echo >> "$TMPLOG"
63   cat "$1" >> "$TMPLOG"
64   echo >> "$TMPLOG"
65   echo "$_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o $TMPEXE $@" >> "$TMPLOG"
66   rm -f "$TMPEXE"
67   $_cc $CFLAGS $extra_cflags $_ld_static $extra_ldflags $libs_mplayer $libs_mencoder -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1
68   TMPRES="$?"
69   echo >> "$TMPLOG"
70   echo >> "$TMPLOG"
71   return "$TMPRES"
72 }
73
74 cc_check() {
75   compile_check $TMPC $@
76 }
77
78 cxx_check() {
79   compile_check $TMPCPP $@ -lstdc++
80 }
81
82 yasm_check() {
83   echo >> "$TMPLOG"
84   cat "$TMPS" >> "$TMPLOG"
85   echo >> "$TMPLOG"
86   echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
87   rm -f "$TMPEXE"
88   $_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
89   TMPRES="$?"
90   echo >> "$TMPLOG"
91   echo >> "$TMPLOG"
92   return "$TMPRES"
93 }
94
95 tmp_run() {
96   "$TMPEXE" >> "$TMPLOG" 2>&1
97 }
98
99 # Display error message, flushes tempfile, exit
100 die () {
101   echo
102   echo "Error: $@" >&2
103   echo >&2
104   rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP"
105   echo "Check \"$TMPLOG\" if you do not understand why it failed."
106   exit 1
107 }
108
109 # OS test booleans functions
110 issystem() {
111   test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)"
112 }
113 aix()       { issystem "AIX"; }
114 amigaos()   { issystem "AmigaOS"; }
115 beos()      { issystem "BEOS"; }
116 bsdos()     { issystem "BSD/OS"; }
117 cygwin()    { issystem "CYGWIN"; }
118 darwin()    { issystem "Darwin"; }
119 dragonfly() { issystem "DragonFly"; }
120 freebsd()   { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; }
121 gnu()       { issystem "GNU"; }
122 hpux()      { issystem "HP-UX"; }
123 irix()      { issystem "IRIX"; }
124 linux()     { issystem "Linux"; }
125 mingw32()   { issystem "MINGW32"; }
126 morphos()   { issystem "MorphOS"; }
127 netbsd()    { issystem "NetBSD"; }
128 openbsd()   { issystem "OpenBSD"; }
129 os2()       { issystem "OS/2"; }
130 qnx()       { issystem "QNX"; }
131 sunos()     { issystem "SunOS"; }
132 win32()     { cygwin || mingw32; }
133
134 # arch test boolean functions
135 # x86/x86pc is used by QNX
136 x86_32() {
137   case "$host_arch" in
138     i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;;
139     *) return 1 ;;
140   esac
141 }
142
143 x86_64() {
144   case "$host_arch" in
145     x86_64|amd64) return 0 ;;
146     *) return 1 ;;
147   esac
148 }
149
150 x86() {
151   x86_32 || x86_64
152 }
153
154 ppc() {
155   case "$host_arch" in
156     ppc|ppc64|powerpc|powerpc64) return 0;;
157     *) return 1;;
158   esac
159 }
160
161 alpha() {
162   case "$host_arch" in
163     alpha*) return 0;;
164     *) return 1;;
165   esac
166 }
167
168 arm() {
169   case "$host_arch" in
170     arm) return 0;;
171     *) return 1;;
172   esac
173 }
174
175 # Use this before starting a check
176 echocheck() {
177   echo "============ Checking for $@ ============" >> "$TMPLOG"
178   echo ${_echo_n} "Checking for $@ ... ${_echo_c}"
179 }
180
181 # Use this to echo the results of a check
182 echores() {
183   if test "$_res_comment" ; then
184     _res_comment="($_res_comment)"
185   fi
186   echo "Result is: $@ $_res_comment" >> "$TMPLOG"
187   echo "##########################################" >> "$TMPLOG"
188   echo "" >> "$TMPLOG"
189   echo "$@ $_res_comment"
190   _res_comment=""
191 }
192 #############################################################################
193
194 # Check how echo works in this /bin/sh
195 case $(echo -n) in
196   -n)   _echo_n=        _echo_c='\c'    ;;      # SysV echo
197   *)    _echo_n='-n '   _echo_c=        ;;      # BSD echo
198 esac
199
200 msg_lang_all=$(echo help/help_mp-??.h help/help_mp-??_??.h | sed -e "s:help/help_mp-\(..\).h:\1:g" -e "s:help/help_mp-\(.....\).h:\1:g")
201 man_lang_all=$(echo DOCS/man/??/mplayer.1 DOCS/man/??_??/mplayer.1 | sed -e "s:DOCS/man/\(..\)/mplayer.1:\1:g" -e "s:DOCS/man/\(.._..\)/mplayer.1:\1:g")
202 doc_lang_all=$(echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
203
204 show_help(){
205 cat << EOF
206 Usage: $0 [OPTIONS]...
207
208 Configuration:
209   -h, --help             display this help and exit
210
211 Installation directories:
212   --prefix=DIR           prefix directory for installation [/usr/local]
213   --bindir=DIR           directory for installing binaries [PREFIX/bin]
214   --datadir=DIR          directory for installing machine independent
215                          data files (skins, etc) [PREFIX/share/mplayer]
216   --mandir=DIR           directory for installing man pages [PREFIX/share/man]
217   --confdir=DIR          directory for installing configuration files
218                          [PREFIX/etc/mplayer]
219   --libdir=DIR           directory for object code libraries [PREFIX/lib]
220   --codecsdir=DIR        directory for binary codecs [LIBDIR/codecs]
221   --win32codecsdir=DIR   directory for Windows DLLs [LIBDIR/codecs]
222   --xanimcodecsdir=DIR   directory for XAnim codecs [LIBDIR/codecs]
223   --realcodecsdir=DIR    directory for RealPlayer codecs [LIBDIR/codecs]
224
225 Optional features:
226   --disable-mencoder     disable MEncoder (A/V encoder) compilation [enable]
227   --disable-mplayer      disable MPlayer compilation [enable]
228   --enable-gui           enable GMPlayer compilation (GTK+ GUI) [disable]
229   --enable-gtk1          force using GTK 1.2 for the GUI  [disable]
230   --disable-largefiles   disable support for files > 2GB [enable]
231   --enable-linux-devfs   set default devices to devfs [disable]
232   --enable-termcap       use termcap database for key codes [autodetect]
233   --enable-termios       use termios database for key codes [autodetect]
234   --disable-iconv        disable iconv for encoding conversion [autodetect]
235   --disable-langinfo     do not use langinfo [autodetect]
236   --enable-lirc          enable LIRC (remote control) support [autodetect]
237   --enable-lircc         enable LIRCCD (LIRC client daemon) input [autodetect]
238   --enable-joystick      enable joystick support [disable]
239   --enable-apple-remote  enable Apple Remote input (Mac OS X only) [autodetect]
240   --enable-apple-ir      enable Apple IR Remote input (Linux only) [autodetect]
241   --disable-vm           disable X video mode extensions [autodetect]
242   --disable-xf86keysym   disable support for multimedia keys [autodetect]
243   --enable-radio         enable radio interface [disable]
244   --enable-radio-capture enable radio capture (through PCI/line-in) [disable]
245   --disable-radio-v4l2   disable Video4Linux2 radio interface [autodetect]
246   --disable-radio-bsdbt848   disable BSD BT848 radio interface [autodetect]
247   --disable-tv           disable TV interface (TV/DVB grabbers) [enable]
248   --disable-tv-v4l1      disable Video4Linux TV interface [autodetect]
249   --disable-tv-v4l2      disable Video4Linux2 TV interface [autodetect]
250   --disable-tv-bsdbt848  disable BSD BT848 interface [autodetect]
251   --disable-pvr          disable Video4Linux2 MPEG PVR [autodetect]
252   --disable-rtc          disable RTC (/dev/rtc) on Linux [autodetect]
253   --disable-network      disable networking [enable]
254   --enable-winsock2_h    enable winsock2_h [autodetect]
255   --enable-smb           enable Samba (SMB) input [autodetect]
256   --enable-live          enable LIVE555 Streaming Media [autodetect]
257   --enable-nemesi        enable Nemesi Streaming Media [autodetect]
258   --disable-vcd          disable VCD support [autodetect]
259   --disable-dvdnav       disable libdvdnav [autodetect]
260   --disable-dvdread      disable libdvdread [autodetect]
261   --disable-dvdread-internal  disable internal libdvdread [autodetect]
262   --disable-libdvdcss-internal  disable internal libdvdcss [autodetect]
263   --disable-cdparanoia   disable cdparanoia [autodetect]
264   --disable-cddb         disable cddb [autodetect]
265   --disable-bitmap-font  disable bitmap font support [enable]
266   --disable-freetype     disable FreeType 2 font rendering [autodetect]
267   --disable-fontconfig   disable fontconfig font lookup [autodetect]
268   --disable-unrarexec    disable using of UnRAR executable [enabled]
269   --enable-menu          enable OSD menu (not DVD menu) [disabled]
270   --disable-sortsub      disable subtitle sorting [enabled]
271   --enable-fribidi       enable the FriBiDi libs [autodetect]
272   --disable-enca         disable ENCA charset oracle library [autodetect]
273   --disable-maemo        disable maemo specific features [autodetect]
274   --enable-macosx-finder enable Mac OS X Finder invocation parameter
275                          parsing [disabled]
276   --enable-macosx-bundle enable Mac OS X bundle file locations [autodetect]
277   --disable-inet6        disable IPv6 support [autodetect]
278   --disable-gethostbyname2  gethostbyname2 part of the C library [autodetect]
279   --disable-ftp          disable FTP support [enabled]
280   --disable-vstream      disable TiVo vstream client support [autodetect]
281   --disable-pthreads     disable Posix threads support [autodetect]
282   --disable-w32threads   disable Win32 threads support [autodetect]
283   --disable-ass          disable internal SSA/ASS subtitle support [autodetect]
284   --enable-rpath         enable runtime linker path for extra libs [disabled]
285
286 Codecs:
287   --enable-gif              enable GIF support [autodetect]
288   --enable-png              enable PNG input/output support [autodetect]
289   --enable-mng              enable MNG input support [autodetect]
290   --enable-jpeg             enable JPEG input/output support [autodetect]
291   --enable-libcdio          enable libcdio support [autodetect]
292   --enable-liblzo           enable liblzo support [autodetect]
293   --disable-win32dll        disable Win32 DLL support [enabled]
294   --disable-qtx             disable QuickTime codecs support [enabled]
295   --disable-xanim           disable XAnim codecs support [enabled]
296   --disable-real            disable RealPlayer codecs support [enabled]
297   --disable-xvid            disable Xvid [autodetect]
298   --disable-xvid-lavc       disable Xvid in libavcodec [autodetect]
299   --disable-x264            disable x264 [autodetect]
300   --disable-x264-lavc       disable x264 in libavcodec [autodetect]
301   --disable-libdirac-lavc   disable Dirac in libavcodec [autodetect]
302   --disable-libschroedinger-lavc   disable Dirac in libavcodec (Schroedinger
303                                    decoder) [autodetect]
304   --disable-libnut          disable libnut [autodetect]
305   --disable-libavutil_a     disable static libavutil [autodetect]
306   --disable-libavcodec_a    disable static libavcodec [autodetect]
307   --disable-libavformat_a   disable static libavformat [autodetect]
308   --disable-libpostproc_a   disable static libpostproc [autodetect]
309   --disable-libswscale_a    disable static libswscale [autodetect]
310   --disable-libavutil_so    disable shared libavutil [autodetect]
311   --disable-libavcodec_so   disable shared libavcodec [autodetect]
312   --disable-libavformat_so  disable shared libavformat [autodetect]
313   --disable-libpostproc_so  disable shared libpostproc [autodetect]
314   --disable-libswscale_so   disable shared libswscale [autodetect]
315   --disable-libavcodec_mpegaudio_hp disable high precision audio decoding
316                                     in libavcodec [enabled]
317   --disable-tremor-internal disable internal Tremor [enabled]
318   --enable-tremor-low       enable lower accuracy internal Tremor [disabled]
319   --enable-tremor           enable external Tremor [autodetect]
320   --disable-libvorbis       disable libvorbis support [autodetect]
321   --disable-speex           disable Speex support [autodetect]
322   --enable-theora           enable OggTheora libraries [autodetect]
323   --enable-faad             enable external FAAD2 (AAC) [autodetect]
324   --disable-faad-internal   disable internal FAAD2 (AAC) [autodetect]
325   --enable-faad-fixed       enable fixed-point mode in internal FAAD2 [disabled]
326   --disable-faac            disable support for FAAC (AAC encoder) [autodetect]
327   --disable-faac-lavc       disable support for FAAC in libavcodec [autodetect]
328   --disable-ladspa          disable LADSPA plugin support [autodetect]
329   --disable-libbs2b         disable libbs2b audio filter support [autodetect]
330   --disable-libdv           disable libdv 0.9.5 en/decoding support [autodetect]
331   --disable-mad             disable libmad (MPEG audio) support [autodetect]
332   --disable-mp3lame         disable LAME MP3 encoding support [autodetect]
333   --disable-mp3lame-lavc    disable LAME in libavcodec [autodetect]
334   --disable-toolame         disable Toolame (MPEG layer 2) encoding [autodetect]
335   --disable-twolame         disable Twolame (MPEG layer 2) encoding [autodetect]
336   --enable-xmms             enable XMMS input plugin support [disabled]
337   --enable-libdca           enable libdca support [autodetect]
338   --disable-mp3lib          disable builtin mp3lib [autodetect]
339   --disable-liba52          disable liba52 [autodetect]
340   --disable-liba52-internal disable builtin liba52 [autodetect]
341   --disable-libmpeg2        disable builtin libmpeg2 [autodetect]
342   --disable-musepack        disable musepack support [autodetect]
343   --disable-libopencore_amrnb disable libopencore_amr narrowband [autodetect]
344   --disable-libopencore_amrwb disable libopencore_amr wideband [autodetect]
345   --disable-decoder=DECODER disable specified FFmpeg decoder
346   --enable-decoder=DECODER  enable specified FFmpeg decoder
347   --disable-encoder=ENCODER disable specified FFmpeg encoder
348   --enable-encoder=ENCODER  enable specified FFmpeg encoder
349   --disable-parser=PARSER   disable specified FFmpeg parser
350   --enable-parser=PARSER    enable specified FFmpeg parser
351   --disable-protocol=PROTO  disable specified FFmpeg protocol
352   --enable-protocol=PROTO   enable specified FFmpeg protocol
353   --disable-demuxer=DEMUXER disable specified FFmpeg demuxer
354   --enable-demuxer=DEMUXER  enable specified FFmpeg demuxer
355   --disable-muxer=MUXER     disable specified FFmpeg muxer
356   --enable-muxer=MUXER      enable specified FFmpeg muxer
357
358 Video output:
359   --disable-vidix          disable VIDIX [for x86 *nix]
360   --with-vidix-drivers[=*] list of VIDIX drivers to be compiled in
361                            Available: cyberblade,ivtv,mach64,mga,mga_crtc2,
362                            nvidia,pm2,pm3,radeon,rage128,s3,sis,unichrome
363   --disable-vidix-pcidb    disable VIDIX PCI device name database
364   --enable-dhahelper       enable VIDIX dhahelper support
365   --enable-svgalib_helper  enable VIDIX svgalib_helper support
366   --enable-gl              enable OpenGL video output [autodetect]
367   --enable-dga2            enable DGA 2 support [autodetect]
368   --enable-dga1            enable DGA 1 support [autodetect]
369   --enable-vesa            enable VESA video output [autodetect]
370   --enable-svga            enable SVGAlib video output [autodetect]
371   --enable-sdl             enable SDL video output [autodetect]
372   --enable-kva             enable KVA video output [autodetect]
373   --enable-aa              enable AAlib video output [autodetect]
374   --enable-caca            enable CACA  video output [autodetect]
375   --enable-ggi             enable GGI video output [autodetect]
376   --enable-ggiwmh          enable GGI libggiwmh extension [autodetect]
377   --enable-direct3d        enable Direct3D video output [autodetect]
378   --enable-directx         enable DirectX video output [autodetect]
379   --enable-dxr2            enable DXR2 video output [autodetect]
380   --enable-dxr3            enable DXR3/H+ video output [autodetect]
381   --enable-ivtv            enable IVTV TV-Out video output [autodetect]
382   --enable-v4l2            enable V4L2 Decoder audio/video output [autodetect]
383   --enable-dvb             enable DVB video output [autodetect]
384   --enable-dvbhead         enable DVB video output (HEAD version) [autodetect]
385   --enable-mga             enable mga_vid video output [autodetect]
386   --enable-xmga            enable mga_vid X11 video output [autodetect]
387   --enable-xv              enable Xv video output [autodetect]
388   --enable-xvmc            enable XvMC acceleration [disable]
389   --enable-vdpau           enable VDPAU acceleration [autodetect]
390   --enable-vm              enable XF86VidMode support [autodetect]
391   --enable-xinerama        enable Xinerama support [autodetect]
392   --enable-x11             enable X11 video output [autodetect]
393   --enable-xshape          enable XShape support [autodetect]
394   --disable-xss            disable screensaver support via xss [autodetect]
395   --enable-fbdev           enable FBDev video output [autodetect]
396   --enable-mlib            enable mediaLib video output (Solaris) [disable]
397   --enable-3dfx            enable obsolete /dev/3dfx video output [disable]
398   --enable-tdfxfb          enable tdfxfb video output [disable]
399   --enable-s3fb            enable s3fb (S3 ViRGE) video output [disable]
400   --enable-wii             enable Nintendo Wii/GameCube video output [disable]
401   --enable-directfb        enable DirectFB video output [autodetect]
402   --enable-zr              enable ZR360[56]7/ZR36060 video output [autodetect]
403   --enable-bl              enable Blinkenlights video output [disable]
404   --enable-tdfxvid         enable tdfx_vid video output [disable]
405   --enable-xvr100          enable SUN XVR-100 video output [autodetect]
406   --disable-tga            disable Targa video output [enable]
407   --disable-pnm            disable PNM video output [enable]
408   --disable-md5sum         disable md5sum video output [enable]
409   --disable-yuv4mpeg       disable yuv4mpeg video output [enable]
410   --disable-corevideo      disable CoreVideo video output [autodetect]
411   --disable-quartz         disable Quartz video output [autodetect]
412
413 Audio output:
414   --disable-alsa         disable ALSA audio output [autodetect]
415   --disable-ossaudio     disable OSS audio output [autodetect]
416   --disable-arts         disable aRts audio output [autodetect]
417   --disable-esd          disable esd audio output [autodetect]
418   --disable-pulse        disable Pulseaudio audio output [autodetect]
419   --disable-jack         disable JACK audio output [autodetect]
420   --disable-openal       disable OpenAL audio output [autodetect]
421   --disable-nas          disable NAS audio output [autodetect]
422   --disable-sgiaudio     disable SGI audio output [autodetect]
423   --disable-sunaudio     disable Sun audio output [autodetect]
424   --disable-dart         disable DART audio output [autodetect]
425   --disable-win32waveout disable Windows waveout audio output [autodetect]
426   --disable-coreaudio    disable CoreAudio audio output [autodetect]
427   --disable-select       disable using select() on the audio device [enable]
428
429 Language options:
430   --charset=charset      convert the console messages to this character set
431   --language-doc=lang    language to use for the documentation [en]
432   --language-man=lang    language to use for the man pages [en]
433   --language-msg=lang    language to use for the messages and the GUI [en]
434   --language=lang        default language to use [en]
435 Specific options override --language. You can pass a list of languages separated
436 by whitespace or commas instead of a single language. Nonexisting translations
437 will be dropped from each list. All documentation and man page translations
438 available in the list will be installed, for the messages the first available
439 translation will be used. The value "all" will activate all translations. The
440 LINGUAS environment variable is honored. In all cases the fallback is English.
441 Available values are: all $msg_lang_all
442
443 Miscellaneous options:
444   --enable-runtime-cpudetection    enable runtime CPU detection [disable]
445   --enable-cross-compile enable cross-compilation [autodetect]
446   --cc=COMPILER          C compiler to build MPlayer [gcc]
447   --host-cc=COMPILER     C compiler for tools needed while building [gcc]
448   --as=ASSEMBLER         assembler to build MPlayer [as]
449   --nm=NM                nm tool to build MPlayer [nm]
450   --yasm=YASM            Yasm assembler to build MPlayer [yasm]
451   --ar=AR                librarian to build MPlayer [ar]
452   --ranlib=RANLIB        ranlib to build MPlayer [ranlib]
453   --windres=WINDRES      windres to build MPlayer [windres]
454   --target=PLATFORM      target platform (i386-linux, arm-linux, etc)
455   --enable-static        build a statically linked binary
456   --with-install=PATH    path to a custom install program
457
458 Advanced options:
459   --enable-mmx              enable MMX [autodetect]
460   --enable-mmxext           enable MMX2 (Pentium III, Athlon) [autodetect]
461   --enable-3dnow            enable 3DNow! [autodetect]
462   --enable-3dnowext         enable extended 3DNow! [autodetect]
463   --enable-sse              enable SSE [autodetect]
464   --enable-sse2             enable SSE2 [autodetect]
465   --enable-ssse3            enable SSSE3 [autodetect]
466   --enable-shm              enable shm [autodetect]
467   --enable-altivec          enable AltiVec (PowerPC) [autodetect]
468   --enable-armv5te          enable DSP extensions (ARM) [autodetect]
469   --enable-armv6            enable ARMv6 (ARM) [autodetect]
470   --enable-armv6t2          enable ARMv6t2 (ARM) [autodetect]
471   --enable-armvfp           enable ARM VFP (ARM) [autodetect]
472   --enable-neon             enable NEON (ARM) [autodetect]
473   --enable-iwmmxt           enable iWMMXt (ARM) [autodetect]
474   --disable-fastmemcpy      disable 3DNow!/SSE/MMX optimized memcpy [enable]
475   --enable-big-endian       force byte order to big-endian [autodetect]
476   --enable-debug[=1-3]      compile-in debugging information [disable]
477   --enable-profile          compile-in profiling information [disable]
478   --disable-sighandler      disable sighandler for crashes [enable]
479   --enable-crash-debug      enable automatic gdb attach on crash [disable]
480   --enable-dynamic-plugins  enable dynamic A/V plugins [disable]
481
482 Use these options if autodetection fails:
483   --extra-cflags=FLAGS        extra CFLAGS
484   --extra-ldflags=FLAGS       extra LDFLAGS
485   --extra-libs=FLAGS          extra linker flags
486   --extra-libs-mplayer=FLAGS  extra linker flags for MPlayer
487   --extra-libs-mencoder=FLAGS extra linker flags for MEncoder
488   --with-xvmclib=NAME         adapter-specific library name (e.g. XvMCNVIDIA)
489
490   --with-freetype-config=PATH path to freetype-config
491   --with-fribidi-config=PATH  path to fribidi-config
492   --with-glib-config=PATH     path to glib*-config
493   --with-gtk-config=PATH      path to gtk*-config
494   --with-sdl-config=PATH      path to sdl*-config
495   --with-dvdnav-config=PATH   path to dvdnav-config
496   --with-dvdread-config=PATH  path to dvdread-config
497
498 This configure script is NOT autoconf-based, even though its output is similar.
499 It will try to autodetect all configuration options. If you --enable an option
500 it will be forcefully turned on, skipping autodetection. This can break
501 compilation, so you need to know what you are doing.
502 EOF
503 exit 0
504 } #show_help()
505
506 # GOTCHA: the variables below defines the default behavior for autodetection
507 # and have - unless stated otherwise - at least 2 states : yes no
508 # If autodetection is available then the third state is: auto
509 _mmx=auto
510 _3dnow=auto
511 _3dnowext=auto
512 _mmxext=auto
513 _sse=auto
514 _sse2=auto
515 _ssse3=auto
516 _cmov=auto
517 _fast_cmov=auto
518 _armv5te=auto
519 _armv6=auto
520 _armv6t2=auto
521 _armvfp=auto
522 neon=auto
523 _iwmmxt=auto
524 _mtrr=auto
525 _altivec=auto
526 _install=install
527 _ranlib=ranlib
528 _windres=windres
529 _cc=cc
530 _ar=ar
531 test "$CC" && _cc="$CC"
532 _as=auto
533 _nm=auto
534 _yasm=yasm
535 _runtime_cpudetection=no
536 _cross_compile=auto
537 _prefix="/usr/local"
538 _libavutil_a=auto
539 _libavutil_so=auto
540 _libavcodec_a=auto
541 _libopencore_amrnb=auto
542 _libopencore_amrwb=auto
543 _libavdecoders_all=$(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
544 _libavdecoders=$(echo $_libavdecoders_all | sed -e 's/ LIB[A-Z0-9_]*_DECODER//g' -e s/MPEG4AAC_DECODER//)
545 _libavencoders_all=$(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
546 _libavencoders=$(echo $_libavencoders_all | sed -e 's/ LIB[A-Z0-9_]*_ENCODER//g' -e s/AAC_ENCODER//)
547 _libavparsers_all=$(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
548 _libavparsers=$_libavparsers_all
549 _libavbsfs_all=$(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')
550 _libavbsfs=$_libavbsfs_all
551 _libavdemuxers_all=$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')
552 _libavdemuxers=$(echo $_libavdemuxers_all | sed -e 's/ LIB[A-Z0-9_]*_DEMUXER//g' -e s/REDIR_DEMUXER// -e s/RTSP_DEMUXER// -e s/SDP_DEMUXER// -e s/AVISYNTH_DEMUXER//)
553 _libavmuxers_all=$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')
554 _libavmuxers=$(echo $_libavmuxers_all | sed -e 's/ LIB[A-Z0-9_]*_MUXER//g' -e s/RTP_MUXER//)
555 _libavprotocols_all=$(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')
556 _libavprotocols=""
557 _libavcodec_so=auto
558 _libavformat_a=auto
559 _libavformat_so=auto
560 _libpostproc_a=auto
561 _libpostproc_so=auto
562 _libswscale_a=auto
563 _libswscale_so=auto
564 _libavcodec_mpegaudio_hp=yes
565 _mencoder=yes
566 _mplayer=yes
567 _x11=auto
568 _xshape=auto
569 _xss=auto
570 _dga1=auto
571 _dga2=auto
572 _xv=auto
573 _xvmc=no  #auto when complete
574 _vdpau=auto
575 _sdl=auto
576 _kva=auto
577 _direct3d=auto
578 _directx=auto
579 _win32waveout=auto
580 _nas=auto
581 _png=auto
582 _mng=auto
583 _jpeg=auto
584 _pnm=yes
585 _md5sum=yes
586 _yuv4mpeg=yes
587 _gif=auto
588 _gl=auto
589 _ggi=auto
590 _ggiwmh=auto
591 _aa=auto
592 _caca=auto
593 _svga=auto
594 _vesa=auto
595 _fbdev=auto
596 _dvb=auto
597 _dvbhead=auto
598 _dxr2=auto
599 _dxr3=auto
600 _ivtv=auto
601 _v4l2=auto
602 _iconv=auto
603 _langinfo=auto
604 _rtc=auto
605 _ossaudio=auto
606 _arts=auto
607 _esd=auto
608 _pulse=auto
609 _jack=auto
610 _dart=auto
611 _openal=auto
612 _libcdio=auto
613 _liblzo=auto
614 _mad=auto
615 _mp3lame=auto
616 _mp3lame_lavc=auto
617 _toolame=auto
618 _twolame=auto
619 _tremor=auto
620 _tremor_internal=yes
621 _tremor_low=no
622 _libvorbis=auto
623 _speex=auto
624 _theora=auto
625 _mp3lib=auto
626 _liba52=auto
627 _liba52_internal=auto
628 _libdca=auto
629 _libmpeg2=auto
630 _faad=auto
631 _faad_internal=auto
632 _faad_fixed=no
633 _faac=auto
634 _faac_lavc=auto
635 _ladspa=auto
636 _libbs2b=auto
637 _xmms=no
638 _vcd=auto
639 _dvdnav=auto
640 _dvdnavconfig=dvdnav-config
641 _dvdreadconfig=dvdread-config
642 _dvdread=auto
643 _dvdread_internal=auto
644 _libdvdcss_internal=auto
645 _xanim=auto
646 _real=auto
647 _live=auto
648 _nemesi=auto
649 _native_rtsp=yes
650 _xinerama=auto
651 _mga=auto
652 _xmga=auto
653 _vm=auto
654 _xf86keysym=auto
655 _mlib=no #broken, thus disabled
656 _sgiaudio=auto
657 _sunaudio=auto
658 _alsa=auto
659 _fastmemcpy=yes
660 _unrar_exec=auto
661 _win32dll=auto
662 _select=yes
663 _radio=no
664 _radio_capture=no
665 _radio_v4l=auto
666 _radio_v4l2=auto
667 _radio_bsdbt848=auto
668 _tv=yes
669 _tv_v4l1=auto
670 _tv_v4l2=auto
671 _tv_bsdbt848=auto
672 _tv_dshow=auto
673 _pvr=auto
674 _network=yes
675 _winsock2_h=auto
676 _smb=auto
677 _vidix=auto
678 _vidix_pcidb=yes
679 _dhahelper=no
680 _svgalib_helper=no
681 _joystick=no
682 _xvid=auto
683 _xvid_lavc=auto
684 _x264=auto
685 _x264_lavc=auto
686 _libdirac_lavc=auto
687 _libschroedinger_lavc=auto
688 _libnut=auto
689 _lirc=auto
690 _lircc=auto
691 _apple_remote=auto
692 _apple_ir=auto
693 _gui=no
694 _gtk1=no
695 _termcap=auto
696 _termios=auto
697 _3dfx=no
698 _s3fb=no
699 _wii=no
700 _tdfxfb=no
701 _tdfxvid=no
702 _xvr100=auto
703 _tga=yes
704 _directfb=auto
705 _zr=auto
706 _bl=no
707 _largefiles=yes
708 #language=en
709 _shm=auto
710 _linux_devfs=no
711 _charset="UTF-8"
712 _dynamic_plugins=no
713 _crash_debug=no
714 _sighandler=yes
715 _libdv=auto
716 _cdparanoia=auto
717 _cddb=auto
718 _big_endian=auto
719 _bitmap_font=yes
720 _freetype=auto
721 _fontconfig=auto
722 _menu=no
723 _qtx=auto
724 _maemo=auto
725 _coreaudio=auto
726 _corevideo=auto
727 _quartz=auto
728 quicktime=auto
729 _macosx_finder=no
730 _macosx_bundle=auto
731 _sortsub=yes
732 _freetypeconfig='freetype-config'
733 _fribidi=auto
734 _fribidiconfig='fribidi-config'
735 _enca=auto
736 _inet6=auto
737 _gethostbyname2=auto
738 _ftp=yes
739 _musepack=auto
740 _vstream=auto
741 _pthreads=auto
742 _w32threads=auto
743 _ass=auto
744 _rpath=no
745 _asmalign_pot=auto
746 _stream_cache=yes
747 _priority=no
748 def_dos_paths="#define HAVE_DOS_PATHS 0"
749 def_stream_cache="#define CONFIG_STREAM_CACHE 1"
750 def_priority="#undef CONFIG_PRIORITY"
751 def_pthread_cache="#undef PTHREAD_CACHE"
752 _need_shmem=yes
753 for ac_option do
754   case "$ac_option" in
755   --help|-help|-h)
756     show_help
757     ;;
758   --prefix=*)
759     _prefix=$(echo $ac_option | cut -d '=' -f 2)
760     ;;
761   --bindir=*)
762     _bindir=$(echo $ac_option | cut -d '=' -f 2)
763     ;;
764   --datadir=*)
765     _datadir=$(echo $ac_option | cut -d '=' -f 2)
766     ;;
767   --mandir=*)
768     _mandir=$(echo $ac_option | cut -d '=' -f 2)
769     ;;
770   --confdir=*)
771     _confdir=$(echo $ac_option | cut -d '=' -f 2)
772     ;;
773   --libdir=*)
774     _libdir=$(echo $ac_option | cut -d '=' -f 2)
775     ;;
776   --codecsdir=*)
777     _codecsdir=$(echo $ac_option | cut -d '=' -f 2)
778     ;;
779   --win32codecsdir=*)
780     _win32codecsdir=$(echo $ac_option | cut -d '=' -f 2)
781     ;;
782   --xanimcodecsdir=*)
783     _xanimcodecsdir=$(echo $ac_option | cut -d '=' -f 2)
784     ;;
785   --realcodecsdir=*)
786     _realcodecsdir=$(echo $ac_option | cut -d '=' -f 2)
787     ;;
788
789   --with-install=*)
790     _install=$(echo $ac_option | cut -d '=' -f 2 )
791     ;;
792   --with-xvmclib=*)
793     _xvmclib=$(echo $ac_option | cut -d '=' -f 2)
794     ;;
795
796   --with-sdl-config=*)
797     _sdlconfig=$(echo $ac_option | cut -d '=' -f 2)
798     ;;
799   --with-freetype-config=*)
800     _freetypeconfig=$(echo $ac_option | cut -d '=' -f 2)
801     ;;
802   --with-fribidi-config=*)
803     _fribidiconfig=$(echo $ac_option | cut -d '=' -f 2)
804     ;;
805   --with-gtk-config=*)
806     _gtkconfig=$(echo $ac_option | cut -d '=' -f 2)
807     ;;
808   --with-glib-config=*)
809     _glibconfig=$(echo $ac_option | cut -d '=' -f 2)
810     ;;
811   --with-dvdnav-config=*)
812     _dvdnavconfig=$(echo $ac_option | cut -d '=' -f 2)
813     ;;
814   --with-dvdread-config=*)
815     _dvdreadconfig=$(echo $ac_option | cut -d '=' -f 2)
816     ;;
817
818   --extra-cflags=*)
819     extra_cflags=$(echo $ac_option | cut -d '=' -f 2-)
820     ;;
821   --extra-ldflags=*)
822     extra_ldflags=$(echo $ac_option | cut -d '=' -f 2-)
823     ;;
824   --extra-libs=*)
825     extra_libs=$(echo $ac_option | cut -d '=' -f 2)
826     ;;
827   --extra-libs-mplayer=*)
828     libs_mplayer=$(echo $ac_option | cut -d '=' -f 2)
829     ;;
830   --extra-libs-mencoder=*)
831     libs_mencoder=$(echo $ac_option | cut -d '=' -f 2)
832     ;;
833
834   --target=*)
835     _target=$(echo $ac_option | cut -d '=' -f 2)
836     ;;
837   --cc=*)
838     _cc=$(echo $ac_option | cut -d '=' -f 2)
839     ;;
840   --host-cc=*)
841     _host_cc=$(echo $ac_option | cut -d '=' -f 2)
842     ;;
843   --as=*)
844     _as=$(echo $ac_option | cut -d '=' -f 2)
845     ;;
846   --nm=*)
847     _nm=$(echo $ac_option | cut -d '=' -f 2)
848     ;;
849   --yasm=*)
850     _yasm=$(echo $ac_option | cut -d '=' -f 2)
851     ;;
852   --ar=*)
853     _ar=$(echo $ac_option | cut -d '=' -f 2)
854     ;;
855   --ranlib=*)
856     _ranlib=$(echo $ac_option | cut -d '=' -f 2)
857     ;;
858   --windres=*)
859     _windres=$(echo $ac_option | cut -d '=' -f 2)
860     ;;
861   --charset=*)
862     _charset=$(echo $ac_option | cut -d '=' -f 2)
863     ;;
864   --language-doc=*)
865     language_doc=$(echo $ac_option | cut -d '=' -f 2)
866     ;;
867   --language-man=*)
868     language_man=$(echo $ac_option | cut -d '=' -f 2)
869     ;;
870   --language-msg=*)
871     language_msg=$(echo $ac_option | cut -d '=' -f 2)
872     ;;
873   --language=*)
874     language=$(echo $ac_option | cut -d '=' -f 2)
875     ;;
876
877   --enable-static)
878     _ld_static='-static'
879     ;;
880   --disable-static)
881     _ld_static=''
882     ;;
883   --enable-profile)
884     _profile='-p'
885     ;;
886   --disable-profile)
887     _profile=
888     ;;
889   --enable-debug)
890     _debug='-g'
891     ;;
892   --enable-debug=*)
893     _debug=$(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2)
894     ;;
895   --disable-debug)
896     _debug=
897     ;;
898   --enable-runtime-cpudetection)    _runtime_cpudetection=yes   ;;
899   --disable-runtime-cpudetection)   _runtime_cpudetection=no    ;;
900   --enable-cross-compile)           _cross_compile=yes          ;;
901   --disable-cross-compile)          _cross_compile=no           ;;
902   --enable-mencoder)    _mencoder=yes   ;;
903   --disable-mencoder)   _mencoder=no    ;;
904   --enable-mplayer)     _mplayer=yes    ;;
905   --disable-mplayer)    _mplayer=no     ;;
906   --enable-dynamic-plugins) _dynamic_plugins=yes ;;
907   --disable-dynamic-plugins) _dynamic_plugins=no ;;
908   --enable-x11)         _x11=yes        ;;
909   --disable-x11)        _x11=no         ;;
910   --enable-xshape)      _xshape=yes     ;;
911   --disable-xshape)     _xshape=no      ;;
912   --enable-xss) _xss=yes        ;;
913   --disable-xss)        _xss=no ;;
914   --enable-xv)          _xv=yes         ;;
915   --disable-xv)         _xv=no          ;;
916   --enable-xvmc)        _xvmc=yes       ;;
917   --disable-xvmc)       _xvmc=no        ;;
918   --enable-vdpau)       _vdpau=yes      ;;
919   --disable-vdpau)      _vdpau=no       ;;
920   --enable-sdl)         _sdl=yes        ;;
921   --disable-sdl)        _sdl=no         ;;
922   --enable-kva)     _kva=yes    ;;
923   --disable-kva)    _kva=no     ;;
924   --enable-direct3d)    _direct3d=yes   ;;
925   --disable-direct3d)   _direct3d=no    ;;
926   --enable-directx)     _directx=yes    ;;
927   --disable-directx)    _directx=no     ;;
928   --enable-win32waveout)  _win32waveout=yes ;;
929   --disable-win32waveout) _win32waveout=no  ;;
930   --enable-nas)         _nas=yes        ;;
931   --disable-nas)        _nas=no         ;;
932   --enable-png)         _png=yes        ;;
933   --disable-png)        _png=no         ;;
934   --enable-mng)         _mng=yes        ;;
935   --disable-mng)        _mng=no         ;;
936   --enable-jpeg)        _jpeg=yes       ;;
937   --disable-jpeg)       _jpeg=no                ;;
938   --enable-pnm)         _pnm=yes        ;;
939   --disable-pnm)        _pnm=no         ;;
940   --enable-md5sum)      _md5sum=yes     ;;
941   --disable-md5sum)     _md5sum=no      ;;
942   --enable-yuv4mpeg)    _yuv4mpeg=yes   ;;
943   --disable-yuv4mpeg)   _yuv4mpeg=no    ;;
944   --enable-gif) _gif=yes        ;;
945   --disable-gif)        _gif=no         ;;
946   --enable-gl)          _gl=yes         ;;
947   --disable-gl)         _gl=no          ;;
948   --enable-ggi)         _ggi=yes        ;;
949   --disable-ggi)        _ggi=no         ;;
950   --enable-ggiwmh)      _ggiwmh=yes     ;;
951   --disable-ggiwmh)     _ggiwmh=no      ;;
952   --enable-aa)          _aa=yes         ;;
953   --disable-aa)         _aa=no          ;;
954   --enable-caca)        _caca=yes       ;;
955   --disable-caca)       _caca=no        ;;
956   --enable-svga)        _svga=yes       ;;
957   --disable-svga)       _svga=no        ;;
958   --enable-vesa)        _vesa=yes       ;;
959   --disable-vesa)       _vesa=no        ;;
960   --enable-fbdev)       _fbdev=yes      ;;
961   --disable-fbdev)      _fbdev=no       ;;
962   --enable-dvb)         _dvb=yes        ;;
963   --disable-dvb)        _dvb=no         ;;
964   --enable-dvbhead)     _dvbhead=yes    ;;
965   --disable-dvbhead)    _dvbhead=no     ;;
966   --enable-dxr2)        _dxr2=yes       ;;
967   --disable-dxr2)       _dxr2=no        ;;
968   --enable-dxr3)        _dxr3=yes       ;;
969   --disable-dxr3)       _dxr3=no        ;;
970   --enable-ivtv)        _ivtv=yes       ;;
971   --disable-ivtv)       _ivtv=no        ;;
972   --enable-v4l2)        _v4l2=yes       ;;
973   --disable-v4l2)       _v4l2=no        ;;
974   --enable-iconv)       _iconv=yes      ;;
975   --disable-iconv)      _iconv=no       ;;
976   --enable-langinfo)    _langinfo=yes   ;;
977   --disable-langinfo)   _langinfo=no    ;;
978   --enable-rtc)         _rtc=yes        ;;
979   --disable-rtc)        _rtc=no         ;;
980   --enable-libdv)       _libdv=yes      ;;
981   --disable-libdv)      _libdv=no       ;;
982   --enable-ossaudio)    _ossaudio=yes   ;;
983   --disable-ossaudio)   _ossaudio=no    ;;
984   --enable-arts)        _arts=yes       ;;
985   --disable-arts)       _arts=no        ;;
986   --enable-esd)         _esd=yes        ;;
987   --disable-esd)        _esd=no         ;;
988   --enable-pulse)       _pulse=yes      ;;
989   --disable-pulse)      _pulse=no       ;;
990   --enable-jack)        _jack=yes       ;;
991   --disable-jack)       _jack=no        ;;
992   --enable-openal)      _openal=yes     ;;
993   --disable-openal)     _openal=no      ;;
994   --enable-dart)   _dart=yes   ;;
995   --disable-dart)  _dart=no    ;;
996   --enable-mad)         _mad=yes        ;;
997   --disable-mad)        _mad=no         ;;
998   --enable-mp3lame)     _mp3lame=yes    ;;
999   --disable-mp3lame)    _mp3lame=no     ;;
1000   --enable-mp3lame-lavc)        _mp3lame_lavc=yes       ;;
1001   --disable-mp3lame-lavc)       _mp3lame_lavc=no        ;;
1002   --enable-toolame)     _toolame=yes    ;;
1003   --disable-toolame)    _toolame=no     ;;
1004   --enable-twolame)     _twolame=yes    ;;
1005   --disable-twolame)    _twolame=no     ;;
1006   --enable-libcdio)     _libcdio=yes    ;;
1007   --disable-libcdio)    _libcdio=no     ;;
1008   --enable-liblzo)      _liblzo=yes     ;;
1009   --disable-liblzo)     _liblzo=no              ;;
1010   --enable-libvorbis)   _libvorbis=yes  ;;
1011   --disable-libvorbis)  _libvorbis=no   ;;
1012   --enable-speex)       _speex=yes      ;;
1013   --disable-speex)      _speex=no       ;;
1014   --enable-tremor)      _tremor=yes     ;;
1015   --disable-tremor)     _tremor=no      ;;
1016   --enable-tremor-internal)     _tremor_internal=yes    ;;
1017   --disable-tremor-internal)    _tremor_internal=no     ;;
1018   --enable-tremor-low)  _tremor_low=yes ;;
1019   --disable-tremor-low) _tremor_low=no  ;;
1020   --enable-theora)      _theora=yes     ;;
1021   --disable-theora)     _theora=no      ;;
1022   --enable-mp3lib)      _mp3lib=yes     ;;
1023   --disable-mp3lib)     _mp3lib=no      ;;
1024   --enable-liba52-internal)     _liba52_internal=yes    ;;
1025   --disable-liba52-internal)    _liba52_internal=no     ;;
1026   --enable-liba52)      _liba52=yes     ;;
1027   --disable-liba52)     _liba52=no      ;;
1028   --enable-libdca)      _libdca=yes     ;;
1029   --disable-libdca)     _libdca=no      ;;
1030   --enable-libmpeg2)    _libmpeg2=yes   ;;
1031   --disable-libmpeg2)   _libmpeg2=no    ;;
1032   --enable-musepack)    _musepack=yes   ;;
1033   --disable-musepack)   _musepack=no    ;;
1034   --enable-faad)        _faad=yes       ;;
1035   --disable-faad)       _faad=no        ;;
1036   --enable-faad-internal)       _faad_internal=yes      ;;
1037   --disable-faad-internal)      _faad_internal=no       ;;
1038   --enable-faad-fixed)  _faad_fixed=yes ;;
1039   --disable-faad-fixed) _faad_fixed=no  ;;
1040   --enable-faac)        _faac=yes       ;;
1041   --disable-faac)       _faac=no        ;;
1042   --enable-faac-lavc)   _faac_lavc=yes  ;;
1043   --disable-faac-lavc)  _faac_lavc=no   ;;
1044   --enable-ladspa)      _ladspa=yes     ;;
1045   --disable-ladspa)     _ladspa=no              ;;
1046   --enable-libbs2b)     _libbs2b=yes    ;;
1047   --disable-libbs2b)    _libbs2b=no     ;;
1048   --enable-xmms)        _xmms=yes       ;;
1049   --disable-xmms)       _xmms=no        ;;
1050   --enable-vcd)         _vcd=yes        ;;
1051   --disable-vcd)        _vcd=no         ;;
1052   --enable-dvdread)     _dvdread=yes    ;;
1053   --disable-dvdread)    _dvdread=no     ;;
1054   --enable-dvdread-internal)    _dvdread_internal=yes   ;;
1055   --disable-dvdread-internal)   _dvdread_internal=no    ;;
1056   --enable-libdvdcss-internal)  _libdvdcss_internal=yes ;;
1057   --disable-libdvdcss-internal) _libdvdcss_internal=no  ;;
1058   --enable-dvdnav)      _dvdnav=yes     ;;
1059   --disable-dvdnav)     _dvdnav=no      ;;
1060   --enable-xanim)       _xanim=yes      ;;
1061   --disable-xanim)      _xanim=no       ;;
1062   --enable-real)        _real=yes       ;;
1063   --disable-real)       _real=no        ;;
1064   --enable-live)        _live=yes       ;;
1065   --disable-live)       _live=no        ;;
1066   --enable-nemesi)      _nemesi=yes     ;;
1067   --disable-nemesi)     _nemesi=no      ;;
1068   --enable-xinerama)    _xinerama=yes   ;;
1069   --disable-xinerama)   _xinerama=no    ;;
1070   --enable-mga)         _mga=yes        ;;
1071   --disable-mga)        _mga=no         ;;
1072   --enable-xmga)        _xmga=yes       ;;
1073   --disable-xmga)       _xmga=no        ;;
1074   --enable-vm)          _vm=yes         ;;
1075   --disable-vm)         _vm=no          ;;
1076   --enable-xf86keysym)  _xf86keysym=yes ;;
1077   --disable-xf86keysym) _xf86keysym=no  ;;
1078   --enable-mlib)        _mlib=yes       ;;
1079   --disable-mlib)       _mlib=no        ;;
1080   --enable-sunaudio)    _sunaudio=yes   ;;
1081   --disable-sunaudio)   _sunaudio=no    ;;
1082   --enable-sgiaudio)    _sgiaudio=yes   ;;
1083   --disable-sgiaudio)   _sgiaudio=no    ;;
1084   --enable-alsa)        _alsa=yes       ;;
1085   --disable-alsa)       _alsa=no        ;;
1086   --enable-tv)          _tv=yes         ;;
1087   --disable-tv)         _tv=no          ;;
1088   --enable-tv-bsdbt848) _tv_bsdbt848=yes        ;;
1089   --disable-tv-bsdbt848)        _tv_bsdbt848=no ;;
1090   --enable-tv-v4l1)     _tv_v4l1=yes    ;;
1091   --disable-tv-v4l1)    _tv_v4l1=no     ;;
1092   --enable-tv-v4l2)     _tv_v4l2=yes    ;;
1093   --disable-tv-v4l2)    _tv_v4l2=no     ;;
1094   --enable-tv-dshow)    _tv_dshow=yes   ;;
1095   --disable-tv-dshow)   _tv_dshow=no    ;;
1096   --enable-radio)       _radio=yes      ;;
1097   --enable-radio-capture)       _radio_capture=yes      ;;
1098   --disable-radio-capture)       _radio_capture=no      ;;
1099   --disable-radio)      _radio=no       ;;
1100   --enable-radio-v4l)   _radio_v4l=yes  ;;
1101   --disable-radio-v4l)  _radio_v4l=no   ;;
1102   --enable-radio-v4l2)  _radio_v4l2=yes ;;
1103   --disable-radio-v4l2) _radio_v4l2=no  ;;
1104   --enable-radio-bsdbt848)      _radio_bsdbt848=yes     ;;
1105   --disable-radio-bsdbt848)     _radio_bsdbt848=no      ;;
1106   --enable-pvr)         _pvr=yes        ;;
1107   --disable-pvr)        _pvr=no         ;;
1108   --enable-fastmemcpy)  _fastmemcpy=yes ;;
1109   --disable-fastmemcpy) _fastmemcpy=no  ;;
1110   --enable-network)     _network=yes    ;;
1111   --disable-network)    _network=no     ;;
1112   --enable-winsock2_h)  _winsock2_h=yes ;;
1113   --disable-winsock2_h) _winsock2_h=no  ;;
1114   --enable-smb)         _smb=yes        ;;
1115   --disable-smb)        _smb=no ;;
1116   --enable-vidix)       _vidix=yes      ;;
1117   --disable-vidix)      _vidix=no       ;;
1118   --with-vidix-drivers=*)
1119     _vidix_drivers=$(echo $ac_option | cut -d '=' -f 2)
1120     ;;
1121   --disable-vidix-pcidb)        _vidix_pcidb=no         ;;
1122   --enable-dhahelper)   _dhahelper=yes  ;;
1123   --disable-dhahelper)  _dhahelper=no   ;;
1124   --enable-svgalib_helper)      _svgalib_helper=yes     ;;
1125   --disable-svgalib_helper)     _svgalib_helper=no      ;;
1126   --enable-joystick)    _joystick=yes   ;;
1127   --disable-joystick)   _joystick=no    ;;
1128   --enable-xvid)        _xvid=yes       ;;
1129   --disable-xvid)       _xvid=no        ;;
1130   --enable-xvid-lavc)   _xvid_lavc=yes  ;;
1131   --disable-xvid-lavc)  _xvid_lavc=no   ;;
1132   --enable-x264)        _x264=yes       ;;
1133   --disable-x264)       _x264=no        ;;
1134   --enable-x264-lavc)   _x264_lavc=yes  ;;
1135   --disable-x264-lavc)  _x264_lavc=no   ;;
1136   --enable-libdirac-lavc)   _libdirac_lavc=yes  ;;
1137   --disable-libdirac-lavc)  _libdirac_lavc=no   ;;
1138   --enable-libschroedinger-lavc)   _libschroedinger_lavc=yes  ;;
1139   --disable-libschroedinger-lavc)  _libschroedinger_lavc=no   ;;
1140   --enable-libnut)      _libnut=yes     ;;
1141   --disable-libnut)     _libnut=no      ;;
1142   --enable-libavutil_a)         _libavutil_a=yes        ;;
1143   --disable-libavutil_a)        _libavutil_a=no         ;;
1144   --enable-libavutil_so)        _libavutil_so=yes       ;;
1145   --disable-libavutil_so)       _libavutil_so=no        ;;
1146   --enable-libavcodec_a)        _libavcodec_a=yes       ;;
1147   --disable-libavcodec_a)       _libavcodec_a=no        ;;
1148   --enable-libavcodec_so)       _libavcodec_so=yes      ;;
1149   --disable-libavcodec_so)      _libavcodec_so=no       ;;
1150   --enable-libopencore_amrnb)   _libopencore_amrnb=yes  ;;
1151   --disable-libopencore_amrnb)  _libopencore_amrnb=no   ;;
1152   --enable-libopencore_amrwb)   _libopencore_amrwb=yes  ;;
1153   --disable-libopencore_amrwb)  _libopencore_amrwb=no   ;;
1154   --enable-decoder=*)  _libavdecoders="$_libavdecoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1155   --disable-decoder=*) _libavdecoders=$(echo $_libavdecoders | sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1156   --enable-encoder=*)  _libavencoders="$_libavencoders $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1157   --disable-encoder=*) _libavencoders=$(echo $_libavencoders | sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1158   --enable-parser=*)   _libavparsers="$_libavparsers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1159   --disable-parser=*)  _libavparsers=$(echo $_libavparsers | sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1160   --enable-protocol=*)   _libavprotocols="$_libavprotocols $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1161   --disable-protocol=*)  _libavprotocols=$(echo $_libavprotocols | sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1162   --enable-demuxer=*)  _libavdemuxers="$_libavdemuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1163   --disable-demuxer=*) _libavdemuxers=$(echo $_libavdemuxers | sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1164   --enable-muxer=*)    _libavmuxers="$_libavmuxers $(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')" ;;
1165   --disable-muxer=*)    _libavmuxers=$(echo $_libavmuxers | sed "s/$(echo $ac_option | cut -d '=' -f 2 | tr '[a-z]' '[A-Z]')//g") ;;
1166   --enable-libavformat_a)       _libavformat_a=yes      ;;
1167   --disable-libavformat_a)      _libavformat_a=no       ;;
1168   --enable-libavformat_so)      _libavformat_so=yes     ;;
1169   --disable-libavformat_so)     _libavformat_so=no      ;;
1170   --enable-libpostproc_a)       _libpostproc_a=yes      ;;
1171   --disable-libpostproc_a)      _libpostproc_a=no       ;;
1172   --enable-libpostproc_so)      _libpostproc_so=yes     ;;
1173   --disable-libpostproc_so)     _libpostproc_so=no      ;;
1174   --enable-libswscale_a)        _libswscale_a=yes       ;;
1175   --disable-libswscale_a)       _libswscale_a=no        ;;
1176   --enable-libswscale_so)       _libswscale_so=yes      ;;
1177   --disable-libswscale_so)      _libswscale_so=no       ;;
1178   --enable-libavcodec_mpegaudio_hp)     _libavcodec_mpegaudio_hp=yes    ;;
1179   --disable-libavcodec_mpegaudio_hp)    _libavcodec_mpegaudio_hp=no     ;;
1180
1181   --enable-lirc)        _lirc=yes       ;;
1182   --disable-lirc)       _lirc=no        ;;
1183   --enable-lircc)       _lircc=yes      ;;
1184   --disable-lircc)      _lircc=no       ;;
1185   --enable-apple-remote) _apple_remote=yes ;;
1186   --disable-apple-remote) _apple_remote=no ;;
1187   --enable-apple-ir)    _apple_ir=yes   ;;
1188   --disable-apple-ir)   _apple_ir=no    ;;
1189   --enable-gui)         _gui=yes        ;;
1190   --disable-gui)        _gui=no         ;;
1191   --enable-gtk1)        _gtk1=yes       ;;
1192   --disable-gtk1)       _gtk1=no        ;;
1193   --enable-termcap)     _termcap=yes    ;;
1194   --disable-termcap)    _termcap=no     ;;
1195   --enable-termios)     _termios=yes    ;;
1196   --disable-termios)    _termios=no     ;;
1197   --enable-3dfx)        _3dfx=yes       ;;
1198   --disable-3dfx)       _3dfx=no        ;;
1199   --enable-s3fb)        _s3fb=yes       ;;
1200   --disable-s3fb)       _s3fb=no        ;;
1201   --enable-wii)         _wii=yes        ;;
1202   --disable-wii)        _wii=no         ;;
1203   --enable-tdfxfb)      _tdfxfb=yes     ;;
1204   --disable-tdfxfb)     _tdfxfb=no      ;;
1205   --disable-tdfxvid)    _tdfxvid=no     ;;
1206   --enable-tdfxvid)     _tdfxvid=yes    ;;
1207   --disable-xvr100)     _xvr100=no      ;;
1208   --enable-xvr100)      _xvr100=yes     ;;
1209   --disable-tga)        _tga=no         ;;
1210   --enable-tga)         _tga=yes        ;;
1211   --enable-directfb)    _directfb=yes   ;;
1212   --disable-directfb)   _directfb=no    ;;
1213   --enable-zr)          _zr=yes         ;;
1214   --disable-zr)         _zr=no          ;;
1215   --enable-bl)          _bl=yes         ;;
1216   --disable-bl)         _bl=no          ;;
1217   --enable-mtrr)        _mtrr=yes       ;;
1218   --disable-mtrr)       _mtrr=no        ;;
1219   --enable-largefiles)  _largefiles=yes ;;
1220   --disable-largefiles) _largefiles=no  ;;
1221   --enable-shm)         _shm=yes        ;;
1222   --disable-shm)        _shm=no         ;;
1223   --enable-select)      _select=yes     ;;
1224   --disable-select)     _select=no      ;;
1225   --enable-linux-devfs) _linux_devfs=yes        ;;
1226   --disable-linux-devfs)        _linux_devfs=no ;;
1227   --enable-cdparanoia)  _cdparanoia=yes ;;
1228   --disable-cdparanoia) _cdparanoia=no  ;;
1229   --enable-cddb)        _cddb=yes       ;;
1230   --disable-cddb)       _cddb=no        ;;
1231   --enable-big-endian)  _big_endian=yes ;;
1232   --disable-big-endian) _big_endian=no  ;;
1233   --enable-bitmap-font)    _bitmap_font=yes   ;;
1234   --disable-bitmap-font)   _bitmap_font=no    ;;
1235   --enable-freetype)    _freetype=yes   ;;
1236   --disable-freetype)   _freetype=no    ;;
1237   --enable-fontconfig)  _fontconfig=yes ;;
1238   --disable-fontconfig) _fontconfig=no  ;;
1239   --enable-unrarexec)   _unrar_exec=yes ;;
1240   --disable-unrarexec)  _unrar_exec=no  ;;
1241   --enable-ftp)         _ftp=yes        ;;
1242   --disable-ftp)        _ftp=no         ;;
1243   --enable-vstream)     _vstream=yes    ;;
1244   --disable-vstream)    _vstream=no     ;;
1245   --enable-pthreads)    _pthreads=yes   ;;
1246   --disable-pthreads)   _pthreads=no    ;;
1247   --enable-w32threads)  _w32threads=yes ;;
1248   --disable-w32threads) _w32threads=no  ;;
1249   --enable-ass)         _ass=yes        ;;
1250   --disable-ass)        _ass=no         ;;
1251   --enable-rpath)       _rpath=yes      ;;
1252   --disable-rpath)      _rpath=no       ;;
1253
1254   --enable-fribidi)     _fribidi=yes    ;;
1255   --disable-fribidi)    _fribidi=no     ;;
1256
1257   --enable-enca)        _enca=yes    ;;
1258   --disable-enca)       _enca=no     ;;
1259
1260   --enable-inet6)       _inet6=yes      ;;
1261   --disable-inet6)      _inet6=no       ;;
1262
1263   --enable-gethostbyname2)      _gethostbyname2=yes     ;;
1264   --disable-gethostbyname2)     _gethostbyname2=no      ;;
1265
1266   --enable-dga1) _dga1=yes ;;
1267   --disable-dga1) _dga1=no ;;
1268   --enable-dga2) _dga2=yes ;;
1269   --disable-dga2) _dga2=no ;;
1270
1271   --enable-menu) _menu=yes ;;
1272   --disable-menu) _menu=no ;;
1273
1274   --enable-qtx) _qtx=yes ;;
1275   --disable-qtx) _qtx=no ;;
1276
1277   --enable-coreaudio) _coreaudio=yes ;;
1278   --disable-coreaudio) _coreaudio=no ;;
1279   --enable-corevideo) _corevideo=yes ;;
1280   --disable-corevideo) _corevideo=no ;;
1281   --enable-quartz) _quartz=yes ;;
1282   --disable-quartz) _quartz=no ;;
1283   --enable-macosx-finder) _macosx_finder=yes ;;
1284   --disable-macosx-finder) _macosx_finder=no ;;
1285   --enable-macosx-bundle) _macosx_bundle=yes;;
1286   --disable-macosx-bundle) _macosx_bundle=no;;
1287
1288   --enable-maemo) _maemo=yes ;;
1289   --disable-maemo) _maemo=no ;;
1290
1291   --enable-sortsub) _sortsub=yes ;;
1292   --disable-sortsub) _sortsub=no ;;
1293
1294   --enable-crash-debug) _crash_debug=yes ;;
1295   --disable-crash-debug) _crash_debug=no ;;
1296   --enable-sighandler)  _sighandler=yes  ;;
1297   --disable-sighandler) _sighandler=no   ;;
1298   --enable-win32dll) _win32dll=yes ;;
1299   --disable-win32dll) _win32dll=no ;;
1300
1301   --enable-sse) _sse=yes ;;
1302   --disable-sse) _sse=no ;;
1303   --enable-sse2) _sse2=yes ;;
1304   --disable-sse2) _sse2=no ;;
1305   --enable-ssse3) _ssse3=yes ;;
1306   --disable-ssse3) _ssse3=no ;;
1307   --enable-mmxext) _mmxext=yes ;;
1308   --disable-mmxext) _mmxext=no ;;
1309   --enable-3dnow) _3dnow=yes ;;
1310   --disable-3dnow) _3dnow=no _3dnowext=no ;;
1311   --enable-3dnowext) _3dnow=yes _3dnowext=yes ;;
1312   --disable-3dnowext) _3dnowext=no ;;
1313   --enable-cmov) _cmov=yes ;;
1314   --disable-cmov) _cmov=no ;;
1315   --enable-fast-cmov) _fast_cmov=yes ;;
1316   --disable-fast-cmov) _fast_cmov=no ;;
1317   --enable-altivec) _altivec=yes ;;
1318   --disable-altivec) _altivec=no ;;
1319   --enable-armv5te) _armv5te=yes ;;
1320   --disable-armv5te) _armv5te=no ;;
1321   --enable-armv6) _armv6=yes ;;
1322   --disable-armv6) _armv6=no ;;
1323   --enable-armv6t2) _armv6t2=yes ;;
1324   --disable-armv6t2) _armv6t2=no ;;
1325   --enable-armvfp) _armvfp=yes ;;
1326   --disable-armvfp) _armvfp=no ;;
1327   --enable-neon) neon=yes ;;
1328   --disable-neon) neon=no ;;
1329   --enable-iwmmxt) _iwmmxt=yes ;;
1330   --disable-iwmmxt) _iwmmxt=no ;;
1331   --enable-mmx) _mmx=yes ;;
1332   --disable-mmx) # 3Dnow! and MMX2 require MMX
1333         _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;;
1334
1335   *)
1336     echo "Unknown parameter: $ac_option"
1337     exit 1
1338     ;;
1339
1340   esac
1341 done
1342
1343 # Atmos: moved this here, to be correct, if --prefix is specified
1344 test -z "$_bindir" && _bindir="$_prefix/bin"
1345 test -z "$_datadir" && _datadir="$_prefix/share/mplayer"
1346 test -z "$_mandir" && _mandir="$_prefix/share/man"
1347 test -z "$_confdir" && _confdir="$_prefix/etc/mplayer"
1348 test -z "$_libdir" && _libdir="$_prefix/lib"
1349
1350 # Determine our OS name and CPU architecture
1351 if test -z "$_target" ; then
1352   # OS name
1353   system_name=$(uname -s 2>&1)
1354   case "$system_name" in
1355   Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|BSD/OS|Darwin|SunOS|QNX|GNU|BeOS|MorphOS|AIX|AmigaOS)
1356     ;;
1357   Haiku)
1358     system_name=BeOS
1359     ;;
1360   IRIX*)
1361     system_name=IRIX
1362     ;;
1363   GNU/kFreeBSD)
1364     system_name=FreeBSD
1365     ;;
1366   HP-UX*)
1367     system_name=HP-UX
1368     ;;
1369   [cC][yY][gG][wW][iI][nN]*)
1370     system_name=CYGWIN
1371     ;;
1372   MINGW32*)
1373     system_name=MINGW32
1374     ;;
1375   OS/2*)
1376     system_name=OS/2
1377     ;;
1378   *)
1379     system_name="$system_name-UNKNOWN"
1380     ;;
1381   esac
1382
1383
1384   # host's CPU/instruction set
1385    host_arch=$(uname -p 2>&1)
1386    case "$host_arch" in
1387    i386|sparc|ppc|alpha|arm|mips|vax)
1388      ;;
1389    powerpc) # Darwin returns 'powerpc'
1390      host_arch=ppc
1391      ;;
1392    *) # uname -p on Linux returns 'unknown' for the processor type,
1393       # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)'
1394
1395       # Maybe uname -m (machine hardware name) returns something we
1396       # recognize.
1397
1398       # x86/x86pc is used by QNX
1399       case "$(uname -m 2>&1)" in
1400       x86_64|amd64|i[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686|BePC) host_arch=i386 ;;
1401       ia64) host_arch=ia64 ;;
1402       macppc|ppc) host_arch=ppc ;;
1403       ppc64) host_arch=ppc64 ;;
1404       alpha) host_arch=alpha ;;
1405       sparc) host_arch=sparc ;;
1406       sparc64) host_arch=sparc64 ;;
1407       parisc*|hppa*|9000*) host_arch=hppa ;;
1408       arm*|zaurus|cats) host_arch=arm ;;
1409       sh3|sh4|sh4a) host_arch=sh ;;
1410       s390) host_arch=s390 ;;
1411       s390x) host_arch=s390x ;;
1412       *mips*) host_arch=mips ;;
1413       vax) host_arch=vax ;;
1414       xtensa*) host_arch=xtensa ;;
1415       *) host_arch=UNKNOWN ;;
1416     esac
1417     ;;
1418   esac
1419 else # if test -z "$_target"
1420   system_name=$(echo $_target | cut -d '-' -f 2)
1421   case "$(echo $system_name | tr A-Z a-z)" in
1422     linux) system_name=Linux ;;
1423     freebsd) system_name=FreeBSD ;;
1424     gnu/kfreebsd) system_name=FreeBSD ;;
1425     netbsd) system_name=NetBSD ;;
1426     bsd/os) system_name=BSD/OS ;;
1427     openbsd) system_name=OpenBSD ;;
1428     dragonfly) system_name=DragonFly ;;
1429     sunos) system_name=SunOS ;;
1430     qnx) system_name=QNX ;;
1431     morphos) system_name=MorphOS ;;
1432     amigaos) system_name=AmigaOS ;;
1433     mingw32msvc) system_name=MINGW32 ;;
1434   esac
1435   # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed
1436   host_arch=$(echo $_target | cut -d '-' -f 1)
1437   if test $(echo $host_arch) != "x86_64" ; then
1438     host_arch=$(echo $host_arch | tr '_' '-')
1439   fi
1440 fi
1441
1442 extra_cflags="-I. $extra_cflags"
1443 _timer=timer-linux.c
1444 _getch=getch2.c
1445 if freebsd ; then
1446   extra_ldflags="$extra_ldflags -L/usr/local/lib"
1447   extra_cflags="$extra_cflags -I/usr/local/include"
1448 fi
1449
1450 if netbsd || dragonfly ; then
1451   extra_ldflags="$extra_ldflags -L/usr/pkg/lib"
1452   extra_cflags="$extra_cflags -I/usr/pkg/include"
1453 fi
1454
1455 if darwin; then
1456   extra_cflags="-mdynamic-no-pic -falign-loops=16 -shared-libgcc $extra_cflags"
1457   _timer=timer-darwin.c
1458 fi
1459
1460 if aix ; then
1461   extra_ldflags="$extra_ldflags -lC"
1462 fi
1463
1464 if irix ; then
1465   _ranlib='ar -r'
1466 elif linux ; then
1467   _ranlib='true'
1468 fi
1469
1470 if win32 ; then
1471   _exesuf=".exe"
1472   # -lwinmm is always needed for osdep/timer-win2.c
1473   extra_ldflags="$extra_ldflags -lwinmm"
1474   _pe_executable=yes
1475   _timer=timer-win2.c
1476   _priority=yes
1477   def_dos_paths="#define HAVE_DOS_PATHS 1"
1478   def_priority="#define CONFIG_PRIORITY 1"
1479 fi
1480
1481 if mingw32 ; then
1482   _getch=getch2-win.c
1483   _need_shmem=no
1484 fi
1485
1486 if amigaos ; then
1487   _select=no
1488   _sighandler=no
1489   _stream_cache=no
1490   def_stream_cache="#undef CONFIG_STREAM_CACHE"
1491   extra_cflags="-DNEWLIB -D__USE_INLINE__ $extra_cflags"
1492 fi
1493
1494 if qnx ; then
1495   extra_ldflags="$extra_ldflags -lph"
1496 fi
1497
1498 if os2 ; then
1499   _exesuf=".exe"
1500   _getch=getch2-os2.c
1501   _need_shmem=no
1502   _priority=yes
1503   def_dos_paths="#define HAVE_DOS_PATHS 1"
1504   def_priority="#define CONFIG_PRIORITY 1"
1505 fi
1506
1507 for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
1508   test "$I" && break
1509 done
1510
1511
1512 TMPLOG="configure.log"
1513 TMPC="$I/mplayer-conf-$RANDOM-$$.c"
1514 TMPCPP="$I/mplayer-conf-$RANDOM-$$.cpp"
1515 TMPEXE="$I/mplayer-conf-$RANDOM-$$$_exesuf"
1516 TMPH="$I/mplayer-conf-$RANDOM-$$.h"
1517 TMPS="$I/mplayer-conf-$RANDOM-$$.S"
1518
1519 rm -f "$TMPLOG"
1520 echo configuration: $_configuration > "$TMPLOG"
1521 echo >> "$TMPLOG"
1522
1523
1524 if test "$_runtime_cpudetection" = yes && ! x86 && ! ppc; then
1525   die "Runtime CPU detection only works for x86, x86-64 and PPC!"
1526 fi
1527
1528
1529 # Checking CC version...
1530 # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
1531 if test "$(basename $_cc)" = "icc" || test "$(basename $_cc)" = "ecc"; then
1532   echocheck "$_cc version"
1533   cc_vendor=intel
1534   cc_name=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 1)
1535   cc_version=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 2 | cut -d ' ' -f 3)
1536   _cc_major=$(echo $cc_version | cut -d '.' -f 1)
1537   _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
1538   # TODO verify older icc/ecc compatibility
1539   case $cc_version in
1540     '')
1541       cc_version="v. ?.??, bad"
1542       cc_fail=yes
1543       ;;
1544     10.1|11.0|11.1)
1545       cc_version="$cc_version, ok"
1546       ;;
1547     *)
1548       cc_version="$cc_version, bad"
1549       cc_fail=yes
1550       ;;
1551   esac
1552   echores "$cc_version"
1553 else
1554   for _cc in "$_cc" cc gcc ; do
1555     cc_name_tmp=$($_cc -v 2>&1 | tail -n 1 | cut -d ' ' -f 1)
1556     if test "$cc_name_tmp" = "gcc"; then
1557     cc_name=$cc_name_tmp
1558     echocheck "$_cc version"
1559     cc_vendor=gnu
1560     cc_version=$($_cc -dumpversion 2>&1)
1561     case $cc_version in
1562       2.96*)
1563         cc_fail=yes
1564         ;;
1565       *)
1566         _cc_major=$(echo $cc_version | cut -d '.' -f 1)
1567         _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
1568         _cc_mini=$(echo $cc_version | cut -d '.' -f 3)
1569         ;;
1570     esac
1571     echores "$cc_version"
1572     break
1573     fi
1574   done
1575 fi # icc
1576 test "$cc_fail" = yes && die "unsupported compiler version"
1577
1578 if test -z "$_target" && x86 ; then
1579   cat > $TMPC << EOF
1580 int main(void) {
1581     int test[(int)sizeof(char *)-7];
1582     return 0;
1583 }
1584 EOF
1585   cc_check && host_arch=x86_64 || host_arch=i386
1586 fi
1587
1588 echo "Detected operating system: $system_name"
1589 echo "Detected host architecture: $host_arch"
1590
1591 echocheck "host cc"
1592 test "$_host_cc" || _host_cc=$_cc
1593 echores $_host_cc
1594
1595 echocheck "cross compilation"
1596 if test $_cross_compile = auto ; then
1597   cat > $TMPC << EOF
1598 int main(void) { return 0; }
1599 EOF
1600   _cross_compile=yes
1601   cc_check && "$TMPEXE" && _cross_compile=no
1602 fi
1603 echores $_cross_compile
1604
1605 if test $_cross_compile = yes; then
1606   tmp_run() {
1607     return 0
1608   }
1609 fi
1610
1611 # ---
1612
1613 # now that we know what compiler should be used for compilation, try to find
1614 # out which assembler is used by the $_cc compiler
1615 if test "$_as" = auto ; then
1616   _as=$($_cc -print-prog-name=as)
1617   test -z "$_as" && _as=as
1618 fi
1619
1620 if test "$_nm" = auto ; then
1621   _nm=$($_cc -print-prog-name=nm)
1622   test -z "$_nm" && _nm=nm
1623 fi
1624
1625 # XXX: this should be ok..
1626 _cpuinfo="echo"
1627
1628 if test "$_runtime_cpudetection" = no ; then
1629
1630 # Cygwin has /proc/cpuinfo, but only supports Intel CPUs
1631 # FIXME: Remove the cygwin check once AMD CPUs are supported
1632 if test -r /proc/cpuinfo && ! cygwin; then
1633   # Linux with /proc mounted, extract CPU information from it
1634   _cpuinfo="cat /proc/cpuinfo"
1635 elif test -r /compat/linux/proc/cpuinfo && ! x86_32 ; then
1636   # FreeBSD with Linux emulation /proc mounted,
1637   # extract CPU information from it
1638   _cpuinfo="cat /compat/linux/proc/cpuinfo"
1639 elif darwin && ! x86 ; then
1640   # use hostinfo on Darwin
1641   _cpuinfo="hostinfo"
1642 elif aix; then
1643   # use 'lsattr' on AIX
1644   _cpuinfo="lsattr -E -l proc0 -a type"
1645 elif x86; then
1646   # all other OSes try to extract CPU information from a small helper
1647   # program cpuinfo instead
1648   $_cc -o cpuinfo$_exesuf cpuinfo.c
1649   _cpuinfo="./cpuinfo$_exesuf"
1650 fi
1651
1652 if x86 ; then
1653   # gather more CPU information
1654   pname=$($_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -n 1)
1655   pvendor=$($_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2  | cut -d ' ' -f 2 | head -n 1)
1656   pfamily=$($_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1657   pmodel=$($_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1658   pstepping=$($_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1)
1659
1660   exts=$($_cpuinfo | egrep 'features|flags' | cut -d ':' -f 2 | head -n 1)
1661
1662   pparam=$(echo $exts | sed -e s/k6_mtrr/mtrr/ -e s/cyrix_arr/mtrr/ -e s/centaur_mcr/mtrr/ \
1663                             -e s/xmm/sse/ -e s/kni/sse/)
1664
1665   for ext in $pparam ; do
1666     eval test \"\$_$ext\" = auto 2>/dev/null && eval _$ext=kernel_check
1667   done
1668
1669   # SSE implies MMX2, but not all SSE processors report the mmxext CPU flag.
1670   test $_sse = kernel_check && _mmxext=kernel_check
1671
1672   echocheck "CPU vendor"
1673   echores "$pvendor ($pfamily:$pmodel:$pstepping)"
1674
1675   echocheck "CPU type"
1676   echores "$pname"
1677 fi
1678
1679 fi # test "$_runtime_cpudetection" = no
1680
1681 if x86 && test "$_runtime_cpudetection" = no ; then
1682   extcheck() {
1683     if test "$1" = kernel_check ; then
1684       echocheck "kernel support of $2"
1685       cat > $TMPC <<EOF
1686 #include <stdlib.h>
1687 #include <signal.h>
1688 void catch() { exit(1); }
1689 int main(void) {
1690   signal(SIGILL, catch);
1691   __asm__ volatile ("$3":::"memory"); return 0;
1692 }
1693 EOF
1694
1695       if cc_check && tmp_run ; then
1696         eval _$2=yes
1697         echores "yes"
1698         _optimizing="$_optimizing $2"
1699         return 0
1700       else
1701         eval _$2=no
1702         echores "failed"
1703         echo "It seems that your kernel does not correctly support $2."
1704         echo "To use $2 extensions in MPlayer, you have to upgrade/recompile your kernel!"
1705         return 1
1706       fi
1707     fi
1708     return 0
1709   }
1710
1711   extcheck $_mmx      "mmx"      "emms"
1712   extcheck $_mmxext   "mmxext"   "sfence"
1713   extcheck $_3dnow    "3dnow"    "femms"
1714   extcheck $_3dnowext "3dnowext" "pswapd %%mm0, %%mm0"
1715   extcheck $_sse      "sse"      "xorps %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse"
1716   extcheck $_sse2     "sse2"     "xorpd %%xmm0, %%xmm0" || _gcc3_ext="$_gcc3_ext -mno-sse2"
1717   extcheck $_ssse3    "ssse3"    "pabsd %%xmm0, %%xmm0"
1718   extcheck $_cmov     "cmov"     "cmovb %%eax,%%ebx"
1719
1720   echocheck "mtrr support"
1721   if test "$_mtrr" = kernel_check ; then
1722     _mtrr="yes"
1723     _optimizing="$_optimizing mtrr"
1724   fi
1725   echores "$_mtrr"
1726
1727   if test "$_gcc3_ext" != ""; then
1728     # if we had to disable sse/sse2 because the active kernel does not
1729     # support this instruction set extension, we also have to tell
1730     # gcc3 to not generate sse/sse2 instructions for normal C code
1731     cat > $TMPC << EOF
1732 int main(void) { return 0; }
1733 EOF
1734     cc_check $_march $_gcc3_ext && _march="$_march $_gcc3_ext"
1735   fi
1736
1737 fi
1738
1739
1740 def_fast_64bit='#define HAVE_FAST_64BIT 0'
1741 def_fast_unaligned='#define HAVE_FAST_UNALIGNED 0'
1742 _arch_all='X86 X86_32 X86_64 IA64 SPARC ARM AVR32 SH4 PPC PPC64 ALPHA MIPS SGI_MIPS PA_RISC S390 S390X VAX BFIN XTENSA GENERIC'
1743 case "$host_arch" in
1744   i[3-9]86|x86|x86pc|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686)
1745   _arch='X86 X86_32'
1746   _target_arch="ARCH_X86 = yes"
1747   _target_subarch="ARCH_X86_32 = yes"
1748   def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1749   iproc=486
1750   proc=i486
1751
1752
1753   if test "$_runtime_cpudetection" = no ; then
1754   case "$pvendor" in
1755   AuthenticAMD)
1756     case "$pfamily" in
1757     3) proc=i386 iproc=386 ;;
1758     4) proc=i486 iproc=486 ;;
1759     5) iproc=586       # LGB: models are: K5/SSA5 K5 K5 K5 ? ? K6 K6 K6-2 K6-3
1760         # K6 model 13 are the K6-2+ and K6-III+, only differing in cache size.
1761         if test "$pmodel" -eq 9 -o "$pmodel" -eq 13; then
1762                 proc=k6-3
1763         elif test "$pmodel" -eq 5 -o "$pmodel" -eq 10; then
1764                 proc=geode
1765         elif test "$pmodel" -ge 8; then
1766                 proc=k6-2
1767         elif test "$pmodel" -ge 6; then
1768                 proc=k6
1769         else
1770                 proc=i586
1771         fi
1772         ;;
1773     6) iproc=686
1774         # It's a bit difficult to determine the correct type of Family 6
1775         # AMD CPUs just from their signature. Instead, we check directly
1776         # whether it supports SSE.
1777         if test "$_sse" = yes; then
1778                 # gcc treats athlon-xp, athlon-4 and athlon-mp similarly.
1779                 proc=athlon-xp
1780         else
1781                 # Again, gcc treats athlon and athlon-tbird similarly.
1782                 proc=athlon
1783         fi
1784         ;;
1785     15) iproc=686
1786         # k8 cpu-type only supported in gcc >= 3.4.0, but that will be
1787         # caught and remedied in the optimization tests below.
1788         proc=k8
1789         ;;
1790
1791     *) proc=k8 iproc=686 ;;
1792     esac
1793     ;;
1794   GenuineIntel)
1795     case "$pfamily" in
1796     3) proc=i386 iproc=386 ;;
1797     4) proc=i486 iproc=486 ;;
1798     5) iproc=586
1799         if test "$pmodel" -eq 4 || test "$pmodel" -eq 8; then
1800                 proc=pentium-mmx # 4 is desktop, 8 is mobile
1801         else
1802                 proc=i586
1803         fi
1804         ;;
1805     6) iproc=686
1806         if test "$pmodel" -ge 15; then
1807                 proc=core2
1808         elif test "$pmodel" -eq 9 -o "$pmodel" -ge 13; then
1809                 proc=pentium-m
1810         elif test "$pmodel" -ge 7; then
1811                 proc=pentium3
1812         elif test "$pmodel" -ge 3; then
1813                 proc=pentium2
1814         else
1815                 proc=i686
1816         fi
1817         ;;
1818     15) iproc=686
1819         # A nocona in 32-bit mode has no more capabilities than a prescott.
1820         if test "$pmodel" -ge 3; then
1821                 proc=prescott
1822         else
1823                 proc=pentium4
1824         fi
1825         test $_fast_cmov = "auto" && _fast_cmov=no
1826         ;;
1827     *) proc=prescott iproc=686 ;;
1828     esac
1829     ;;
1830   CentaurHauls)
1831     case "$pfamily" in
1832     5) iproc=586
1833         if test "$pmodel" -ge 8; then
1834                 proc=winchip2
1835         elif test "$pmodel" -ge 4; then
1836                 proc=winchip-c6
1837         else
1838                 proc=i586
1839         fi
1840         ;;
1841     6) iproc=686
1842         if test "$pmodel" -ge 9; then
1843                 proc=c3-2
1844         else
1845                 proc=c3
1846                 iproc=586
1847         fi
1848         ;;
1849     *) proc=i686 iproc=i686 ;;
1850     esac
1851     ;;
1852   unknown)
1853     case "$pfamily" in
1854     3) proc=i386 iproc=386 ;;
1855     4) proc=i486 iproc=486 ;;
1856     *) proc=i586 iproc=586 ;;
1857     esac
1858     ;;
1859   *)
1860     proc=i586 iproc=586 ;;
1861   esac
1862   fi # test "$_runtime_cpudetection" = no
1863
1864
1865     # check that gcc supports our CPU, if not, fall back to earlier ones
1866     # LGB: check -mcpu and -march swithing step by step with enabling
1867     # to fall back till 386.
1868
1869     # gcc >= 3.4.0  doesn't support -mcpu, we have to use -mtune instead
1870
1871     if [ "$cc_vendor" = "gnu" ] && ([ "$_cc_major" -gt 3 ] || ( [ "$_cc_major" = 3 ] && [ "$_cc_minor" -ge 4 ])) ; then
1872         cpuopt=-mtune
1873     else
1874         cpuopt=-mcpu
1875     fi
1876
1877     echocheck "GCC & CPU optimization abilities"
1878 cat > $TMPC << EOF
1879 int main(void) { return 0; }
1880 EOF
1881   if test "$_runtime_cpudetection" = no ; then
1882     cc_check -march=native && proc=native
1883     if test "$proc" = "k8"; then
1884       cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
1885     fi
1886     if test "$proc" = "athlon-xp"; then
1887       cc_check -march=$proc $cpuopt=$proc || proc=athlon
1888     fi
1889     if test "$proc" = "k6-3" || test "$proc" = "k6-2"; then
1890       cc_check -march=$proc $cpuopt=$proc  || proc=k6
1891     fi
1892     if test "$proc" = "k6" || test "$proc" = "c3"; then
1893       if ! cc_check -march=$proc $cpuopt=$proc; then
1894         if cc_check -march=i586 $cpuopt=i686; then
1895           proc=i586-i686
1896         else
1897           proc=i586
1898         fi
1899       fi
1900     fi
1901     if test "$proc" = "prescott" ; then
1902       cc_check -march=$proc $cpuopt=$proc || proc=pentium4
1903     fi
1904     if test "$proc" = "core2" ; then
1905       cc_check -march=$proc $cpuopt=$proc || proc=pentium-m
1906     fi
1907     if test "$proc" = "pentium4" || test "$proc" = "pentium-m" || test "$proc" = "pentium3" || test "$proc" = "pentium2" || test "$proc" = "athlon" || test "$proc" = "c3-2" || test "$proc" = "geode"; then
1908       cc_check -march=$proc $cpuopt=$proc  || proc=i686
1909     fi
1910     if test "$proc" = "i686" || test "$proc" = "pentium-mmx" || test "$proc" = "winchip-c6" || test "$proc" = "winchip2"; then
1911       cc_check -march=$proc $cpuopt=$proc  || proc=i586
1912     fi
1913     if test "$proc" = "i586"; then
1914       cc_check -march=$proc $cpuopt=$proc  || proc=i486
1915     fi
1916     if test "$proc" = "i486" ; then
1917       cc_check -march=$proc $cpuopt=$proc  || proc=i386
1918     fi
1919     if test "$proc" = "i386" ; then
1920       cc_check -march=$proc $cpuopt=$proc  || proc=error
1921     fi
1922     if test "$proc" = "error" ; then
1923         echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
1924       _mcpu=""
1925       _march=""
1926       _optimizing=""
1927     elif test "$proc" = "i586-i686"; then
1928       _march="-march=i586"
1929       _mcpu="$cpuopt=i686"
1930       _optimizing="$proc"
1931     else
1932       _march="-march=$proc"
1933       _mcpu="$cpuopt=$proc"
1934       _optimizing="$proc"
1935     fi
1936   else # if test "$_runtime_cpudetection" = no
1937     _mcpu="$cpuopt=generic"
1938     # at least i486 required, for bswap instruction
1939     _march="-march=i486"
1940     cc_check $_mcpu || _mcpu="$cpuopt=i686"
1941     cc_check $_mcpu || _mcpu=""
1942     cc_check $_march $_mcpu || _march=""
1943   fi
1944
1945     ## Gabucino : --target takes effect here (hopefully...) by overwriting
1946     ##             autodetected mcpu/march parameters
1947     if test "$_target" ; then
1948       # TODO: it may be a good idea to check GCC and fall back in all cases
1949       if test "$host_arch" = "i586-i686"; then
1950         _march="-march=i586"
1951         _mcpu="$cpuopt=i686"
1952       else
1953         _march="-march=$host_arch"
1954         _mcpu="$cpuopt=$host_arch"
1955       fi
1956
1957       proc="$host_arch"
1958
1959       case "$proc" in
1960         i386) iproc=386 ;;
1961         i486) iproc=486 ;;
1962         i586|k5|k6|k6-2|k6-3|pentium|pentium-mmx) iproc=586 ;;
1963         i686|athlon*|pentium*) iproc=686 ;;
1964         *) iproc=586 ;;
1965       esac
1966     fi
1967
1968     if test $_cmov = "yes" && test $_fast_cmov = "auto" ; then
1969         _fast_cmov="yes"
1970     else
1971         _fast_cmov="no"
1972     fi
1973
1974     echores "$proc"
1975     ;;
1976
1977   ia64)
1978     _arch='IA64'
1979     _target_arch='ARCH_IA64 = yes'
1980     def_fast_64bit='#define HAVE_FAST_64BIT 1'
1981     iproc='ia64'
1982     ;;
1983
1984   x86_64|amd64)
1985     _arch='X86 X86_64'
1986     _target_subarch='ARCH_X86_64 = yes'
1987     _target_arch="ARCH_X86 = yes"
1988     def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
1989     def_fast_64bit='#define HAVE_FAST_64BIT 1'
1990     iproc='x86_64'
1991
1992     # gcc >= 3.4.0  doesn't support -mcpu, we have to use -mtune instead
1993     if test "$cc_vendor" = "gnu" && test "$_cc_major" -gt 3 -o "$_cc_major" -eq 3 -a "$_cc_minor" -ge 4 ; then
1994         cpuopt=-mtune
1995     else
1996         cpuopt=-mcpu
1997     fi
1998     test $_fast_cmov = "auto" && _fast_cmov=yes
1999     if test "$_runtime_cpudetection" = no ; then
2000       case "$pvendor" in
2001       AuthenticAMD)
2002         proc=k8;;
2003       GenuineIntel)
2004         case "$pfamily" in
2005         6) proc=core2;;
2006         *)
2007           # 64-bit prescotts exist, but as far as GCC is concerned they
2008           # have the same capabilities as a nocona.
2009           proc=nocona
2010           ;;
2011         esac
2012         ;;
2013       *)
2014         proc=error;;
2015       esac
2016     fi # test "$_runtime_cpudetection" = no
2017
2018     echocheck "GCC & CPU optimization abilities"
2019 cat > $TMPC << EOF
2020 int main(void) { return 0; }
2021 EOF
2022     # This is a stripped-down version of the i386 fallback.
2023     if test "$_runtime_cpudetection" = no ; then
2024       cc_check -march=native && proc=native
2025       # --- AMD processors ---
2026       if test "$proc" = "k8"; then
2027         cc_check -march=$proc $cpuopt=$proc || proc=athlon-xp
2028       fi
2029       # This will fail if gcc version < 3.3, which is ok because earlier
2030       # versions don't really support 64-bit on amd64.
2031       # Is this a valid assumption? -Corey
2032       if test "$proc" = "athlon-xp"; then
2033         cc_check -march=$proc $cpuopt=$proc || proc=error
2034       fi
2035       # --- Intel processors ---
2036       if test "$proc" = "core2"; then
2037         cc_check -march=$proc $cpuopt=$proc || proc=nocona
2038       fi
2039       if test "$proc" = "nocona"; then
2040         cc_check -march=$proc $cpuopt=$proc || proc=pentium4
2041       fi
2042       if test "$proc" = "pentium4"; then
2043         cc_check -march=$proc $cpuopt=$proc || proc=error
2044       fi
2045
2046       _march="-march=$proc"
2047       _mcpu="$cpuopt=$proc"
2048       if test "$proc" = "error" ; then
2049         echores "CPU optimization disabled. CPU not recognized or your compiler is too old."
2050         _mcpu=""
2051         _march=""
2052       fi
2053     else # if test "$_runtime_cpudetection" = no
2054       # x86-64 is an undocumented option, an intersection of k8 and nocona.
2055       _march="-march=x86-64"
2056       _mcpu="$cpuopt=generic"
2057       cc_check $_mcpu || _mcpu="x86-64"
2058       cc_check $_mcpu || _mcpu=""
2059       cc_check $_march $_mcpu || _march=""
2060     fi
2061
2062     _optimizing=""
2063
2064     echores "$proc"
2065     ;;
2066
2067   sparc|sparc64)
2068     _arch='SPARC'
2069     _target_arch='ARCH_SPARC = yes'
2070     iproc='sparc'
2071     if test "$host_arch" = "sparc64" ; then
2072       _vis='yes'
2073       proc='ultrasparc'
2074       def_fast_64bit='#define HAVE_FAST_64BIT 1'
2075     elif sunos ; then
2076         echocheck "CPU type"
2077         karch=$(uname -m)
2078         case "$(echo $karch)" in
2079             sun4) proc=v7 ;;
2080             sun4c) proc=v7 ;;
2081             sun4d) proc=v8 ;;
2082             sun4m) proc=v8 ;;
2083             sun4u) proc=ultrasparc _vis='yes' ;;
2084             sun4v) proc=v9 ;;
2085             *) proc=v8 ;;
2086         esac
2087         echores "$proc"
2088     else
2089         proc=v8
2090     fi
2091     _mcpu="-mcpu=$proc"
2092     _optimizing="$proc"
2093     ;;
2094
2095   arm|armv4l|armv5tel)
2096     _arch='ARM'
2097     _target_arch='ARCH_ARM = yes'
2098     iproc='arm'
2099     ;;
2100
2101   avr32)
2102     _arch='AVR32'
2103     _target_arch='ARCH_AVR32 = yes'
2104     def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
2105     iproc='avr32'
2106     ;;
2107
2108   sh|sh4)
2109     _arch='SH4'
2110     _target_arch='ARCH_SH4 = yes'
2111     iproc='sh4'
2112     ;;
2113
2114   ppc|ppc64|powerpc|powerpc64)
2115     _arch='PPC'
2116     def_dcbzl='#define HAVE_DCBZL 0'
2117     _target_arch='ARCH_PPC = yes'
2118     def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
2119     iproc='ppc'
2120
2121     if test "$host_arch" = "ppc64" -o "$host_arch" = "powerpc64" ; then
2122       _arch='PPC PPC64'
2123       _target_subarch='ARCH_PPC64 = yes'
2124       def_fast_64bit='#define HAVE_FAST_64BIT 1'
2125     fi
2126     echocheck "CPU type"
2127     case $system_name in
2128       Linux)
2129         proc=$($_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -n 1)
2130         if test -n "$($_cpuinfo | grep altivec)"; then
2131             test $_altivec = auto && _altivec=yes
2132         fi
2133         ;;
2134       Darwin)
2135         proc=$($_cpuinfo | grep "Processor type" | cut -f 3 -d ' ' | sed 's/ppc//')
2136         if [ $(sysctl -n hw.vectorunit) -eq 1 -o \
2137             "$(sysctl -n hw.optional.altivec 2> /dev/null)" = "1" ]; then
2138             test $_altivec = auto && _altivec=yes
2139         fi
2140         ;;
2141       NetBSD)
2142         # only gcc 3.4 works reliably with AltiVec code under NetBSD
2143         case $cc_version in
2144             2*|3.0*|3.1*|3.2*|3.3*)
2145                 ;;
2146             *)
2147                 if [ $(sysctl -n machdep.altivec) -eq 1 ]; then
2148                     test $_altivec = auto && _altivec=yes
2149                 fi
2150                 ;;
2151         esac
2152         ;;
2153       AIX)
2154         proc=$($_cpuinfo | grep 'type' | cut -f 2 -d ' ' | sed 's/PowerPC_//')
2155         ;;
2156     esac
2157     if test "$_altivec" = yes; then
2158         echores "$proc altivec"
2159     else
2160         _altivec=no
2161         echores "$proc"
2162     fi
2163
2164     echocheck "GCC & CPU optimization abilities"
2165
2166     if test -n "$proc"; then
2167         case "$proc" in
2168             601) _march='-mcpu=601' _mcpu='-mtune=601' ;;
2169             603) _march='-mcpu=603' _mcpu='-mtune=603' ;;
2170             603e|603ev) _march='-mcpu=603e' _mcpu='-mtune=603e' ;;
2171             604|604e|604r|604ev) _march='-mcpu=604' _mcpu='-mtune=604' ;;
2172             740|740/750|745/755) _march='-mcpu=740' _mcpu='-mtune=740' ;;
2173             750|750CX) _march='-mcpu=750' _mcpu='-mtune=750' ;;
2174             POWER)  _march='-mcpu=power'  _mcpu='-mtune=power'  ;;
2175             POWER2) _march='-mcpu=power2' _mcpu='-mtune=power2' ;;
2176             POWER3) _march='-mcpu=power3' _mcpu='-mtune=power3' ;;
2177             *) ;;
2178         esac
2179         # gcc 3.1(.1) and up supports 7400 and 7450
2180         if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "1" || test "$_cc_major" -ge "4"; then
2181             case "$proc" in
2182                 7400*|7410*) _march='-mcpu=7400' _mcpu='-mtune=7400' ;;
2183                 7447*|7450*|7455*) _march='-mcpu=7450' _mcpu='-mtune=7450' ;;
2184                 *) ;;
2185             esac
2186         fi
2187         # gcc 3.2 and up supports 970
2188         if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2189             case "$proc" in
2190                 970*|PPC970*) _march='-mcpu=970' _mcpu='-mtune=970'
2191                       def_dcbzl='#define HAVE_DCBZL 1' ;;
2192                 *) ;;
2193             esac
2194         fi
2195         # gcc 3.3 and up supports POWER4
2196         if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "3" || test "$_cc_major" -ge "4"; then
2197             case "$proc" in
2198                 POWER4) _march='-mcpu=power4' _mcpu='-mtune=power4' ;;
2199                 *) ;;
2200             esac
2201         fi
2202         # gcc 3.4 and up supports 440*
2203         if test "$_cc_major" -ge "3" && test "$_cc_minor" -ge "4" || test "$_cc_major" -ge "4"; then
2204             case "$proc" in
2205                 440EP*) _march='-mcpu=440fp' _mcpu='-mtune=440fp' ;;
2206                 440G* ) _march='-mcpu=440'   _mcpu='-mtune=440'   ;;
2207                 *) ;;
2208             esac
2209         fi
2210         # gcc 4.0 and up supports POWER5
2211         if test "$_cc_major" -ge "4"; then
2212             case "$proc" in
2213                 POWER5*) _march='-mcpu=power5' _mcpu='-mtune=power5' ;;
2214                 *) ;;
2215             esac
2216         fi
2217     fi
2218
2219     if test -n "$_mcpu"; then
2220         _optimizing=$(echo $_mcpu | cut -c 8-)
2221         echores "$_optimizing"
2222     else
2223         echores "none"
2224     fi
2225
2226     ;;
2227
2228   alpha*)
2229     _arch='ALPHA'
2230     _target_arch='ARCH_ALPHA = yes'
2231     iproc='alpha'
2232
2233     echocheck "CPU type"
2234     cat > $TMPC << EOF
2235 int main(void) {
2236     unsigned long ver, mask;
2237     __asm__ ("implver %0" : "=r" (ver));
2238     __asm__ ("amask %1, %0" : "=r" (mask) : "r" (-1));
2239     printf("%ld-%x\n", ver, ~mask);
2240     return 0;
2241 }
2242 EOF
2243     $_cc -o "$TMPEXE" "$TMPC"
2244     case $("$TMPEXE") in
2245
2246         0-0)    proc="ev4";   _mvi="0";;
2247         1-0)    proc="ev5";   _mvi="0";;
2248         1-1)    proc="ev56";  _mvi="0";;
2249         1-101)  proc="pca56"; _mvi="1";;
2250         2-303)  proc="ev6";   _mvi="1";;
2251         2-307)  proc="ev67";  _mvi="1";;
2252         2-1307) proc="ev68";  _mvi="1";;
2253     esac
2254     echores "$proc"
2255
2256     echocheck "GCC & CPU optimization abilities"
2257     if test "$proc" = "ev68" ; then
2258       cc_check -mcpu=$proc || proc=ev67
2259     fi
2260     if test "$proc" = "ev67" ; then
2261       cc_check -mcpu=$proc || proc=ev6
2262     fi
2263     _mcpu="-mcpu=$proc"
2264     echores "$proc"
2265
2266     _optimizing="$proc"
2267     ;;
2268
2269   mips)
2270     _arch='SGI_MIPS'
2271     _target_arch='ARCH_SGI_MIPS = yes'
2272     iproc='sgi-mips'
2273
2274     if irix ; then
2275         echocheck "CPU type"
2276         proc=$(hinv -c processor | grep CPU | cut -d " " -f3)
2277         case "$(echo $proc)" in
2278             R3000) _march='-mips1' _mcpu='-mtune=r2000' ;;
2279             R4000) _march='-mips3' _mcpu='-mtune=r4000' ;;
2280             R4400) _march='-mips3' _mcpu='-mtune=r4400' ;;
2281             R4600) _march='-mips3' _mcpu='-mtune=r4600' ;;
2282             R5000) _march='-mips4' _mcpu='-mtune=r5000' ;;
2283             R8000|R10000|R12000|R14000|R16000) _march='-mips4' _mcpu='-mtune=r8000' ;;
2284         esac
2285         # gcc < 3.x does not support -mtune.
2286         if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 ; then
2287             _mcpu=''
2288         fi
2289         echores "$proc"
2290     fi
2291
2292     ;;
2293
2294   hppa)
2295     _arch='PA_RISC'
2296     _target_arch='ARCH_PA_RISC = yes'
2297     iproc='PA-RISC'
2298     ;;
2299
2300   s390)
2301     _arch='S390'
2302     _target_arch='ARCH_S390 = yes'
2303     iproc='390'
2304     ;;
2305
2306   s390x)
2307     _arch='S390X'
2308     _target_arch='ARCH_S390X = yes'
2309     iproc='390x'
2310     ;;
2311
2312   vax)
2313     _arch='VAX'
2314     _target_arch='ARCH_VAX = yes'
2315     iproc='vax'
2316     ;;
2317
2318   xtensa)
2319     _arch='XTENSA'
2320     _target_arch='ARCH_XTENSA = yes'
2321     iproc='xtensa'
2322     ;;
2323
2324   generic)
2325     _arch='GENERIC'
2326     _target_arch='ARCH_GENERIC = yes'
2327     ;;
2328
2329   *)
2330     echo "The architecture of your CPU ($host_arch) is not supported by this configure script"
2331     echo "It seems nobody has ported MPlayer to your OS or CPU type yet."
2332     die "unsupported architecture $host_arch"
2333     ;;
2334 esac # case "$host_arch" in
2335
2336 if test "$_runtime_cpudetection" = yes ; then
2337   if x86 ; then
2338     test "$_cmov"     != no && _cmov=yes
2339     x86_32 && _cmov=no
2340     test "$_mmx"      != no && _mmx=yes
2341     test "$_3dnow"    != no && _3dnow=yes
2342     test "$_3dnowext" != no && _3dnowext=yes
2343     test "$_mmxext"   != no && _mmxext=yes
2344     test "$_sse"      != no && _sse=yes
2345     test "$_sse2"     != no && _sse2=yes
2346     test "$_ssse3"    != no && _ssse3=yes
2347     test "$_mtrr"     != no && _mtrr=yes
2348   fi
2349   if ppc; then
2350     _altivec=yes
2351   fi
2352 fi
2353
2354
2355 # endian testing
2356 echocheck "byte order"
2357 if test "$_big_endian" = auto ; then
2358   cat > $TMPC <<EOF
2359 short ascii_name[] = { (('M'<<8)|'P'),(('l'<<8)|'a'),(('y'<<8)|'e'),(('r'<<8)|'B'),
2360                        (('i'<<8)|'g'),(('E'<<8)|'n'),(('d'<<8)|'i'),(('a'<<8)|'n'),0};
2361 int main(void) { return (int)ascii_name; }
2362 EOF
2363   if cc_check ; then
2364     if strings $TMPEXE | grep -q -l MPlayerBigEndian ; then
2365       _big_endian=yes
2366     else
2367       _big_endian=no
2368     fi
2369   else
2370     echo ${_echo_n} "failed to autodetect byte order, defaulting to ${_echo_c}"
2371   fi
2372 fi
2373 if test "$_big_endian" = yes ; then
2374   _byte_order='big-endian'
2375   def_words_endian='#define WORDS_BIGENDIAN 1'
2376   def_bigendian='#define HAVE_BIGENDIAN 1'
2377 else
2378   _byte_order='little-endian'
2379   def_words_endian='#undef WORDS_BIGENDIAN'
2380   def_bigendian='#define HAVE_BIGENDIAN 0'
2381 fi
2382 echores "$_byte_order"
2383
2384
2385 echocheck "extern symbol prefix"
2386 cat > $TMPC << EOF
2387 int ff_extern;
2388 EOF
2389 cc_check -c || die "Symbol mangling check failed."
2390 sym=$($_nm -P -g $TMPEXE)
2391 extern_prefix=${sym%%ff_extern*}
2392 def_extern_asm="#define EXTERN_ASM $extern_prefix"
2393 def_extern_prefix="#define EXTERN_PREFIX \"$extern_prefix\""
2394 echores $extern_prefix
2395
2396
2397 echocheck "assembler support of -pipe option"
2398 cat > $TMPC << EOF
2399 int main(void) { return 0; }
2400 EOF
2401 cc_check -pipe && _pipe="-pipe" && echores "yes" || echores "no"
2402
2403
2404 echocheck "compiler support of named assembler arguments"
2405 _named_asm_args=yes
2406 def_named_asm_args="#define NAMED_ASM_ARGS 1"
2407 if test "$cc_vendor" = "gnu" && test "$_cc_major" -lt 3 \
2408      -o "$_cc_major" -eq 3 -a "$_cc_minor" = 0 ; then
2409   _named_asm_args=no
2410   def_named_asm_args="#undef NAMED_ASM_ARGS"
2411 fi
2412 echores $_named_asm_args
2413
2414
2415 if darwin && test "$cc_vendor" = "gnu" ; then
2416 echocheck "GCC support of -mstackrealign"
2417 # GCC 4.2 and some earlier Apple versions support this flag on x86. Since
2418 # Mac OS X/Intel has an ABI different from Windows this is needed to avoid
2419 # crashes when loading Win32 DLLs. Unfortunately some gcc versions create
2420 # wrong code with this flag, but this can be worked around by adding
2421 # -fno-unit-at-a-time as described in the blog post at
2422 # http://www.dribin.org/dave/blog/archives/2006/12/05/missing_third_param/
2423 cat > $TMPC << EOF
2424 __attribute__((noinline)) static int foo3(int i1, int i2, int i3) { return i3; }
2425 int main(void) { return foo3(1,2,3) == 3 ? 0 : 1; }
2426 EOF
2427   cc_check -O4 -mstackrealign && tmp_run && cflags_stackrealign=-mstackrealign
2428   test -z "$cflags_stackrealign" && cc_check -O4 -mstackrealign -fno-unit-at-a-time \
2429     && tmp_run && cflags_stackrealign="-mstackrealign -fno-unit-at-a-time"
2430   test -n "$cflags_stackrealign" && echores "yes" || echores "no"
2431 fi # if darwin && test "$cc_vendor" = "gnu" ; then
2432
2433
2434 # Checking for CFLAGS
2435 _install_strip="-s"
2436 if test "$_profile" != "" || test "$_debug" != "" ; then
2437   CFLAGS="-W -Wall -O2 $_march $_mcpu $_pipe $_debug $_profile"
2438   _install_strip=
2439 elif test -z "$CFLAGS" ; then
2440   if test "$cc_vendor" = "intel" ; then
2441     CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer -wd167 -wd556 -wd144"
2442   elif test "$cc_vendor" != "gnu" ; then
2443     CFLAGS="-O2 $_march $_mcpu $_pipe"
2444   else
2445     CFLAGS="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
2446     extra_ldflags="$extra_ldflags -ffast-math"
2447   fi
2448 else
2449   _warn_CFLAGS=yes
2450 fi
2451
2452 cat > $TMPC << EOF
2453 int main(void) { return 0; }
2454 EOF
2455 if test "$cc_vendor" = "gnu" ; then
2456   cc_check -std=gnu99 && CFLAGS="-std=gnu99 $CFLAGS"
2457   cc_check -Wdeclaration-after-statement && CFLAGS="-Wdeclaration-after-statement $CFLAGS"
2458   cc_check -Wno-pointer-sign && CFLAGS="-Wno-pointer-sign $CFLAGS"
2459   cc_check -Wdisabled-optimization && CFLAGS="-Wdisabled-optimization $CFLAGS"
2460   cc_check -Wundef && CFLAGS="-Wundef $CFLAGS"
2461 else
2462   CFLAGS="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
2463 fi
2464
2465 cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
2466
2467
2468 if test -n "$LDFLAGS" ; then
2469   extra_ldflags="$extra_ldflags $LDFLAGS"
2470   _warn_CFLAGS=yes
2471 elif test "$cc_vendor" = "intel" ; then
2472   extra_ldflags="$extra_ldflags -i-static"
2473 fi
2474 if test -n "$CPPFLAGS" ; then
2475   extra_cflags="$extra_cflags $CPPFLAGS"
2476   _warn_CFLAGS=yes
2477 fi
2478
2479
2480
2481 if x86_32 ; then
2482   # Checking assembler (_as) compatibility...
2483   # Added workaround for older as that reads from stdin by default - atmos
2484   as_version=$(echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
2485   echocheck "assembler ($_as $as_version)"
2486
2487   _pref_as_version='2.9.1'
2488   echo 'nop' > $TMPS
2489   if test "$_mmx" = yes ; then
2490     echo 'emms' >> $TMPS
2491   fi
2492   if test "$_3dnow" = yes ; then
2493     _pref_as_version='2.10.1'
2494     echo 'femms' >> $TMPS
2495   fi
2496   if test "$_3dnowext" = yes ; then
2497     _pref_as_version='2.10.1'
2498     echo 'pswapd        %mm0, %mm0' >> $TMPS
2499   fi
2500   if test "$_mmxext" = yes ; then
2501     _pref_as_version='2.10.1'
2502     echo 'movntq        %mm0, (%eax)' >> $TMPS
2503   fi
2504   if test "$_sse" = yes ; then
2505     _pref_as_version='2.10.1'
2506     echo 'xorps %xmm0, %xmm0' >> $TMPS
2507   fi
2508   #if test "$_sse2" = yes ; then
2509   #  _pref_as_version='2.11'
2510   #  echo 'xorpd %xmm0, %xmm0' >> $TMPS
2511   #fi
2512   if test "$_cmov" = yes ; then
2513     _pref_as_version='2.10.1'
2514     echo 'cmovb %eax, %ebx' >> $TMPS
2515   fi
2516   if test "$_ssse3" = yes ; then
2517     _pref_as_version='2.16.92'
2518     echo 'pabsd %xmm0, %xmm1' >> $TMPS
2519   fi
2520   $_as $TMPS -o $TMPEXE > /dev/null 2>&1 || as_verc_fail=yes
2521
2522   if test "$as_verc_fail" != yes ; then
2523     echores "ok"
2524   else
2525     _res_comment="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
2526     echores "failed"
2527     die "obsolete binutils version"
2528   fi
2529
2530 fi #if x86_32
2531
2532 echocheck ".align is a power of two"
2533 if test "$_asmalign_pot" = auto ; then
2534 _asmalign_pot=no
2535 cat > $TMPC << EOF
2536 int main(void) { __asm__ (".align 3"); return 0; }
2537 EOF
2538 cc_check && _asmalign_pot=yes
2539 fi
2540 if test "$_asmalign_pot" = "yes" ; then
2541   def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
2542 else
2543   def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
2544 fi
2545 echores $_asmalign_pot
2546
2547 if x86 ; then
2548 echocheck "10 assembler operands"
2549 ten_operands=no
2550 def_ten_operands='#define HAVE_TEN_OPERANDS 0'
2551 cat > $TMPC << EOF
2552 int main(void) {
2553     int x=0;
2554     __asm__ volatile(
2555         ""
2556         :"+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x), "+&rm"(x)
2557     );
2558     return 0;
2559 }
2560 EOF
2561 cc_check && ten_operands=yes && def_ten_operands='#define HAVE_TEN_OPERANDS 1'
2562 echores $ten_operands
2563
2564 echocheck "ebx availability"
2565 ebx_available=no
2566 def_ebx_available='#define HAVE_EBX_AVAILABLE 0'
2567 cat > $TMPC << EOF
2568 int main(void) {
2569     int x;
2570     __asm__ volatile(
2571         "xor %0, %0"
2572         :"=b"(x)
2573         // just adding ebx to clobber list seems unreliable with some
2574         // compilers, e.g. Haiku's gcc 2.95
2575     );
2576     // and the above check does not work for OSX 64 bit...
2577     __asm__ volatile("":::"%ebx");
2578     return 0;
2579 }
2580 EOF
2581 cc_check && ebx_available=yes && def_ebx_available='#define HAVE_EBX_AVAILABLE 1'
2582 echores $ebx_available
2583
2584 echocheck "PIC"
2585 pic=no
2586 cat > $TMPC << EOF
2587 int main(void) {
2588 #if !(defined(__PIC__) || defined(__pic__) || defined(PIC))
2589 #error PIC not enabled
2590 #endif
2591     return 0;
2592 }
2593 EOF
2594 cc_check && pic=yes && extra_cflags="$extra_cflags -DPIC"
2595 echores $pic
2596
2597 echocheck "yasm"
2598 if test -z "$YASMFLAGS" ; then
2599   if darwin ; then
2600     x86_64 && objformat="macho64" || objformat="macho"
2601   elif win32 ; then
2602     objformat="win32"
2603   else
2604     objformat="elf"
2605   fi
2606   # currently tested for Linux x86, x86_64
2607   YASMFLAGS="-f $objformat"
2608   x86_64 && YASMFLAGS="$YASMFLAGS -DARCH_X86_64 -m amd64"
2609   test "$pic" = "yes" && YASMFLAGS="$YASMFLAGS -DPIC"
2610   case "$objformat" in
2611     elf) test $_debug && YASMFLAGS="$YASMFLAGS -g dwarf2" ;;
2612     *)                   YASMFLAGS="$YASMFLAGS -DPREFIX"  ;;
2613   esac
2614 else
2615   _warn_CFLAGS=yes
2616 fi
2617
2618 echo "pabsw xmm0, xmm0" > $TMPS
2619 yasm_check || _yasm=""
2620 if test $_yasm ; then
2621   test "$_mmx" = "yes" && fft_mmx="yes"
2622   def_yasm='#define HAVE_YASM 1'
2623   _have_yasm="yes"
2624   echores "$_yasm"
2625 else
2626   def_yasm='#define HAVE_YASM 0'
2627   fft_mmx="no"
2628   _have_yasm="no"
2629   echores "no"
2630 fi
2631
2632 echocheck "bswap"
2633 def_bswap='#define HAVE_BSWAP 0'
2634 echo 'bswap %eax' > $TMPS
2635 $_as $TMPS -o $TMPEXE > /dev/null 2>&1 && def_bswap='#define HAVE_BSWAP 1' && bswap=yes || bswap=no
2636 echores "$bswap"
2637 fi #if x86
2638
2639
2640 #FIXME: This should happen before the check for CFLAGS..
2641 def_altivec_h='#define HAVE_ALTIVEC_H 0'
2642 if ppc && ( test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ) ; then
2643
2644     # check if AltiVec is supported by the compiler, and how to enable it
2645     echocheck "GCC AltiVec flags"
2646     cat > $TMPC << EOF
2647 int main(void) { return 0; }
2648 EOF
2649     if $(cc_check -maltivec -mabi=altivec) ; then
2650     _altivec_gcc_flags="-maltivec -mabi=altivec"
2651     # check if <altivec.h> should be included
2652     cat > $TMPC << EOF
2653 #include <altivec.h>
2654 int main(void) { return 0; }
2655 EOF
2656         if $(cc_check $_altivec_gcc_flags) ; then
2657             def_altivec_h='#define HAVE_ALTIVEC_H 1'
2658             inc_altivec_h='#include <altivec.h>'
2659         else
2660         cat > $TMPC << EOF
2661 int main(void) { return 0; }
2662 EOF
2663             if $(cc_check -faltivec) ; then
2664                 _altivec_gcc_flags="-faltivec"
2665             else
2666                 _altivec=no
2667                 _altivec_gcc_flags="none, AltiVec disabled"
2668             fi
2669         fi
2670     fi
2671     echores "$_altivec_gcc_flags"
2672
2673     # check if the compiler supports braces for vector declarations
2674     cat > $TMPC << EOF
2675 $inc_altivec_h
2676 int main(void) { (vector int) {1}; return 0; }
2677 EOF
2678     cc_check $_altivec_gcc_flags || die "You need a compiler that supports {} in AltiVec vector declarations."
2679
2680     # Disable runtime cpudetection if we cannot generate AltiVec code or
2681     # AltiVec is disabled by the user.
2682     test "$_runtime_cpudetection" = yes && test "$_altivec" = no \
2683         && _runtime_cpudetection=no
2684
2685     # Show that we are optimizing for AltiVec (if enabled and supported).
2686     test "$_runtime_cpudetection" = no && test "$_altivec" = yes \
2687         && _optimizing="$_optimizing altivec"
2688
2689     # If AltiVec is enabled, make sure the correct flags turn up in CFLAGS.
2690     test "$_altivec" = yes && CFLAGS="$CFLAGS $_altivec_gcc_flags"