@@ -482,14 +482,23 @@ void GetWindowsFileMappings(
482482 WindowsSDK.Path , WindowsSDK.MajorVersion ,
483483 WindowsSDK.IncludeVersion ,
484484 WindowsSDK.LibraryVersion )) {
485+ assert (WindowsSDK.MajorVersion > 8 );
485486 llvm::SmallString<261 > WinSDKInjection{WindowsSDK.Path };
486487 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" );
489489 llvm::sys::path::append (WinSDKInjection, " module.modulemap" );
490490
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);
493502 if (!AuxiliaryFile.empty ())
494503 fileMapping.redirectedFiles .emplace_back (std::string (WinSDKInjection),
495504 AuxiliaryFile);
0 commit comments