summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2017-10-20 04:43:13 +0200
committerDiego Biurrun <diego@biurrun.de>2018-03-07 13:55:07 +0100
commit31a53ab34e22fe1eec902f79ec1f19ab828a7a0c (patch)
tree8aeba56e18290148e95970b44f48508b53647f9c /configure
parent18dc1ff0fb4572b1d50a44905aa1e76bc3bbb0ad (diff)
configure: Add check_as() helper function to simplify some expressions
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure37
1 files changed, 18 insertions, 19 deletions
diff --git a/configure b/configure
index 5e350983dd..d59fc6fd1a 100755
--- a/configure
+++ b/configure
@@ -811,6 +811,17 @@ check_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(){
log check_inline_asm "$@"
name="$1"
@@ -825,7 +836,7 @@ EOF
check_insn(){
log check_insn "$@"
check_inline_asm ${1}_inline "$2"
- echo "$2" | test_as && enable ${1}_external || disable ${1}_external
+ check_as ${1}_external "$2"
}
test_x86asm(){
@@ -4213,11 +4224,7 @@ check_gas() {
m x
EOF
# .altmacro is only used in arm asm
- ! enabled arm || test_as <<EOF || return 1
-.altmacro
-EOF
- enable gnu_as
- return 0
+ ! enabled arm || check_as gnu_as ".altmacro"
}
if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then
@@ -4243,10 +4250,8 @@ if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then
$nogas "GNU assembler not found, install/update gas-preprocessor"
fi
- test_as <<EOF && enable as_func
-.func test
-.endfunc
-EOF
+ check_as as_func ".func test
+ .endfunc"
fi
check_inline_asm inline_asm_labels '"1:\n"'
@@ -4297,18 +4302,12 @@ EOF
check_inline_asm asm_mod_q '"add r0, %Q0, %R0" :: "r"((long long)0)'
- test_as <<EOF && enable as_arch_directive
-.arch armv7-a
-EOF
- test_as <<EOF && enable as_fpu_directive
-.fpu neon
-EOF
+ check_as as_arch_directive ".arch armv7-a"
+ check_as as_fpu_directive ".fpu neon"
# llvm's integrated assembler supports .object_arch from llvm 3.5
[ "$objformat" = elf32 ] || [ "$objformat" = elf64 ] &&
- test_as <<EOF && enable as_object_arch
-.object_arch armv4
-EOF
+ check_as as_object_arch ".object_arch armv4"
# MS armasm fails to assemble our PIC constructs
[ $target_os != win32 ] && enabled_all armv6t2 shared !pic && enable_weak_pic