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