From d8699a9a5b8f98c710bc5d4e78245e3007d82985 Mon Sep 17 00:00:00 2001 From: James Kay Date: Thu, 13 Dec 2018 20:05:54 +0000 Subject: [PATCH 1/2] libcxxabi: also install libc++abi.a --- pkgs/development/compilers/llvm/4/libc++abi.nix | 1 + pkgs/development/compilers/llvm/5/libc++abi.nix | 1 + pkgs/development/compilers/llvm/6/libc++abi.nix | 1 + pkgs/development/compilers/llvm/7/libc++abi.nix | 1 + 4 files changed, 4 insertions(+) diff --git a/pkgs/development/compilers/llvm/4/libc++abi.nix b/pkgs/development/compilers/llvm/4/libc++abi.nix index 5eeec395b97..735c5e9e743 100644 --- a/pkgs/development/compilers/llvm/4/libc++abi.nix +++ b/pkgs/development/compilers/llvm/4/libc++abi.nix @@ -34,6 +34,7 @@ stdenv.mkDerivation { '' else '' install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.a $out/lib install -m 644 lib/libc++abi.so.1.0 $out/lib install -m 644 ../include/cxxabi.h $out/include ln -s libc++abi.so.1.0 $out/lib/libc++abi.so diff --git a/pkgs/development/compilers/llvm/5/libc++abi.nix b/pkgs/development/compilers/llvm/5/libc++abi.nix index 69970543674..227ecbeda19 100644 --- a/pkgs/development/compilers/llvm/5/libc++abi.nix +++ b/pkgs/development/compilers/llvm/5/libc++abi.nix @@ -33,6 +33,7 @@ stdenv.mkDerivation { '' else '' install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.a $out/lib install -m 644 lib/libc++abi.so.1.0 $out/lib install -m 644 ../include/cxxabi.h $out/include ln -s libc++abi.so.1.0 $out/lib/libc++abi.so diff --git a/pkgs/development/compilers/llvm/6/libc++abi.nix b/pkgs/development/compilers/llvm/6/libc++abi.nix index 425b00c689e..df9c784a10f 100644 --- a/pkgs/development/compilers/llvm/6/libc++abi.nix +++ b/pkgs/development/compilers/llvm/6/libc++abi.nix @@ -33,6 +33,7 @@ stdenv.mkDerivation { '' else '' install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.a $out/lib install -m 644 lib/libc++abi.so.1.0 $out/lib install -m 644 ../include/cxxabi.h $out/include ln -s libc++abi.so.1.0 $out/lib/libc++abi.so diff --git a/pkgs/development/compilers/llvm/7/libc++abi.nix b/pkgs/development/compilers/llvm/7/libc++abi.nix index 7dbda6c365e..04062b83f50 100644 --- a/pkgs/development/compilers/llvm/7/libc++abi.nix +++ b/pkgs/development/compilers/llvm/7/libc++abi.nix @@ -33,6 +33,7 @@ stdenv.mkDerivation { '' else '' install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.a $out/lib install -m 644 lib/libc++abi.so.1.0 $out/lib install -m 644 ../include/cxxabi.h $out/include ln -s libc++abi.so.1.0 $out/lib/libc++abi.so From 72e1764199805ab6e602fa3762a4d95bfdf80cb8 Mon Sep 17 00:00:00 2001 From: James Kay Date: Mon, 17 Dec 2018 18:59:05 +0000 Subject: [PATCH 2/2] libcxx: add linker scripts for libc++.a to ensure libc++abi.a is properly linked --- pkgs/development/compilers/llvm/4/libc++/default.nix | 5 +++++ pkgs/development/compilers/llvm/4/libc++/libc++.a | 1 + pkgs/development/compilers/llvm/5/libc++/default.nix | 5 +++++ pkgs/development/compilers/llvm/5/libc++/libc++.a | 1 + pkgs/development/compilers/llvm/6/libc++/default.nix | 5 +++++ pkgs/development/compilers/llvm/6/libc++/libc++.a | 1 + pkgs/development/compilers/llvm/7/libc++/default.nix | 5 +++++ pkgs/development/compilers/llvm/7/libc++/libc++.a | 1 + 8 files changed, 24 insertions(+) create mode 100644 pkgs/development/compilers/llvm/4/libc++/libc++.a create mode 100644 pkgs/development/compilers/llvm/5/libc++/libc++.a create mode 100644 pkgs/development/compilers/llvm/6/libc++/libc++.a create mode 100644 pkgs/development/compilers/llvm/7/libc++/libc++.a diff --git a/pkgs/development/compilers/llvm/4/libc++/default.nix b/pkgs/development/compilers/llvm/4/libc++/default.nix index 2b543b9d793..6344304b84b 100644 --- a/pkgs/development/compilers/llvm/4/libc++/default.nix +++ b/pkgs/development/compilers/llvm/4/libc++/default.nix @@ -44,6 +44,11 @@ stdenv.mkDerivation rec { linkCxxAbi = stdenv.isLinux; + postInstall = '' + mv $out/lib/libc++.a $out/lib/libc++_static.a + cp ${./libc++.a} $out/lib/libc++.a + ''; + setupHooks = [ ../../../../../build-support/setup-hooks/role.bash ./setup-hook.sh diff --git a/pkgs/development/compilers/llvm/4/libc++/libc++.a b/pkgs/development/compilers/llvm/4/libc++/libc++.a new file mode 100644 index 00000000000..f676948115e --- /dev/null +++ b/pkgs/development/compilers/llvm/4/libc++/libc++.a @@ -0,0 +1 @@ +INPUT(-lc++_static -lc++abi) diff --git a/pkgs/development/compilers/llvm/5/libc++/default.nix b/pkgs/development/compilers/llvm/5/libc++/default.nix index b182f1250e7..6dc81e10163 100644 --- a/pkgs/development/compilers/llvm/5/libc++/default.nix +++ b/pkgs/development/compilers/llvm/5/libc++/default.nix @@ -38,6 +38,11 @@ stdenv.mkDerivation rec { linkCxxAbi = stdenv.isLinux; + postInstall = '' + mv $out/lib/libc++.a $out/lib/libc++_static.a + cp ${./libc++.a} $out/lib/libc++.a + ''; + setupHooks = [ ../../../../../build-support/setup-hooks/role.bash ./setup-hook.sh diff --git a/pkgs/development/compilers/llvm/5/libc++/libc++.a b/pkgs/development/compilers/llvm/5/libc++/libc++.a new file mode 100644 index 00000000000..f676948115e --- /dev/null +++ b/pkgs/development/compilers/llvm/5/libc++/libc++.a @@ -0,0 +1 @@ +INPUT(-lc++_static -lc++abi) diff --git a/pkgs/development/compilers/llvm/6/libc++/default.nix b/pkgs/development/compilers/llvm/6/libc++/default.nix index 3a165e9da7b..b90b6b7b58c 100644 --- a/pkgs/development/compilers/llvm/6/libc++/default.nix +++ b/pkgs/development/compilers/llvm/6/libc++/default.nix @@ -38,6 +38,11 @@ stdenv.mkDerivation rec { linkCxxAbi = stdenv.isLinux; + postInstall = '' + mv $out/lib/libc++.a $out/lib/libc++_static.a + cp ${./libc++.a} $out/lib/libc++.a + ''; + setupHooks = [ ../../../../../build-support/setup-hooks/role.bash ./setup-hook.sh diff --git a/pkgs/development/compilers/llvm/6/libc++/libc++.a b/pkgs/development/compilers/llvm/6/libc++/libc++.a new file mode 100644 index 00000000000..f676948115e --- /dev/null +++ b/pkgs/development/compilers/llvm/6/libc++/libc++.a @@ -0,0 +1 @@ +INPUT(-lc++_static -lc++abi) diff --git a/pkgs/development/compilers/llvm/7/libc++/default.nix b/pkgs/development/compilers/llvm/7/libc++/default.nix index 76bfb34975e..f3b2f4df6cc 100644 --- a/pkgs/development/compilers/llvm/7/libc++/default.nix +++ b/pkgs/development/compilers/llvm/7/libc++/default.nix @@ -36,6 +36,11 @@ stdenv.mkDerivation rec { linkCxxAbi = stdenv.isLinux; + postInstall = '' + mv $out/lib/libc++.a $out/lib/libc++_static.a + cp ${./libc++.a} $out/lib/libc++.a + ''; + setupHooks = [ ../../../../../build-support/setup-hooks/role.bash ./setup-hook.sh diff --git a/pkgs/development/compilers/llvm/7/libc++/libc++.a b/pkgs/development/compilers/llvm/7/libc++/libc++.a new file mode 100644 index 00000000000..f676948115e --- /dev/null +++ b/pkgs/development/compilers/llvm/7/libc++/libc++.a @@ -0,0 +1 @@ +INPUT(-lc++_static -lc++abi)