1 //===-- MachOUtils.h - Mach-o specific helpers for dsymutil --------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 #ifndef LLVM_TOOLS_DSYMUTIL_MACHOUTILS_H 10 #define LLVM_TOOLS_DSYMUTIL_MACHOUTILS_H 11 12 #include <string> 13 #include "llvm/ADT/StringRef.h" 14 15 namespace llvm { 16 class MCStreamer; 17 class raw_fd_ostream; 18 namespace dsymutil { 19 class DebugMap; 20 struct LinkOptions; 21 namespace MachOUtils { 22 23 struct ArchAndFilename { 24 std::string Arch, Path; 25 ArchAndFilename(StringRef Arch, StringRef Path) : Arch(Arch), Path(Path) {} 26 }; 27 28 bool generateUniversalBinary(SmallVectorImpl<ArchAndFilename> &ArchFiles, 29 StringRef OutputFileName, const LinkOptions &, 30 StringRef SDKPath); 31 32 bool generateDsymCompanion(const DebugMap &DM, MCStreamer &MS, 33 raw_fd_ostream &OutFile); 34 35 std::string getArchName(StringRef Arch); 36 } 37 } 38 } 39 #endif // LLVM_TOOLS_DSYMUTIL_MACHOUTILS_H 40