1
0
mirror of https://github.com/mpv-player/mpv synced 2025-04-20 22:26:30 +00:00

configure: remove pointless checks for yasm etc.

mplayer doesn't use yasm, as or ranlib. They were only needed to
build with internal libav, which is gone.

Also, get rid of nm. nm was used to find out how external symbols are
mangled. Replace this by a platform check in mangle.h. As far as I
know, sane systems don't mangle symbols. Windows prefixes them with
an underscore ("_symbol"). I don't know about OSX.
This commit is contained in:
wm4 2012-07-29 00:22:13 +02:00
parent 46b218ca34
commit 94b7db20bc
2 changed files with 7 additions and 166 deletions

167
configure vendored
View File

@ -152,19 +152,6 @@ EOF
compile_check $TMPC $@ compile_check $TMPC $@
} }
yasm_check() {
echo >> "$TMPLOG"
cat "$TMPS" >> "$TMPLOG"
echo >> "$TMPLOG"
echo "$_yasm $YASMFLAGS -o $TMPEXE $TMPS $@" >> "$TMPLOG"
rm -f "$TMPEXE"
$_yasm $YASMFLAGS -o "$TMPEXE" "$TMPS" "$@" >> "$TMPLOG" 2>&1
TMPRES="$?"
echo >> "$TMPLOG"
echo >> "$TMPLOG"
return "$TMPRES"
}
pkg_config_add() { pkg_config_add() {
unset IFS # shell should not be used for programming unset IFS # shell should not be used for programming
echo >> "$TMPLOG" echo >> "$TMPLOG"
@ -445,12 +432,7 @@ Miscellaneous options:
--enable-runtime-cpudetection enable runtime CPU detection [disable] --enable-runtime-cpudetection enable runtime CPU detection [disable]
--enable-cross-compile enable cross-compilation [disable] --enable-cross-compile enable cross-compilation [disable]
--cc=COMPILER C compiler to build MPlayer [gcc] --cc=COMPILER C compiler to build MPlayer [gcc]
--as=ASSEMBLER assembler to build MPlayer [as]
--nm=NM nm tool to build MPlayer [nm]
--yasm=YASM Yasm assembler to build MPlayer [yasm]
--ar=AR librarian to build MPlayer [ar]
--pkg-config=PKGCONFIG pkg-config to find some libraries [pkg-config] --pkg-config=PKGCONFIG pkg-config to find some libraries [pkg-config]
--ranlib=RANLIB ranlib to build MPlayer [ranlib]
--windres=WINDRES windres to build MPlayer [windres] --windres=WINDRES windres to build MPlayer [windres]
--target=PLATFORM target platform (i386-linux, arm-linux, etc) --target=PLATFORM target platform (i386-linux, arm-linux, etc)
--enable-static build a statically linked binary --enable-static build a statically linked binary
@ -518,14 +500,9 @@ _iwmmxt=auto
_altivec=auto _altivec=auto
_install=install _install=install
_pkg_config=auto _pkg_config=auto
_ranlib=auto
_windres=auto _windres=auto
_cc=auto _cc=auto
_ar=auto
test "$CC" && _cc="$CC" test "$CC" && _cc="$CC"
_as=auto
_nm=auto
_yasm=auto
_runtime_cpudetection=no _runtime_cpudetection=no
_cross_compile=no _cross_compile=no
_prefix="/usr/local" _prefix="/usr/local"
@ -721,24 +698,9 @@ for ac_option do
--cc=*) --cc=*)
_cc=$(echo $ac_option | cut -d '=' -f 2) _cc=$(echo $ac_option | cut -d '=' -f 2)
;; ;;
--as=*)
_as=$(echo $ac_option | cut -d '=' -f 2)
;;
--nm=*)
_nm=$(echo $ac_option | cut -d '=' -f 2)
;;
--yasm=*)
_yasm=$(echo $ac_option | cut -d '=' -f 2)
;;
--ar=*)
_ar=$(echo $ac_option | cut -d '=' -f 2)
;;
--pkg-config=*) --pkg-config=*)
_pkg_config=$(echo $ac_option | cut -d '=' -f 2) _pkg_config=$(echo $ac_option | cut -d '=' -f 2)
;; ;;
--ranlib=*)
_ranlib=$(echo $ac_option | cut -d '=' -f 2)
;;
--windres=*) --windres=*)
_windres=$(echo $ac_option | cut -d '=' -f 2) _windres=$(echo $ac_option | cut -d '=' -f 2)
;; ;;
@ -1110,10 +1072,7 @@ if test $_cross_compile = yes ; then
test -n "$_target" && tool_prefix="$_target"- test -n "$_target" && tool_prefix="$_target"-
fi fi
test "$_ranlib" = auto && _ranlib="$tool_prefix"ranlib
test "$_windres" = auto && _windres="$tool_prefix"windres test "$_windres" = auto && _windres="$tool_prefix"windres
test "$_ar" = auto && _ar="$tool_prefix"ar
test "$_yasm" = auto && _yasm="$tool_prefix"yasm
test "$_pkg_config" = auto && _pkg_config="$tool_prefix"pkg-config test "$_pkg_config" = auto && _pkg_config="$tool_prefix"pkg-config
if test "$_cc" = auto ; then if test "$_cc" = auto ; then
@ -1238,10 +1197,6 @@ if aix ; then
extra_ldflags="$extra_ldflags -lC" extra_ldflags="$extra_ldflags -lC"
fi fi
if linux ; then
_ranlib='true'
fi
if win32 ; then if win32 ; then
_exesuf=".exe" _exesuf=".exe"
extra_cflags="$extra_cflags -fno-common" extra_cflags="$extra_cflags -fno-common"
@ -1367,11 +1322,6 @@ if test "$_as" = auto ; then
test -z "$_as" && _as=as test -z "$_as" && _as=as
fi fi
if test "$_nm" = auto ; then
_nm=$($_cc -print-prog-name=nm)
test -z "$_nm" && _nm=nm
fi
# XXX: this should be ok.. # XXX: this should be ok..
_cpuinfo="echo" _cpuinfo="echo"
@ -2104,18 +2054,6 @@ fi
echores "$_byte_order" echores "$_byte_order"
echocheck "extern symbol prefix"
cat > $TMPC << EOF
int ff_extern;
EOF
cc_check -c || die "Symbol mangling check failed."
sym=$($_nm -P -g $TMPEXE)
extern_prefix=${sym%%ff_extern*}
def_extern_asm="#define EXTERN_ASM $extern_prefix"
def_extern_prefix="#define EXTERN_PREFIX \"$extern_prefix\""
echores $extern_prefix
echocheck "assembler support of -pipe option" echocheck "assembler support of -pipe option"
# -I. helps to detect compilers that just misunderstand -pipe like Sun C # -I. helps to detect compilers that just misunderstand -pipe like Sun C
cflag_check -pipe -I. && _pipe="-pipe" && echores "yes" || echores "no" cflag_check -pipe -I. && _pipe="-pipe" && echores "yes" || echores "no"
@ -2199,59 +2137,6 @@ if test -n "$CPPFLAGS" ; then
fi fi
if x86_32 ; then
# Checking assembler (_as) compatibility...
# Added workaround for older as that reads from stdin by default - atmos
as_version=$(echo '' | $_as -version 2>&1 | sed -n 's/^.*assembler \(version \)*\([0-9.]*\).*$/\2/p')
echocheck "assembler ($_as $as_version)"
_pref_as_version='2.9.1'
echo 'nop' > $TMPS
if test "$_mmx" = yes ; then
echo 'emms' >> $TMPS
fi
if test "$_3dnow" = yes ; then
_pref_as_version='2.10.1'
echo 'femms' >> $TMPS
fi
if test "$_3dnowext" = yes ; then
_pref_as_version='2.10.1'
echo 'pswapd %mm0, %mm0' >> $TMPS
fi
if test "$_mmxext" = yes ; then
_pref_as_version='2.10.1'
echo 'movntq %mm0, (%eax)' >> $TMPS
fi
if test "$_sse" = yes ; then
_pref_as_version='2.10.1'
echo 'xorps %xmm0, %xmm0' >> $TMPS
fi
#if test "$_sse2" = yes ; then
# _pref_as_version='2.11'
# echo 'xorpd %xmm0, %xmm0' >> $TMPS
#fi
if test "$_cmov" = yes ; then
_pref_as_version='2.10.1'
echo 'cmovb %eax, %ebx' >> $TMPS
fi
if test "$_ssse3" = yes ; then
_pref_as_version='2.16.92'
echo 'pabsd %xmm0, %xmm1' >> $TMPS
fi
$_as $TMPS -o $TMPEXE > /dev/null 2>&1 || as_verc_fail=yes
if test "$as_verc_fail" != yes ; then
echores "ok"
else
res_comment="Upgrade binutils to ${_pref_as_version} or use --disable-ssse3 etc."
echores "failed"
die "obsolete binutils version"
fi
fi #if x86_32
echocheck "PIC" echocheck "PIC"
pic=no pic=no
cat > $TMPC << EOF cat > $TMPC << EOF
@ -2301,48 +2186,8 @@ EOF
cc_check && ebx_available=yes && def_ebx_available='#define HAVE_EBX_AVAILABLE 1' cc_check && ebx_available=yes && def_ebx_available='#define HAVE_EBX_AVAILABLE 1'
echores $ebx_available echores $ebx_available
echocheck "yasm"
if test -z "$YASMFLAGS" ; then
if darwin ; then
x86_64 && objformat="macho64" || objformat="macho"
elif win32 ; then
objformat="win32"
else
objformat="elf"
fi
# currently tested for Linux x86, x86_64
YASMFLAGS="-f $objformat"
x86_64 && YASMFLAGS="$YASMFLAGS -DARCH_X86_64 -m amd64"
test "$pic" = "yes" && YASMFLAGS="$YASMFLAGS -DPIC"
case "$objformat" in
elf) test $_debug && YASMFLAGS="$YASMFLAGS -g dwarf2" ;;
*) YASMFLAGS="$YASMFLAGS -DPREFIX" ;;
esac
else
warn_cflags=yes
fi
echo "pabsw xmm0, xmm0" > $TMPS
yasm_check || _yasm=""
if test $_yasm ; then
def_yasm='#define HAVE_YASM 1'
have_yasm="yes"
echores "$_yasm"
else
def_yasm='#define HAVE_YASM 0'
have_yasm="no"
echores "no"
fi
echocheck "bswap"
def_bswap='#define HAVE_BSWAP 0'
echo 'bswap %eax' > $TMPS
$_as $TMPS -o $TMPEXE > /dev/null 2>&1 && def_bswap='#define HAVE_BSWAP 1' && bswap=yes || bswap=no
echores "$bswap"
fi #if x86 fi #if x86
#FIXME: This should happen before the check for CFLAGS.. #FIXME: This should happen before the check for CFLAGS..
def_altivec_h='#define HAVE_ALTIVEC_H 0' def_altivec_h='#define HAVE_ALTIVEC_H 0'
if ppc && ( test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ) ; then if ppc && ( test "$_altivec" = yes || test "$_runtime_cpudetection" = yes ) ; then
@ -5577,8 +5422,6 @@ MANDIR = \$(DESTDIR)$_mandir
CONFDIR = \$(DESTDIR)$_confdir CONFDIR = \$(DESTDIR)$_confdir
LOCALEDIR = \$(DESTDIR)$_localedir LOCALEDIR = \$(DESTDIR)$_localedir
AR = $_ar
AS = $_cc
CC = $_cc CC = $_cc
CXX = $_cc CXX = $_cc
INSTALL = $_install INSTALL = $_install
@ -5724,17 +5567,12 @@ YUV4MPEG = $_yuv4mpeg
FFMPEG_INTERNALS = $ffmpeg_internals FFMPEG_INTERNALS = $ffmpeg_internals
FFMPEG_SOURCE_PATH = $_ffmpeg_source FFMPEG_SOURCE_PATH = $_ffmpeg_source
RANLIB = $_ranlib
YASM = $_yasm
YASMFLAGS = $YASMFLAGS
CONFIG_VDPAU = $_vdpau CONFIG_VDPAU = $_vdpau
CONFIG_ZLIB = $_zlib CONFIG_ZLIB = $_zlib
HAVE_PTHREADS = $_pthreads HAVE_PTHREADS = $_pthreads
HAVE_SHM = $_shm HAVE_SHM = $_shm
HAVE_W32THREADS = $_w32threads HAVE_W32THREADS = $_w32threads
HAVE_YASM = $have_yasm
EOF EOF
@ -5851,8 +5689,6 @@ $def_asmalign_pot
$def_builtin_expect $def_builtin_expect
$def_dl $def_dl
$def_dos_paths $def_dos_paths
$def_extern_asm
$def_extern_prefix
$def_iconv $def_iconv
$def_kstat $def_kstat
$def_macosx_bundle $def_macosx_bundle
@ -6056,7 +5892,6 @@ $def_roundf
$def_threads $def_threads
$def_truncf $def_truncf
$def_xform_asm $def_xform_asm
$def_yasm
#define HAVE_INLINE_ASM 1 #define HAVE_INLINE_ASM 1
@ -6130,7 +5965,7 @@ EOF
if test "$warn_cflags" = yes; then if test "$warn_cflags" = yes; then
cat <<EOF cat <<EOF
MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS/YASMFLAGS set by you, MPlayer compilation will use the CPPFLAGS/CFLAGS/LDFLAGS set by you,
but: but:
*** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** *** *** *** DO NOT REPORT BUGS IF IT DOES NOT COMPILE/WORK! *** ***

View File

@ -31,6 +31,12 @@
#define attribute_used #define attribute_used
#endif #endif
#if _WIN32
#define EXTERN_PREFIX "_"
#else
#define EXTERN_PREFIX ""
#endif
#if ARCH_X86_64 && defined(PIC) #if ARCH_X86_64 && defined(PIC)
#define MANGLE(a) EXTERN_PREFIX #a "(%%rip)" #define MANGLE(a) EXTERN_PREFIX #a "(%%rip)"
#else #else