Uh oh!
There was an error while loading. Please reload this page.
adaptation to rustbuild for openbsd - #38451
Conversation
OpenBSD usually use an alternative compiler (`egcc') from ports. But the `ar' is unprefixed as it comes from base.
the backtrace test doesn't work on openbsd as it doesn't have support for libbacktrace without using filename.
the diff extends build_helper to provide an function to return the expected name of GNU-make on the host: "make" or "gmake". Fixesrust-lang#38429
semarie
commented
Dec 18, 2016
The The implementation statically bound "gmake" to BSD and let "make" to others. Eventually, I could add the use of a variable |
semarie
commented
Dec 18, 2016
I think I will keep some tests failing with vanilla configuration: the fact that A simple workaround is to have a directory in front of |
stdc++ is from base, and is an old library (GCC 4.2) estdc++ is from ports, and is a recent library (GCC 4.9 currently) as LLVM requires the newer version, use it if under OpenBSD.
ba025b2 to
2c39ee1Comparealexcrichton
commented
Dec 18, 2016
Looks good to me, thanks! When this is ready just lemme know and I'll r+ |
semarie
commented
Dec 19, 2016
I have a failing test (check-std-all) that seems related to |
hum. it could be my cargo binary that is too old. It is a 0.13.0. |
semarie
commented
Dec 19, 2016
@alexcrichton it is ok now. My cargo was too old for correctly performing tests without errors. As side note, I found it is more and more complex to build rustc now. I hope to not having to port a new platform (full cross-compiling isn't always possible) due to interdependance of rustc and cargo (and libc which needs cargo too to properly check it). |
alexcrichton
commented
Dec 19, 2016
@semarie I'm not sure I understand the sentiment that building is more complex now? The only difference is that building the compiler requires Cargo now as opposed to just a previous rustc. Otherwise the build system should take care of everything. |
alexcrichton
commented
Dec 19, 2016
@bors: r+ In any case, changes look good to me! |
bors
commented
Dec 19, 2016
📌 Commit 2c39ee1 has been approved by |
semarie
commented
Dec 19, 2016
If you already have "correct libc" + "rustc" + "cargo", there are no problem with the build system. But porting a new platform to Rust will require additionnal effort due to the interdependance of these three components. |
…ichton adaptation to rustbuild for openbsd Since the switch to rustbuild, the build for openbsd is broken: - [X] `ar` inference based on compiler name is wrong (OpenBSD usually use `egcc`, but `ear` doesn't exist) - [X] `make` isn't GNU-make under OpenBSD (and others BSD platforms) - [x] `stdc++` isn't the right stdc++ library to link with (it should be `estdc++`) - [x] corrects tests that don't pass anymore (problems related to rustbuild) r? @alexcrichton
Rollup of 29 pull requests - Successful merges: #37761, #38006, #38131, #38150, #38158, #38171, #38208, #38215, #38236, #38245, #38289, #38302, #38315, #38346, #38388, #38395, #38398, #38418, #38432, #38451, #38463, #38468, #38470, #38471, #38472, #38478, #38486, #38493, #38498 - Failed merges: #38271, #38483
A tweak was made to dependencies in rust-lang#38451 but the makefiles weren't updated to accompany this. Instead of trying to integerate the `build_helper` crate into the makefiles (which currently isn't present) this commit takes the approach of just duplicating the required logic, which should be small enough for now.
mk: Fix compile with makefiles A tweak was made to dependencies in #38451 but the makefiles weren't updated to accompany this. Instead of trying to integerate the `build_helper` crate into the makefiles (which currently isn't present) this commit takes the approach of just duplicating the required logic, which should be small enough for now.
brson
commented
Jan 19, 2017
A tweak was made to dependencies in rust-lang#38451 but the makefiles weren't updated to accompany this. Instead of trying to integerate the `build_helper` crate into the makefiles (which currently isn't present) this commit takes the approach of just duplicating the required logic, which should be small enough for now.
Since the switch to rustbuild, the build for openbsd is broken:
arinference based on compiler name is wrong (OpenBSD usually useegcc, buteardoesn't exist)makeisn't GNU-make under OpenBSD (and others BSD platforms)stdc++isn't the right stdc++ library to link with (it should beestdc++)r? @alexcrichton