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

Llvm config #174

Closed
wants to merge 4 commits into from
Closed

Llvm config #174

wants to merge 4 commits into from

Conversation

rillian
Copy link
Contributor

@rillian rillian commented Oct 20, 2010

Just a reminder to pull the llvm version check patch.

Well, really, I'm just playing with github. Not sure this is easier than posting patches.

NB this commit also resolves #173. Peter's patch also fixes the build, but not the include path issue with Ubuntu's packaged llvm-ocaml.

The LLVM project recently released version 2.8, and updated
the SVN tree version to 2.9svn, obsoleting the simple check
for 'llvm-config --version' returning 2.8svn.

With this commit we instead check for the substrings 2.8 and 2.9
in the output of 'llvm-config --version', since we (currently)
support both the svn and released varieties of those versions.

A stable release also complicates our check for the ocaml bindings.
Previously we looked in `llvm-config --libdir`/ocaml which is
appropriate for local compiles, but distribution packagers are
likely to put the bindings in the default search path, e.g.
/usr/lib/ocaml/llvm. We now fall back to trying variations on
the standard library path returned by 'ocamlc -config' if we
don't find it under 'llvm-config --libdir'.

With this change, rust builds against LLVM 2.8 as packaged
in Ubuntu 10.10 as well as LLVM 2.9svn compiled locally.
@graydon
Copy link
Contributor

graydon commented Oct 20, 2010

Would like to, still waiting on confirmation from HQ on receipt of the contributor agreement. Sorry. Will pull following that.

Ubuntu ships the llvm bindings in /usr/lib/ocaml/llvm/ but Fedora
is installing them directly in /usr/lib/ocaml so we need to check
there as well.

The patch is untested; Fedora 14, the current beta, includes llvm 2.7.
It does add an unnecessary -I directive, but should at least have a
better chance of working on Fedora 15.
This change is thanks to Peter Hull, who independently resolved
the 2.8 vs 2.8svn issue this way. His patch checked the version
string against a fixed set of options, which is easier to read
and simpler to adjust in the future.
@rillian
Copy link
Contributor Author

rillian commented Oct 22, 2010

This branch was cherrypicked into graydon/rust master as of eec259f. Thanks!

oli-obk added a commit to oli-obk/rust that referenced this pull request Jul 19, 2017
run test suite also against libstd with full MIR
kazcw pushed a commit to kazcw/rust that referenced this pull request Oct 23, 2018
dlrobertson pushed a commit to dlrobertson/rust that referenced this pull request Nov 29, 2018
Link to the rustdoc book for doc attribute docs.
djtech-dev pushed a commit to djtech-dev/rust that referenced this pull request Dec 9, 2021
Don't increment the iterator while a Section/Relocation/Symbol is using it.
matthiaskrgr pushed a commit to matthiaskrgr/rust that referenced this pull request Mar 7, 2023
Download libgccjit-12-dev package in the CI
celinval pushed a commit to celinval/rust-dev that referenced this pull request Jun 4, 2024
This pull request was closed.
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.

2 participants