| 
									
										
										
										
											2007-02-17 21:42:39 +00:00
										 |  |  | #!/bin/sh | 
					
						
							| 
									
										
										
										
											2002-05-18 23:13:26 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2011-03-14 21:39:58 +01:00
										 |  |  | # Libav configure script | 
					
						
							| 
									
										
										
										
											2006-11-16 23:11:36 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2008-10-02 15:44:59 +00:00
										 |  |  | # Copyright (c) 2000-2002 Fabrice Bellard | 
					
						
							|  |  |  | # Copyright (c) 2005-2008 Diego Biurrun | 
					
						
							|  |  |  | # Copyright (c) 2005-2008 Mans Rullgard | 
					
						
							| 
									
										
										
										
											2002-05-18 23:13:26 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2003-10-18 18:47:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-02 15:44:24 +00:00
										 |  |  | # Prevent locale nonsense from breaking basic text processing. | 
					
						
							| 
									
										
										
										
											2008-10-12 15:56:22 +00:00
										 |  |  | LC_ALL=C | 
					
						
							|  |  |  | export LC_ALL | 
					
						
							| 
									
										
										
										
											2008-10-02 15:44:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-07-04 22:33:03 +00:00
										 |  |  | # make sure we are running under a compatible shell | 
					
						
							| 
									
										
										
										
											2006-11-14 22:48:20 +00:00
										 |  |  | # try to make this part work with most shells | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | try_exec(){ | 
					
						
							| 
									
										
										
										
											2006-12-07 19:23:32 +00:00
										 |  |  |     echo "Trying shell $1" | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  |     type "$1" > /dev/null 2>&1 && exec "$@" | 
					
						
							| 
									
										
										
										
											2006-11-14 22:48:20 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-08-03 22:27:38 +00:00
										 |  |  | unset foo | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  | (: ${foo%%bar}) 2> /dev/null | 
					
						
							| 
									
										
										
										
											2006-12-07 19:23:32 +00:00
										 |  |  | E1="$?" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  | (: ${foo?}) 2> /dev/null | 
					
						
							| 
									
										
										
										
											2006-12-07 19:23:32 +00:00
										 |  |  | E2="$?" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if test "$E1" != 0 || test "$E2" = 0; then | 
					
						
							|  |  |  |     echo "Broken shell detected.  Trying alternatives." | 
					
						
							| 
									
										
										
										
											2006-11-14 22:48:20 +00:00
										 |  |  |     export FF_CONF_EXEC | 
					
						
							|  |  |  |     if test "0$FF_CONF_EXEC" -lt 1; then | 
					
						
							|  |  |  |         FF_CONF_EXEC=1 | 
					
						
							|  |  |  |         try_exec bash "$0" "$@" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     if test "0$FF_CONF_EXEC" -lt 2; then | 
					
						
							|  |  |  |         FF_CONF_EXEC=2 | 
					
						
							|  |  |  |         try_exec ksh "$0" "$@" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     if test "0$FF_CONF_EXEC" -lt 3; then | 
					
						
							|  |  |  |         FF_CONF_EXEC=3 | 
					
						
							|  |  |  |         try_exec /usr/xpg4/bin/sh "$0" "$@" | 
					
						
							| 
									
										
										
										
											2006-07-04 22:33:03 +00:00
										 |  |  |     fi | 
					
						
							|  |  |  |     echo "No compatible shell script interpreter found." | 
					
						
							| 
									
										
										
										
											2006-12-12 20:40:39 +00:00
										 |  |  |     echo "This configure script requires a POSIX-compatible shell" | 
					
						
							| 
									
										
										
										
											2006-11-14 22:48:20 +00:00
										 |  |  |     echo "such as bash or ksh." | 
					
						
							| 
									
										
										
										
											2011-03-14 21:39:58 +01:00
										 |  |  |     echo "THIS IS NOT A BUG IN LIBAV, DO NOT REPORT IT AS SUCH." | 
					
						
							| 
									
										
										
										
											2006-12-11 10:57:52 +00:00
										 |  |  |     echo "Instead, install a working POSIX-compatible shell." | 
					
						
							| 
									
										
										
										
											2011-03-14 21:39:58 +01:00
										 |  |  |     echo "Disabling this configure test will create a broken Libav." | 
					
						
							| 
									
										
										
										
											2006-11-14 22:48:20 +00:00
										 |  |  |     if test "$BASH_VERSION" = '2.04.0(1)-release'; then | 
					
						
							|  |  |  |         echo "This bash version ($BASH_VERSION) is broken on your platform." | 
					
						
							|  |  |  |         echo "Upgrade to a later version if available." | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2006-07-04 22:33:03 +00:00
										 |  |  |     exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-07 12:50:43 +01:00
										 |  |  | test -d /usr/xpg4/bin && PATH=/usr/xpg4/bin:$PATH | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-05-30 19:46:06 +00:00
										 |  |  | show_help(){ | 
					
						
							| 
									
										
										
										
											2012-08-19 21:35:30 +02:00
										 |  |  |     cat <<EOF | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  | Usage: configure [options] | 
					
						
							|  |  |  | Options: [defaults in brackets after descriptions] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  | Help options: | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --help                   print this message | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  |   --list-decoders          show all available decoders | 
					
						
							|  |  |  |   --list-encoders          show all available encoders | 
					
						
							|  |  |  |   --list-hwaccels          show all available hardware accelerators | 
					
						
							|  |  |  |   --list-demuxers          show all available demuxers | 
					
						
							|  |  |  |   --list-muxers            show all available muxers | 
					
						
							|  |  |  |   --list-parsers           show all available parsers | 
					
						
							|  |  |  |   --list-protocols         show all available protocols | 
					
						
							|  |  |  |   --list-bsfs              show all available bitstream filters | 
					
						
							|  |  |  |   --list-indevs            show all available input devices | 
					
						
							|  |  |  |   --list-outdevs           show all available output devices | 
					
						
							|  |  |  |   --list-filters           show all available filters | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Standard options: | 
					
						
							| 
									
										
										
										
											2010-06-16 18:41:26 +00:00
										 |  |  |   --logfile=FILE           log tests and output to FILE [config.log] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-logging        do not log configure debug information | 
					
						
							|  |  |  |   --prefix=PREFIX          install in PREFIX [$prefix] | 
					
						
							|  |  |  |   --bindir=DIR             install binaries in DIR [PREFIX/bin] | 
					
						
							| 
									
										
										
										
											2011-07-27 20:56:59 +02:00
										 |  |  |   --datadir=DIR            install data files in DIR [PREFIX/share/avconv] | 
					
						
							| 
									
										
										
										
											2013-08-28 10:30:14 +02:00
										 |  |  |   --docdir=DIR             install documentation in DIR [PREFIX/share/doc/libav] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --libdir=DIR             install libs in DIR [PREFIX/lib] | 
					
						
							|  |  |  |   --shlibdir=DIR           install shared libs in DIR [PREFIX/lib] | 
					
						
							|  |  |  |   --incdir=DIR             install includes in DIR [PREFIX/include] | 
					
						
							|  |  |  |   --mandir=DIR             install man page in DIR [PREFIX/share/man] | 
					
						
							| 
									
										
										
										
											2014-08-23 10:04:26 -04:00
										 |  |  |   --enable-rpath           use rpath when linking programs [USE WITH CARE] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  | Licensing options: | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --enable-gpl             allow use of GPL code, the resulting libs | 
					
						
							|  |  |  |                            and binaries will be under GPL [no] | 
					
						
							|  |  |  |   --enable-version3        upgrade (L)GPL to version 3 [no] | 
					
						
							|  |  |  |   --enable-nonfree         allow use of nonfree code, the resulting libs | 
					
						
							|  |  |  |                            and binaries will be unredistributable [no] | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | Configuration options: | 
					
						
							|  |  |  |   --disable-static         do not build static libraries [no] | 
					
						
							|  |  |  |   --enable-shared          build shared libraries [no] | 
					
						
							|  |  |  |   --enable-small           optimize for size instead of speed | 
					
						
							|  |  |  |   --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary) | 
					
						
							|  |  |  |   --enable-gray            enable full grayscale support (slower color) | 
					
						
							|  |  |  |   --disable-swscale-alpha  disable alpha channel support in swscale | 
					
						
							| 
									
										
										
										
											2012-11-10 14:47:52 +01:00
										 |  |  |   --disable-all            disable building components, libraries and programs | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-10 18:10:59 +01:00
										 |  |  | Program options: | 
					
						
							|  |  |  |   --disable-programs       do not build command line programs | 
					
						
							| 
									
										
										
										
											2011-07-27 20:56:59 +02:00
										 |  |  |   --disable-avconv         disable avconv build | 
					
						
							| 
									
										
										
										
											2011-07-26 17:51:34 +02:00
										 |  |  |   --disable-avplay         disable avplay build | 
					
						
							| 
									
										
										
										
											2011-07-26 19:04:43 +02:00
										 |  |  |   --disable-avprobe        disable avprobe build | 
					
						
							| 
									
										
										
										
											2014-06-09 14:21:56 +02:00
										 |  |  |   --disable-avserver       deprecated, does nothing | 
					
						
							| 
									
										
										
										
											2012-11-10 18:10:59 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | Component options: | 
					
						
							|  |  |  |   --disable-doc            do not build documentation | 
					
						
							| 
									
										
										
										
											2010-01-26 23:13:01 +00:00
										 |  |  |   --disable-avdevice       disable libavdevice build | 
					
						
							|  |  |  |   --disable-avcodec        disable libavcodec build | 
					
						
							|  |  |  |   --disable-avformat       disable libavformat build | 
					
						
							| 
									
										
										
										
											2012-11-11 13:37:40 +01:00
										 |  |  |   --disable-avutil         disable libavutil build | 
					
						
							| 
									
										
										
										
											2010-01-26 23:13:01 +00:00
										 |  |  |   --disable-swscale        disable libswscale build | 
					
						
							| 
									
										
										
										
											2010-05-07 11:52:05 +00:00
										 |  |  |   --disable-avfilter       disable video filter support [no] | 
					
						
							| 
									
										
										
										
											2012-03-23 17:42:17 -04:00
										 |  |  |   --disable-avresample     disable libavresample build [no] | 
					
						
							| 
									
										
										
										
											2010-06-23 02:13:54 +00:00
										 |  |  |   --disable-pthreads       disable pthreads [auto] | 
					
						
							| 
									
										
										
										
											2011-11-01 16:22:56 +02:00
										 |  |  |   --disable-w32threads     disable Win32 threads [auto] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-network        disable network support [no] | 
					
						
							| 
									
										
										
										
											2010-01-20 00:39:47 +00:00
										 |  |  |   --disable-dct            disable DCT code | 
					
						
							| 
									
										
										
										
											2013-03-02 16:57:26 -08:00
										 |  |  |   --disable-error-resilience disable error resilience code | 
					
						
							| 
									
										
										
										
											2012-07-27 13:01:04 +02:00
										 |  |  |   --disable-lsp            disable LSP code | 
					
						
							| 
									
										
										
										
											2012-10-18 19:48:27 +02:00
										 |  |  |   --disable-lzo            disable LZO decoder code | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-mdct           disable MDCT code | 
					
						
							|  |  |  |   --disable-rdft           disable RDFT code | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  |   --disable-fft            disable FFT code | 
					
						
							| 
									
										
										
										
											2014-08-28 19:32:45 -07:00
										 |  |  |   --disable-faan           disable floating point AAN (I)DCT code | 
					
						
							| 
									
										
										
										
											2013-02-05 15:32:24 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | Hardware accelerators: | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  |   --enable-dxva2           enable DXVA2 code | 
					
						
							| 
									
										
										
										
											2011-06-05 10:31:24 +02:00
										 |  |  |   --enable-vaapi           enable VAAPI code | 
					
						
							| 
									
										
										
										
											2011-11-11 15:48:21 +01:00
										 |  |  |   --enable-vda             enable VDA code | 
					
						
							| 
									
										
										
										
											2011-06-06 13:32:37 +02:00
										 |  |  |   --enable-vdpau           enable VDPAU code | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | Individual component options: | 
					
						
							| 
									
										
										
										
											2010-03-12 13:03:40 +00:00
										 |  |  |   --disable-everything     disable all components listed below | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-encoder=NAME   disable encoder NAME | 
					
						
							|  |  |  |   --enable-encoder=NAME    enable encoder NAME | 
					
						
							|  |  |  |   --disable-encoders       disable all encoders | 
					
						
							|  |  |  |   --disable-decoder=NAME   disable decoder NAME | 
					
						
							|  |  |  |   --enable-decoder=NAME    enable decoder NAME | 
					
						
							|  |  |  |   --disable-decoders       disable all decoders | 
					
						
							|  |  |  |   --disable-hwaccel=NAME   disable hwaccel NAME | 
					
						
							|  |  |  |   --enable-hwaccel=NAME    enable hwaccel NAME | 
					
						
							|  |  |  |   --disable-hwaccels       disable all hwaccels | 
					
						
							|  |  |  |   --disable-muxer=NAME     disable muxer NAME | 
					
						
							|  |  |  |   --enable-muxer=NAME      enable muxer NAME | 
					
						
							|  |  |  |   --disable-muxers         disable all muxers | 
					
						
							|  |  |  |   --disable-demuxer=NAME   disable demuxer NAME | 
					
						
							|  |  |  |   --enable-demuxer=NAME    enable demuxer NAME | 
					
						
							|  |  |  |   --disable-demuxers       disable all demuxers | 
					
						
							|  |  |  |   --enable-parser=NAME     enable parser NAME | 
					
						
							|  |  |  |   --disable-parser=NAME    disable parser NAME | 
					
						
							|  |  |  |   --disable-parsers        disable all parsers | 
					
						
							|  |  |  |   --enable-bsf=NAME        enable bitstream filter NAME | 
					
						
							|  |  |  |   --disable-bsf=NAME       disable bitstream filter NAME | 
					
						
							|  |  |  |   --disable-bsfs           disable all bitstream filters | 
					
						
							|  |  |  |   --enable-protocol=NAME   enable protocol NAME | 
					
						
							|  |  |  |   --disable-protocol=NAME  disable protocol NAME | 
					
						
							|  |  |  |   --disable-protocols      disable all protocols | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  |   --enable-indev=NAME      enable input device NAME | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-indev=NAME     disable input device NAME | 
					
						
							|  |  |  |   --disable-indevs         disable input devices | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  |   --enable-outdev=NAME     enable output device NAME | 
					
						
							|  |  |  |   --disable-outdev=NAME    disable output device NAME | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-outdevs        disable output devices | 
					
						
							|  |  |  |   --disable-devices        disable all devices | 
					
						
							|  |  |  |   --enable-filter=NAME     enable filter NAME | 
					
						
							|  |  |  |   --disable-filter=NAME    disable filter NAME | 
					
						
							|  |  |  |   --disable-filters        disable all filters | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | External library support: | 
					
						
							| 
									
										
										
										
											2013-05-04 21:18:13 +02:00
										 |  |  |   --enable-avisynth        enable reading of AviSynth script files [no] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --enable-bzlib           enable bzlib [autodetect] | 
					
						
							| 
									
										
										
										
											2010-09-24 00:32:22 +00:00
										 |  |  |   --enable-frei0r          enable frei0r video filtering | 
					
						
							| 
									
										
										
										
											2011-02-05 23:39:20 +01:00
										 |  |  |   --enable-gnutls          enable gnutls [no] | 
					
						
							| 
									
										
										
										
											2014-04-29 18:53:16 +02:00
										 |  |  |   --enable-libbs2b         enable bs2b DSP library [no] | 
					
						
							| 
									
										
										
										
											2011-09-13 17:23:06 +02:00
										 |  |  |   --enable-libcdio         enable audio CD grabbing with libcdio | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394 | 
					
						
							|  |  |  |                            and libraw1394 [no] | 
					
						
							| 
									
										
										
										
											2012-07-16 18:19:13 +02:00
										 |  |  |   --enable-libfaac         enable AAC encoding via libfaac [no] | 
					
						
							| 
									
										
										
										
											2013-08-15 15:40:32 -04:00
										 |  |  |   --enable-libfdk-aac      enable AAC de/encoding via libfdk-aac [no] | 
					
						
							| 
									
										
										
										
											2011-02-21 01:02:29 +01:00
										 |  |  |   --enable-libfreetype     enable libfreetype [no] | 
					
						
							| 
									
										
										
										
											2012-07-16 18:19:13 +02:00
										 |  |  |   --enable-libgsm          enable GSM de/encoding via libgsm [no] | 
					
						
							| 
									
										
										
										
											2012-06-16 00:42:13 +03:00
										 |  |  |   --enable-libilbc         enable iLBC de/encoding via libilbc [no] | 
					
						
							| 
									
										
										
										
											2015-02-10 10:40:59 +01:00
										 |  |  |   --enable-libmfx          enable HW acceleration through libmfx | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --enable-libmp3lame      enable MP3 encoding via libmp3lame [no] | 
					
						
							| 
									
										
										
										
											2012-06-18 00:05:52 +03:00
										 |  |  |   --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no] | 
					
						
							|  |  |  |   --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no] | 
					
						
							|  |  |  |   --enable-libopencv       enable video filtering via libopencv [no] | 
					
						
							| 
									
										
										
										
											2015-01-08 00:03:09 +02:00
										 |  |  |   --enable-libopenh264     enable H.264 encoding via OpenH264 [no] | 
					
						
							| 
									
										
										
										
											2011-11-17 16:57:09 -07:00
										 |  |  |   --enable-libopenjpeg     enable JPEG 2000 de/encoding via OpenJPEG [no] | 
					
						
							| 
									
										
										
										
											2014-05-14 16:13:49 +00:00
										 |  |  |   --enable-libopus         enable Opus de/encoding via libopus [no] | 
					
						
							| 
									
										
										
										
											2011-11-18 11:08:31 +01:00
										 |  |  |   --enable-libpulse        enable Pulseaudio input via libpulse [no] | 
					
						
							| 
									
										
										
										
											2010-03-28 13:39:36 +00:00
										 |  |  |   --enable-librtmp         enable RTMP[E] support via librtmp [no] | 
					
						
							| 
									
										
										
										
											2012-07-16 18:19:13 +02:00
										 |  |  |   --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no] | 
					
						
							|  |  |  |   --enable-libspeex        enable Speex de/encoding via libspeex [no] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --enable-libtheora       enable Theora encoding via libtheora [no] | 
					
						
							| 
									
										
										
										
											2012-08-01 16:33:34 +00:00
										 |  |  |   --enable-libtwolame      enable MP2 encoding via libtwolame [no] | 
					
						
							| 
									
										
										
										
											2010-12-19 21:40:23 +02:00
										 |  |  |   --enable-libvo-aacenc    enable AAC encoding via libvo-aacenc [no] | 
					
						
							| 
									
										
										
										
											2009-12-29 16:48:09 +02:00
										 |  |  |   --enable-libvo-amrwbenc  enable AMR-WB encoding via libvo-amrwbenc [no] | 
					
						
							| 
									
										
										
										
											2012-07-16 18:19:13 +02:00
										 |  |  |   --enable-libvorbis       enable Vorbis encoding via libvorbis [no] | 
					
						
							| 
									
										
										
										
											2012-12-30 19:40:20 +01:00
										 |  |  |   --enable-libvpx          enable VP8 and VP9 de/encoding via libvpx [no] | 
					
						
							| 
									
										
										
										
											2013-05-25 19:22:59 +02:00
										 |  |  |   --enable-libwavpack      enable wavpack encoding via libwavpack [no] | 
					
						
							| 
									
										
										
										
											2013-11-22 11:05:13 -05:00
										 |  |  |   --enable-libwebp         enable WebP encoding via libwebp [no] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --enable-libx264         enable H.264 encoding via x264 [no] | 
					
						
							| 
									
										
										
										
											2013-10-02 14:46:26 +00:00
										 |  |  |   --enable-libx265         enable HEVC encoding via x265 [no] | 
					
						
							| 
									
										
										
										
											2010-07-27 07:18:36 +00:00
										 |  |  |   --enable-libxavs         enable AVS encoding via xavs [no] | 
					
						
							| 
									
										
										
										
											2014-08-24 14:18:22 +02:00
										 |  |  |   --enable-libxcb          enable X11 grabbing using XCB [no] | 
					
						
							|  |  |  |   --enable-libxcb-shm      enable X11 grabbing shm communication [auto] | 
					
						
							|  |  |  |   --enable-libxcb-xfixes   enable X11 grabbing mouse rendering [auto] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --enable-libxvid         enable Xvid encoding via xvidcore, | 
					
						
							|  |  |  |                            native MPEG-4/Xvid encoder exists [no] | 
					
						
							| 
									
										
										
										
											2011-02-03 00:37:20 +02:00
										 |  |  |   --enable-openssl         enable openssl [no] | 
					
						
							| 
									
										
										
										
											2014-08-24 14:18:22 +02:00
										 |  |  |   --enable-x11grab         enable X11 grabbing (legacy) [no] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --enable-zlib            enable zlib [autodetect] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-11 18:52:44 +01:00
										 |  |  | Toolchain options: | 
					
						
							|  |  |  |   --arch=ARCH              select architecture [$arch] | 
					
						
							|  |  |  |   --cpu=CPU                select the minimum required CPU (affects | 
					
						
							|  |  |  |                            instruction selection, may crash on older CPUs) | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --cross-prefix=PREFIX    use PREFIX for compilation tools [$cross_prefix] | 
					
						
							|  |  |  |   --enable-cross-compile   assume a cross-compiler is used | 
					
						
							|  |  |  |   --sysroot=PATH           root of cross-build tree | 
					
						
							|  |  |  |   --sysinclude=PATH        location of cross-build system headers | 
					
						
							|  |  |  |   --target-os=OS           compiler targets OS [$target_os] | 
					
						
							|  |  |  |   --target-exec=CMD        command to run executables on target | 
					
						
							|  |  |  |   --target-path=DIR        path to view of build directory on target | 
					
						
							| 
									
										
										
										
											2013-05-20 01:55:32 +03:00
										 |  |  |   --target-samples=DIR     path to samples directory on target | 
					
						
							| 
									
										
										
										
											2012-09-16 22:06:53 +01:00
										 |  |  |   --toolchain=NAME         set tool defaults according to NAME | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --nm=NM                  use nm tool | 
					
						
							| 
									
										
										
										
											2010-05-02 18:59:15 +00:00
										 |  |  |   --ar=AR                  use archive tool AR [$ar_default] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --as=AS                  use assembler AS [$as_default] | 
					
						
							|  |  |  |   --cc=CC                  use C compiler CC [$cc_default] | 
					
						
							| 
									
										
										
										
											2012-07-27 13:01:04 +02:00
										 |  |  |   --dep-cc=DEPCC           use dependency generator DEPCC [$cc_default] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --ld=LD                  use linker LD | 
					
						
							| 
									
										
										
										
											2014-06-18 16:45:45 +02:00
										 |  |  |   --pkg-config=PKGCONFIG   use pkg-config tool PKGCONFIG [$pkg_config_default] | 
					
						
							| 
									
										
										
										
											2014-01-20 11:17:45 +01:00
										 |  |  |   --pkg-config-flags=FLAGS pass additional flags to pkgconf [] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --host-cc=HOSTCC         use host C compiler HOSTCC | 
					
						
							|  |  |  |   --host-cflags=HCFLAGS    use HCFLAGS when compiling for host | 
					
						
							| 
									
										
										
										
											2013-02-03 15:13:17 +01:00
										 |  |  |   --host-cppflags=HCPPFLAGS use HCPPFLAGS when compiling for host | 
					
						
							| 
									
										
										
										
											2012-08-28 13:02:35 +01:00
										 |  |  |   --host-ld=HOSTLD         use host linker HOSTLD | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --host-ldflags=HLDFLAGS  use HLDFLAGS when linking for host | 
					
						
							|  |  |  |   --host-libs=HLIBS        use libs HLIBS when linking for host | 
					
						
							| 
									
										
										
										
											2012-07-27 13:01:04 +02:00
										 |  |  |   --host-os=OS             compiler host OS [$target_os] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS [$CFLAGS] | 
					
						
							|  |  |  |   --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS] | 
					
						
							| 
									
										
										
										
											2014-07-16 17:00:11 +02:00
										 |  |  |   --extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS [$LDEXEFLAGS] | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --extra-libs=ELIBS       add ELIBS [$ELIBS] | 
					
						
							|  |  |  |   --extra-version=STRING   version string suffix [] | 
					
						
							| 
									
										
										
										
											2012-07-27 13:01:04 +02:00
										 |  |  |   --optflags=OPTFLAGS      override optimization-related compiler flags | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --build-suffix=SUFFIX    library name suffix [] | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  |   --enable-pic             build position-independent code | 
					
						
							| 
									
										
										
										
											2012-07-27 13:01:04 +02:00
										 |  |  |   --enable-thumb           compile for Thumb instruction set | 
					
						
							| 
									
										
										
										
											2014-03-11 18:52:44 +01:00
										 |  |  |   --enable-lto             use link-time optimization | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Advanced options (experts only): | 
					
						
							|  |  |  |   --malloc-prefix=PREFIX   prefix malloc and related names with PREFIX | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  |   --disable-symver         disable symbol versioning | 
					
						
							|  |  |  |   --enable-hardcoded-tables use hardcoded tables instead of runtime generation | 
					
						
							|  |  |  |   --disable-safe-bitstream-reader | 
					
						
							|  |  |  |                            disable buffer boundary checking in bitreaders | 
					
						
							|  |  |  |                            (faster, but may crash) | 
					
						
							|  |  |  |   --enable-memalign-hack   emulate memalign, interferes with memory debuggers | 
					
						
							| 
									
										
										
										
											2014-03-11 18:52:44 +01:00
										 |  |  |   --enable-sram            allow use of on-chip SRAM | 
					
						
							| 
									
										
										
										
											2012-03-09 00:24:48 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | Optimization options (experts only): | 
					
						
							| 
									
										
										
										
											2014-06-18 16:21:00 +02:00
										 |  |  |   --disable-asm            disable all assembly optimizations | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-altivec        disable AltiVec optimizations | 
					
						
							|  |  |  |   --disable-amd3dnow       disable 3DNow! optimizations | 
					
						
							|  |  |  |   --disable-amd3dnowext    disable 3DNow! extended optimizations | 
					
						
							|  |  |  |   --disable-mmx            disable MMX optimizations | 
					
						
							| 
									
										
										
										
											2012-07-08 18:42:12 +02:00
										 |  |  |   --disable-mmxext         disable MMXEXT optimizations | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-sse            disable SSE optimizations | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  |   --disable-sse2           disable SSE2 optimizations | 
					
						
							|  |  |  |   --disable-sse3           disable SSE3 optimizations | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-ssse3          disable SSSE3 optimizations | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  |   --disable-sse4           disable SSE4 optimizations | 
					
						
							|  |  |  |   --disable-sse42          disable SSE4.2 optimizations | 
					
						
							| 
									
										
										
										
											2011-02-16 02:39:42 +00:00
										 |  |  |   --disable-avx            disable AVX optimizations | 
					
						
							| 
									
										
										
										
											2014-02-22 04:54:00 +00:00
										 |  |  |   --disable-xop            disable XOP optimizations | 
					
						
							| 
									
										
										
										
											2014-02-22 04:54:01 +00:00
										 |  |  |   --disable-fma3           disable FMA3 optimizations | 
					
						
							| 
									
										
										
										
											2012-06-18 23:39:14 -04:00
										 |  |  |   --disable-fma4           disable FMA4 optimizations | 
					
						
							| 
									
										
										
										
											2013-10-25 07:53:56 -05:00
										 |  |  |   --disable-avx2           disable AVX2 optimizations | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-armv5te        disable armv5te optimizations | 
					
						
							|  |  |  |   --disable-armv6          disable armv6 optimizations | 
					
						
							|  |  |  |   --disable-armv6t2        disable armv6t2 optimizations | 
					
						
							| 
									
										
										
										
											2012-12-04 23:29:34 +00:00
										 |  |  |   --disable-vfp            disable VFP optimizations | 
					
						
							| 
									
										
										
										
											2011-12-12 21:21:24 +01:00
										 |  |  |   --disable-neon           disable NEON optimizations | 
					
						
							| 
									
										
										
										
											2014-06-18 16:21:00 +02:00
										 |  |  |   --disable-inline-asm     disable use of inline assembly | 
					
						
							|  |  |  |   --disable-yasm           disable use of nasm/yasm assembly | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-14 21:39:58 +01:00
										 |  |  | Developer options (useful when working on Libav itself): | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  |   --disable-debug          disable debugging symbols | 
					
						
							|  |  |  |   --enable-debug=LEVEL     set the debug level [$debuglevel] | 
					
						
							|  |  |  |   --disable-optimizations  disable compiler optimizations | 
					
						
							|  |  |  |   --enable-extra-warnings  enable more compiler warnings | 
					
						
							| 
									
										
										
										
											2011-02-26 11:50:35 +00:00
										 |  |  |   --samples=PATH           location of test samples for FATE, if not set use | 
					
						
							| 
									
										
										
										
											2012-05-20 16:10:42 +02:00
										 |  |  |                            \$LIBAV_SAMPLES at make invocation time. | 
					
						
							| 
									
										
										
										
											2013-12-20 13:51:50 +02:00
										 |  |  |   --enable-neon-clobber-test check NEON registers for clobbering (should be | 
					
						
							|  |  |  |                            used only for debugging purposes) | 
					
						
							| 
									
										
										
										
											2012-02-02 11:48:13 -08:00
										 |  |  |   --enable-xmm-clobber-test check XMM registers for clobbering (Win64-only; | 
					
						
							|  |  |  |                            should be used only for debugging purposes) | 
					
						
							| 
									
										
										
										
											2012-05-09 04:29:53 +01:00
										 |  |  |   --enable-random          randomly enable/disable components | 
					
						
							|  |  |  |   --disable-random | 
					
						
							|  |  |  |   --enable-random=LIST     randomly enable/disable specific components or | 
					
						
							|  |  |  |   --disable-random=LIST    component groups. LIST is a comma-separated list | 
					
						
							|  |  |  |                            of NAME[:PROB] entries where NAME is a component | 
					
						
							|  |  |  |                            (group) and PROB the probability associated with | 
					
						
							|  |  |  |                            NAME (default 0.5). | 
					
						
							|  |  |  |   --random-seed=VALUE      seed value for --enable/disable-random | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:08 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | NOTE: Object files are built at the place where configure is launched. | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2008-10-09 20:10:22 +00:00
										 |  |  |   exit 0 | 
					
						
							| 
									
										
										
										
											2006-05-30 19:46:06 +00:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2003-10-18 18:47:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-15 18:06:28 +00:00
										 |  |  | quotes='""' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | log(){ | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  |     echo "$@" >> $logfile | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-07-04 18:24:37 +00:00
										 |  |  | log_file(){ | 
					
						
							| 
									
										
										
										
											2006-06-17 14:39:11 +00:00
										 |  |  |     log BEGIN $1 | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  |     pr -n -t $1 >> $logfile | 
					
						
							| 
									
										
										
										
											2006-06-17 14:39:11 +00:00
										 |  |  |     log END $1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-22 18:57:40 +00:00
										 |  |  | echolog(){ | 
					
						
							| 
									
										
										
										
											2006-06-17 14:39:11 +00:00
										 |  |  |     log "$@" | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  |     echo "$@" | 
					
						
							| 
									
										
										
										
											2006-06-22 18:57:40 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-24 20:49:32 +00:00
										 |  |  | warn(){ | 
					
						
							|  |  |  |     log "WARNING: $*" | 
					
						
							|  |  |  |     WARNINGS="${WARNINGS}WARNING: $*\n" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-22 18:57:40 +00:00
										 |  |  | die(){ | 
					
						
							|  |  |  |     echolog "$@" | 
					
						
							|  |  |  |     cat <<EOF | 
					
						
							| 
									
										
										
										
											2009-04-02 08:02:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-22 18:57:40 +00:00
										 |  |  | If you think configure made a mistake, make sure you are using the latest | 
					
						
							| 
									
										
										
										
											2011-01-17 11:44:19 -09:00
										 |  |  | version from Git.  If the latest version fails, report the problem to the | 
					
						
							| 
									
										
										
										
											2013-09-10 12:42:10 +02:00
										 |  |  | libav-tools@libav.org mailing list or IRC #libav on irc.freenode.net. | 
					
						
							| 
									
										
										
										
											2006-06-22 18:57:40 +00:00
										 |  |  | EOF | 
					
						
							| 
									
										
										
										
											2008-03-25 15:10:26 +00:00
										 |  |  |     if disabled logging; then | 
					
						
							| 
									
										
										
										
											2006-06-22 18:57:40 +00:00
										 |  |  |         cat <<EOF | 
					
						
							| 
									
										
										
										
											2008-03-25 15:10:26 +00:00
										 |  |  | Rerun configure with logging enabled (do not use --disable-logging), and | 
					
						
							|  |  |  | include the log this produces with your report. | 
					
						
							| 
									
										
										
										
											2006-06-22 18:57:40 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  |     else | 
					
						
							| 
									
										
										
										
											2012-08-19 21:35:30 +02:00
										 |  |  |         cat <<EOF | 
					
						
							| 
									
										
										
										
											2008-03-25 15:10:26 +00:00
										 |  |  | Include the log file "$logfile" produced by configure as this will help | 
					
						
							|  |  |  | solving the problem. | 
					
						
							| 
									
										
										
										
											2006-06-22 18:57:40 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  |     exit 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-02-11 23:17:06 +00:00
										 |  |  | # Avoid locale weirdness, besides we really just want to translate ASCII. | 
					
						
							| 
									
										
										
										
											2006-11-14 00:16:43 +00:00
										 |  |  | toupper(){ | 
					
						
							| 
									
										
										
										
											2008-02-11 23:17:06 +00:00
										 |  |  |     echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | 
					
						
							| 
									
										
										
										
											2006-11-14 00:16:43 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-18 01:39:07 +00:00
										 |  |  | tolower(){ | 
					
						
							| 
									
										
										
										
											2008-02-11 23:17:06 +00:00
										 |  |  |     echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | 
					
						
							| 
									
										
										
										
											2007-02-18 01:39:07 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-25 22:23:03 +00:00
										 |  |  | c_escape(){ | 
					
						
							|  |  |  |     echo "$*" | sed 's/["\\]/\\\0/g' | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-15 22:12:21 +00:00
										 |  |  | sh_quote(){ | 
					
						
							|  |  |  |     v=$(echo "$1" | sed "s/'/'\\\\''/g") | 
					
						
							| 
									
										
										
										
											2010-07-27 16:59:42 +00:00
										 |  |  |     test "x$v" = "x${v#*[!A-Za-z0-9_/.+-]}" || v="'$v'" | 
					
						
							| 
									
										
										
										
											2009-06-15 22:12:21 +00:00
										 |  |  |     echo "$v" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-13 13:06:53 +00:00
										 |  |  | cleanws(){ | 
					
						
							|  |  |  |     echo "$@" | sed 's/^ *//;s/  */ /g;s/ *$//' | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-06 15:45:22 +00:00
										 |  |  | filter(){ | 
					
						
							|  |  |  |     pat=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     for v; do | 
					
						
							| 
									
										
										
										
											2009-08-23 15:39:39 +00:00
										 |  |  |         eval "case $v in $pat) echo $v ;; esac" | 
					
						
							| 
									
										
										
										
											2009-08-06 15:45:22 +00:00
										 |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-25 14:44:07 +00:00
										 |  |  | filter_out(){ | 
					
						
							|  |  |  |     pat=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     for v; do | 
					
						
							|  |  |  |         eval "case $v in $pat) ;; *) echo $v ;; esac" | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-11 00:39:02 +00:00
										 |  |  | map(){ | 
					
						
							|  |  |  |     m=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							| 
									
										
										
										
											2010-03-16 21:22:54 +00:00
										 |  |  |     for v; do eval $m; done | 
					
						
							| 
									
										
										
										
											2010-03-11 00:39:02 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-27 03:07:11 +02:00
										 |  |  | add_suffix(){ | 
					
						
							|  |  |  |     suffix=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     for v; do echo ${v}${suffix}; done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-11-12 15:19:58 +00:00
										 |  |  | set_all(){ | 
					
						
							|  |  |  |     value=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     for var in $*; do | 
					
						
							|  |  |  |         eval $var=$value | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:08 +00:00
										 |  |  | set_weak(){ | 
					
						
							|  |  |  |     value=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     for var; do | 
					
						
							|  |  |  |         eval : \${$var:=$value} | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-04 22:58:34 +01:00
										 |  |  | sanitize_var_name(){ | 
					
						
							|  |  |  |     echo $@ | sed 's/[^A-Za-z0-9_]/_/g' | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-06 13:48:30 +00:00
										 |  |  | set_safe(){ | 
					
						
							|  |  |  |     var=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							| 
									
										
										
										
											2013-03-04 22:58:34 +01:00
										 |  |  |     eval $(sanitize_var_name "$var")='$*' | 
					
						
							| 
									
										
										
										
											2011-03-06 13:48:30 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | get_safe(){ | 
					
						
							| 
									
										
										
										
											2013-03-04 22:58:34 +01:00
										 |  |  |     eval echo \$$(sanitize_var_name "$1") | 
					
						
							| 
									
										
										
										
											2011-03-06 13:48:30 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  | pushvar(){ | 
					
						
							| 
									
										
										
										
											2013-04-03 15:52:45 +03:00
										 |  |  |     for pvar in $*; do | 
					
						
							|  |  |  |         eval level=\${${pvar}_level:=0} | 
					
						
							|  |  |  |         eval ${pvar}_${level}="\$$pvar" | 
					
						
							|  |  |  |         eval ${pvar}_level=$(($level+1)) | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | popvar(){ | 
					
						
							| 
									
										
										
										
											2013-04-03 15:52:45 +03:00
										 |  |  |     for pvar in $*; do | 
					
						
							|  |  |  |         eval level=\${${pvar}_level:-0} | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  |         test $level = 0 && continue | 
					
						
							|  |  |  |         eval level=$(($level-1)) | 
					
						
							| 
									
										
										
										
											2013-04-03 15:52:45 +03:00
										 |  |  |         eval $pvar="\${${pvar}_${level}}" | 
					
						
							|  |  |  |         eval ${pvar}_level=$level | 
					
						
							|  |  |  |         eval unset ${pvar}_${level} | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-11-12 15:19:58 +00:00
										 |  |  | enable(){ | 
					
						
							|  |  |  |     set_all yes $* | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | disable(){ | 
					
						
							|  |  |  |     set_all no $* | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:08 +00:00
										 |  |  | enable_weak(){ | 
					
						
							|  |  |  |     set_weak yes $* | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | disable_weak(){ | 
					
						
							|  |  |  |     set_weak no $* | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-28 19:56:19 +00:00
										 |  |  | enable_safe(){ | 
					
						
							| 
									
										
										
										
											2010-01-11 13:36:58 +00:00
										 |  |  |     for var; do | 
					
						
							|  |  |  |         enable $(echo "$var" | sed 's/[^A-Za-z0-9_]/_/g') | 
					
						
							|  |  |  |     done | 
					
						
							| 
									
										
										
										
											2009-02-28 19:56:19 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | disable_safe(){ | 
					
						
							| 
									
										
										
										
											2010-01-11 13:36:58 +00:00
										 |  |  |     for var; do | 
					
						
							|  |  |  |         disable $(echo "$var" | sed 's/[^A-Za-z0-9_]/_/g') | 
					
						
							|  |  |  |     done | 
					
						
							| 
									
										
										
										
											2009-02-28 19:56:19 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:04 +00:00
										 |  |  | do_enable_deep(){ | 
					
						
							|  |  |  |     for var; do | 
					
						
							|  |  |  |         enabled $var && continue | 
					
						
							|  |  |  |         eval sel="\$${var}_select" | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:12 +00:00
										 |  |  |         eval sgs="\$${var}_suggest" | 
					
						
							|  |  |  |         pushvar var sgs | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:04 +00:00
										 |  |  |         enable_deep $sel | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:12 +00:00
										 |  |  |         popvar sgs | 
					
						
							|  |  |  |         enable_deep_weak $sgs | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:04 +00:00
										 |  |  |         popvar var | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | enable_deep(){ | 
					
						
							|  |  |  |     do_enable_deep $* | 
					
						
							|  |  |  |     enable $* | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:08 +00:00
										 |  |  | enable_deep_weak(){ | 
					
						
							| 
									
										
										
										
											2013-04-03 15:55:14 +03:00
										 |  |  |     for var; do | 
					
						
							|  |  |  |         disabled $var && continue | 
					
						
							|  |  |  |         pushvar var | 
					
						
							|  |  |  |         do_enable_deep $var | 
					
						
							|  |  |  |         popvar var | 
					
						
							|  |  |  |         enable_weak $var | 
					
						
							|  |  |  |     done | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:08 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | enabled(){ | 
					
						
							| 
									
										
										
										
											2008-07-12 20:55:04 +00:00
										 |  |  |     test "${1#!}" = "$1" && op== || op=!= | 
					
						
							|  |  |  |     eval test "x\$${1#!}" $op "xyes" | 
					
						
							| 
									
										
										
										
											2006-11-14 00:16:43 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-01-28 16:04:55 +00:00
										 |  |  | disabled(){ | 
					
						
							| 
									
										
										
										
											2008-07-12 20:55:04 +00:00
										 |  |  |     test "${1#!}" = "$1" && op== || op=!= | 
					
						
							|  |  |  |     eval test "x\$${1#!}" $op "xno" | 
					
						
							| 
									
										
										
										
											2007-01-28 16:04:55 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-11-14 00:16:43 +00:00
										 |  |  | enabled_all(){ | 
					
						
							|  |  |  |     for opt; do | 
					
						
							|  |  |  |         enabled $opt || return 1 | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-01-28 16:16:49 +00:00
										 |  |  | disabled_all(){ | 
					
						
							|  |  |  |     for opt; do | 
					
						
							|  |  |  |         disabled $opt || return 1 | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-11-14 00:16:43 +00:00
										 |  |  | enabled_any(){ | 
					
						
							|  |  |  |     for opt; do | 
					
						
							|  |  |  |         enabled $opt && return 0 | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-01-28 16:16:49 +00:00
										 |  |  | disabled_any(){ | 
					
						
							|  |  |  |     for opt; do | 
					
						
							|  |  |  |         disabled $opt && return 0 | 
					
						
							|  |  |  |     done | 
					
						
							| 
									
										
										
										
											2008-10-24 21:44:39 +00:00
										 |  |  |     return 1 | 
					
						
							| 
									
										
										
										
											2007-01-28 16:16:49 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-02 23:51:36 +00:00
										 |  |  | set_default(){ | 
					
						
							|  |  |  |     for opt; do | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:31 +00:00
										 |  |  |         eval : \${$opt:=\$${opt}_default} | 
					
						
							| 
									
										
										
										
											2008-06-02 23:51:36 +00:00
										 |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-20 21:35:51 +00:00
										 |  |  | is_in(){ | 
					
						
							|  |  |  |     value=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     for var in $*; do | 
					
						
							|  |  |  |         [ $var = $value ] && return 0 | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  |     return 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-09 17:34:14 +00:00
										 |  |  | do_check_deps(){ | 
					
						
							| 
									
										
										
										
											2007-01-21 21:01:34 +00:00
										 |  |  |     for cfg; do | 
					
						
							| 
									
										
										
										
											2008-07-12 20:55:04 +00:00
										 |  |  |         cfg="${cfg#!}" | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  |         enabled ${cfg}_checking && die "Circular dependency for $cfg." | 
					
						
							|  |  |  |         disabled ${cfg}_checking && continue | 
					
						
							|  |  |  |         enable ${cfg}_checking | 
					
						
							| 
									
										
										
										
											2012-12-09 17:34:14 +00:00
										 |  |  |         append allopts $cfg | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-01-21 21:01:34 +00:00
										 |  |  |         eval dep_all="\$${cfg}_deps" | 
					
						
							|  |  |  |         eval dep_any="\$${cfg}_deps_any" | 
					
						
							| 
									
										
										
										
											2008-10-24 21:44:45 +00:00
										 |  |  |         eval dep_sel="\$${cfg}_select" | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:12 +00:00
										 |  |  |         eval dep_sgs="\$${cfg}_suggest" | 
					
						
							| 
									
										
										
										
											2010-01-14 18:25:38 +00:00
										 |  |  |         eval dep_ifa="\$${cfg}_if" | 
					
						
							|  |  |  |         eval dep_ifn="\$${cfg}_if_any" | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-14 18:25:38 +00:00
										 |  |  |         pushvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn | 
					
						
							| 
									
										
										
										
											2012-12-09 17:34:14 +00:00
										 |  |  |         do_check_deps $dep_all $dep_any $dep_sel $dep_sgs $dep_ifa $dep_ifn | 
					
						
							| 
									
										
										
										
											2010-01-14 18:25:38 +00:00
										 |  |  |         popvar cfg dep_all dep_any dep_sel dep_sgs dep_ifa dep_ifn | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-14 18:25:38 +00:00
										 |  |  |         [ -n "$dep_ifa" ] && { enabled_all $dep_ifa && enable_weak $cfg; } | 
					
						
							|  |  |  |         [ -n "$dep_ifn" ] && { enabled_any $dep_ifn && enable_weak $cfg; } | 
					
						
							| 
									
										
										
										
											2008-10-24 21:44:49 +00:00
										 |  |  |         enabled_all  $dep_all || disable $cfg | 
					
						
							|  |  |  |         enabled_any  $dep_any || disable $cfg | 
					
						
							| 
									
										
										
										
											2008-10-24 21:44:45 +00:00
										 |  |  |         disabled_any $dep_sel && disable $cfg | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-09-18 19:07:52 +00:00
										 |  |  |         if enabled $cfg; then | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:04 +00:00
										 |  |  |             enable_deep $dep_sel | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:12 +00:00
										 |  |  |             enable_deep_weak $dep_sgs | 
					
						
							| 
									
										
										
										
											2007-09-18 19:07:52 +00:00
										 |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-11 15:49:37 +00:00
										 |  |  |         disable ${cfg}_checking | 
					
						
							| 
									
										
										
										
											2007-01-21 21:01:34 +00:00
										 |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-09 17:34:14 +00:00
										 |  |  | check_deps(){ | 
					
						
							|  |  |  |     unset allopts | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     do_check_deps "$@" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     for cfg in $allopts; do | 
					
						
							|  |  |  |         enabled $cfg || continue | 
					
						
							|  |  |  |         eval dep_extralibs="\$${cfg}_extralibs" | 
					
						
							|  |  |  |         test -n "$dep_extralibs" && add_extralibs $dep_extralibs | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-11-14 00:16:43 +00:00
										 |  |  | print_config(){ | 
					
						
							|  |  |  |     pfx=$1 | 
					
						
							| 
									
										
										
										
											2010-09-03 21:27:12 +00:00
										 |  |  |     files=$2 | 
					
						
							|  |  |  |     shift 2 | 
					
						
							| 
									
										
										
										
											2012-10-27 16:43:12 +01:00
										 |  |  |     map 'eval echo "$v \${$v:-no}"' "$@" | | 
					
						
							|  |  |  |     awk "BEGIN { split(\"$files\", files) } | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |             c = \"$pfx\" toupper(\$1); | 
					
						
							|  |  |  |             v = \$2; | 
					
						
							|  |  |  |             sub(/yes/, 1, v); | 
					
						
							|  |  |  |             sub(/no/,  0, v); | 
					
						
							|  |  |  |             for (f in files) { | 
					
						
							|  |  |  |                 file = files[f]; | 
					
						
							|  |  |  |                 if (file ~ /\\.h\$/) { | 
					
						
							|  |  |  |                     printf(\"#define %s %d\\n\", c, v) >>file; | 
					
						
							|  |  |  |                 } else if (file ~ /\\.asm\$/) { | 
					
						
							|  |  |  |                     printf(\"%%define %s %d\\n\", c, v) >>file; | 
					
						
							|  |  |  |                 } else if (file ~ /\\.mak\$/) { | 
					
						
							| 
									
										
										
										
											2012-10-30 11:57:30 +00:00
										 |  |  |                     n = -v ? \"\" : \"!\"; | 
					
						
							| 
									
										
										
										
											2012-10-27 16:43:12 +01:00
										 |  |  |                     printf(\"%s%s=yes\\n\", n, c) >>file; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }" | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-08 18:44:03 +00:00
										 |  |  | print_enabled(){ | 
					
						
							|  |  |  |     suf=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     for v; do | 
					
						
							| 
									
										
										
										
											2012-10-27 19:11:04 +01:00
										 |  |  |         enabled $v && printf "%s\n" ${v%$suf}; | 
					
						
							| 
									
										
										
										
											2010-07-08 18:44:03 +00:00
										 |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | append(){ | 
					
						
							|  |  |  |     var=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     eval "$var=\"\$$var $*\"" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-25 15:45:04 +00:00
										 |  |  | prepend(){ | 
					
						
							|  |  |  |     var=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     eval "$var=\"$* \$$var\"" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | unique(){ | 
					
						
							|  |  |  |     var=$1 | 
					
						
							|  |  |  |     uniq_list="" | 
					
						
							|  |  |  |     for tok in $(eval echo \$$var); do | 
					
						
							|  |  |  |         uniq_list="$(filter_out $tok $uniq_list) $tok" | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  |     eval "$var=\"${uniq_list}\"" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:32 +00:00
										 |  |  | add_cppflags(){ | 
					
						
							| 
									
										
										
										
											2012-07-20 12:02:29 +01:00
										 |  |  |     append CPPFLAGS "$@" | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:32 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | add_cflags(){ | 
					
						
							| 
									
										
										
										
											2012-07-20 12:02:18 +01:00
										 |  |  |     append CFLAGS $($cflags_filter "$@") | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:53 +00:00
										 |  |  | add_asflags(){ | 
					
						
							| 
									
										
										
										
											2012-07-20 12:02:18 +01:00
										 |  |  |     append ASFLAGS $($asflags_filter "$@") | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:53 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | add_ldflags(){ | 
					
						
							| 
									
										
										
										
											2012-07-20 03:06:49 +01:00
										 |  |  |     append LDFLAGS $($ldflags_filter "$@") | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-16 17:00:11 +02:00
										 |  |  | add_ldexeflags(){ | 
					
						
							|  |  |  |     append LDEXEFLAGS $($ldflags_filter "$@") | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-25 08:46:14 +00:00
										 |  |  | add_stripflags(){ | 
					
						
							|  |  |  |     append STRIPFLAGS "$@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | add_extralibs(){ | 
					
						
							| 
									
										
										
										
											2012-07-20 03:06:49 +01:00
										 |  |  |     prepend extralibs $($ldflags_filter "$@") | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-03 15:13:17 +01:00
										 |  |  | add_host_cppflags(){ | 
					
						
							|  |  |  |     append host_cppflags "$@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-20 13:48:13 +01:00
										 |  |  | add_host_cflags(){ | 
					
						
							|  |  |  |     append host_cflags $($host_cflags_filter "$@") | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | add_host_ldflags(){ | 
					
						
							|  |  |  |     append host_ldflags $($host_ldflags_filter "$@") | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-14 17:56:00 +01:00
										 |  |  | add_compat(){ | 
					
						
							|  |  |  |     append compat_objs $1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     map 'add_cppflags -D$v' "$@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-07-31 07:54:48 +00:00
										 |  |  | check_cmd(){ | 
					
						
							| 
									
										
										
										
											2006-08-03 22:27:19 +00:00
										 |  |  |     log "$@" | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  |     "$@" >> $logfile 2>&1 | 
					
						
							| 
									
										
										
										
											2006-07-31 07:54:48 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-20 22:22:18 +01:00
										 |  |  | cc_o(){ | 
					
						
							|  |  |  |     eval printf '%s\\n' $CC_O | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-20 22:22:41 +01:00
										 |  |  | cc_e(){ | 
					
						
							|  |  |  |     eval printf '%s\\n' $CC_E | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | check_cc(){ | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  |     log check_cc "$@" | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  |     cat > $TMPC | 
					
						
							| 
									
										
										
										
											2006-07-04 18:24:37 +00:00
										 |  |  |     log_file $TMPC | 
					
						
							| 
									
										
										
										
											2012-07-20 23:43:27 +01:00
										 |  |  |     check_cmd $cc $CPPFLAGS $CFLAGS "$@" $CC_C $(cc_o $TMPO) $TMPC | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | check_cpp(){ | 
					
						
							|  |  |  |     log check_cpp "$@" | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  |     cat > $TMPC | 
					
						
							| 
									
										
										
										
											2006-07-04 18:24:37 +00:00
										 |  |  |     log_file $TMPC | 
					
						
							| 
									
										
										
										
											2012-07-20 22:22:41 +01:00
										 |  |  |     check_cmd $cc $CPPFLAGS $CFLAGS "$@" $(cc_e $TMPO) $TMPC | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-27 22:19:06 +01:00
										 |  |  | as_o(){ | 
					
						
							|  |  |  |     eval printf '%s\\n' $AS_O | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-05 21:20:04 +00:00
										 |  |  | check_as(){ | 
					
						
							|  |  |  |     log check_as "$@" | 
					
						
							| 
									
										
										
										
											2012-12-01 13:19:05 +00:00
										 |  |  |     cat > $TMPS | 
					
						
							|  |  |  |     log_file $TMPS | 
					
						
							|  |  |  |     check_cmd $as $CPPFLAGS $ASFLAGS "$@" $AS_C $(as_o $TMPO) $TMPS | 
					
						
							| 
									
										
										
										
											2009-03-05 21:20:04 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-07 23:46:52 +02:00
										 |  |  | check_inline_asm(){ | 
					
						
							|  |  |  |     log check_inline_asm "$@" | 
					
						
							| 
									
										
										
										
											2007-09-23 21:52:09 +00:00
										 |  |  |     name="$1" | 
					
						
							| 
									
										
										
										
											2010-01-18 23:12:53 +00:00
										 |  |  |     code="$2" | 
					
						
							| 
									
										
										
										
											2007-09-23 21:52:09 +00:00
										 |  |  |     shift 2 | 
					
						
							| 
									
										
										
										
											2009-09-30 21:38:11 +00:00
										 |  |  |     disable $name | 
					
						
							| 
									
										
										
										
											2012-12-01 13:19:05 +00:00
										 |  |  |     check_cc "$@" <<EOF && enable $name | 
					
						
							| 
									
										
										
										
											2010-01-18 23:12:53 +00:00
										 |  |  | void foo(void){ __asm__ volatile($code); } | 
					
						
							| 
									
										
										
										
											2007-09-23 21:52:09 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-01 15:06:56 +00:00
										 |  |  | check_insn(){ | 
					
						
							|  |  |  |     log check_insn "$@" | 
					
						
							|  |  |  |     check_inline_asm ${1}_inline "\"$2\"" | 
					
						
							|  |  |  |     echo "$2" | check_as && enable ${1}_external || disable ${1}_external | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-11 23:53:31 +00:00
										 |  |  | check_yasm(){ | 
					
						
							|  |  |  |     log check_yasm "$@" | 
					
						
							|  |  |  |     echo "$1" > $TMPS | 
					
						
							|  |  |  |     log_file $TMPS | 
					
						
							|  |  |  |     shift 1 | 
					
						
							|  |  |  |     check_cmd $yasmexe $YASMFLAGS "$@" -o $TMPO $TMPS | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-27 22:04:25 +01:00
										 |  |  | ld_o(){ | 
					
						
							|  |  |  |     eval printf '%s\\n' $LD_O | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | check_ld(){ | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  |     log check_ld "$@" | 
					
						
							| 
									
										
										
										
											2012-10-14 01:35:56 +01:00
										 |  |  |     flags=$(filter_out '-l*' "$@") | 
					
						
							|  |  |  |     libs=$(filter '-l*' "$@") | 
					
						
							| 
									
										
										
										
											2012-07-20 12:02:18 +01:00
										 |  |  |     check_cc $($cflags_filter $flags) || return | 
					
						
							| 
									
										
										
										
											2012-07-20 03:06:49 +01:00
										 |  |  |     flags=$($ldflags_filter $flags) | 
					
						
							|  |  |  |     libs=$($ldflags_filter $libs) | 
					
						
							| 
									
										
										
										
											2012-08-27 22:04:25 +01:00
										 |  |  |     check_cmd $ld $LDFLAGS $flags $(ld_o $TMPE) $TMPO $libs $extralibs | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-23 01:03:48 +01:00
										 |  |  | print_include(){ | 
					
						
							|  |  |  |     hdr=$1 | 
					
						
							|  |  |  |     test "${hdr%.h}" = "${hdr}" && | 
					
						
							|  |  |  |         echo "#include $hdr"    || | 
					
						
							|  |  |  |         echo "#include <$hdr>" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-04 23:06:25 +01:00
										 |  |  | check_code(){ | 
					
						
							|  |  |  |     log check_code "$@" | 
					
						
							|  |  |  |     check=$1 | 
					
						
							|  |  |  |     headers=$2 | 
					
						
							|  |  |  |     code=$3 | 
					
						
							|  |  |  |     shift 3 | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         for hdr in $headers; do | 
					
						
							| 
									
										
										
										
											2013-12-23 01:03:48 +01:00
										 |  |  |             print_include $hdr | 
					
						
							| 
									
										
										
										
											2012-07-04 23:06:25 +01:00
										 |  |  |         done | 
					
						
							|  |  |  |         echo "int main(void) { $code; return 0; }" | 
					
						
							|  |  |  |     } | check_$check "$@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:32 +00:00
										 |  |  | check_cppflags(){ | 
					
						
							|  |  |  |     log check_cppflags "$@" | 
					
						
							| 
									
										
										
										
											2009-07-12 22:44:05 +00:00
										 |  |  |     check_cc "$@" <<EOF && append CPPFLAGS "$@" | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:32 +00:00
										 |  |  | int x; | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-31 19:48:59 +01:00
										 |  |  | test_cflags(){ | 
					
						
							|  |  |  |     log test_cflags "$@" | 
					
						
							| 
									
										
										
										
											2012-07-20 12:02:18 +01:00
										 |  |  |     set -- $($cflags_filter "$@") | 
					
						
							| 
									
										
										
										
											2013-10-31 19:48:59 +01:00
										 |  |  |     check_cc "$@" <<EOF | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | int x; | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-31 19:48:59 +01:00
										 |  |  | check_cflags(){ | 
					
						
							|  |  |  |     log check_cflags "$@" | 
					
						
							|  |  |  |     test_cflags "$@" && add_cflags "$@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-16 04:48:58 +00:00
										 |  |  | test_ldflags(){ | 
					
						
							|  |  |  |     log test_ldflags "$@" | 
					
						
							|  |  |  |     check_ld "$@" <<EOF | 
					
						
							| 
									
										
										
										
											2008-03-30 22:23:52 +00:00
										 |  |  | int main(void){ return 0; } | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-16 04:48:58 +00:00
										 |  |  | check_ldflags(){ | 
					
						
							|  |  |  |     log check_ldflags "$@" | 
					
						
							|  |  |  |     test_ldflags "$@" && add_ldflags "$@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-25 08:46:14 +00:00
										 |  |  | test_stripflags(){ | 
					
						
							|  |  |  |     log test_stripflags "$@" | 
					
						
							|  |  |  |     # call check_cc to get a fresh TMPO | 
					
						
							|  |  |  |     check_cc <<EOF | 
					
						
							|  |  |  | int main(void) { return 0; } | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  |     check_cmd $strip $STRIPFLAGS "$@" $TMPO | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | check_stripflags(){ | 
					
						
							|  |  |  |     log check_stripflags "$@" | 
					
						
							|  |  |  |     test_stripflags "$@" && add_stripflags "$@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | check_header(){ | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  |     log check_header "$@" | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  |     header=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							| 
									
										
										
										
											2009-03-01 17:57:14 +00:00
										 |  |  |     disable_safe $header | 
					
						
							|  |  |  |     check_cpp "$@" <<EOF && enable_safe $header | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | #include <$header> | 
					
						
							|  |  |  | int x; | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | check_func(){ | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  |     log check_func "$@" | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  |     func=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							| 
									
										
										
										
											2007-02-14 22:18:13 +00:00
										 |  |  |     disable $func | 
					
						
							|  |  |  |     check_ld "$@" <<EOF && enable $func | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | extern int $func(); | 
					
						
							| 
									
										
										
										
											2008-03-30 22:23:52 +00:00
										 |  |  | int main(void){ $func(); } | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-09 22:55:13 +00:00
										 |  |  | check_mathfunc(){ | 
					
						
							| 
									
										
										
										
											2010-02-10 22:14:25 +00:00
										 |  |  |     log check_mathfunc "$@" | 
					
						
							| 
									
										
										
										
											2010-02-09 22:55:13 +00:00
										 |  |  |     func=$1 | 
					
						
							| 
									
										
										
										
											2012-10-26 14:42:47 +01:00
										 |  |  |     narg=$2 | 
					
						
							|  |  |  |     shift 2 | 
					
						
							|  |  |  |     test $narg = 2 && args="f, g" || args="f" | 
					
						
							| 
									
										
										
										
											2010-02-09 22:55:13 +00:00
										 |  |  |     disable $func | 
					
						
							|  |  |  |     check_ld "$@" <<EOF && enable $func | 
					
						
							|  |  |  | #include <math.h> | 
					
						
							| 
									
										
										
										
											2012-10-26 14:42:47 +01:00
										 |  |  | float foo(float f, float g) { return $func($args); } | 
					
						
							| 
									
										
										
										
											2010-02-10 22:14:28 +00:00
										 |  |  | int main(void){ return 0; } | 
					
						
							| 
									
										
										
										
											2010-02-09 22:55:13 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-20 16:17:27 +00:00
										 |  |  | check_func_headers(){ | 
					
						
							|  |  |  |     log check_func_headers "$@" | 
					
						
							| 
									
										
										
										
											2007-02-19 23:00:18 +00:00
										 |  |  |     headers=$1 | 
					
						
							| 
									
										
										
										
											2011-03-07 02:49:55 +00:00
										 |  |  |     funcs=$2 | 
					
						
							| 
									
										
										
										
											2007-02-19 23:00:18 +00:00
										 |  |  |     shift 2 | 
					
						
							| 
									
										
										
										
											2011-03-07 02:49:55 +00:00
										 |  |  |     { | 
					
						
							|  |  |  |         for hdr in $headers; do | 
					
						
							| 
									
										
										
										
											2013-12-23 01:03:48 +01:00
										 |  |  |             print_include $hdr | 
					
						
							| 
									
										
										
										
											2011-03-07 02:49:55 +00:00
										 |  |  |         done | 
					
						
							|  |  |  |         for func in $funcs; do | 
					
						
							|  |  |  |             echo "long check_$func(void) { return (long) $func; }" | 
					
						
							|  |  |  |         done | 
					
						
							|  |  |  |         echo "int main(void) { return 0; }" | 
					
						
							|  |  |  |     } | check_ld "$@" && enable $funcs && enable_safe $headers | 
					
						
							| 
									
										
										
										
											2007-02-19 23:00:18 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-12 09:07:14 +00:00
										 |  |  | check_cpp_condition(){ | 
					
						
							|  |  |  |     log check_cpp_condition "$@" | 
					
						
							|  |  |  |     header=$1 | 
					
						
							|  |  |  |     condition=$2 | 
					
						
							| 
									
										
										
										
											2010-01-17 19:05:53 +00:00
										 |  |  |     shift 2 | 
					
						
							| 
									
										
										
										
											2012-07-20 12:02:29 +01:00
										 |  |  |     check_cpp "$@" <<EOF | 
					
						
							| 
									
										
										
										
											2008-10-12 09:07:14 +00:00
										 |  |  | #include <$header> | 
					
						
							|  |  |  | #if !($condition) | 
					
						
							|  |  |  | #error "unsatisfied condition: $condition" | 
					
						
							|  |  |  | #endif | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | check_lib(){ | 
					
						
							|  |  |  |     log check_lib "$@" | 
					
						
							|  |  |  |     header="$1" | 
					
						
							|  |  |  |     func="$2" | 
					
						
							|  |  |  |     shift 2 | 
					
						
							| 
									
										
										
										
											2010-06-25 15:44:55 +00:00
										 |  |  |     check_header $header && check_func $func "$@" && add_extralibs "$@" | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-19 23:00:18 +00:00
										 |  |  | check_lib2(){ | 
					
						
							|  |  |  |     log check_lib2 "$@" | 
					
						
							|  |  |  |     headers="$1" | 
					
						
							| 
									
										
										
										
											2011-03-07 02:49:55 +00:00
										 |  |  |     funcs="$2" | 
					
						
							| 
									
										
										
										
											2007-02-19 23:00:18 +00:00
										 |  |  |     shift 2 | 
					
						
							| 
									
										
										
										
											2011-03-07 02:49:55 +00:00
										 |  |  |     check_func_headers "$headers" "$funcs" "$@" && add_extralibs "$@" | 
					
						
							| 
									
										
										
										
											2007-02-19 23:00:18 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-06 13:48:30 +00:00
										 |  |  | check_pkg_config(){ | 
					
						
							|  |  |  |     log check_pkg_config "$@" | 
					
						
							|  |  |  |     pkg="$1" | 
					
						
							|  |  |  |     headers="$2" | 
					
						
							|  |  |  |     funcs="$3" | 
					
						
							|  |  |  |     shift 3 | 
					
						
							| 
									
										
										
										
											2013-09-03 22:15:23 +02:00
										 |  |  |     check_cmd $pkg_config --exists --print-errors $pkg || return | 
					
						
							| 
									
										
										
										
											2014-01-20 11:17:45 +01:00
										 |  |  |     pkg_cflags=$($pkg_config --cflags $pkg_config_flags $pkg) | 
					
						
							|  |  |  |     pkg_libs=$($pkg_config --libs $pkg_config_flags $pkg) | 
					
						
							| 
									
										
										
										
											2011-03-06 13:48:30 +00:00
										 |  |  |     check_func_headers "$headers" "$funcs" $pkg_cflags $pkg_libs "$@" && | 
					
						
							|  |  |  |         set_safe ${pkg}_cflags $pkg_cflags   && | 
					
						
							|  |  |  |         set_safe ${pkg}_libs   $pkg_libs | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | check_exec(){ | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  |     check_ld "$@" && { enabled cross_compile || $TMPE >> $logfile 2>&1; } | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-04-13 20:16:13 +00:00
										 |  |  | check_exec_crash(){ | 
					
						
							| 
									
										
										
										
											2009-03-09 23:59:31 +00:00
										 |  |  |     code=$(cat) | 
					
						
							| 
									
										
										
										
											2007-04-13 20:16:13 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     # exit() is not async signal safe.  _Exit (C99) and _exit (POSIX) | 
					
						
							|  |  |  |     # are safe but may not be available everywhere.  Thus we use | 
					
						
							|  |  |  |     # raise(SIGTERM) instead.  The check is run in a subshell so we | 
					
						
							|  |  |  |     # can redirect the "Terminated" message from the shell.  SIGBUS | 
					
						
							|  |  |  |     # is not defined by standard C so it is used conditionally. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  |     (check_exec "$@") >> $logfile 2>&1 <<EOF | 
					
						
							| 
									
										
										
										
											2007-04-13 20:16:13 +00:00
										 |  |  | #include <signal.h> | 
					
						
							|  |  |  | static void sighandler(int sig){ | 
					
						
							|  |  |  |     raise(SIGTERM); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2012-09-13 20:17:54 +01:00
										 |  |  | int foo(void){ | 
					
						
							|  |  |  |     $code | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-05-25 06:01:29 -04:00
										 |  |  | int (*func_ptr)(void) = foo; | 
					
						
							| 
									
										
										
										
											2007-11-20 11:18:52 +00:00
										 |  |  | int main(void){ | 
					
						
							| 
									
										
										
										
											2007-04-13 20:16:13 +00:00
										 |  |  |     signal(SIGILL, sighandler); | 
					
						
							|  |  |  |     signal(SIGFPE, sighandler); | 
					
						
							|  |  |  |     signal(SIGSEGV, sighandler); | 
					
						
							|  |  |  | #ifdef SIGBUS | 
					
						
							|  |  |  |     signal(SIGBUS, sighandler); | 
					
						
							|  |  |  | #endif | 
					
						
							| 
									
										
										
										
											2013-05-25 06:01:29 -04:00
										 |  |  |     return func_ptr(); | 
					
						
							| 
									
										
										
										
											2007-04-13 20:16:13 +00:00
										 |  |  | } | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-01 22:54:35 +00:00
										 |  |  | check_type(){ | 
					
						
							|  |  |  |     log check_type "$@" | 
					
						
							|  |  |  |     headers=$1 | 
					
						
							|  |  |  |     type=$2 | 
					
						
							|  |  |  |     shift 2 | 
					
						
							| 
									
										
										
										
											2010-01-11 14:22:29 +00:00
										 |  |  |     disable_safe "$type" | 
					
						
							| 
									
										
										
										
											2012-07-04 23:06:25 +01:00
										 |  |  |     check_code cc "$headers" "$type v" "$@" && enable_safe "$type" | 
					
						
							| 
									
										
										
										
											2008-01-01 22:54:35 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-17 19:10:03 +00:00
										 |  |  | check_struct(){ | 
					
						
							| 
									
										
										
										
											2013-03-04 22:56:41 +01:00
										 |  |  |     log check_struct "$@" | 
					
						
							| 
									
										
										
										
											2010-01-17 19:10:03 +00:00
										 |  |  |     headers=$1 | 
					
						
							|  |  |  |     struct=$2 | 
					
						
							|  |  |  |     member=$3 | 
					
						
							|  |  |  |     shift 3 | 
					
						
							|  |  |  |     disable_safe "${struct}_${member}" | 
					
						
							| 
									
										
										
										
											2012-07-04 23:06:25 +01:00
										 |  |  |     check_code cc "$headers" "const void *p = &(($struct *)0)->$member" "$@" && | 
					
						
							|  |  |  |         enable_safe "${struct}_${member}" | 
					
						
							| 
									
										
										
										
											2010-01-17 19:10:03 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-04 22:59:41 +01:00
										 |  |  | check_builtin(){ | 
					
						
							|  |  |  |     log check_builtin "$@" | 
					
						
							|  |  |  |     name=$1 | 
					
						
							|  |  |  |     headers=$2 | 
					
						
							|  |  |  |     builtin=$3 | 
					
						
							|  |  |  |     shift 3 | 
					
						
							|  |  |  |     disable "$name" | 
					
						
							|  |  |  |     check_code ld "$headers" "$builtin" "$@" && enable "$name" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-14 12:19:04 +01:00
										 |  |  | check_compile_assert(){ | 
					
						
							|  |  |  |     log check_compile_assert "$@" | 
					
						
							|  |  |  |     name=$1 | 
					
						
							|  |  |  |     headers=$2 | 
					
						
							|  |  |  |     condition=$3 | 
					
						
							|  |  |  |     shift 3 | 
					
						
							|  |  |  |     disable "$name" | 
					
						
							|  |  |  |     check_code cc "$headers" "char c[2 * !!($condition) - 1]" "$@" && enable "$name" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | require(){ | 
					
						
							|  |  |  |     name="$1" | 
					
						
							|  |  |  |     header="$2" | 
					
						
							|  |  |  |     func="$3" | 
					
						
							|  |  |  |     shift 3 | 
					
						
							|  |  |  |     check_lib $header $func "$@" || die "ERROR: $name not found" | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-19 23:00:18 +00:00
										 |  |  | require2(){ | 
					
						
							|  |  |  |     name="$1" | 
					
						
							|  |  |  |     headers="$2" | 
					
						
							|  |  |  |     func="$3" | 
					
						
							|  |  |  |     shift 3 | 
					
						
							|  |  |  |     check_lib2 "$headers" $func "$@" || die "ERROR: $name not found" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-06 13:48:30 +00:00
										 |  |  | require_pkg_config(){ | 
					
						
							|  |  |  |     pkg="$1" | 
					
						
							|  |  |  |     check_pkg_config "$@" || die "ERROR: $pkg not found" | 
					
						
							|  |  |  |     add_cflags    $(get_safe ${pkg}_cflags) | 
					
						
							|  |  |  |     add_extralibs $(get_safe ${pkg}_libs) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  | hostcc_e(){ | 
					
						
							|  |  |  |     eval printf '%s\\n' $HOSTCC_E | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-27 22:19:42 +01:00
										 |  |  | hostcc_o(){ | 
					
						
							|  |  |  |     eval printf '%s\\n' $HOSTCC_O | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-28 20:19:15 +00:00
										 |  |  | check_host_cc(){ | 
					
						
							|  |  |  |     log check_host_cc "$@" | 
					
						
							|  |  |  |     cat > $TMPC | 
					
						
							|  |  |  |     log_file $TMPC | 
					
						
							| 
									
										
										
										
											2012-08-27 22:19:42 +01:00
										 |  |  |     check_cmd $host_cc $host_cflags "$@" $HOSTCC_C $(hostcc_o $TMPO) $TMPC | 
					
						
							| 
									
										
										
										
											2009-10-28 20:19:15 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  | check_host_cpp(){ | 
					
						
							|  |  |  |     log check_host_cpp "$@" | 
					
						
							|  |  |  |     cat > $TMPC | 
					
						
							|  |  |  |     log_file $TMPC | 
					
						
							| 
									
										
										
										
											2014-09-11 13:55:48 +02:00
										 |  |  |     check_cmd $host_cc $host_cppflags $host_cflags "$@" $(hostcc_e $TMPO) $TMPC | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-03 15:13:17 +01:00
										 |  |  | check_host_cppflags(){ | 
					
						
							|  |  |  |     log check_host_cppflags "$@" | 
					
						
							|  |  |  |     check_host_cc "$@" <<EOF && append host_cppflags "$@" | 
					
						
							|  |  |  | int x; | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-28 20:19:15 +00:00
										 |  |  | check_host_cflags(){ | 
					
						
							|  |  |  |     log check_host_cflags "$@" | 
					
						
							| 
									
										
										
										
											2012-07-20 13:48:13 +01:00
										 |  |  |     set -- $($host_cflags_filter "$@") | 
					
						
							| 
									
										
										
										
											2009-10-28 20:19:15 +00:00
										 |  |  |     check_host_cc "$@" <<EOF && append host_cflags "$@" | 
					
						
							|  |  |  | int x; | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  | check_host_cpp_condition(){ | 
					
						
							|  |  |  |     log check_host_cpp_condition "$@" | 
					
						
							|  |  |  |     header=$1 | 
					
						
							|  |  |  |     condition=$2 | 
					
						
							|  |  |  |     shift 2 | 
					
						
							|  |  |  |     check_host_cpp "$@" <<EOF | 
					
						
							|  |  |  | #include <$header> | 
					
						
							|  |  |  | #if !($condition) | 
					
						
							|  |  |  | #error "unsatisfied condition: $condition" | 
					
						
							|  |  |  | #endif | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-12-15 22:36:19 +00:00
										 |  |  | apply(){ | 
					
						
							|  |  |  |     file=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     "$@" < "$file" > "$file.tmp" && mv "$file.tmp" "$file" || rm "$file.tmp" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-19 04:40:08 +00:00
										 |  |  | cp_if_changed(){ | 
					
						
							| 
									
										
										
										
											2011-06-28 18:45:13 +01:00
										 |  |  |     cmp -s "$1" "$2" && echo "$2 is unchanged" && return | 
					
						
							|  |  |  |     mkdir -p "$(dirname $2)" | 
					
						
							| 
									
										
										
										
											2012-10-15 02:38:17 +01:00
										 |  |  |     $cp_f "$1" "$2" | 
					
						
							| 
									
										
										
										
											2010-01-19 04:40:08 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-01 20:30:21 +00:00
										 |  |  | # CONFIG_LIST contains configurable options, while HAVE_LIST is for | 
					
						
							|  |  |  | # system-dependent things. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-08-20 21:35:51 +00:00
										 |  |  | COMPONENT_LIST=" | 
					
						
							|  |  |  |     bsfs | 
					
						
							|  |  |  |     decoders | 
					
						
							|  |  |  |     demuxers | 
					
						
							|  |  |  |     encoders | 
					
						
							| 
									
										
										
										
											2008-02-26 21:34:13 +00:00
										 |  |  |     filters | 
					
						
							| 
									
										
										
										
											2009-04-02 08:48:06 +00:00
										 |  |  |     hwaccels | 
					
						
							| 
									
										
										
										
											2007-12-06 17:53:46 +00:00
										 |  |  |     indevs | 
					
						
							| 
									
										
										
										
											2007-08-20 21:35:51 +00:00
										 |  |  |     muxers | 
					
						
							| 
									
										
										
										
											2007-12-06 17:53:46 +00:00
										 |  |  |     outdevs | 
					
						
							| 
									
										
										
										
											2007-08-20 21:35:51 +00:00
										 |  |  |     parsers | 
					
						
							|  |  |  |     protocols | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:05:28 +01:00
										 |  |  | EXAMPLE_LIST=" | 
					
						
							| 
									
										
										
										
											2014-02-15 15:50:29 +01:00
										 |  |  |     avcodec_example | 
					
						
							| 
									
										
										
										
											2014-02-13 08:50:16 +01:00
										 |  |  |     filter_audio_example | 
					
						
							| 
									
										
										
										
											2014-02-15 15:50:29 +01:00
										 |  |  |     metadata_example | 
					
						
							| 
									
										
										
										
											2013-11-02 17:05:28 +01:00
										 |  |  |     output_example | 
					
						
							| 
									
										
										
										
											2013-10-08 13:10:46 +02:00
										 |  |  |     transcode_aac_example | 
					
						
							| 
									
										
										
										
											2013-11-02 17:05:28 +01:00
										 |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-27 20:02:33 +01:00
										 |  |  | EXTERNAL_LIBRARY_LIST=" | 
					
						
							|  |  |  |     avisynth | 
					
						
							|  |  |  |     bzlib | 
					
						
							|  |  |  |     frei0r | 
					
						
							|  |  |  |     gnutls | 
					
						
							| 
									
										
										
										
											2014-04-29 18:53:16 +02:00
										 |  |  |     libbs2b | 
					
						
							| 
									
										
										
										
											2012-10-27 20:02:33 +01:00
										 |  |  |     libcdio | 
					
						
							|  |  |  |     libdc1394 | 
					
						
							|  |  |  |     libfaac | 
					
						
							|  |  |  |     libfdk_aac | 
					
						
							| 
									
										
										
										
											2014-04-12 16:02:50 +02:00
										 |  |  |     libfontconfig | 
					
						
							| 
									
										
										
										
											2012-10-27 20:02:33 +01:00
										 |  |  |     libfreetype | 
					
						
							|  |  |  |     libgsm | 
					
						
							|  |  |  |     libilbc | 
					
						
							| 
									
										
										
										
											2015-02-10 10:40:59 +01:00
										 |  |  |     libmfx | 
					
						
							| 
									
										
										
										
											2012-10-27 20:02:33 +01:00
										 |  |  |     libmp3lame | 
					
						
							|  |  |  |     libopencore_amrnb | 
					
						
							|  |  |  |     libopencore_amrwb | 
					
						
							|  |  |  |     libopencv | 
					
						
							| 
									
										
										
										
											2013-12-12 17:13:55 +02:00
										 |  |  |     libopenh264 | 
					
						
							| 
									
										
										
										
											2012-10-27 20:02:33 +01:00
										 |  |  |     libopenjpeg | 
					
						
							|  |  |  |     libopus | 
					
						
							|  |  |  |     libpulse | 
					
						
							|  |  |  |     librtmp | 
					
						
							|  |  |  |     libschroedinger | 
					
						
							|  |  |  |     libspeex | 
					
						
							|  |  |  |     libtheora | 
					
						
							| 
									
										
										
										
											2012-08-01 16:33:34 +00:00
										 |  |  |     libtwolame | 
					
						
							| 
									
										
										
										
											2012-10-27 20:02:33 +01:00
										 |  |  |     libvo_aacenc | 
					
						
							|  |  |  |     libvo_amrwbenc | 
					
						
							|  |  |  |     libvorbis | 
					
						
							|  |  |  |     libvpx | 
					
						
							| 
									
										
										
										
											2013-05-25 19:22:59 +02:00
										 |  |  |     libwavpack | 
					
						
							| 
									
										
										
										
											2013-11-22 11:05:13 -05:00
										 |  |  |     libwebp | 
					
						
							| 
									
										
										
										
											2012-10-27 20:02:33 +01:00
										 |  |  |     libx264 | 
					
						
							| 
									
										
										
										
											2013-10-02 14:46:26 +00:00
										 |  |  |     libx265 | 
					
						
							| 
									
										
										
										
											2012-10-27 20:02:33 +01:00
										 |  |  |     libxavs | 
					
						
							| 
									
										
										
										
											2014-08-24 14:18:22 +02:00
										 |  |  |     libxcb | 
					
						
							|  |  |  |     libxcb_shm | 
					
						
							|  |  |  |     libxcb_xfixes | 
					
						
							| 
									
										
										
										
											2012-10-27 20:02:33 +01:00
										 |  |  |     libxvid | 
					
						
							|  |  |  |     openssl | 
					
						
							|  |  |  |     x11grab | 
					
						
							|  |  |  |     zlib | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:51 +01:00
										 |  |  | FEATURE_LIST=" | 
					
						
							|  |  |  |     gray | 
					
						
							|  |  |  |     hardcoded_tables | 
					
						
							|  |  |  |     runtime_cpudetect | 
					
						
							|  |  |  |     safe_bitstream_reader | 
					
						
							|  |  |  |     shared | 
					
						
							|  |  |  |     small | 
					
						
							|  |  |  |     sram | 
					
						
							|  |  |  |     static | 
					
						
							|  |  |  |     swscale_alpha | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-05 15:32:24 +01:00
										 |  |  | HWACCEL_LIST=" | 
					
						
							|  |  |  |     dxva2 | 
					
						
							|  |  |  |     vaapi | 
					
						
							|  |  |  |     vda | 
					
						
							|  |  |  |     vdpau | 
					
						
							|  |  |  | " | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-11 13:37:40 +01:00
										 |  |  | LIBRARY_LIST=" | 
					
						
							|  |  |  |     avcodec | 
					
						
							|  |  |  |     avdevice | 
					
						
							|  |  |  |     avfilter | 
					
						
							|  |  |  |     avformat | 
					
						
							|  |  |  |     avresample | 
					
						
							|  |  |  |     avutil | 
					
						
							|  |  |  |     swscale | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:51 +01:00
										 |  |  | LICENSE_LIST=" | 
					
						
							|  |  |  |     gpl | 
					
						
							|  |  |  |     nonfree | 
					
						
							|  |  |  |     version3 | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-12-15 12:17:13 +01:00
										 |  |  | PROGRAM_LIST=" | 
					
						
							|  |  |  |     avconv | 
					
						
							|  |  |  |     avplay | 
					
						
							|  |  |  |     avprobe | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:51 +01:00
										 |  |  | SUBSYSTEM_LIST=" | 
					
						
							| 
									
										
										
										
											2010-01-20 00:39:47 +00:00
										 |  |  |     dct | 
					
						
							| 
									
										
										
										
											2013-11-25 15:19:57 -08:00
										 |  |  |     doc | 
					
						
							| 
									
										
										
										
											2013-03-02 16:57:26 -08:00
										 |  |  |     error_resilience | 
					
						
							| 
									
										
										
										
											2014-08-28 19:32:45 -07:00
										 |  |  |     faan | 
					
						
							| 
									
										
										
										
											2008-10-24 21:44:54 +00:00
										 |  |  |     fft | 
					
						
							| 
									
										
										
										
											2010-03-02 03:16:27 +00:00
										 |  |  |     lsp | 
					
						
							| 
									
										
										
										
											2012-10-18 19:48:27 +02:00
										 |  |  |     lzo | 
					
						
							| 
									
										
										
										
											2008-10-25 13:51:43 +00:00
										 |  |  |     mdct | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:51 +01:00
										 |  |  |     network | 
					
						
							| 
									
										
										
										
											2015-02-10 10:40:59 +01:00
										 |  |  |     qsv | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:51 +01:00
										 |  |  |     rdft | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CONFIG_LIST=" | 
					
						
							|  |  |  |     $COMPONENT_LIST | 
					
						
							|  |  |  |     $EXAMPLE_LIST | 
					
						
							|  |  |  |     $EXTERNAL_LIBRARY_LIST | 
					
						
							|  |  |  |     $FEATURE_LIST | 
					
						
							|  |  |  |     $HWACCEL_LIST | 
					
						
							|  |  |  |     $LICENSE_LIST | 
					
						
							|  |  |  |     $LIBRARY_LIST | 
					
						
							|  |  |  |     $PROGRAM_LIST | 
					
						
							|  |  |  |     $SUBSYSTEM_LIST | 
					
						
							| 
									
										
										
										
											2006-11-14 00:47:27 +00:00
										 |  |  |     memalign_hack | 
					
						
							| 
									
										
										
										
											2013-12-20 13:51:50 +02:00
										 |  |  |     neon_clobber_test | 
					
						
							| 
									
										
										
										
											2009-08-20 01:06:18 +00:00
										 |  |  |     pic | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  |     pod2man | 
					
						
							| 
									
										
										
										
											2013-11-21 16:57:56 -08:00
										 |  |  |     texi2html | 
					
						
							| 
									
										
										
										
											2011-06-14 11:29:48 +01:00
										 |  |  |     thumb | 
					
						
							| 
									
										
										
										
											2012-02-02 11:48:13 -08:00
										 |  |  |     xmm_clobber_test | 
					
						
							| 
									
										
										
										
											2007-08-20 21:35:51 +00:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2006-11-14 00:47:27 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | THREADS_LIST=" | 
					
						
							| 
									
										
										
										
											2007-02-25 21:26:40 +00:00
										 |  |  |     pthreads | 
					
						
							|  |  |  |     w32threads | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2007-02-25 21:26:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | ATOMICS_LIST=" | 
					
						
							| 
									
										
										
										
											2013-03-27 19:26:19 +01:00
										 |  |  |     atomics_gcc | 
					
						
							|  |  |  |     atomics_suncc | 
					
						
							| 
									
										
										
										
											2013-04-06 19:04:56 +02:00
										 |  |  |     atomics_win32 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2013-03-27 19:26:19 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | ARCH_LIST=" | 
					
						
							| 
									
										
										
										
											2012-11-16 21:02:53 +00:00
										 |  |  |     aarch64 | 
					
						
							| 
									
										
										
										
											2007-06-15 20:35:44 +00:00
										 |  |  |     alpha | 
					
						
							| 
									
										
										
										
											2008-12-17 00:54:54 +00:00
										 |  |  |     arm | 
					
						
							| 
									
										
										
										
											2009-08-17 00:15:48 +00:00
										 |  |  |     avr32 | 
					
						
							|  |  |  |     avr32_ap | 
					
						
							|  |  |  |     avr32_uc | 
					
						
							| 
									
										
										
										
											2007-06-15 20:35:44 +00:00
										 |  |  |     bfin | 
					
						
							|  |  |  |     ia64 | 
					
						
							|  |  |  |     m68k | 
					
						
							|  |  |  |     mips | 
					
						
							| 
									
										
										
										
											2009-05-19 19:40:24 +00:00
										 |  |  |     mips64 | 
					
						
							| 
									
										
										
										
											2007-06-15 20:35:44 +00:00
										 |  |  |     parisc | 
					
						
							| 
									
										
										
										
											2008-12-27 11:33:26 +00:00
										 |  |  |     ppc | 
					
						
							| 
									
										
										
										
											2009-05-26 05:00:51 +00:00
										 |  |  |     ppc64 | 
					
						
							| 
									
										
										
										
											2007-06-15 20:35:44 +00:00
										 |  |  |     s390 | 
					
						
							|  |  |  |     sh4 | 
					
						
							|  |  |  |     sparc | 
					
						
							|  |  |  |     sparc64 | 
					
						
							| 
									
										
										
										
											2012-10-16 18:21:06 +00:00
										 |  |  |     tilegx | 
					
						
							|  |  |  |     tilepro | 
					
						
							| 
									
										
										
										
											2010-02-11 23:59:49 +00:00
										 |  |  |     tomi | 
					
						
							| 
									
										
										
										
											2007-06-15 20:35:44 +00:00
										 |  |  |     x86 | 
					
						
							|  |  |  |     x86_32 | 
					
						
							|  |  |  |     x86_64 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2007-06-15 20:35:44 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | ARCH_EXT_LIST_ARM=" | 
					
						
							| 
									
										
										
										
											2012-12-01 12:26:12 +00:00
										 |  |  |     armv5te | 
					
						
							|  |  |  |     armv6 | 
					
						
							|  |  |  |     armv6t2 | 
					
						
							| 
									
										
										
										
											2014-04-05 13:46:51 +02:00
										 |  |  |     armv8 | 
					
						
							| 
									
										
										
										
											2012-12-01 12:26:12 +00:00
										 |  |  |     neon | 
					
						
							| 
									
										
										
										
											2012-12-04 23:29:34 +00:00
										 |  |  |     vfp | 
					
						
							| 
									
										
										
										
											2012-12-01 12:26:12 +00:00
										 |  |  |     vfpv3 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2012-12-01 12:26:12 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | ARCH_EXT_LIST_X86_SIMD=" | 
					
						
							| 
									
										
										
										
											2009-01-25 19:48:26 +00:00
										 |  |  |     amd3dnow | 
					
						
							| 
									
										
										
										
											2009-02-18 00:03:09 +00:00
										 |  |  |     amd3dnowext | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  |     avx | 
					
						
							| 
									
										
										
										
											2013-10-25 07:53:56 -05:00
										 |  |  |     avx2 | 
					
						
							| 
									
										
										
										
											2014-02-22 04:54:01 +00:00
										 |  |  |     fma3 | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  |     fma4 | 
					
						
							|  |  |  |     mmx | 
					
						
							|  |  |  |     mmxext | 
					
						
							|  |  |  |     sse | 
					
						
							|  |  |  |     sse2 | 
					
						
							|  |  |  |     sse3 | 
					
						
							|  |  |  |     sse4 | 
					
						
							|  |  |  |     sse42 | 
					
						
							|  |  |  |     ssse3 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  |     xop | 
					
						
							|  |  |  | " | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  | ARCH_EXT_LIST_PPC=" | 
					
						
							|  |  |  |     altivec | 
					
						
							|  |  |  |     dcbzl | 
					
						
							|  |  |  |     ldbrx | 
					
						
							|  |  |  |     ppc4xx | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:53 +01:00
										 |  |  | ARCH_EXT_LIST_X86=" | 
					
						
							|  |  |  |     $ARCH_EXT_LIST_X86_SIMD | 
					
						
							|  |  |  |     cpunop | 
					
						
							|  |  |  |     i686 | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  | ARCH_EXT_LIST=" | 
					
						
							| 
									
										
										
										
											2012-12-01 12:26:12 +00:00
										 |  |  |     $ARCH_EXT_LIST_ARM | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  |     $ARCH_EXT_LIST_PPC | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  |     $ARCH_EXT_LIST_X86 | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  |     loongson | 
					
						
							|  |  |  |     vis | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2007-06-15 20:35:44 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  | ARCH_FEATURES=" | 
					
						
							|  |  |  |     aligned_stack | 
					
						
							|  |  |  |     fast_64bit | 
					
						
							|  |  |  |     fast_clz | 
					
						
							|  |  |  |     fast_cmov | 
					
						
							|  |  |  |     local_aligned_8 | 
					
						
							|  |  |  |     local_aligned_16 | 
					
						
							| 
									
										
										
										
											2014-07-21 13:58:55 -07:00
										 |  |  |     simd_align_16 | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BUILTIN_LIST=" | 
					
						
							|  |  |  |     atomic_cas_ptr | 
					
						
							|  |  |  |     machine_rw_barrier | 
					
						
							|  |  |  |     MemoryBarrier | 
					
						
							|  |  |  |     mm_empty | 
					
						
							|  |  |  |     rdtsc | 
					
						
							|  |  |  |     sync_val_compare_and_swap | 
					
						
							|  |  |  | " | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | HAVE_LIST_CMDLINE=" | 
					
						
							| 
									
										
										
										
											2012-09-05 11:35:13 +02:00
										 |  |  |     inline_asm | 
					
						
							|  |  |  |     symver | 
					
						
							|  |  |  |     yasm | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2012-09-05 11:35:13 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | HAVE_LIST_PUB=" | 
					
						
							| 
									
										
										
										
											2010-01-19 04:40:16 +00:00
										 |  |  |     bigendian | 
					
						
							| 
									
										
										
										
											2010-07-10 22:22:00 +00:00
										 |  |  |     fast_unaligned | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2010-01-19 04:40:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  | HEADERS_LIST=" | 
					
						
							|  |  |  |     alsa_asoundlib_h | 
					
						
							|  |  |  |     altivec_h | 
					
						
							|  |  |  |     arpa_inet_h | 
					
						
							|  |  |  |     cdio_paranoia_h | 
					
						
							|  |  |  |     cdio_paranoia_paranoia_h | 
					
						
							|  |  |  |     dev_bktr_ioctl_bt848_h | 
					
						
							|  |  |  |     dev_bktr_ioctl_meteor_h | 
					
						
							|  |  |  |     dev_ic_bt8xx_h | 
					
						
							|  |  |  |     dev_video_bktr_ioctl_bt848_h | 
					
						
							|  |  |  |     dev_video_meteor_ioctl_meteor_h | 
					
						
							|  |  |  |     direct_h | 
					
						
							|  |  |  |     dlfcn_h | 
					
						
							|  |  |  |     dxva_h | 
					
						
							|  |  |  |     gsm_h | 
					
						
							|  |  |  |     io_h | 
					
						
							|  |  |  |     mach_mach_time_h | 
					
						
							|  |  |  |     machine_ioctl_bt848_h | 
					
						
							|  |  |  |     machine_ioctl_meteor_h | 
					
						
							|  |  |  |     malloc_h | 
					
						
							|  |  |  |     poll_h | 
					
						
							|  |  |  |     sndio_h | 
					
						
							|  |  |  |     soundcard_h | 
					
						
							|  |  |  |     sys_mman_h | 
					
						
							|  |  |  |     sys_param_h | 
					
						
							|  |  |  |     sys_resource_h | 
					
						
							|  |  |  |     sys_select_h | 
					
						
							|  |  |  |     sys_soundcard_h | 
					
						
							|  |  |  |     sys_time_h | 
					
						
							|  |  |  |     sys_un_h | 
					
						
							|  |  |  |     sys_videoio_h | 
					
						
							|  |  |  |     unistd_h | 
					
						
							|  |  |  |     windows_h | 
					
						
							|  |  |  |     winsock2_h | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-13 23:03:28 +02:00
										 |  |  | INTRINSICS_LIST=" | 
					
						
							|  |  |  |     intrinsics_neon | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  | MATH_FUNCS=" | 
					
						
							| 
									
										
										
										
											2012-10-13 22:54:53 +01:00
										 |  |  |     atanf | 
					
						
							|  |  |  |     atan2f | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  |     cbrtf | 
					
						
							| 
									
										
										
										
											2012-10-13 22:54:53 +01:00
										 |  |  |     cosf | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  |     exp2 | 
					
						
							|  |  |  |     exp2f | 
					
						
							| 
									
										
										
										
											2012-10-13 22:54:53 +01:00
										 |  |  |     expf | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  |     isinf | 
					
						
							|  |  |  |     isnan | 
					
						
							| 
									
										
										
										
											2012-10-13 22:54:53 +01:00
										 |  |  |     ldexpf | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  |     llrint | 
					
						
							|  |  |  |     llrintf | 
					
						
							|  |  |  |     log2 | 
					
						
							|  |  |  |     log2f | 
					
						
							| 
									
										
										
										
											2012-10-13 22:54:53 +01:00
										 |  |  |     log10f | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  |     lrint | 
					
						
							|  |  |  |     lrintf | 
					
						
							| 
									
										
										
										
											2012-10-13 22:54:53 +01:00
										 |  |  |     powf | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  |     rint | 
					
						
							|  |  |  |     round | 
					
						
							|  |  |  |     roundf | 
					
						
							| 
									
										
										
										
											2012-10-13 22:54:53 +01:00
										 |  |  |     sinf | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  |     trunc | 
					
						
							|  |  |  |     truncf | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  | SYSTEM_FUNCS=" | 
					
						
							| 
									
										
										
										
											2012-06-18 14:37:02 +01:00
										 |  |  |     aligned_malloc | 
					
						
							| 
									
										
										
										
											2014-08-24 18:14:47 +02:00
										 |  |  |     clock_gettime | 
					
						
							| 
									
										
										
										
											2007-08-08 20:18:41 +00:00
										 |  |  |     closesocket | 
					
						
							| 
									
										
										
										
											2012-11-29 17:02:24 +02:00
										 |  |  |     CommandLineToArgvW | 
					
						
							| 
									
										
										
										
											2014-04-28 23:00:38 +02:00
										 |  |  |     CoTaskMemFree | 
					
						
							| 
									
										
										
										
											2012-10-11 14:30:23 +03:00
										 |  |  |     CryptGenRandom | 
					
						
							| 
									
										
										
										
											2006-11-14 00:47:27 +00:00
										 |  |  |     dlopen | 
					
						
							| 
									
										
										
										
											2010-06-30 10:38:01 +00:00
										 |  |  |     fcntl | 
					
						
							| 
									
										
										
										
											2013-11-14 12:19:04 +01:00
										 |  |  |     flt_lim | 
					
						
							| 
									
										
										
										
											2007-07-09 20:22:14 +00:00
										 |  |  |     fork | 
					
						
							| 
									
										
										
										
											2010-01-11 17:01:56 +00:00
										 |  |  |     getaddrinfo | 
					
						
							| 
									
										
										
										
											2007-08-10 01:13:15 +00:00
										 |  |  |     gethrtime | 
					
						
							| 
									
										
										
										
											2012-07-03 20:14:09 -07:00
										 |  |  |     getopt | 
					
						
							| 
									
										
										
										
											2012-01-01 23:54:40 +00:00
										 |  |  |     GetProcessAffinityMask | 
					
						
							| 
									
										
										
										
											2010-02-22 22:21:58 +00:00
										 |  |  |     GetProcessMemoryInfo | 
					
						
							| 
									
										
										
										
											2007-08-12 00:59:50 +00:00
										 |  |  |     GetProcessTimes | 
					
						
							| 
									
										
										
										
											2007-07-13 16:04:00 +00:00
										 |  |  |     getrusage | 
					
						
							| 
									
										
										
										
											2012-10-14 20:24:51 +01:00
										 |  |  |     getservbyport | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  |     GetSystemTimeAsFileTime | 
					
						
							| 
									
										
										
										
											2012-06-20 13:46:52 +01:00
										 |  |  |     gettimeofday | 
					
						
							| 
									
										
										
										
											2014-10-24 10:33:19 +03:00
										 |  |  |     gmtime_r | 
					
						
							| 
									
										
										
										
											2006-11-14 03:55:26 +00:00
										 |  |  |     inet_aton | 
					
						
							| 
									
										
										
										
											2009-07-24 00:12:55 +00:00
										 |  |  |     isatty | 
					
						
							| 
									
										
										
										
											2012-06-11 18:22:31 -04:00
										 |  |  |     jack_port_get_latency_range | 
					
						
							| 
									
										
										
										
											2011-02-21 01:02:29 +01:00
										 |  |  |     localtime_r | 
					
						
							| 
									
										
										
										
											2014-01-24 01:15:31 +01:00
										 |  |  |     mach_absolute_time | 
					
						
							| 
									
										
										
										
											2011-01-05 05:16:33 +00:00
										 |  |  |     MapViewOfFile | 
					
						
							| 
									
										
										
										
											2006-11-14 00:47:27 +00:00
										 |  |  |     memalign | 
					
						
							| 
									
										
										
										
											2007-07-11 13:57:22 +00:00
										 |  |  |     mkstemp | 
					
						
							| 
									
										
										
										
											2010-12-22 14:13:04 +00:00
										 |  |  |     mmap | 
					
						
							| 
									
										
										
										
											2012-10-13 02:40:48 +00:00
										 |  |  |     mprotect | 
					
						
							| 
									
										
										
										
											2012-06-21 17:00:25 +01:00
										 |  |  |     nanosleep | 
					
						
							| 
									
										
										
										
											2009-01-07 23:36:34 +00:00
										 |  |  |     posix_memalign | 
					
						
							| 
									
										
										
										
											2011-12-21 01:18:01 +01:00
										 |  |  |     sched_getaffinity | 
					
						
							| 
									
										
										
										
											2012-11-30 16:56:57 +02:00
										 |  |  |     SetConsoleTextAttribute | 
					
						
							| 
									
										
										
										
											2009-01-11 22:05:43 +00:00
										 |  |  |     setmode | 
					
						
							| 
									
										
										
										
											2011-09-12 17:40:29 +02:00
										 |  |  |     setrlimit | 
					
						
							| 
									
										
										
										
											2012-06-21 17:00:25 +01:00
										 |  |  |     Sleep | 
					
						
							| 
									
										
										
										
											2010-03-25 22:46:35 +00:00
										 |  |  |     strerror_r | 
					
						
							| 
									
										
										
										
											2011-07-13 09:30:06 +02:00
										 |  |  |     strptime | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  |     sysconf | 
					
						
							|  |  |  |     sysctl | 
					
						
							|  |  |  |     usleep | 
					
						
							|  |  |  |     VirtualAlloc | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TOOLCHAIN_FEATURES=" | 
					
						
							| 
									
										
										
										
											2014-05-29 14:21:05 +02:00
										 |  |  |     as_dn_directive | 
					
						
							| 
									
										
										
										
											2014-05-30 09:58:43 +02:00
										 |  |  |     as_func | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  |     asm_mod_q | 
					
						
							|  |  |  |     attribute_may_alias | 
					
						
							|  |  |  |     attribute_packed | 
					
						
							|  |  |  |     ebp_available | 
					
						
							|  |  |  |     ebx_available | 
					
						
							|  |  |  |     gnu_as | 
					
						
							|  |  |  |     ibm_asm | 
					
						
							|  |  |  |     inline_asm_labels | 
					
						
							|  |  |  |     pragma_deprecated | 
					
						
							|  |  |  |     symver_asm_label | 
					
						
							|  |  |  |     symver_gnu_asm | 
					
						
							|  |  |  |     vfp_args | 
					
						
							|  |  |  |     xform_asm | 
					
						
							|  |  |  |     xmm_clobbers | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TYPES_LIST=" | 
					
						
							| 
									
										
										
										
											2014-10-09 13:13:05 -03:00
										 |  |  |     CONDITION_VARIABLE_Ptr | 
					
						
							| 
									
										
										
										
											2015-01-25 12:58:50 +01:00
										 |  |  |     DXVA_PicParams_HEVC | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  |     socklen_t | 
					
						
							| 
									
										
										
										
											2010-01-11 17:17:01 +00:00
										 |  |  |     struct_addrinfo | 
					
						
							| 
									
										
										
										
											2012-06-21 14:19:56 +03:00
										 |  |  |     struct_group_source_req | 
					
						
							|  |  |  |     struct_ip_mreq_source | 
					
						
							| 
									
										
										
										
											2010-01-21 15:42:05 +00:00
										 |  |  |     struct_ipv6_mreq | 
					
						
							| 
									
										
										
										
											2012-06-25 12:08:44 +03:00
										 |  |  |     struct_pollfd | 
					
						
							| 
									
										
										
										
											2011-09-12 17:40:29 +02:00
										 |  |  |     struct_rusage_ru_maxrss | 
					
						
							| 
									
										
										
										
											2010-01-21 15:42:05 +00:00
										 |  |  |     struct_sockaddr_in6 | 
					
						
							| 
									
										
										
										
											2010-01-20 17:24:23 +00:00
										 |  |  |     struct_sockaddr_sa_len | 
					
						
							| 
									
										
										
										
											2010-01-11 17:42:15 +00:00
										 |  |  |     struct_sockaddr_storage | 
					
						
							| 
									
										
										
										
											2011-12-27 06:31:41 +01:00
										 |  |  |     struct_v4l2_frmivalenum_discrete | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | HAVE_LIST=" | 
					
						
							|  |  |  |     $ARCH_EXT_LIST | 
					
						
							|  |  |  |     $(add_suffix _external $ARCH_EXT_LIST) | 
					
						
							|  |  |  |     $(add_suffix _inline   $ARCH_EXT_LIST) | 
					
						
							|  |  |  |     $ARCH_FEATURES | 
					
						
							|  |  |  |     $ATOMICS_LIST | 
					
						
							|  |  |  |     $BUILTIN_LIST | 
					
						
							|  |  |  |     $HAVE_LIST_CMDLINE | 
					
						
							|  |  |  |     $HAVE_LIST_PUB | 
					
						
							|  |  |  |     $HEADERS_LIST | 
					
						
							| 
									
										
										
										
											2014-05-13 23:03:28 +02:00
										 |  |  |     $INTRINSICS_LIST | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  |     $MATH_FUNCS | 
					
						
							|  |  |  |     $SYSTEM_FUNCS | 
					
						
							|  |  |  |     $THREADS_LIST | 
					
						
							|  |  |  |     $TOOLCHAIN_FEATURES | 
					
						
							|  |  |  |     $TYPES_LIST | 
					
						
							|  |  |  |     atomics_native | 
					
						
							|  |  |  |     dos_paths | 
					
						
							| 
									
										
										
										
											2014-04-28 23:00:38 +02:00
										 |  |  |     dxva2_lib | 
					
						
							| 
									
										
										
										
											2014-03-06 18:31:45 +01:00
										 |  |  |     libc_msvcrt | 
					
						
							|  |  |  |     libdc1394_1 | 
					
						
							|  |  |  |     libdc1394_2 | 
					
						
							|  |  |  |     sdl | 
					
						
							| 
									
										
										
										
											2014-11-16 12:51:54 +02:00
										 |  |  |     section_data_rel_ro | 
					
						
							| 
									
										
										
										
											2006-11-14 02:27:35 +00:00
										 |  |  |     threads | 
					
						
							| 
									
										
										
										
											2013-11-03 19:21:00 +01:00
										 |  |  |     vdpau_x11 | 
					
						
							|  |  |  |     xlib | 
					
						
							| 
									
										
										
										
											2007-02-25 21:38:11 +00:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2006-11-14 00:16:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-19 18:48:21 +01:00
										 |  |  | # options emitted with CONFIG_ prefix but not available on the command line | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:21 +00:00
										 |  |  | CONFIG_EXTRA=" | 
					
						
							| 
									
										
										
										
											2012-07-24 19:16:29 +02:00
										 |  |  |     aandcttables | 
					
						
							| 
									
										
										
										
											2012-07-27 02:06:29 +02:00
										 |  |  |     ac3dsp | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  |     audio_frame_queue | 
					
						
							| 
									
										
										
										
											2014-01-16 17:30:19 +01:00
										 |  |  |     audiodsp | 
					
						
							| 
									
										
										
										
											2014-01-14 10:33:47 +01:00
										 |  |  |     blockdsp | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  |     bswapdsp | 
					
						
							| 
									
										
										
										
											2014-03-22 18:41:43 +01:00
										 |  |  |     cabac | 
					
						
							| 
									
										
										
										
											2014-07-05 09:09:15 +00:00
										 |  |  |     dvprofile | 
					
						
							| 
									
										
										
										
											2014-08-28 19:32:45 -07:00
										 |  |  |     faandct | 
					
						
							|  |  |  |     faanidct | 
					
						
							| 
									
										
										
										
											2014-02-03 10:09:45 -08:00
										 |  |  |     fdctdsp | 
					
						
							| 
									
										
										
										
											2015-02-21 11:24:44 +01:00
										 |  |  |     fmtconvert | 
					
						
							| 
									
										
										
										
											2012-07-27 02:06:29 +02:00
										 |  |  |     gcrypt | 
					
						
							| 
									
										
										
										
											2012-03-08 23:53:57 +01:00
										 |  |  |     golomb | 
					
						
							| 
									
										
										
										
											2009-06-05 11:04:03 +00:00
										 |  |  |     gplv3 | 
					
						
							| 
									
										
										
										
											2013-11-05 08:11:47 +01:00
										 |  |  |     h263dsp | 
					
						
							| 
									
										
										
										
											2012-03-08 23:53:57 +01:00
										 |  |  |     h264chroma | 
					
						
							|  |  |  |     h264dsp | 
					
						
							|  |  |  |     h264pred | 
					
						
							| 
									
										
										
										
											2011-12-18 14:10:33 +01:00
										 |  |  |     h264qpel | 
					
						
							| 
									
										
										
										
											2013-03-09 15:14:35 -08:00
										 |  |  |     hpeldsp | 
					
						
							| 
									
										
										
										
											2012-03-08 23:53:57 +01:00
										 |  |  |     huffman | 
					
						
							| 
									
										
										
										
											2014-01-07 12:23:13 +01:00
										 |  |  |     huffyuvdsp | 
					
						
							| 
									
										
										
										
											2013-12-23 18:42:11 +01:00
										 |  |  |     huffyuvencdsp | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  |     idctdsp | 
					
						
							| 
									
										
										
										
											2014-07-21 05:26:00 -07:00
										 |  |  |     iirfilter | 
					
						
							| 
									
										
										
										
											2015-02-01 11:08:17 +01:00
										 |  |  |     imdct15 | 
					
						
							| 
									
										
										
										
											2014-01-14 18:24:02 +01:00
										 |  |  |     intrax8 | 
					
						
							| 
									
										
										
										
											2009-06-05 11:04:03 +00:00
										 |  |  |     lgplv3 | 
					
						
							| 
									
										
										
										
											2012-03-08 23:53:57 +01:00
										 |  |  |     lpc | 
					
						
							| 
									
										
										
										
											2014-02-08 02:59:58 +01:00
										 |  |  |     me_cmp | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  |     mpeg_er | 
					
						
							| 
									
										
										
										
											2012-08-14 02:09:15 +02:00
										 |  |  |     mpegaudio | 
					
						
							| 
									
										
										
										
											2012-07-27 02:06:29 +02:00
										 |  |  |     mpegaudiodsp | 
					
						
							| 
									
										
										
										
											2012-08-04 00:05:46 +01:00
										 |  |  |     mpegvideo | 
					
						
							| 
									
										
										
										
											2012-08-13 13:00:24 +02:00
										 |  |  |     mpegvideoenc | 
					
						
							| 
									
										
										
										
											2012-07-27 02:06:29 +02:00
										 |  |  |     nettle | 
					
						
							| 
									
										
										
										
											2014-02-03 14:29:09 -08:00
										 |  |  |     pixblockdsp | 
					
						
							| 
									
										
										
										
											2014-01-08 14:00:10 +01:00
										 |  |  |     qpeldsp | 
					
						
							| 
									
										
										
										
											2012-08-13 19:16:06 +02:00
										 |  |  |     rangecoder | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  |     riffdec | 
					
						
							| 
									
										
										
										
											2013-08-04 14:10:54 +02:00
										 |  |  |     riffenc | 
					
						
							| 
									
										
										
										
											2012-07-27 02:06:29 +02:00
										 |  |  |     rtpdec | 
					
						
							| 
									
										
										
										
											2012-11-29 10:34:54 +01:00
										 |  |  |     rtpenc_chain | 
					
						
							| 
									
										
										
										
											2012-07-27 02:06:29 +02:00
										 |  |  |     sinewin | 
					
						
							| 
									
										
										
										
											2014-07-21 16:25:48 +01:00
										 |  |  |     startcode | 
					
						
							| 
									
										
										
										
											2013-12-21 16:03:59 +01:00
										 |  |  |     tpeldsp | 
					
						
							| 
									
										
										
										
											2012-12-15 09:46:02 -08:00
										 |  |  |     videodsp | 
					
						
							| 
									
										
										
										
											2012-07-16 12:50:14 +01:00
										 |  |  |     vp3dsp | 
					
						
							| 
									
										
										
										
											2014-09-03 03:27:27 -07:00
										 |  |  |     wma_freqs | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:21 +00:00
										 |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-11 19:50:19 +00:00
										 |  |  | CMDLINE_SELECT=" | 
					
						
							| 
									
										
										
										
											2007-06-15 20:35:44 +00:00
										 |  |  |     $ARCH_EXT_LIST | 
					
						
							| 
									
										
										
										
											2007-02-11 19:50:19 +00:00
										 |  |  |     $CONFIG_LIST | 
					
						
							| 
									
										
										
										
											2012-09-05 11:35:13 +02:00
										 |  |  |     $HAVE_LIST_CMDLINE | 
					
						
							| 
									
										
										
										
											2007-02-25 21:26:40 +00:00
										 |  |  |     $THREADS_LIST | 
					
						
							| 
									
										
										
										
											2010-01-18 23:12:55 +00:00
										 |  |  |     asm | 
					
						
							| 
									
										
										
										
											2008-03-25 15:16:02 +00:00
										 |  |  |     cross_compile | 
					
						
							| 
									
										
										
										
											2007-02-11 19:50:19 +00:00
										 |  |  |     debug | 
					
						
							|  |  |  |     extra_warnings | 
					
						
							| 
									
										
										
										
											2008-03-25 09:53:49 +00:00
										 |  |  |     logging | 
					
						
							| 
									
										
										
										
											2012-09-20 15:50:14 +01:00
										 |  |  |     lto | 
					
						
							| 
									
										
										
										
											2007-10-24 19:19:02 +00:00
										 |  |  |     optimizations | 
					
						
							| 
									
										
										
										
											2014-08-23 10:04:26 -04:00
										 |  |  |     rpath | 
					
						
							| 
									
										
										
										
											2007-02-11 19:50:19 +00:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2008-06-02 23:47:33 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | PATHS_LIST=" | 
					
						
							| 
									
										
										
										
											2008-05-28 09:37:01 +00:00
										 |  |  |     bindir | 
					
						
							| 
									
										
										
										
											2009-01-25 22:23:03 +00:00
										 |  |  |     datadir | 
					
						
							| 
									
										
										
										
											2013-08-28 10:30:14 +02:00
										 |  |  |     docdir | 
					
						
							| 
									
										
										
										
											2008-03-25 22:51:43 +00:00
										 |  |  |     incdir | 
					
						
							|  |  |  |     libdir | 
					
						
							|  |  |  |     mandir | 
					
						
							|  |  |  |     prefix | 
					
						
							|  |  |  |     shlibdir | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2008-06-02 23:47:33 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | CMDLINE_SET=" | 
					
						
							|  |  |  |     $PATHS_LIST | 
					
						
							| 
									
										
										
										
											2010-05-02 18:59:15 +00:00
										 |  |  |     ar | 
					
						
							| 
									
										
										
										
											2008-06-02 23:47:33 +00:00
										 |  |  |     arch | 
					
						
							| 
									
										
										
										
											2009-03-05 21:20:01 +00:00
										 |  |  |     as | 
					
						
							| 
									
										
										
										
											2008-06-02 23:47:33 +00:00
										 |  |  |     build_suffix | 
					
						
							|  |  |  |     cc | 
					
						
							|  |  |  |     cpu | 
					
						
							|  |  |  |     cross_prefix | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:43 +00:00
										 |  |  |     dep_cc | 
					
						
							| 
									
										
										
										
											2008-09-26 21:37:50 +00:00
										 |  |  |     extra_version | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:34 +00:00
										 |  |  |     host_cc | 
					
						
							|  |  |  |     host_cflags | 
					
						
							| 
									
										
										
										
											2012-08-28 13:02:35 +01:00
										 |  |  |     host_ld | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:34 +00:00
										 |  |  |     host_ldflags | 
					
						
							|  |  |  |     host_libs | 
					
						
							| 
									
										
										
										
											2009-03-08 22:11:24 +00:00
										 |  |  |     host_os | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:40 +00:00
										 |  |  |     ld | 
					
						
							| 
									
										
										
										
											2008-06-02 23:47:33 +00:00
										 |  |  |     logfile | 
					
						
							| 
									
										
										
										
											2010-01-28 13:06:31 +00:00
										 |  |  |     malloc_prefix | 
					
						
							| 
									
										
										
										
											2008-12-13 15:13:24 +00:00
										 |  |  |     nm | 
					
						
							| 
									
										
										
										
											2011-06-19 18:47:06 +01:00
										 |  |  |     optflags | 
					
						
							| 
									
										
										
										
											2011-03-06 13:48:30 +00:00
										 |  |  |     pkg_config | 
					
						
							| 
									
										
										
										
											2014-01-20 11:17:45 +01:00
										 |  |  |     pkg_config_flags | 
					
						
							| 
									
										
										
										
											2012-05-09 04:29:53 +01:00
										 |  |  |     random_seed | 
					
						
							| 
									
										
										
										
											2010-03-15 19:23:24 +00:00
										 |  |  |     samples | 
					
						
							| 
									
										
										
										
											2009-02-21 21:07:34 +00:00
										 |  |  |     sysinclude | 
					
						
							|  |  |  |     sysroot | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:38 +00:00
										 |  |  |     target_exec | 
					
						
							| 
									
										
										
										
											2008-03-25 22:51:43 +00:00
										 |  |  |     target_os | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:38 +00:00
										 |  |  |     target_path | 
					
						
							| 
									
										
										
										
											2013-05-20 01:55:32 +03:00
										 |  |  |     target_samples | 
					
						
							| 
									
										
										
										
											2012-09-16 22:06:53 +01:00
										 |  |  |     toolchain | 
					
						
							| 
									
										
										
										
											2008-06-02 23:47:33 +00:00
										 |  |  | " | 
					
						
							| 
									
										
										
										
											2007-02-11 19:50:19 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-20 19:00:59 +00:00
										 |  |  | CMDLINE_APPEND=" | 
					
						
							|  |  |  |     extra_cflags | 
					
						
							| 
									
										
										
										
											2013-02-03 15:13:17 +01:00
										 |  |  |     host_cppflags | 
					
						
							| 
									
										
										
										
											2009-07-20 19:00:59 +00:00
										 |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-08 08:27:00 +00:00
										 |  |  | # code dependency declarations | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-06-17 11:57:50 +00:00
										 |  |  | # architecture extensions | 
					
						
							| 
									
										
										
										
											2010-01-18 21:04:57 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-17 00:54:54 +00:00
										 |  |  | armv5te_deps="arm" | 
					
						
							|  |  |  | armv6_deps="arm" | 
					
						
							| 
									
										
										
										
											2008-12-30 03:13:44 +00:00
										 |  |  | armv6t2_deps="arm" | 
					
						
							| 
									
										
										
										
											2014-04-05 13:46:51 +02:00
										 |  |  | armv8_deps="aarch64" | 
					
						
							| 
									
										
										
										
											2013-12-10 20:13:32 +01:00
										 |  |  | neon_deps_any="aarch64 arm" | 
					
						
							| 
									
										
										
										
											2014-05-13 23:03:28 +02:00
										 |  |  | intrinsics_neon_deps="neon" | 
					
						
							| 
									
										
										
										
											2013-12-10 20:13:32 +01:00
										 |  |  | vfp_deps_any="aarch64 arm" | 
					
						
							| 
									
										
										
										
											2012-12-04 23:29:34 +00:00
										 |  |  | vfpv3_deps="vfp" | 
					
						
							| 
									
										
										
										
											2010-01-18 21:04:57 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-03 01:36:49 +00:00
										 |  |  | map 'eval ${v}_inline_deps=inline_asm' $ARCH_EXT_LIST_ARM | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:04:57 +00:00
										 |  |  | altivec_deps="ppc" | 
					
						
							|  |  |  | ppc4xx_deps="ppc" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-08-27 23:33:57 +02:00
										 |  |  | cpunop_deps="i686" | 
					
						
							|  |  |  | x86_64_select="i686" | 
					
						
							|  |  |  | x86_64_suggest="fast_cmov" | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:04:57 +00:00
										 |  |  | amd3dnow_deps="mmx" | 
					
						
							|  |  |  | amd3dnowext_deps="amd3dnow" | 
					
						
							| 
									
										
										
										
											2014-01-25 16:55:58 +01:00
										 |  |  | i686_deps="x86" | 
					
						
							| 
									
										
										
										
											2007-06-17 11:57:50 +00:00
										 |  |  | mmx_deps="x86" | 
					
						
							| 
									
										
										
										
											2012-07-08 18:42:12 +02:00
										 |  |  | mmxext_deps="mmx" | 
					
						
							| 
									
										
										
										
											2012-08-28 13:56:46 +02:00
										 |  |  | sse_deps="mmxext" | 
					
						
							|  |  |  | sse2_deps="sse" | 
					
						
							|  |  |  | sse3_deps="sse2" | 
					
						
							|  |  |  | ssse3_deps="sse3" | 
					
						
							|  |  |  | sse4_deps="ssse3" | 
					
						
							|  |  |  | sse42_deps="sse4" | 
					
						
							|  |  |  | avx_deps="sse42" | 
					
						
							| 
									
										
										
										
											2014-02-22 04:54:00 +00:00
										 |  |  | xop_deps="avx" | 
					
						
							| 
									
										
										
										
											2014-02-22 04:54:01 +00:00
										 |  |  | fma3_deps="avx" | 
					
						
							| 
									
										
										
										
											2012-06-18 23:39:14 -04:00
										 |  |  | fma4_deps="avx" | 
					
						
							| 
									
										
										
										
											2013-10-25 07:53:56 -05:00
										 |  |  | avx2_deps="avx" | 
					
						
							| 
									
										
										
										
											2007-06-17 11:57:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-27 03:07:11 +02:00
										 |  |  | mmx_external_deps="yasm" | 
					
						
							|  |  |  | mmx_inline_deps="inline_asm" | 
					
						
							|  |  |  | mmx_suggest="mmx_external mmx_inline" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:53 +01:00
										 |  |  | for ext in $(filter_out mmx $ARCH_EXT_LIST_X86_SIMD); do | 
					
						
							| 
									
										
										
										
											2012-08-27 03:07:11 +02:00
										 |  |  |     eval dep=\$${ext}_deps | 
					
						
							|  |  |  |     eval ${ext}_external_deps='"${dep}_external"' | 
					
						
							|  |  |  |     eval ${ext}_inline_deps='"${dep}_inline"' | 
					
						
							|  |  |  |     eval ${ext}_suggest='"${ext}_external ${ext}_inline"' | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-12 17:45:32 +01:00
										 |  |  | aligned_stack_if_any="aarch64 ppc x86" | 
					
						
							|  |  |  | fast_64bit_if_any="aarch64 alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64" | 
					
						
							|  |  |  | fast_clz_if_any="aarch64 alpha avr32 mips ppc x86" | 
					
						
							|  |  |  | fast_unaligned_if_any="aarch64 ppc x86" | 
					
						
							| 
									
										
										
										
											2014-07-21 13:58:55 -07:00
										 |  |  | simd_align_16_if_any="altivec neon sse" | 
					
						
							| 
									
										
										
										
											2009-07-15 18:33:12 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-10 09:25:18 +01:00
										 |  |  | # system capabilities | 
					
						
							|  |  |  | log2_deps="!libc_msvcrt" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-15 13:26:52 +00:00
										 |  |  | symver_if_any="symver_asm_label symver_gnu_asm" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-18 21:52:28 +01:00
										 |  |  | # threading support | 
					
						
							|  |  |  | atomics_gcc_if="sync_val_compare_and_swap" | 
					
						
							|  |  |  | atomics_suncc_if="atomic_cas_ptr machine_rw_barrier" | 
					
						
							|  |  |  | atomics_win32_if="MemoryBarrier" | 
					
						
							|  |  |  | atomics_native_if_any="$ATOMICS_LIST" | 
					
						
							| 
									
										
										
										
											2013-12-18 22:29:25 +01:00
										 |  |  | w32threads_deps="atomics_native" | 
					
						
							| 
									
										
										
										
											2013-12-18 21:52:28 +01:00
										 |  |  | threads_if_any="$THREADS_LIST" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-11 23:40:37 +00:00
										 |  |  | # subsystems | 
					
						
							| 
									
										
										
										
											2010-07-16 10:08:26 +00:00
										 |  |  | dct_select="rdft" | 
					
						
							| 
									
										
										
										
											2014-02-08 02:59:58 +01:00
										 |  |  | error_resilience_select="me_cmp" | 
					
						
							| 
									
										
										
										
											2014-08-28 19:32:45 -07:00
										 |  |  | faandct_deps="faan fdctdsp" | 
					
						
							|  |  |  | faanidct_deps="faan idctdsp" | 
					
						
							| 
									
										
										
										
											2014-06-20 05:53:53 -07:00
										 |  |  | intrax8_select="error_resilience" | 
					
						
							| 
									
										
										
										
											2010-02-11 23:40:37 +00:00
										 |  |  | mdct_select="fft" | 
					
						
							|  |  |  | rdft_select="fft" | 
					
						
							| 
									
										
										
										
											2014-02-08 02:59:58 +01:00
										 |  |  | me_cmp_select="fdctdsp idctdsp pixblockdsp" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | mpeg_er_select="error_resilience" | 
					
						
							| 
									
										
										
										
											2012-08-14 02:09:15 +02:00
										 |  |  | mpegaudio_select="mpegaudiodsp" | 
					
						
							| 
									
										
										
										
											2011-05-16 16:52:01 +01:00
										 |  |  | mpegaudiodsp_select="dct" | 
					
						
							| 
									
										
										
										
											2014-02-08 02:59:58 +01:00
										 |  |  | mpegvideo_select="blockdsp hpeldsp idctdsp me_cmp videodsp" | 
					
						
							|  |  |  | mpegvideoenc_select="me_cmp mpegvideo pixblockdsp qpeldsp" | 
					
						
							| 
									
										
										
										
											2010-02-11 23:40:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-20 22:40:39 +01:00
										 |  |  | # decoders / encoders | 
					
						
							| 
									
										
										
										
											2015-01-21 21:51:54 -08:00
										 |  |  | aac_decoder_select="imdct15 mdct sinewin" | 
					
						
							| 
									
										
										
										
											2014-07-21 05:26:00 -07:00
										 |  |  | aac_encoder_select="audio_frame_queue iirfilter mdct sinewin" | 
					
						
							| 
									
										
										
										
											2010-11-02 08:32:04 +00:00
										 |  |  | aac_latm_decoder_select="aac_decoder aac_latm_parser" | 
					
						
							| 
									
										
										
										
											2015-02-21 11:24:44 +01:00
										 |  |  | ac3_decoder_select="ac3_parser ac3dsp bswapdsp fmtconvert mdct" | 
					
						
							| 
									
										
										
										
											2014-02-08 02:59:58 +01:00
										 |  |  | ac3_encoder_select="ac3dsp audiodsp mdct me_cmp" | 
					
						
							|  |  |  | ac3_fixed_encoder_select="ac3dsp audiodsp mdct me_cmp" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | aic_decoder_select="golomb idctdsp" | 
					
						
							| 
									
										
										
										
											2009-10-18 19:51:18 +00:00
										 |  |  | alac_encoder_select="lpc" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | als_decoder_select="bswapdsp" | 
					
						
							| 
									
										
										
										
											2010-03-02 03:16:27 +00:00
										 |  |  | amrnb_decoder_select="lsp" | 
					
						
							| 
									
										
										
										
											2010-12-18 03:03:18 +00:00
										 |  |  | amrwb_decoder_select="lsp" | 
					
						
							| 
									
										
										
										
											2014-02-27 15:02:22 -08:00
										 |  |  | amv_decoder_select="sp5x_decoder" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | ape_decoder_select="bswapdsp" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | asv1_decoder_select="blockdsp bswapdsp idctdsp" | 
					
						
							| 
									
										
										
										
											2014-02-03 14:29:09 -08:00
										 |  |  | asv1_encoder_select="bswapdsp fdctdsp pixblockdsp" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | asv2_decoder_select="blockdsp bswapdsp idctdsp" | 
					
						
							| 
									
										
										
										
											2014-02-03 14:29:09 -08:00
										 |  |  | asv2_encoder_select="bswapdsp fdctdsp pixblockdsp" | 
					
						
							| 
									
										
										
										
											2011-03-19 23:44:00 +00:00
										 |  |  | atrac1_decoder_select="mdct sinewin" | 
					
						
							| 
									
										
										
										
											2010-02-11 23:40:37 +00:00
										 |  |  | atrac3_decoder_select="mdct" | 
					
						
							| 
									
										
										
										
											2014-01-03 23:23:11 +01:00
										 |  |  | atrac3p_decoder_select="mdct sinewin" | 
					
						
							| 
									
										
										
										
											2014-01-14 10:33:47 +01:00
										 |  |  | bink_decoder_select="blockdsp hpeldsp" | 
					
						
							| 
									
										
										
										
											2014-09-03 03:27:27 -07:00
										 |  |  | binkaudio_dct_decoder_select="mdct rdft dct sinewin wma_freqs" | 
					
						
							|  |  |  | binkaudio_rdft_decoder_select="mdct rdft sinewin wma_freqs" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | cavs_decoder_select="blockdsp golomb h264chroma idctdsp qpeldsp videodsp" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | cllc_decoder_select="bswapdsp" | 
					
						
							| 
									
										
										
										
											2012-10-23 00:02:41 +03:00
										 |  |  | comfortnoise_encoder_select="lpc" | 
					
						
							| 
									
										
										
										
											2014-01-16 17:30:19 +01:00
										 |  |  | cook_decoder_select="audiodsp mdct sinewin" | 
					
						
							| 
									
										
										
										
											2012-10-18 19:48:27 +02:00
										 |  |  | cscd_decoder_select="lzo" | 
					
						
							| 
									
										
										
										
											2008-10-25 18:36:36 +00:00
										 |  |  | cscd_decoder_suggest="zlib" | 
					
						
							| 
									
										
										
										
											2015-02-21 11:24:44 +01:00
										 |  |  | dca_decoder_select="fmtconvert mdct" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | dnxhd_decoder_select="blockdsp idctdsp" | 
					
						
							| 
									
										
										
										
											2014-02-03 14:29:09 -08:00
										 |  |  | dnxhd_encoder_select="aandcttables blockdsp fdctdsp idctdsp mpegvideoenc pixblockdsp" | 
					
						
							| 
									
										
										
										
											2014-07-05 09:09:15 +00:00
										 |  |  | dvvideo_decoder_select="dvprofile idctdsp" | 
					
						
							| 
									
										
										
										
											2014-02-08 02:59:58 +01:00
										 |  |  | dvvideo_encoder_select="dvprofile fdctdsp me_cmp pixblockdsp" | 
					
						
							| 
									
										
										
										
											2013-08-06 02:31:33 +02:00
										 |  |  | dxa_decoder_deps="zlib" | 
					
						
							| 
									
										
										
										
											2009-07-21 09:03:45 +00:00
										 |  |  | eac3_decoder_select="ac3_decoder" | 
					
						
							| 
									
										
										
										
											2012-08-19 23:19:38 +02:00
										 |  |  | eac3_encoder_select="ac3_encoder" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | eamad_decoder_select="aandcttables blockdsp bswapdsp idctdsp mpegvideo" | 
					
						
							|  |  |  | eatgq_decoder_select="aandcttables idctdsp" | 
					
						
							|  |  |  | eatqi_decoder_select="aandcttables blockdsp bswapdsp idctdsp mpeg1video_decoder" | 
					
						
							| 
									
										
										
										
											2012-04-06 06:02:25 +00:00
										 |  |  | exr_decoder_deps="zlib" | 
					
						
							| 
									
										
										
										
											2014-02-24 06:01:16 -08:00
										 |  |  | ffv1_decoder_select="golomb rangecoder" | 
					
						
							|  |  |  | ffv1_encoder_select="rangecoder" | 
					
						
							| 
									
										
										
										
											2014-02-27 15:02:25 -08:00
										 |  |  | ffvhuff_decoder_select="huffyuv_decoder" | 
					
						
							|  |  |  | ffvhuff_encoder_select="huffyuv_encoder" | 
					
						
							| 
									
										
										
										
											2014-04-01 21:00:47 +02:00
										 |  |  | fic_decoder_select="golomb" | 
					
						
							| 
									
										
										
										
											2008-10-25 13:51:47 +00:00
										 |  |  | flac_decoder_select="golomb" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | flac_encoder_select="bswapdsp golomb lpc" | 
					
						
							| 
									
										
										
										
											2013-08-06 02:31:33 +02:00
										 |  |  | flashsv_decoder_deps="zlib" | 
					
						
							|  |  |  | flashsv_encoder_deps="zlib" | 
					
						
							|  |  |  | flashsv2_decoder_deps="zlib" | 
					
						
							| 
									
										
										
										
											2009-12-28 18:00:07 +00:00
										 |  |  | flv_decoder_select="h263_decoder" | 
					
						
							| 
									
										
										
										
											2009-08-05 15:26:54 +00:00
										 |  |  | flv_encoder_select="h263_encoder" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | fourxm_decoder_select="blockdsp bswapdsp" | 
					
						
							|  |  |  | fraps_decoder_select="bswapdsp huffman" | 
					
						
							| 
									
										
										
										
											2013-08-06 02:31:33 +02:00
										 |  |  | g2m_decoder_deps="zlib" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | g2m_decoder_select="blockdsp idctdsp" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | h261_decoder_select="mpeg_er mpegvideo" | 
					
						
							| 
									
										
										
										
											2012-08-13 13:00:24 +02:00
										 |  |  | h261_encoder_select="aandcttables mpegvideoenc" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | h263_decoder_select="error_resilience h263_parser h263dsp mpeg_er mpegvideo qpeldsp" | 
					
						
							| 
									
										
										
										
											2013-11-05 08:11:47 +01:00
										 |  |  | h263_encoder_select="aandcttables h263dsp mpegvideoenc" | 
					
						
							| 
									
										
										
										
											2009-12-28 18:00:07 +00:00
										 |  |  | h263i_decoder_select="h263_decoder" | 
					
						
							| 
									
										
										
										
											2009-08-05 15:21:36 +00:00
										 |  |  | h263p_encoder_select="h263_encoder" | 
					
						
							| 
									
										
										
										
											2014-07-21 16:25:48 +01:00
										 |  |  | h264_decoder_select="cabac golomb h264chroma h264dsp h264pred h264qpel startcode videodsp" | 
					
						
							| 
									
										
										
										
											2013-03-02 16:57:26 -08:00
										 |  |  | h264_decoder_suggest="error_resilience" | 
					
						
							| 
									
										
										
										
											2015-02-10 10:40:59 +01:00
										 |  |  | h264_qsv_decoder_deps="libmfx" | 
					
						
							|  |  |  | h264_qsv_decoder_select="h264_mp4toannexb_bsf h264_parser qsv h264_qsv_hwaccel" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | hevc_decoder_select="bswapdsp cabac golomb videodsp" | 
					
						
							|  |  |  | huffyuv_decoder_select="bswapdsp huffyuvdsp" | 
					
						
							|  |  |  | huffyuv_encoder_select="bswapdsp huffman huffyuvencdsp" | 
					
						
							| 
									
										
										
										
											2014-02-27 15:02:24 -08:00
										 |  |  | iac_decoder_select="imc_decoder" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | imc_decoder_select="bswapdsp fft mdct sinewin" | 
					
						
							| 
									
										
										
										
											2013-03-10 08:19:27 -07:00
										 |  |  | indeo3_decoder_select="hpeldsp" | 
					
						
							| 
									
										
										
										
											2013-03-10 12:58:02 -07:00
										 |  |  | interplay_video_decoder_select="hpeldsp" | 
					
						
							| 
									
										
										
										
											2014-02-27 15:02:23 -08:00
										 |  |  | jpegls_decoder_select="golomb mjpeg_decoder" | 
					
						
							| 
									
										
										
										
											2008-10-25 13:51:47 +00:00
										 |  |  | jpegls_encoder_select="golomb" | 
					
						
							| 
									
										
										
										
											2014-01-14 10:33:47 +01:00
										 |  |  | jv_decoder_select="blockdsp" | 
					
						
							| 
									
										
										
										
											2014-01-07 12:23:13 +01:00
										 |  |  | lagarith_decoder_select="huffyuvdsp" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | ljpeg_encoder_select="aandcttables idctdsp" | 
					
						
							| 
									
										
										
										
											2008-10-25 13:51:47 +00:00
										 |  |  | loco_decoder_select="golomb" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | mdec_decoder_select="blockdsp idctdsp mpegvideo" | 
					
						
							| 
									
										
										
										
											2013-08-05 12:55:30 +02:00
										 |  |  | metasound_decoder_select="lsp mdct sinewin" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | mimic_decoder_select="blockdsp bswapdsp hpeldsp idctdsp" | 
					
						
							|  |  |  | mjpeg_decoder_select="blockdsp hpeldsp idctdsp" | 
					
						
							| 
									
										
										
										
											2014-01-29 15:19:20 +01:00
										 |  |  | mjpeg_encoder_select="aandcttables mpegvideoenc" | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | mjpegb_decoder_select="mjpeg_decoder" | 
					
						
							| 
									
										
										
										
											2014-01-29 15:17:05 +01:00
										 |  |  | mlp_decoder_select="mlp_parser" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | motionpixels_decoder_select="bswapdsp" | 
					
						
							| 
									
										
										
										
											2012-08-14 02:09:15 +02:00
										 |  |  | mp1_decoder_select="mpegaudio" | 
					
						
							|  |  |  | mp1float_decoder_select="mpegaudio" | 
					
						
							|  |  |  | mp2_decoder_select="mpegaudio" | 
					
						
							|  |  |  | mp2float_decoder_select="mpegaudio" | 
					
						
							|  |  |  | mp3_decoder_select="mpegaudio" | 
					
						
							|  |  |  | mp3adu_decoder_select="mpegaudio" | 
					
						
							|  |  |  | mp3adufloat_decoder_select="mpegaudio" | 
					
						
							|  |  |  | mp3float_decoder_select="mpegaudio" | 
					
						
							|  |  |  | mp3on4_decoder_select="mpegaudio" | 
					
						
							|  |  |  | mp3on4float_decoder_select="mpegaudio" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | mpc7_decoder_select="bswapdsp mpegaudiodsp" | 
					
						
							| 
									
										
										
										
											2014-01-17 00:53:40 +01:00
										 |  |  | mpc8_decoder_select="mpegaudiodsp" | 
					
						
							| 
									
										
										
										
											2011-09-12 17:40:29 +02:00
										 |  |  | mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h" | 
					
						
							| 
									
										
										
										
											2013-03-26 19:59:36 +01:00
										 |  |  | mpeg_xvmc_decoder_select="mpeg2video_decoder" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | mpeg1video_decoder_select="error_resilience mpeg_er mpegvideo" | 
					
						
							| 
									
										
										
										
											2013-03-06 17:32:31 +01:00
										 |  |  | mpeg1video_encoder_select="aandcttables mpegvideoenc" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | mpeg2video_decoder_select="error_resilience mpeg_er mpegvideo" | 
					
						
							| 
									
										
										
										
											2013-03-06 17:32:31 +01:00
										 |  |  | mpeg2video_encoder_select="aandcttables mpegvideoenc" | 
					
						
							| 
									
										
										
										
											2011-09-12 17:40:29 +02:00
										 |  |  | mpeg4_decoder_select="h263_decoder mpeg4video_parser" | 
					
						
							|  |  |  | mpeg4_encoder_select="h263_encoder" | 
					
						
							| 
									
										
										
										
											2009-12-28 18:00:07 +00:00
										 |  |  | msmpeg4v1_decoder_select="h263_decoder" | 
					
						
							|  |  |  | msmpeg4v2_decoder_select="h263_decoder" | 
					
						
							| 
									
										
										
										
											2009-08-05 13:02:04 +00:00
										 |  |  | msmpeg4v2_encoder_select="h263_encoder" | 
					
						
							| 
									
										
										
										
											2009-12-28 18:00:07 +00:00
										 |  |  | msmpeg4v3_decoder_select="h263_decoder" | 
					
						
							| 
									
										
										
										
											2009-08-05 13:02:04 +00:00
										 |  |  | msmpeg4v3_encoder_select="h263_encoder" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | mss2_decoder_select="error_resilience mpeg_er qpeldsp vc1_decoder" | 
					
						
							| 
									
										
										
										
											2014-02-27 15:02:23 -08:00
										 |  |  | mxpeg_decoder_select="mjpeg_decoder" | 
					
						
							| 
									
										
										
										
											2011-03-19 23:44:00 +00:00
										 |  |  | nellymoser_decoder_select="mdct sinewin" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | nellymoser_encoder_select="audio_frame_queue mdct sinewin" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | nuv_decoder_select="idctdsp lzo" | 
					
						
							| 
									
										
										
										
											2013-06-09 20:03:33 +02:00
										 |  |  | on2avc_decoder_select="mdct" | 
					
						
							| 
									
										
										
										
											2014-04-17 12:51:03 +02:00
										 |  |  | opus_decoder_deps="avresample" | 
					
						
							| 
									
										
										
										
											2015-02-01 11:08:17 +01:00
										 |  |  | opus_decoder_select="imdct15" | 
					
						
							| 
									
										
										
										
											2013-08-06 02:31:33 +02:00
										 |  |  | png_decoder_deps="zlib" | 
					
						
							|  |  |  | png_encoder_deps="zlib" | 
					
						
							| 
									
										
										
										
											2013-12-23 18:42:11 +01:00
										 |  |  | png_encoder_select="huffyuvencdsp" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | prores_decoder_select="idctdsp" | 
					
						
							| 
									
										
										
										
											2014-02-03 10:09:45 -08:00
										 |  |  | prores_encoder_select="fdctdsp" | 
					
						
							| 
									
										
										
										
											2010-03-02 03:16:27 +00:00
										 |  |  | qcelp_decoder_select="lsp" | 
					
						
							| 
									
										
										
										
											2011-05-16 16:52:01 +01:00
										 |  |  | qdm2_decoder_select="mdct rdft mpegaudiodsp" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | ra_144_encoder_select="audio_frame_queue lpc" | 
					
						
							| 
									
										
										
										
											2012-03-27 01:04:45 +02:00
										 |  |  | ralf_decoder_select="golomb" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | rv10_decoder_select="error_resilience h263_decoder h263dsp mpeg_er" | 
					
						
							| 
									
										
										
										
											2009-08-05 10:44:12 +00:00
										 |  |  | rv10_encoder_select="h263_encoder" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | rv20_decoder_select="error_resilience h263_decoder h263dsp mpeg_er" | 
					
						
							| 
									
										
										
										
											2009-08-05 10:44:12 +00:00
										 |  |  | rv20_encoder_select="h263_encoder" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | rv30_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpeg_er mpegvideo videodsp" | 
					
						
							|  |  |  | rv40_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpeg_er mpegvideo videodsp" | 
					
						
							| 
									
										
										
										
											2008-10-25 13:51:47 +00:00
										 |  |  | shorten_decoder_select="golomb" | 
					
						
							| 
									
										
										
										
											2010-03-02 03:16:27 +00:00
										 |  |  | sipr_decoder_select="lsp" | 
					
						
							| 
									
										
										
										
											2014-02-27 15:02:23 -08:00
										 |  |  | sp5x_decoder_select="mjpeg_decoder" | 
					
						
							| 
									
										
										
										
											2013-03-10 13:38:45 -07:00
										 |  |  | svq1_decoder_select="hpeldsp" | 
					
						
							| 
									
										
										
										
											2014-02-08 02:59:58 +01:00
										 |  |  | svq1_encoder_select="aandcttables hpeldsp me_cmp mpegvideoenc" | 
					
						
							| 
									
										
										
										
											2013-12-21 16:03:59 +01:00
										 |  |  | svq3_decoder_select="h264_decoder hpeldsp tpeldsp" | 
					
						
							| 
									
										
										
										
											2014-03-06 13:04:03 +01:00
										 |  |  | svq3_decoder_suggest="zlib" | 
					
						
							| 
									
										
										
										
											2014-01-16 17:30:19 +01:00
										 |  |  | tak_decoder_select="audiodsp" | 
					
						
							| 
									
										
										
										
											2009-07-22 21:36:50 +00:00
										 |  |  | theora_decoder_select="vp3_decoder" | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | thp_decoder_select="mjpeg_decoder" | 
					
						
							| 
									
										
										
										
											2008-10-25 18:36:36 +00:00
										 |  |  | tiff_decoder_suggest="zlib" | 
					
						
							|  |  |  | tiff_encoder_suggest="zlib" | 
					
						
							| 
									
										
										
										
											2009-12-29 13:48:48 +00:00
										 |  |  | truehd_decoder_select="mlp_decoder" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | truemotion2_decoder_select="bswapdsp" | 
					
						
							|  |  |  | truespeech_decoder_select="bswapdsp" | 
					
						
							| 
									
										
										
										
											2013-08-06 02:31:33 +02:00
										 |  |  | tscc_decoder_deps="zlib" | 
					
						
							| 
									
										
										
										
											2011-03-19 23:44:00 +00:00
										 |  |  | twinvq_decoder_select="mdct lsp sinewin" | 
					
						
							| 
									
										
										
										
											2014-02-13 17:57:05 +01:00
										 |  |  | utvideo_decoder_select="bswapdsp" | 
					
						
							|  |  |  | utvideo_encoder_select="bswapdsp huffman huffyuvencdsp" | 
					
						
							| 
									
										
										
										
											2014-01-07 12:23:13 +01:00
										 |  |  | vble_decoder_select="huffyuvdsp" | 
					
						
							| 
									
										
										
										
											2014-07-21 14:53:08 +01:00
										 |  |  | vc1_decoder_select="blockdsp error_resilience h263_decoder h264chroma h264qpel intrax8 mpeg_er qpeldsp startcode" | 
					
						
							| 
									
										
										
										
											2011-08-17 14:24:42 +02:00
										 |  |  | vc1image_decoder_select="vc1_decoder" | 
					
						
							| 
									
										
										
										
											2010-02-11 23:40:37 +00:00
										 |  |  | vorbis_decoder_select="mdct" | 
					
						
							|  |  |  | vorbis_encoder_select="mdct" | 
					
						
							| 
									
										
										
										
											2013-03-09 21:26:09 -08:00
										 |  |  | vp3_decoder_select="hpeldsp vp3dsp videodsp" | 
					
						
							| 
									
										
										
										
											2013-03-10 06:55:58 -07:00
										 |  |  | vp5_decoder_select="h264chroma hpeldsp videodsp vp3dsp" | 
					
						
							|  |  |  | vp6_decoder_select="h264chroma hpeldsp huffman videodsp vp3dsp" | 
					
						
							| 
									
										
										
										
											2009-07-20 09:24:59 +00:00
										 |  |  | vp6a_decoder_select="vp6_decoder" | 
					
						
							|  |  |  | vp6f_decoder_select="vp6_decoder" | 
					
						
							| 
									
										
										
										
											2014-04-01 14:21:51 +02:00
										 |  |  | vp7_decoder_select="h264pred videodsp" | 
					
						
							| 
									
										
										
										
											2012-12-15 09:46:02 -08:00
										 |  |  | vp8_decoder_select="h264pred videodsp" | 
					
						
							| 
									
										
										
										
											2013-09-30 23:03:30 -04:00
										 |  |  | vp9_decoder_select="videodsp" | 
					
						
							| 
									
										
										
										
											2013-04-16 22:42:26 +05:30
										 |  |  | webp_decoder_select="vp8_decoder" | 
					
						
							| 
									
										
										
										
											2014-09-03 03:27:27 -07:00
										 |  |  | wmapro_decoder_select="mdct sinewin wma_freqs" | 
					
						
							|  |  |  | wmav1_decoder_select="mdct sinewin wma_freqs" | 
					
						
							|  |  |  | wmav1_encoder_select="mdct sinewin wma_freqs" | 
					
						
							|  |  |  | wmav2_decoder_select="mdct sinewin wma_freqs" | 
					
						
							|  |  |  | wmav2_encoder_select="mdct sinewin wma_freqs" | 
					
						
							| 
									
										
										
										
											2011-03-19 23:44:00 +00:00
										 |  |  | wmavoice_decoder_select="lsp rdft dct mdct sinewin" | 
					
						
							| 
									
										
										
										
											2009-12-29 11:11:07 +00:00
										 |  |  | wmv1_decoder_select="h263_decoder" | 
					
						
							| 
									
										
										
										
											2009-08-06 12:56:25 +00:00
										 |  |  | wmv1_encoder_select="h263_encoder" | 
					
						
							| 
									
										
										
										
											2014-01-24 11:55:16 +01:00
										 |  |  | wmv2_decoder_select="blockdsp h263_decoder idctdsp intrax8 videodsp" | 
					
						
							| 
									
										
										
										
											2009-08-06 15:04:59 +00:00
										 |  |  | wmv2_encoder_select="h263_encoder" | 
					
						
							| 
									
										
										
										
											2009-07-19 11:07:10 +00:00
										 |  |  | wmv3_decoder_select="vc1_decoder" | 
					
						
							| 
									
										
										
										
											2011-08-17 14:24:42 +02:00
										 |  |  | wmv3image_decoder_select="wmv3_decoder" | 
					
						
							| 
									
										
										
										
											2013-08-06 02:31:33 +02:00
										 |  |  | zerocodec_decoder_deps="zlib" | 
					
						
							|  |  |  | zlib_decoder_deps="zlib" | 
					
						
							|  |  |  | zlib_encoder_deps="zlib" | 
					
						
							|  |  |  | zmbv_decoder_deps="zlib" | 
					
						
							|  |  |  | zmbv_encoder_deps="zlib" | 
					
						
							| 
									
										
										
										
											2007-01-21 21:01:34 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-20 22:40:39 +01:00
										 |  |  | # hardware accelerators | 
					
						
							| 
									
										
										
										
											2013-02-21 12:39:20 +01:00
										 |  |  | dxva2_deps="dxva2api_h" | 
					
						
							| 
									
										
										
										
											2010-04-19 12:49:53 +00:00
										 |  |  | vaapi_deps="va_va_h" | 
					
						
							| 
									
										
										
										
											2011-11-11 15:48:21 +01:00
										 |  |  | vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads" | 
					
						
							| 
									
										
										
										
											2013-02-21 12:31:15 +01:00
										 |  |  | vda_extralibs="-framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore" | 
					
						
							| 
									
										
										
										
											2010-04-19 12:49:51 +00:00
										 |  |  | vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-21 12:35:40 +01:00
										 |  |  | h263_vaapi_hwaccel_deps="vaapi" | 
					
						
							|  |  |  | h263_vaapi_hwaccel_select="h263_decoder" | 
					
						
							|  |  |  | h263_vdpau_hwaccel_deps="vdpau" | 
					
						
							|  |  |  | h263_vdpau_hwaccel_select="h263_decoder" | 
					
						
							| 
									
										
										
										
											2013-02-21 12:39:20 +01:00
										 |  |  | h264_dxva2_hwaccel_deps="dxva2" | 
					
						
							|  |  |  | h264_dxva2_hwaccel_select="h264_decoder" | 
					
						
							| 
									
										
										
										
											2015-02-19 17:32:55 +01:00
										 |  |  | h264_qsv_hwaccel_deps="libmfx" | 
					
						
							| 
									
										
										
										
											2013-02-21 12:35:40 +01:00
										 |  |  | h264_vaapi_hwaccel_deps="vaapi" | 
					
						
							|  |  |  | h264_vaapi_hwaccel_select="h264_decoder" | 
					
						
							|  |  |  | h264_vda_hwaccel_deps="vda" | 
					
						
							|  |  |  | h264_vda_hwaccel_select="h264_decoder" | 
					
						
							| 
									
										
										
										
											2014-03-24 01:59:02 +01:00
										 |  |  | h264_vda_old_hwaccel_deps="vda" | 
					
						
							|  |  |  | h264_vda_old_hwaccel_select="h264_decoder" | 
					
						
							| 
									
										
										
										
											2013-02-21 12:35:40 +01:00
										 |  |  | h264_vdpau_hwaccel_deps="vdpau" | 
					
						
							|  |  |  | h264_vdpau_hwaccel_select="h264_decoder" | 
					
						
							| 
									
										
										
										
											2015-01-25 12:58:50 +01:00
										 |  |  | hevc_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_HEVC" | 
					
						
							|  |  |  | hevc_dxva2_hwaccel_select="hevc_decoder" | 
					
						
							| 
									
										
										
										
											2013-02-21 12:35:40 +01:00
										 |  |  | mpeg1_vdpau_hwaccel_deps="vdpau" | 
					
						
							|  |  |  | mpeg1_vdpau_hwaccel_select="mpeg1video_decoder" | 
					
						
							| 
									
										
										
										
											2013-02-21 12:39:20 +01:00
										 |  |  | mpeg2_dxva2_hwaccel_deps="dxva2" | 
					
						
							|  |  |  | mpeg2_dxva2_hwaccel_select="mpeg2video_decoder" | 
					
						
							| 
									
										
										
										
											2013-02-21 12:35:40 +01:00
										 |  |  | mpeg2_vaapi_hwaccel_deps="vaapi" | 
					
						
							|  |  |  | mpeg2_vaapi_hwaccel_select="mpeg2video_decoder" | 
					
						
							|  |  |  | mpeg2_vdpau_hwaccel_deps="vdpau" | 
					
						
							|  |  |  | mpeg2_vdpau_hwaccel_select="mpeg2video_decoder" | 
					
						
							|  |  |  | mpeg4_vaapi_hwaccel_deps="vaapi" | 
					
						
							|  |  |  | mpeg4_vaapi_hwaccel_select="mpeg4_decoder" | 
					
						
							|  |  |  | mpeg4_vdpau_hwaccel_deps="vdpau" | 
					
						
							|  |  |  | mpeg4_vdpau_hwaccel_select="mpeg4_decoder" | 
					
						
							| 
									
										
										
										
											2013-02-21 12:39:20 +01:00
										 |  |  | vc1_dxva2_hwaccel_deps="dxva2" | 
					
						
							|  |  |  | vc1_dxva2_hwaccel_select="vc1_decoder" | 
					
						
							| 
									
										
										
										
											2013-02-21 12:35:40 +01:00
										 |  |  | vc1_vaapi_hwaccel_deps="vaapi" | 
					
						
							|  |  |  | vc1_vaapi_hwaccel_select="vc1_decoder" | 
					
						
							|  |  |  | vc1_vdpau_hwaccel_deps="vdpau" | 
					
						
							|  |  |  | vc1_vdpau_hwaccel_select="vc1_decoder" | 
					
						
							| 
									
										
										
										
											2012-12-20 22:40:39 +01:00
										 |  |  | wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel" | 
					
						
							|  |  |  | wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel" | 
					
						
							| 
									
										
										
										
											2013-01-12 17:53:47 +02:00
										 |  |  | wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel" | 
					
						
							| 
									
										
										
										
											2012-12-20 22:40:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-09 20:29:52 +00:00
										 |  |  | # parsers | 
					
						
							| 
									
										
										
										
											2014-03-19 16:41:08 +01:00
										 |  |  | h264_parser_select="h264_decoder" | 
					
						
							| 
									
										
										
										
											2014-06-19 08:15:50 -07:00
										 |  |  | mpegvideo_parser_select="mpegvideo" | 
					
						
							| 
									
										
										
										
											2014-06-20 06:05:45 -07:00
										 |  |  | mpeg4video_parser_select="error_resilience h263dsp mpeg_er mpegvideo qpeldsp" | 
					
						
							| 
									
										
										
										
											2015-02-01 17:24:35 +02:00
										 |  |  | vc1_parser_select="mpegvideo startcode vc1_decoder" | 
					
						
							| 
									
										
										
										
											2009-06-09 20:29:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-08 08:27:00 +00:00
										 |  |  | # external libraries | 
					
						
							| 
									
										
										
										
											2007-06-02 11:20:24 +00:00
										 |  |  | libfaac_encoder_deps="libfaac" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | libfaac_encoder_select="audio_frame_queue" | 
					
						
							| 
									
										
										
										
											2013-08-15 15:40:32 -04:00
										 |  |  | libfdk_aac_decoder_deps="libfdk_aac" | 
					
						
							| 
									
										
										
										
											2012-06-28 16:46:24 +03:00
										 |  |  | libfdk_aac_encoder_deps="libfdk_aac" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | libfdk_aac_encoder_select="audio_frame_queue" | 
					
						
							| 
									
										
										
										
											2007-01-21 21:45:48 +00:00
										 |  |  | libgsm_decoder_deps="libgsm" | 
					
						
							|  |  |  | libgsm_encoder_deps="libgsm" | 
					
						
							| 
									
										
										
										
											2007-02-20 18:56:45 +00:00
										 |  |  | libgsm_ms_decoder_deps="libgsm" | 
					
						
							|  |  |  | libgsm_ms_encoder_deps="libgsm" | 
					
						
							| 
									
										
										
										
											2012-06-16 00:42:13 +03:00
										 |  |  | libilbc_decoder_deps="libilbc" | 
					
						
							|  |  |  | libilbc_encoder_deps="libilbc" | 
					
						
							| 
									
										
										
										
											2007-06-06 08:51:41 +00:00
										 |  |  | libmp3lame_encoder_deps="libmp3lame" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | libmp3lame_encoder_select="audio_frame_queue" | 
					
						
							| 
									
										
										
										
											2009-06-05 12:32:40 +00:00
										 |  |  | libopencore_amrnb_decoder_deps="libopencore_amrnb" | 
					
						
							|  |  |  | libopencore_amrnb_encoder_deps="libopencore_amrnb" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | libopencore_amrnb_encoder_select="audio_frame_queue" | 
					
						
							| 
									
										
										
										
											2009-06-05 12:32:40 +00:00
										 |  |  | libopencore_amrwb_decoder_deps="libopencore_amrwb" | 
					
						
							| 
									
										
										
										
											2013-12-12 17:13:55 +02:00
										 |  |  | libopenh264_encoder_deps="libopenh264" | 
					
						
							| 
									
										
										
										
											2009-02-06 11:49:31 +00:00
										 |  |  | libopenjpeg_decoder_deps="libopenjpeg" | 
					
						
							| 
									
										
										
										
											2011-11-17 16:57:09 -07:00
										 |  |  | libopenjpeg_encoder_deps="libopenjpeg" | 
					
						
							| 
									
										
										
										
											2012-09-27 19:39:23 -06:00
										 |  |  | libopus_decoder_deps="libopus" | 
					
						
							| 
									
										
										
										
											2012-09-28 23:16:09 -06:00
										 |  |  | libopus_encoder_deps="libopus" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | libopus_encoder_select="audio_frame_queue" | 
					
						
							| 
									
										
										
										
											2008-05-03 13:59:45 +00:00
										 |  |  | libschroedinger_decoder_deps="libschroedinger" | 
					
						
							|  |  |  | libschroedinger_encoder_deps="libschroedinger" | 
					
						
							| 
									
										
										
										
											2008-10-24 06:29:05 +00:00
										 |  |  | libspeex_decoder_deps="libspeex" | 
					
						
							| 
									
										
										
										
											2011-10-18 12:16:27 -07:00
										 |  |  | libspeex_encoder_deps="libspeex" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | libspeex_encoder_select="audio_frame_queue" | 
					
						
							| 
									
										
										
										
											2007-01-25 00:16:28 +00:00
										 |  |  | libtheora_encoder_deps="libtheora" | 
					
						
							| 
									
										
										
										
											2012-08-01 16:33:34 +00:00
										 |  |  | libtwolame_encoder_deps="libtwolame" | 
					
						
							| 
									
										
										
										
											2010-12-19 21:40:23 +02:00
										 |  |  | libvo_aacenc_encoder_deps="libvo_aacenc" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | libvo_aacenc_encoder_select="audio_frame_queue" | 
					
						
							| 
									
										
										
										
											2009-12-29 16:48:09 +02:00
										 |  |  | libvo_amrwbenc_encoder_deps="libvo_amrwbenc" | 
					
						
							| 
									
										
										
										
											2007-05-04 00:18:54 +00:00
										 |  |  | libvorbis_encoder_deps="libvorbis" | 
					
						
							| 
									
										
										
										
											2013-02-17 22:00:36 +01:00
										 |  |  | libvorbis_encoder_select="audio_frame_queue" | 
					
						
							| 
									
										
										
										
											2012-12-30 19:40:20 +01:00
										 |  |  | libvpx_vp8_decoder_deps="libvpx" | 
					
						
							|  |  |  | libvpx_vp8_encoder_deps="libvpx" | 
					
						
							|  |  |  | libvpx_vp9_decoder_deps="libvpx" | 
					
						
							|  |  |  | libvpx_vp9_encoder_deps="libvpx" | 
					
						
							| 
									
										
										
										
											2013-05-25 19:22:59 +02:00
										 |  |  | libwavpack_encoder_deps="libwavpack" | 
					
						
							| 
									
										
										
										
											2013-11-22 11:05:13 -05:00
										 |  |  | libwebp_encoder_deps="libwebp" | 
					
						
							| 
									
										
										
										
											2007-06-06 08:51:41 +00:00
										 |  |  | libx264_encoder_deps="libx264" | 
					
						
							| 
									
										
										
										
											2013-10-02 14:46:26 +00:00
										 |  |  | libx265_encoder_deps="libx265" | 
					
						
							| 
									
										
										
										
											2010-07-27 07:18:36 +00:00
										 |  |  | libxavs_encoder_deps="libxavs" | 
					
						
							| 
									
										
										
										
											2007-06-06 08:51:41 +00:00
										 |  |  | libxvid_encoder_deps="libxvid" | 
					
						
							| 
									
										
										
										
											2007-01-21 21:01:34 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-08 08:27:00 +00:00
										 |  |  | # demuxers / muxers | 
					
						
							| 
									
										
										
										
											2011-01-21 18:12:17 +00:00
										 |  |  | ac3_demuxer_select="ac3_parser" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  | asf_demuxer_select="riffdec" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:10:54 +02:00
										 |  |  | asf_muxer_select="riffenc" | 
					
						
							| 
									
										
										
										
											2009-07-12 22:31:05 +00:00
										 |  |  | asf_stream_muxer_select="asf_muxer" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  | avi_demuxer_select="riffdec" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:10:54 +02:00
										 |  |  | avi_muxer_select="riffenc" | 
					
						
							| 
									
										
										
										
											2009-06-29 20:00:58 +00:00
										 |  |  | avisynth_demuxer_deps="avisynth" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  | avisynth_demuxer_select="riffdec" | 
					
						
							|  |  |  | caf_demuxer_select="riffdec" | 
					
						
							| 
									
										
										
										
											2014-10-06 11:36:17 +03:00
										 |  |  | dash_muxer_select="mp4_muxer" | 
					
						
							| 
									
										
										
										
											2011-01-21 18:12:17 +00:00
										 |  |  | dirac_demuxer_select="dirac_parser" | 
					
						
							| 
									
										
										
										
											2014-07-05 09:09:15 +00:00
										 |  |  | dv_demuxer_select="dvprofile" | 
					
						
							|  |  |  | dv_muxer_select="dvprofile" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  | dxa_demuxer_select="riffdec" | 
					
						
							| 
									
										
										
										
											2009-12-29 13:14:41 +00:00
										 |  |  | eac3_demuxer_select="ac3_parser" | 
					
						
							| 
									
										
										
										
											2012-09-17 16:16:16 +02:00
										 |  |  | f4v_muxer_select="mov_muxer" | 
					
						
							| 
									
										
										
										
											2011-01-21 18:12:17 +00:00
										 |  |  | flac_demuxer_select="flac_parser" | 
					
						
							| 
									
										
										
										
											2013-08-15 16:06:52 +03:00
										 |  |  | hds_muxer_select="flv_muxer" | 
					
						
							| 
									
										
										
										
											2013-08-15 16:09:27 +03:00
										 |  |  | hls_muxer_select="mpegts_muxer" | 
					
						
							| 
									
										
										
										
											2009-07-12 22:31:05 +00:00
										 |  |  | ipod_muxer_select="mov_muxer" | 
					
						
							| 
									
										
										
										
											2012-12-01 17:56:00 +01:00
										 |  |  | ismv_muxer_select="mov_muxer" | 
					
						
							| 
									
										
										
										
											2009-07-12 22:31:05 +00:00
										 |  |  | matroska_audio_muxer_select="matroska_muxer" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  | matroska_demuxer_select="riffdec" | 
					
						
							| 
									
										
										
										
											2012-10-18 19:48:27 +02:00
										 |  |  | matroska_demuxer_suggest="bzlib lzo zlib" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:10:54 +02:00
										 |  |  | matroska_muxer_select="riffenc" | 
					
						
							|  |  |  | mmf_muxer_select="riffenc" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  | mov_demuxer_select="riffdec" | 
					
						
							| 
									
										
										
										
											2009-06-29 20:00:58 +00:00
										 |  |  | mov_demuxer_suggest="zlib" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:10:54 +02:00
										 |  |  | mov_muxer_select="riffenc rtpenc_chain" | 
					
						
							| 
									
										
										
										
											2011-01-21 18:12:17 +00:00
										 |  |  | mp3_demuxer_select="mpegaudio_parser" | 
					
						
							| 
									
										
										
										
											2009-07-12 22:31:05 +00:00
										 |  |  | mp4_muxer_select="mov_muxer" | 
					
						
							| 
									
										
										
										
											2013-03-25 12:42:57 +02:00
										 |  |  | mpegts_muxer_select="adts_muxer latm_muxer" | 
					
						
							| 
									
										
										
										
											2009-07-12 22:31:05 +00:00
										 |  |  | mpegtsraw_demuxer_select="mpegts_demuxer" | 
					
						
							|  |  |  | mxf_d10_muxer_select="mxf_muxer" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:10:54 +02:00
										 |  |  | nut_muxer_select="riffenc" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  | nuv_demuxer_select="riffdec" | 
					
						
							| 
									
										
										
										
											2014-08-17 20:55:37 +02:00
										 |  |  | oga_muxer_select="ogg_muxer" | 
					
						
							| 
									
										
										
										
											2010-01-11 00:31:52 +00:00
										 |  |  | ogg_demuxer_select="golomb" | 
					
						
							| 
									
										
										
										
											2014-08-17 20:55:37 +02:00
										 |  |  | opus_muxer_select="ogg_muxer" | 
					
						
							| 
									
										
										
										
											2009-07-12 22:31:05 +00:00
										 |  |  | psp_muxer_select="mov_muxer" | 
					
						
							| 
									
										
										
										
											2010-10-19 07:38:53 +00:00
										 |  |  | rtp_demuxer_select="sdp_demuxer" | 
					
						
							| 
									
										
										
										
											2010-10-21 12:18:48 +00:00
										 |  |  | rtpdec_select="asf_demuxer rm_demuxer rtp_protocol mpegts_demuxer mov_demuxer" | 
					
						
							|  |  |  | rtsp_demuxer_select="http_protocol rtpdec" | 
					
						
							| 
									
										
										
										
											2012-11-29 10:34:54 +01:00
										 |  |  | rtsp_muxer_select="rtp_muxer http_protocol rtp_protocol rtpenc_chain" | 
					
						
							| 
									
										
										
										
											2010-10-13 09:06:59 +00:00
										 |  |  | sap_demuxer_select="sdp_demuxer" | 
					
						
							| 
									
										
										
										
											2012-11-29 10:34:54 +01:00
										 |  |  | sap_muxer_select="rtp_muxer rtp_protocol rtpenc_chain" | 
					
						
							| 
									
										
										
										
											2010-10-21 12:18:48 +00:00
										 |  |  | sdp_demuxer_select="rtpdec" | 
					
						
							| 
									
										
										
										
											2012-09-18 11:34:16 +03:00
										 |  |  | smoothstreaming_muxer_select="ismv_muxer" | 
					
						
							| 
									
										
										
										
											2009-12-29 11:42:16 +00:00
										 |  |  | spdif_muxer_select="aac_parser" | 
					
						
							| 
									
										
										
										
											2014-08-17 20:55:37 +02:00
										 |  |  | spx_muxer_select="ogg_muxer" | 
					
						
							| 
									
										
										
										
											2012-10-02 13:43:19 +00:00
										 |  |  | tak_demuxer_select="tak_parser" | 
					
						
							| 
									
										
										
										
											2009-07-12 22:31:05 +00:00
										 |  |  | tg2_muxer_select="mov_muxer" | 
					
						
							|  |  |  | tgp_muxer_select="mov_muxer" | 
					
						
							| 
									
										
										
										
											2013-08-05 23:05:30 +02:00
										 |  |  | w64_demuxer_select="wav_demuxer" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  | wav_demuxer_select="riffdec" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:10:54 +02:00
										 |  |  | wav_muxer_select="riffenc" | 
					
						
							|  |  |  | webm_muxer_select="riffenc" | 
					
						
							| 
									
										
										
										
											2013-08-04 14:33:36 +02:00
										 |  |  | wtv_demuxer_select="riffdec" | 
					
						
							|  |  |  | xmv_demuxer_select="riffdec" | 
					
						
							|  |  |  | xwma_demuxer_select="riffdec" | 
					
						
							| 
									
										
										
										
											2009-06-29 20:00:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # indevs / outdevs | 
					
						
							| 
									
										
										
										
											2009-06-29 18:49:15 +00:00
										 |  |  | alsa_indev_deps="alsa_asoundlib_h snd_pcm_htimestamp" | 
					
						
							|  |  |  | alsa_outdev_deps="alsa_asoundlib_h" | 
					
						
							|  |  |  | bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h" | 
					
						
							| 
									
										
										
										
											2013-08-06 02:36:17 +02:00
										 |  |  | dv1394_indev_deps="dv1394" | 
					
						
							|  |  |  | dv1394_indev_select="dv_demuxer" | 
					
						
							| 
									
										
										
										
											2011-03-07 18:54:52 +01:00
										 |  |  | fbdev_indev_deps="linux_fb_h" | 
					
						
							| 
									
										
										
										
											2013-05-17 08:13:58 +02:00
										 |  |  | jack_indev_deps="jack_jack_h pthreads" | 
					
						
							| 
									
										
										
										
											2011-09-13 17:23:06 +02:00
										 |  |  | libcdio_indev_deps="libcdio" | 
					
						
							| 
									
										
										
										
											2009-06-29 18:49:15 +00:00
										 |  |  | libdc1394_indev_deps="libdc1394" | 
					
						
							|  |  |  | oss_indev_deps_any="soundcard_h sys_soundcard_h" | 
					
						
							|  |  |  | oss_outdev_deps_any="soundcard_h sys_soundcard_h" | 
					
						
							| 
									
										
										
										
											2011-10-26 09:27:53 -07:00
										 |  |  | pulse_indev_deps="libpulse" | 
					
						
							| 
									
										
										
										
											2011-03-26 19:03:41 -04:00
										 |  |  | sndio_indev_deps="sndio_h" | 
					
						
							|  |  |  | sndio_outdev_deps="sndio_h" | 
					
						
							| 
									
										
										
										
											2009-06-29 18:49:15 +00:00
										 |  |  | v4l2_indev_deps_any="linux_videodev2_h sys_videoio_h" | 
					
						
							| 
									
										
										
										
											2010-07-11 22:17:17 +00:00
										 |  |  | vfwcap_indev_deps="capCreateCaptureWindow vfwcap_defines" | 
					
						
							| 
									
										
										
										
											2010-01-23 20:42:00 +00:00
										 |  |  | vfwcap_indev_extralibs="-lavicap32" | 
					
						
							| 
									
										
										
										
											2014-08-24 14:18:22 +02:00
										 |  |  | x11grab_indev_deps="x11grab" | 
					
						
							|  |  |  | x11grab_xcb_indev_deps="libxcb" | 
					
						
							| 
									
										
										
										
											2007-01-21 21:01:34 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-08 08:27:00 +00:00
										 |  |  | # protocols | 
					
						
							| 
									
										
										
										
											2012-07-19 14:13:58 +02:00
										 |  |  | ffrtmpcrypt_protocol_deps="!librtmp_protocol" | 
					
						
							|  |  |  | ffrtmpcrypt_protocol_deps_any="gcrypt nettle openssl" | 
					
						
							|  |  |  | ffrtmpcrypt_protocol_select="tcp_protocol" | 
					
						
							| 
									
										
										
										
											2012-07-16 11:56:20 +02:00
										 |  |  | ffrtmphttp_protocol_deps="!librtmp_protocol" | 
					
						
							|  |  |  | ffrtmphttp_protocol_select="http_protocol" | 
					
						
							| 
									
										
										
										
											2012-12-07 15:03:40 +01:00
										 |  |  | gopher_protocol_select="network" | 
					
						
							| 
									
										
										
										
											2010-03-09 12:09:55 +00:00
										 |  |  | http_protocol_select="tcp_protocol" | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | httpproxy_protocol_select="tcp_protocol" | 
					
						
							| 
									
										
										
										
											2011-02-06 00:20:26 +02:00
										 |  |  | https_protocol_select="tls_protocol" | 
					
						
							| 
									
										
										
										
											2014-07-28 11:55:38 +02:00
										 |  |  | icecast_protocol_select="http_protocol" | 
					
						
							| 
									
										
										
										
											2012-02-13 19:37:25 +01:00
										 |  |  | librtmp_protocol_deps="librtmp" | 
					
						
							|  |  |  | librtmpe_protocol_deps="librtmp" | 
					
						
							|  |  |  | librtmps_protocol_deps="librtmp" | 
					
						
							|  |  |  | librtmpt_protocol_deps="librtmp" | 
					
						
							|  |  |  | librtmpte_protocol_deps="librtmp" | 
					
						
							| 
									
										
										
										
											2010-08-22 12:03:27 +00:00
										 |  |  | mmsh_protocol_select="http_protocol" | 
					
						
							| 
									
										
										
										
											2012-12-07 15:03:40 +01:00
										 |  |  | mmst_protocol_select="network" | 
					
						
							| 
									
										
										
										
											2012-02-13 19:37:25 +01:00
										 |  |  | rtmp_protocol_deps="!librtmp_protocol" | 
					
						
							| 
									
										
										
										
											2010-05-14 18:51:46 +00:00
										 |  |  | rtmp_protocol_select="tcp_protocol" | 
					
						
							| 
									
										
										
										
											2012-07-19 14:13:58 +02:00
										 |  |  | rtmpe_protocol_select="ffrtmpcrypt_protocol" | 
					
						
							| 
									
										
										
										
											2012-07-17 12:02:42 +02:00
										 |  |  | rtmps_protocol_deps="!librtmp_protocol" | 
					
						
							|  |  |  | rtmps_protocol_select="tls_protocol" | 
					
						
							| 
									
										
										
										
											2012-07-16 11:56:20 +02:00
										 |  |  | rtmpt_protocol_select="ffrtmphttp_protocol" | 
					
						
							| 
									
										
										
										
											2012-07-20 16:36:47 +02:00
										 |  |  | rtmpte_protocol_select="ffrtmpcrypt_protocol ffrtmphttp_protocol" | 
					
						
							| 
									
										
										
										
											2012-07-23 16:38:45 +03:00
										 |  |  | rtmpts_protocol_select="ffrtmphttp_protocol https_protocol" | 
					
						
							| 
									
										
										
										
											2010-05-14 18:51:46 +00:00
										 |  |  | rtp_protocol_select="udp_protocol" | 
					
						
							| 
									
										
										
										
											2012-12-07 15:03:40 +01:00
										 |  |  | sctp_protocol_deps="struct_sctp_event_subscribe" | 
					
						
							|  |  |  | sctp_protocol_select="network" | 
					
						
							| 
									
										
										
										
											2013-01-15 14:21:48 +02:00
										 |  |  | srtp_protocol_select="rtp_protocol" | 
					
						
							| 
									
										
										
										
											2012-12-07 15:03:40 +01:00
										 |  |  | tcp_protocol_select="network" | 
					
						
							| 
									
										
										
										
											2011-02-06 00:19:49 +02:00
										 |  |  | tls_protocol_deps_any="openssl gnutls" | 
					
						
							|  |  |  | tls_protocol_select="tcp_protocol" | 
					
						
							| 
									
										
										
										
											2012-12-07 15:03:40 +01:00
										 |  |  | udp_protocol_select="network" | 
					
						
							| 
									
										
										
										
											2013-07-30 01:34:56 +02:00
										 |  |  | unix_protocol_deps="sys_un_h" | 
					
						
							|  |  |  | unix_protocol_select="network" | 
					
						
							| 
									
										
										
										
											2007-04-26 23:44:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-14 13:21:13 +00:00
										 |  |  | # filters | 
					
						
							| 
									
										
										
										
											2010-09-26 21:36:05 +00:00
										 |  |  | blackframe_filter_deps="gpl" | 
					
						
							| 
									
										
										
										
											2011-07-09 18:13:10 +02:00
										 |  |  | boxblur_filter_deps="gpl" | 
					
						
							| 
									
										
										
										
											2014-04-29 18:53:16 +02:00
										 |  |  | bs2b_filter_deps="libbs2b" | 
					
						
							| 
									
										
										
										
											2010-10-12 09:22:32 +00:00
										 |  |  | cropdetect_filter_deps="gpl" | 
					
						
							| 
									
										
										
										
											2011-08-10 18:58:49 +02:00
										 |  |  | delogo_filter_deps="gpl" | 
					
						
							| 
									
										
										
										
											2011-02-21 01:02:29 +01:00
										 |  |  | drawtext_filter_deps="libfreetype" | 
					
						
							| 
									
										
										
										
											2014-02-27 12:29:37 +01:00
										 |  |  | frei0r_filter_deps="frei0r dlopen" | 
					
						
							| 
									
										
										
										
											2012-04-01 18:56:26 +02:00
										 |  |  | frei0r_filter_extralibs='$ldl' | 
					
						
							| 
									
										
										
										
											2014-02-27 12:29:37 +01:00
										 |  |  | frei0r_src_filter_deps="frei0r dlopen" | 
					
						
							| 
									
										
										
										
											2012-04-01 18:56:26 +02:00
										 |  |  | frei0r_src_filter_extralibs='$ldl' | 
					
						
							| 
									
										
										
										
											2010-12-04 13:03:42 +00:00
										 |  |  | hqdn3d_filter_deps="gpl" | 
					
						
							| 
									
										
										
										
											2013-03-12 11:35:21 +01:00
										 |  |  | interlace_filter_deps="gpl" | 
					
						
							| 
									
										
										
										
											2010-12-23 17:24:19 +00:00
										 |  |  | ocv_filter_deps="libopencv" | 
					
						
							| 
									
										
										
										
											2013-11-02 17:21:49 +01:00
										 |  |  | resample_filter_deps="avresample" | 
					
						
							| 
									
										
										
										
											2012-06-13 10:10:31 +02:00
										 |  |  | scale_filter_deps="swscale" | 
					
						
							| 
									
										
										
										
											2010-09-14 13:21:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-02 17:05:28 +01:00
										 |  |  | # examples | 
					
						
							| 
									
										
										
										
											2014-02-15 15:50:29 +01:00
										 |  |  | avcodec_example_deps="avcodec avutil" | 
					
						
							| 
									
										
										
										
											2014-02-13 08:50:16 +01:00
										 |  |  | filter_audio_example_deps="avfilter avutil" | 
					
						
							| 
									
										
										
										
											2014-02-15 15:50:29 +01:00
										 |  |  | metadata_example_deps="avformat avutil" | 
					
						
							| 
									
										
										
										
											2013-11-02 17:05:28 +01:00
										 |  |  | output_example_deps="avcodec avformat avutil swscale" | 
					
						
							| 
									
										
										
										
											2013-10-08 13:10:46 +02:00
										 |  |  | transcode_aac_example_deps="avcodec avformat avresample" | 
					
						
							| 
									
										
										
										
											2013-11-02 17:05:28 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | # libraries, in linking order | 
					
						
							| 
									
										
										
										
											2012-11-11 13:37:40 +01:00
										 |  |  | avcodec_deps="avutil" | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | avdevice_deps="avformat avcodec avutil" | 
					
						
							| 
									
										
										
										
											2012-11-11 13:37:40 +01:00
										 |  |  | avfilter_deps="avutil" | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | avformat_deps="avcodec avutil" | 
					
						
							| 
									
										
										
										
											2012-11-11 13:37:40 +01:00
										 |  |  | avresample_deps="avutil" | 
					
						
							|  |  |  | swscale_deps="avutil" | 
					
						
							| 
									
										
										
										
											2008-02-26 21:32:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-08 08:27:00 +00:00
										 |  |  | # programs | 
					
						
							| 
									
										
										
										
											2012-11-09 14:32:38 +02:00
										 |  |  | avconv_deps="avcodec avfilter avformat avresample swscale" | 
					
						
							| 
									
										
										
										
											2013-05-05 07:25:22 +02:00
										 |  |  | avconv_select="aformat_filter anull_filter asyncts_filter atrim_filter format_filter | 
					
						
							| 
									
										
										
										
											2012-12-18 15:08:56 +01:00
										 |  |  |                fps_filter null_filter resample_filter scale_filter | 
					
						
							| 
									
										
										
										
											2013-05-05 07:25:22 +02:00
										 |  |  |                setpts_filter trim_filter" | 
					
						
							| 
									
										
										
										
											2012-11-29 00:14:23 +01:00
										 |  |  | avplay_deps="avcodec avformat avresample swscale sdl" | 
					
						
							| 
									
										
										
										
											2014-02-13 00:44:08 +01:00
										 |  |  | avplay_libs='$sdl_libs' | 
					
						
							| 
									
										
										
										
											2011-07-26 17:51:34 +02:00
										 |  |  | avplay_select="rdft" | 
					
						
							| 
									
										
										
										
											2011-07-26 19:04:43 +02:00
										 |  |  | avprobe_deps="avcodec avformat" | 
					
						
							| 
									
										
										
										
											2007-02-11 14:22:28 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-25 15:19:57 -08:00
										 |  |  | # documentation | 
					
						
							| 
									
										
										
										
											2013-11-26 11:37:54 -08:00
										 |  |  | pod2man_deps="doc" | 
					
						
							| 
									
										
										
										
											2013-11-25 15:19:57 -08:00
										 |  |  | texi2html_deps="doc" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-07-22 14:18:56 +00:00
										 |  |  | # default parameters | 
					
						
							| 
									
										
										
										
											2007-02-06 22:09:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-16 18:41:26 +00:00
										 |  |  | logfile="config.log" | 
					
						
							| 
									
										
										
										
											2007-02-06 22:09:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # installation paths | 
					
						
							| 
									
										
										
										
											2008-06-02 23:51:36 +00:00
										 |  |  | prefix_default="/usr/local" | 
					
						
							|  |  |  | bindir_default='${prefix}/bin' | 
					
						
							| 
									
										
										
										
											2011-07-27 20:56:59 +02:00
										 |  |  | datadir_default='${prefix}/share/avconv' | 
					
						
							| 
									
										
										
										
											2013-08-28 10:30:14 +02:00
										 |  |  | docdir_default='${prefix}/share/doc/libav' | 
					
						
							| 
									
										
										
										
											2008-06-02 23:51:36 +00:00
										 |  |  | incdir_default='${prefix}/include' | 
					
						
							|  |  |  | libdir_default='${prefix}/lib' | 
					
						
							|  |  |  | mandir_default='${prefix}/share/man' | 
					
						
							|  |  |  | shlibdir_default="$libdir_default" | 
					
						
							| 
									
										
										
										
											2007-02-06 22:09:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # toolchain | 
					
						
							| 
									
										
										
										
											2010-05-02 18:59:15 +00:00
										 |  |  | ar_default="ar" | 
					
						
							| 
									
										
										
										
											2008-10-21 00:57:20 +00:00
										 |  |  | cc_default="gcc" | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:34 +00:00
										 |  |  | host_cc_default="gcc" | 
					
						
							| 
									
										
										
										
											2012-10-15 02:38:17 +01:00
										 |  |  | cp_f="cp -f" | 
					
						
							| 
									
										
										
										
											2013-02-25 15:51:47 +01:00
										 |  |  | ln_s="ln -s -f" | 
					
						
							| 
									
										
										
										
											2012-09-16 21:47:16 +01:00
										 |  |  | nm_default="nm -g" | 
					
						
							| 
									
										
										
										
											2009-01-07 01:42:00 +00:00
										 |  |  | objformat="elf" | 
					
						
							| 
									
										
										
										
											2011-03-06 13:48:30 +00:00
										 |  |  | pkg_config_default=pkg-config | 
					
						
							| 
									
										
										
										
											2002-09-02 16:48:40 +00:00
										 |  |  | ranlib="ranlib" | 
					
						
							| 
									
										
										
										
											2013-09-12 18:06:23 +00:00
										 |  |  | strip="strip" | 
					
						
							| 
									
										
										
										
											2009-01-07 01:42:00 +00:00
										 |  |  | yasmexe="yasm" | 
					
						
							| 
									
										
										
										
											2007-02-06 22:09:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # machine | 
					
						
							| 
									
										
										
										
											2010-02-11 23:57:52 +00:00
										 |  |  | arch_default=$(uname -m) | 
					
						
							| 
									
										
										
										
											2006-10-18 12:33:42 +00:00
										 |  |  | cpu="generic" | 
					
						
							| 
									
										
										
										
											2014-05-13 23:03:28 +02:00
										 |  |  | intrinsics="none" | 
					
						
							| 
									
										
										
										
											2007-02-06 22:09:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # OS | 
					
						
							| 
									
										
										
										
											2010-02-11 23:57:52 +00:00
										 |  |  | target_os_default=$(tolower $(uname -s)) | 
					
						
							|  |  |  | host_os=$target_os_default | 
					
						
							| 
									
										
										
										
											2007-02-06 22:09:46 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # configurable options | 
					
						
							| 
									
										
										
										
											2013-11-02 17:05:28 +01:00
										 |  |  | enable $EXAMPLE_LIST $LIBRARY_LIST $PROGRAM_LIST | 
					
						
							| 
									
										
										
										
											2011-09-12 17:40:29 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | enable asm | 
					
						
							|  |  |  | enable debug | 
					
						
							|  |  |  | enable doc | 
					
						
							| 
									
										
										
										
											2014-08-28 19:32:45 -07:00
										 |  |  | enable faan faandct faanidct | 
					
						
							| 
									
										
										
										
											2007-10-24 19:17:15 +00:00
										 |  |  | enable optimizations | 
					
						
							| 
									
										
										
										
											2011-12-16 21:42:04 +00:00
										 |  |  | enable safe_bitstream_reader | 
					
						
							| 
									
										
										
										
											2008-03-25 15:04:42 +00:00
										 |  |  | enable static | 
					
						
							| 
									
										
										
										
											2009-03-20 14:12:47 +00:00
										 |  |  | enable swscale_alpha | 
					
						
							| 
									
										
										
										
											2007-02-06 22:09:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-18 22:27:03 +01:00
										 |  |  | # By default, enable only those hwaccels that have no external dependencies. | 
					
						
							| 
									
										
										
										
											2014-12-03 03:12:40 +00:00
										 |  |  | enable dxva2 vda vdpau | 
					
						
							| 
									
										
										
										
											2013-03-18 22:27:03 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-06 22:09:46 +00:00
										 |  |  | # build settings | 
					
						
							| 
									
										
										
										
											2008-04-10 19:44:29 +00:00
										 |  |  | SHFLAGS='-shared -Wl,-soname,$$(@F)' | 
					
						
							| 
									
										
										
										
											2003-01-11 20:34:38 +00:00
										 |  |  | LIBPREF="lib" | 
					
						
							|  |  |  | LIBSUF=".a" | 
					
						
							| 
									
										
										
										
											2007-10-19 18:03:05 +00:00
										 |  |  | FULLNAME='$(NAME)$(BUILDSUF)' | 
					
						
							|  |  |  | LIBNAME='$(LIBPREF)$(FULLNAME)$(LIBSUF)' | 
					
						
							| 
									
										
										
										
											2003-01-11 20:34:38 +00:00
										 |  |  | SLIBPREF="lib" | 
					
						
							|  |  |  | SLIBSUF=".so" | 
					
						
							| 
									
										
										
										
											2007-10-19 18:03:05 +00:00
										 |  |  | SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)' | 
					
						
							| 
									
										
										
										
											2006-05-16 18:06:28 +00:00
										 |  |  | SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)' | 
					
						
							|  |  |  | SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' | 
					
						
							| 
									
										
										
										
											2010-03-06 17:44:18 +00:00
										 |  |  | LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' | 
					
						
							| 
									
										
										
										
											2011-07-07 15:25:30 +01:00
										 |  |  | SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)' | 
					
						
							|  |  |  | SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)' | 
					
						
							| 
									
										
										
										
											2002-03-08 09:09:57 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-20 12:20:23 +01:00
										 |  |  | asflags_filter=echo | 
					
						
							|  |  |  | cflags_filter=echo | 
					
						
							| 
									
										
										
										
											2012-07-20 03:06:49 +01:00
										 |  |  | ldflags_filter=echo | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-20 23:43:27 +01:00
										 |  |  | AS_C='-c' | 
					
						
							| 
									
										
										
										
											2011-06-25 11:57:32 +01:00
										 |  |  | AS_O='-o $@' | 
					
						
							| 
									
										
										
										
											2012-07-20 23:43:27 +01:00
										 |  |  | CC_C='-c' | 
					
						
							| 
									
										
										
										
											2012-07-20 22:22:41 +01:00
										 |  |  | CC_E='-E -o $@' | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:46 +00:00
										 |  |  | CC_O='-o $@' | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | LD_O='-o $@' | 
					
						
							| 
									
										
										
										
											2012-08-28 16:06:56 +01:00
										 |  |  | LD_LIB='-l%' | 
					
						
							|  |  |  | LD_PATH='-L' | 
					
						
							| 
									
										
										
										
											2012-07-20 23:43:27 +01:00
										 |  |  | HOSTCC_C='-c' | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  | HOSTCC_E='-E -o $@' | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | HOSTCC_O='-o $@' | 
					
						
							| 
									
										
										
										
											2012-08-28 13:02:35 +01:00
										 |  |  | HOSTLD_O='-o $@' | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:34 +00:00
										 |  |  | host_libs='-lm' | 
					
						
							| 
									
										
										
										
											2012-07-20 13:48:13 +01:00
										 |  |  | host_cflags_filter=echo | 
					
						
							|  |  |  | host_ldflags_filter=echo | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:34 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-30 15:48:55 +00:00
										 |  |  | target_path='$(CURDIR)' | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:38 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-01 11:11:23 +00:00
										 |  |  | # since the object filename is not given with the -MM flag, the compiler | 
					
						
							|  |  |  | # is only able to print the basename, and we must add the path ourselves | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< | sed -e "/^\#.*/d" -e "s,^[[:space:]]*$(*F)\\.o,$(@D)/$(*F).o," > $(@:.o=.d)' | 
					
						
							|  |  |  | DEPFLAGS='-MM' | 
					
						
							| 
									
										
										
										
											2008-03-12 23:30:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-17 18:32:04 +00:00
										 |  |  | # find source path | 
					
						
							| 
									
										
										
										
											2009-07-17 13:10:26 +00:00
										 |  |  | if test -f configure; then | 
					
						
							| 
									
										
										
										
											2011-06-06 22:38:38 +01:00
										 |  |  |     source_path=. | 
					
						
							| 
									
										
										
										
											2007-02-17 18:32:04 +00:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2011-06-06 12:56:26 +01:00
										 |  |  |     source_path=$(cd $(dirname "$0"); pwd) | 
					
						
							| 
									
										
										
										
											2007-02-17 18:32:04 +00:00
										 |  |  |     echo "$source_path" | grep -q '[[:blank:]]' && | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         die "Out of tree builds are impossible with whitespace in source path." | 
					
						
							| 
									
										
										
										
											2009-03-15 21:32:36 +00:00
										 |  |  |     test -e "$source_path/config.h" && | 
					
						
							|  |  |  |         die "Out of tree builds are impossible with config.h in source dir." | 
					
						
							| 
									
										
										
										
											2007-02-17 18:32:04 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-30 21:12:44 +00:00
										 |  |  | for v in "$@"; do | 
					
						
							| 
									
										
										
										
											2009-06-15 22:12:21 +00:00
										 |  |  |     r=${v#*=} | 
					
						
							|  |  |  |     l=${v%"$r"} | 
					
						
							|  |  |  |     r=$(sh_quote "$r") | 
					
						
							| 
									
										
										
										
											2011-03-14 22:23:10 +01:00
										 |  |  |     LIBAV_CONFIGURATION="${LIBAV_CONFIGURATION# } ${l}${r}" | 
					
						
							| 
									
										
										
										
											2009-03-30 21:12:44 +00:00
										 |  |  | done | 
					
						
							| 
									
										
										
										
											2007-02-17 18:32:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-02-17 00:00:06 +00:00
										 |  |  | find_things(){ | 
					
						
							|  |  |  |     thing=$1 | 
					
						
							|  |  |  |     pattern=$2 | 
					
						
							|  |  |  |     file=$source_path/$3 | 
					
						
							| 
									
										
										
										
											2008-03-03 21:48:24 +00:00
										 |  |  |     sed -n "s/^[^#]*$pattern.*([^,]*, *\([^,]*\)\(,.*\)*).*/\1_$thing/p" "$file" | 
					
						
							| 
									
										
										
										
											2008-02-17 00:00:06 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ENCODER_LIST=$(find_things  encoder  ENC      libavcodec/allcodecs.c) | 
					
						
							|  |  |  | DECODER_LIST=$(find_things  decoder  DEC      libavcodec/allcodecs.c) | 
					
						
							| 
									
										
										
										
											2009-04-02 08:48:06 +00:00
										 |  |  | HWACCEL_LIST=$(find_things  hwaccel  HWACCEL  libavcodec/allcodecs.c) | 
					
						
							| 
									
										
										
										
											2008-02-17 00:00:06 +00:00
										 |  |  | PARSER_LIST=$(find_things   parser   PARSER   libavcodec/allcodecs.c) | 
					
						
							|  |  |  | BSF_LIST=$(find_things      bsf      BSF      libavcodec/allcodecs.c) | 
					
						
							|  |  |  | MUXER_LIST=$(find_things    muxer    _MUX     libavformat/allformats.c) | 
					
						
							|  |  |  | DEMUXER_LIST=$(find_things  demuxer  DEMUX    libavformat/allformats.c) | 
					
						
							| 
									
										
										
										
											2009-06-29 18:49:15 +00:00
										 |  |  | OUTDEV_LIST=$(find_things   outdev   OUTDEV   libavdevice/alldevices.c) | 
					
						
							|  |  |  | INDEV_LIST=$(find_things    indev    _IN      libavdevice/alldevices.c) | 
					
						
							| 
									
										
										
										
											2008-02-17 00:00:06 +00:00
										 |  |  | PROTOCOL_LIST=$(find_things protocol PROTOCOL libavformat/allformats.c) | 
					
						
							| 
									
										
										
										
											2008-03-03 20:53:15 +00:00
										 |  |  | FILTER_LIST=$(find_things   filter   FILTER   libavfilter/allfilters.c) | 
					
						
							| 
									
										
										
										
											2007-02-17 18:32:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-12 17:52:44 +02:00
										 |  |  | ALL_COMPONENTS=" | 
					
						
							|  |  |  |     $BSF_LIST | 
					
						
							|  |  |  |     $DECODER_LIST | 
					
						
							|  |  |  |     $DEMUXER_LIST | 
					
						
							|  |  |  |     $ENCODER_LIST | 
					
						
							|  |  |  |     $FILTER_LIST | 
					
						
							|  |  |  |     $HWACCEL_LIST | 
					
						
							|  |  |  |     $INDEV_LIST | 
					
						
							|  |  |  |     $MUXER_LIST | 
					
						
							|  |  |  |     $OUTDEV_LIST | 
					
						
							|  |  |  |     $PARSER_LIST | 
					
						
							|  |  |  |     $PROTOCOL_LIST | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-04-19 12:49:56 +00:00
										 |  |  | for n in $COMPONENT_LIST; do | 
					
						
							|  |  |  |     v=$(toupper ${n%s})_LIST | 
					
						
							|  |  |  |     eval enable \$$v | 
					
						
							|  |  |  |     eval ${n}_if_any="\$$v" | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-16 14:35:05 +01:00
										 |  |  | enable $ARCH_EXT_LIST | 
					
						
							| 
									
										
										
										
											2007-02-17 18:32:04 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | die_unknown(){ | 
					
						
							|  |  |  |     echo "Unknown option \"$1\"." | 
					
						
							|  |  |  |     echo "See $0 --help for available options." | 
					
						
							|  |  |  |     exit 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-21 16:43:47 +01:00
										 |  |  | print_3_columns() { | 
					
						
							|  |  |  |     cat | tr ' ' '\n' | sort | pr -r -3 -t | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-07-27 14:13:34 +00:00
										 |  |  | show_list() { | 
					
						
							| 
									
										
										
										
											2007-11-04 02:15:53 +00:00
										 |  |  |     suffix=_$1 | 
					
						
							|  |  |  |     shift | 
					
						
							| 
									
										
										
										
											2013-02-21 16:43:47 +01:00
										 |  |  |     echo $* | sed s/$suffix//g | print_3_columns | 
					
						
							| 
									
										
										
										
											2007-07-27 14:13:34 +00:00
										 |  |  |     exit 0 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-09 04:29:53 +01:00
										 |  |  | rand_list(){ | 
					
						
							|  |  |  |     IFS=', ' | 
					
						
							|  |  |  |     set -- $* | 
					
						
							|  |  |  |     unset IFS | 
					
						
							|  |  |  |     for thing; do | 
					
						
							|  |  |  |         comp=${thing%:*} | 
					
						
							|  |  |  |         prob=${thing#$comp} | 
					
						
							|  |  |  |         prob=${prob#:} | 
					
						
							|  |  |  |         is_in ${comp} $COMPONENT_LIST && eval comp=\$$(toupper ${comp%s})_LIST | 
					
						
							|  |  |  |         echo "prob ${prob:-0.5}" | 
					
						
							|  |  |  |         printf '%s\n' $comp | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | do_random(){ | 
					
						
							|  |  |  |     action=$1 | 
					
						
							|  |  |  |     shift | 
					
						
							|  |  |  |     random_seed=$(awk "BEGIN { srand($random_seed); print srand() }") | 
					
						
							|  |  |  |     $action $(rand_list "$@" | awk "BEGIN { srand($random_seed) } \$1 == \"prob\" { prob = \$2; next } rand() < prob { print }") | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-02-17 18:32:04 +00:00
										 |  |  | for opt do | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |     optval="${opt#*=}" | 
					
						
							|  |  |  |     case "$opt" in | 
					
						
							| 
									
										
										
										
											2012-12-02 23:32:41 +01:00
										 |  |  |         --extra-ldflags=*) | 
					
						
							|  |  |  |             add_ldflags $optval | 
					
						
							| 
									
										
										
										
											2012-11-29 18:03:50 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2014-07-16 17:00:11 +02:00
										 |  |  |         --extra-ldexeflags=*) | 
					
						
							|  |  |  |             add_ldexeflags $optval | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-12-02 23:32:41 +01:00
										 |  |  |         --extra-libs=*) | 
					
						
							|  |  |  |             add_extralibs $optval | 
					
						
							| 
									
										
										
										
											2012-11-29 18:03:50 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-12-02 23:32:41 +01:00
										 |  |  |         --disable-devices) | 
					
						
							|  |  |  |             disable $INDEV_LIST $OUTDEV_LIST | 
					
						
							| 
									
										
										
										
											2012-11-29 18:03:50 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-12-02 23:32:41 +01:00
										 |  |  |         --enable-debug=*) | 
					
						
							|  |  |  |             debuglevel="$optval" | 
					
						
							| 
									
										
										
										
											2012-11-29 18:03:50 +00:00
										 |  |  |         ;; | 
					
						
							|  |  |  |         --disable-programs) | 
					
						
							|  |  |  |             disable $PROGRAM_LIST | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         --disable-everything) | 
					
						
							|  |  |  |             map 'eval unset \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-11-10 14:47:52 +01:00
										 |  |  |         --disable-all) | 
					
						
							|  |  |  |             map 'eval unset \${$(toupper ${v%s})_LIST}' $COMPONENT_LIST | 
					
						
							|  |  |  |             disable $LIBRARY_LIST $PROGRAM_LIST doc | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-11-29 18:03:50 +00:00
										 |  |  |         --enable-random|--disable-random) | 
					
						
							|  |  |  |             action=${opt%%-random} | 
					
						
							|  |  |  |             do_random ${action#--} $COMPONENT_LIST | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         --enable-random=*|--disable-random=*) | 
					
						
							|  |  |  |             action=${opt%%-random=*} | 
					
						
							|  |  |  |             do_random ${action#--} $optval | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         --enable-*=*|--disable-*=*) | 
					
						
							|  |  |  |             eval $(echo "${opt%%=*}" | sed 's/--/action=/;s/-/ thing=/') | 
					
						
							|  |  |  |             is_in "${thing}s" $COMPONENT_LIST || die_unknown "$opt" | 
					
						
							|  |  |  |             eval list=\$$(toupper $thing)_LIST | 
					
						
							|  |  |  |             name=$(echo "${optval}" | sed "s/,/_${thing}|/g")_${thing} | 
					
						
							|  |  |  |             $action $(filter "$name" $list) | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2014-06-09 14:21:56 +02:00
										 |  |  |         --enable-avserver|--disable-avserver*) | 
					
						
							|  |  |  |             warn "avserver has been removed, the ${opt} option is only"\ | 
					
						
							|  |  |  |                  "provided for compatibility and will be removed in the future" | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-11-29 18:03:50 +00:00
										 |  |  |         --enable-?*|--disable-?*) | 
					
						
							|  |  |  |             eval $(echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g') | 
					
						
							|  |  |  |             if is_in $option $COMPONENT_LIST; then | 
					
						
							|  |  |  |                 test $action = disable && action=unset | 
					
						
							|  |  |  |                 eval $action \$$(toupper ${option%s})_LIST | 
					
						
							|  |  |  |             elif is_in $option $CMDLINE_SELECT; then | 
					
						
							|  |  |  |                 $action $option | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |                 die_unknown $opt | 
					
						
							|  |  |  |             fi | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         --list-*) | 
					
						
							|  |  |  |             NAME="${opt#--list-}" | 
					
						
							|  |  |  |             is_in $NAME $COMPONENT_LIST || die_unknown $opt | 
					
						
							|  |  |  |             NAME=${NAME%s} | 
					
						
							|  |  |  |             eval show_list $NAME \$$(toupper $NAME)_LIST | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         --help|-h) show_help | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         *) | 
					
						
							|  |  |  |             optname="${opt%%=*}" | 
					
						
							|  |  |  |             optname="${optname#--}" | 
					
						
							|  |  |  |             optname=$(echo "$optname" | sed 's/-/_/g') | 
					
						
							|  |  |  |             if is_in $optname $CMDLINE_SET; then | 
					
						
							|  |  |  |                 eval $optname='$optval' | 
					
						
							|  |  |  |             elif is_in $optname $CMDLINE_APPEND; then | 
					
						
							|  |  |  |                 append $optname "$optval" | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |                 die_unknown $opt | 
					
						
							|  |  |  |             fi | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |     esac | 
					
						
							| 
									
										
										
										
											2007-02-17 18:32:04 +00:00
										 |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-15 23:34:43 +00:00
										 |  |  | disabled logging && logfile=/dev/null | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-14 22:23:10 +01:00
										 |  |  | echo "# $0 $LIBAV_CONFIGURATION" > $logfile | 
					
						
							| 
									
										
										
										
											2008-05-15 23:34:43 +00:00
										 |  |  | set >> $logfile | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:34 +00:00
										 |  |  | test -n "$cross_prefix" && enable cross_compile | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-11 23:57:52 +00:00
										 |  |  | if enabled cross_compile; then | 
					
						
							|  |  |  |     test -n "$arch" && test -n "$target_os" || | 
					
						
							|  |  |  |         die "Must specify target arch and OS when cross-compiling" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-16 22:06:53 +01:00
										 |  |  | case "$toolchain" in | 
					
						
							| 
									
										
										
										
											2012-10-14 07:54:22 +02:00
										 |  |  |     clang-asan) | 
					
						
							|  |  |  |         cc_default="clang" | 
					
						
							| 
									
										
										
										
											2013-03-28 03:30:53 +01:00
										 |  |  |         add_cflags  -fsanitize=address | 
					
						
							|  |  |  |         add_ldflags -fsanitize=address | 
					
						
							| 
									
										
										
										
											2012-10-14 07:54:22 +02:00
										 |  |  |     ;; | 
					
						
							|  |  |  |     clang-tsan) | 
					
						
							|  |  |  |         cc_default="clang" | 
					
						
							| 
									
										
										
										
											2013-03-28 03:30:53 +01:00
										 |  |  |         add_cflags  -fsanitize=thread -pie | 
					
						
							|  |  |  |         add_ldflags -fsanitize=thread -pie | 
					
						
							| 
									
										
										
										
											2012-10-14 07:54:22 +02:00
										 |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2014-02-19 20:20:39 +01:00
										 |  |  |     clang-usan) | 
					
						
							|  |  |  |         cc_default="clang" | 
					
						
							| 
									
										
										
										
											2014-05-16 18:07:34 +02:00
										 |  |  |         add_cflags  -fsanitize=undefined -O1 | 
					
						
							| 
									
										
										
										
											2014-02-19 20:20:39 +01:00
										 |  |  |         add_ldflags -fsanitize=undefined | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2013-05-14 22:41:14 +02:00
										 |  |  |     gcc-asan) | 
					
						
							|  |  |  |         cc_default="gcc" | 
					
						
							|  |  |  |         add_cflags  -fsanitize=address | 
					
						
							|  |  |  |         add_ldflags -fsanitize=address | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  |     gcc-tsan) | 
					
						
							|  |  |  |         cc_default="gcc" | 
					
						
							|  |  |  |         add_cflags  -fsanitize=thread -pie -fPIC | 
					
						
							|  |  |  |         add_ldflags -fsanitize=thread -pie -fPIC | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2014-02-19 20:20:39 +01:00
										 |  |  |     gcc-usan) | 
					
						
							|  |  |  |         cc_default="gcc" | 
					
						
							|  |  |  |         add_cflags  -fsanitize=undefined | 
					
						
							|  |  |  |         add_ldflags -fsanitize=undefined | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2013-05-14 22:15:18 +02:00
										 |  |  |     valgrind-massif) | 
					
						
							|  |  |  |         target_exec_default="valgrind" | 
					
						
							|  |  |  |         target_exec_args="--alloc-fn=av_malloc --alloc-fn=av_mallocz" | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2013-05-04 10:25:41 +02:00
										 |  |  |     valgrind-memcheck) | 
					
						
							|  |  |  |         target_exec_default="valgrind" | 
					
						
							|  |  |  |         target_exec_args="--track-origins=yes --leak-check=full" | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-09-16 22:06:53 +01:00
										 |  |  |     msvc) | 
					
						
							| 
									
										
										
										
											2013-11-04 15:46:34 +02:00
										 |  |  |         # Check whether the current MSVC version needs the C99 converter. | 
					
						
							|  |  |  |         # From MSVC 2013 (compiler major version 18) onwards, it does actually | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |         # support enough of C99 to build libav. Default to the new | 
					
						
							| 
									
										
										
										
											2013-11-04 15:46:34 +02:00
										 |  |  |         # behaviour if the regexp was unable to match anything, since this | 
					
						
							|  |  |  |         # successfully parses the version number of existing supported | 
					
						
							|  |  |  |         # versions that require the converter (MSVC 2010 and 2012). | 
					
						
							|  |  |  |         cl_major_ver=$(cl 2>&1 | sed -n 's/.*Version \([[:digit:]]\{1,\}\)\..*/\1/p') | 
					
						
							|  |  |  |         if [ -z "$cl_major_ver" ] || [ $cl_major_ver -ge 18 ]; then | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |             cc_default="cl" | 
					
						
							| 
									
										
										
										
											2013-11-04 15:46:34 +02:00
										 |  |  |         else | 
					
						
							|  |  |  |             cc_default="c99wrap cl" | 
					
						
							|  |  |  |         fi | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |         ld_default="link" | 
					
						
							| 
									
										
										
										
											2012-09-16 22:06:53 +01:00
										 |  |  |         nm_default="dumpbin -symbols" | 
					
						
							| 
									
										
										
										
											2012-09-18 00:10:29 +01:00
										 |  |  |         ar_default="lib" | 
					
						
							| 
									
										
										
										
											2012-10-13 15:57:56 +03:00
										 |  |  |         target_os_default="win32" | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |         # Use a relative path for TMPDIR. This makes sure all the | 
					
						
							|  |  |  |         # ffconf temp files are written with a relative path, avoiding | 
					
						
							|  |  |  |         # issues with msys/win32 path conversion for MSVC parameters | 
					
						
							|  |  |  |         # such as -Fo<file> or -out:<file>. | 
					
						
							|  |  |  |         TMPDIR=. | 
					
						
							| 
									
										
										
										
											2012-09-16 22:06:53 +01:00
										 |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2013-05-25 06:07:42 -04:00
										 |  |  |     icl) | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |         cc_default="icl" | 
					
						
							|  |  |  |         ld_default="xilink" | 
					
						
							| 
									
										
										
										
											2013-05-25 06:07:42 -04:00
										 |  |  |         nm_default="dumpbin -symbols" | 
					
						
							|  |  |  |         ar_default="xilib" | 
					
						
							|  |  |  |         target_os_default="win32" | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |         TMPDIR=. | 
					
						
							| 
									
										
										
										
											2013-05-25 06:07:42 -04:00
										 |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2013-03-23 08:17:24 +01:00
										 |  |  |     gcov) | 
					
						
							|  |  |  |         add_cflags  -fprofile-arcs -ftest-coverage | 
					
						
							|  |  |  |         add_ldflags -fprofile-arcs -ftest-coverage | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2013-10-28 13:22:52 +01:00
										 |  |  |     hardened) | 
					
						
							| 
									
										
										
										
											2014-07-30 05:09:47 -07:00
										 |  |  |         add_cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 | 
					
						
							|  |  |  |         add_cflags   -fno-strict-overflow -fstack-protector-all | 
					
						
							|  |  |  |         add_ldflags  -Wl,-z,relro -Wl,-z,now | 
					
						
							| 
									
										
										
										
											2013-10-28 13:22:52 +01:00
										 |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-09-16 22:06:53 +01:00
										 |  |  |     ?*) | 
					
						
							|  |  |  |         die "Unknown toolchain $toolchain" | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-07 00:47:42 +02:00
										 |  |  | ar_default="${cross_prefix}${ar_default}" | 
					
						
							|  |  |  | cc_default="${cross_prefix}${cc_default}" | 
					
						
							|  |  |  | nm_default="${cross_prefix}${nm_default}" | 
					
						
							|  |  |  | pkg_config_default="${cross_prefix}${pkg_config_default}" | 
					
						
							|  |  |  | ranlib="${cross_prefix}${ranlib}" | 
					
						
							|  |  |  | strip="${cross_prefix}${strip}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sysinclude_default="${sysroot}/usr/include" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-04 10:25:41 +02:00
										 |  |  | set_default arch cc pkg_config sysinclude target_exec target_os | 
					
						
							| 
									
										
										
										
											2008-11-23 12:36:34 +00:00
										 |  |  | enabled cross_compile || host_cc_default=$cc | 
					
						
							|  |  |  | set_default host_cc | 
					
						
							| 
									
										
										
										
											2008-10-21 00:57:20 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-05 16:45:12 +01:00
										 |  |  | if ! $pkg_config --version >/dev/null 2>&1; then | 
					
						
							|  |  |  |     warn "$pkg_config not found, library detection may fail." | 
					
						
							|  |  |  |     pkg_config=false | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-03-08 22:11:24 +00:00
										 |  |  | exesuf() { | 
					
						
							|  |  |  |     case $1 in | 
					
						
							| 
									
										
										
										
											2012-10-13 15:57:56 +03:00
										 |  |  |         mingw32*|win32|win64|cygwin*|*-dos|freedos|opendos|os/2*|symbian) echo .exe ;; | 
					
						
							| 
									
										
										
										
											2009-03-08 22:11:24 +00:00
										 |  |  |     esac | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | EXESUF=$(exesuf $target_os) | 
					
						
							|  |  |  | HOSTEXESUF=$(exesuf $host_os) | 
					
						
							| 
									
										
										
										
											2009-02-05 00:03:54 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-13 17:25:04 +00:00
										 |  |  | # set temporary file name | 
					
						
							| 
									
										
										
										
											2008-12-29 12:55:24 +00:00
										 |  |  | : ${TMPDIR:=$TEMPDIR} | 
					
						
							| 
									
										
										
										
											2008-12-29 12:55:28 +00:00
										 |  |  | : ${TMPDIR:=$TMP} | 
					
						
							| 
									
										
										
										
											2008-12-29 12:55:24 +00:00
										 |  |  | : ${TMPDIR:=/tmp} | 
					
						
							| 
									
										
										
										
											2008-05-13 17:25:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-21 19:58:23 +00:00
										 |  |  | if ! check_cmd mktemp -u XXXXXX; then | 
					
						
							| 
									
										
										
										
											2009-03-03 08:53:55 +00:00
										 |  |  |     # simple replacement for missing mktemp | 
					
						
							|  |  |  |     # NOT SAFE FOR GENERAL USE | 
					
						
							|  |  |  |     mktemp(){ | 
					
						
							| 
									
										
										
										
											2010-10-07 00:44:52 +01:00
										 |  |  |         echo "${2%%XXX*}.${HOSTNAME}.${UID}.$$" | 
					
						
							| 
									
										
										
										
											2009-03-03 08:53:55 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | tmpfile(){ | 
					
						
							|  |  |  |     tmp=$(mktemp -u "${TMPDIR}/ffconf.XXXXXXXX")$2 && | 
					
						
							|  |  |  |         (set -C; exec > $tmp) 2>/dev/null || | 
					
						
							| 
									
										
										
										
											2009-09-09 23:07:00 +00:00
										 |  |  |         die "Unable to create temporary file in $TMPDIR." | 
					
						
							| 
									
										
										
										
											2009-03-03 08:53:55 +00:00
										 |  |  |     append TMPFILES $tmp | 
					
						
							|  |  |  |     eval $1=$tmp | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | trap 'rm -f -- $TMPFILES' EXIT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-03 21:27:19 +00:00
										 |  |  | tmpfile TMPASM .asm | 
					
						
							| 
									
										
										
										
											2011-09-12 17:40:29 +02:00
										 |  |  | tmpfile TMPC   .c | 
					
						
							|  |  |  | tmpfile TMPE   $EXESUF | 
					
						
							|  |  |  | tmpfile TMPH   .h | 
					
						
							|  |  |  | tmpfile TMPO   .o | 
					
						
							|  |  |  | tmpfile TMPS   .S | 
					
						
							|  |  |  | tmpfile TMPSH  .sh | 
					
						
							|  |  |  | tmpfile TMPV   .ver | 
					
						
							| 
									
										
										
										
											2009-03-03 08:53:55 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | unset -f mktemp | 
					
						
							| 
									
										
										
										
											2008-05-13 17:25:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-06 15:54:35 +01:00
										 |  |  | chmod +x $TMPE | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-04 21:28:54 +00:00
										 |  |  | # make sure we can execute files in $TMPDIR | 
					
						
							|  |  |  | cat > $TMPSH 2>> $logfile <<EOF | 
					
						
							|  |  |  | #! /bin/sh | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | chmod +x $TMPSH >> $logfile 2>&1 | 
					
						
							|  |  |  | if ! $TMPSH >> $logfile 2>&1; then | 
					
						
							|  |  |  |     cat <<EOF | 
					
						
							|  |  |  | Unable to create and execute files in $TMPDIR.  Set the TMPDIR environment | 
					
						
							|  |  |  | variable to another directory and make sure that it is not mounted noexec. | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  |     die "Sanity test failed." | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-08-10 14:40:09 +03:00
										 |  |  | armasm_flags(){ | 
					
						
							|  |  |  |     for flag; do | 
					
						
							|  |  |  |         case $flag in | 
					
						
							|  |  |  |             # Filter out MSVC cl.exe options from cflags that shouldn't | 
					
						
							|  |  |  |             # be passed to gas-preprocessor | 
					
						
							|  |  |  |             -M[TD]*)                                            ;; | 
					
						
							|  |  |  |             *)                  echo $flag                      ;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |    done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-23 00:05:44 +01:00
										 |  |  | ccc_flags(){ | 
					
						
							|  |  |  |     for flag; do | 
					
						
							|  |  |  |         case $flag in | 
					
						
							|  |  |  |             -std=c99)           echo -c99                       ;; | 
					
						
							|  |  |  |             -mcpu=*)            echo -arch ${flag#*=}           ;; | 
					
						
							|  |  |  |             -mieee)             echo -ieee                      ;; | 
					
						
							|  |  |  |             -O*|-fast)          echo $flag                      ;; | 
					
						
							|  |  |  |             -fno-math-errno)    echo -assume nomath_errno       ;; | 
					
						
							|  |  |  |             -g)                 echo -g3                        ;; | 
					
						
							|  |  |  |             -Wall)              echo -msg_enable level2         ;; | 
					
						
							|  |  |  |             -Wno-pointer-sign)  echo -msg_disable ptrmismatch1  ;; | 
					
						
							|  |  |  |             -Wl,*)              echo $flag                      ;; | 
					
						
							|  |  |  |             -f*|-W*)                                            ;; | 
					
						
							|  |  |  |             *)                  echo $flag                      ;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |    done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-12 20:17:15 +02:00
										 |  |  | cparser_flags(){ | 
					
						
							|  |  |  |     for flag; do | 
					
						
							|  |  |  |         case $flag in | 
					
						
							|  |  |  |             -Wno-switch)             echo -Wno-switch-enum ;; | 
					
						
							|  |  |  |             -Wno-format-zero-length) ;; | 
					
						
							|  |  |  |             -Wdisabled-optimization) ;; | 
					
						
							|  |  |  |             -Wno-pointer-sign)       echo -Wno-other ;; | 
					
						
							|  |  |  |             *)                       echo $flag ;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-30 20:11:20 +00:00
										 |  |  | msvc_common_flags(){ | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |     for flag; do | 
					
						
							|  |  |  |         case $flag in | 
					
						
							| 
									
										
										
										
											2013-05-30 20:11:20 +00:00
										 |  |  |             # In addition to specifying certain flags under the compiler | 
					
						
							|  |  |  |             # specific filters, they must be specified here as well or else the | 
					
						
							|  |  |  |             # generic catch all at the bottom will print the original flag. | 
					
						
							|  |  |  |             -Wall)                ;; | 
					
						
							|  |  |  |             -std=c99)             ;; | 
					
						
							|  |  |  |             # Common flags | 
					
						
							| 
									
										
										
										
											2013-06-24 21:10:11 +00:00
										 |  |  |             -fomit-frame-pointer) ;; | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |             -g)                   echo -Z7 ;; | 
					
						
							|  |  |  |             -fno-math-errno)      ;; | 
					
						
							|  |  |  |             -fno-common)          ;; | 
					
						
							|  |  |  |             -fno-signed-zeros)    ;; | 
					
						
							| 
									
										
										
										
											2012-10-30 22:57:37 +01:00
										 |  |  |             -fPIC)                ;; | 
					
						
							| 
									
										
										
										
											2013-05-28 23:39:21 +03:00
										 |  |  |             -mthumb)              ;; | 
					
						
							|  |  |  |             -march=*)             ;; | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |             -lz)                  echo zlib.lib ;; | 
					
						
							| 
									
										
										
										
											2012-10-01 18:39:30 +00:00
										 |  |  |             -lavifil32)           echo vfw32.lib ;; | 
					
						
							|  |  |  |             -lavicap32)           echo vfw32.lib user32.lib ;; | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |             -l*)                  echo ${flag#-l}.lib ;; | 
					
						
							| 
									
										
										
										
											2015-01-02 23:29:27 +02:00
										 |  |  |             -L*)                  echo -libpath:${flag#-L} ;; | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |             *)                    echo $flag ;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-30 20:11:20 +00:00
										 |  |  | msvc_flags(){ | 
					
						
							|  |  |  |     msvc_common_flags "$@" | 
					
						
							|  |  |  |     for flag; do | 
					
						
							|  |  |  |         case $flag in | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |             -Wall)                echo -W4 -wd4244 -wd4127 -wd4018 -wd4389     \ | 
					
						
							| 
									
										
										
										
											2013-05-30 20:11:20 +00:00
										 |  |  |                                        -wd4146 -wd4057 -wd4204 -wd4706 -wd4305 \ | 
					
						
							|  |  |  |                                        -wd4152 -wd4324 -we4013 -wd4100 -wd4214 \ | 
					
						
							| 
									
										
										
										
											2014-08-15 20:03:27 +02:00
										 |  |  |                                        -wd4273 -wd4701 ;; | 
					
						
							| 
									
										
										
										
											2013-05-30 20:11:20 +00:00
										 |  |  |         esac | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | icl_flags(){ | 
					
						
							|  |  |  |     msvc_common_flags "$@" | 
					
						
							|  |  |  |     for flag; do | 
					
						
							|  |  |  |         case $flag in | 
					
						
							|  |  |  |             # Despite what Intel's documentation says -Wall, which is supported | 
					
						
							|  |  |  |             # on Windows, does enable remarks so disable them here. | 
					
						
							|  |  |  |             -Wall)                echo $flag -Qdiag-disable:remark ;; | 
					
						
							|  |  |  |             -std=c99)             echo -Qstd=c99 ;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-18 20:27:09 +01:00
										 |  |  | pgi_flags(){ | 
					
						
							|  |  |  |     for flag; do | 
					
						
							|  |  |  |         case $flag in | 
					
						
							| 
									
										
										
										
											2012-10-05 03:42:12 +01:00
										 |  |  |             -flto)                echo -Mipa=fast,libopt,libinline,vestigial ;; | 
					
						
							| 
									
										
										
										
											2012-07-18 20:27:09 +01:00
										 |  |  |             -fomit-frame-pointer) echo -Mnoframe ;; | 
					
						
							|  |  |  |             -g)                   echo -gopt ;; | 
					
						
							|  |  |  |             *)                    echo $flag ;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | suncc_flags(){ | 
					
						
							|  |  |  |     for flag; do | 
					
						
							|  |  |  |         case $flag in | 
					
						
							|  |  |  |             -march=*|-mcpu=*) | 
					
						
							|  |  |  |                 case "${flag#*=}" in | 
					
						
							|  |  |  |                     native)                   echo -xtarget=native       ;; | 
					
						
							|  |  |  |                     v9|niagara)               echo -xarch=sparc          ;; | 
					
						
							|  |  |  |                     ultrasparc)               echo -xarch=sparcvis       ;; | 
					
						
							|  |  |  |                     ultrasparc3|niagara2)     echo -xarch=sparcvis2      ;; | 
					
						
							|  |  |  |                     i586|pentium)             echo -xchip=pentium        ;; | 
					
						
							|  |  |  |                     i686|pentiumpro|pentium2) echo -xtarget=pentium_pro  ;; | 
					
						
							|  |  |  |                     pentium3*|c3-2)           echo -xtarget=pentium3     ;; | 
					
						
							|  |  |  |                     pentium-m)          echo -xarch=sse2 -xchip=pentium3 ;; | 
					
						
							|  |  |  |                     pentium4*)          echo -xtarget=pentium4           ;; | 
					
						
							|  |  |  |                     prescott|nocona)    echo -xarch=sse3 -xchip=pentium4 ;; | 
					
						
							|  |  |  |                     *-sse3)             echo -xarch=sse3                 ;; | 
					
						
							|  |  |  |                     core2)              echo -xarch=ssse3 -xchip=core2   ;; | 
					
						
							| 
									
										
										
										
											2012-11-25 01:32:57 -05:00
										 |  |  |                     corei7)           echo -xarch=sse4_2 -xchip=nehalem  ;; | 
					
						
							|  |  |  |                     corei7-avx)       echo -xarch=avx -xchip=sandybridge ;; | 
					
						
							| 
									
										
										
										
											2012-09-03 05:20:44 -07:00
										 |  |  |                     amdfam10|barcelona|bdver*) echo -xarch=sse4_1        ;; | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |                     athlon-4|athlon-[mx]p)     echo -xarch=ssea          ;; | 
					
						
							| 
									
										
										
										
											2012-07-18 20:27:09 +01:00
										 |  |  |                     k8|opteron|athlon64|athlon-fx) | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |                                                echo -xarch=sse2a         ;; | 
					
						
							|  |  |  |                     athlon*)                   echo -xarch=pentium_proa  ;; | 
					
						
							| 
									
										
										
										
											2012-07-18 20:27:09 +01:00
										 |  |  |                 esac | 
					
						
							|  |  |  |                 ;; | 
					
						
							|  |  |  |             -std=c99)             echo -xc99              ;; | 
					
						
							|  |  |  |             -fomit-frame-pointer) echo -xregs=frameptr    ;; | 
					
						
							|  |  |  |             -fPIC)                echo -KPIC -xcode=pic32 ;; | 
					
						
							|  |  |  |             -W*,*)                echo $flag              ;; | 
					
						
							| 
									
										
										
										
											2013-01-14 12:51:59 -05:00
										 |  |  |             -f*-*|-W*|-mimpure-text)                      ;; | 
					
						
							|  |  |  |             -shared)              echo -G                 ;; | 
					
						
							| 
									
										
										
										
											2012-07-18 20:27:09 +01:00
										 |  |  |             *)                    echo $flag              ;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | tms470_flags(){ | 
					
						
							|  |  |  |     for flag; do | 
					
						
							|  |  |  |         case $flag in | 
					
						
							|  |  |  |             -march=*|-mcpu=*) | 
					
						
							|  |  |  |                 case "${flag#*=}" in | 
					
						
							|  |  |  |                     armv7-a|cortex-a*)      echo -mv=7a8 ;; | 
					
						
							|  |  |  |                     armv7-r|cortex-r*)      echo -mv=7r4 ;; | 
					
						
							|  |  |  |                     armv7-m|cortex-m*)      echo -mv=7m3 ;; | 
					
						
							|  |  |  |                     armv6*|arm11*)          echo -mv=6   ;; | 
					
						
							|  |  |  |                     armv5*e|arm[79]*e*|arm9[24]6*|arm96*|arm102[26]) | 
					
						
							|  |  |  |                                             echo -mv=5e  ;; | 
					
						
							|  |  |  |                     armv4*|arm7*|arm9[24]*) echo -mv=4   ;; | 
					
						
							|  |  |  |                 esac | 
					
						
							|  |  |  |                 ;; | 
					
						
							|  |  |  |             -mfpu=neon)     echo --float_support=vfpv3 --neon ;; | 
					
						
							|  |  |  |             -mfpu=vfp)      echo --float_support=vfpv2        ;; | 
					
						
							|  |  |  |             -mfpu=vfpv3)    echo --float_support=vfpv3        ;; | 
					
						
							| 
									
										
										
										
											2012-10-13 01:34:42 +01:00
										 |  |  |             -mfpu=vfpv3-d16) echo --float_support=vfpv3d16    ;; | 
					
						
							| 
									
										
										
										
											2012-07-18 20:27:09 +01:00
										 |  |  |             -msoft-float)   echo --float_support=vfplib       ;; | 
					
						
							|  |  |  |             -O[0-3]|-mf=*)  echo $flag                        ;; | 
					
						
							|  |  |  |             -g)             echo -g -mn                       ;; | 
					
						
							|  |  |  |             -pds=*)         echo $flag                        ;; | 
					
						
							| 
									
										
										
										
											2012-07-20 01:27:53 +01:00
										 |  |  |             -D*|-I*)        echo $flag                        ;; | 
					
						
							|  |  |  |             --gcc|--abi=*)  echo $flag                        ;; | 
					
						
							|  |  |  |             -me)            echo $flag                        ;; | 
					
						
							| 
									
										
										
										
											2012-07-18 20:27:09 +01:00
										 |  |  |         esac | 
					
						
							|  |  |  |     done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | probe_cc(){ | 
					
						
							|  |  |  |     pfx=$1 | 
					
						
							|  |  |  |     _cc=$2 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-28 16:06:56 +01:00
										 |  |  |     unset _type _ident _cc_c _cc_e _cc_o _flags _cflags | 
					
						
							|  |  |  |     unset _ld_o _ldflags _ld_lib _ld_path | 
					
						
							| 
									
										
										
										
											2012-07-20 22:22:41 +01:00
										 |  |  |     unset _depflags _DEPCMD _DEPFLAGS | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |     _flags_filter=echo | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if $_cc -v 2>&1 | grep -q '^gcc.*LLVM'; then | 
					
						
							|  |  |  |         _type=llvm_gcc | 
					
						
							|  |  |  |         gcc_extra_ver=$(expr "$($_cc --version | head -n1)" : '.*\((.*)\)') | 
					
						
							|  |  |  |         _ident="llvm-gcc $($_cc -dumpversion) $gcc_extra_ver" | 
					
						
							|  |  |  |         _depflags='-MMD -MF $(@:.o=.d) -MT $@' | 
					
						
							|  |  |  |         _cflags_speed='-O3' | 
					
						
							|  |  |  |         _cflags_size='-Os' | 
					
						
							|  |  |  |     elif $_cc -v 2>&1 | grep -qi ^gcc; then | 
					
						
							|  |  |  |         _type=gcc | 
					
						
							|  |  |  |         gcc_version=$($_cc --version | head -n1) | 
					
						
							|  |  |  |         gcc_basever=$($_cc -dumpversion) | 
					
						
							|  |  |  |         gcc_pkg_ver=$(expr "$gcc_version" : '[^ ]* \(([^)]*)\)') | 
					
						
							|  |  |  |         gcc_ext_ver=$(expr "$gcc_version" : ".*$gcc_pkg_ver $gcc_basever \\(.*\\)") | 
					
						
							|  |  |  |         _ident=$(cleanws "gcc $gcc_basever $gcc_pkg_ver $gcc_ext_ver") | 
					
						
							|  |  |  |         if ! $_cc -dumpversion | grep -q '^2\.'; then | 
					
						
							|  |  |  |             _depflags='-MMD -MF $(@:.o=.d) -MT $@' | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         _cflags_speed='-O3' | 
					
						
							|  |  |  |         _cflags_size='-Os' | 
					
						
							| 
									
										
										
										
											2013-02-25 17:05:22 +01:00
										 |  |  |     elif $_cc --version 2>/dev/null | grep -q ^icc; then | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |         _type=icc | 
					
						
							|  |  |  |         _ident=$($_cc --version | head -n1) | 
					
						
							|  |  |  |         _depflags='-MMD' | 
					
						
							|  |  |  |         _cflags_speed='-O3' | 
					
						
							|  |  |  |         _cflags_size='-Os' | 
					
						
							|  |  |  |         _cflags_noopt='-O1' | 
					
						
							|  |  |  |     elif $_cc -v 2>&1 | grep -q xlc; then | 
					
						
							|  |  |  |         _type=xlc | 
					
						
							|  |  |  |         _ident=$($_cc -qversion 2>/dev/null | head -n1) | 
					
						
							|  |  |  |         _cflags_speed='-O5' | 
					
						
							|  |  |  |         _cflags_size='-O5 -qcompact' | 
					
						
							|  |  |  |     elif $_cc -V 2>/dev/null | grep -q Compaq; then | 
					
						
							|  |  |  |         _type=ccc | 
					
						
							|  |  |  |         _ident=$($_cc -V | head -n1 | cut -d' ' -f1-3) | 
					
						
							|  |  |  |         _DEPFLAGS='-M' | 
					
						
							|  |  |  |         _cflags_speed='-fast' | 
					
						
							|  |  |  |         _cflags_size='-O1' | 
					
						
							| 
									
										
										
										
											2012-10-23 00:05:44 +01:00
										 |  |  |         _flags_filter=ccc_flags | 
					
						
							| 
									
										
										
										
											2014-04-18 23:40:59 +03:00
										 |  |  |     elif $_cc --vsn 2>/dev/null | grep -Eq "ARM (C/C\+\+ )?Compiler"; then | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |         test -d "$sysroot" || die "No valid sysroot specified." | 
					
						
							|  |  |  |         _type=armcc | 
					
						
							| 
									
										
										
										
											2014-07-28 11:51:29 +03:00
										 |  |  |         _ident=$($_cc --vsn | grep -i build | head -n1 | sed 's/.*: //') | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |         armcc_conf="$PWD/armcc.conf" | 
					
						
							|  |  |  |         $_cc --arm_linux_configure                 \ | 
					
						
							|  |  |  |              --arm_linux_config_file="$armcc_conf" \ | 
					
						
							|  |  |  |              --configure_sysroot="$sysroot"        \ | 
					
						
							|  |  |  |              --configure_cpp_headers="$sysinclude" >>$logfile 2>&1 || | 
					
						
							|  |  |  |              die "Error creating armcc configuration file." | 
					
						
							|  |  |  |         $_cc --vsn | grep -q RVCT && armcc_opt=rvct || armcc_opt=armcc | 
					
						
							|  |  |  |         _flags="--arm_linux_config_file=$armcc_conf --translate_gcc" | 
					
						
							|  |  |  |         as_default="${cross_prefix}gcc" | 
					
						
							|  |  |  |         _depflags='-MMD' | 
					
						
							|  |  |  |         _cflags_speed='-O3' | 
					
						
							|  |  |  |         _cflags_size='-Os' | 
					
						
							| 
									
										
										
										
											2012-09-15 15:36:22 +01:00
										 |  |  |     elif $_cc -version 2>/dev/null | grep -Eq 'TMS470|TI ARM'; then | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |         _type=tms470 | 
					
						
							|  |  |  |         _ident=$($_cc -version | head -n1 | tr -s ' ') | 
					
						
							|  |  |  |         _flags='--gcc --abi=eabi -me' | 
					
						
							| 
									
										
										
										
											2012-07-20 22:22:41 +01:00
										 |  |  |         _cc_e='-ppl -fe=$@' | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |         _cc_o='-fe=$@' | 
					
						
							|  |  |  |         _depflags='-ppa -ppd=$(@:.o=.d)' | 
					
						
							|  |  |  |         _cflags_speed='-O3 -mf=5' | 
					
						
							|  |  |  |         _cflags_size='-O3 -mf=2' | 
					
						
							|  |  |  |         _flags_filter=tms470_flags | 
					
						
							|  |  |  |     elif $_cc -v 2>&1 | grep -q clang; then | 
					
						
							|  |  |  |         _type=clang | 
					
						
							|  |  |  |         _ident=$($_cc --version | head -n1) | 
					
						
							| 
									
										
										
										
											2014-01-25 17:34:19 +01:00
										 |  |  |         _depflags='-MMD -MF $(@:.o=.d) -MT $@' | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |         _cflags_speed='-O3' | 
					
						
							|  |  |  |         _cflags_size='-Os' | 
					
						
							|  |  |  |     elif $_cc -V 2>&1 | grep -q Sun; then | 
					
						
							|  |  |  |         _type=suncc | 
					
						
							|  |  |  |         _ident=$($_cc -V 2>&1 | head -n1 | cut -d' ' -f 2-) | 
					
						
							|  |  |  |         _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< | sed -e "1s,^.*: ,$@: ," -e "\$$!s,\$$, \\\," -e "1!s,^.*: , ," > $(@:.o=.d)' | 
					
						
							| 
									
										
										
										
											2012-08-09 17:14:32 +02:00
										 |  |  |         _DEPFLAGS='-xM1 -xc99' | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |         _ldflags='-std=c99' | 
					
						
							|  |  |  |         _cflags_speed='-O5' | 
					
						
							|  |  |  |         _cflags_size='-O5 -xspace' | 
					
						
							|  |  |  |         _flags_filter=suncc_flags | 
					
						
							|  |  |  |     elif $_cc -v 2>&1 | grep -q 'PathScale\|Path64'; then | 
					
						
							|  |  |  |         _type=pathscale | 
					
						
							|  |  |  |         _ident=$($_cc -v 2>&1 | head -n1 | tr -d :) | 
					
						
							|  |  |  |         _depflags='-MMD -MF $(@:.o=.d) -MT $@' | 
					
						
							|  |  |  |         _cflags_speed='-O2' | 
					
						
							|  |  |  |         _cflags_size='-Os' | 
					
						
							|  |  |  |         _flags_filter='filter_out -Wdisabled-optimization' | 
					
						
							|  |  |  |     elif $_cc -v 2>&1 | grep -q Open64; then | 
					
						
							|  |  |  |         _type=open64 | 
					
						
							|  |  |  |         _ident=$($_cc -v 2>&1 | head -n1 | tr -d :) | 
					
						
							|  |  |  |         _depflags='-MMD -MF $(@:.o=.d) -MT $@' | 
					
						
							|  |  |  |         _cflags_speed='-O2' | 
					
						
							|  |  |  |         _cflags_size='-Os' | 
					
						
							|  |  |  |         _flags_filter='filter_out -Wdisabled-optimization|-Wtype-limits|-fno-signed-zeros' | 
					
						
							|  |  |  |     elif $_cc -V 2>&1 | grep -q Portland; then | 
					
						
							|  |  |  |         _type=pgi | 
					
						
							|  |  |  |         _ident="PGI $($_cc -V 2>&1 | awk '/^pgcc/ { print $2; exit }')" | 
					
						
							| 
									
										
										
										
											2012-10-05 01:30:28 +01:00
										 |  |  |         opt_common='-alias=ansi -Mdse -Mlre -Mpre' | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |         _cflags_speed="-O3 -Mautoinline -Munroll=c:4 $opt_common" | 
					
						
							|  |  |  |         _cflags_size="-O2 -Munroll=c:1 $opt_common" | 
					
						
							|  |  |  |         _cflags_noopt="-O1" | 
					
						
							|  |  |  |         _flags_filter=pgi_flags | 
					
						
							| 
									
										
										
										
											2014-08-09 22:25:44 +03:00
										 |  |  |     elif $_cc 2>&1 | grep -q 'Microsoft.*ARM.*Assembler'; then | 
					
						
							|  |  |  |         _type=armasm | 
					
						
							|  |  |  |         _ident=$($_cc | head -n1) | 
					
						
							|  |  |  |         # 4509: "This form of conditional instruction is deprecated" | 
					
						
							|  |  |  |         _flags="-nologo -ignore 4509" | 
					
						
							| 
									
										
										
										
											2014-08-10 14:40:09 +03:00
										 |  |  |         _flags_filter=armasm_flags | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |     elif $_cc 2>&1 | grep -q Microsoft; then | 
					
						
							|  |  |  |         _type=msvc | 
					
						
							|  |  |  |         _ident=$($cc 2>&1 | head -n1) | 
					
						
							|  |  |  |         _DEPCMD='$(DEP$(1)) $(DEP$(1)FLAGS) $($(1)DEP_FLAGS) $< 2>&1 | awk '\''/including/ { sub(/^.*file: */, ""); gsub(/\\/, "/"); if (!match($$0, / /)) print "$@:", $$0 }'\'' > $(@:.o=.d)' | 
					
						
							|  |  |  |         _DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -showIncludes -Zs' | 
					
						
							|  |  |  |         _cflags_speed="-O2" | 
					
						
							|  |  |  |         _cflags_size="-O1" | 
					
						
							|  |  |  |         if $_cc 2>&1 | grep -q Linker; then | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |             _ld_o='-out:$@' | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |         else | 
					
						
							|  |  |  |             _ld_o='-Fe$@' | 
					
						
							|  |  |  |         fi | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |         _cc_o='-Fo$@' | 
					
						
							|  |  |  |         _cc_e='-P -Fi$@' | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |         _flags_filter=msvc_flags | 
					
						
							|  |  |  |         _ld_lib='lib%.a' | 
					
						
							|  |  |  |         _ld_path='-libpath:' | 
					
						
							|  |  |  |         _flags='-nologo' | 
					
						
							| 
									
										
										
										
											2013-09-19 16:58:21 -04:00
										 |  |  |         _cflags='-D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64' | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |         if [ $pfx = hostcc ]; then | 
					
						
							| 
									
										
										
										
											2012-09-07 11:13:36 +01:00
										 |  |  |             append _cflags -Dsnprintf=_snprintf | 
					
						
							| 
									
										
										
										
											2012-06-22 12:24:59 +03:00
										 |  |  |         fi | 
					
						
							| 
									
										
										
										
											2013-05-25 06:07:42 -04:00
										 |  |  |     elif $_cc 2>&1 | grep -q Intel; then | 
					
						
							|  |  |  |         _type=icl | 
					
						
							|  |  |  |         _ident=$($cc 2>&1 | head -n1) | 
					
						
							|  |  |  |         _depflags='-QMMD -QMF$(@:.o=.d) -QMT$@' | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |         # Not only is O3 broken on 13.x+ but it is slower on all previous | 
					
						
							|  |  |  |         # versions (tested) as well. | 
					
						
							| 
									
										
										
										
											2013-05-25 06:07:42 -04:00
										 |  |  |         _cflags_speed="-O2" | 
					
						
							|  |  |  |         _cflags_size="-O1 -Oi" # -O1 without -Oi miscompiles stuff | 
					
						
							|  |  |  |         if $_cc 2>&1 | grep -q Linker; then | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |             _ld_o='-out:$@' | 
					
						
							| 
									
										
										
										
											2013-05-25 06:07:42 -04:00
										 |  |  |         else | 
					
						
							|  |  |  |             _ld_o='-Fe$@' | 
					
						
							|  |  |  |         fi | 
					
						
							| 
									
										
										
										
											2013-11-14 11:58:37 +02:00
										 |  |  |         _cc_o='-Fo$@' | 
					
						
							| 
									
										
										
										
											2013-05-25 06:07:42 -04:00
										 |  |  |         _cc_e='-P' | 
					
						
							| 
									
										
										
										
											2013-05-30 20:11:20 +00:00
										 |  |  |         _flags_filter=icl_flags | 
					
						
							| 
									
										
										
										
											2013-05-25 06:07:42 -04:00
										 |  |  |         _ld_lib='lib%.a' | 
					
						
							|  |  |  |         _ld_path='-libpath:' | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |         # -Qdiag-error to make icl error when seeing certain unknown arguments | 
					
						
							| 
									
										
										
										
											2013-05-30 20:11:21 +00:00
										 |  |  |         _flags='-nologo -Qdiag-error:4044,10157' | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |         # -Qvec- -Qsimd- to prevent miscompilation, -GS for consistency | 
					
						
							|  |  |  |         # with MSVC which enables it by default. | 
					
						
							| 
									
										
										
										
											2013-06-18 20:39:47 -04:00
										 |  |  |         _cflags='-D_USE_MATH_DEFINES -FIstdlib.h -Dstrtoll=_strtoi64 -Qms0 -Qvec- -Qsimd- -GS' | 
					
						
							| 
									
										
										
										
											2013-05-25 06:07:42 -04:00
										 |  |  |         if [ $pfx = hostcc ]; then | 
					
						
							|  |  |  |             append _cflags -Dsnprintf=_snprintf | 
					
						
							|  |  |  |         fi | 
					
						
							| 
									
										
										
										
											2013-09-12 20:17:15 +02:00
										 |  |  |     elif $_cc --version 2>/dev/null | grep -q ^cparser; then | 
					
						
							|  |  |  |         _type=cparser | 
					
						
							|  |  |  |         _ident=$($_cc --version | head -n1) | 
					
						
							|  |  |  |         _depflags='-MMD' | 
					
						
							|  |  |  |         _cflags_speed='-O4' | 
					
						
							|  |  |  |         _cflags_size='-O2' | 
					
						
							|  |  |  |         _flags_filter=cparser_flags | 
					
						
							| 
									
										
										
										
											2009-08-10 17:25:46 +00:00
										 |  |  |     fi | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     eval ${pfx}_type=\$_type | 
					
						
							|  |  |  |     eval ${pfx}_ident=\$_ident | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | set_ccvars(){ | 
					
						
							| 
									
										
										
										
											2012-07-20 23:43:27 +01:00
										 |  |  |     eval ${1}_C=\${_cc_c-\${${1}_C}} | 
					
						
							| 
									
										
										
										
											2012-07-20 22:22:41 +01:00
										 |  |  |     eval ${1}_E=\${_cc_e-\${${1}_E}} | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  |     eval ${1}_O=\${_cc_o-\${${1}_O}} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if [ -n "$_depflags" ]; then | 
					
						
							|  |  |  |         eval ${1}_DEPFLAGS=\$_depflags | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         eval ${1}DEP=\${_DEPCMD:-\$DEPCMD} | 
					
						
							|  |  |  |         eval ${1}DEP_FLAGS=\${_DEPFLAGS:-\$DEPFLAGS} | 
					
						
							|  |  |  |         eval DEP${1}FLAGS=\$_flags | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | probe_cc cc "$cc" | 
					
						
							|  |  |  | cflags_filter=$_flags_filter | 
					
						
							|  |  |  | cflags_speed=$_cflags_speed | 
					
						
							|  |  |  | cflags_size=$_cflags_size | 
					
						
							|  |  |  | cflags_noopt=$_cflags_noopt | 
					
						
							|  |  |  | add_cflags $_flags $_cflags | 
					
						
							|  |  |  | cc_ldflags=$_ldflags | 
					
						
							|  |  |  | set_ccvars CC | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | probe_cc hostcc "$host_cc" | 
					
						
							|  |  |  | host_cflags_filter=$_flags_filter | 
					
						
							|  |  |  | add_host_cflags  $_flags $_cflags | 
					
						
							|  |  |  | set_ccvars HOSTCC | 
					
						
							| 
									
										
										
										
											2009-02-21 21:07:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-24 20:49:39 +00:00
										 |  |  | test -n "$cc_type" && enable $cc_type || | 
					
						
							|  |  |  |     warn "Unknown C compiler $cc, unable to select optimal CFLAGS" | 
					
						
							| 
									
										
										
										
											2009-02-21 21:07:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:55 +00:00
										 |  |  | : ${as_default:=$cc} | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:43 +00:00
										 |  |  | : ${dep_cc_default:=$cc} | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:40 +00:00
										 |  |  | : ${ld_default:=$cc} | 
					
						
							| 
									
										
										
										
											2012-08-28 13:02:35 +01:00
										 |  |  | : ${host_ld_default:=$host_cc} | 
					
						
							|  |  |  | set_default ar as dep_cc ld host_ld | 
					
						
							| 
									
										
										
										
											2009-03-09 22:39:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | probe_cc as "$as" | 
					
						
							|  |  |  | asflags_filter=$_flags_filter | 
					
						
							|  |  |  | add_asflags $_flags $_cflags | 
					
						
							|  |  |  | set_ccvars AS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | probe_cc ld "$ld" | 
					
						
							|  |  |  | ldflags_filter=$_flags_filter | 
					
						
							|  |  |  | add_ldflags $_flags $_ldflags | 
					
						
							|  |  |  | test "$cc_type" != "$ld_type" && add_ldflags $cc_ldflags | 
					
						
							| 
									
										
										
										
											2012-08-28 12:50:09 +01:00
										 |  |  | LD_O=${_ld_o-$LD_O} | 
					
						
							| 
									
										
										
										
											2012-08-28 16:06:56 +01:00
										 |  |  | LD_LIB=${_ld_lib-$LD_LIB} | 
					
						
							|  |  |  | LD_PATH=${_ld_path-$LD_PATH} | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-28 13:02:35 +01:00
										 |  |  | probe_cc hostld "$host_ld" | 
					
						
							|  |  |  | host_ldflags_filter=$_flags_filter | 
					
						
							|  |  |  | add_host_ldflags $_flags $_ldflags | 
					
						
							|  |  |  | HOSTLD_O=${_ld_o-$HOSTLD_O} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | if [ -z "$CC_DEPFLAGS" ] && [ "$dep_cc" != "$cc" ]; then | 
					
						
							|  |  |  |     probe_cc depcc "$dep_cc" | 
					
						
							|  |  |  |     CCDEP=${_DEPCMD:-$DEPCMD} | 
					
						
							|  |  |  |     CCDEP_FLAGS=${_DEPFLAGS:=$DEPFLAGS} | 
					
						
							|  |  |  |     DEPCCFLAGS=$_flags | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2009-08-08 18:27:27 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-17 23:56:32 +01:00
										 |  |  | if $ar 2>&1 | grep -q Microsoft; then | 
					
						
							|  |  |  |     arflags="-nologo" | 
					
						
							|  |  |  |     ar_o='-out:$@' | 
					
						
							|  |  |  | elif $ar 2>&1 | grep -q 'Texas Instruments'; then | 
					
						
							|  |  |  |     arflags="rq" | 
					
						
							|  |  |  |     ar_o='$@' | 
					
						
							| 
									
										
										
										
											2013-07-29 18:23:08 +02:00
										 |  |  | elif $ar 2>&1 | grep -q 'Usage: ar.*-X.*any'; then | 
					
						
							|  |  |  |     arflags='-Xany -r -c' | 
					
						
							|  |  |  |     ar_o='$@' | 
					
						
							| 
									
										
										
										
											2012-09-17 23:56:32 +01:00
										 |  |  | else | 
					
						
							|  |  |  |     arflags="rc" | 
					
						
							|  |  |  |     ar_o='$@' | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:51 +00:00
										 |  |  | add_cflags $extra_cflags | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:53 +00:00
										 |  |  | add_asflags $extra_cflags | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:51 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-21 21:07:37 +00:00
										 |  |  | if test -n "$sysroot"; then | 
					
						
							|  |  |  |     case "$cc_type" in | 
					
						
							| 
									
										
										
										
											2011-02-27 23:34:38 +00:00
										 |  |  |         gcc|llvm_gcc|clang) | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:35 +00:00
										 |  |  |             add_cppflags --sysroot="$sysroot" | 
					
						
							| 
									
										
										
										
											2009-02-21 21:07:37 +00:00
										 |  |  |             add_ldflags --sysroot="$sysroot" | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2009-07-19 10:52:35 +00:00
										 |  |  |         tms470) | 
					
						
							|  |  |  |             add_cppflags -I"$sysinclude" | 
					
						
							|  |  |  |             add_ldflags  --sysroot="$sysroot" | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2009-02-21 21:07:37 +00:00
										 |  |  |     esac | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-06 15:45:19 +00:00
										 |  |  | if test "$cpu" = host; then | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |     enabled cross_compile && | 
					
						
							|  |  |  |         die "--cpu=host makes no sense when cross-compiling." | 
					
						
							| 
									
										
										
										
											2009-08-06 15:45:19 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     case "$cc_type" in | 
					
						
							| 
									
										
										
										
											2010-09-02 21:41:07 +00:00
										 |  |  |         gcc|llvm_gcc) | 
					
						
							| 
									
										
										
										
											2009-08-06 15:45:19 +00:00
										 |  |  |             check_native(){ | 
					
						
							|  |  |  |                 $cc $1=native -v -c -o $TMPO $TMPC >$TMPE 2>&1 || return | 
					
						
							| 
									
										
										
										
											2011-07-10 16:17:55 +01:00
										 |  |  |                 sed -n "/cc1.*$1=/{ | 
					
						
							| 
									
										
										
										
											2010-01-22 03:14:19 +00:00
										 |  |  |                             s/.*$1=\\([^ ]*\\).*/\\1/ | 
					
						
							|  |  |  |                             p | 
					
						
							|  |  |  |                             q | 
					
						
							|  |  |  |                         }" $TMPE | 
					
						
							| 
									
										
										
										
											2009-08-06 15:45:19 +00:00
										 |  |  |             } | 
					
						
							|  |  |  |             cpu=$(check_native -march || check_native -mcpu) | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |     test "${cpu:-host}" = host && | 
					
						
							|  |  |  |         die "--cpu=host not supported with compiler $cc" | 
					
						
							| 
									
										
										
										
											2009-08-06 15:45:19 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  | # Deal with common $arch aliases | 
					
						
							|  |  |  | case "$arch" in | 
					
						
							| 
									
										
										
										
											2012-11-16 21:02:53 +00:00
										 |  |  |     aarch64|arm64) | 
					
						
							|  |  |  |         arch="aarch64" | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  |     arm*) | 
					
						
							|  |  |  |         arch="arm" | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-10-23 23:34:35 +01:00
										 |  |  |     mips*|IP*) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  |         arch="mips" | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-10-24 00:21:15 +01:00
										 |  |  |     parisc*|hppa*) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  |         arch="parisc" | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-10-23 23:39:40 +01:00
										 |  |  |     "Power Macintosh"|ppc*|powerpc*) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  |         arch="ppc" | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  |     s390|s390x) | 
					
						
							|  |  |  |         arch="s390" | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  |     sh4|sh) | 
					
						
							|  |  |  |         arch="sh4" | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-10-24 18:34:21 +01:00
										 |  |  |     sun4u|sparc*) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  |         arch="sparc" | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-10-16 18:21:06 +00:00
										 |  |  |     tilegx|tile-gx) | 
					
						
							|  |  |  |         arch="tilegx" | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2011-01-30 01:05:39 +00:00
										 |  |  |     i[3-6]86|i86pc|BePC|x86pc|x86_64|amd64) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  |         arch="x86" | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-24 20:49:39 +00:00
										 |  |  | is_in $arch $ARCH_LIST || warn "unknown architecture $arch" | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:05 +00:00
										 |  |  | enable $arch | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-17 08:21:41 +00:00
										 |  |  | # Add processor-specific flags | 
					
						
							| 
									
										
										
										
											2012-12-03 19:21:42 +00:00
										 |  |  | if enabled aarch64; then | 
					
						
							| 
									
										
										
										
											2012-11-18 15:22:04 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     case $cpu in | 
					
						
							|  |  |  |         armv*) | 
					
						
							|  |  |  |             cpuflags="-march=$cpu" | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         *) | 
					
						
							|  |  |  |             cpuflags="-mcpu=$cpu" | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | elif enabled alpha; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     cpuflags="-mcpu=$cpu" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | elif enabled arm; then | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-30 21:14:25 +00:00
										 |  |  |     check_arm_arch() { | 
					
						
							|  |  |  |         check_cpp_condition stddef.h \ | 
					
						
							|  |  |  |             "defined __ARM_ARCH_${1}__ || defined __TARGET_ARCH_${2:-$1}" \ | 
					
						
							|  |  |  |             $cpuflags | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     probe_arm_arch() { | 
					
						
							|  |  |  |         if   check_arm_arch 4;        then echo armv4; | 
					
						
							|  |  |  |         elif check_arm_arch 4T;       then echo armv4t; | 
					
						
							|  |  |  |         elif check_arm_arch 5;        then echo armv5; | 
					
						
							|  |  |  |         elif check_arm_arch 5E;       then echo armv5e; | 
					
						
							|  |  |  |         elif check_arm_arch 5T;       then echo armv5t; | 
					
						
							|  |  |  |         elif check_arm_arch 5TE;      then echo armv5te; | 
					
						
							|  |  |  |         elif check_arm_arch 5TEJ;     then echo armv5te; | 
					
						
							|  |  |  |         elif check_arm_arch 6;        then echo armv6; | 
					
						
							|  |  |  |         elif check_arm_arch 6J;       then echo armv6j; | 
					
						
							|  |  |  |         elif check_arm_arch 6K;       then echo armv6k; | 
					
						
							|  |  |  |         elif check_arm_arch 6Z;       then echo armv6z; | 
					
						
							|  |  |  |         elif check_arm_arch 6ZK;      then echo armv6zk; | 
					
						
							|  |  |  |         elif check_arm_arch 6T2;      then echo armv6t2; | 
					
						
							|  |  |  |         elif check_arm_arch 7;        then echo armv7; | 
					
						
							|  |  |  |         elif check_arm_arch 7A  7_A;  then echo armv7-a; | 
					
						
							|  |  |  |         elif check_arm_arch 7R  7_R;  then echo armv7-r; | 
					
						
							|  |  |  |         elif check_arm_arch 7M  7_M;  then echo armv7-m; | 
					
						
							|  |  |  |         elif check_arm_arch 7EM 7E_M; then echo armv7-m; | 
					
						
							|  |  |  |         elif check_arm_arch 8A  8_A;  then echo armv8-a; | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [ "$cpu" = generic ] && cpu=$(probe_arm_arch) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-18 15:22:04 +00:00
										 |  |  |     case $cpu in | 
					
						
							|  |  |  |         armv*) | 
					
						
							|  |  |  |             cpuflags="-march=$cpu" | 
					
						
							|  |  |  |             subarch=$(echo $cpu | sed 's/[^a-z0-9]//g') | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         *) | 
					
						
							|  |  |  |             cpuflags="-mcpu=$cpu" | 
					
						
							|  |  |  |             case $cpu in | 
					
						
							|  |  |  |                 cortex-a*)                               subarch=armv7a  ;; | 
					
						
							|  |  |  |                 cortex-r*)                               subarch=armv7r  ;; | 
					
						
							|  |  |  |                 cortex-m*)                 enable thumb; subarch=armv7m  ;; | 
					
						
							|  |  |  |                 arm11*)                                  subarch=armv6   ;; | 
					
						
							|  |  |  |                 arm[79]*e*|arm9[24]6*|arm96*|arm102[26]) subarch=armv5te ;; | 
					
						
							|  |  |  |                 armv4*|arm7*|arm9[24]*)                  subarch=armv4   ;; | 
					
						
							| 
									
										
										
										
											2012-11-30 21:14:25 +00:00
										 |  |  |                 *)                             subarch=$(probe_arm_arch) ;; | 
					
						
							| 
									
										
										
										
											2012-11-18 15:22:04 +00:00
										 |  |  |             esac | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-03 21:47:17 +00:00
										 |  |  |     case "$subarch" in | 
					
						
							|  |  |  |         armv5t*)    enable fast_clz                ;; | 
					
						
							|  |  |  |         armv[6-8]*) enable fast_clz fast_unaligned ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-18 15:22:04 +00:00
										 |  |  | elif enabled avr32; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     case $cpu in | 
					
						
							|  |  |  |         ap7[02]0[0-2]) | 
					
						
							|  |  |  |             subarch="avr32_ap" | 
					
						
							|  |  |  |             cpuflags="-mpart=$cpu" | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         ap) | 
					
						
							|  |  |  |             subarch="avr32_ap" | 
					
						
							|  |  |  |             cpuflags="-march=$cpu" | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         uc3[ab]*) | 
					
						
							|  |  |  |             subarch="avr32_uc" | 
					
						
							|  |  |  |             cpuflags="-mcpu=$cpu" | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         uc) | 
					
						
							|  |  |  |             subarch="avr32_uc" | 
					
						
							|  |  |  |             cpuflags="-march=$cpu" | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | elif enabled bfin; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     cpuflags="-mcpu=$cpu" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | elif enabled mips; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     cpuflags="-march=$cpu" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:32:57 +00:00
										 |  |  | elif enabled ppc; then | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-14 17:20:59 +01:00
										 |  |  |     disable ldbrx | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:05 +00:00
										 |  |  |     case $(tolower $cpu) in | 
					
						
							|  |  |  |         601|ppc601|powerpc601) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |             cpuflags="-mcpu=601" | 
					
						
							| 
									
										
										
										
											2010-01-30 18:50:28 +00:00
										 |  |  |             disable altivec | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:05 +00:00
										 |  |  |         603*|ppc603*|powerpc603*) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |             cpuflags="-mcpu=603" | 
					
						
							| 
									
										
										
										
											2010-01-30 18:50:28 +00:00
										 |  |  |             disable altivec | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:05 +00:00
										 |  |  |         604*|ppc604*|powerpc604*) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |             cpuflags="-mcpu=604" | 
					
						
							| 
									
										
										
										
											2010-01-30 18:50:28 +00:00
										 |  |  |             disable altivec | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:05 +00:00
										 |  |  |         g3|75*|ppc75*|powerpc75*) | 
					
						
							| 
									
										
										
										
											2012-11-14 00:07:13 +00:00
										 |  |  |             cpuflags="-mcpu=750" | 
					
						
							| 
									
										
										
										
											2010-01-30 18:50:28 +00:00
										 |  |  |             disable altivec | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:05 +00:00
										 |  |  |         g4|745*|ppc745*|powerpc745*) | 
					
						
							| 
									
										
										
										
											2012-11-14 00:07:13 +00:00
										 |  |  |             cpuflags="-mcpu=7450" | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:05 +00:00
										 |  |  |         74*|ppc74*|powerpc74*) | 
					
						
							| 
									
										
										
										
											2012-11-14 00:07:13 +00:00
										 |  |  |             cpuflags="-mcpu=7400" | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-04-27 14:47:58 +01:00
										 |  |  |         g5|970|ppc970|powerpc970) | 
					
						
							| 
									
										
										
										
											2012-11-14 00:07:13 +00:00
										 |  |  |             cpuflags="-mcpu=970" | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-04-27 14:47:58 +01:00
										 |  |  |         power[3-7]*) | 
					
						
							| 
									
										
										
										
											2012-11-14 00:07:13 +00:00
										 |  |  |             cpuflags="-mcpu=$cpu" | 
					
						
							| 
									
										
										
										
											2012-04-27 14:47:58 +01:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:05 +00:00
										 |  |  |         cell) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |             cpuflags="-mcpu=cell" | 
					
						
							|  |  |  |             enable ldbrx | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-08-07 12:49:01 -04:00
										 |  |  |         e500mc) | 
					
						
							|  |  |  |             cpuflags="-mcpu=e500mc" | 
					
						
							|  |  |  |             disable altivec | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:07 +00:00
										 |  |  |         e500v2) | 
					
						
							|  |  |  |             cpuflags="-mcpu=8548 -mhard-float -mfloat-gprs=double" | 
					
						
							|  |  |  |             disable altivec | 
					
						
							| 
									
										
										
										
											2014-02-06 12:51:39 +00:00
										 |  |  |             disable dcbzl | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:07 +00:00
										 |  |  |         ;; | 
					
						
							|  |  |  |         e500) | 
					
						
							|  |  |  |             cpuflags="-mcpu=8540 -mhard-float" | 
					
						
							|  |  |  |             disable altivec | 
					
						
							| 
									
										
										
										
											2014-02-06 12:51:39 +00:00
										 |  |  |             disable dcbzl | 
					
						
							| 
									
										
										
										
											2010-01-30 18:07:07 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |     esac | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:05 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-18 15:22:04 +00:00
										 |  |  | elif enabled sparc; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     case $cpu in | 
					
						
							|  |  |  |         cypress|f93[04]|tsc701|sparcl*|supersparc|hypersparc|niagara|v[789]) | 
					
						
							|  |  |  |             cpuflags="-mcpu=$cpu" | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         ultrasparc*|niagara[234]) | 
					
						
							|  |  |  |             cpuflags="-mcpu=$cpu" | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:05 +00:00
										 |  |  | elif enabled x86; then | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |     case $cpu in | 
					
						
							|  |  |  |         i[345]86|pentium) | 
					
						
							|  |  |  |             cpuflags="-march=$cpu" | 
					
						
							| 
									
										
										
										
											2014-09-15 05:11:21 -07:00
										 |  |  |             disable i686 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |             disable mmx | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2013-04-26 16:49:02 +02:00
										 |  |  |         # targets that do NOT support nopl and conditional mov (cmov) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |         pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3) | 
					
						
							|  |  |  |             cpuflags="-march=$cpu" | 
					
						
							| 
									
										
										
										
											2013-04-26 16:49:02 +02:00
										 |  |  |             disable i686 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2013-04-26 16:49:02 +02:00
										 |  |  |         # targets that do support nopl and conditional mov (cmov) | 
					
						
							| 
									
										
										
										
											2012-11-25 01:32:57 -05:00
										 |  |  |         i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*) | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |             cpuflags="-march=$cpu" | 
					
						
							| 
									
										
										
										
											2013-04-26 16:49:02 +02:00
										 |  |  |             enable i686 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |             enable fast_cmov | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |         # targets that do support conditional mov but on which it's slow | 
					
						
							|  |  |  |         pentium4|pentium4m|prescott|nocona) | 
					
						
							|  |  |  |             cpuflags="-march=$cpu" | 
					
						
							| 
									
										
										
										
											2013-04-26 16:49:02 +02:00
										 |  |  |             enable i686 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:08 +00:00
										 |  |  |             disable fast_cmov | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     esac | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:05 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-03 19:21:42 +00:00
										 |  |  | if [ "$cpu" != generic ]; then | 
					
						
							|  |  |  |     add_cflags  $cpuflags | 
					
						
							|  |  |  |     add_asflags $cpuflags | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2009-07-17 08:21:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-04 21:28:54 +00:00
										 |  |  | # compiler sanity check | 
					
						
							|  |  |  | check_exec <<EOF | 
					
						
							|  |  |  | int main(void){ return 0; } | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | if test "$?" != 0; then | 
					
						
							|  |  |  |     echo "$cc is unable to create an executable file." | 
					
						
							|  |  |  |     if test -z "$cross_prefix" && ! enabled cross_compile ; then | 
					
						
							|  |  |  |         echo "If $cc is a cross-compiler, use the --enable-cross-compile option." | 
					
						
							|  |  |  |         echo "Only do this if you know what cross compiling means." | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     die "C compiler test failed." | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-11 17:52:51 +02:00
										 |  |  | add_cppflags -D_ISOC99_SOURCE | 
					
						
							| 
									
										
										
										
											2008-08-14 23:38:09 +00:00
										 |  |  | check_cflags -std=c99 | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:32 +00:00
										 |  |  | check_cc -D_FILE_OFFSET_BITS=64 <<EOF && add_cppflags -D_FILE_OFFSET_BITS=64 | 
					
						
							| 
									
										
										
										
											2009-03-03 12:52:12 +00:00
										 |  |  | #include <stdlib.h> | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2009-07-12 13:29:32 +00:00
										 |  |  | check_cc -D_LARGEFILE_SOURCE <<EOF && add_cppflags -D_LARGEFILE_SOURCE | 
					
						
							| 
									
										
										
										
											2009-03-03 12:52:12 +00:00
										 |  |  | #include <stdlib.h> | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2008-08-14 23:38:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-21 19:54:14 +01:00
										 |  |  | add_host_cppflags -D_ISOC99_SOURCE | 
					
						
							| 
									
										
										
										
											2009-10-28 20:19:15 +00:00
										 |  |  | check_host_cflags -std=c99 | 
					
						
							| 
									
										
										
										
											2011-05-16 16:16:14 +02:00
										 |  |  | check_host_cflags -Wall | 
					
						
							| 
									
										
										
										
											2014-01-21 19:54:14 +01:00
										 |  |  | check_host_cflags -O3 | 
					
						
							| 
									
										
										
										
											2009-10-28 20:19:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-23 23:33:44 +01:00
										 |  |  | check_64bit(){ | 
					
						
							|  |  |  |     arch32=$1 | 
					
						
							|  |  |  |     arch64=$2 | 
					
						
							|  |  |  |     expr=$3 | 
					
						
							|  |  |  |     check_code cc "" "int test[2*($expr) - 1]" && | 
					
						
							|  |  |  |         subarch=$arch64 || subarch=$arch32 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-13 16:32:51 +00:00
										 |  |  | case "$arch" in | 
					
						
							| 
									
										
										
										
											2013-01-10 12:22:53 +00:00
										 |  |  |     aarch64|alpha|ia64) | 
					
						
							| 
									
										
										
										
											2012-10-23 23:34:35 +01:00
										 |  |  |         spic=$shared | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  |     mips) | 
					
						
							|  |  |  |         check_64bit mips mips64 '_MIPS_SIM > 1' | 
					
						
							| 
									
										
										
										
											2009-08-20 01:06:18 +00:00
										 |  |  |         spic=$shared | 
					
						
							| 
									
										
										
										
											2008-05-13 16:32:51 +00:00
										 |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-10-24 00:21:15 +01:00
										 |  |  |     parisc) | 
					
						
							|  |  |  |         check_64bit parisc parisc64 'sizeof(void *) > 4' | 
					
						
							|  |  |  |         spic=$shared | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-10-23 23:39:40 +01:00
										 |  |  |     ppc) | 
					
						
							|  |  |  |         check_64bit ppc ppc64 'sizeof(void *) > 4' | 
					
						
							| 
									
										
										
										
											2012-12-03 22:53:30 +01:00
										 |  |  |         spic=$shared | 
					
						
							| 
									
										
										
										
											2012-10-23 23:39:40 +01:00
										 |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2014-03-02 02:11:05 -05:00
										 |  |  |     s390) | 
					
						
							|  |  |  |         check_64bit s390 s390x 'sizeof(void *) > 4' | 
					
						
							|  |  |  |         spic=$shared | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-10-24 18:34:21 +01:00
										 |  |  |     sparc) | 
					
						
							|  |  |  |         check_64bit sparc sparc64 'sizeof(void *) > 4' | 
					
						
							|  |  |  |         spic=$shared | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  |     x86) | 
					
						
							| 
									
										
										
										
											2012-10-23 23:33:44 +01:00
										 |  |  |         check_64bit x86_32 x86_64 'sizeof(void *) > 4' | 
					
						
							| 
									
										
										
										
											2009-10-01 21:38:25 +00:00
										 |  |  |         if test "$subarch" = "x86_64"; then | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  |             spic=$shared | 
					
						
							| 
									
										
										
										
											2009-10-01 21:38:25 +00:00
										 |  |  |         fi | 
					
						
							| 
									
										
										
										
											2008-05-13 16:32:51 +00:00
										 |  |  |     ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:05 +00:00
										 |  |  | enable $subarch | 
					
						
							| 
									
										
										
										
											2013-05-09 15:39:25 +03:00
										 |  |  | enabled spic && enable_weak pic | 
					
						
							| 
									
										
										
										
											2008-05-13 16:32:51 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  | # OS specific | 
					
						
							| 
									
										
										
										
											2008-03-25 15:17:47 +00:00
										 |  |  | case $target_os in | 
					
						
							| 
									
										
										
										
											2013-07-04 21:53:08 +02:00
										 |  |  |     aix) | 
					
						
							| 
									
										
										
										
											2013-07-25 11:37:20 -04:00
										 |  |  |         SHFLAGS=-shared | 
					
						
							| 
									
										
										
										
											2013-07-04 21:53:08 +02:00
										 |  |  |         add_cppflags '-I\$(SRC_PATH)/compat/aix' | 
					
						
							| 
									
										
										
										
											2013-07-25 11:37:20 -04:00
										 |  |  |         enabled shared && add_ldflags -Wl,-brtl | 
					
						
							| 
									
										
										
										
											2013-07-04 21:53:08 +02:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2014-06-13 15:14:10 +02:00
										 |  |  |     android) | 
					
						
							|  |  |  |         disable symver | 
					
						
							| 
									
										
										
										
											2014-11-16 12:51:54 +02:00
										 |  |  |         enable section_data_rel_ro | 
					
						
							| 
									
										
										
										
											2014-06-13 15:14:10 +02:00
										 |  |  |         SLIB_INSTALL_NAME='$(SLIBNAME)' | 
					
						
							|  |  |  |         SLIB_INSTALL_LINKS= | 
					
						
							|  |  |  |         # soname not set on purpose | 
					
						
							|  |  |  |         SHFLAGS=-shared | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-06-10 16:51:14 +00:00
										 |  |  |     haiku) | 
					
						
							| 
									
										
										
										
											2010-06-10 16:58:04 +00:00
										 |  |  |         prefix_default="/boot/common" | 
					
						
							| 
									
										
										
										
											2010-06-10 17:20:05 +00:00
										 |  |  |         network_extralibs="-lnetwork" | 
					
						
							| 
									
										
										
										
											2011-02-08 21:09:44 +00:00
										 |  |  |         host_libs= | 
					
						
							| 
									
										
										
										
											2010-06-10 16:51:14 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |     sunos) | 
					
						
							| 
									
										
										
										
											2008-04-10 19:44:29 +00:00
										 |  |  |         SHFLAGS='-shared -Wl,-h,$$(@F)' | 
					
						
							| 
									
										
										
										
											2009-10-26 10:18:35 +00:00
										 |  |  |         enabled x86 && SHFLAGS="-mimpure-text $SHFLAGS" | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         network_extralibs="-lsocket -lnsl" | 
					
						
							| 
									
										
										
										
											2011-09-17 00:36:37 -04:00
										 |  |  |         # When using suncc to build, the Solaris linker will mark | 
					
						
							|  |  |  |         # an executable with each instruction set encountered by | 
					
						
							|  |  |  |         # the Solaris assembler.  As our libraries contain their own | 
					
						
							|  |  |  |         # guards for processor-specific code, instead suppress | 
					
						
							|  |  |  |         # generation of the HWCAPS ELF section on Solaris x86 only. | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |         enabled_all suncc x86 && | 
					
						
							|  |  |  |             echo "hwcap_1 = OVERRIDE;" > mapfile && | 
					
						
							|  |  |  |             add_ldflags -Wl,-M,mapfile | 
					
						
							| 
									
										
										
										
											2012-09-16 21:47:16 +01:00
										 |  |  |         nm_default='nm -P -g' | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							|  |  |  |     netbsd) | 
					
						
							| 
									
										
										
										
											2011-01-23 20:48:51 +00:00
										 |  |  |         disable symver | 
					
						
							| 
									
										
										
										
											2009-06-29 20:45:49 +00:00
										 |  |  |         oss_indev_extralibs="-lossaudio" | 
					
						
							|  |  |  |         oss_outdev_extralibs="-lossaudio" | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-08-27 14:57:52 -04:00
										 |  |  |     openbsd|bitrig) | 
					
						
							| 
									
										
										
										
											2011-01-23 20:48:51 +00:00
										 |  |  |         disable symver | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         SHFLAGS='-shared' | 
					
						
							| 
									
										
										
										
											2013-02-03 15:02:31 +01:00
										 |  |  |         SLIB_INSTALL_NAME='$(SLIBNAME).$(LIBMAJOR).$(LIBMINOR)' | 
					
						
							| 
									
										
										
										
											2012-08-26 16:23:06 -04:00
										 |  |  |         SLIB_INSTALL_LINKS= | 
					
						
							| 
									
										
										
										
											2009-06-29 20:45:49 +00:00
										 |  |  |         oss_indev_extralibs="-lossaudio" | 
					
						
							|  |  |  |         oss_outdev_extralibs="-lossaudio" | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2011-01-23 20:48:51 +00:00
										 |  |  |     dragonfly) | 
					
						
							|  |  |  |         disable symver | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     freebsd) | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							|  |  |  |     bsd/os) | 
					
						
							| 
									
										
										
										
											2010-07-05 17:31:18 +00:00
										 |  |  |         add_extralibs -lpoll -lgnugetopt | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							|  |  |  |     darwin) | 
					
						
							| 
									
										
										
										
											2010-07-01 23:21:33 +00:00
										 |  |  |         enabled ppc && add_asflags -force_cpusubtype_ALL | 
					
						
							| 
									
										
										
										
											2012-03-07 17:03:06 +01:00
										 |  |  |         SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)' | 
					
						
							| 
									
										
										
										
											2011-03-16 01:01:17 +00:00
										 |  |  |         enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress | 
					
						
							| 
									
										
										
										
											2010-07-05 17:31:18 +00:00
										 |  |  |         add_ldflags -Wl,-dynamic,-search_paths_first | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         SLIBSUF=".dylib" | 
					
						
							|  |  |  |         SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME).$(LIBVERSION)$(SLIBSUF)' | 
					
						
							|  |  |  |         SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME).$(LIBMAJOR)$(SLIBSUF)' | 
					
						
							| 
									
										
										
										
											2008-08-11 23:53:31 +00:00
										 |  |  |         objformat="macho" | 
					
						
							| 
									
										
										
										
											2008-08-16 17:18:23 +00:00
										 |  |  |         enabled x86_64 && objformat="macho64" | 
					
						
							| 
									
										
										
										
											2009-10-02 08:41:54 +00:00
										 |  |  |         enabled_any pic shared || | 
					
						
							| 
									
										
										
										
											2009-08-10 08:18:05 +00:00
										 |  |  |             { check_cflags -mdynamic-no-pic && add_asflags -mdynamic-no-pic; } | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							|  |  |  |     mingw32*) | 
					
						
							| 
									
										
										
										
											2009-07-28 08:50:58 +00:00
										 |  |  |         if test $target_os = "mingw32ce"; then | 
					
						
							| 
									
										
										
										
											2009-07-27 16:14:57 +00:00
										 |  |  |             disable network | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |             target_os=mingw32 | 
					
						
							|  |  |  |         fi | 
					
						
							| 
									
										
										
										
											2008-05-13 16:37:32 +00:00
										 |  |  |         LIBTARGET=i386 | 
					
						
							| 
									
										
										
										
											2009-01-11 22:32:45 +00:00
										 |  |  |         if enabled x86_64; then | 
					
						
							| 
									
										
										
										
											2011-03-21 20:22:51 +01:00
										 |  |  |             LIBTARGET="i386:x86-64" | 
					
						
							| 
									
										
										
										
											2009-07-13 19:08:27 +00:00
										 |  |  |         elif enabled arm; then | 
					
						
							| 
									
										
										
										
											2011-03-22 15:07:15 +02:00
										 |  |  |             LIBTARGET=arm-wince | 
					
						
							| 
									
										
										
										
											2008-05-13 16:37:32 +00:00
										 |  |  |         fi | 
					
						
							| 
									
										
										
										
											2013-05-14 10:05:52 -04:00
										 |  |  |         check_ldflags -Wl,--nxcompat | 
					
						
							|  |  |  |         check_ldflags -Wl,--dynamicbase | 
					
						
							| 
									
										
										
										
											2008-06-08 21:34:19 +00:00
										 |  |  |         shlibdir_default="$bindir_default" | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         SLIBPREF="" | 
					
						
							|  |  |  |         SLIBSUF=".dll" | 
					
						
							|  |  |  |         SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' | 
					
						
							|  |  |  |         SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)' | 
					
						
							| 
									
										
										
										
											2012-11-17 16:34:54 +02:00
										 |  |  |         SLIB_EXTRA_CMD=-'sed -e "s/ @[^ ]*//" $$(@:$(SLIBSUF)=.orig.def) > $$(@:$(SLIBSUF)=.def); $(DLLTOOL) -m $(LIBTARGET) -d $$(@:$(SLIBSUF)=.def) -l $(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib) -D $(SLIBNAME_WITH_MAJOR)' | 
					
						
							| 
									
										
										
										
											2011-07-07 15:25:30 +01:00
										 |  |  |         SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' | 
					
						
							|  |  |  |         SLIB_INSTALL_LINKS= | 
					
						
							|  |  |  |         SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)' | 
					
						
							|  |  |  |         SLIB_INSTALL_EXTRA_LIB='lib$(SLIBNAME:$(SLIBSUF)=.dll.a) $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)' | 
					
						
							| 
									
										
										
										
											2012-11-17 16:34:54 +02:00
										 |  |  |         SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.orig.def) -Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base' | 
					
						
							| 
									
										
										
										
											2008-08-11 23:53:31 +00:00
										 |  |  |         objformat="win32" | 
					
						
							| 
									
										
										
										
											2011-03-17 02:54:12 +01:00
										 |  |  |         dlltool="${cross_prefix}dlltool" | 
					
						
							| 
									
										
										
										
											2012-09-04 15:20:45 +01:00
										 |  |  |         ranlib=: | 
					
						
							| 
									
										
										
										
											2008-10-10 16:59:37 +00:00
										 |  |  |         enable dos_paths | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-10-13 15:57:56 +03:00
										 |  |  |     win32|win64) | 
					
						
							| 
									
										
										
										
											2013-11-19 17:53:00 +00:00
										 |  |  |         disable symver | 
					
						
							| 
									
										
											  
											
												Add support for building shared libraries with MSVC
This requires the makedef perl script by Derek, from the
c89-to-c99 repo. That scripts produces a .def file, listing
the symbols to be exported, based on the gcc version scripts
and the built object files.
To properly load non-function symbols from DLL files, the
data symbol declarations need to have the attribute
__declspec(dllimport) when building the calling code. (On mingw,
the linker can fix this up automatically, which is why it has not
been an issue so far. If this attribute is omitted, linking
actually succeeds, but reads from the table will not produce the
desired results at runtime.)
MSVC seems to manage to link DLLs (and run properly) even if
this attribute is present while building the library itself
(which normally isn't recommended) - other object files in the
same library manage to link to the symbol (with a small warning
at link time, like "warning LNK4049: locally defined symbol
_avpriv_mpa_bitrate_tab imported" - it doesn't seem to be possible
to squelch this warning), and the definition of the tables
themselves produce a warning that can be squelched ("warning C4273:
'avpriv_mpa_bitrate_tab' : inconsistent dll linkage, see previous
definition of 'avpriv_mpa_bitrate_tab').
In this setup, mingw isn't able to link object files that refer to
data symbols with __declspec(dllimport) without those symbols
actually being linked via a DLL (linking avcodec.dll ends up with
errors like "undefined reference to `__imp__avpriv_mpa_freq_tab'").
The dllimport declspec isn't needed at all in mingw, so we simply
choose not to declare it for other compilers than MSVC that requires
it. (If ICL support later requires it, the condition can be extended
later to include both of them.)
This also implies that code that is built to link to a certain
library as a DLL can't link to the same library as a static library.
Therefore, we only allow building either static or shared but not
both at the same time. (That is, static libraries as such can be,
and actually are, built - this is used for linking the test tools to
internal symbols in the libraries - but e.g. libavformat built to
link to libavcodec as a DLL cannot link statically to libavcodec.)
Also, linking to DLLs is slightly different from linking to shared
libraries on other platforms. DLLs use a thing called import
libraries, which is basically a stub library allowing the linker
to know which symbols exist in the DLL and what name the DLL will
have at runtime.
In mingw/gcc, the import library is usually named libfoo.dll.a,
which goes next to a static library named libfoo.a. This allows
gcc to pick the dynamic one, if available, from the normal -lfoo
switches, just as it does for libfoo.a vs libfoo.so on Unix. On
MSVC however, you need to literally specify the name of the import
library instead of the static library.
Signed-off-by: Martin Storsjö <martin@martin.st>
											
										 
											2012-10-18 11:53:19 +03:00
										 |  |  |         if enabled shared; then | 
					
						
							|  |  |  |             # Link to the import library instead of the normal static library | 
					
						
							|  |  |  |             # for shared libs. | 
					
						
							|  |  |  |             LD_LIB='%.lib' | 
					
						
							| 
									
										
										
										
											2013-09-10 12:28:19 +02:00
										 |  |  |             # Cannot build both shared and static libs with MSVC or icl. | 
					
						
							| 
									
										
											  
											
												Add support for building shared libraries with MSVC
This requires the makedef perl script by Derek, from the
c89-to-c99 repo. That scripts produces a .def file, listing
the symbols to be exported, based on the gcc version scripts
and the built object files.
To properly load non-function symbols from DLL files, the
data symbol declarations need to have the attribute
__declspec(dllimport) when building the calling code. (On mingw,
the linker can fix this up automatically, which is why it has not
been an issue so far. If this attribute is omitted, linking
actually succeeds, but reads from the table will not produce the
desired results at runtime.)
MSVC seems to manage to link DLLs (and run properly) even if
this attribute is present while building the library itself
(which normally isn't recommended) - other object files in the
same library manage to link to the symbol (with a small warning
at link time, like "warning LNK4049: locally defined symbol
_avpriv_mpa_bitrate_tab imported" - it doesn't seem to be possible
to squelch this warning), and the definition of the tables
themselves produce a warning that can be squelched ("warning C4273:
'avpriv_mpa_bitrate_tab' : inconsistent dll linkage, see previous
definition of 'avpriv_mpa_bitrate_tab').
In this setup, mingw isn't able to link object files that refer to
data symbols with __declspec(dllimport) without those symbols
actually being linked via a DLL (linking avcodec.dll ends up with
errors like "undefined reference to `__imp__avpriv_mpa_freq_tab'").
The dllimport declspec isn't needed at all in mingw, so we simply
choose not to declare it for other compilers than MSVC that requires
it. (If ICL support later requires it, the condition can be extended
later to include both of them.)
This also implies that code that is built to link to a certain
library as a DLL can't link to the same library as a static library.
Therefore, we only allow building either static or shared but not
both at the same time. (That is, static libraries as such can be,
and actually are, built - this is used for linking the test tools to
internal symbols in the libraries - but e.g. libavformat built to
link to libavcodec as a DLL cannot link statically to libavcodec.)
Also, linking to DLLs is slightly different from linking to shared
libraries on other platforms. DLLs use a thing called import
libraries, which is basically a stub library allowing the linker
to know which symbols exist in the DLL and what name the DLL will
have at runtime.
In mingw/gcc, the import library is usually named libfoo.dll.a,
which goes next to a static library named libfoo.a. This allows
gcc to pick the dynamic one, if available, from the normal -lfoo
switches, just as it does for libfoo.a vs libfoo.so on Unix. On
MSVC however, you need to literally specify the name of the import
library instead of the static library.
Signed-off-by: Martin Storsjö <martin@martin.st>
											
										 
											2012-10-18 11:53:19 +03:00
										 |  |  |             disable static | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         shlibdir_default="$bindir_default" | 
					
						
							|  |  |  |         SLIBPREF="" | 
					
						
							|  |  |  |         SLIBSUF=".dll" | 
					
						
							|  |  |  |         SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' | 
					
						
							|  |  |  |         SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)' | 
					
						
							| 
									
										
										
										
											2013-11-21 10:36:06 +00:00
										 |  |  |         SLIB_CREATE_DEF_CMD='$(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)' | 
					
						
							| 
									
										
											  
											
												Add support for building shared libraries with MSVC
This requires the makedef perl script by Derek, from the
c89-to-c99 repo. That scripts produces a .def file, listing
the symbols to be exported, based on the gcc version scripts
and the built object files.
To properly load non-function symbols from DLL files, the
data symbol declarations need to have the attribute
__declspec(dllimport) when building the calling code. (On mingw,
the linker can fix this up automatically, which is why it has not
been an issue so far. If this attribute is omitted, linking
actually succeeds, but reads from the table will not produce the
desired results at runtime.)
MSVC seems to manage to link DLLs (and run properly) even if
this attribute is present while building the library itself
(which normally isn't recommended) - other object files in the
same library manage to link to the symbol (with a small warning
at link time, like "warning LNK4049: locally defined symbol
_avpriv_mpa_bitrate_tab imported" - it doesn't seem to be possible
to squelch this warning), and the definition of the tables
themselves produce a warning that can be squelched ("warning C4273:
'avpriv_mpa_bitrate_tab' : inconsistent dll linkage, see previous
definition of 'avpriv_mpa_bitrate_tab').
In this setup, mingw isn't able to link object files that refer to
data symbols with __declspec(dllimport) without those symbols
actually being linked via a DLL (linking avcodec.dll ends up with
errors like "undefined reference to `__imp__avpriv_mpa_freq_tab'").
The dllimport declspec isn't needed at all in mingw, so we simply
choose not to declare it for other compilers than MSVC that requires
it. (If ICL support later requires it, the condition can be extended
later to include both of them.)
This also implies that code that is built to link to a certain
library as a DLL can't link to the same library as a static library.
Therefore, we only allow building either static or shared but not
both at the same time. (That is, static libraries as such can be,
and actually are, built - this is used for linking the test tools to
internal symbols in the libraries - but e.g. libavformat built to
link to libavcodec as a DLL cannot link statically to libavcodec.)
Also, linking to DLLs is slightly different from linking to shared
libraries on other platforms. DLLs use a thing called import
libraries, which is basically a stub library allowing the linker
to know which symbols exist in the DLL and what name the DLL will
have at runtime.
In mingw/gcc, the import library is usually named libfoo.dll.a,
which goes next to a static library named libfoo.a. This allows
gcc to pick the dynamic one, if available, from the normal -lfoo
switches, just as it does for libfoo.a vs libfoo.so on Unix. On
MSVC however, you need to literally specify the name of the import
library instead of the static library.
Signed-off-by: Martin Storsjö <martin@martin.st>
											
										 
											2012-10-18 11:53:19 +03:00
										 |  |  |         SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' | 
					
						
							|  |  |  |         SLIB_INSTALL_LINKS= | 
					
						
							|  |  |  |         SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)' | 
					
						
							|  |  |  |         SLIB_INSTALL_EXTRA_LIB='$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)' | 
					
						
							|  |  |  |         SHFLAGS='-dll -def:$$(@:$(SLIBSUF)=.def) -implib:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)' | 
					
						
							| 
									
										
										
										
											2012-10-13 15:57:56 +03:00
										 |  |  |         objformat="win32" | 
					
						
							|  |  |  |         ranlib=: | 
					
						
							|  |  |  |         enable dos_paths | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |     cygwin*) | 
					
						
							| 
									
										
										
										
											2008-03-25 15:17:47 +00:00
										 |  |  |         target_os=cygwin | 
					
						
							| 
									
										
										
										
											2008-06-08 21:34:19 +00:00
										 |  |  |         shlibdir_default="$bindir_default" | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         SLIBPREF="cyg" | 
					
						
							|  |  |  |         SLIBSUF=".dll" | 
					
						
							|  |  |  |         SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' | 
					
						
							|  |  |  |         SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)' | 
					
						
							| 
									
										
										
										
											2012-08-07 00:32:48 +01:00
										 |  |  |         SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' | 
					
						
							|  |  |  |         SLIB_INSTALL_LINKS= | 
					
						
							|  |  |  |         SLIB_INSTALL_EXTRA_LIB='lib$(FULLNAME).dll.a' | 
					
						
							|  |  |  |         SHFLAGS='-shared -Wl,--out-implib,$(SUBDIR)lib$(FULLNAME).dll.a' | 
					
						
							| 
									
										
										
										
											2008-08-11 23:53:31 +00:00
										 |  |  |         objformat="win32" | 
					
						
							| 
									
										
										
										
											2008-10-10 16:59:37 +00:00
										 |  |  |         enable dos_paths | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2007-12-24 12:49:27 +00:00
										 |  |  |     *-dos|freedos|opendos) | 
					
						
							|  |  |  |         network_extralibs="-lsocket" | 
					
						
							| 
									
										
										
										
											2009-01-11 02:19:33 +00:00
										 |  |  |         objformat="coff" | 
					
						
							| 
									
										
										
										
											2008-10-10 16:59:37 +00:00
										 |  |  |         enable dos_paths | 
					
						
							| 
									
										
										
										
											2011-05-15 14:32:15 +02:00
										 |  |  |         add_cppflags -U__STRICT_ANSI__ | 
					
						
							| 
									
										
										
										
											2007-12-24 12:49:27 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |     linux) | 
					
						
							|  |  |  |         enable dv1394 | 
					
						
							| 
									
										
										
										
											2014-11-16 12:51:54 +02:00
										 |  |  |         enable section_data_rel_ro | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							|  |  |  |     irix*) | 
					
						
							| 
									
										
										
										
											2008-03-25 15:17:47 +00:00
										 |  |  |         target_os=irix | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ranlib="echo ignoring ranlib" | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2007-12-05 23:15:24 +00:00
										 |  |  |     os/2*) | 
					
						
							|  |  |  |         ln_s="cp -f" | 
					
						
							| 
									
										
										
										
											2011-05-20 17:26:52 +02:00
										 |  |  |         objformat="aout" | 
					
						
							| 
									
										
										
										
											2011-05-26 14:21:04 +02:00
										 |  |  |         add_cppflags -D_GNU_SOURCE | 
					
						
							| 
									
										
										
										
											2010-07-05 17:31:18 +00:00
										 |  |  |         add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap | 
					
						
							| 
									
										
										
										
											2008-04-07 21:16:31 +00:00
										 |  |  |         SHFLAGS='$(SUBDIR)$(NAME).def -Zdll -Zomf' | 
					
						
							| 
									
										
										
										
											2008-03-20 19:26:24 +00:00
										 |  |  |         LIBSUF="_s.a" | 
					
						
							| 
									
										
										
										
											2007-12-05 23:15:24 +00:00
										 |  |  |         SLIBPREF="" | 
					
						
							|  |  |  |         SLIBSUF=".dll" | 
					
						
							|  |  |  |         SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' | 
					
						
							|  |  |  |         SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(NAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' | 
					
						
							| 
									
										
										
										
											2008-04-07 21:16:31 +00:00
										 |  |  |         SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(NAME).def; \ | 
					
						
							| 
									
										
										
										
											2012-08-19 21:35:30 +02:00
										 |  |  |             echo PROTMODE >> $(SUBDIR)$(NAME).def; \ | 
					
						
							|  |  |  |             echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(NAME).def; \ | 
					
						
							|  |  |  |             echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(NAME).def; \ | 
					
						
							|  |  |  |             echo EXPORTS >> $(SUBDIR)$(NAME).def; \ | 
					
						
							|  |  |  |             emxexp -o $(OBJS) >> $(SUBDIR)$(NAME).def' | 
					
						
							| 
									
										
										
										
											2008-04-07 21:16:31 +00:00
										 |  |  |         SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \ | 
					
						
							| 
									
										
										
										
											2012-08-19 21:35:30 +02:00
										 |  |  |             emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;' | 
					
						
							| 
									
										
										
										
											2011-07-07 15:25:30 +01:00
										 |  |  |         SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib' | 
					
						
							| 
									
										
										
										
											2008-10-10 16:59:37 +00:00
										 |  |  |         enable dos_paths | 
					
						
							| 
									
										
										
										
											2007-12-05 23:15:24 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2009-05-14 11:45:41 +00:00
										 |  |  |     gnu/kfreebsd) | 
					
						
							| 
									
										
										
										
											2012-10-13 18:21:34 +01:00
										 |  |  |         add_cppflags -D_BSD_SOURCE | 
					
						
							| 
									
										
										
										
											2009-05-14 11:45:41 +00:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2009-05-25 05:39:58 +00:00
										 |  |  |     gnu) | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2011-01-30 01:05:39 +00:00
										 |  |  |     qnx) | 
					
						
							|  |  |  |         add_cppflags -D_QNX_SOURCE | 
					
						
							|  |  |  |         network_extralibs="-lsocket" | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2011-01-25 10:48:38 +02:00
										 |  |  |     symbian) | 
					
						
							|  |  |  |         SLIBSUF=".dll" | 
					
						
							|  |  |  |         enable dos_paths | 
					
						
							| 
									
										
										
										
											2011-07-15 10:53:12 +03:00
										 |  |  |         add_cflags --include=$sysinclude/gcce/gcce.h -fvisibility=default | 
					
						
							|  |  |  |         add_cppflags -D__GCCE__ -D__SYMBIAN32__ -DSYMBIAN_OE_POSIX_SIGNALS | 
					
						
							|  |  |  |         add_ldflags -Wl,--target1-abs,--no-undefined \ | 
					
						
							|  |  |  |                     -Wl,-Ttext,0x80000,-Tdata,0x1000000 -shared \ | 
					
						
							|  |  |  |                     -Wl,--entry=_E32Startup -Wl,-u,_E32Startup | 
					
						
							|  |  |  |         add_extralibs -l:eexe.lib -l:usrt2_2.lib -l:dfpaeabi.dso \ | 
					
						
							|  |  |  |                       -l:drtaeabi.dso -l:scppnwdl.dso -lsupc++ -lgcc \ | 
					
						
							|  |  |  |                       -l:libc.dso -l:libm.dso -l:euser.dso -l:libcrt0.lib | 
					
						
							| 
									
										
										
										
											2011-01-25 10:48:38 +02:00
										 |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-10-11 12:33:38 +01:00
										 |  |  |     osf1) | 
					
						
							|  |  |  |         add_cppflags -D_OSF_SOURCE -D_POSIX_PII -D_REENTRANT | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-10-12 21:42:27 +00:00
										 |  |  |     minix) | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2012-10-15 02:38:17 +01:00
										 |  |  |     plan9) | 
					
						
							|  |  |  |         add_cppflags -D_C99_SNPRINTF_EXTENSION  \ | 
					
						
							|  |  |  |                      -D_REENTRANT_SOURCE        \ | 
					
						
							|  |  |  |                      -D_RESEARCH_SOURCE         \ | 
					
						
							|  |  |  |                      -DFD_SETSIZE=96            \ | 
					
						
							|  |  |  |                      -DHAVE_SOCK_OPTS | 
					
						
							|  |  |  |         add_compat strtod.o strtod=avpriv_strtod | 
					
						
							|  |  |  |         network_extralibs='-lbsd' | 
					
						
							|  |  |  |         exeobjs=compat/plan9/main.o | 
					
						
							|  |  |  |         cp_f='cp' | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2010-02-09 22:55:08 +00:00
										 |  |  |     none) | 
					
						
							|  |  |  |         ;; | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |     *) | 
					
						
							| 
									
										
										
										
											2009-01-26 14:32:01 +00:00
										 |  |  |         die "Unknown OS '$target_os'." | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |         ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-04 13:57:37 +01:00
										 |  |  | # determine libc flavour | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  | probe_libc(){ | 
					
						
							|  |  |  |     pfx=$1 | 
					
						
							| 
									
										
										
										
											2013-12-13 23:19:55 +01:00
										 |  |  |     pfx_no_=${pfx%_} | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  |     # uclibc defines __GLIBC__, so it needs to be checked before glibc. | 
					
						
							|  |  |  |     if check_${pfx}cpp_condition features.h "defined __UCLIBC__"; then | 
					
						
							|  |  |  |         eval ${pfx}libc_type=uclibc | 
					
						
							|  |  |  |         add_${pfx}cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 | 
					
						
							|  |  |  |     elif check_${pfx}cpp_condition features.h "defined __GLIBC__"; then | 
					
						
							|  |  |  |         eval ${pfx}libc_type=glibc | 
					
						
							|  |  |  |         add_${pfx}cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 | 
					
						
							|  |  |  |     # MinGW headers can be installed on Cygwin, so check for newlib first. | 
					
						
							|  |  |  |     elif check_${pfx}cpp_condition newlib.h "defined _NEWLIB_VERSION"; then | 
					
						
							|  |  |  |         eval ${pfx}libc_type=newlib | 
					
						
							|  |  |  |         add_${pfx}cppflags -U__STRICT_ANSI__ | 
					
						
							|  |  |  |     # MinGW64 is backwards compatible with MinGW32, so check for it first. | 
					
						
							|  |  |  |     elif check_${pfx}cpp_condition _mingw.h "defined __MINGW64_VERSION_MAJOR"; then | 
					
						
							|  |  |  |         eval ${pfx}libc_type=mingw64 | 
					
						
							| 
									
										
										
										
											2013-12-09 00:50:39 +01:00
										 |  |  |         add_${pfx}cppflags -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1 | 
					
						
							| 
									
										
										
										
											2013-12-13 23:19:55 +01:00
										 |  |  |         eval test \$${pfx_no_}cc_type = "gcc" && | 
					
						
							|  |  |  |             add_${pfx}cppflags -D__printf__=__gnu_printf__ | 
					
						
							| 
									
										
										
										
											2013-12-12 00:34:43 +01:00
										 |  |  |     elif check_${pfx}cpp_condition _mingw.h "defined __MINGW_VERSION"  || | 
					
						
							|  |  |  |          check_${pfx}cpp_condition _mingw.h "defined __MINGW32_VERSION"; then | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  |         eval ${pfx}libc_type=mingw32 | 
					
						
							|  |  |  |         check_${pfx}cpp_condition _mingw.h "__MINGW32_MAJOR_VERSION > 3 || \ | 
					
						
							|  |  |  |             (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)" || | 
					
						
							|  |  |  |             die "ERROR: MinGW32 runtime version must be >= 3.15." | 
					
						
							| 
									
										
										
										
											2013-12-12 00:39:43 +01:00
										 |  |  |         add_${pfx}cppflags -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1 | 
					
						
							| 
									
										
										
										
											2013-12-13 23:19:55 +01:00
										 |  |  |         eval test \$${pfx_no_}cc_type = "gcc" && | 
					
						
							|  |  |  |             add_${pfx}cppflags -D__printf__=__gnu_printf__ | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  |     elif check_${pfx}cpp_condition crtversion.h "defined _VC_CRT_MAJOR_VERSION"; then | 
					
						
							|  |  |  |         eval ${pfx}libc_type=msvcrt | 
					
						
							|  |  |  |         # The MSVC 2010 headers (Win 7.0 SDK) set _WIN32_WINNT to | 
					
						
							|  |  |  |         # 0x601 by default unless something else is set by the user. | 
					
						
							|  |  |  |         # This can easily lead to us detecting functions only present | 
					
						
							|  |  |  |         # in such new versions and producing binaries requiring windows 7.0. | 
					
						
							|  |  |  |         # Therefore explicitly set the default to XP unless the user has | 
					
						
							|  |  |  |         # set something else on the command line. | 
					
						
							|  |  |  |         check_${pfx}cpp_condition stdlib.h "defined(_WIN32_WINNT)" || | 
					
						
							|  |  |  |             add_${pfx}cppflags -D_WIN32_WINNT=0x0502 | 
					
						
							|  |  |  |     elif check_${pfx}cpp_condition stddef.h "defined __KLIBC__"; then | 
					
						
							|  |  |  |         eval ${pfx}libc_type=klibc | 
					
						
							|  |  |  |     elif check_${pfx}cpp_condition sys/cdefs.h "defined __BIONIC__"; then | 
					
						
							|  |  |  |         eval ${pfx}libc_type=bionic | 
					
						
							| 
									
										
										
										
											2013-12-12 12:14:30 +01:00
										 |  |  |     elif check_${pfx}cpp_condition sys/brand.h "defined LABELED_BRAND_NAME"; then | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  |         eval ${pfx}libc_type=solaris | 
					
						
							|  |  |  |         add_${pfx}cppflags -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 | 
					
						
							| 
									
										
										
										
											2014-09-11 15:48:13 +02:00
										 |  |  |     else | 
					
						
							| 
									
										
										
										
											2014-09-27 17:57:23 +02:00
										 |  |  |         eval ${pfx}libc_type=default | 
					
						
							|  |  |  |         add_${pfx}cppflags -D_DEFAULT_SOURCE | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  |     fi | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2012-09-04 13:57:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  | probe_libc | 
					
						
							| 
									
										
										
										
											2013-12-04 12:21:30 -05:00
										 |  |  | test -n "$libc_type" && enable libc_$libc_type | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  | probe_libc host_ | 
					
						
							|  |  |  | test -n "$host_libc_type" && enable host_libc_$host_libc_type | 
					
						
							| 
									
										
										
										
											2012-09-04 13:57:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-01 23:06:02 -05:00
										 |  |  | case $libc_type in | 
					
						
							|  |  |  |     bionic) | 
					
						
							|  |  |  |         add_compat strtod.o strtod=avpriv_strtod | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     msvcrt) | 
					
						
							|  |  |  |         add_compat strtod.o strtod=avpriv_strtod | 
					
						
							|  |  |  |         add_compat msvcrt/snprintf.o snprintf=avpriv_snprintf   \ | 
					
						
							|  |  |  |                                      _snprintf=avpriv_snprintf  \ | 
					
						
							|  |  |  |                                      vsnprintf=avpriv_vsnprintf | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-13 02:28:41 +01:00
										 |  |  | # hacks for compiler/libc/os combinations | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-04 12:21:30 -05:00
										 |  |  | if enabled_all tms470 libc_glibc; then | 
					
						
							| 
									
										
										
										
											2012-10-13 03:16:13 +01:00
										 |  |  |     CPPFLAGS="-I${source_path}/compat/tms470 ${CPPFLAGS}" | 
					
						
							| 
									
										
										
										
											2012-10-13 02:28:41 +01:00
										 |  |  |     add_cppflags -D__USER_LABEL_PREFIX__= | 
					
						
							|  |  |  |     add_cppflags -D__builtin_memset=memset | 
					
						
							|  |  |  |     add_cppflags -D__gnuc_va_list=va_list -D_VA_LIST_DEFINED | 
					
						
							|  |  |  |     add_cflags   -pds=48    # incompatible redefinition of macro | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-04 12:21:30 -05:00
										 |  |  | if enabled_all ccc libc_glibc; then | 
					
						
							| 
									
										
										
										
											2012-10-23 00:05:44 +01:00
										 |  |  |     add_ldflags -Wl,-z,now  # calls to libots crash without this | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-14 12:19:04 +01:00
										 |  |  | check_compile_assert flt_lim "float.h limits.h" "DBL_MAX == (double)DBL_MAX" || | 
					
						
							|  |  |  |     add_cppflags '-I\$(SRC_PATH)/compat/float' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-04-12 21:32:33 +01:00
										 |  |  | esc(){ | 
					
						
							|  |  |  |     echo "$*" | sed 's/%/%25/g;s/:/%3a/g' | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "config:$arch:$subarch:$cpu:$target_os:$(esc $cc_ident):$(esc $LIBAV_CONFIGURATION)" >config.fate | 
					
						
							| 
									
										
										
										
											2010-08-26 22:22:27 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-09 15:39:25 +03:00
										 |  |  | check_cpp_condition stdlib.h "defined(__PIC__) || defined(__pic__) || defined(PIC)" && enable_weak pic | 
					
						
							| 
									
										
										
										
											2010-03-30 16:28:00 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-02 23:51:36 +00:00
										 |  |  | set_default $PATHS_LIST | 
					
						
							| 
									
										
										
										
											2012-09-16 21:47:16 +01:00
										 |  |  | set_default nm | 
					
						
							| 
									
										
										
										
											2008-06-02 23:51:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-01-30 00:22:41 +00:00
										 |  |  | # we need to build at least one lib type | 
					
						
							| 
									
										
										
										
											2007-08-01 20:23:29 +00:00
										 |  |  | if ! enabled_any static shared; then | 
					
						
							| 
									
										
										
										
											2006-01-30 00:22:41 +00:00
										 |  |  |     cat <<EOF | 
					
						
							|  |  |  | At least one library type must be built. | 
					
						
							|  |  |  | Specify --enable-static to build the static libraries or --enable-shared to | 
					
						
							|  |  |  | build the shared libraries as well. To only build the shared libraries specify | 
					
						
							|  |  |  | --disable-static in addition to --enable-shared. | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  |     exit 1; | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-29 15:32:40 +00:00
										 |  |  | die_license_disabled() { | 
					
						
							| 
									
										
										
										
											2009-04-29 16:14:33 +00:00
										 |  |  |     enabled $1 || { enabled $2 && die "$2 is $1 and --enable-$1 is not specified."; } | 
					
						
							| 
									
										
										
										
											2009-04-29 15:32:40 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-13 17:23:06 +02:00
										 |  |  | die_license_disabled gpl libcdio | 
					
						
							| 
									
										
										
										
											2009-04-29 15:32:40 +00:00
										 |  |  | die_license_disabled gpl libx264 | 
					
						
							| 
									
										
										
										
											2013-10-02 14:46:26 +00:00
										 |  |  | die_license_disabled gpl libx265 | 
					
						
							| 
									
										
										
										
											2010-07-27 07:18:36 +00:00
										 |  |  | die_license_disabled gpl libxavs | 
					
						
							| 
									
										
										
										
											2009-04-29 15:32:40 +00:00
										 |  |  | die_license_disabled gpl libxvid | 
					
						
							|  |  |  | die_license_disabled gpl x11grab | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-29 15:40:25 +00:00
										 |  |  | die_license_disabled nonfree libfaac | 
					
						
							| 
									
										
										
										
											2012-07-17 01:32:01 +02:00
										 |  |  | die_license_disabled nonfree libfdk_aac | 
					
						
							| 
									
										
										
										
											2011-02-03 00:37:20 +02:00
										 |  |  | die_license_disabled nonfree openssl | 
					
						
							| 
									
										
										
										
											2004-04-09 14:50:00 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-05 12:32:40 +00:00
										 |  |  | die_license_disabled version3 libopencore_amrnb | 
					
						
							|  |  |  | die_license_disabled version3 libopencore_amrwb | 
					
						
							| 
									
										
										
										
											2010-12-19 21:40:23 +02:00
										 |  |  | die_license_disabled version3 libvo_aacenc | 
					
						
							| 
									
										
										
										
											2009-12-29 16:48:09 +02:00
										 |  |  | die_license_disabled version3 libvo_amrwbenc | 
					
						
							| 
									
										
										
										
											2009-06-05 12:32:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-05 11:04:03 +00:00
										 |  |  | enabled version3 && { enabled gpl && enable gplv3 || enable lgplv3; } | 
					
						
							| 
									
										
										
										
											2008-01-26 13:24:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-25 15:41:36 +00:00
										 |  |  | disabled optimizations || check_cflags -fomit-frame-pointer | 
					
						
							| 
									
										
										
										
											2003-10-18 18:47:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-09 15:39:25 +03:00
										 |  |  | enable_weak_pic() { | 
					
						
							|  |  |  |     disabled pic && return | 
					
						
							| 
									
										
										
										
											2009-10-11 14:32:18 +00:00
										 |  |  |     enable pic | 
					
						
							| 
									
										
										
										
											2009-08-23 13:46:07 +00:00
										 |  |  |     add_cppflags -DPIC | 
					
						
							| 
									
										
										
										
											2013-06-05 14:51:28 +03:00
										 |  |  |     case "$target_os" in | 
					
						
							|  |  |  |     mingw*|cygwin*) | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     *) | 
					
						
							|  |  |  |         add_cflags -fPIC | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     esac | 
					
						
							| 
									
										
										
										
											2009-08-23 13:46:07 +00:00
										 |  |  |     add_asflags  -fPIC | 
					
						
							| 
									
										
										
										
											2009-10-11 14:32:18 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-09 15:39:25 +03:00
										 |  |  | enabled pic && enable_weak_pic | 
					
						
							| 
									
										
										
										
											2009-08-23 13:46:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-03-18 02:01:20 +00:00
										 |  |  | check_cc <<EOF || die "Symbol mangling check failed." | 
					
						
							|  |  |  | int ff_extern; | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2012-09-16 21:47:16 +01:00
										 |  |  | sym=$($nm $TMPO | awk '/ff_extern/{ print substr($0, match($0, /[^ \t]*ff_extern/)) }') | 
					
						
							| 
									
										
										
										
											2008-03-18 02:01:20 +00:00
										 |  |  | extern_prefix=${sym%%ff_extern*} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-04 18:23:25 +02:00
										 |  |  | check_cc <<EOF && enable_weak inline_asm | 
					
						
							| 
									
										
										
										
											2009-03-05 21:20:04 +00:00
										 |  |  | void foo(void) { __asm__ volatile ("" ::); } | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2008-02-27 22:06:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-22 20:41:41 +00:00
										 |  |  | _restrict= | 
					
						
							|  |  |  | for restrict_keyword in restrict __restrict__ __restrict; do | 
					
						
							|  |  |  |     check_cc <<EOF && _restrict=$restrict_keyword && break | 
					
						
							|  |  |  | void foo(char * $restrict_keyword p); | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-27 18:23:01 +01:00
										 |  |  | check_cc <<EOF && enable pragma_deprecated | 
					
						
							| 
									
										
										
										
											2013-08-02 22:03:09 +02:00
										 |  |  | void foo(void) { _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") } | 
					
						
							| 
									
										
										
										
											2013-03-27 18:23:01 +01:00
										 |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-22 20:41:41 +00:00
										 |  |  | check_cc <<EOF && enable attribute_packed | 
					
						
							|  |  |  | struct { int x; } __attribute__((packed)) x; | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-29 03:26:12 +00:00
										 |  |  | check_cc <<EOF && enable attribute_may_alias | 
					
						
							|  |  |  | union { int x; } __attribute__((may_alias)) x; | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-22 20:41:41 +00:00
										 |  |  | check_cc <<EOF || die "endian test failed" | 
					
						
							|  |  |  | unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E'; | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2010-01-19 15:52:43 +00:00
										 |  |  | od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian | 
					
						
							| 
									
										
										
										
											2009-07-22 20:41:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-08-05 12:08:09 +02:00
										 |  |  | check_gas() { | 
					
						
							|  |  |  |     log "check_gas using '$as' as AS" | 
					
						
							|  |  |  |     # :vararg is used on aarch64, arm and ppc altivec | 
					
						
							|  |  |  |     check_as <<EOF || return 1 | 
					
						
							|  |  |  | .macro m n, y:vararg=0 | 
					
						
							|  |  |  | \n: .int \y | 
					
						
							| 
									
										
										
										
											2014-05-29 14:21:05 +02:00
										 |  |  | .endm | 
					
						
							|  |  |  | m x | 
					
						
							| 
									
										
										
										
											2014-05-29 17:04:57 +02:00
										 |  |  | EOF | 
					
						
							| 
									
										
										
										
											2014-08-05 12:08:09 +02:00
										 |  |  |     # .altmacro is only used in arm asm | 
					
						
							|  |  |  |     ! enabled arm || check_as <<EOF || return 1 | 
					
						
							| 
									
										
										
										
											2014-05-29 17:04:57 +02:00
										 |  |  | .altmacro | 
					
						
							| 
									
										
										
										
											2014-05-30 09:58:43 +02:00
										 |  |  | EOF | 
					
						
							| 
									
										
										
										
											2014-08-05 12:08:09 +02:00
										 |  |  |     enable gnu_as | 
					
						
							|  |  |  |     return 0 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-08-06 05:55:33 -07:00
										 |  |  | if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then | 
					
						
							| 
									
										
										
										
											2014-08-09 08:06:12 -07:00
										 |  |  |     nogas=: | 
					
						
							| 
									
										
										
										
											2014-08-06 05:38:43 -07:00
										 |  |  |     enabled_any arm aarch64 && nogas=die | 
					
						
							| 
									
										
										
										
											2014-08-05 12:08:09 +02:00
										 |  |  |     enabled_all ppc altivec && nogas=warn | 
					
						
							| 
									
										
										
										
											2014-08-09 08:06:12 -07:00
										 |  |  |     as_noop=-v | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     case $as_type in | 
					
						
							|  |  |  |         arm*) gaspp_as_type=armasm; as_noop=-h ;; | 
					
						
							|  |  |  |         gcc)  gaspp_as_type=gas ;; | 
					
						
							|  |  |  |         *)    gaspp_as_type=$as_type ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     [ $target_os = "darwin" ] && gaspp_as_type="apple-$gaspp_as_type" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     check_cmd gas-preprocessor.pl -arch $arch -as-type $gaspp_as_type -- $as $as_noop && | 
					
						
							|  |  |  |         gas="gas-preprocessor.pl -arch $arch -as-type $gaspp_as_type -- $as" | 
					
						
							| 
									
										
										
										
											2014-08-05 12:08:09 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     if ! check_gas ; then | 
					
						
							|  |  |  |         as=${gas:=$as} | 
					
						
							|  |  |  |         check_gas || \ | 
					
						
							| 
									
										
										
										
											2014-08-10 16:05:41 +03:00
										 |  |  |             $nogas "GNU assembler not found, install/update gas-preprocessor" | 
					
						
							| 
									
										
										
										
											2014-08-05 12:08:09 +02:00
										 |  |  |     fi | 
					
						
							| 
									
										
										
										
											2014-05-30 09:58:43 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     check_as <<EOF && enable as_func | 
					
						
							|  |  |  | .func test | 
					
						
							|  |  |  | .endfunc | 
					
						
							| 
									
										
										
										
											2014-05-29 14:21:05 +02:00
										 |  |  | EOF | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-09 20:51:00 +03:00
										 |  |  | check_inline_asm inline_asm_labels '"1:\n"' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-10 20:13:32 +01:00
										 |  |  | if enabled aarch64; then | 
					
						
							| 
									
										
										
										
											2014-04-05 13:46:51 +02:00
										 |  |  |     enabled armv8 && check_insn armv8 'prfm   pldl1strm, [x0]' | 
					
						
							| 
									
										
										
										
											2013-12-10 20:13:32 +01:00
										 |  |  |     # internal assembler in clang 3.3 does not support this instruction | 
					
						
							|  |  |  |     enabled neon && check_insn neon 'ext   v0.8B, v0.8B, v1.8B, #1' | 
					
						
							|  |  |  |     enabled vfp  && check_insn vfp  'fmadd d0,    d0,    d1,    d2' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     map 'enabled_any ${v}_external ${v}_inline || disable $v' $ARCH_EXT_LIST_ARM | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | elif enabled alpha; then | 
					
						
							| 
									
										
										
										
											2010-01-18 21:05:01 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     check_cflags -mieee | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | elif enabled arm; then | 
					
						
							| 
									
										
										
										
											2009-07-23 23:30:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-30 21:58:42 +00:00
										 |  |  |     check_cpp_condition stddef.h "defined __thumb__" && enable_weak thumb | 
					
						
							| 
									
										
										
										
											2011-06-14 11:29:48 +01:00
										 |  |  |     enabled thumb && check_cflags -mthumb || check_cflags -marm | 
					
						
							| 
									
										
										
										
											2009-10-02 08:41:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-16 18:42:36 +00:00
										 |  |  |     if     check_cpp_condition stddef.h "defined __ARM_PCS_VFP"; then | 
					
						
							|  |  |  |         enable vfp_args | 
					
						
							|  |  |  |     elif ! check_cpp_condition stddef.h "defined __ARM_PCS || defined __SOFTFP__"; then | 
					
						
							|  |  |  |         case "${cross_prefix:-$cc}" in | 
					
						
							|  |  |  |             *hardfloat*)         enable vfp_args;   fpabi=vfp ;; | 
					
						
							|  |  |  |             *) check_ld <<EOF && enable vfp_args && fpabi=vfp || fpabi=soft ;; | 
					
						
							| 
									
										
										
										
											2009-07-22 16:05:24 +00:00
										 |  |  | __asm__ (".eabi_attribute 28, 1"); | 
					
						
							|  |  |  | int main(void) { return 0; } | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2011-01-16 18:42:36 +00:00
										 |  |  |         esac | 
					
						
							|  |  |  |         warn "Compiler does not indicate floating-point ABI, guessing $fpabi." | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2009-07-22 16:05:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-01 15:19:10 +00:00
										 |  |  |     enabled armv5te && check_insn armv5te 'qadd r0, r0, r0' | 
					
						
							|  |  |  |     enabled armv6   && check_insn armv6   'sadd16 r0, r0, r0' | 
					
						
							|  |  |  |     enabled armv6t2 && check_insn armv6t2 'movt r0, #0' | 
					
						
							|  |  |  |     enabled neon    && check_insn neon    'vadd.i16 q0, q0, q0' | 
					
						
							| 
									
										
										
										
											2012-12-04 23:29:34 +00:00
										 |  |  |     enabled vfp     && check_insn vfp     'fadds s0, s0, s0' | 
					
						
							| 
									
										
										
										
											2012-12-01 15:19:10 +00:00
										 |  |  |     enabled vfpv3   && check_insn vfpv3   'vmov.f32 s0, #1.0' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-16 19:43:12 +03:00
										 |  |  |     [ $target_os = linux ] || [ $target_os = android ] || | 
					
						
							| 
									
										
										
										
											2012-12-05 02:11:22 +00:00
										 |  |  |         map 'enabled_any ${v}_external ${v}_inline || disable $v' \ | 
					
						
							|  |  |  |             $ARCH_EXT_LIST_ARM | 
					
						
							| 
									
										
										
										
											2009-07-23 23:30:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-07 23:46:52 +02:00
										 |  |  |     check_inline_asm asm_mod_q '"add r0, %Q0, %R0" :: "r"((long long)0)' | 
					
						
							| 
									
										
										
										
											2011-10-02 23:38:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-29 14:21:05 +02:00
										 |  |  |     check_as <<EOF && enable as_dn_directive | 
					
						
							|  |  |  | ra .dn d0.i16 | 
					
						
							|  |  |  | .unreq ra | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-28 15:08:57 +03:00
										 |  |  |     [ $target_os != win32 ] && enabled_all armv6t2 shared !pic && enable_weak_pic | 
					
						
							| 
									
										
										
										
											2009-10-11 14:32:18 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-22 16:05:24 +00:00
										 |  |  | elif enabled mips; then | 
					
						
							| 
									
										
										
										
											2009-07-23 23:30:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-07 23:46:52 +02:00
										 |  |  |     check_inline_asm loongson '"dmult.g $1, $2, $3"' | 
					
						
							| 
									
										
										
										
											2009-07-23 23:30:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-14 15:56:46 +00:00
										 |  |  | elif enabled parisc; then | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if enabled gcc; then | 
					
						
							|  |  |  |         case $($cc -dumpversion) in | 
					
						
							|  |  |  |             4.[3-8].*) check_cflags -fno-optimize-sibling-calls ;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-22 16:05:24 +00:00
										 |  |  | elif enabled ppc; then | 
					
						
							| 
									
										
										
										
											2009-07-23 23:30:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-17 20:36:15 +00:00
										 |  |  |     enable local_aligned_8 local_aligned_16 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-07 23:46:52 +02:00
										 |  |  |     check_inline_asm dcbzl     '"dcbzl 0, %0" :: "r"(0)' | 
					
						
							|  |  |  |     check_inline_asm ibm_asm   '"add 0, 0, 0"' | 
					
						
							|  |  |  |     check_inline_asm ppc4xx    '"maclhw r10, r11, r12"' | 
					
						
							|  |  |  |     check_inline_asm xform_asm '"lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)' | 
					
						
							| 
									
										
										
										
											2009-07-22 16:05:24 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     # AltiVec flags: The FSF version of GCC differs from the Apple version | 
					
						
							|  |  |  |     if enabled altivec; then | 
					
						
							|  |  |  |         check_cflags -maltivec -mabi=altivec && | 
					
						
							|  |  |  |         { check_header altivec.h && inc_altivec_h="#include <altivec.h>" ; } || | 
					
						
							|  |  |  |         check_cflags -faltivec | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # check if our compiler supports Motorola AltiVec C API | 
					
						
							|  |  |  |         check_cc <<EOF || disable altivec | 
					
						
							|  |  |  | $inc_altivec_h | 
					
						
							|  |  |  | int main(void) { | 
					
						
							| 
									
										
										
										
											2012-08-16 00:10:33 +01:00
										 |  |  |     vector signed int v1 = (vector signed int) { 0 }; | 
					
						
							|  |  |  |     vector signed int v2 = (vector signed int) { 1 }; | 
					
						
							|  |  |  |     v1 = vec_add(v1, v2); | 
					
						
							| 
									
										
										
										
											2009-07-22 16:05:24 +00:00
										 |  |  |     return 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-16 00:10:33 +01:00
										 |  |  |         enabled altivec || warn "Altivec disabled, possibly missing --cpu flag" | 
					
						
							| 
									
										
										
										
											2009-07-22 16:05:24 +00:00
										 |  |  |     fi | 
					
						
							| 
									
										
										
										
											2009-07-23 23:30:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-07-22 16:05:24 +00:00
										 |  |  | elif enabled x86; then | 
					
						
							| 
									
										
										
										
											2009-07-23 23:30:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-04 23:02:02 +01:00
										 |  |  |     check_builtin rdtsc    intrin.h   "__rdtsc()" | 
					
						
							|  |  |  |     check_builtin mm_empty mmintrin.h "_mm_empty()" | 
					
						
							| 
									
										
										
										
											2012-07-09 02:21:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-17 20:36:15 +00:00
										 |  |  |     enable local_aligned_8 local_aligned_16 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-03-29 14:20:30 +00:00
										 |  |  |     # check whether EBP is available on x86 | 
					
						
							|  |  |  |     # As 'i' is stored on the stack, this program will crash | 
					
						
							|  |  |  |     # if the base pointer is used to access it because the | 
					
						
							|  |  |  |     # base pointer is cleared in the inline assembly code. | 
					
						
							| 
									
										
										
										
											2007-04-13 20:16:13 +00:00
										 |  |  |     check_exec_crash <<EOF && enable ebp_available | 
					
						
							| 
									
										
										
										
											2012-08-19 21:35:30 +02:00
										 |  |  | volatile int i=0; | 
					
						
							|  |  |  | __asm__ volatile ("xorl %%ebp, %%ebp" ::: "%ebp"); | 
					
						
							|  |  |  | return i; | 
					
						
							| 
									
										
										
										
											2007-03-29 14:20:30 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-30 12:39:18 +00:00
										 |  |  |     # check whether EBX is available on x86 | 
					
						
							| 
									
										
										
										
											2012-08-07 23:46:52 +02:00
										 |  |  |     check_inline_asm ebx_available '""::"b"(0)' && | 
					
						
							|  |  |  |         check_inline_asm ebx_available '"":::"%ebx"' | 
					
						
							| 
									
										
										
										
											2007-05-12 03:20:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-06 01:26:13 +00:00
										 |  |  |     # check whether xmm clobbers are supported | 
					
						
							| 
									
										
										
										
											2012-08-07 23:46:52 +02:00
										 |  |  |     check_inline_asm xmm_clobbers '"":::"%xmm0"' | 
					
						
							| 
									
										
										
										
											2010-10-06 01:26:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-08 18:42:12 +02:00
										 |  |  |     # check whether binutils is new enough to compile SSSE3/MMXEXT | 
					
						
							| 
									
										
										
										
											2012-08-27 03:07:11 +02:00
										 |  |  |     enabled ssse3  && check_inline_asm ssse3_inline  '"pabsw %xmm0, %xmm0"' | 
					
						
							|  |  |  |     enabled mmxext && check_inline_asm mmxext_inline '"pmaxub %mm0, %mm1"' | 
					
						
							| 
									
										
										
										
											2008-03-08 18:33:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-26 18:29:32 +00:00
										 |  |  |     if ! disabled_any asm mmx yasm; then | 
					
						
							| 
									
										
										
										
											2010-09-26 21:01:24 +00:00
										 |  |  |         if check_cmd $yasmexe --version; then | 
					
						
							|  |  |  |             enabled x86_64 && yasm_extra="-m amd64" | 
					
						
							|  |  |  |             yasm_debug="-g dwarf2" | 
					
						
							|  |  |  |         elif check_cmd nasm -v; then | 
					
						
							|  |  |  |             yasmexe=nasm | 
					
						
							|  |  |  |             yasm_debug="-g -F dwarf" | 
					
						
							|  |  |  |             enabled x86_64 && test "$objformat" = elf && objformat=elf64 | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         YASMFLAGS="-f $objformat $yasm_extra" | 
					
						
							|  |  |  |         enabled pic               && append YASMFLAGS "-DPIC" | 
					
						
							|  |  |  |         test -n "$extern_prefix"  && append YASMFLAGS "-DPREFIX" | 
					
						
							|  |  |  |         case "$objformat" in | 
					
						
							|  |  |  |             elf*) enabled debug && append YASMFLAGS $yasm_debug ;; | 
					
						
							|  |  |  |         esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-07 07:18:54 -04:00
										 |  |  |         check_yasm "movbe ecx, [5]" && enable yasm || | 
					
						
							|  |  |  |             die "yasm/nasm not found or too old. Use --disable-yasm for a crippled build." | 
					
						
							| 
									
										
										
										
											2014-02-22 04:54:00 +00:00
										 |  |  |         check_yasm "vpmacsdd xmm0, xmm1, xmm2, xmm3" || disable xop_external | 
					
						
							| 
									
										
										
										
											2014-02-22 04:54:01 +00:00
										 |  |  |         check_yasm "vfmadd132ps ymm0, ymm1, ymm2"    || disable fma3_external | 
					
						
							| 
									
										
										
										
											2012-08-27 03:07:11 +02:00
										 |  |  |         check_yasm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external | 
					
						
							| 
									
										
										
										
											2014-02-23 14:09:06 +01:00
										 |  |  |         check_yasm "CPU amdnop" || disable cpunop | 
					
						
							| 
									
										
										
										
											2010-06-24 20:49:37 +00:00
										 |  |  |     fi | 
					
						
							| 
									
										
										
										
											2009-07-23 23:30:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-14 19:58:09 +00:00
										 |  |  |     case "$cpu" in | 
					
						
							|  |  |  |         athlon*|opteron*|k8*|pentium|pentium-mmx|prescott|nocona|atom|geode) | 
					
						
							|  |  |  |             disable fast_clz | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-03-29 14:20:30 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-22 15:09:43 +03:00
										 |  |  | check_code cc arm_neon.h "int16x8_t test = vdupq_n_s16(0)" && enable intrinsics_neon | 
					
						
							| 
									
										
										
										
											2014-05-13 23:03:28 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-06 13:57:34 +00:00
										 |  |  | check_ldflags -Wl,--as-needed | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-09-24 15:52:06 +00:00
										 |  |  | if check_func dlopen; then | 
					
						
							|  |  |  |     ldl= | 
					
						
							|  |  |  | elif check_func dlopen -ldl; then | 
					
						
							|  |  |  |     ldl=-ldl | 
					
						
							| 
									
										
										
										
											2004-09-10 19:39:17 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-07 15:03:40 +01:00
										 |  |  | if ! disabled network; then | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  |     check_func getaddrinfo $network_extralibs | 
					
						
							|  |  |  |     check_func getservbyport $network_extralibs | 
					
						
							|  |  |  |     check_func inet_aton $network_extralibs | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-25 09:28:01 +00:00
										 |  |  |     check_type netdb.h "struct addrinfo" | 
					
						
							| 
									
										
										
										
											2012-06-21 14:19:56 +03:00
										 |  |  |     check_type netinet/in.h "struct group_source_req" -D_BSD_SOURCE | 
					
						
							|  |  |  |     check_type netinet/in.h "struct ip_mreq_source" -D_BSD_SOURCE | 
					
						
							| 
									
										
										
										
											2011-01-25 09:28:01 +00:00
										 |  |  |     check_type netinet/in.h "struct ipv6_mreq" -D_DARWIN_C_SOURCE | 
					
						
							| 
									
										
										
										
											2012-06-25 12:08:44 +03:00
										 |  |  |     check_type poll.h "struct pollfd" | 
					
						
							| 
									
										
										
										
											2012-08-08 16:01:01 +02:00
										 |  |  |     check_type netinet/sctp.h "struct sctp_event_subscribe" | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  |     check_struct "sys/types.h sys/socket.h" "struct sockaddr" sa_len | 
					
						
							|  |  |  |     check_type netinet/in.h "struct sockaddr_in6" | 
					
						
							|  |  |  |     check_type "sys/types.h sys/socket.h" "struct sockaddr_storage" | 
					
						
							|  |  |  |     check_type "sys/types.h sys/socket.h" socklen_t | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-25 09:28:01 +00:00
										 |  |  |     # Prefer arpa/inet.h over winsock2 | 
					
						
							|  |  |  |     if check_header arpa/inet.h ; then | 
					
						
							|  |  |  |         check_func closesocket | 
					
						
							|  |  |  |     elif check_header winsock2.h ; then | 
					
						
							| 
									
										
										
										
											2012-07-16 16:51:33 +02:00
										 |  |  |         check_func_headers winsock2.h closesocket -lws2 && | 
					
						
							|  |  |  |             network_extralibs="-lws2" || | 
					
						
							|  |  |  |         { check_func_headers winsock2.h closesocket -lws2_32 && | 
					
						
							| 
									
										
										
										
											2013-12-31 10:11:24 +02:00
										 |  |  |             network_extralibs="-lws2_32"; } || disable winsock2_h network | 
					
						
							| 
									
										
										
										
											2012-07-16 01:11:18 +03:00
										 |  |  |         check_func_headers ws2tcpip.h getaddrinfo $network_extralibs | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-01-25 09:28:01 +00:00
										 |  |  |         check_type ws2tcpip.h socklen_t | 
					
						
							|  |  |  |         check_type ws2tcpip.h "struct addrinfo" | 
					
						
							| 
									
										
										
										
											2012-06-21 14:19:56 +03:00
										 |  |  |         check_type ws2tcpip.h "struct group_source_req" | 
					
						
							|  |  |  |         check_type ws2tcpip.h "struct ip_mreq_source" | 
					
						
							| 
									
										
										
										
											2011-01-25 09:28:01 +00:00
										 |  |  |         check_type ws2tcpip.h "struct ipv6_mreq" | 
					
						
							| 
									
										
										
										
											2012-06-25 12:08:44 +03:00
										 |  |  |         check_type winsock2.h "struct pollfd" | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  |         check_struct winsock2.h "struct sockaddr" sa_len | 
					
						
							| 
									
										
										
										
											2011-01-25 09:28:01 +00:00
										 |  |  |         check_type ws2tcpip.h "struct sockaddr_in6" | 
					
						
							|  |  |  |         check_type ws2tcpip.h "struct sockaddr_storage" | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         disable network | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  | check_builtin atomic_cas_ptr atomic.h "void **ptr; void *oldval, *newval; atomic_cas_ptr(ptr, oldval, newval)" | 
					
						
							|  |  |  | check_builtin machine_rw_barrier mbarrier.h "__machine_rw_barrier()" | 
					
						
							|  |  |  | check_builtin MemoryBarrier windows.h "MemoryBarrier()" | 
					
						
							|  |  |  | check_builtin sync_val_compare_and_swap "" "int *ptr; int oldval, newval; __sync_val_compare_and_swap(ptr, oldval, newval)" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | check_func_headers malloc.h _aligned_malloc     && enable aligned_malloc | 
					
						
							|  |  |  | check_func  ${malloc_prefix}memalign            && enable memalign | 
					
						
							|  |  |  | check_func  ${malloc_prefix}posix_memalign      && enable posix_memalign | 
					
						
							| 
									
										
										
										
											2009-02-23 01:56:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-08-24 18:14:47 +02:00
										 |  |  | check_cpp_condition unistd.h "defined(_POSIX_MONOTONIC_CLOCK)" && | 
					
						
							| 
									
										
										
										
											2014-10-03 12:58:51 -07:00
										 |  |  |     check_func_headers time.h clock_gettime || { check_func_headers time.h clock_gettime -lrt && add_extralibs -lrt && LIBRT="-lrt"; } | 
					
						
							| 
									
										
										
										
											2014-08-24 18:14:47 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-30 10:38:01 +00:00
										 |  |  | check_func  fcntl | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  | check_func  fork | 
					
						
							|  |  |  | check_func  gethrtime | 
					
						
							| 
									
										
										
										
											2012-07-03 20:14:09 -07:00
										 |  |  | check_func  getopt | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  | check_func  getrusage | 
					
						
							| 
									
										
										
										
											2012-06-20 13:46:52 +01:00
										 |  |  | check_func  gettimeofday | 
					
						
							| 
									
										
										
										
											2014-10-24 10:33:19 +03:00
										 |  |  | check_func  gmtime_r | 
					
						
							| 
									
										
										
										
											2009-07-24 00:12:55 +00:00
										 |  |  | check_func  isatty | 
					
						
							| 
									
										
										
										
											2011-02-21 01:02:29 +01:00
										 |  |  | check_func  localtime_r | 
					
						
							| 
									
										
										
										
											2014-01-24 01:15:31 +01:00
										 |  |  | check_func  mach_absolute_time | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  | check_func  mkstemp | 
					
						
							| 
									
										
										
										
											2010-12-22 14:13:04 +00:00
										 |  |  | check_func  mmap | 
					
						
							| 
									
										
										
										
											2012-10-13 02:40:48 +00:00
										 |  |  | check_func  mprotect | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  | # Solaris has nanosleep in -lrt, OpenSolaris no longer needs that | 
					
						
							| 
									
										
										
										
											2014-08-11 15:02:28 +03:00
										 |  |  | check_func_headers time.h nanosleep || { check_func_headers time.h nanosleep -lrt && add_extralibs -lrt; } | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  | check_func  sched_getaffinity | 
					
						
							| 
									
										
										
										
											2010-02-09 22:55:11 +00:00
										 |  |  | check_func  setrlimit | 
					
						
							| 
									
										
										
										
											2010-03-25 22:46:35 +00:00
										 |  |  | check_func  strerror_r | 
					
						
							| 
									
										
										
										
											2011-07-13 09:30:06 +02:00
										 |  |  | check_func  strptime | 
					
						
							| 
									
										
										
										
											2011-12-24 00:27:12 +01:00
										 |  |  | check_func  sysconf | 
					
						
							| 
									
										
										
										
											2011-12-22 21:10:07 +01:00
										 |  |  | check_func  sysctl | 
					
						
							| 
									
										
										
										
											2012-06-21 17:00:25 +01:00
										 |  |  | check_func  usleep | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-11 22:05:43 +00:00
										 |  |  | check_func_headers io.h setmode | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  | check_func_headers stdlib.h getenv | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-28 23:00:38 +02:00
										 |  |  | check_func_headers windows.h CoTaskMemFree -lole32 | 
					
						
							| 
									
										
										
										
											2012-01-01 23:54:40 +00:00
										 |  |  | check_func_headers windows.h GetProcessAffinityMask | 
					
						
							| 
									
										
										
										
											2008-09-20 16:17:27 +00:00
										 |  |  | check_func_headers windows.h GetProcessTimes | 
					
						
							| 
									
										
										
										
											2012-06-20 13:46:52 +01:00
										 |  |  | check_func_headers windows.h GetSystemTimeAsFileTime | 
					
						
							| 
									
										
										
										
											2011-01-05 05:16:33 +00:00
										 |  |  | check_func_headers windows.h MapViewOfFile | 
					
						
							| 
									
										
										
										
											2012-11-30 16:56:57 +02:00
										 |  |  | check_func_headers windows.h SetConsoleTextAttribute | 
					
						
							| 
									
										
										
										
											2012-06-21 17:00:25 +01:00
										 |  |  | check_func_headers windows.h Sleep | 
					
						
							| 
									
										
										
										
											2009-03-19 21:52:01 +00:00
										 |  |  | check_func_headers windows.h VirtualAlloc | 
					
						
							| 
									
										
										
										
											2014-10-09 13:13:05 -03:00
										 |  |  | check_struct windows.h "CONDITION_VARIABLE" Ptr | 
					
						
							| 
									
										
										
										
											2007-07-11 13:57:22 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-13 14:26:10 +03:00
										 |  |  | check_header direct.h | 
					
						
							| 
									
										
										
										
											2007-09-24 15:52:06 +00:00
										 |  |  | check_header dlfcn.h | 
					
						
							| 
									
										
										
										
											2012-06-24 11:17:13 +01:00
										 |  |  | check_header dxva.h | 
					
						
							| 
									
										
										
										
											2010-01-20 18:54:51 +00:00
										 |  |  | check_header dxva2api.h | 
					
						
							| 
									
										
										
										
											2012-06-25 00:42:27 +03:00
										 |  |  | check_header io.h | 
					
						
							| 
									
										
										
										
											2014-01-24 01:15:31 +01:00
										 |  |  | check_header mach/mach_time.h | 
					
						
							| 
									
										
										
										
											2007-09-24 15:52:06 +00:00
										 |  |  | check_header malloc.h | 
					
						
							| 
									
										
										
										
											2008-08-14 14:03:32 +00:00
										 |  |  | check_header poll.h | 
					
						
							| 
									
										
										
										
											2008-03-19 10:11:16 +00:00
										 |  |  | check_header sys/mman.h | 
					
						
							| 
									
										
										
										
											2011-12-24 00:23:55 +01:00
										 |  |  | check_header sys/param.h | 
					
						
							| 
									
										
										
										
											2008-05-08 00:44:42 +00:00
										 |  |  | check_header sys/resource.h | 
					
						
							| 
									
										
										
										
											2008-08-14 14:03:32 +00:00
										 |  |  | check_header sys/select.h | 
					
						
							| 
									
										
										
										
											2012-06-24 22:20:21 +03:00
										 |  |  | check_header sys/time.h | 
					
						
							| 
									
										
										
										
											2013-07-30 01:34:56 +02:00
										 |  |  | check_header sys/un.h | 
					
						
							| 
									
										
										
										
											2012-06-21 16:34:10 +01:00
										 |  |  | check_header unistd.h | 
					
						
							| 
									
										
										
										
											2009-01-05 23:25:58 +00:00
										 |  |  | check_header vdpau/vdpau.h | 
					
						
							|  |  |  | check_header vdpau/vdpau_x11.h | 
					
						
							| 
									
										
										
										
											2013-02-21 12:31:15 +01:00
										 |  |  | check_header VideoDecodeAcceleration/VDADecoder.h | 
					
						
							| 
									
										
										
										
											2012-06-21 17:00:25 +01:00
										 |  |  | check_header windows.h | 
					
						
							| 
									
										
										
										
											2008-12-15 22:24:12 +00:00
										 |  |  | check_header X11/extensions/XvMClib.h | 
					
						
							| 
									
										
										
										
											2007-09-24 15:52:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-03-06 14:52:03 +01:00
										 |  |  | check_lib2 "windows.h shellapi.h" CommandLineToArgvW -lshell32 | 
					
						
							|  |  |  | check_lib2 "windows.h wincrypt.h" CryptGenRandom -ladvapi32 | 
					
						
							|  |  |  | check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-25 12:58:50 +01:00
										 |  |  | check_type "windows.h dxva.h" "DXVA_PicParams_HEVC" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-11-01 20:41:43 +01:00
										 |  |  | if ! disabled w32threads && ! enabled pthreads; then | 
					
						
							| 
									
										
										
										
											2013-12-23 04:24:52 +01:00
										 |  |  |     check_func_headers "windows.h process.h" _beginthreadex && | 
					
						
							|  |  |  |         enable w32threads || disable w32threads | 
					
						
							| 
									
										
										
										
											2011-11-01 20:41:43 +01:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | # check for some common methods of building with pthread support | 
					
						
							|  |  |  | # do this before the optional library checks as some of them require pthreads | 
					
						
							| 
									
										
										
										
											2010-06-23 02:13:54 +00:00
										 |  |  | if ! disabled pthreads && ! enabled w32threads; then | 
					
						
							|  |  |  |     enable pthreads | 
					
						
							| 
									
										
										
										
											2013-12-12 17:05:34 +01:00
										 |  |  |     if check_func pthread_join -pthread; then | 
					
						
							| 
									
										
										
										
											2006-11-18 16:16:58 +00:00
										 |  |  |         add_cflags -pthread | 
					
						
							| 
									
										
										
										
											2008-01-26 13:31:50 +00:00
										 |  |  |         add_extralibs -pthread | 
					
						
							| 
									
										
										
										
											2013-11-29 09:29:12 -08:00
										 |  |  |     elif check_func pthread_join -pthreads; then | 
					
						
							| 
									
										
										
										
											2006-11-18 16:16:58 +00:00
										 |  |  |         add_cflags -pthreads | 
					
						
							| 
									
										
										
										
											2008-01-26 13:31:50 +00:00
										 |  |  |         add_extralibs -pthreads | 
					
						
							| 
									
										
										
										
											2013-11-29 09:29:12 -08:00
										 |  |  |     elif check_func pthread_join -lpthreadGC2; then | 
					
						
							| 
									
										
										
										
											2008-04-24 02:03:07 +00:00
										 |  |  |         add_extralibs -lpthreadGC2 | 
					
						
							| 
									
										
										
										
											2013-12-12 17:05:34 +01:00
										 |  |  |     elif check_lib pthread.h pthread_join -lpthread; then | 
					
						
							|  |  |  |         : | 
					
						
							|  |  |  |     elif ! check_func pthread_join; then | 
					
						
							| 
									
										
										
										
											2010-06-23 02:13:54 +00:00
										 |  |  |         disable pthreads | 
					
						
							| 
									
										
										
										
											2006-11-18 16:16:58 +00:00
										 |  |  |     fi | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-11 14:21:48 +01:00
										 |  |  | disabled  zlib || check_lib   zlib.h      zlibVersion -lz   || disable  zlib | 
					
						
							|  |  |  | disabled bzlib || check_lib2 bzlib.h BZ2_bzlibVersion -lbz2 || disable bzlib | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-04-24 17:24:24 +02:00
										 |  |  | check_lib math.h sin -lm && LIBM="-lm" | 
					
						
							| 
									
										
										
										
											2011-04-04 15:24:19 +02:00
										 |  |  | enabled vaapi && require vaapi va/va.h vaInitialize -lva | 
					
						
							| 
									
										
										
										
											2007-09-29 20:25:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-26 14:42:47 +01:00
										 |  |  | atan2f_args=2 | 
					
						
							|  |  |  | ldexpf_args=2 | 
					
						
							|  |  |  | powf_args=2 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  | for func in $MATH_FUNCS; do | 
					
						
							| 
									
										
										
										
											2012-10-26 14:42:47 +01:00
										 |  |  |     eval check_mathfunc $func \${${func}_args:-1} | 
					
						
							| 
									
										
										
										
											2012-10-19 18:58:39 +02:00
										 |  |  | done | 
					
						
							| 
									
										
										
										
											2007-06-18 21:42:38 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | # these are off by default, so fail if requested and not available | 
					
						
							| 
									
										
										
										
											2013-11-26 21:58:28 -05:00
										 |  |  | enabled avisynth          && { { check_header "avisynth/avisynth_c.h" && check_lib2 "windows.h" LoadLibrary; } || | 
					
						
							|  |  |  |                                { check_header "avxsynth/avxsynth_c.h" && check_lib2 "dlfcn.h" dlopen -ldl; } || | 
					
						
							|  |  |  |                                die "ERROR: LoadLibrary/dlopen not found, or avisynth header not found"; } | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled frei0r            && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; } | 
					
						
							|  |  |  | enabled gnutls            && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init | 
					
						
							| 
									
										
										
										
											2014-04-29 18:53:16 +02:00
										 |  |  | enabled libbs2b           && require_pkg_config libbs2b bs2b.h bs2b_open | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled libfaac           && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac | 
					
						
							|  |  |  | enabled libfdk_aac        && require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac | 
					
						
							| 
									
										
										
										
											2014-04-12 16:02:50 +02:00
										 |  |  | enabled libfontconfig     && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit | 
					
						
							| 
									
										
										
										
											2013-12-21 17:59:59 +01:00
										 |  |  | enabled libfreetype       && require_pkg_config freetype2 "ft2build.h FT_FREETYPE_H" FT_Init_FreeType | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled libgsm            && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do | 
					
						
							|  |  |  |                                    check_lib "${gsm_hdr}" gsm_create -lgsm && break; | 
					
						
							|  |  |  |                                done || die "ERROR: libgsm not found"; } | 
					
						
							|  |  |  | enabled libilbc           && require libilbc ilbc.h WebRtcIlbcfix_InitDecode -lilbc | 
					
						
							| 
									
										
										
										
											2015-02-10 10:40:59 +01:00
										 |  |  | enabled libmfx            && require_pkg_config libmfx "mfx/mfxvideo.h" MFXInit | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled libmp3lame        && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame | 
					
						
							|  |  |  | enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb | 
					
						
							|  |  |  | enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb | 
					
						
							|  |  |  | enabled libopencv         && require_pkg_config opencv opencv/cv.h cvCreateImageHeader | 
					
						
							| 
									
										
										
										
											2013-12-12 17:13:55 +02:00
										 |  |  | enabled libopenh264       && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion | 
					
						
							| 
									
										
										
										
											2014-03-22 20:16:44 +01:00
										 |  |  | enabled libopenjpeg       && { { check_header openjpeg.h && check_lib2 openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC; } || | 
					
						
							|  |  |  |                                { require_pkg_config libopenjpeg1 openjpeg.h opj_version -DOPJ_STATIC; } } | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled libopus           && require_pkg_config opus opus_multistream.h opus_multistream_decoder_create | 
					
						
							|  |  |  | enabled libpulse          && require_pkg_config libpulse-simple pulse/simple.h pa_simple_new | 
					
						
							|  |  |  | enabled librtmp           && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket | 
					
						
							|  |  |  | enabled libschroedinger   && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init | 
					
						
							| 
									
										
										
										
											2014-07-24 23:50:38 +02:00
										 |  |  | enabled libspeex          && require_pkg_config speex speex/speex.h speex_decoder_init -lspeex | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled libtheora         && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg | 
					
						
							| 
									
										
										
										
											2012-08-01 16:33:34 +00:00
										 |  |  | enabled libtwolame        && require libtwolame twolame.h twolame_init -ltwolame | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled libvo_aacenc      && require libvo_aacenc vo-aacenc/voAAC.h voGetAACEncAPI -lvo-aacenc | 
					
						
							|  |  |  | enabled libvo_amrwbenc    && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc | 
					
						
							|  |  |  | enabled libvorbis         && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg | 
					
						
							|  |  |  | enabled libvpx            && { | 
					
						
							| 
									
										
										
										
											2012-12-30 19:40:20 +01:00
										 |  |  |     enabled libvpx_vp8_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_dec_init_ver -lvpx || | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |                                     die "ERROR: libvpx decoder version must be >=0.9.1"; } | 
					
						
							| 
									
										
										
										
											2012-12-30 19:40:20 +01:00
										 |  |  |     enabled libvpx_vp8_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_CQ" -lvpx || | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |                                     die "ERROR: libvpx encoder version must be >=0.9.6"; } | 
					
						
							|  |  |  |     enabled libvpx_vp9_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx" -lvpx || disable libvpx_vp9_decoder; } | 
					
						
							| 
									
										
										
										
											2012-12-30 19:40:20 +01:00
										 |  |  |     enabled libvpx_vp9_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx" -lvpx || disable libvpx_vp9_encoder; } } | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled libwavpack        && require libwavpack wavpack/wavpack.h WavpackOpenFileOutput  -lwavpack | 
					
						
							| 
									
										
										
										
											2013-11-22 11:05:13 -05:00
										 |  |  | enabled libwebp           && require_pkg_config libwebp webp/encode.h WebPGetEncoderVersion | 
					
						
							| 
									
										
										
										
											2014-06-10 17:46:57 -04:00
										 |  |  | enabled libx264           && require_pkg_config x264 "stdint.h x264.h" x264_encoder_encode && | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |                              { check_cpp_condition x264.h "X264_BUILD >= 118" || | 
					
						
							|  |  |  |                                die "ERROR: libx264 version must be >= 0.118."; } | 
					
						
							| 
									
										
										
										
											2013-10-02 14:46:26 +00:00
										 |  |  | enabled libx265           && require_pkg_config x265 x265.h x265_encoder_encode && | 
					
						
							| 
									
										
										
										
											2014-06-11 21:19:42 +01:00
										 |  |  |                              { check_cpp_condition x265.h "X265_BUILD >= 17" || | 
					
						
							|  |  |  |                                die "ERROR: libx265 version must be >= 17."; } | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled libxavs           && require libxavs xavs.h xavs_encoder_encode -lxavs | 
					
						
							|  |  |  | enabled libxvid           && require libxvid xvid.h xvid_global -lxvidcore | 
					
						
							|  |  |  | enabled openssl           && { check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto || | 
					
						
							|  |  |  |                                check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 || | 
					
						
							|  |  |  |                                check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || | 
					
						
							|  |  |  |                                die "ERROR: openssl not found"; } | 
					
						
							| 
									
										
										
										
											2006-08-29 07:34:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-19 14:13:58 +02:00
										 |  |  | if enabled gnutls; then | 
					
						
							|  |  |  |     { check_lib nettle/bignum.h nettle_mpz_get_str_256 -lnettle -lhogweed -lgmp && enable nettle; } || | 
					
						
							|  |  |  |     { check_lib gcrypt.h gcry_mpi_new -lgcrypt && enable gcrypt; } | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-11 01:59:05 +00:00
										 |  |  | # libdc1394 check | 
					
						
							|  |  |  | if enabled libdc1394; then | 
					
						
							| 
									
										
										
										
											2015-02-22 20:33:24 +00:00
										 |  |  |     { require_pkg_config libdc1394-2 dc1394/dc1394.h dc1394_new && | 
					
						
							| 
									
										
										
										
											2008-01-11 01:59:05 +00:00
										 |  |  |         enable libdc1394_2; } || | 
					
						
							|  |  |  |     { check_lib libdc1394/dc1394_control.h dc1394_create_handle -ldc1394_control -lraw1394 && | 
					
						
							|  |  |  |         enable libdc1394_1; } || | 
					
						
							|  |  |  |     die "ERROR: No version of libdc1394 found " | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-03-28 20:37:13 +03:00
										 |  |  | if check_pkg_config sdl SDL_events.h SDL_PollEvent; then | 
					
						
							| 
									
										
										
										
											2010-01-17 19:10:05 +00:00
										 |  |  |     check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x010201" $sdl_cflags && | 
					
						
							| 
									
										
										
										
											2013-03-06 17:15:50 +01:00
										 |  |  |     check_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) < 0x010300" $sdl_cflags && | 
					
						
							|  |  |  |     enable sdl | 
					
						
							| 
									
										
										
										
											2004-06-04 10:10:29 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-26 11:37:54 -08:00
										 |  |  | pod2man --help     > /dev/null 2>&1 && enable pod2man   || disable pod2man | 
					
						
							| 
									
										
										
										
											2008-05-15 11:37:29 +00:00
										 |  |  | texi2html -version > /dev/null 2>&1 && enable texi2html || disable texi2html | 
					
						
							| 
									
										
										
										
											2004-07-05 18:06:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-07 18:54:52 +01:00
										 |  |  | check_header linux/fb.h | 
					
						
							| 
									
										
										
										
											2007-09-05 18:52:14 +00:00
										 |  |  | check_header linux/videodev2.h | 
					
						
							| 
									
										
										
										
											2011-12-27 06:31:41 +01:00
										 |  |  | check_struct linux/videodev2.h "struct v4l2_frmivalenum" discrete | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-21 22:47:52 +00:00
										 |  |  | check_header sys/videoio.h | 
					
						
							| 
									
										
										
										
											2006-02-08 15:55:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-23 20:38:17 +00:00
										 |  |  | check_func_headers "windows.h vfw.h" capCreateCaptureWindow "$vfwcap_indev_extralibs" | 
					
						
							| 
									
										
										
										
											2010-07-11 22:17:17 +00:00
										 |  |  | # check that WM_CAP_DRIVER_CONNECT is defined to the proper value | 
					
						
							|  |  |  | # w32api 3.12 had it defined wrong | 
					
						
							|  |  |  | check_cpp_condition vfw.h "WM_CAP_DRIVER_CONNECT > WM_USER" && enable vfwcap_defines | 
					
						
							| 
									
										
										
										
											2008-03-08 22:10:28 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-12-24 03:53:15 +00:00
										 |  |  | # check for ioctl_meteor.h, ioctl_bt848.h and alternatives | 
					
						
							| 
									
										
										
										
											2007-09-17 19:33:55 +00:00
										 |  |  | { check_header dev/bktr/ioctl_meteor.h && | 
					
						
							|  |  |  |   check_header dev/bktr/ioctl_bt848.h; } || | 
					
						
							|  |  |  | { check_header machine/ioctl_meteor.h && | 
					
						
							|  |  |  |   check_header machine/ioctl_bt848.h; } || | 
					
						
							|  |  |  | { check_header dev/video/meteor/ioctl_meteor.h && | 
					
						
							|  |  |  |   check_header dev/video/bktr/ioctl_bt848.h; } || | 
					
						
							|  |  |  | check_header dev/ic/bt8xx.h | 
					
						
							| 
									
										
										
										
											2006-12-24 03:53:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-26 19:03:41 -04:00
										 |  |  | check_header sndio.h | 
					
						
							| 
									
										
										
										
											2007-09-07 13:47:14 +00:00
										 |  |  | check_header sys/soundcard.h | 
					
						
							|  |  |  | check_header soundcard.h | 
					
						
							| 
									
										
										
										
											2007-02-10 22:24:45 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  | enabled_any alsa_indev alsa_outdev && | 
					
						
							|  |  |  |     check_lib2 alsa/asoundlib.h snd_pcm_htimestamp -lasound | 
					
						
							| 
									
										
										
										
											2009-01-26 09:16:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-11 18:22:31 -04:00
										 |  |  | enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack && | 
					
						
							|  |  |  |     check_func jack_port_get_latency_range -ljack | 
					
						
							| 
									
										
										
										
											2009-04-02 23:53:47 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-26 19:03:41 -04:00
										 |  |  | enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-01-17 11:24:01 +01:00
										 |  |  | if enabled libcdio; then | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |     check_lib2 "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio || | 
					
						
							| 
									
										
										
										
											2015-02-22 19:49:52 +00:00
										 |  |  |     check_lib2 "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio || | 
					
						
							|  |  |  |     die "ERROR: No usable libcdio/cdparanoia found" | 
					
						
							| 
									
										
										
										
											2013-01-17 11:24:01 +01:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2011-09-13 17:23:06 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-03 19:21:00 +01:00
										 |  |  | check_lib X11/Xlib.h XOpenDisplay -lX11 && enable xlib | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-08-24 14:18:22 +02:00
										 |  |  | if enabled libxcb || enabled x11grab && ! disabled libxcb; then | 
					
						
							| 
									
										
										
										
											2014-11-25 23:38:17 +01:00
										 |  |  |     check_pkg_config xcb-shape xcb/shape.h xcb_shape_rectangles || { | 
					
						
							| 
									
										
										
										
											2014-08-24 14:18:22 +02:00
										 |  |  |         enabled libxcb && die "ERROR: libxcb not found"; | 
					
						
							|  |  |  |     } && disable x11grab && enable libxcb | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     disabled libxcb_shm || | 
					
						
							|  |  |  |         check_pkg_config xcb-shm xcb/shm.h xcb_shm_attach || { | 
					
						
							|  |  |  |             enabled libxcb_shm && die "ERROR: libxcb_shm not found"; | 
					
						
							|  |  |  |         } && check_header sys/shm.h && enable libxcb_shm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     disabled libxcb_xfixes || | 
					
						
							|  |  |  |         check_pkg_config xcb-xfixes xcb/xfixes.h xcb_xfixes_get_cursor_image || { | 
					
						
							|  |  |  |             enabled libxcb_xfixes && die "ERROR: libxcb_xfixes not found"; | 
					
						
							|  |  |  |         } && enable libxcb_xfixes | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     add_cflags "$xcb_event_cflags $xcb_shm_cflags $xcb_xfixes_cflags" | 
					
						
							|  |  |  |     add_extralibs "$xcb_event_libs $xcb_shm_libs $xcb_xfixes_libs" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if enabled x11grab; then | 
					
						
							|  |  |  |     enabled xlib || die "ERROR: Xlib not found" | 
					
						
							|  |  |  |     require Xext X11/extensions/XShm.h XShmCreateImage -lXext | 
					
						
							|  |  |  |     require Xfixes X11/extensions/Xfixes.h XFixesGetCursorImage -lXfixes | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2006-12-13 08:45:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-02-21 12:34:42 +01:00
										 |  |  | enabled vdpau && | 
					
						
							| 
									
										
										
										
											2012-08-19 21:35:30 +02:00
										 |  |  |     check_cpp_condition vdpau/vdpau.h "defined VDP_DECODER_PROFILE_MPEG4_PART2_ASP" || | 
					
						
							| 
									
										
										
										
											2013-02-21 12:34:42 +01:00
										 |  |  |     disable vdpau | 
					
						
							| 
									
										
										
										
											2009-12-14 06:33:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-03 19:21:00 +01:00
										 |  |  | enabled vdpau && enabled xlib && | 
					
						
							| 
									
										
										
										
											2014-02-13 00:44:08 +01:00
										 |  |  |     check_func_headers "vdpau/vdpau.h vdpau/vdpau_x11.h" vdp_device_create_x11 -lvdpau && | 
					
						
							|  |  |  |     prepend avconv_libs $($ldflags_filter "-lvdpau") && | 
					
						
							| 
									
										
										
										
											2013-11-03 19:21:00 +01:00
										 |  |  |     enable vdpau_x11 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-10 02:42:19 +00:00
										 |  |  | enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel" | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # add some useful compiler flags if supported | 
					
						
							|  |  |  | check_cflags -Wdeclaration-after-statement | 
					
						
							| 
									
										
										
										
											2006-06-01 19:28:41 +00:00
										 |  |  | check_cflags -Wall | 
					
						
							| 
									
										
										
										
											2006-08-30 23:02:52 +00:00
										 |  |  | check_cflags -Wdisabled-optimization | 
					
						
							|  |  |  | check_cflags -Wpointer-arith | 
					
						
							|  |  |  | check_cflags -Wredundant-decls | 
					
						
							| 
									
										
										
										
											2008-02-01 01:31:49 +00:00
										 |  |  | check_cflags -Wcast-qual | 
					
						
							| 
									
										
										
										
											2008-02-03 21:33:26 +00:00
										 |  |  | check_cflags -Wwrite-strings | 
					
						
							| 
									
										
										
										
											2008-02-03 22:31:25 +00:00
										 |  |  | check_cflags -Wtype-limits | 
					
						
							| 
									
										
										
										
											2009-01-16 00:37:38 +00:00
										 |  |  | check_cflags -Wundef | 
					
						
							| 
									
										
										
										
											2010-02-23 21:03:25 +00:00
										 |  |  | check_cflags -Wmissing-prototypes | 
					
						
							| 
									
										
										
										
											2011-10-10 10:31:31 +02:00
										 |  |  | check_cflags -Wstrict-prototypes | 
					
						
							| 
									
										
										
										
											2007-02-11 17:25:49 +00:00
										 |  |  | enabled extra_warnings && check_cflags -Winline | 
					
						
							| 
									
										
										
										
											2003-10-18 18:47:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-31 20:14:37 +01:00
										 |  |  | check_disable_warning(){ | 
					
						
							|  |  |  |     warning_flag=-W${1#-Wno-} | 
					
						
							|  |  |  |     test_cflags $warning_flag && add_cflags $1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | check_disable_warning -Wno-parentheses | 
					
						
							|  |  |  | check_disable_warning -Wno-switch | 
					
						
							|  |  |  | check_disable_warning -Wno-format-zero-length | 
					
						
							|  |  |  | check_disable_warning -Wno-pointer-sign | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-16 19:26:31 +00:00
										 |  |  | # add some linker flags | 
					
						
							| 
									
										
										
										
											2007-06-15 20:43:58 +00:00
										 |  |  | check_ldflags -Wl,--warn-common | 
					
						
							| 
									
										
										
										
											2012-04-26 06:11:52 +01:00
										 |  |  | check_ldflags -Wl,-rpath-link=libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample | 
					
						
							| 
									
										
										
										
											2014-08-23 10:04:26 -04:00
										 |  |  | enabled rpath && add_ldexeflags -Wl,-rpath,$libdir | 
					
						
							| 
									
										
										
										
											2010-10-15 11:31:58 +01:00
										 |  |  | test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic | 
					
						
							| 
									
										
										
										
											2003-06-10 08:32:12 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-25 08:46:14 +00:00
										 |  |  | # add some strip flags | 
					
						
							|  |  |  | # -wN '..@*' is more selective than -x, but not available everywhere. | 
					
						
							|  |  |  | check_stripflags -wN \'..@*\' || check_stripflags -x || strip='true' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-20 13:51:50 +02:00
										 |  |  | enabled neon_clobber_test && | 
					
						
							|  |  |  |     check_ldflags -Wl,--wrap,avcodec_open2              \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avcodec_decode_audio4      \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avcodec_decode_video2      \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avcodec_decode_subtitle2   \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avcodec_encode_audio2      \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avcodec_encode_video2      \ | 
					
						
							| 
									
										
										
										
											2014-01-11 22:43:26 +02:00
										 |  |  |                   -Wl,--wrap,avcodec_encode_subtitle    \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avresample_convert || | 
					
						
							| 
									
										
										
										
											2013-12-20 13:51:50 +02:00
										 |  |  |     disable neon_clobber_test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-07-16 16:51:33 +02:00
										 |  |  | enabled xmm_clobber_test && | 
					
						
							| 
									
										
										
										
											2012-02-02 11:48:13 -08:00
										 |  |  |     check_ldflags -Wl,--wrap,avcodec_open2              \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avcodec_decode_audio4      \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avcodec_decode_video2      \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avcodec_decode_subtitle2   \ | 
					
						
							|  |  |  |                   -Wl,--wrap,avcodec_encode_audio2      \ | 
					
						
							| 
									
										
										
										
											2013-09-10 12:31:46 +02:00
										 |  |  |                   -Wl,--wrap,avcodec_encode_video2      \ | 
					
						
							| 
									
										
										
										
											2012-02-02 11:48:13 -08:00
										 |  |  |                   -Wl,--wrap,avcodec_encode_subtitle    \ | 
					
						
							| 
									
										
										
										
											2014-01-11 22:43:26 +02:00
										 |  |  |                   -Wl,--wrap,avresample_convert         \ | 
					
						
							| 
									
										
										
										
											2012-07-16 16:51:33 +02:00
										 |  |  |                   -Wl,--wrap,sws_scale || | 
					
						
							| 
									
										
										
										
											2012-02-02 11:48:13 -08:00
										 |  |  |     disable xmm_clobber_test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-16 04:49:02 +00:00
										 |  |  | echo "X{};" > $TMPV | 
					
						
							| 
									
										
										
										
											2010-06-15 13:26:52 +00:00
										 |  |  | if test_ldflags -Wl,--version-script,$TMPV; then | 
					
						
							| 
									
										
										
										
											2010-01-16 04:49:02 +00:00
										 |  |  |     append SHFLAGS '-Wl,--version-script,\$(SUBDIR)lib\$(NAME).ver' | 
					
						
							| 
									
										
										
										
											2010-06-15 13:26:52 +00:00
										 |  |  |     check_cc <<EOF && enable symver_asm_label | 
					
						
							|  |  |  | void ff_foo(void) __asm__ ("av_foo@VERSION"); | 
					
						
							| 
									
										
										
										
											2010-06-15 18:06:28 +00:00
										 |  |  | void ff_foo(void) { ${inline_asm+__asm__($quotes);} } | 
					
						
							| 
									
										
										
										
											2010-06-15 13:26:52 +00:00
										 |  |  | EOF | 
					
						
							|  |  |  |     check_cc <<EOF && enable symver_gnu_asm | 
					
						
							|  |  |  | __asm__(".symver ff_foo,av_foo@VERSION"); | 
					
						
							|  |  |  | void ff_foo(void) {} | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2010-01-16 04:49:02 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-20 15:50:14 +01:00
										 |  |  | if [ -z "$optflags" ]; then | 
					
						
							|  |  |  |     if enabled small; then | 
					
						
							|  |  |  |         optflags=$cflags_size | 
					
						
							|  |  |  |     elif enabled optimizations; then | 
					
						
							|  |  |  |         optflags=$cflags_speed | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         optflags=$cflags_noopt | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2003-09-09 19:03:14 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2012-09-20 15:50:14 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | check_optflags(){ | 
					
						
							|  |  |  |     check_cflags "$@" | 
					
						
							|  |  |  |     enabled lto && check_ldflags "$@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if enabled lto; then | 
					
						
							|  |  |  |     test "$cc_type" != "$ld_type" && die "LTO requires same compiler and linker" | 
					
						
							|  |  |  |     check_cflags  -flto | 
					
						
							|  |  |  |     check_ldflags -flto $cpuflags | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | check_optflags $optflags | 
					
						
							|  |  |  | check_optflags -fno-math-errno | 
					
						
							|  |  |  | check_optflags -fno-signed-zeros | 
					
						
							| 
									
										
										
										
											2003-09-09 19:03:14 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-21 21:07:32 +00:00
										 |  |  | if enabled icc; then | 
					
						
							| 
									
										
										
										
											2009-02-21 22:12:47 +00:00
										 |  |  |     # Just warnings, no remarks | 
					
						
							|  |  |  |     check_cflags -w1 | 
					
						
							|  |  |  |     # -wd: Disable following warnings | 
					
						
							|  |  |  |     # 144, 167, 556: -Wno-pointer-sign | 
					
						
							| 
									
										
										
										
											2011-03-23 11:24:10 +00:00
										 |  |  |     # 1292: attribute "foo" ignored | 
					
						
							| 
									
										
										
										
											2012-04-25 21:15:39 +01:00
										 |  |  |     # 1419: external declaration in primary source file | 
					
						
							| 
									
										
										
										
											2009-02-21 22:12:47 +00:00
										 |  |  |     # 10006: ignoring unknown option -fno-signed-zeros | 
					
						
							| 
									
										
										
										
											2010-11-04 10:38:39 +00:00
										 |  |  |     # 10148: ignoring unknown option -Wno-parentheses | 
					
						
							| 
									
										
										
										
											2009-02-21 22:12:47 +00:00
										 |  |  |     # 10156: ignoring option '-W'; no argument required | 
					
						
							| 
									
										
										
										
											2012-04-25 21:15:39 +01:00
										 |  |  |     check_cflags -wd144,167,556,1292,1419,10006,10148,10156 | 
					
						
							| 
									
										
										
										
											2009-02-21 22:12:47 +00:00
										 |  |  |     # 11030: Warning unknown option --as-needed | 
					
						
							|  |  |  |     # 10156: ignoring option '-export'; no argument required | 
					
						
							|  |  |  |     check_ldflags -wd10156,11030 | 
					
						
							| 
									
										
										
										
											2009-03-15 13:22:41 +00:00
										 |  |  |     # icc 11.0 and 11.1 work with ebp_available, but don't pass the test | 
					
						
							|  |  |  |     enable ebp_available | 
					
						
							| 
									
										
										
										
											2010-09-21 17:57:17 +00:00
										 |  |  |     if enabled x86_32; then | 
					
						
							| 
									
										
										
										
											2012-07-18 20:40:38 +01:00
										 |  |  |         icc_version=$($cc -dumpversion) | 
					
						
							| 
									
										
										
										
											2012-07-16 16:51:33 +02:00
										 |  |  |         test ${icc_version%%.*} -ge 11 && | 
					
						
							|  |  |  |             check_cflags -falign-stack=maintain-16-byte || | 
					
						
							| 
									
										
										
										
											2010-09-21 17:57:17 +00:00
										 |  |  |             disable aligned_stack | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2009-02-22 00:13:19 +00:00
										 |  |  | elif enabled ccc; then | 
					
						
							|  |  |  |     # disable some annoying warnings | 
					
						
							| 
									
										
										
										
											2012-10-23 00:05:44 +01:00
										 |  |  |     add_cflags -msg_disable bitnotint | 
					
						
							|  |  |  |     add_cflags -msg_disable mixfuncvoid | 
					
						
							|  |  |  |     add_cflags -msg_disable nonstandcast | 
					
						
							|  |  |  |     add_cflags -msg_disable unsupieee | 
					
						
							| 
									
										
										
										
											2009-07-15 19:02:07 +00:00
										 |  |  | elif enabled gcc; then | 
					
						
							| 
									
										
										
										
											2012-09-20 15:50:14 +01:00
										 |  |  |     check_optflags -fno-tree-vectorize | 
					
						
							| 
									
										
										
										
											2010-06-27 14:16:54 +00:00
										 |  |  |     check_cflags -Werror=implicit-function-declaration | 
					
						
							| 
									
										
										
										
											2010-03-08 02:36:27 +00:00
										 |  |  |     check_cflags -Werror=missing-prototypes | 
					
						
							| 
									
										
										
										
											2013-01-14 20:38:33 +01:00
										 |  |  |     check_cflags -Werror=return-type | 
					
						
							| 
									
										
										
										
											2011-12-20 16:32:06 +00:00
										 |  |  |     check_cflags -Werror=declaration-after-statement | 
					
						
							| 
									
										
										
										
											2012-10-03 23:00:44 +01:00
										 |  |  |     check_cflags -Werror=vla | 
					
						
							| 
									
										
										
										
											2014-12-21 14:38:57 +01:00
										 |  |  |     check_cflags -Werror=format-security | 
					
						
							| 
									
										
										
										
											2013-11-02 12:16:00 +01:00
										 |  |  |     enabled extra_warnings || check_disable_warning -Wno-maybe-uninitialized | 
					
						
							| 
									
										
										
										
											2010-09-02 21:41:07 +00:00
										 |  |  | elif enabled llvm_gcc; then | 
					
						
							|  |  |  |     check_cflags -mllvm -stack-alignment=16 | 
					
						
							| 
									
										
										
										
											2009-10-22 21:19:13 +00:00
										 |  |  | elif enabled clang; then | 
					
						
							| 
									
										
										
										
											2010-09-02 19:40:18 +00:00
										 |  |  |     check_cflags -mllvm -stack-alignment=16 | 
					
						
							| 
									
										
										
										
											2009-10-22 21:19:13 +00:00
										 |  |  |     check_cflags -Qunused-arguments | 
					
						
							| 
									
										
										
										
											2012-11-13 19:01:51 +02:00
										 |  |  |     check_cflags -Werror=implicit-function-declaration | 
					
						
							|  |  |  |     check_cflags -Werror=missing-prototypes | 
					
						
							| 
									
										
										
										
											2013-01-14 20:38:33 +01:00
										 |  |  |     check_cflags -Werror=return-type | 
					
						
							| 
									
										
										
										
											2013-09-12 20:17:15 +02:00
										 |  |  | elif enabled cparser; then | 
					
						
							|  |  |  |     add_cflags -Wno-missing-variable-declarations | 
					
						
							|  |  |  |     add_cflags -Wno-empty-statement | 
					
						
							| 
									
										
										
										
											2010-01-20 20:06:11 +00:00
										 |  |  | elif enabled armcc; then | 
					
						
							| 
									
										
										
										
											2014-04-18 23:40:59 +03:00
										 |  |  |     add_cflags -W${armcc_opt},--diag_suppress=4343 # hardfp compat | 
					
						
							|  |  |  |     add_cflags -W${armcc_opt},--diag_suppress=3036 # using . as system include dir | 
					
						
							| 
									
										
										
										
											2014-06-18 16:21:00 +02:00
										 |  |  |     # 2523: use of inline assembly is deprecated | 
					
						
							| 
									
										
										
										
											2010-08-26 12:52:10 +00:00
										 |  |  |     add_cflags -W${armcc_opt},--diag_suppress=2523 | 
					
						
							|  |  |  |     add_cflags -W${armcc_opt},--diag_suppress=1207 | 
					
						
							| 
									
										
										
										
											2011-01-15 14:55:08 +00:00
										 |  |  |     add_cflags -W${armcc_opt},--diag_suppress=1293 # assignment in condition | 
					
						
							| 
									
										
										
										
											2011-01-16 12:50:49 +00:00
										 |  |  |     add_cflags -W${armcc_opt},--diag_suppress=3343 # hardfp compat | 
					
						
							| 
									
										
										
										
											2011-06-25 18:51:00 +01:00
										 |  |  |     add_cflags -W${armcc_opt},--diag_suppress=167  # pointer sign | 
					
						
							|  |  |  |     add_cflags -W${armcc_opt},--diag_suppress=513  # pointer sign | 
					
						
							| 
									
										
										
										
											2010-01-22 03:25:27 +00:00
										 |  |  | elif enabled tms470; then | 
					
						
							|  |  |  |     add_cflags -pds=824 -pds=837 | 
					
						
							| 
									
										
										
										
											2013-12-09 15:03:22 +01:00
										 |  |  |     disable inline_asm | 
					
						
							| 
									
										
										
										
											2011-01-23 23:13:33 +00:00
										 |  |  | elif enabled pathscale; then | 
					
						
							|  |  |  |     add_cflags -fstrict-overflow -OPT:wrap_around_unsafe_opt=OFF | 
					
						
							| 
									
										
										
										
											2013-06-19 21:07:49 +00:00
										 |  |  | elif enabled_any msvc icl; then | 
					
						
							| 
									
										
										
										
											2012-09-11 11:10:12 +03:00
										 |  |  |     enabled x86_32 && disable aligned_stack | 
					
						
							| 
									
										
										
										
											2013-06-24 21:10:12 +00:00
										 |  |  |     enabled_all x86_32 debug && add_cflags -Oy- | 
					
						
							| 
									
										
										
										
											2013-07-19 15:44:39 +02:00
										 |  |  |     enabled debug && add_ldflags -debug | 
					
						
							| 
									
										
										
										
											2013-09-19 16:58:21 -04:00
										 |  |  |     enable pragma_deprecated | 
					
						
							| 
									
										
										
										
											2013-06-19 21:07:49 +00:00
										 |  |  |     if enabled icl; then | 
					
						
							| 
									
										
										
										
											2013-09-24 04:30:38 -04:00
										 |  |  |         # -Qansi-alias is basically -fstrict-aliasing, but does not work | 
					
						
							|  |  |  |         # (correctly) on icl 13.x. | 
					
						
							|  |  |  |         check_cpp_condition "windows.h" "__ICL < 1300 || __ICL >= 1400" && | 
					
						
							|  |  |  |             add_cflags -Qansi-alias | 
					
						
							| 
									
										
										
										
											2013-06-20 13:42:21 +02:00
										 |  |  |         # icl will pass the inline asm tests but inline asm is currently | 
					
						
							|  |  |  |         # not supported (build will fail) | 
					
						
							| 
									
										
										
										
											2013-06-19 21:07:49 +00:00
										 |  |  |         disable inline_asm | 
					
						
							|  |  |  |     fi | 
					
						
							| 
									
										
										
										
											2008-05-11 13:08:18 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-07 19:23:28 +01:00
										 |  |  | case $as_type in | 
					
						
							|  |  |  |     clang) | 
					
						
							|  |  |  |         add_asflags -Qunused-arguments | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | case $ld_type in | 
					
						
							|  |  |  |     clang) | 
					
						
							|  |  |  |         check_ldflags -Qunused-arguments | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-15 02:38:17 +01:00
										 |  |  | case $target_os in | 
					
						
							| 
									
										
										
										
											2012-10-23 00:05:44 +01:00
										 |  |  |     osf1) | 
					
						
							|  |  |  |         enabled ccc && add_ldflags '-Wl,-expect_unresolved,*' | 
					
						
							|  |  |  |     ;; | 
					
						
							| 
									
										
										
										
											2012-10-15 02:38:17 +01:00
										 |  |  |     plan9) | 
					
						
							|  |  |  |         add_cppflags -Dmain=plan9_main | 
					
						
							|  |  |  |     ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-31 01:56:03 +01:00
										 |  |  | enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  | check_deps $CONFIG_LIST       \ | 
					
						
							| 
									
										
										
										
											2008-10-24 23:18:21 +00:00
										 |  |  |            $CONFIG_EXTRA      \ | 
					
						
							| 
									
										
										
										
											2007-11-23 11:09:28 +00:00
										 |  |  |            $HAVE_LIST         \ | 
					
						
							| 
									
										
										
										
											2011-09-12 17:52:44 +02:00
										 |  |  |            $ALL_COMPONENTS    \ | 
					
						
							| 
									
										
										
										
											2007-02-11 16:24:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-28 23:00:38 +02:00
										 |  |  | enabled_all dxva2 CoTaskMemFree && | 
					
						
							|  |  |  |     prepend avconv_libs $($ldflags_filter "-lole32") && | 
					
						
							|  |  |  |     enable dxva2_lib | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-18 14:37:02 +01:00
										 |  |  | ! enabled_any memalign posix_memalign aligned_malloc && | 
					
						
							| 
									
										
										
										
											2014-11-18 13:52:26 +02:00
										 |  |  |     enabled simd_align_16 && enable memalign_hack | 
					
						
							| 
									
										
										
										
											2011-05-24 20:11:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-13 23:03:28 +02:00
										 |  |  | map 'enabled $v && intrinsics=${v#intrinsics_}' $INTRINSICS_LIST | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-23 04:24:53 +01:00
										 |  |  | for thread in $THREADS_LIST; do | 
					
						
							|  |  |  |     if enabled $thread; then | 
					
						
							|  |  |  |         test -n "$thread_type" && | 
					
						
							|  |  |  |             die "ERROR: Only one thread type must be selected." || | 
					
						
							|  |  |  |             thread_type="$thread" | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-30 05:10:18 -07:00
										 |  |  | enabled zlib && add_cppflags -DZLIB_CONST | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | # conditional library dependencies, in linking order | 
					
						
							|  |  |  | enabled movie_filter    && prepend avfilter_deps "avformat avcodec" | 
					
						
							|  |  |  | enabled resample_filter && prepend avfilter_deps "avresample" | 
					
						
							|  |  |  | enabled scale_filter    && prepend avfilter_deps "swscale" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-04-17 12:51:03 +02:00
										 |  |  | enabled opus_decoder    && prepend avcodec_deps "avresample" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | expand_deps(){ | 
					
						
							|  |  |  |     lib_deps=${1}_deps | 
					
						
							|  |  |  |     eval "deps=\$$lib_deps" | 
					
						
							|  |  |  |     append $lib_deps $(map 'eval echo \$${v}_deps' $deps) | 
					
						
							|  |  |  |     unique $lib_deps | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | map 'expand_deps $v' $LIBRARY_LIST | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-03-25 22:49:54 +00:00
										 |  |  | echo "install prefix            $prefix" | 
					
						
							| 
									
										
										
										
											2007-01-06 21:53:48 +00:00
										 |  |  | echo "source path               $source_path" | 
					
						
							|  |  |  | echo "C compiler                $cc" | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  | echo "C library                 $libc_type" | 
					
						
							| 
									
										
										
										
											2013-02-28 16:06:39 +01:00
										 |  |  | if test "$host_cc" != "$cc"; then | 
					
						
							|  |  |  |     echo "host C compiler           $host_cc" | 
					
						
							| 
									
										
										
										
											2013-02-28 16:16:10 +01:00
										 |  |  |     echo "host C library            $host_libc_type" | 
					
						
							| 
									
										
										
										
											2013-02-28 16:06:39 +01:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2007-01-06 21:53:48 +00:00
										 |  |  | echo "ARCH                      $arch ($cpu)" | 
					
						
							| 
									
										
										
										
											2008-03-25 22:49:51 +00:00
										 |  |  | if test "$build_suffix" != ""; then | 
					
						
							|  |  |  |     echo "build suffix              $build_suffix" | 
					
						
							| 
									
										
										
										
											2005-05-08 15:04:59 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2008-09-26 21:37:50 +00:00
										 |  |  | if test "$extra_version" != ""; then | 
					
						
							|  |  |  |     echo "version string suffix     $extra_version" | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  | echo "big-endian                ${bigendian-no}" | 
					
						
							| 
									
										
										
										
											2009-04-08 20:26:18 +00:00
										 |  |  | echo "runtime cpu detection     ${runtime_cpudetect-no}" | 
					
						
							| 
									
										
										
										
											2009-01-11 21:55:14 +00:00
										 |  |  | if enabled x86; then | 
					
						
							| 
									
										
										
										
											2011-05-26 20:03:37 +02:00
										 |  |  |     echo "${yasmexe}                      ${yasm-no}" | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  |     echo "MMX enabled               ${mmx-no}" | 
					
						
							| 
									
										
										
										
											2012-07-08 18:42:12 +02:00
										 |  |  |     echo "MMXEXT enabled            ${mmxext-no}" | 
					
						
							| 
									
										
										
										
											2009-01-25 19:48:26 +00:00
										 |  |  |     echo "3DNow! enabled            ${amd3dnow-no}" | 
					
						
							| 
									
										
										
										
											2009-02-18 00:03:09 +00:00
										 |  |  |     echo "3DNow! extended enabled   ${amd3dnowext-no}" | 
					
						
							| 
									
										
										
										
											2009-01-07 23:38:54 +00:00
										 |  |  |     echo "SSE enabled               ${sse-no}" | 
					
						
							| 
									
										
										
										
											2009-01-25 18:15:41 +00:00
										 |  |  |     echo "SSSE3 enabled             ${ssse3-no}" | 
					
						
							| 
									
										
										
										
											2011-05-15 11:46:18 +02:00
										 |  |  |     echo "AVX enabled               ${avx-no}" | 
					
						
							| 
									
										
										
										
											2014-02-22 04:54:00 +00:00
										 |  |  |     echo "XOP enabled               ${xop-no}" | 
					
						
							| 
									
										
										
										
											2014-02-22 04:54:01 +00:00
										 |  |  |     echo "FMA3 enabled              ${fma3-no}" | 
					
						
							| 
									
										
										
										
											2012-06-18 23:39:14 -04:00
										 |  |  |     echo "FMA4 enabled              ${fma4-no}" | 
					
						
							| 
									
										
										
										
											2013-04-26 16:49:02 +02:00
										 |  |  |     echo "i686 features enabled     ${i686-no}" | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  |     echo "CMOV is fast              ${fast_cmov-no}" | 
					
						
							| 
									
										
										
										
											2007-08-26 23:09:34 +00:00
										 |  |  |     echo "EBX available             ${ebx_available-no}" | 
					
						
							|  |  |  |     echo "EBP available             ${ebp_available-no}" | 
					
						
							| 
									
										
										
										
											2002-10-01 08:46:41 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2013-12-10 20:13:32 +01:00
										 |  |  | if enabled aarch64; then | 
					
						
							|  |  |  |     echo "NEON enabled              ${neon-no}" | 
					
						
							|  |  |  |     echo "VFP enabled               ${vfp-no}" | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2009-01-11 21:55:14 +00:00
										 |  |  | if enabled arm; then | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  |     echo "ARMv5TE enabled           ${armv5te-no}" | 
					
						
							|  |  |  |     echo "ARMv6 enabled             ${armv6-no}" | 
					
						
							| 
									
										
										
										
											2008-12-30 03:13:44 +00:00
										 |  |  |     echo "ARMv6T2 enabled           ${armv6t2-no}" | 
					
						
							| 
									
										
										
										
											2012-12-04 23:29:34 +00:00
										 |  |  |     echo "VFP enabled               ${vfp-no}" | 
					
						
							| 
									
										
										
										
											2008-06-05 19:51:15 +00:00
										 |  |  |     echo "NEON enabled              ${neon-no}" | 
					
						
							| 
									
										
										
										
											2005-06-28 22:46:36 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2009-01-11 21:55:14 +00:00
										 |  |  | if enabled ppc; then | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  |     echo "AltiVec enabled           ${altivec-no}" | 
					
						
							| 
									
										
										
										
											2009-01-25 18:15:41 +00:00
										 |  |  |     echo "PPC 4xx optimizations     ${ppc4xx-no}" | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  |     echo "dcbzl available           ${dcbzl-no}" | 
					
						
							| 
									
										
										
										
											2009-01-25 18:15:41 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  | echo "debug symbols             ${debug-no}" | 
					
						
							| 
									
										
										
										
											2011-06-19 18:41:14 +01:00
										 |  |  | echo "optimize for size         ${small-no}" | 
					
						
							| 
									
										
										
										
											2007-10-24 19:17:15 +00:00
										 |  |  | echo "optimizations             ${optimizations-no}" | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  | echo "static                    ${static-no}" | 
					
						
							|  |  |  | echo "shared                    ${shared-no}" | 
					
						
							| 
									
										
										
										
											2008-02-26 21:32:56 +00:00
										 |  |  | echo "new filter support        ${avfilter-no}" | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  | echo "network support           ${network-no}" | 
					
						
							|  |  |  | echo "threading support         ${thread_type-no}" | 
					
						
							| 
									
										
										
										
											2011-12-21 15:32:39 +02:00
										 |  |  | echo "safe bitstream reader     ${safe_bitstream_reader-no}" | 
					
						
							| 
									
										
										
										
											2007-06-17 23:14:08 +00:00
										 |  |  | echo "SDL support               ${sdl-no}" | 
					
						
							| 
									
										
										
										
											2012-05-09 04:29:53 +01:00
										 |  |  | test -n "$random_seed" && | 
					
						
							|  |  |  |     echo "random seed               ${random_seed}" | 
					
						
							| 
									
										
										
										
											2008-02-27 22:41:14 +00:00
										 |  |  | echo | 
					
						
							| 
									
										
										
										
											2001-07-22 14:18:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-27 22:25:27 +01:00
										 |  |  | echo "External libraries:" | 
					
						
							|  |  |  | print_enabled '' $EXTERNAL_LIBRARY_LIST | print_3_columns | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-02 08:48:06 +00:00
										 |  |  | for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf indev outdev; do | 
					
						
							| 
									
										
										
										
											2007-11-04 02:20:12 +00:00
										 |  |  |     echo "Enabled ${type}s:" | 
					
						
							| 
									
										
										
										
											2008-02-26 21:50:06 +00:00
										 |  |  |     eval list=\$$(toupper $type)_LIST | 
					
						
							| 
									
										
										
										
											2013-02-21 16:43:47 +01:00
										 |  |  |     print_enabled '_*' $list | print_3_columns | 
					
						
							| 
									
										
										
										
											2008-02-26 21:50:06 +00:00
										 |  |  |     echo | 
					
						
							| 
									
										
										
										
											2007-11-04 02:20:12 +00:00
										 |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-05-22 10:10:02 +00:00
										 |  |  | license="LGPL version 2.1 or later" | 
					
						
							| 
									
										
										
										
											2008-05-16 16:12:55 +00:00
										 |  |  | if enabled nonfree; then | 
					
						
							| 
									
										
										
										
											2009-05-22 10:10:02 +00:00
										 |  |  |     license="nonfree and unredistributable" | 
					
						
							| 
									
										
										
										
											2009-06-05 11:04:03 +00:00
										 |  |  | elif enabled gplv3; then | 
					
						
							|  |  |  |     license="GPL version 3 or later" | 
					
						
							|  |  |  | elif enabled lgplv3; then | 
					
						
							|  |  |  |     license="LGPL version 3 or later" | 
					
						
							| 
									
										
										
										
											2008-05-16 16:12:55 +00:00
										 |  |  | elif enabled gpl; then | 
					
						
							| 
									
										
										
										
											2009-05-22 10:10:02 +00:00
										 |  |  |     license="GPL version 2 or later" | 
					
						
							| 
									
										
										
										
											2008-05-16 16:12:55 +00:00
										 |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "License: $license" | 
					
						
							| 
									
										
										
										
											2008-01-07 21:37:18 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-16 09:08:19 +00:00
										 |  |  | echo "Creating config.mak and config.h..." | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-14 13:22:11 +02:00
										 |  |  | test -e Makefile || echo "include $source_path/Makefile" > Makefile | 
					
						
							| 
									
										
										
										
											2010-01-19 04:40:10 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-03 21:27:12 +00:00
										 |  |  | config_files="$TMPH config.mak" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | cat > config.mak <<EOF | 
					
						
							|  |  |  | # Automatically generated by configure - do not modify! | 
					
						
							| 
									
										
										
										
											2011-03-14 22:23:10 +01:00
										 |  |  | LIBAV_CONFIGURATION=$LIBAV_CONFIGURATION | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | prefix=$prefix | 
					
						
							|  |  |  | LIBDIR=\$(DESTDIR)$libdir | 
					
						
							|  |  |  | SHLIBDIR=\$(DESTDIR)$shlibdir | 
					
						
							|  |  |  | INCDIR=\$(DESTDIR)$incdir | 
					
						
							|  |  |  | BINDIR=\$(DESTDIR)$bindir | 
					
						
							|  |  |  | DATADIR=\$(DESTDIR)$datadir | 
					
						
							| 
									
										
										
										
											2013-08-28 10:30:14 +02:00
										 |  |  | DOCDIR=\$(DESTDIR)$docdir | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | MANDIR=\$(DESTDIR)$mandir | 
					
						
							| 
									
										
										
										
											2011-06-06 22:38:38 +01:00
										 |  |  | SRC_PATH=$source_path | 
					
						
							| 
									
										
										
										
											2010-07-26 23:44:02 +00:00
										 |  |  | CC_IDENT=$cc_ident | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | ARCH=$arch | 
					
						
							| 
									
										
										
										
											2014-05-13 23:03:28 +02:00
										 |  |  | INTRINSICS=$intrinsics | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | CC=$cc | 
					
						
							|  |  |  | AS=$as | 
					
						
							|  |  |  | LD=$ld | 
					
						
							|  |  |  | DEPCC=$dep_cc | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | DEPCCFLAGS=$DEPCCFLAGS \$(CPPFLAGS) | 
					
						
							|  |  |  | DEPAS=$as | 
					
						
							|  |  |  | DEPASFLAGS=$DEPASFLAGS \$(CPPFLAGS) | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | YASM=$yasmexe | 
					
						
							| 
									
										
										
										
											2012-07-25 13:25:58 +02:00
										 |  |  | DEPYASM=$yasmexe | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | AR=$ar | 
					
						
							| 
									
										
										
										
											2012-09-17 23:56:32 +01:00
										 |  |  | ARFLAGS=$arflags | 
					
						
							|  |  |  | AR_O=$ar_o | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | RANLIB=$ranlib | 
					
						
							| 
									
										
										
										
											2013-09-12 18:06:23 +00:00
										 |  |  | STRIP=$strip | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | LN_S=$ln_s | 
					
						
							|  |  |  | CPPFLAGS=$CPPFLAGS | 
					
						
							|  |  |  | CFLAGS=$CFLAGS | 
					
						
							|  |  |  | ASFLAGS=$ASFLAGS | 
					
						
							| 
									
										
										
										
											2012-07-20 23:43:27 +01:00
										 |  |  | AS_C=$AS_C | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | AS_O=$AS_O | 
					
						
							| 
									
										
										
										
											2012-07-20 23:43:27 +01:00
										 |  |  | CC_C=$CC_C | 
					
						
							| 
									
										
										
										
											2012-10-03 13:48:27 +01:00
										 |  |  | CC_E=$CC_E | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | CC_O=$CC_O | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | LD_O=$LD_O | 
					
						
							| 
									
										
										
										
											2012-08-28 16:06:56 +01:00
										 |  |  | LD_LIB=$LD_LIB | 
					
						
							|  |  |  | LD_PATH=$LD_PATH | 
					
						
							| 
									
										
										
										
											2011-03-17 02:54:12 +01:00
										 |  |  | DLLTOOL=$dlltool | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | LDFLAGS=$LDFLAGS | 
					
						
							| 
									
										
										
										
											2014-07-16 17:00:11 +02:00
										 |  |  | LDEXEFLAGS=$LDEXEFLAGS | 
					
						
							| 
									
										
										
										
											2013-01-14 12:52:00 -05:00
										 |  |  | SHFLAGS=$(echo $($ldflags_filter $SHFLAGS)) | 
					
						
							| 
									
										
										
										
											2013-11-25 08:46:14 +00:00
										 |  |  | STRIPFLAGS=$STRIPFLAGS | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | YASMFLAGS=$YASMFLAGS | 
					
						
							|  |  |  | BUILDSUF=$build_suffix | 
					
						
							|  |  |  | FULLNAME=$FULLNAME | 
					
						
							|  |  |  | LIBPREF=$LIBPREF | 
					
						
							|  |  |  | LIBSUF=$LIBSUF | 
					
						
							|  |  |  | LIBNAME=$LIBNAME | 
					
						
							|  |  |  | SLIBPREF=$SLIBPREF | 
					
						
							|  |  |  | SLIBSUF=$SLIBSUF | 
					
						
							|  |  |  | EXESUF=$EXESUF | 
					
						
							|  |  |  | EXTRA_VERSION=$extra_version | 
					
						
							|  |  |  | CCDEP=$CCDEP | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | CCDEP_FLAGS=$CCDEP_FLAGS | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | ASDEP=$ASDEP | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | ASDEP_FLAGS=$ASDEP_FLAGS | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | CC_DEPFLAGS=$CC_DEPFLAGS | 
					
						
							|  |  |  | AS_DEPFLAGS=$AS_DEPFLAGS | 
					
						
							|  |  |  | HOSTCC=$host_cc | 
					
						
							| 
									
										
										
										
											2012-08-28 13:02:35 +01:00
										 |  |  | HOSTLD=$host_ld | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | HOSTCFLAGS=$host_cflags | 
					
						
							| 
									
										
										
										
											2013-02-03 15:13:17 +01:00
										 |  |  | HOSTCPPFLAGS=$host_cppflags | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | HOSTEXESUF=$HOSTEXESUF | 
					
						
							|  |  |  | HOSTLDFLAGS=$host_ldflags | 
					
						
							|  |  |  | HOSTLIBS=$host_libs | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | DEPHOSTCC=$host_cc | 
					
						
							|  |  |  | DEPHOSTCCFLAGS=$DEPHOSTCCFLAGS \$(HOSTCCFLAGS) | 
					
						
							|  |  |  | HOSTCCDEP=$HOSTCCDEP | 
					
						
							|  |  |  | HOSTCCDEP_FLAGS=$HOSTCCDEP_FLAGS | 
					
						
							|  |  |  | HOSTCC_DEPFLAGS=$HOSTCC_DEPFLAGS | 
					
						
							| 
									
										
										
										
											2012-07-20 23:43:27 +01:00
										 |  |  | HOSTCC_C=$HOSTCC_C | 
					
						
							| 
									
										
										
										
											2012-07-20 13:43:07 +01:00
										 |  |  | HOSTCC_O=$HOSTCC_O | 
					
						
							| 
									
										
										
										
											2012-08-28 13:02:35 +01:00
										 |  |  | HOSTLD_O=$HOSTLD_O | 
					
						
							| 
									
										
										
										
											2013-05-04 10:25:41 +02:00
										 |  |  | TARGET_EXEC=$target_exec $target_exec_args | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | TARGET_PATH=$target_path | 
					
						
							| 
									
										
										
										
											2013-05-20 01:55:32 +03:00
										 |  |  | TARGET_SAMPLES=${target_samples:-\$(SAMPLES)} | 
					
						
							| 
									
										
										
										
											2012-08-04 19:04:08 +01:00
										 |  |  | CFLAGS-avplay=$sdl_cflags | 
					
						
							| 
									
										
										
										
											2012-08-28 16:24:09 +01:00
										 |  |  | ZLIB=$($ldflags_filter -lz) | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | LIB_INSTALL_EXTRA_CMD=$LIB_INSTALL_EXTRA_CMD | 
					
						
							|  |  |  | EXTRALIBS=$extralibs | 
					
						
							| 
									
										
										
										
											2012-10-14 17:56:00 +01:00
										 |  |  | COMPAT_OBJS=$compat_objs | 
					
						
							| 
									
										
										
										
											2012-10-15 04:05:03 +01:00
										 |  |  | EXEOBJS=$exeobjs | 
					
						
							| 
									
										
										
										
											2010-03-06 17:14:13 +00:00
										 |  |  | INSTALL=install | 
					
						
							| 
									
										
										
										
											2010-03-09 14:58:22 +00:00
										 |  |  | LIBTARGET=${LIBTARGET} | 
					
						
							|  |  |  | SLIBNAME=${SLIBNAME} | 
					
						
							|  |  |  | SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION} | 
					
						
							|  |  |  | SLIBNAME_WITH_MAJOR=${SLIBNAME_WITH_MAJOR} | 
					
						
							|  |  |  | SLIB_CREATE_DEF_CMD=${SLIB_CREATE_DEF_CMD} | 
					
						
							|  |  |  | SLIB_EXTRA_CMD=${SLIB_EXTRA_CMD} | 
					
						
							| 
									
										
										
										
											2011-07-07 15:25:30 +01:00
										 |  |  | SLIB_INSTALL_NAME=${SLIB_INSTALL_NAME} | 
					
						
							|  |  |  | SLIB_INSTALL_LINKS=${SLIB_INSTALL_LINKS} | 
					
						
							|  |  |  | SLIB_INSTALL_EXTRA_LIB=${SLIB_INSTALL_EXTRA_LIB} | 
					
						
							|  |  |  | SLIB_INSTALL_EXTRA_SHLIB=${SLIB_INSTALL_EXTRA_SHLIB} | 
					
						
							| 
									
										
										
										
											2012-05-20 16:10:42 +02:00
										 |  |  | SAMPLES:=${samples:-\$(LIBAV_SAMPLES)} | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | EOF | 
					
						
							| 
									
										
										
										
											2005-12-10 17:14:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-02-17 00:00:10 +00:00
										 |  |  | get_version(){ | 
					
						
							| 
									
										
										
										
											2012-11-11 13:37:40 +01:00
										 |  |  |     lcname=lib${1} | 
					
						
							| 
									
										
										
										
											2012-07-02 23:04:09 +02:00
										 |  |  |     name=$(toupper $lcname) | 
					
						
							|  |  |  |     file=$source_path/$lcname/version.h | 
					
						
							| 
									
										
										
										
											2012-10-13 22:56:25 +01:00
										 |  |  |     eval $(awk "/#define ${name}_VERSION_M/ { print \$2 \"=\" \$3 }" "$file") | 
					
						
							| 
									
										
										
										
											2008-02-26 21:18:55 +00:00
										 |  |  |     eval ${name}_VERSION=\$${name}_VERSION_MAJOR.\$${name}_VERSION_MINOR.\$${name}_VERSION_MICRO | 
					
						
							| 
									
										
										
										
											2008-03-07 19:27:17 +00:00
										 |  |  |     eval echo "${lcname}_VERSION=\$${name}_VERSION" >> config.mak | 
					
						
							|  |  |  |     eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak | 
					
						
							| 
									
										
										
										
											2013-02-03 15:03:08 +01:00
										 |  |  |     eval echo "${lcname}_VERSION_MINOR=\$${name}_VERSION_MINOR" >> config.mak | 
					
						
							| 
									
										
										
										
											2008-02-17 00:00:10 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-11 13:37:40 +01:00
										 |  |  | map 'get_version $v' $LIBRARY_LIST | 
					
						
							| 
									
										
										
										
											2005-12-10 17:14:24 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-15 18:11:19 +02:00
										 |  |  | map 'eval echo "${v}_FFLIBS=\$${v}_deps" >> config.mak' $LIBRARY_LIST | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-13 00:44:08 +01:00
										 |  |  | print_program_libs(){ | 
					
						
							|  |  |  |     eval "program_libs=\$${1}_libs" | 
					
						
							|  |  |  |     eval echo "LIBS-${1}=${program_libs}" >> config.mak | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | map 'print_program_libs $v' $PROGRAM_LIST | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | cat > $TMPH <<EOF | 
					
						
							|  |  |  | /* Automatically generated by configure - do not modify! */ | 
					
						
							| 
									
										
										
										
											2011-03-14 22:23:10 +01:00
										 |  |  | #ifndef LIBAV_CONFIG_H | 
					
						
							|  |  |  | #define LIBAV_CONFIG_H | 
					
						
							|  |  |  | #define LIBAV_CONFIGURATION "$(c_escape $LIBAV_CONFIGURATION)" | 
					
						
							| 
									
										
										
										
											2011-03-14 22:27:40 +01:00
										 |  |  | #define LIBAV_LICENSE "$(c_escape $license)" | 
					
						
							| 
									
										
										
										
											2011-07-27 20:56:59 +02:00
										 |  |  | #define AVCONV_DATADIR "$(eval c_escape $datadir)" | 
					
						
							| 
									
										
										
										
											2012-07-18 17:57:57 +01:00
										 |  |  | #define CC_IDENT "$(c_escape ${cc_ident:-Unknown compiler})" | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | #define restrict $_restrict | 
					
						
							|  |  |  | #define EXTERN_PREFIX "${extern_prefix}" | 
					
						
							|  |  |  | #define EXTERN_ASM ${extern_prefix} | 
					
						
							| 
									
										
										
										
											2010-10-03 09:49:36 +00:00
										 |  |  | #define SLIBSUF "$SLIBSUF" | 
					
						
							| 
									
										
										
										
											2009-10-31 15:59:03 +00:00
										 |  |  | EOF | 
					
						
							| 
									
										
										
										
											2009-09-21 12:51:45 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-28 13:06:31 +00:00
										 |  |  | test -n "$malloc_prefix" && | 
					
						
							|  |  |  |     echo "#define MALLOC_PREFIX $malloc_prefix" >>$TMPH | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-03 21:27:19 +00:00
										 |  |  | if enabled yasm; then | 
					
						
							|  |  |  |     append config_files $TMPASM | 
					
						
							|  |  |  |     printf '' >$TMPASM | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-30 11:16:58 +02:00
										 |  |  | enabled getenv || echo "#define getenv(x) NULL" >> $TMPH | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-03 21:27:12 +00:00
										 |  |  | print_config ARCH_   "$config_files" $ARCH_LIST | 
					
						
							|  |  |  | print_config HAVE_   "$config_files" $HAVE_LIST | 
					
						
							|  |  |  | print_config CONFIG_ "$config_files" $CONFIG_LIST       \ | 
					
						
							| 
									
										
										
										
											2010-09-03 21:27:15 +00:00
										 |  |  |                                      $CONFIG_EXTRA      \ | 
					
						
							| 
									
										
										
										
											2011-09-12 17:52:44 +02:00
										 |  |  |                                      $ALL_COMPONENTS    \ | 
					
						
							| 
									
										
										
										
											2006-08-29 07:34:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-14 22:23:10 +01:00
										 |  |  | echo "#endif /* LIBAV_CONFIG_H */" >> $TMPH | 
					
						
							| 
									
										
										
										
											2007-10-17 22:38:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-03-10 22:59:05 +00:00
										 |  |  | # Do not overwrite an unchanged config.h to avoid superfluous rebuilds. | 
					
						
							| 
									
										
										
										
											2010-01-19 04:40:08 +00:00
										 |  |  | cp_if_changed $TMPH config.h | 
					
						
							| 
									
										
										
										
											2010-07-20 19:42:35 +00:00
										 |  |  | touch .config | 
					
						
							| 
									
										
										
										
											2001-09-13 07:16:59 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-03 21:27:19 +00:00
										 |  |  | enabled yasm && cp_if_changed $TMPASM config.asm | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-19 04:40:16 +00:00
										 |  |  | cat > $TMPH <<EOF | 
					
						
							|  |  |  | /* Generated by ffconf */ | 
					
						
							|  |  |  | #ifndef AVUTIL_AVCONFIG_H | 
					
						
							|  |  |  | #define AVUTIL_AVCONFIG_H | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-03 21:27:12 +00:00
										 |  |  | print_config AV_HAVE_ $TMPH $HAVE_LIST_PUB | 
					
						
							| 
									
										
										
										
											2010-01-19 04:40:16 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | echo "#endif /* AVUTIL_AVCONFIG_H */" >> $TMPH | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cp_if_changed $TMPH libavutil/avconfig.h | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-06-24 20:49:32 +00:00
										 |  |  | test -n "$WARNINGS" && printf "\n$WARNINGS" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-12-13 10:21:55 +00:00
										 |  |  | # build pkg-config files | 
					
						
							| 
									
										
										
										
											2005-05-19 00:17:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | lib_version(){ | 
					
						
							|  |  |  |     eval printf "\"lib${1} >= \$LIB$(toupper ${1})_VERSION, \"" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-12-13 10:21:55 +00:00
										 |  |  | pkgconfig_generate(){ | 
					
						
							| 
									
										
										
										
											2012-08-19 21:35:30 +02:00
										 |  |  |     name=$1 | 
					
						
							|  |  |  |     shortname=${name#lib}${build_suffix} | 
					
						
							|  |  |  |     comment=$2 | 
					
						
							|  |  |  |     version=$3 | 
					
						
							|  |  |  |     libs=$4 | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  |     requires=$(map 'lib_version $v' $(eval echo \$${name#lib}_deps)) | 
					
						
							|  |  |  |     requires=${requires%, } | 
					
						
							| 
									
										
										
										
											2012-08-19 21:35:30 +02:00
										 |  |  |     enabled ${name#lib} || return 0 | 
					
						
							|  |  |  |     mkdir -p $name | 
					
						
							|  |  |  |     cat <<EOF > $name/$name.pc | 
					
						
							| 
									
										
										
										
											2008-03-25 22:49:54 +00:00
										 |  |  | prefix=$prefix | 
					
						
							| 
									
										
										
										
											2006-07-26 00:32:15 +00:00
										 |  |  | exec_prefix=\${prefix} | 
					
						
							| 
									
										
										
										
											2008-04-16 21:46:34 +00:00
										 |  |  | libdir=$libdir | 
					
						
							| 
									
										
										
										
											2008-04-25 07:56:15 +00:00
										 |  |  | includedir=$incdir | 
					
						
							| 
									
										
										
										
											2005-05-19 00:17:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-12-13 10:21:55 +00:00
										 |  |  | Name: $name | 
					
						
							|  |  |  | Description: $comment | 
					
						
							|  |  |  | Version: $version | 
					
						
							| 
									
										
										
										
											2009-09-15 23:54:31 +00:00
										 |  |  | Requires: $(enabled shared || echo $requires) | 
					
						
							| 
									
										
										
										
											2008-05-29 09:58:33 +00:00
										 |  |  | Requires.private: $(enabled shared && echo $requires) | 
					
						
							| 
									
										
										
										
											2005-05-19 00:17:50 +00:00
										 |  |  | Conflicts: | 
					
						
							| 
									
										
										
										
											2009-09-15 23:54:31 +00:00
										 |  |  | Libs: -L\${libdir} -l${shortname} $(enabled shared || echo $libs) | 
					
						
							| 
									
										
										
										
											2008-05-28 23:54:04 +00:00
										 |  |  | Libs.private: $(enabled shared && echo $libs) | 
					
						
							| 
									
										
										
										
											2008-02-25 09:22:11 +00:00
										 |  |  | Cflags: -I\${includedir} | 
					
						
							| 
									
										
										
										
											2005-05-19 00:17:50 +00:00
										 |  |  | EOF | 
					
						
							| 
									
										
										
										
											2012-08-19 21:35:30 +02:00
										 |  |  |     cat <<EOF > $name/$name-uninstalled.pc | 
					
						
							| 
									
										
										
										
											2005-05-19 00:17:50 +00:00
										 |  |  | prefix= | 
					
						
							|  |  |  | exec_prefix= | 
					
						
							| 
									
										
										
										
											2008-07-07 23:28:32 +00:00
										 |  |  | libdir=\${pcfiledir} | 
					
						
							| 
									
										
										
										
											2008-09-28 23:29:23 +00:00
										 |  |  | includedir=${source_path} | 
					
						
							| 
									
										
										
										
											2005-05-19 00:17:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-12-13 10:21:55 +00:00
										 |  |  | Name: $name | 
					
						
							|  |  |  | Description: $comment | 
					
						
							|  |  |  | Version: $version | 
					
						
							|  |  |  | Requires: $requires | 
					
						
							| 
									
										
										
										
											2005-05-19 00:17:50 +00:00
										 |  |  | Conflicts: | 
					
						
							| 
									
										
										
										
											2008-05-28 23:54:04 +00:00
										 |  |  | Libs: \${libdir}/${LIBPREF}${shortname}${LIBSUF} $libs | 
					
						
							| 
									
										
										
										
											2005-05-19 00:17:50 +00:00
										 |  |  | Cflags: -I\${includedir} | 
					
						
							|  |  |  | EOF | 
					
						
							| 
									
										
										
										
											2006-12-13 10:21:55 +00:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2005-05-19 00:17:50 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-03 12:58:51 -07:00
										 |  |  | pkgconfig_generate libavutil     "Libav utility library"          "$LIBAVUTIL_VERSION"     "$LIBRT $LIBM" | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | pkgconfig_generate libavcodec    "Libav codec library"            "$LIBAVCODEC_VERSION"    "$extralibs" | 
					
						
							|  |  |  | pkgconfig_generate libavformat   "Libav container format library" "$LIBAVFORMAT_VERSION"   "$extralibs" | 
					
						
							|  |  |  | pkgconfig_generate libavdevice   "Libav device handling library"  "$LIBAVDEVICE_VERSION"   "$extralibs" | 
					
						
							|  |  |  | pkgconfig_generate libavfilter   "Libav video filtering library"  "$LIBAVFILTER_VERSION"   "$extralibs" | 
					
						
							| 
									
										
										
										
											2014-07-16 16:33:13 +02:00
										 |  |  | pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$LIBM" | 
					
						
							| 
									
										
										
										
											2014-05-01 13:18:57 +02:00
										 |  |  | pkgconfig_generate libswscale    "Libav image rescaling library"  "$LIBSWSCALE_VERSION"    "$LIBM" |