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 15namespace llvm { 16class MCStreamer; 17class raw_fd_ostream; 18namespace dsymutil { 19class DebugMap; 20struct LinkOptions; 21namespace MachOUtils { 22 23struct ArchAndFilename { 24 std::string Arch, Path; 25 ArchAndFilename(StringRef Arch, StringRef Path) : Arch(Arch), Path(Path) {} 26}; 27 28bool generateUniversalBinary(SmallVectorImpl<ArchAndFilename> &ArchFiles, 29 StringRef OutputFileName, const LinkOptions &, 30 StringRef SDKPath); 31 32bool generateDsymCompanion(const DebugMap &DM, MCStreamer &MS, 33 raw_fd_ostream &OutFile); 34 35std::string getArchName(StringRef Arch); 36} 37} 38} 39#endif // LLVM_TOOLS_DSYMUTIL_MACHOUTILS_H 40