summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2021-06-05 13:47:01 +0000
committermidipix <writeonce@midipix.org>2021-06-05 15:10:03 +0000
commit7125af30722bce518dbc6a54026ab8c6320d3338 (patch)
tree62f6501d7e53d03bf0d4a42555b3e391f4667be9
parent2b9cea919dde6e65b3830bf09c06108bf0682332 (diff)
downloadmmglue-7125af30722bce518dbc6a54026ab8c6320d3338.tar.bz2
mmglue-7125af30722bce518dbc6a54026ab8c6320d3338.tar.xz
build system: cfgtest: properly support strict compiler drivers.
-rw-r--r--sofort/cfgtest/cfgtest.sh19
1 files changed, 18 insertions, 1 deletions
diff --git a/sofort/cfgtest/cfgtest.sh b/sofort/cfgtest/cfgtest.sh
index 7e58a7e..692bfec 100644
--- a/sofort/cfgtest/cfgtest.sh
+++ b/sofort/cfgtest/cfgtest.sh
@@ -38,6 +38,7 @@ cfgtest_host_section()
{
mb_cfgtest_cc="$ccenv_host_cc"
mb_cfgtest_cfgtype='host'
+ mb_cfgtest_stdin_input=${ccenv_host_stdin_input:-}
mb_cfgtest_cflags=$(${mb_make} -n -f "$mb_pwd/Makefile.tmp" \
OS_DSO_EXRULES=default \
@@ -62,6 +63,7 @@ cfgtest_native_section()
{
mb_cfgtest_cc="$ccenv_native_cc"
mb_cfgtest_cfgtype='native'
+ mb_cfgtest_stdin_input=${ccenv_native_stdin_input:-}
mb_cfgtest_cflags=$(${mb_make} -n -f "$mb_pwd/Makefile.tmp" \
OS_DSO_EXRULES=default \
@@ -105,6 +107,10 @@ cfgtest_epilog()
rm -f 'a.out'
fi
+ if [ "$mb_cfgtest_stdin_input" = 'no' ]; then
+ rm 'cfgtest_c3RyaWN0X21vZGUK.c'
+ fi
+
if [ "${1}" = 'snippet' ] && [ "${2}" = '(error)' ]; then
printf '\n\ncfgtest: the %s compiler %s %s.\n' \
"$mb_cfgtest_cfgtype" \
@@ -204,7 +210,13 @@ cfgtest_common_init()
# cfgtest variables
cfgtest_type="${1:-}"
- if [ "$cfgtest_type" = 'asm' ]; then
+ if [ "$mb_cfgtest_stdin_input" = 'no' ]; then
+ if [ "$cfgtest_type" = 'lib' ]; then
+ cfgtest_fmt='%s cfgtest_c3RyaWN0X21vZGUK.c -o a.out'
+ else
+ cfgtest_fmt='%s -c cfgtest_c3RyaWN0X21vZGUK.c -o a.out'
+ fi
+ elif [ "$cfgtest_type" = 'asm' ]; then
cfgtest_fmt='%s -c -xc - -o a.out'
elif [ "$cfgtest_type" = 'lib' ]; then
cfgtest_fmt='%s -xc - -o a.out'
@@ -267,6 +279,11 @@ cfgtest_common_init()
printf ' \\\n' >&3
printf '<< _SRCEOF\n%s\n' "$cfgtest_src" >&3
printf '_SRCEOF \n\n\n' >&3
+
+ if [ "$mb_cfgtest_stdin_input" = 'no' ]; then
+ printf '%s' "$cfgtest_src" > 'cfgtest_c3RyaWN0X21vZGUK.c'
+ cfgtest_src=
+ fi
}