about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/cctools/port.nix
diff options
context:
space:
mode:
authorMatthew Bauer <mbauer@machost.office>2019-01-25 18:04:50 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2019-04-26 21:54:46 -0400
commitf76c7b8fab2f4e5e3866d4dced0f18ceeae562b4 (patch)
tree256ca7ee74972a7378b5bd51ac93e89414fb1877 /pkgs/os-specific/darwin/cctools/port.nix
parent0fe315c9b6080cd75f92fea1f97714b04abb4315 (diff)
libtapi: init
(cherry picked from commit 69347697d3336d4b6add8276d9f75daf6f0cacf3)
Diffstat (limited to 'pkgs/os-specific/darwin/cctools/port.nix')
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix10
1 files changed, 8 insertions, 2 deletions
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index caf85b227bed1..b379933f3c807 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -2,6 +2,7 @@
 , libcxxabi, libuuid, llvm
 , libobjc ? null, maloader ? null
 , enableDumpNormalizedLibArgs ? false
+, enableTapiSupport ? stdenv.hostPlatform != stdenv.targetPlatform, libtapi
 }:
 
 let
@@ -52,7 +53,8 @@ let
 
     nativeBuildInputs = [ autoconf automake libtool_2 autoreconfHook ];
     buildInputs = [ libuuid ]
-      ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ];
+      ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ]
+      ++ stdenv.lib.optional enableTapiSupport libtapi;
 
     patches = [
       ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch
@@ -74,7 +76,11 @@ let
     # TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
     configurePlatforms = [ "build" "host" ]
       ++ stdenv.lib.optional (stdenv.targetPlatform != stdenv.hostPlatform) "target";
-    configureFlags = [ "--disable-clang-as" ];
+    configureFlags = [ "--disable-clang-as" ]
+      ++ stdenv.lib.optionals enableTapiSupport [
+        "--enable-tapi-support"
+        "--with-libtapi=${libtapi}"
+      ];
 
     postPatch = ''
       sed -i -e 's/addStandardLibraryDirectories = true/addStandardLibraryDirectories = false/' cctools/ld64/src/ld/Options.cpp