From c03f7a75a27216ee05518b5c26591b981be26227 Mon Sep 17 00:00:00 2001 From: mglae Date: Fri, 8 Jan 2021 17:04:54 +0100 Subject: [PATCH] build: check package for wrong toolchain configured --- config/functions | 19 +++++++++++++++++++ scripts/build | 3 +++ 2 files changed, 22 insertions(+) diff --git a/config/functions b/config/functions index f77ec476f7..3c1e349496 100644 --- a/config/functions +++ b/config/functions @@ -207,6 +207,25 @@ setup_pkg_config_host() { unset PKG_CONFIG_ALLOW_SYSTEM_LIBS } +check_toolchain_config() { + local target=${1^^} + local toolchain=${2^^} + local var + if [ "${toolchain}" == "AUTOTOOLS" ]; then + toolchain="CONFIGURE" + fi + for var in "${!PKG_@}"; do + if [[ "${var}" =~ INSTALL_OPTS_ || "${var}" =~ _MAKE_OPTS ]]; then + continue + fi + if [[ "${var}" =~ _OPTS_${target}$ \ + && ! "${var}" =~ _${toolchain}_OPTS_${target}$ + || "${var}" =~ _OPTS$ && ! "${var}" =~ _${toolchain}_OPTS$ ]]; then + die "ERROR: using $2 toolchain but ${var} is configured." + fi + done +} + setup_toolchain() { local have_gold="no" if [ "$LTO_SUPPORT" = "yes" ]; then diff --git a/scripts/build b/scripts/build index 30138ab240..074cd8544c 100755 --- a/scripts/build +++ b/scripts/build @@ -114,6 +114,9 @@ if ! listcontains "meson cmake cmake-make configure ninja make autotools manual" fi build_msg "CLR_TOOLCHAIN" "TOOLCHAIN" "${PKG_TOOLCHAIN}${_auto_toolchain}" +# check wrong toolchain configuration +check_toolchain_config ${TARGET} ${PKG_TOOLCHAIN} + # setup toolchain setup_toolchain ${TARGET} ${PKG_TOOLCHAIN}