From 4e5639374b77ad33996e4c94fc561d0fe25b3dc3 Mon Sep 17 00:00:00 2001 From: midipix Date: Jun 05 2021 15:09:29 +0000 Subject: build system: cfgtest: properly support strict compiler drivers. --- 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 }