@@ -27,24 +27,26 @@ import func TSCBasic.topologicalSort
2727 if let currentInfo = modules [ swiftModuleId] ,
2828 externalModuleId. moduleName != mainModuleName {
2929 let newExternalModuleDetails =
30- try SwiftPrebuiltExternalModuleDetails ( compiledModulePath:
31- TextualVirtualPath ( path: VirtualPath . absolute ( externalModulePath) . intern ( ) ) ,
32- isFramework: externalModuleDetails. isFramework)
30+ SwiftPrebuiltExternalModuleDetails ( compiledModulePath:
31+ TextualVirtualPath ( path: VirtualPath . absolute ( externalModulePath) . intern ( ) ) ,
32+ isFramework: externalModuleDetails. isFramework)
3333 let newInfo = ModuleInfo ( modulePath: TextualVirtualPath ( path: VirtualPath . absolute ( externalModulePath) . intern ( ) ) ,
3434 sourceFiles: [ ] ,
3535 directDependencies: currentInfo. directDependencies,
36+ linkLibraries: currentInfo. linkLibraries,
3637 details: . swiftPrebuiltExternal( newExternalModuleDetails) )
3738 Self . replaceModule ( originalId: swiftModuleId, replacementId: prebuiltModuleId,
3839 replacementInfo: newInfo, in: & modules)
3940 } else if let currentPrebuiltInfo = modules [ prebuiltModuleId] {
4041 // Just update the isFramework bit on this prebuilt module dependency
4142 let newExternalModuleDetails =
42- try SwiftPrebuiltExternalModuleDetails ( compiledModulePath:
43- TextualVirtualPath ( path: VirtualPath . absolute ( externalModulePath) . intern ( ) ) ,
44- isFramework: externalModuleDetails. isFramework)
43+ SwiftPrebuiltExternalModuleDetails ( compiledModulePath:
44+ TextualVirtualPath ( path: VirtualPath . absolute ( externalModulePath) . intern ( ) ) ,
45+ isFramework: externalModuleDetails. isFramework)
4546 let newInfo = ModuleInfo ( modulePath: TextualVirtualPath ( path: VirtualPath . absolute ( externalModulePath) . intern ( ) ) ,
4647 sourceFiles: [ ] ,
4748 directDependencies: currentPrebuiltInfo. directDependencies,
49+ linkLibraries: currentPrebuiltInfo. linkLibraries,
4850 details: . swiftPrebuiltExternal( newExternalModuleDetails) )
4951 Self . replaceModule ( originalId: prebuiltModuleId, replacementId: prebuiltModuleId,
5052 replacementInfo: newInfo, in: & modules)
@@ -231,6 +233,9 @@ extension InterModuleDependencyGraph {
231233 let firstModuleDependencies = firstInfo. directDependencies ?? [ ]
232234 let secondModuleDependencies = secondInfo. directDependencies ?? [ ]
233235 let combinedDependencies = Array ( Set ( firstModuleDependencies + secondModuleDependencies) )
236+ let firstLinkLibraries = firstInfo. linkLibraries ?? [ ]
237+ let secondLinkLibraries = secondInfo. linkLibraries ?? [ ]
238+ let combinedLinkLibraries = Array ( Set ( firstLinkLibraries + secondLinkLibraries) )
234239
235240 let firstModuleCapturedPCMArgs = firstDetails. capturedPCMArgs ?? Set < [ String ] > ( )
236241 let secondModuleCapturedPCMArgs = secondDetails. capturedPCMArgs ?? Set < [ String ] > ( )
@@ -245,6 +250,7 @@ extension InterModuleDependencyGraph {
245250 return ModuleInfo ( modulePath: firstInfo. modulePath,
246251 sourceFiles: combinedSourceFiles,
247252 directDependencies: combinedDependencies,
253+ linkLibraries: combinedLinkLibraries,
248254 details: . clang( combinedModuleDetails) )
249255 }
250256}
0 commit comments