diff options
author | midipix <writeonce@midipix.org> | 2021-06-10 09:02:26 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-06-10 09:02:26 +0000 |
commit | c167238026ef7cea89c03c6108e0979ade0b6dfc (patch) | |
tree | 0a59df62b844f679f3fb84725e8b6a1bc0ed77c8 /sofort/ccenv/ccenv.sh | |
parent | 6f41153880f561e092fb7701a2db0facf6b6ffd9 (diff) | |
download | slibtool-c167238026ef7cea89c03c6108e0979ade0b6dfc.tar.bz2 slibtool-c167238026ef7cea89c03c6108e0979ade0b6dfc.tar.xz |
build system: ccenv_set_cc(): enhanced host, cchost, and -dumpmachine logic.
Diffstat (limited to 'sofort/ccenv/ccenv.sh')
-rw-r--r-- | sofort/ccenv/ccenv.sh | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/sofort/ccenv/ccenv.sh b/sofort/ccenv/ccenv.sh index bc0030a..a542823 100644 --- a/sofort/ccenv/ccenv.sh +++ b/sofort/ccenv/ccenv.sh @@ -501,13 +501,20 @@ ccenv_set_cc() ccenv_errors= if [ "$ccenv_cfgtype" = 'native' ]; then + ccenv_host= + if [ -n "$mb_native_host" ]; then ccenv_host="$mb_native_host" elif [ -n "$ccenv_dumpmachine_switch" ]; then ccenv_host=$(eval $ccenv_cc $(printf '%s' "$ccenv_cflags") \ $ccenv_dumpmachine_switch 2>&3) - else + + elif command -v slibtool > /dev/null 2>&1; then + ccenv=$(slibtool --dumpmachine 2>/dev/null) + fi + + if [ -z "$ccenv_host" ]; then ccenv_machine=$(uname -m 2>/dev/null) ccenv_system=$(uname -s 2>/dev/null) @@ -537,15 +544,21 @@ ccenv_set_cc() ccenv_cchost=$ccenv_host elif [ -z "$ccenv_host" ]; then - # assume that no -dumpmachine support means native build (fixme) - ccenv_machine=$(uname -m 2>/dev/null) - ccenv_system=$(uname -s 2>/dev/null) + # no -dumpmachine support and no --host argument implies native build + if command -v slibtool > /dev/null 2>&1; then + ccenv=$(slibtool --dumpmachine 2>/dev/null) + fi - ccenv_machine="${ccenv_machine:-unknown}" - ccenv_system="${ccenv_system:-anyos}" + if [ -z "$ccenv_host" ]; then + ccenv_machine=$(uname -m 2>/dev/null) + ccenv_system=$(uname -s 2>/dev/null) + + ccenv_machine="${ccenv_machine:-unknown}" + ccenv_system="${ccenv_system:-anyos}" - ccenv_host=$(printf '%s' "${ccenv_machine}-unknown-${ccenv_system}" \ - | tr '[[:upper:]]' '[[:lower:]]') + ccenv_host=$(printf '%s' "${ccenv_machine}-unknown-${ccenv_system}" \ + | tr '[[:upper:]]' '[[:lower:]]') + fi ccenv_cchost=$ccenv_host |