diff options
author | midipix <writeonce@midipix.org> | 2021-05-26 16:21:10 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-05-26 16:21:10 +0000 |
commit | 825dbe59de1088c603799cd2c126cbf49848c81b (patch) | |
tree | 3d1071bfe6fd4a141058332a60c308d7f7944320 /sofort/ccenv | |
parent | 92a2cfbfc00bd26794cb2794bfe2064210d4eb6e (diff) | |
download | slibtool-825dbe59de1088c603799cd2c126cbf49848c81b.tar.bz2 slibtool-825dbe59de1088c603799cd2c126cbf49848c81b.tar.xz |
build system: ccenv heuristics: generate $ccenv_image using strict syntax.
Diffstat (limited to 'sofort/ccenv')
-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() |