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

Fix configure --llvm-root #6802

Closed
pnkfelix opened this issue May 29, 2013 · 10 comments
Closed

Fix configure --llvm-root #6802

pnkfelix opened this issue May 29, 2013 · 10 comments
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.

Comments

@pnkfelix
Copy link
Member

Rust currently uses a patched version of llvm. Some time ago, we added a --llvm-root option to configure (#1123), to allow the user to point the build at an LLVM outside the build tree.

Some recent discussion on #4259 and on wiki packaging leads me to conclude that the llvm-root switch is broken.

We may want to fix it, e.g. to test, once our patches have landed upstream, whether a new version of LLVM works.

(Also, I would be curious if there is a way to build the LLVM source once and share it amongst multiple clones of the Rust git repository. Doing that was the impetus for my interest in this matter, though in hindsight it is possible that --llvm-root never actually supported that use-case.)

@fabiand
Copy link
Contributor

fabiand commented Jul 9, 2013

I'll be happy to test anything related to unbundling llvm.

@bblum
Copy link
Contributor

bblum commented Aug 20, 2013

nominating feature-complete milestone

@catamorphism
Copy link
Contributor

Just a bug -- internal implementation issue.

@fabiand
Copy link
Contributor

fabiand commented Aug 29, 2013

Fixing this would really help us to get rust into fedora. A bundled llvm is a major blocker.

Tim Chevalier [email protected] schrieb:

Just a bug -- internal implementation issue.


Reply to this email directly or view it on GitHub.

@alexcrichton
Copy link
Member

Sadly, until we get our patches into LLVM upstream we won't be able to do this.

@pnkfelix
Copy link
Member Author

Well, I would think we could fix the --llvm-root switch, regardless of whether the patches are upstream. I.e. being able to make one checkout of our fork and share it among multiple clones of rust. (I'm just pointing out that #4259 does not actually block this.)

@fabiand
Copy link
Contributor

fabiand commented Sep 4, 2013

Will the --llvm-root actually require all llvm source, or just the headers+libs?

@alexcrichton
Copy link
Member

In theory all we need are the headers and libraries, the source shouldn't be necessary at all.

@dmski
Copy link
Contributor

dmski commented Mar 5, 2014

--llvm-root is actually working fine for me on macos and linux (though i last checked it on linux about 2 months ago).

I have llvm built with ./configure --enable-targets=x86,x86_64,arm,mips --enable-optimized --enable-assertions --disable-docs --enable-bindings=none --disable-terminfo --disable-zlib --disable-libffi --with-python=/usr/bin/python2.7 --prefix=/path/to/installed/llvm and installed to a separate directory.

Building rustc with configure --llvm-root=/path/to/installed/llvm then skips building and configuring llvm (though still retrieves its sources from git) and resultant rust binaries successfully pass make check.

@alexcrichton
Copy link
Member

Indeed, we're using --llvm-root on travis today, and we're doing just fine.

flip1995 pushed a commit to flip1995/rust that referenced this issue Mar 11, 2021
Remove workspace and fix dogfood (again)

changelog: none

In response to rust-lang/rust-clippy#6733 (comment)
flip1995 pushed a commit to flip1995/rust that referenced this issue Mar 11, 2021
Dogfood and CI fixes

The CI fix is practically rust-lang#6829 rebased and squashed into one commit

Dogfood fix is a follow up of rust-lang#6802

r? `@matthiaskrgr` for lintcheck changes

(best reviewed with whitespace changes hidden)

changelog: none
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.
Projects
None yet
Development

No branches or pull requests

6 participants