summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--config.project2
-rw-r--r--project/config/cfgfini.sh34
2 files changed, 35 insertions, 1 deletions
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