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