diff options
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index 5973b4a..8dead93 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -930,27 +930,13 @@ Module *ModuleMap::createHeaderUnit(SourceLocation Loc, StringRef Name, /// For a framework module, infer the framework against which we /// should link. -static void inferFrameworkLink(Module *Mod, const DirectoryEntry *FrameworkDir, - FileManager &FileMgr) { +static void inferFrameworkLink(Module *Mod) { assert(Mod->IsFramework && "Can only infer linking for framework modules"); assert(!Mod->isSubFramework() && "Can only infer linking for top-level frameworks"); - SmallString<128> LibName; - LibName += FrameworkDir->getName(); - llvm::sys::path::append(LibName, Mod->Name); - - // The library name of a framework has more than one possible extension since - // the introduction of the text-based dynamic library format. We need to check - // for both before we give up. - for (const char *extension : {"", ".tbd"}) { - llvm::sys::path::replace_extension(LibName, extension); - if (FileMgr.getFile(LibName)) { - Mod->LinkLibraries.push_back(Module::LinkLibrary(Mod->Name, - /*IsFramework=*/true)); - return; - } - } + Mod->LinkLibraries.push_back(Module::LinkLibrary(Mod->Name, + /*IsFramework=*/true)); } Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir, @@ -1129,9 +1115,8 @@ Module *ModuleMap::inferFrameworkModule(const DirectoryEntry *FrameworkDir, // If the module is a top-level framework, automatically link against the // framework. - if (!Result->isSubFramework()) { - inferFrameworkLink(Result, FrameworkDir, FileMgr); - } + if (!Result->isSubFramework()) + inferFrameworkLink(Result); return Result; } @@ -2185,9 +2170,8 @@ void ModuleMapParser::parseModuleDecl() { // If the active module is a top-level framework, and there are no link // libraries, automatically link against the framework. if (ActiveModule->IsFramework && !ActiveModule->isSubFramework() && - ActiveModule->LinkLibraries.empty()) { - inferFrameworkLink(ActiveModule, Directory, SourceMgr.getFileManager()); - } + ActiveModule->LinkLibraries.empty()) + inferFrameworkLink(ActiveModule); // If the module meets all requirements but is still unavailable, mark the // whole tree as unavailable to prevent it from building. |