From 50987415e17aecfc5df3fdee5f3f96f09ef4adb6 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Sun, 8 Dec 2024 19:46:47 +0100 Subject: [PATCH 1/2] Error build if ICU or IConv support was requested but is not available. This checks for the explicit commandline setting. --- build/Jamfile.v2 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 index 080a417c..f5d76b11 100644 --- a/build/Jamfile.v2 +++ b/build/Jamfile.v2 @@ -244,6 +244,9 @@ rule configure-full ( properties * : flags-only ) # ICU might introduce an own iconv, so check for that. internal_iconv_target = has_iconv_with_icu ; external_iconv_target = has_external_iconv_with_icu ; + } else if on in $(properties) + { + errors.user-error : "ICU support was requested but not found" ; } } @@ -259,6 +262,9 @@ rule configure-full ( properties * : flags-only ) { found-iconv = true ; result += iconv ; + } else if on in $(properties) + { + errors.user-error : "Iconv support was requested but not found" ; } } if $(found-iconv) From 6dc0fb4624b2e20abb70e473e551469bb514e2de Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 10 Dec 2024 19:53:45 +0100 Subject: [PATCH 2/2] DEBUG ICU search --- .github/workflows/ci.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e54da91f..ae469aab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -360,10 +360,17 @@ jobs: if: matrix.coverage run: ci/codecov.sh "collect" && mv coverage.info coverage.iconv.info + - name: Check ICU + if: '!matrix.coverity' + run: 'ci/build.sh || true' + env: + B2_FLAGS: -a boost.locale.icu=on boost.locale.iconv=off --debug-configuration + B2_TARGETS: libs/locale/build//has_icu - name: Run tests with ICU only if: '!matrix.coverity' run: ci/build.sh env: {B2_FLAGS: -a boost.locale.icu=on boost.locale.iconv=off} + - name: Collect coverage if: matrix.coverage run: ci/codecov.sh "collect" && mv coverage.info coverage.icu.info @@ -452,6 +459,18 @@ jobs: B2_CXXSTD: ${{matrix.cxxstd}} B2_ADDRESS_MODEL: ${{matrix.addrmd}} + - name: Check ICU + if: '!matrix.coverage' + run: | + set B2_FLAGS=boost.locale.icu=on boost.locale.iconv=off boost.locale.std=off boost.locale.winapi=off --debug-configuration + ci\build.bat + rmdir /s /q bin.v2 + env: + B2_TOOLSET: ${{matrix.toolset}} + B2_CXXSTD: ${{matrix.cxxstd}} + B2_ADDRESS_MODEL: ${{matrix.addrmd}} + B2_TARGETS: libs/locale/build//has_icu + - name: Run tests (ICU, without coverage) if: '!matrix.coverage' run: |