diff options
author | midipix <writeonce@midipix.org> | 2021-06-05 13:47:01 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-06-05 15:09:31 +0000 |
commit | b89e3ddf9cd49ea07df59cbe3c7d38a7fe330173 (patch) | |
tree | 29e0dad7b89e428266e0d0a8d20af8ec0b0285da | |
parent | 07326c162947a5e9bc1a7fe356f97f73bb148f38 (diff) | |
download | bcparser-b89e3ddf9cd49ea07df59cbe3c7d38a7fe330173.tar.bz2 bcparser-b89e3ddf9cd49ea07df59cbe3c7d38a7fe330173.tar.xz |
build system: cfgtest: properly support strict compiler drivers.
-rw-r--r-- | sofort/cfgtest/cfgtest.sh | 19 |
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 } |