diff options
author | midipix <writeonce@midipix.org> | 2021-05-26 16:21:10 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-05-26 16:48:06 +0000 |
commit | 5fe324fca81628fdfca05a5dbc1fde24701f0feb (patch) | |
tree | 508d6f443523da100ff9ac14873bd57afe2ed738 /sofort | |
parent | 0c4d1ae0e47056ffbf2483c3d5a8ca3977247396 (diff) | |
download | dalist-5fe324fca81628fdfca05a5dbc1fde24701f0feb.tar.bz2 dalist-5fe324fca81628fdfca05a5dbc1fde24701f0feb.tar.xz |
build system: ccenv heuristics: generate $ccenv_image using strict syntax.
Diffstat (limited to 'sofort')
-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() |