RFR: 8321533: Clang build for Windows
Kim Barrett
kbarrett at openjdk.org
Mon Dec 11 03:45:15 UTC 2023
On Thu, 7 Dec 2023 15:52:46 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
> I'd like to propose a new toolchain for Windows using the clang-cl compiler frontend.
>
> Clang-cl is available as an optional feature in all Visual Studio editions, including the free-for-OSS-development community edition.
>
> Clang-cl command line is mostly compatible with cl. However, clang-cl offers a distinct set of diagnostic messages and warnings, which can be used to improve code quality.
>
> In order to use the clang compiler:
> - install Visual Studio 2022
> - install C++ Clang Compiler (https://learn.microsoft.com/en-us/cpp/build/clang-support-msbuild?view=msvc-170)
> - configure `--with-toolchain-type=clcl`
> - compile as usual.
>
> Note: at this moment the code does not build; I plan to submit separate patches that fix the build problems separately. For the impatient, [this patch](https://github.com/djelinski/jdk/commit/d67a16244f4e6db8e6e8c59266bebd17827bc2a5) should be enough to compile the JDK, and [this one](https://github.com/djelinski/jdk/commit/1580e7cf54cca61d3ab58891619553994ea26b10) is needed to get tier1 to pass.
This is effectively creating a new port. That shouldn't be done lightly.
Who needs this? (Real question, not rhetorical.) We've discussed things like
this in the past (build for Windows using something other than MSVC), and it
wasn't clear there was a user community sufficient to warrant the effort to
develop and (especially) maintain such a port.
Who is going to maintain this?
Most "secondary" ports have an associated JDK project that is responsible for
them. This provides a place for other developers to find the maintainers.
Because there was only the one configuration, there have been places that
conflate Windows (the OS) and MSVC (the compiler), both in the build system
and in the source code. And for source code that means both HotSpot and
native code elsewhere in the JDK. Julian has been cleaning up some of that,
but I've no idea how much might be left. And things will quickly bit rot if
there aren't active maintainers.
-------------
PR Review: https://git.openjdk.org/jdk/pull/17019#pullrequestreview-1774237983
More information about the build-dev
mailing list