diff options
author | Janne Grunau <j@jannau.net> | 2014-08-05 12:08:09 +0200 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2014-08-05 13:11:50 +0200 |
commit | 15201e256035a3e8f9d3d7b96fc327467e1a8ead (patch) | |
tree | 96bfd7766316c232356441073a01be08e767f637 | |
parent | d395895cdb2ac8c95bd488549e7f893bd4dcc248 (diff) | |
download | ffmpeg-15201e256035a3e8f9d3d7b96fc327467e1a8ead.tar.gz |
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.
-rwxr-xr-x | configure | 32 |
1 files changed, 21 insertions, 11 deletions
@@ -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 |