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