diff options
author | midipix <writeonce@midipix.org> | 2021-06-13 07:28:30 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-06-13 07:29:08 +0000 |
commit | ebe6b02ebff77c11d6fabf777e7155247d0657e8 (patch) | |
tree | 7f11c4835c713640de898051f3866c43fd1db4ec | |
parent | 90d0d70726142c6b35b76119fb4c229eb27437ac (diff) | |
download | apimagic-ebe6b02ebff77c11d6fabf777e7155247d0657e8.tar.bz2 apimagic-ebe6b02ebff77c11d6fabf777e7155247d0657e8.tar.xz |
build system: configure, ccenv: enhanced --sysroot logic.
-rwxr-xr-x | configure | 9 | ||||
-rw-r--r-- | sofort/ccenv/ccenv.sh | 6 |
2 files changed, 14 insertions, 1 deletions
@@ -813,8 +813,15 @@ config_ccenv() output_section_break ccenv_set_native_variables + # implicit --sysroot for use with pkgconf and friends + if [ -z "$mb_sysroot" ]; then + mb_sysroot="$ccenv_host_sysroot" + fi + # require --sysroot when cross-compiling - if [ "$mb_cchost" != "$mb_native_cchost" ] && [ -z "$mb_sysroot" ]; then + if [ "$mb_cchost" != "$mb_native_cchost" ] \ + && [ "$ccenv_host_cc" != "$ccenv_native_cc" ] \ + && [ -z "$mb_sysroot" ]; then mb_pretty=$(printf "%-${#mb_package}s" '') error_msg ' !!' diff --git a/sofort/ccenv/ccenv.sh b/sofort/ccenv/ccenv.sh index 464b309..a13aa07 100644 --- a/sofort/ccenv/ccenv.sh +++ b/sofort/ccenv/ccenv.sh @@ -28,8 +28,10 @@ # variables available to cfgdefs.sh and cfgfini.sh: # ccenv_host_cflags: expanded cflags, valid for the host compiler # ccenv_host_ldflags: expanded ldflags, valid for the host compiler +# ccenv_host_sysroot: host sysroot, as reported by the host compiler # ccenv_native_cflags: expanded cflags, valid for the native compiler # ccenv_native_ldflags: expanded ldflags, valid for the native compiler +# ccenv_native_sysroot: native sysroot, as reported by the native compiler ccenv_usage() { @@ -1507,8 +1509,12 @@ ccenv_output_defs() ccenv_cflags="${ccenv_cflags#*: }" ccenv_ldflags="${ccenv_ldflags#*: }" + ccenv_sysroot=$(eval $ccenv_cc $(printf '%s' "$ccenv_cflags") \ + -print-sysroot 2>/dev/null || true) + eval 'ccenv_'${ccenv_cfgtype}'_cflags'=\'$ccenv_cflags\' eval 'ccenv_'${ccenv_cfgtype}'_ldflags'=\'$ccenv_ldflags\' + eval 'ccenv_'${ccenv_cfgtype}'_sysroot'=\'$ccenv_sysroot\' eval 'ccenv_'${ccenv_cfgtype}'_cc'=\'$ccenv_cc\' eval 'ccenv_'${ccenv_cfgtype}'_cc_environment'=\'$ccenv_cc_environment\' |