1 //===- OutputArchCmd.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_SCRIPT_OUTPUTARCHCMD_H
10 #define MCLD_SCRIPT_OUTPUTARCHCMD_H
11 
12 #include <mcld/Script/ScriptCommand.h>
13 #include <string>
14 
15 namespace mcld
16 {
17 
18 class Module;
19 
20 /** \class OutputArchCmd
21  *  \brief This class defines the interfaces to OutputArch command.
22  */
23 
24 class OutputArchCmd : public ScriptCommand
25 {
26 public:
27   OutputArchCmd(const std::string& pArch);
28   ~OutputArchCmd();
29 
30   void dump() const;
31 
classof(const ScriptCommand * pCmd)32   static bool classof(const ScriptCommand* pCmd)
33   {
34     return pCmd->getKind() == ScriptCommand::OUTPUT_ARCH;
35   }
36 
37   void activate(Module& pModule);
38 
39 private:
40   std::string m_Arch;
41 };
42 
43 } // namespace of mcld
44 
45 #endif
46 
47