Commit 23ba9b3f authored by James Almer's avatar James Almer

Merge commit '31a53ab3'

* commit '31a53ab3':
  configure: Add check_as() helper function to simplify some expressions
Merged-by: 's avatarJames Almer <jamrial@gmail.com>
parents c00b218a 31a53ab3
...@@ -975,6 +975,17 @@ check_cmd(){ ...@@ -975,6 +975,17 @@ check_cmd(){
test_cmd $@ && enable $cmd test_cmd $@ && enable $cmd
} }
check_as(){
log check_as "$@"
name=$1
code=$2
shift 2
disable $name
test_as $@ <<EOF && enable $name
$code
EOF
}
check_inline_asm(){ check_inline_asm(){
log check_inline_asm "$@" log check_inline_asm "$@"
name="$1" name="$1"
...@@ -1008,7 +1019,7 @@ EOF ...@@ -1008,7 +1019,7 @@ EOF
check_insn(){ check_insn(){
log check_insn "$@" log check_insn "$@"
check_inline_asm ${1}_inline "$2" check_inline_asm ${1}_inline "$2"
echo "$2" | test_as && enable ${1}_external || disable ${1}_external check_as ${1}_external "$2"
} }
test_x86asm(){ test_x86asm(){
...@@ -5410,11 +5421,7 @@ check_gas() { ...@@ -5410,11 +5421,7 @@ check_gas() {
m x m x
EOF EOF
# .altmacro is only used in arm asm # .altmacro is only used in arm asm
! enabled arm || test_as <<EOF || return 1 ! enabled arm || check_as gnu_as ".altmacro"
.altmacro
EOF
enable gnu_as
return 0
} }
if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then
...@@ -5441,10 +5448,8 @@ if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then ...@@ -5441,10 +5448,8 @@ if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then
$nogas "GNU assembler not found, install/update gas-preprocessor" $nogas "GNU assembler not found, install/update gas-preprocessor"
fi fi
test_as <<EOF && enable as_func check_as as_func ".func test
.func test .endfunc"
.endfunc
EOF
fi fi
check_inline_asm inline_asm_labels '"1:\n"' check_inline_asm inline_asm_labels '"1:\n"'
...@@ -5500,18 +5505,12 @@ EOF ...@@ -5500,18 +5505,12 @@ EOF
check_inline_asm asm_mod_q '"add r0, %Q0, %R0" :: "r"((long long)0)' check_inline_asm asm_mod_q '"add r0, %Q0, %R0" :: "r"((long long)0)'
test_as <<EOF && enable as_arch_directive check_as as_arch_directive ".arch armv7-a"
.arch armv7-a check_as as_fpu_directive ".fpu neon"
EOF
test_as <<EOF && enable as_fpu_directive
.fpu neon
EOF
# llvm's integrated assembler supports .object_arch from llvm 3.5 # llvm's integrated assembler supports .object_arch from llvm 3.5
[ "$objformat" = elf32 ] || [ "$objformat" = elf64 ] && [ "$objformat" = elf32 ] || [ "$objformat" = elf64 ] &&
test_as <<EOF && enable as_object_arch check_as as_object_arch ".object_arch armv4"
.object_arch armv4
EOF
# MS armasm fails to assemble our PIC constructs # MS armasm fails to assemble our PIC constructs
[ $target_os != win32 ] && enabled_all armv6t2 shared !pic && enable_weak_pic [ $target_os != win32 ] && enabled_all armv6t2 shared !pic && enable_weak_pic
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment