From f3cd938b0b881f78ff395f8c1c5d49f843e18cf4 Mon Sep 17 00:00:00 2001 From: midipix Date: Thu, 10 Jun 2021 10:48:36 +0000 Subject: toolchain integration: ensure accuracy of slibtool's --dumpmachine output. --- config.project | 2 +- project/config/cfgfini.sh | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 project/config/cfgfini.sh diff --git a/config.project b/config.project index 462126f..c8b6eef 100644 --- a/config.project +++ b/config.project @@ -15,7 +15,7 @@ mb_disable_shared=yes # custom config step mb_use_custom_cfgdefs=no mb_use_custom_cfginit=no -mb_use_custom_cfgfini=no +mb_use_custom_cfgfini=yes mb_use_custom_cfgtest=no # advanced make options diff --git a/project/config/cfgfini.sh b/project/config/cfgfini.sh new file mode 100644 index 0000000..fb8bd05 --- /dev/null +++ b/project/config/cfgfini.sh @@ -0,0 +1,34 @@ +# cfgfini.sh: require slibtool's --dumpmachine output to be +# both accurate and complete also during the +# toolchain's initial bootstrapping phase. +# invoked from within the project-agnostic configure script. + +# this file is covered by COPYING.SLIBTOOL. + +slibtool_cfgfini_error_msg() +{ + printf '%s\n' "$@" >&2 + printf '%s\n' "$@" >&3 +} + +slibtool_cfgfini() +{ + if [ "${mb_cchost_set:-}" = 'yes' ]; then + return 0; + + elif [ -n "$ccenv_host_dumpmachine_switch" ]; then + return 0; + fi + + slibtool_cfgfini_error_msg + slibtool_cfgfini_error_msg "$mb_package: the host compiler, \`$ccenv_host_cc\`, does not provide a -dumpmachine switch." + slibtool_cfgfini_error_msg "$mb_package: please specify the host manually either by passing the --cchost argument to" + slibtool_cfgfini_error_msg " $mb_package's configure script, or by setting the CCHOST environment variable." + slibtool_cfgfini_error_msg "$mb_package: this requirement aims to ensure a complete and accurate \`slibtool --dumpmachine\`" + slibtool_cfgfini_error_msg " output also during the toolchain's initial bootstrapping phase." + slibtool_cfgfini_error_msg + + config_failure +} + +slibtool_cfgfini -- cgit v1.2.3