Browse Source

Merge commit 'c6ebc9faa2210d7f36a3036c357f6f199520f575'

* commit 'c6ebc9faa2210d7f36a3036c357f6f199520f575':
  configure: add check_insn function
  configure: clean up check_inline_asm and check_as functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n1.1
Michael Niedermayer 13 years ago
parent
commit
4f0cf62d5a
1 changed files with 16 additions and 5 deletions
  1. +16
    -5
      configure

+ 16
- 5
configure View File

@@ -740,9 +740,9 @@ as_o(){

check_as(){
log check_as "$@"
cat > $TMPC
log_file $TMPC
check_cmd $as $CPPFLAGS $ASFLAGS "$@" $AS_C $(as_o $TMPO) $TMPC
cat > $TMPS
log_file $TMPS
check_cmd $as $CPPFLAGS $ASFLAGS "$@" $AS_C $(as_o $TMPO) $TMPS
}

check_inline_asm(){
@@ -751,11 +751,17 @@ check_inline_asm(){
code="$2"
shift 2
disable $name
check_as "$@" <<EOF && enable $name
check_cc "$@" <<EOF && enable $name
void foo(void){ __asm__ volatile($code); }
EOF
}

check_insn(){
log check_insn "$@"
check_inline_asm ${1}_inline "\"$2\""
echo "$2" | check_as && enable ${1}_external || disable ${1}_external
}

check_yasm(){
log check_yasm "$@"
echo "$1" > $TMPS
@@ -3611,8 +3617,13 @@ fi

if enabled asm; then
as=${gas:=$as}
check_inline_asm gnu_as '".macro m n\n\\n:.int 0\n.endm\nm x"' ||
check_as <<EOF && enable gnu_as || \
$nogas "GNU assembler not found, install gas-preprocessor"
.macro m n
\n: .int 0
.endm
m x
EOF
fi

check_ldflags -Wl,--as-needed


Loading…
Cancel
Save