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 
14 #include <string>
15 
16 namespace mcld {
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  public:
26   explicit OutputArchCmd(const std::string& pArch);
27   ~OutputArchCmd();
28 
29   void dump() const;
30 
classof(const ScriptCommand * pCmd)31   static bool classof(const ScriptCommand* pCmd) {
32     return pCmd->getKind() == ScriptCommand::OUTPUT_ARCH;
33   }
34 
35   void activate(Module& pModule);
36 
37  private:
38   std::string m_Arch;
39 };
40 
41 }  // namespace mcld
42 
43 #endif  // MCLD_SCRIPT_OUTPUTARCHCMD_H_
44