diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2013-07-16 13:28:28 +0200 |
---|---|---|
committer | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2013-11-21 21:22:36 +0100 |
commit | 7e2edad8efea55e8df1faa695d1389ef4e326d7c (patch) | |
tree | f9662620b8ecaf50f6c67804dd0d99d00d85fe5b /configure | |
parent | 0cb9227a73f03a6ecdf71e837c7c33c823b194b4 (diff) | |
download | mpv-7e2edad8efea55e8df1faa695d1389ef4e326d7c.tar.bz2 mpv-7e2edad8efea55e8df1faa695d1389ef4e326d7c.tar.xz |
switch the build system to waf
This commit adds a new build system based on waf. configure and Makefile
are deprecated effective immediately and someday in the future they will be
removed (they are still available by running ./old-configure).
You can find how the choice for waf came to be in `DOCS/waf-buildsystem.rst`.
TL;DR: we couldn't get the same level of abstraction and customization with
other build systems we tried (CMake and autotools).
For guidance on how to build the software now, take a look at README.md
and the cross compilation guide.
CREDITS:
This is a squash of ~250 commits. Some of them are not by me, so here is the
deserved attribution:
- @wm4 contributed some Windows fixes, renamed configure to old-configure
and contributed to the bootstrap script. Also, GNU/Linux testing.
- @lachs0r contributed some Windows fixes and the bootstrap script.
- @Nikoli contributed a lot of testing and discovered many bugs.
- @CrimsonVoid contributed changes to the bootstrap script.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 3620 |
1 files changed, 0 insertions, 3620 deletions
diff --git a/configure b/configure deleted file mode 100755 index 0618c05594..0000000000 --- a/configure +++ /dev/null @@ -1,3620 +0,0 @@ -#! /bin/sh -# -# Original version (C) 2000 Pontscho/fresh!mindworkz -# pontscho@makacs.poliod.hu -# -# History / Contributors: Check the Subversion log. -# -# Cleanups all over the place (c) 2001 pl -# -# -# This configure script is *not* autoconf-based and has different semantics. -# It attempts to autodetect all settings and options where possible. It is -# possible to override autodetection with the --enable-option/--disable-option -# command line parameters. --enable-option forces the option on skipping -# autodetection. Yes, this means that compilation may fail and yes, this is not -# how autoconf-based configure scripts behave. -# -# configure generates a series of configuration files: -# - config.h contains #defines that are used in the C code. -# - config.mak is included from the Makefiles. -# -# If you want to add a new check for $feature, look at the existing checks -# and try to use helper functions where you can. -# -# Furthermore you need to add the variable _feature to the list of default -# settings and set it to one of yes/no/auto. Also add appropriate -# --enable-feature/--disable-feature command line options. -# The results of the check should be written to config.h and config.mak -# at the end of this script. The variable names used for this should be -# uniform, i.e. if the option is named 'feature': -# -# _feature : should have a value of yes/no/auto -# def_feature : '#define ... 1' or '#undef ...' for conditional compilation -# _ld_feature : '-L/path/dir -lfeature' GCC options -# -############################################################################# - -# Prevent locale nonsense from breaking basic text processing utils -export LC_ALL=C - -# Store the configure line that was used -configuration="$*" - -# Prefer these macros to full length text ! -# These macros only return an error code - NO display is done -command_check() { - echo >> "$TMPLOG" - echo "$@" >> "$TMPLOG" - "$@" >> "$TMPLOG" 2>&1 - TMPRES="$?" - echo >> "$TMPLOG" - return "$TMPRES" -} - -compile_check() { - source="$1" - shift - echo >> "$TMPLOG" - cat "$source" >> "$TMPLOG" - echo >> "$TMPLOG" - echo "$_cc $WARNFLAGS $WARN_CFLAGS $CFLAGS $source $extra_cflags $_ld_static $extra_ldflags $libs_mplayer -o $TMPEXE $@" >> "$TMPLOG" - rm -f "$TMPEXE" - $_cc $WARNFLAGS $WARN_CFLAGS $CFLAGS "$source" $extra_cflags $_ld_static $extra_ldflags $libs_mplayer -o "$TMPEXE" "$@" >> "$TMPLOG" 2>&1 - TMPRES="$?" - echo >> "$TMPLOG" - echo >> "$TMPLOG" - return "$TMPRES" -} - -cc_check() { - compile_check $TMPC $@ -} - -cxx_check() { - compile_check $TMPCPP $@ -lstdc++ -} - -cflag_check() { - cat > $TMPC << EOF -int main(void) { return 0; } -EOF - compile_check $TMPC $@ -} - -header_check() { - cat > $TMPC << EOF -#include <$1> -int main(void) { return 0; } -EOF - shift - compile_check $TMPC $@ -} - -return_check() { - cat > $TMPC << EOF -#include <$1> -int main(void) { return $2; } -EOF - shift 2 - compile_check $TMPC $@ -} - -statement_check() { - cat > $TMPC << EOF -#include <$1> -int main(void) { $2; return 0; } -EOF - shift - shift - compile_check $TMPC $@ -} - -define_statement_check() { - cat > $TMPC << EOF -#define $1 -#include <$2> -int main(void) { $3; return 0; } -EOF - shift 3 - compile_check $TMPC $@ -} - -return_statement_check() { - cat > $TMPC << EOF -#include <$1> -int main(void) { $2; return $3; } -EOF - shift 3 - compile_check $TMPC $@ -} - -inline_asm_check() { - cat > $TMPC << EOF -int main(void) { __asm__ volatile ($1); return 0; } -EOF - shift - compile_check $TMPC $@ -} - -# The following checks are special and should only be used with broken and -# non-selfsufficient headers that do not include all of their dependencies. - -header_check_broken() { - cat > $TMPC << EOF -#include <$1> -#include <$2> -int main(void) { return 0; } -EOF - shift - shift - compile_check $TMPC $@ -} - -statement_check_broken() { - cat > $TMPC << EOF -#include <$1> -#include <$2> -int main(void) { $3; return 0; } -EOF - shift 3 - compile_check $TMPC $@ -} - -pkg_config_add() { - unset IFS # shell should not be used for programming - echo >> "$TMPLOG" - echo "$_pkg_config --cflags $@" >> "$TMPLOG" - ctmp=$($_pkg_config --cflags "$@" 2>> "$TMPLOG") || return $? - echo >> "$TMPLOG" - echo "$_pkg_config --libs $@" >> "$TMPLOG" - ltmp=$($_pkg_config --libs "$@" 2>> "$TMPLOG") || return $? - echo >> "$TMPLOG" - echo "cflags: $ctmp" >> "$TMPLOG" - echo "libs: $ltmp" >> "$TMPLOG" - echo >> "$TMPLOG" - extra_cflags="$extra_cflags $ctmp" - libs_mplayer="$libs_mplayer $ltmp" -} - -tmp_run() { - "$TMPEXE" >> "$TMPLOG" 2>&1 -} - -# Display error message, flushes tempfile, exit -die () { - echo - echo "Error: $@" >&2 - echo >&2 - rm -f "$TMPEXE" "$TMPC" "$TMPS" "$TMPCPP" - echo "Check \"$TMPLOG\" if you do not understand why it failed." - exit 1 -} - -# OS test booleans functions -issystem() { - test "$(echo $system_name | tr A-Z a-z)" = "$(echo $1 | tr A-Z a-z)" -} -cygwin() { issystem "CYGWIN"; } -darwin() { issystem "Darwin"; } -dragonfly() { issystem "DragonFly"; } -freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; } -gnu() { issystem "GNU"; } -linux() { issystem "Linux"; } -mingw32() { issystem "MINGW32"; } -morphos() { issystem "MorphOS"; } -netbsd() { issystem "NetBSD"; } -openbsd() { issystem "OpenBSD"; } -win32() { cygwin || mingw32; } - -# arch test boolean functions -x86_32() { - case "$host_arch" in - i[3-9]86|k5|k6|k6-2|k6-3|pentium*|athlon*|i586-i686) return 0 ;; - *) return 1 ;; - esac -} - -x86_64() { - case "$host_arch" in - x86_64|amd64) return 0 ;; - *) return 1 ;; - esac -} - -x86() { - x86_32 || x86_64 -} - -ppc() { - case "$host_arch" in - ppc|ppc64|powerpc|powerpc64) return 0;; - *) return 1;; - esac -} - -alpha() { - case "$host_arch" in - alpha*) return 0;; - *) return 1;; - esac -} - -arm() { - case "$host_arch" in - arm*) return 0;; - *) return 1;; - esac -} - -# Use this before starting a check -echocheck() { - echo "============ Checking for $@ ============" >> "$TMPLOG" - echo ${_echo_n} "Checking for $@ ... ${_echo_c}" -} - -# Use this to echo the results of a check -echores() { - if test "$res_comment" ; then - res_comment="($res_comment)" - fi - echo "Result is: $@ $res_comment" >> "$TMPLOG" - echo "##########################################" >> "$TMPLOG" - echo "" >> "$TMPLOG" - echo "$@ $res_comment" - res_comment="" -} -############################################################################# - -# Check how echo works in this /bin/sh -case $(echo -n) in - -n) _echo_n= _echo_c='\c' ;; # SysV echo - *) _echo_n='-n ' _echo_c= ;; # BSD echo -esac - - -show_help(){ -cat << EOF -Usage: $0 [OPTIONS]... - -Configuration: - -h, --help display this help and exit - -Installation directories: - --prefix=DIR prefix directory for installation [/usr/local] - --bindir=DIR directory for installing binaries [PREFIX/bin] - --datadir=DIR directory for installing machine independent - data files (skins, etc) [PREFIX/share/mpv] - --mandir=DIR directory for installing man pages [PREFIX/share/man] - --docdir=DIR directory for installing docs [PREFIX/share/doc/mpv] - --confdir=DIR directory for installing configuration files - [PREFIX/etc/mpv] - -Optional features: - --disable-encoding disable encoding functionality [enable] - --disable-lua disable Lua scripting support [autodetect] - --lua=LUA select Lua package which should be autodetected - Choices: 51 51deb 52 52deb luajit - --disable-libguess disable libguess [autodetect] - --enable-terminfo use terminfo database for key codes [autodetect] - --enable-termcap use termcap database for key codes [autodetect] - --enable-termios use termios database for key codes [autodetect] - --disable-iconv disable iconv for encoding conversion [autodetect] - --enable-lirc enable LIRC (remote control) support [autodetect] - --enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect] - --enable-joystick enable joystick support [disable] - --disable-vm disable X video mode extensions [autodetect] - --disable-xf86keysym disable support for multimedia keys [autodetect] - --enable-radio enable radio interface [disable] - --enable-radio-capture enable radio capture (through PCI/line-in) [disable] - --disable-radio-v4l2 disable Video4Linux2 radio interface [autodetect] - --disable-tv disable TV interface (TV/DVB grabbers) [enable] - --disable-tv-v4l2 disable Video4Linux2 TV interface [autodetect] - --disable-libv4l2 disable libv4l2 [autodetect] - --disable-pvr disable Video4Linux2 MPEG PVR [autodetect] - --enable-smb enable Samba (SMB) input [autodetect] - --disable-libquvi4 disable libquvi 0.4.x [autodetect] - --disable-libquvi9 disable libquvi 0.9.x [autodetect] - --enable-lcms2 enable LCMS2 support [autodetect] - --disable-vcd disable VCD support [autodetect] - --disable-bluray disable Blu-ray support [autodetect] - --disable-dvdread disable libdvdread [autodetect] - --disable-enca disable ENCA charset oracle library [autodetect] - --disable-pthreads disable Posix threads support [autodetect] - --disable-libass disable subtitle rendering with libass [autodetect] - --disable-libass-osd disable OSD rendering with libass [autodetect] - --enable-rpath enable runtime linker path for extra libs [disabled] - --disable-libpostproc disable postprocess filter (vf_pp) [autodetect] - --disable-libavdevice disable libavdevice demuxers [autodetect] - --disable-libavfilter disable libavfilter [autodetect] - --disable-vf-lavfi disable vf_lavfi libavfilter bridge [audodetect] - --disable-af-lavfi disable af_lavfi libavfilter bridge [audodetect] - -Codecs: - --enable-jpeg enable JPEG input/output support [autodetect] - --enable-libcdio enable libcdio support [autodetect] - --enable-libav skip Libav autodetection [autodetect] - --disable-ladspa disable LADSPA plugin support [autodetect] - --disable-libbs2b disable libbs2b audio filter support [autodetect] - --disable-mpg123 disable libmpg123 MP3 decoding support [autodetect] - -Resampler: - --disable-libavresample check for libswresample only [autodetect] - -Video output: - --enable-gl enable OpenGL video output [autodetect] - --enable-caca enable CACA video output [autodetect] - --enable-direct3d enable Direct3D video output [autodetect] - --enable-sdl enable SDL audio output [disable] - --enable-sdl2 enable SDL 2.0+ audio and video output [disable] - --enable-xv enable Xv video output [autodetect] - --enable-vdpau enable VDPAU acceleration [autodetect] - --enable-vda enable VDA acceleration [autodetect] - --enable-vaapi enable VAAPI acceleration [autodetect] - --enable-vm enable XF86VidMode support [autodetect] - --enable-xinerama enable Xinerama support [autodetect] - --enable-x11 enable X11 video output [autodetect] - --enable-wayland enable Wayland video output [autodetect] - --disable-xss disable screensaver support via xss [autodetect] - --disable-corevideo disable CoreVideo video output [autodetect] - --disable-cocoa disable Cocoa OpenGL backend [autodetect] - -Audio output: - --disable-alsa disable ALSA audio output [autodetect] - --disable-ossaudio disable OSS audio output [autodetect] - --disable-rsound disable RSound audio output [autodetect] - --disable-sndio disable sndio audio output [autodetect] - --disable-pulse disable Pulseaudio audio output [autodetect] - --disable-portaudio disable PortAudio audio output [autodetect] - --disable-jack disable JACK audio output [autodetect] - --enable-openal enable OpenAL audio output [disable] - --disable-coreaudio disable CoreAudio audio output [autodetect] - --disable-dsound disable DirectSound audio output [autodetect] - --disable-wasapi disable WASAPI (event mode) audio output [autodetect] - --disable-select disable using select() on the audio device [enable] - -Miscellaneous options: - --enable-cross-compile enable cross-compilation [disable] - --cc=COMPILER C compiler to build mpv [gcc] - --pkg-config=PKGCONFIG pkg-config to find some libraries [pkg-config] - --windres=WINDRES windres to build mpv [windres] - --target=PLATFORM target platform (i386-linux, arm-linux, etc) - --enable-static build a statically linked binary - --with-install=PATH path to a custom install program - --disable-manpage do not build and install manpage [auto] - --disable-pdf do not build and install PDF manual [auto] - --disable-build-date do not include binary compile time - -Advanced options: - --enable-shm enable shm [autodetect] - --disable-debug compile-in debugging information [enable] - --disable-optimization compile without -O2 [enable] - -Use these options if autodetection fails: - --extra-cflags=FLAGS extra CFLAGS - --extra-ldflags=FLAGS extra LDFLAGS - --extra-libs=FLAGS extra linker flags - --extra-libs-mpv=FLAGS extra linker flags for mpv - -This configure script is NOT autoconf-based, even though its output is similar. -It will try to autodetect all configuration options. If you --enable an option -it will be forcefully turned on, skipping autodetection. This can break -compilation, so you need to know what you are doing. -EOF -exit 0 -} #show_help() - -# GOTCHA: the variables below defines the default behavior for autodetection -# and have - unless stated otherwise - at least 2 states : yes no -# If autodetection is available then the third state is: auto -_install=install -_pkg_config=auto -_windres=auto -_cc=auto -test "$CC" && _cc="$CC" -_debug=-g -_opt=-O2 -_cross_compile=no -_prefix="/usr/local" -ffmpeg=auto -_encoding=yes -_disable_avresample=no -_x11=auto -_wayland=auto -_xss=auto -_xv=auto -_vdpau=auto -_vda=auto -_vda_refcounting=auto -_vaapi=auto -_direct3d=auto -_sdl=no -_sdl2=no -_dsound=auto -_wasapi=auto -_jpeg=auto -_gl=auto -_aa=auto -_caca=auto -_dvb=auto -_iconv=auto -_ossaudio=auto -_rsound=auto -_pulse=auto -_portaudio=auto -_jack=auto -_openal=no -_libcdio=auto -_mpg123=auto -_ladspa=auto -_libbs2b=auto -_vcd=auto -_bluray=auto -_dvdread=auto -_lcms2=auto -_xinerama=auto -_vm=auto -_xf86keysym=auto -_sndio=auto -_alsa=auto -_select=yes -_radio=no -_radio_capture=no -_radio_v4l2=auto -_tv=yes -_tv_v4l2=auto -_libv4l2=auto -_pvr=auto -_smb=auto -_libquvi4=auto -_libquvi9=auto -_libguess=auto -_joystick=no -_lirc=auto -_lircc=auto -_terminfo=auto -_termcap=auto -_termios=auto -_shm=auto -_cdda=auto -_coreaudio=auto -_corevideo=auto -_cocoa=auto -_enca=auto -_pthreads=auto -_ass=auto -_libass_osd=auto -_rpath=no -lua=auto -libpostproc=auto -libavfilter=auto -vf_lavfi=auto -af_lavfi=auto -libavdevice=auto -_stream_cache=yes -_priority=no -def_dos_paths="#define HAVE_DOS_PATHS 0" -def_priority="#define HAVE_PRIORITY 0" -_build_man=auto -_build_pdf=auto -_build_date=yes -for ac_option do - case "$ac_option" in - --help|-help|-h) - show_help - ;; - --prefix=*) - _prefix=$(echo $ac_option | cut -d '=' -f 2) - ;; - --bindir=*) - _bindir=$(echo $ac_option | cut -d '=' -f 2) - ;; - --mandir=*) - _mandir=$(echo $ac_option | cut -d '=' -f 2) - ;; - --docdir=*) - _docdir=$(echo $ac_option | cut -d '=' -f 2) - ;; - --confdir=*) - _confdir=$(echo $ac_option | cut -d '=' -f 2) - ;; - - --with-install=*) - _install=$(echo $ac_option | cut -d '=' -f 2 ) - ;; - - --extra-cflags=*) - extra_cflags="$extra_cflags $(echo $ac_option | cut -d '=' -f 2-)" - ;; - --extra-ldflags=*) - extra_ldflags="$extra_ldflags $(echo $ac_option | cut -d '=' -f 2-)" - ;; - --extra-libs=*) - extra_libs=$(echo $ac_option | cut -d '=' -f 2) - ;; - --extra-libs-mpv=*) - libs_mplayer=$(echo $ac_option | cut -d '=' -f 2) - ;; - - --target=*) - _target=$(echo $ac_option | cut -d '=' -f 2) - ;; - --cc=*) - _cc=$(echo $ac_option | cut -d '=' -f 2) - ;; - --pkg-config=*) - _pkg_config=$(echo $ac_option | cut -d '=' -f 2) - ;; - --windres=*) - _windres=$(echo $ac_option | cut -d '=' -f 2) - ;; - - --enable-static) - _ld_static='-static' - ;; - --disable-static) - _ld_static='' - ;; - --enable-debug) - _debug='-g' - ;; - --enable-debug=*) - _debug=$(echo $_echo_n '-g'$_echo_c; echo $ac_option | cut -d '=' -f 2) - ;; - --disable-debug) - _debug= - ;; - --enable-optimization) - _opt='-O2' - ;; - --enable-optimization=*) - _opt=$(echo $_echo_n '-O'$_echo_c; echo $ac_option | cut -d '=' -f 2) - ;; - --disable-optimization) - _opt= - ;; - --enable-cross-compile) _cross_compile=yes ;; - --disable-cross-compile) _cross_compile=no ;; - --enable-encoding) _encoding=yes ;; - --disable-encoding) _encoding=no ;; - --enable-wayland) _wayland=yes ;; - --disable-wayland) _wayland=no ;; - --enable-x11) _x11=yes ;; - --disable-x11) _x11=no ;; - --enable-xss) _xss=yes ;; - --disable-xss) _xss=no ;; - --enable-xv) _xv=yes ;; - --disable-xv) _xv=no ;; - --enable-vdpau) _vdpau=yes ;; - --disable-vdpau) _vdpau=no ;; - --enable-vda) _vda=yes ;; - --disable-vda) _vda=no ;; - --enable-vaapi) _vaapi=yes ;; - --disable-vaapi) _vaapi=no ;; - --enable-direct3d) _direct3d=yes ;; - --disable-direct3d) _direct3d=no ;; - --enable-sdl) _sdl=yes ;; - --disable-sdl) _sdl=no ;; - --enable-sdl2) _sdl2=yes ;; - --disable-sdl2) _sdl2=no ;; - --enable-dsound) _dsound=yes ;; - --disable-dsound) _dsound=no ;; - --enable-wasapi) _wasapi=yes ;; - --disable-wasapi) _wasapi=no ;; - --enable-jpeg) _jpeg=yes ;; - --disable-jpeg) _jpeg=no ;; - --enable-gl) _gl=yes ;; - --disable-gl) _gl=no ;; - --enable-caca) _caca=yes ;; - --disable-caca) _caca=no ;; - --enable-dvb) _dvb=yes ;; - --disable-dvb) _dvb=no ;; - --enable-iconv) _iconv=yes ;; - --disable-iconv) _iconv=no ;; - --enable-ossaudio) _ossaudio=yes ;; - --disable-ossaudio) _ossaudio=no ;; - --enable-rsound) _rsound=yes ;; - --disable-rsound) _rsound=no ;; - --enable-sndio) _sndio=yes ;; - --disable-sndio) _sndio=no ;; - --enable-pulse) _pulse=yes ;; - --disable-pulse) _pulse=no ;; - --enable-portaudio) _portaudio=yes ;; - --disable-portaudio) _portaudio=no ;; - --enable-jack) _jack=yes ;; - --disable-jack) _jack=no ;; - --enable-openal) _openal=auto ;; - --disable-openal) _openal=no ;; - --enable-libcdio) _libcdio=yes ;; - --disable-libcdio) _libcdio=no ;; - --enable-mpg123) _mpg123=yes ;; - --disable-mpg123) _mpg123=no ;; - --enable-ladspa) _ladspa=yes ;; - --disable-ladspa) _ladspa=no ;; - --enable-libbs2b) _libbs2b=yes ;; - --disable-libbs2b) _libbs2b=no ;; - --enable-vcd) _vcd=yes ;; - --disable-vcd) _vcd=no ;; - --enable-bluray) _bluray=yes ;; - --disable-bluray) _bluray=no ;; - --enable-dvdread) _dvdread=yes ;; - --disable-dvdread) _dvdread=no ;; - --enable-lcms2) _lcms2=yes ;; - --disable-lcms2) _lcms2=no ;; - --enable-xinerama) _xinerama=yes ;; - --disable-xinerama) _xinerama=no ;; - --enable-vm) _vm=yes ;; - --disable-vm) _vm=no ;; - --enable-xf86keysym) _xf86keysym=yes ;; - --disable-xf86keysym) _xf86keysym=no ;; - --enable-alsa) _alsa=yes ;; - --disable-alsa) _alsa=no ;; - --enable-tv) _tv=yes ;; - --disable-tv) _tv=no ;; - --enable-tv-v4l2) _tv_v4l2=yes ;; - --disable-tv-v4l2) _tv_v4l2=no ;; - --enable-libv4l2) _libv4l2=yes ;; - --disable-libv4l2) _libv4l2=no ;; - --enable-radio) _radio=yes ;; - --enable-radio-capture) _radio_capture=yes ;; - --disable-radio-capture) _radio_capture=no ;; - --disable-radio) _radio=no ;; - --enable-radio-v4l2) _radio_v4l2=yes ;; - --disable-radio-v4l2) _radio_v4l2=no ;; - --enable-pvr) _pvr=yes ;; - --disable-pvr) _pvr=no ;; - --enable-smb) _smb=yes ;; - --disable-smb) _smb=no ;; - --enable-libquvi4) _libquvi4=yes ;; - --disable-libquvi4) _libquvi4=no ;; - --enable-libquvi9) _libquvi9=yes ;; - --disable-libquvi9) _libquvi9=no ;; - --enable-libguess) _libguess=yes ;; - --disable-libguess) _libguess=no ;; - --enable-joystick) _joystick=yes ;; - --disable-joystick) _joystick=no ;; - --enable-libav) ffmpeg=yes ;; - --disable-libavresample) _disable_avresample=yes ;; - --enable-libavresample) _disable_avresample=no ;; - - --enable-lua) lua=yes ;; - --disable-lua) lua=no ;; - --lua=*) lua_pkg=$(echo $ac_option | cut -d '=' -f 2) ;; - --enable-lirc) _lirc=yes ;; - --disable-lirc) _lirc=no ;; - --enable-lircc) _lircc=yes ;; - --disable-lircc) _lircc=no ;; - --enable-terminfo) _terminfo=yes ;; - --disable-terminfo) _terminfo=no ;; - --enable-termcap) _termcap=yes ;; - --disable-termcap) _termcap=no ;; - --enable-termios) _termios=yes ;; - --disable-termios) _termios=no ;; - --enable-shm) _shm=yes ;; - --disable-shm) _shm=no ;; - --enable-select) _select=yes ;; - --disable-select) _select=no ;; - --enable-pthreads) _pthreads=yes ;; - --disable-pthreads) _pthreads=no ;; - --enable-libass) _ass=yes ;; - --disable-libass) _ass=no ;; - --enable-libass-osd) _libass_osd=yes ;; - --disable-libass-osd) _libass_osd=no ;; - --enable-rpath) _rpath=yes ;; - --disable-rpath) _rpath=no ;; - --enable-libpostproc) libpostproc=yes ;; - --disable-libpostproc) libpostproc=no ;; - --enable-libavdevice) libavdevice=auto ;; - --disable-libavdevice) libavdevice=no ;; - --enable-libavfilter) libavfilter=auto ;; - --disable-libavfilter) libavfilter=no ;; - --enable-vf-lavfi) vf_lavfi=auto ;; - --disable-vf-lavfi) vf_lavfi=no ;; - --enable-af-lavfi) af_lavfi=auto ;; - --disable-af-lavfi) af_lavfi=no ;; - - --enable-enca) _enca=yes ;; - --disable-enca) _enca=no ;; - - --enable-coreaudio) _coreaudio=yes ;; - --disable-coreaudio) _coreaudio=no ;; - --enable-corevideo) _corevideo=yes ;; - --disable-corevideo) _corevideo=no ;; - --enable-cocoa) _cocoa=yes ;; - --disable-cocoa) _cocoa=no ;; - - --enable-manpage) _build_man=yes ;; - --disable-manpage) _build_man=no ;; - --enable-pdf) _build_pdf=yes ;; - --disable-pdf) _build_pdf=no ;; - - --enable-build-date) _build_date=yes ;; - --disable-build-date) _build_date=no ;; - *) - echo "Unknown parameter: $ac_option" >&2 - exit 1 - ;; - - esac -done - -# Atmos: moved this here, to be correct, if --prefix is specified -test -z "$_bindir" && _bindir="$_prefix/bin" -test -z "$_mandir" && _mandir="$_prefix/share/man" -test -z "$_docdir" && _docdir="$_prefix/share/doc/mpv" -test -z "$_confdir" && _confdir="$_prefix/etc/mpv" - -for tmpdir in "$TMPDIR" "$TEMPDIR" "/tmp" ; do - test "$tmpdir" && break -done - -mplayer_tmpdir="$tmpdir/mpv-configure-$RANDOM-$$" -mkdir $mplayer_tmpdir || die "Unable to create tmpdir." - -TMPLOG="config.log" - -rm -f "$TMPLOG" -echo Parameters configure was run with: > "$TMPLOG" -if test -n "$CFLAGS" ; then - echo ${_echo_n} CFLAGS="'$CFLAGS' ${_echo_c}" >> "$TMPLOG" -fi -if test -n "$PKG_CONFIG_PATH" ; then - echo ${_echo_n} PKG_CONFIG_PATH="'$PKG_CONFIG_PATH' ${_echo_c}" >> "$TMPLOG" -fi -echo ./configure $configuration >> "$TMPLOG" -echo >> "$TMPLOG" - - -echocheck "cross compilation" -echores $_cross_compile - -if test $_cross_compile = yes; then - tmp_run() { - return 0 - } -fi - -tool_prefix="" - -if test $_cross_compile = yes ; then - # Usually cross-compiler prefixes match with the target triplet - test -n "$_target" && tool_prefix="$_target"- -fi - -test "$_windres" = auto && _windres="$tool_prefix"windres -test "$_pkg_config" = auto && _pkg_config="$tool_prefix"pkg-config - -if test "$_cc" = auto ; then - if test -n "$tool_prefix" ; then - _cc="$tool_prefix"gcc - else - _cc=cc - fi -fi - -# Determine our OS name and CPU architecture -if test -z "$_target" ; then - # OS name - system_name=$(uname -s 2>&1) - case "$system_name" in - Linux|FreeBSD|NetBSD|OpenBSD|DragonFly|Darwin|GNU|MorphOS) - ;; - Haiku) - system_name=Haiku - ;; - GNU/kFreeBSD) - system_name=FreeBSD - ;; - [cC][yY][gG][wW][iI][nN]*) - system_name=CYGWIN - ;; - MINGW32*) - system_name=MINGW32 - ;; - *) - system_name="$system_name-UNKNOWN" - ;; - esac - - - # host's CPU/instruction set - host_arch=$(uname -p 2>&1) - case "$host_arch" in - i386|sparc|ppc|alpha|arm|mips|vax) - ;; - powerpc) # Darwin returns 'powerpc' - host_arch=ppc - ;; - *) # uname -p on Linux returns 'unknown' for the processor type, - # OpenBSD returns 'Intel Pentium/MMX ("Genuine Intel" 586-class)' - - # Maybe uname -m (machine hardware name) returns something we - # recognize. - - case "$(uname -m 2>&1)" in - x86_64|amd64|i[3-9]86*|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686|BePC) host_arch=i386 ;; - ia64) host_arch=ia64 ;; - macppc|ppc) host_arch=ppc ;; - ppc64) host_arch=ppc64 ;; - alpha) host_arch=alpha ;; - sparc) host_arch=sparc ;; - sparc64) host_arch=sparc64 ;; - parisc*|hppa*|9000*) host_arch=hppa ;; - arm*|zaurus|cats) host_arch=arm ;; - sh3|sh4|sh4a) host_arch=sh ;; - s390) host_arch=s390 ;; - s390x) host_arch=s390x ;; - *mips*) host_arch=mips ;; - vax) host_arch=vax ;; - xtensa*) host_arch=xtensa ;; - *) host_arch=UNKNOWN ;; - esac - ;; - esac -else # if test -z "$_target" - for i in 2 3; do - system_name=$(echo $_target | cut -d '-' -f $i) - case "$(echo $system_name | tr A-Z a-z)" in - linux) system_name=Linux ;; - freebsd) system_name=FreeBSD ;; - gnu/kfreebsd) system_name=FreeBSD ;; - netbsd) system_name=NetBSD ;; - openbsd) system_name=OpenBSD ;; - dragonfly) system_name=DragonFly ;; - morphos) system_name=MorphOS ;; - mingw32*) system_name=MINGW32 ;; - *) continue ;; - esac - break - done - # We need to convert underscores so that values like k6-2 and pentium-mmx can be passed - host_arch=$(echo $_target | cut -d '-' -f 1) - if test $(echo $host_arch) != "x86_64" ; then - host_arch=$(echo $host_arch | tr '_' '-') - fi -fi - -extra_cflags="-I. -D_GNU_SOURCE $extra_cflags" -_timer=timer-linux.c -_getch=getch2.c - -if freebsd ; then - extra_ldflags="$extra_ldflags -L/usr/local/lib" - extra_cflags="$extra_cflags -I/usr/local/include" -fi - -if netbsd || dragonfly ; then - extra_ldflags="$extra_ldflags -L/usr/pkg/lib" - extra_cflags="$extra_cflags -I/usr/pkg/include" -fi - -if darwin; then - extra_cflags="-mdynamic-no-pic $extra_cflags" - _timer=timer-darwin.c -fi - -_win32=no -if win32 ; then - _win32=yes - _exesuf=".exe" - extra_cflags="$extra_cflags -fno-common" - # -lwinmm is always needed for osdep/timer-win2.c - libs_mplayer="$libs_mplayer -lwinmm" - _pe_executable=yes - _timer=timer-win2.c - _priority=yes - def_dos_paths="#define HAVE_DOS_PATHS 1" - def_priority="#define HAVE_PRIORITY 1" -fi - -if mingw32 ; then - _getch=getch2-win.c - extra_cflags="$extra_cflags -D__USE_MINGW_ANSI_STDIO=1" - # Hack for missing BYTE_ORDER declarations in <sys/types.h>. - # (For some reason, they are in <sys/param.h>, but we don't bother switching - # the includes based on whether we're compiling for MinGW.) - extra_cflags="$extra_cflags -DBYTE_ORDER=1234 -DLITTLE_ENDIAN=1234 -DBIG_ENDIAN=4321" -fi - -if cygwin ; then - extra_cflags="$extra_cflags -mwin32" -fi - -_rst2man=rst2man -if [ -f "$(which rst2man.py)" ] ; then - _rst2man=rst2man.py -fi - -echocheck "whether to build manpages with rst2man" -if test "$_build_man" = auto ; then - _build_man=no - command_check "$_rst2man" --version && _build_man=yes -else - _build_man=no -fi -echores "$_build_man" - -_rst2latex=rst2latex -if [ -f "$(which rst2latex.py)" ] ; then - _rst2latex=rst2latex.py -fi - -echocheck "whether to build manual PDFs with rst2latex" -texcheck() { - echo test | $_rst2latex --config=DOCS/man/docutils.conf | pdflatex -halt-on-error -draftmode -output-directory="$mplayer_tmpdir" -} - -if test "$_build_pdf" = auto ; then - _build_pdf=no - command_check texcheck && _build_pdf=yes -else - _build_pdf=no -fi -echores "$_build_pdf" - -echocheck "whether to print binary build date" -if test "$_build_date" = yes ; then - _build_yes=yes -else - _build_date=no - extra_cflags="$extra_cflags -DNO_BUILD_TIMESTAMPS" -fi -echores "$_build_date" - - - -TMPC="$mplayer_tmpdir/tmp.c" -TMPCPP="$mplayer_tmpdir/tmp.cpp" -TMPEXE="$mplayer_tmpdir/tmp$_exesuf" -TMPH="$mplayer_tmpdir/tmp.h" -TMPS="$mplayer_tmpdir/tmp.S" - -# Checking CC version... -# Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure) -if test "$(basename $_cc)" = "icc" || test "$(basename $_cc)" = "ecc"; then - echocheck "$_cc version" - cc_vendor=intel - cc_name=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 1) - cc_version=$($_cc -V 2>&1 | head -n 1 | cut -d ',' -f 2 | cut -d ' ' -f 3) - _cc_major=$(echo $cc_version | cut -d '.' -f 1) - _cc_minor=$(echo $cc_version | cut -d '.' -f 2) - # TODO verify older icc/ecc compatibility - case $cc_version in - '') - cc_version="v. ?.??, bad" - cc_fail=yes - ;; - 10.1|11.0|11.1) - cc_version="$cc_version, ok" - ;; - *) - cc_version="$cc_version, bad" - cc_fail=yes - ;; - esac - echores "$cc_version" -else - for _cc in "$_cc" gcc cc ; do - cc_name_tmp=$($_cc -v 2>&1 | tail -n 1 | cut -d ' ' -f 1) - if test "$cc_name_tmp" = "gcc"; then - cc_name=$cc_name_tmp - echocheck "$_cc version" - cc_vendor=gnu - cc_version=$($_cc -dumpversion 2>&1) - case $cc_version in - 2.96*) - cc_fail=yes - ;; - *) - _cc_major=$(echo $cc_version | cut -d '.' -f 1) - _cc_minor=$(echo $cc_version | cut -d '.' -f 2) - _cc_mini=$(echo $cc_version | cut -d '.' -f 3) - ;; - esac - echores "$cc_version" - break - fi - if $_cc -v 2>&1 | grep -q "clang"; then - echocheck "$_cc version" - cc_vendor=clang - cc_version=$($_cc -dumpversion 2>&1) - res_comment="experimental support only" - echores "clang $cc_version" - break - fi - cc_name_tmp=$($_cc -V 2>&1 | head -n 1 | cut -d ' ' -f 2,3) - done -fi # icc -test "$cc_fail" = yes && die "unsupported compiler version" - -echocheck "working compiler" -cflag_check "" || die "Compiler is not functioning correctly. Check your installation and custom CFLAGS $CFLAGS ." -echo "yes" - -echocheck "perl" -command_check perl -Mv5.8 -e';' || die "Perl is not functioning correctly or is ancient. Install the latest perl available." -echo yes - -if test -z "$_target" && x86 ; then - cat > $TMPC << EOF -int main(void) { - int test[(int)sizeo |