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 llvm distribution for windows #4

Open
RedwanFox opened this issue Sep 3, 2018 · 8 comments
Open

Support llvm distribution for windows #4

RedwanFox opened this issue Sep 3, 2018 · 8 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@RedwanFox
Copy link

subj

@siddharthab
Copy link
Contributor

The main problem with this issue is that I do not have access to a Windows machine to test. And it looks like it will be a fair bit of work to test everything in a non-Unix setting.

I am afraid I will have to rely on the community for this feature implementation.

@Kernald
Copy link
Contributor

Kernald commented May 12, 2019

I started taking a look at this (filed #13 in the process), but there's a problematic issue: LLVM for Windows is released only as a installable package, not a simple archive - or at least I didn't find any on the LLVM website.

@siddharthab
Copy link
Contributor

Yes, I am not sure how to deal with this either. Can we install the package to a given directory path? Even if is a system default path, I don't see particular harm in installing a specific version of LLVM if the install does not overwrite installs of other versions of LLVM.

@FaBrand
Copy link

FaBrand commented Oct 9, 2019

I also came across the requirement for clang under windows.
Apparently the llvm windows distribution is just a self extracting archive.
If the download_and_extract method would support nsis formats, it could be even easier.
e.g. 7zip can extract it out of the box, but i pressume adding that is yet another dependency

@siddharthab
Copy link
Contributor

We don't have to rely on download_and_extract. We can always execute the self-extracting archive in the repository rule.

zaucy added a commit to zaucy/bazel-toolchain that referenced this issue Nov 13, 2019
@jpieper
Copy link
Contributor

jpieper commented Oct 12, 2020

I have developed a different prototype patch series that works for Windows (I didn't notice the one developed by @zaucy until just now). It gets around needing to run the self-extracting executable, by relying on a re-packaged compressed archive instead of shelling out to a separate 7zip install. For my demonstration purposes, I just attached it as a release artifact to a github release.

https://github.com/mjbots/bazel-toolchain/commits/windows

The patch sequence isn't suited for submission yet, but if the general approach seemed reasonable, I would be happy to repackage it.

I also have a semi-independent ability to build libc++ from source and use that with binaries instead of the msvc standard library. That let me run coroutines on Windows with clang 10.0. It is less optimal, since I haven't figured out bazel toolchain transitions well enough to make it seamless yet. If you use that feature, every cc_binary has to manually depend upon the libc++ library.

@siddharthab siddharthab added enhancement New feature or request help wanted Extra attention is needed labels Sep 23, 2021
@siddharthab
Copy link
Contributor

If people are still interested in this, I think we can get in a hacky thing in and then make it more proper over time. I don't use a Windows machine myself, so if anyone wants to put in effort, I can give them write access and let them manage the Windows feature.

@johnnyxcy
Copy link

johnnyxcy commented Mar 12, 2024

I'm also interested in this feature. And llvm v18.1.1 is released https://github.com/llvm/llvm-project/releases/tag/llvmorg-18.1.1 and clang+llvm-18.1.1-x86_64-pc-windows-msvc.tar.xz is officially supported. Is it possible to take a look at Windows support for now?

Morriar pushed a commit to Morriar/toolchains_llvm that referenced this issue May 28, 2024
* add void

* try this version

* whoops

---------

Co-authored-by: Getty Ritter <tristero@infinitenegativeutility.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

6 participants