     /// Path of the `swiftc` compiler.
     public let swiftCompiler: AbsolutePath
 
-    public let extraCCFlags: [String]
+    public var extraCCFlags: [String]
 
     public let extraSwiftCFlags: [String]
 
-    public var extraCPPFlags: [String] {
-        return destination.extraCPPFlags
-    }
+    public var extraCPPFlags: [String]
 
     /// Path of the `swift` interpreter.
     public var swiftInterpreter: AbsolutePath {

            self.extraCCFlags = [
                triple.isDarwin() ? "-isysroot" : "--sysroot", sdk.pathString
            ] + destination.extraCCFlags
        } else {
            self.extraCCFlags = destination.extraCCFlags
        }

        // Compute the path of directory containing the PackageDescription libraries.

                // the SDK.  This is not the same value as the SDKROOT parameter
                // in Xcode, however, the value represents a similar concept.
                if let SDKROOT = ProcessEnv.vars["SDKROOT"], let root = try? AbsolutePath(validating: SDKROOT) {
                    var runtime: [String] = []
                    var xctest: [String] = []

                    if let settings = WindowsSDKSettings(reading: root.appending(component: "SDKSettings.plist"),
                                                         diagnostics: nil, filesystem: localFileSystem) {
                        switch settings.defaults.runtime {
                        case .multithreadedDebugDLL:
                            runtime = [ "-libc", "MDd" ]
                        case .multithreadedDLL:
                            runtime = [ "-libc", "MD" ]
                        case .multithreadedDebug:
                            runtime = [ "-libc", "MTd" ]
                        case .multithreaded:
                            runtime = [ "-libc", "MT" ]
                        }
                    }

                    if let DEVELOPER_DIR = ProcessEnv.vars["DEVELOPER_DIR"],
