configure: Don't pass MSVC compiler options -M[TD] to armasm

The -MD option (for enabling a dynamically linked crt) gets interpreted
as a cpp option for generating dependency information (into a file named
'-.d', when preprocessing to a pipe). We shouldn't be passing
any and all C compiler flags to armasm (which is a plain assembler,
only with cpp bolted on via gas-preprocessor), but these are the
main conflicting ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2014-08-10 14:40:09 +03:00
parent cc1d8c54c1
commit 08b94f160a
1 changed files with 12 additions and 0 deletions

12
configure vendored
View File

@ -2614,6 +2614,17 @@ EOF
die "Sanity test failed." die "Sanity test failed."
fi fi
armasm_flags(){
for flag; do
case $flag in
# Filter out MSVC cl.exe options from cflags that shouldn't
# be passed to gas-preprocessor
-M[TD]*) ;;
*) echo $flag ;;
esac
done
}
ccc_flags(){ ccc_flags(){
for flag; do for flag; do
case $flag in case $flag in
@ -2886,6 +2897,7 @@ probe_cc(){
_ident=$($_cc | head -n1) _ident=$($_cc | head -n1)
# 4509: "This form of conditional instruction is deprecated" # 4509: "This form of conditional instruction is deprecated"
_flags="-nologo -ignore 4509" _flags="-nologo -ignore 4509"
_flags_filter=armasm_flags
elif $_cc 2>&1 | grep -q Microsoft; then elif $_cc 2>&1 | grep -q Microsoft; then
_type=msvc _type=msvc
_ident=$($cc 2>&1 | head -n1) _ident=$($cc 2>&1 | head -n1)