diff --git a/pkgs/os-specific/darwin/ios-cross/default.nix b/pkgs/os-specific/darwin/ios-cross/default.nix index e5375ef60915..e0981d48c8c9 100644 --- a/pkgs/os-specific/darwin/ios-cross/default.nix +++ b/pkgs/os-specific/darwin/ios-cross/default.nix @@ -6,7 +6,7 @@ , stdenv , coreutils , gnugrep -, targetPlatform +, hostPlatform, targetPlatform }: /* As of this writing, known-good prefix/arch/simulator triples: @@ -28,14 +28,14 @@ let sdk = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhone${sdkType}.platform/Developer/SDKs/iPhone${sdkType}${sdkVer}.sdk"; - /* TODO: Properly integrate with gcc-cross-wrapper */ - wrapper = import ../../../build-support/cc-wrapper { - inherit stdenv coreutils gnugrep; +in (import ../../../build-support/cc-wrapper { + inherit stdenv coreutils gnugrep runCommand; nativeTools = false; nativeLibc = false; inherit binutils; libc = runCommand "empty-libc" {} "mkdir -p $out/{lib,include}"; - cc = clang; + inherit (clang) cc; + inherit hostPlatform targetPlatform; extraBuildCommands = '' if ! [ -d ${sdk} ]; then echo "You must have ${sdkVer} of the iPhone${sdkType} sdk installed at ${sdk}" >&2 @@ -49,27 +49,6 @@ let # Purposefully overwrite libc-ldflags-before, cctools ld doesn't know dynamic-linker and cc-wrapper doesn't do cross-compilation well enough to adjust echo "-arch ${arch} -L${sdk}/usr/lib ${lib.optionalString simulator "-L${sdk}/usr/lib/system "}-i${if simulator then "os_simulator" else "phoneos"}_version_min 7.0.0" > $out/nix-support/libc-ldflags-before ''; - }; -in { - cc = runCommand "${prefix}-cc" { passthru = { inherit sdkType sdkVer sdk; }; } '' - mkdir -p $out/bin - ln -sv ${wrapper}/bin/clang $out/bin/${prefix}-cc - mkdir -p $out/nix-support - echo ${llvm} > $out/nix-support/propagated-native-build-inputs - cat > $out/nix-support/setup-hook <