diff options
author | midipix <writeonce@midipix.org> | 2021-05-26 16:21:10 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-05-26 16:48:16 +0000 |
commit | 0dd47fbeda58beb8b90e3dfe9f5ae216e5ed3b80 (patch) | |
tree | cf6a591d332f05d876eac33b45a00d1376cfedc9 | |
parent | 294bd1105b367f74211696c11d4bb00c2b5bfafd (diff) | |
download | w32lib-0dd47fbeda58beb8b90e3dfe9f5ae216e5ed3b80.tar.bz2 w32lib-0dd47fbeda58beb8b90e3dfe9f5ae216e5ed3b80.tar.xz |
build system: ccenv heuristics: generate $ccenv_image using strict syntax.
-rw-r--r-- | sofort/ccenv/ccenv.sh | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/sofort/ccenv/ccenv.sh b/sofort/ccenv/ccenv.sh index 433fec0..2ba9426 100644 --- a/sofort/ccenv/ccenv.sh +++ b/sofort/ccenv/ccenv.sh @@ -762,13 +762,20 @@ ccenv_create_framework_executable() rm -f $ccenv_image.tmp fi + ccenv_tmpname='ccenv/c3RyaWN0X21vZGUK.c' + printf 'int main(void){return 0;}' \ - | $ccenv_cc -xc - \ - -o $ccenv_image \ - 2>&3 \ - || return 1 + > "$ccenv_tmpname" - return 0 + if $ccenv_cc "$ccenv_tmpname" -o $ccenv_image 2>&3; then + ccenv_ret=0 + else + ccenv_ret=1 + fi + + rm "$ccenv_tmpname" + + return $ccenv_ret } ccenv_create_freestanding_executable() @@ -784,17 +791,25 @@ ccenv_create_freestanding_executable() ccenv_start_fn='start' fi - printf 'int %s(void){return 0;}' "$ccenv_start_fn" \ - | $ccenv_cc -xc - \ - -ffreestanding \ - -nostdlib -nostartfiles \ - -o $ccenv_image \ - 2>&3 \ - || return 1 + ccenv_tmpname='ccenv/c3RyaWN0X21vZGUK.c' - ccenv_freestd=yes + printf 'int %s(void){return 0;}' "$ccenv_start_fn" \ + > "$ccenv_tmpname" - return 0 + if $ccenv_cc "$ccenv_tmpname" \ + -ffreestanding \ + -nostdlib -nostartfiles \ + -o $ccenv_image \ + 2>&3; then + ccenv_ret=0 + ccenv_freestd=yes + else + ccenv_ret=1 + fi + + rm "$ccenv_tmpname" + + return $ccenv_ret } ccenv_set_cc_binfmt_error() |