1 //===- Driver.h -------------------------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLD_MACHO_DRIVER_H 10 #define LLD_MACHO_DRIVER_H 11 12 #include "lld/Common/LLVM.h" 13 #include "llvm/Option/OptTable.h" 14 15 namespace lld { 16 namespace macho { 17 18 class MachOOptTable : public llvm::opt::OptTable { 19 public: 20 MachOOptTable(); 21 llvm::opt::InputArgList parse(ArrayRef<const char *> argv); 22 void printHelp(const char *argv0, bool showHidden) const; 23 }; 24 25 // Create enum with OPT_xxx values for each option in Options.td 26 enum { 27 OPT_INVALID = 0, 28 #define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID, 29 #include "Options.inc" 30 #undef OPTION 31 }; 32 33 } // namespace macho 34 } // namespace lld 35 36 #endif 37