swiftpm: disable -index-store-path Apple extension

Changed files
+24
pkgs
development
compilers
swift
+1
pkgs/development/compilers/swift/swiftpm/default.nix
···
propagatedBuildInputs = [ Foundation ];
patches = [
./patches/cmake-disable-rpath.patch
./patches/disable-sandbox.patch
./patches/fix-clang-cxx.patch
(substituteAll {
···
propagatedBuildInputs = [ Foundation ];
patches = [
./patches/cmake-disable-rpath.patch
+
./patches/disable-index-store.patch
./patches/disable-sandbox.patch
./patches/fix-clang-cxx.patch
(substituteAll {
+23
pkgs/development/compilers/swift/swiftpm/patches/disable-index-store.patch
···
···
+
The `-index-store-path` option is an Apple extension not available in our
+
Clang. Make it opt-in by default.
+
+
(It is assumed the `target.type == test` check is for Xcode support, because
+
there is no evidence of it in swift-corelibs-xctest.)
+
+
--- a/Sources/Build/BuildPlan.swift
+
+++ b/Sources/Build/BuildPlan.swift
+
@@ -103,14 +103,7 @@ extension BuildParameters {
+
case .off:
+
addIndexStoreArguments = false
+
case .auto:
+
- if configuration == .debug {
+
- addIndexStoreArguments = true
+
- } else if target.type == .test {
+
- // Test discovery requires an index store for the test target to discover the tests
+
- addIndexStoreArguments = true
+
- } else {
+
addIndexStoreArguments = false
+
- }
+
}
+
+
if addIndexStoreArguments {