@@ -482,14 +482,23 @@ void GetWindowsFileMappings(
482
482
WindowsSDK.Path , WindowsSDK.MajorVersion ,
483
483
WindowsSDK.IncludeVersion ,
484
484
WindowsSDK.LibraryVersion )) {
485
+ assert (WindowsSDK.MajorVersion > 8 );
485
486
llvm::SmallString<261 > WinSDKInjection{WindowsSDK.Path };
486
487
llvm::sys::path::append (WinSDKInjection, " Include" );
487
- if (WindowsSDK.MajorVersion > 8 )
488
- llvm::sys::path::append (WinSDKInjection, WindowsSDK.IncludeVersion , " um" );
488
+ llvm::sys::path::append (WinSDKInjection, WindowsSDK.IncludeVersion , " um" );
489
489
llvm::sys::path::append (WinSDKInjection, " module.modulemap" );
490
490
491
- AuxiliaryFile =
492
- GetPlatformAuxiliaryFile (" windows" , " winsdk.modulemap" , SearchPathOpts);
491
+ AuxiliaryFile = GetPlatformAuxiliaryFile (" windows" , " winsdk_um.modulemap" ,
492
+ SearchPathOpts);
493
+ if (!AuxiliaryFile.empty ())
494
+ fileMapping.redirectedFiles .emplace_back (std::string (WinSDKInjection),
495
+ AuxiliaryFile);
496
+
497
+ llvm::sys::path::remove_filename (WinSDKInjection);
498
+ llvm::sys::path::remove_filename (WinSDKInjection);
499
+ llvm::sys::path::append (WinSDKInjection, " shared" , " module.modulemap" );
500
+ AuxiliaryFile = GetPlatformAuxiliaryFile (
501
+ " windows" , " winsdk_shared.modulemap" , SearchPathOpts);
493
502
if (!AuxiliaryFile.empty ())
494
503
fileMapping.redirectedFiles .emplace_back (std::string (WinSDKInjection),
495
504
AuxiliaryFile);
0 commit comments