Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support clang build on windows. #163

Closed
gengjiawen opened this issue Jun 29, 2020 · 7 comments
Closed

Support clang build on windows. #163

gengjiawen opened this issue Jun 29, 2020 · 7 comments

Comments

@gengjiawen
Copy link
Member

gengjiawen commented Jun 29, 2020

We have run into multi issues using msvc compiler. Is it possible we add clang support for windows too.
Some benefits:

  • v8 use clang on windows too, v8 build will be less problematic.
  • clang is small compared to visual studio
  • ninja support

cc @nodejs/v8 @nodejs/build

@targos
Copy link
Member

targos commented Jun 29, 2020

It's possible if someone does the work to enable it.

@ryzokuken
Copy link

@gengjiawen it sounds like a major win. As @targos said, I hope someone finds the time and energy to make this happen.

@richardlau
Copy link
Member

This is probably one for @nodejs/platform-windows (in particular @joaocgreis and @bzoz). As long as Node.js supports building with MSVC we'll need to continue building on it so adding an additional toolchain (clang) doesn't avoid us having to fix the build with MSVC.

@gengjiawen
Copy link
Member Author

an additional toolchain (clang) doesn't avoid us having to fix the build with MSVC.

Actually v8 doesn't use msvc bring too much trouble when we building Node.js.If this is doable, we can move msvc support to second layer ?

The biggest problem with msvc is that, it's very hard to debug with all those mistery.
It often take many days to debug a msvc-only problem like in this repo and bnoordhuis/v8-cmake#10.

@mmarchini
Copy link

It would be amazing if we could do so, and it had been suggested before by V8. One thing to consider is that such a change would be semver-major, and the biggest challenge is ensuring native modules still work (and I'm not sure if native modules would need a different toolchain with clang instead of msvc, @nodejs/platform-windows might know it). As soon as we had this working it would be feasible for us to use clang to test this repo, since V8 updates are semver-major by default.

@targos
Copy link
Member

targos commented Jul 13, 2020

I started experimenting with ClangCL here: https://github.com/targos/node/commits/clang-cl
Currently blocked on ICU: nodejs/node#34201

@targos
Copy link
Member

targos commented Jan 10, 2024

Work is happening on nodejs/node#35433

@targos targos closed this as completed Jan 10, 2024
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

No branches or pull requests

5 participants