diff options
author | Adam Joseph <adam@westernsemico.com> | 2022-07-11 13:37:49 -0700 |
---|---|---|
committer | Rick van Schijndel <Mindavi@users.noreply.github.com> | 2022-10-19 20:22:45 +0200 |
commit | ac92b409b36f75fc2772c3333346174cb42d5352 (patch) | |
tree | 75893f6c42ad6dc5707da15f33e0ef0040a61a47 /pkgs/development/libraries/boost | |
parent | 5e838fa9ac7e635410de2cfbeb03d336db7e6347 (diff) | |
download | nixpkgs-ac92b409b36f75fc2772c3333346174cb42d5352.tar nixpkgs-ac92b409b36f75fc2772c3333346174cb42d5352.tar.gz nixpkgs-ac92b409b36f75fc2772c3333346174cb42d5352.tar.bz2 nixpkgs-ac92b409b36f75fc2772c3333346174cb42d5352.tar.lz nixpkgs-ac92b409b36f75fc2772c3333346174cb42d5352.tar.xz nixpkgs-ac92b409b36f75fc2772c3333346174cb42d5352.tar.zst nixpkgs-ac92b409b36f75fc2772c3333346174cb42d5352.zip |
boost: if isMips use the "cross compile" codepath unconditionally
boost-context changed its name for mips from "mips1" to "mips" in this commit: https://github.com/boostorg/context/commit/6edc8184a7136de4603a6f903d9b9b864ca9cf57 however the native-build code to detect the local architecture still reports "mips1": https://github.com/boostorg/boost/blob/67c074b249538cf441724f9bbb3929d0f6b4f333/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.
Diffstat (limited to 'pkgs/development/libraries/boost')
-rw-r--r-- | pkgs/development/libraries/boost/generic.nix | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index 1644adb175d..4115d11eeb8 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -81,7 +81,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" |