1 //===- DynamicSectionOptions.h --------------------------------------------===// 2 // 3 // The MCLinker Project 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 #ifndef MCLD_LDLITE_DYNAMIC_SECTION_OPTIONS_H 10 #define MCLD_LDLITE_DYNAMIC_SECTION_OPTIONS_H 11 #include <llvm/Support/CommandLine.h> 12 #include <mcld/Support/CommandLine.h> 13 #include <string> 14 15 namespace mcld { 16 17 class ZOption; 18 class LinkerConfig; 19 class LinkerScript; 20 21 class DynamicSectionOptions 22 { 23 public: 24 DynamicSectionOptions(); 25 26 bool parse(LinkerConfig& pConfig, LinkerScript& pScript); 27 28 private: 29 llvm::cl::opt<std::string>& m_Entry; 30 llvm::cl::opt<bool>& m_Bsymbolic; 31 llvm::cl::opt<bool>& m_Bgroup; 32 llvm::cl::opt<std::string>& m_SOName; 33 llvm::cl::opt<llvm::cl::boolOrDefault>& m_NoUndefined; 34 llvm::cl::opt<llvm::cl::boolOrDefault>& m_AllowMulDefs; 35 llvm::cl::list<ZOption, 36 bool, 37 llvm::cl::parser<ZOption> >& m_ZOptionList; 38 llvm::cl::opt<std::string>& m_Dyld; 39 llvm::cl::opt<bool>& m_EnableNewDTags; 40 41 llvm::cl::list<std::string>& m_Auxiliary; 42 llvm::cl::opt<std::string>& m_Filter; 43 }; 44 45 } // namespace of mcld 46 47 #endif 48 49