From e24a73f7442d0e274a4f4a3dcff8c57fd2c468fb Mon Sep 17 00:00:00 2001 From: midipix Date: May 31 2021 09:58:19 +0000 Subject: build system: ccenv: added ccenv_cc_environment (hosted/freestanding). --- diff --git a/sofort/ccenv/ccenv.in b/sofort/ccenv/ccenv.in index 61f9897..4037952 100644 --- a/sofort/ccenv/ccenv.in +++ b/sofort/ccenv/ccenv.in @@ -28,6 +28,7 @@ CC_ARFMT = @ccenv_cc_arfmt@ CC_SOFMT = @ccenv_cc_sofmt@ CC_BINFMT = @ccenv_cc_binfmt@ CC_UNDERSCORE = @ccenv_cc_underscore@ +CC_ENVIRONMENT = @ccenv_cc_environment@ CC_ARCH_BFD = @ccenv_cc_arch_bfd@ CC_ARCH_LLVM = @ccenv_cc_arch_llvm@ diff --git a/sofort/ccenv/ccenv.sh b/sofort/ccenv/ccenv.sh index 378071f..e180d7e 100644 --- a/sofort/ccenv/ccenv.sh +++ b/sofort/ccenv/ccenv.sh @@ -767,6 +767,12 @@ ccenv_set_cc_underscore() ccenv_create_framework_executable() { + if [ "$ccenv_cfgtype" = 'host' ]; then + if [ "$mb_freestanding" = 'yes' ]; then + return 1 + fi + fi + if [ -f $ccenv_image ]; then mv $ccenv_image $ccenv_image.tmp rm -f $ccenv_image.tmp @@ -779,6 +785,7 @@ ccenv_create_framework_executable() if $ccenv_cc "$ccenv_tmpname" -o $ccenv_image 2>&3; then ccenv_ret=0 + ccenv_cc_environment='hosted' else ccenv_ret=1 fi @@ -812,7 +819,7 @@ ccenv_create_freestanding_executable() -o $ccenv_image \ 2>&3; then ccenv_ret=0 - ccenv_freestd=yes + ccenv_cc_environment='freestanding' else ccenv_ret=1 fi @@ -971,7 +978,7 @@ ccenv_set_cc_binfmt() ccenv_set_os_pe() { - if [ -n "$ccenv_freestd" ]; then + if [ "$ccenv_cc_environment" = 'freestanding' ]; then case "$ccenv_cchost" in *-midipix | *-midipix-* ) ccenv_os='midipix' ;; @@ -1451,7 +1458,6 @@ ccenv_common_init() ccenv_cfgtype=$1 ccenv_cfgfile="$mb_pwd/ccenv/$ccenv_cfgtype.mk" - ccenv_freestd= ccenv_cchost= if [ $ccenv_cfgtype = 'native' ]; then diff --git a/sofort/ccenv/ccenv.vars b/sofort/ccenv/ccenv.vars index 07552af..6cdd547 100644 --- a/sofort/ccenv/ccenv.vars +++ b/sofort/ccenv/ccenv.vars @@ -28,6 +28,7 @@ ccenv_cc_arfmt= ccenv_cc_sofmt= ccenv_cc_binfmt= ccenv_cc_underscore= +ccenv_cc_environment= ccenv_cc_arch_bfd= ccenv_cc_arch_llvm= diff --git a/sofort/config/config.vars b/sofort/config/config.vars index 903abd5..d8a5b2b 100644 --- a/sofort/config/config.vars +++ b/sofort/config/config.vars @@ -52,6 +52,7 @@ compiler toolchain zealous sysroot +freestanding cross_compile shell