File indexing completed on 2026-05-10 08:44:17
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_OBJCOPY_CONFIGMANAGER_H
0010 #define LLVM_OBJCOPY_CONFIGMANAGER_H
0011
0012 #include "llvm/ObjCopy/COFF/COFFConfig.h"
0013 #include "llvm/ObjCopy/CommonConfig.h"
0014 #include "llvm/ObjCopy/ELF/ELFConfig.h"
0015 #include "llvm/ObjCopy/MachO/MachOConfig.h"
0016 #include "llvm/ObjCopy/MultiFormatConfig.h"
0017 #include "llvm/ObjCopy/wasm/WasmConfig.h"
0018 #include "llvm/ObjCopy/XCOFF/XCOFFConfig.h"
0019
0020 namespace llvm {
0021 namespace objcopy {
0022
0023 struct ConfigManager : public MultiFormatConfig {
0024 virtual ~ConfigManager() {}
0025
0026 const CommonConfig &getCommonConfig() const override { return Common; }
0027
0028 Expected<const ELFConfig &> getELFConfig() const override { return ELF; }
0029
0030 Expected<const COFFConfig &> getCOFFConfig() const override;
0031
0032 Expected<const MachOConfig &> getMachOConfig() const override;
0033
0034 Expected<const WasmConfig &> getWasmConfig() const override;
0035
0036 Expected<const XCOFFConfig &> getXCOFFConfig() const override;
0037
0038
0039 CommonConfig Common;
0040 ELFConfig ELF;
0041 COFFConfig COFF;
0042 MachOConfig MachO;
0043 WasmConfig Wasm;
0044 XCOFFConfig XCOFF;
0045 };
0046
0047 }
0048 }
0049
0050 #endif