forked from mirrors/nixpkgs
boost: if isMips use the "cross compile" codepath unconditionally
boost-context changed its name for mips from "mips1" to "mips" in this commit:6edc8184a7
however the native-build code to detect the local architecture still reports "mips1":67c074b249/boostcpp.jam (L637)
Therefore native builds of boost-context on mips must specify architecture= explicitly; without this you will get link failures "undefined reference to `jump_fcontext`" in code that uses boost-context. Currently the "cross compile" codepath, which provides explicit architecture/abi/address-model/binary-format/os parameters, is prefixed by this comment: ``` # TODO: make this unconditional ``` This commit does so, at least if `isMips`. This commit is needed in order for native builds of nix to succeed on mips.
This commit is contained in:
parent
a3e6cd578f
commit
61d9f201ba
|
@ -83,7 +83,9 @@ let
|
|||
"-sEXPAT_LIBPATH=${expat.out}/lib"
|
||||
|
||||
# TODO: make this unconditional
|
||||
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform ||
|
||||
# required; see this line's `git blame` for an explanation
|
||||
(stdenv.hostPlatform.isMips && versionAtLeast version "1.79")) [
|
||||
"address-model=${toString stdenv.hostPlatform.parsed.cpu.bits}"
|
||||
"architecture=${if stdenv.hostPlatform.isMips64
|
||||
then if versionOlder version "1.78" then "mips1" else "mips"
|
||||
|
|
Loading…
Reference in a new issue