diff options
author | midipix <writeonce@midipix.org> | 2021-06-05 13:47:01 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-06-05 15:11:53 +0000 |
commit | 8025879e45c9026cae62ee61888b03f1754b93a9 (patch) | |
tree | 8641ef7eb3f9b5bb0c5ae9e0738f240a1853c1a4 | |
parent | 3b01e4b720ecbb7221af33cfdc484cc2b12dc7b5 (diff) | |
download | perk-8025879e45c9026cae62ee61888b03f1754b93a9.tar.bz2 perk-8025879e45c9026cae62ee61888b03f1754b93a9.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 } |