summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2014-08-10 14:40:09 +0300
committerMartin Storsjö <martin@martin.st>2014-08-10 21:29:06 +0300
commit08b94f160a2c966bb83e32bde0e52246fafa2155 (patch)
treefa874056014cf952154183e8460a7bfada450183 /configure
parentcc1d8c54c19dd14fb851e3e7a7793d6b3bd75e94 (diff)
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>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure12
1 files changed, 12 insertions, 0 deletions
diff --git a/configure b/configure
index 411af5e0b1..a5ad34c227 100755
--- a/configure
+++ b/configure
@@ -2614,6 +2614,17 @@ EOF
die "Sanity test failed."
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(){
for flag; do
case $flag in
@@ -2886,6 +2897,7 @@ probe_cc(){
_ident=$($_cc | head -n1)
# 4509: "This form of conditional instruction is deprecated"
_flags="-nologo -ignore 4509"
+ _flags_filter=armasm_flags
elif $_cc 2>&1 | grep -q Microsoft; then
_type=msvc
_ident=$($cc 2>&1 | head -n1)