forked from mirrors/nixpkgs
Merge pull request #140880 from sternenseemann/llvm-grpc
pkgsLLVM.grpc: fix build
This commit is contained in:
commit
eb88cf6eed
|
@ -57,7 +57,12 @@ stdenv.mkDerivation rec {
|
||||||
"-DgRPC_ABSL_PROVIDER=package"
|
"-DgRPC_ABSL_PROVIDER=package"
|
||||||
"-DBUILD_SHARED_LIBS=ON"
|
"-DBUILD_SHARED_LIBS=ON"
|
||||||
"-DCMAKE_SKIP_BUILD_RPATH=OFF"
|
"-DCMAKE_SKIP_BUILD_RPATH=OFF"
|
||||||
"-DCMAKE_CXX_STANDARD=17"
|
# Needs to be compiled with -std=c++11 for clang < 11. Interestingly this is
|
||||||
|
# only an issue with the useLLVM stdenv, not the darwin stdenv…
|
||||||
|
# https://github.com/grpc/grpc/issues/26473#issuecomment-860885484
|
||||||
|
(if (stdenv.hostPlatform.useLLVM or false) && lib.versionOlder stdenv.cc.cc.version "11.0"
|
||||||
|
then "-DCMAKE_CXX_STANDARD=11"
|
||||||
|
else "-DCMAKE_CXX_STANDARD=17")
|
||||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||||
"-D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${buildPackages.protobuf}/bin/protoc"
|
"-D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${buildPackages.protobuf}/bin/protoc"
|
||||||
];
|
];
|
||||||
|
@ -68,7 +73,12 @@ stdenv.mkDerivation rec {
|
||||||
rm -vf BUILD
|
rm -vf BUILD
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preBuild = ''
|
# When natively compiling, grpc_cpp_plugin is executed from the build directory,
|
||||||
|
# needing to load dynamic libraries from the build directory, so we set
|
||||||
|
# LD_LIBRARY_PATH to enable this. When cross compiling we need to avoid this,
|
||||||
|
# since it can cause the grpc_cpp_plugin executable from buildPackages to
|
||||||
|
# crash if build and host architecture are compatible (e. g. pkgsLLVM).
|
||||||
|
preBuild = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
|
||||||
export LD_LIBRARY_PATH=$(pwd)''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH=$(pwd)''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue