//===- InstallAPI/Context.h -------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_INSTALLAPI_CONTEXT_H #define LLVM_CLANG_INSTALLAPI_CONTEXT_H #include "clang/Basic/Diagnostic.h" #include "clang/Basic/FileManager.h" #include "clang/InstallAPI/DylibVerifier.h" #include "clang/InstallAPI/HeaderFile.h" #include "clang/InstallAPI/MachO.h" #include "llvm/ADT/DenseMap.h" namespace clang { namespace installapi { class FrontendRecordsSlice; /// Struct used for generating validating InstallAPI. /// The attributes captured represent all necessary information /// to generate TextAPI output. struct InstallAPIContext { … }; /// Lookup the dylib or TextAPI file location for a system library or framework. /// The search paths provided are searched in order. /// @rpath based libraries are not supported. /// /// \param InstallName The install name for the library. /// \param FrameworkSearchPaths Search paths to look up frameworks with. /// \param LibrarySearchPaths Search paths to look up dylibs with. /// \param SearchPaths Fallback search paths if library was not found in earlier /// paths. /// \return The full path of the library. std::string findLibrary(StringRef InstallName, FileManager &FM, ArrayRef<std::string> FrameworkSearchPaths, ArrayRef<std::string> LibrarySearchPaths, ArrayRef<std::string> SearchPaths); } // namespace installapi } // namespace clang #endif // LLVM_CLANG_INSTALLAPI_CONTEXT_H