-
Notifications
You must be signed in to change notification settings - Fork 41
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
Create Continuous Integration Builds #6
Comments
This is part of #6. It adds pkg-config support to the build and updates the fallback compilation to install the library into a temporary locaiton to improve linking.
It turns out the OS X build want failing locally as I had oniguruma installed by homebrew too. |
Ok. So the build works on OS X because the linkpath is stored in the libraries. Linux can't run the tests because ld.so can't find the oniguruma library because it's not in the search path and Rust doesn't use rpaths. I'm going to create a separate branch for getting the build working on linux and looking into Windows build support too. |
As of 1e362be the Travis build works on both OS X and Linux. Time to setup a windows build. |
Are you sure that storing I think we should write a guide to building a package on various OS and use this scenarios in travis-ci, but we do not have to provide only one possible way to build the library. In other words, we need to remove Btw, why we use dylib for OS X? |
We don't store
If people want to use a different version of Oniguruma with our code they just need to build it and install it as they normally would. The This process is similar to that found in other rust ffi bindings. The only real difference from say the libgit or llvm bindings is that we use a tar rather than a git submodule to contain the third party source code. This is mainly because there isn't a definitive repo with the onig source in it. There is however a repo with the onigmod source in it which is why i've opened an issue to discuss switching to that fork of the codebase instead. It seems to be a bit more maintained than the original oniguruma source we have in our codebase.
Dylib is just OS X's name for dynamic link libraries. It's pretty much the same as a Linux |
Ok, I got it. This is a good decision. Perhaps we should describe this in the documentation.
I thought that https://github.com/kkos/oniguruma is the main repository of oniguruma, isn't it? Homebrew download library from there: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/oniguruma.rb May be we can use the same approach: just download it during building process |
Ok. I'm going to take a look at the Windows build side of things over the next few days. I'll have a look at switching to that repo as part of those changes. When I have done that I will update the read me to add build instructions too. |
It seems that https://ci.appveyor.com supports Windows containers for CI. At least regex crate use them: https://github.com/rust-lang-nursery/regex/blob/master/appveyor.yml |
Yes. I was planning on using Appveyor for the Windows builds. I just On Sun, 31 Jan 2016 at 04:37, Ivan Ivaschenko notifications@github.com
|
Based on the templates from https://github.com/starkat99/appveyor-rust.git Part of #6
Based on the templates from https://github.com/starkat99/appveyor-rust.git fixes #6
The travis continuous integration build at https://travis-ci.org/rust-onig/rust-onig is currently failing. There seems to be an error preventing the dynamic linker from finding the
libonig
that we build for theonig_sys
crate.The text was updated successfully, but these errors were encountered: