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