     let girName: String
 
     /// The name of pkg-config package in which the gir file resides (mainly for the purposes of macOS sandboxing)
-    let pkgConfig: String
+    /// If this is `nil`, then the lowercase version of the gir name will be used.
+    let pkgConfig: String?
 }
 
 /// Metadata parsed from a `.gir` file. This structure is intended to help in determining the dependency graph of `.gir` files. It represents the contents of `/gir:repository`

        // For some reason `swift-corelibs-foundation` failed to open the file as a `Data`.
        let data = try String.init(contentsOfFile: manifestURL.path)
        let manifest = try YAMLDecoder().decode(Manifest.self, from: data)
        
        // Search for location of the generated `.gir` file.
        let optGirPath = try Plan.searchForGir(
            named: manifest.girName, 
            pkgConfig: [manifest.pkgConfig]
        )
        guard let girPath = optGirPath else {
            throw Error.girNotFound(named: manifest.girName + ".gir" )
        } 

        self.girFileToGenerate = girPath
        self.girFilesToPreload = try Plan.loadPrerequisities(from: girPath, pkgConfig: manifest.pkgConfig, prerequisites: manifest.prerequisites)
        self.pkgConfigName = manifest.pkgConfig
    }
    
    /// Searches for `.gir` file location for given name.

        var pkgConfigCandidates: Set<String> = []
        #if os(macOS)
            // Determine the dependency graph of `pkg-config` and add them all to the candidate set.
            for package in (prerequisites?.map({$0.pkgConfig ?? $0.girName.lowercased()}) ?? []) + [pkgConfig] {
                pkgConfigCandidates.formUnion(try getAllPkgConfigDependencies(for: package))
            }
        #endif
