summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2021-05-31 09:19:57 +0000
committermidipix <writeonce@midipix.org>2021-05-31 09:58:17 +0000
commit4a8b83a6f5f1a44b886095cc6cb6f757a376dddb (patch)
tree5bb381698e48461ba07739bc26c44bc3bf2eb92c /configure
parent55acf0b012dc45363a87b98d48173ae60d5afa22 (diff)
downloadsbmake-4a8b83a6f5f1a44b886095cc6cb6f757a376dddb.tar.bz2
sbmake-4a8b83a6f5f1a44b886095cc6cb6f757a376dddb.tar.xz
build system: configure: config_host(): added freestanding environment support.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure18
1 files changed, 16 insertions, 2 deletions
diff --git a/configure b/configure
index 725cd6f..f770ae1 100755
--- a/configure
+++ b/configure
@@ -859,8 +859,22 @@ config_host()
mb_cfghost_cflags="${mb_cfghost_cflags#*: }"
- printf 'int main(void){return 0;}' \
- > "$mb_cfghost_tmpname"
+ if [ $mb_cc_environment = 'freestanding' ]; then
+ if [ -z "mb_cc_underscore" ]; then
+ mb_cfghost_start_fn='_start'
+ else
+ mb_cfghost_start_fn='start'
+ fi
+
+ printf 'int %s(void){return 0;}' "$mb_cfghost_start_fn" \
+ > "$mb_cfghost_tmpname"
+
+ mb_cfghost_cflags="$mb_cfghost_cflags -ffreestanding"
+ mb_cfghost_cflags="$mb_cfghost_cflags -nostdlib"
+ else
+ printf 'int main(void){return 0;}' \
+ > "$mb_cfghost_tmpname"
+ fi
# log
printf '\n' >&3