summaryrefslogtreecommitdiff
path: root/sofort/ccenv
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2021-05-26 15:38:16 +0000
committermidipix <writeonce@midipix.org>2021-05-26 16:48:14 +0000
commit001ed78f2797095a9a7fe86fb969658ea32fb108 (patch)
tree35a84ffc5651e2e495280758231d62cd6d9e14b5 /sofort/ccenv
parent52d355cff31ee0c3a5c876593a8fa469880fc700 (diff)
downloadtpax-001ed78f2797095a9a7fe86fb969658ea32fb108.tar.bz2
tpax-001ed78f2797095a9a7fe86fb969658ea32fb108.tar.xz
build system: ccenv: ccenv_set_cc_bits(): support strict compiler drivers.
Diffstat (limited to 'sofort/ccenv')
-rw-r--r--sofort/ccenv/ccenv.sh23
1 files changed, 18 insertions, 5 deletions
diff --git a/sofort/ccenv/ccenv.sh b/sofort/ccenv/ccenv.sh
index c932d45..de7926e 100644
--- a/sofort/ccenv/ccenv.sh
+++ b/sofort/ccenv/ccenv.sh
@@ -708,11 +708,24 @@ ccenv_set_cc_bits()
"$ccenv_internal_type" \
"$ccenv_internal_guess")
- printf '%s' "$ccenv_internal_str" \
- | eval $ccenv_cc -S -xc - -o - \
- $(printf '%s' "$ccenv_cflags") \
- > /dev/null 2>&3 \
- && ccenv_internal_size=$ccenv_internal_guess
+ if [ -n "$ccenv_dumpmachine_switch" ]; then
+ printf '%s' "$ccenv_internal_str" \
+ | eval $ccenv_cc -S -xc - -o - \
+ $(printf '%s' "$ccenv_cflags") \
+ > /dev/null 2>&3 \
+ && ccenv_internal_size=$ccenv_internal_guess
+ else
+ ccenv_tmpname='ccenv/c3RyaWN0X21vZGUK.c'
+
+ printf '%s' "$ccenv_internal_str" \
+ > "$ccenv_tmpname"
+
+ $ccenv_cc -c "$ccenv_tmpname" -o a.out \
+ > /dev/null 2>&3 \
+ && ccenv_internal_size=$ccenv_internal_guess
+
+ rm "$ccenv_tmpname"
+ fi
fi
done