Skip to content

Update Clang in MRBind to 20.#4750

Open
adalisk-emikhaylov wants to merge 9 commits into
masterfrom
mrbind-clang-20
Open

Update Clang in MRBind to 20.#4750
adalisk-emikhaylov wants to merge 9 commits into
masterfrom
mrbind-clang-20

Conversation

@adalisk-emikhaylov

@adalisk-emikhaylov adalisk-emikhaylov commented Jun 24, 2025

Copy link
Copy Markdown
Contributor

Updates the Clang version used by the MRBind Python-bindings generator, bumping it where the platform allows.

Instead of every install/build script reading the flat clang_version.txt (and clang_version_msys2.txt on Windows) directly, version selection is centralized in a new scripts/mrbind/select_clang_version.sh, which returns the Clang version to use for the current platform:

Platform Clang Reason
Windows (MSYS2) 20.1.7-1 bumped
Linux (non-Ubuntu) 20 bumped
macOS 18 Clang 20 can't locate the C++ standard library here yet
Ubuntu ≤ 22.04 18 old Boost fails to compile on newer Clang (llvm/llvm-project#59036)
Ubuntu (other, e.g. 24.04) 18 stock spdlog/libfmt hit call to consteval function ... is not a constant expression

All the install scripts (install_deps_*, install_mrbind_*), the Dockerfiles, and the MSYS2 install steps in the Windows and pip-build workflows now call this script instead of reading the version files.

Other changes:

  • generate.mk: the flags -Wno-enum-constexpr-conversion and -frelaxed-template-template-args (only needed by older Clang) are moved out of the always-on common_compiler_parser_flags.txt and added conditionally, only for Clang 18 and 19.
  • requirements/ubuntu.txt: add lsb-release, needed by the new script to detect the Ubuntu version.
  • config.yml: add select_clang_version.sh to the path filter that triggers Linux rebuilds.
  • README-generating.md: documentation updated for the new mechanism.

@adalisk-emikhaylov

Copy link
Copy Markdown
Contributor Author

This is still useful, please don't delete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant