mirror of https://git.ffmpeg.org/ffmpeg.git
configure: check $as first before using $gas as GNU as
llvm's integrated assembler supports the AArch64 asm on darwin since August 2014. So check $as first before using gas-preprocessor.pl via $gas. Makes the checks specific for that the architecture specific asm needs. PPC Altivec and AArch64 needs on ':vararg' for macro arguments. Arm needs in addition the '.altmacro' directive.
This commit is contained in:
parent
d395895cdb
commit
15201e2560
|
@ -3760,22 +3760,32 @@ unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
|
|||
EOF
|
||||
od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
|
||||
|
||||
|
||||
if enabled asm; then
|
||||
enabled arm && nogas=die
|
||||
enabled_all ppc altivec && nogas=warn
|
||||
as=${gas:=$as}
|
||||
check_as <<EOF && enable gnu_as || \
|
||||
$nogas "GNU assembler not found, install gas-preprocessor"
|
||||
.macro m n
|
||||
\n: .int 0
|
||||
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
|
||||
.endm
|
||||
m x
|
||||
EOF
|
||||
|
||||
check_as <<EOF || $nogas "GNU assembler not found, install gas-preprocessor"
|
||||
# .altmacro is only used in arm asm
|
||||
! enabled arm || check_as <<EOF || return 1
|
||||
.altmacro
|
||||
EOF
|
||||
enable gnu_as
|
||||
return 0
|
||||
}
|
||||
|
||||
if enabled asm; then
|
||||
enabled arm aarch64 && nogas=die
|
||||
enabled_all ppc altivec && nogas=warn
|
||||
|
||||
if ! check_gas ; then
|
||||
as=${gas:=$as}
|
||||
check_gas || \
|
||||
$nogas "GNU assembler not found, install gas-preprocessor"
|
||||
fi
|
||||
|
||||
check_as <<EOF && enable as_func
|
||||
.func test
|
||||
|
|
Loading…
Reference in New Issue