llvm/tools/dsymutil/MachOUtils.h
Frederic Riss 7a4257861d [dsymutil] Implement support for handling mach-o universal binaries as main input/output.
The DWARF linker isn't touched by this, the implementation links
individual files and merges them together into a fat binary by
calling out to the 'lipo' utility.

The main change is that the MachODebugMapParser can now return
multiple debug maps for a single binary.

The test just verifies that lipo would be invoked correctly, but
doesn't actually generate a binary. This mimics the way clang
tests its external iplatform tools integration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244087 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-05 18:27:44 +00:00

31 lines
890 B
C++

//===-- MachOUtils.h - Mach-o specific helpers for dsymutil --------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_TOOLS_DSYMUTIL_MACHOUTILS_H
#define LLVM_TOOLS_DSYMUTIL_MACHOUTILS_H
#include <string>
#include "llvm/ADT/StringRef.h"
namespace llvm {
namespace dsymutil {
struct LinkOptions;
namespace MachOUtils {
struct ArchAndFilename {
std::string Arch, Path;
ArchAndFilename(StringRef Arch, StringRef Path) : Arch(Arch), Path(Path) {}
};
bool generateUniversalBinary(SmallVectorImpl<ArchAndFilename> &ArchFiles,
StringRef OutputFileName, const LinkOptions &);
}
}
}
#endif // LLVM_TOOLS_DSYMUTIL_MACHOUTILS_H