summary refs log tree commit diff
path: root/pkgs/os-specific/linux/bionic-prebuilt
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2021-12-27 22:40:04 +0800
committerMoritz Angermann <moritz.angermann@gmail.com>2022-01-05 15:16:27 +0800
commitcc545663cec6603e4c889c259a7f657e9f4229dc (patch)
tree55b2ab63832d190ab66e6f4e30809ce4c6e9c59d /pkgs/os-specific/linux/bionic-prebuilt
parentfc06653254a1d8e3840fff5f3ad23a9adf8fc3c8 (diff)
downloadnixpkgs-cc545663cec6603e4c889c259a7f657e9f4229dc.tar
nixpkgs-cc545663cec6603e4c889c259a7f657e9f4229dc.tar.gz
nixpkgs-cc545663cec6603e4c889c259a7f657e9f4229dc.tar.bz2
nixpkgs-cc545663cec6603e4c889c259a7f657e9f4229dc.tar.lz
nixpkgs-cc545663cec6603e4c889c259a7f657e9f4229dc.tar.xz
nixpkgs-cc545663cec6603e4c889c259a7f657e9f4229dc.tar.zst
nixpkgs-cc545663cec6603e4c889c259a7f657e9f4229dc.zip
Export static libc, libm, libdl from the prebuilt crt as well.
Adds enable{Static,Shared} flags as well.
Diffstat (limited to 'pkgs/os-specific/linux/bionic-prebuilt')
-rw-r--r--pkgs/os-specific/linux/bionic-prebuilt/default.nix13
1 files changed, 11 insertions, 2 deletions
diff --git a/pkgs/os-specific/linux/bionic-prebuilt/default.nix b/pkgs/os-specific/linux/bionic-prebuilt/default.nix
index 920732a2020..8fa17036c4a 100644
--- a/pkgs/os-specific/linux/bionic-prebuilt/default.nix
+++ b/pkgs/os-specific/linux/bionic-prebuilt/default.nix
@@ -1,4 +1,6 @@
-{ stdenvNoCC, lib, fetchzip, pkgs
+{ stdenv, stdenvNoCC, lib, fetchzip, pkgs
+, enableStatic ? stdenv.hostPlatform.isStatic
+, enableShared ? !stdenv.hostPlatform.isStatic
 }:
 let
 
@@ -92,10 +94,17 @@ stdenvNoCC.mkDerivation rec {
     cp -v ${prebuilt_crt.out}/*.o $out/lib/
     cp -v ${prebuilt_crt.out}/libgcc.a $out/lib/
     cp -v ${prebuilt_ndk_crt.out}/*.o $out/lib/
+  '' + lib.optionalString enableShared ''
     for i in libc.so libm.so libdl.so liblog.so; do
       cp -v ${prebuilt_libs.out}/$i $out/lib/
     done
-
+  '' + lib.optionalString enableStatic ''
+    # no liblog.a; while it's also part of the base libraries,
+    # it's only available as shared object in the prebuilts.
+    for i in libc.a libm.a libdl.a; do
+      cp -v ${prebuilt_ndk_crt.out}/$i $out/lib/
+    done
+  '' + ''
     mkdir -p $dev/include
     cp -v $out/include/*.h $dev/include/
   '';