1533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines//===- TargetControlOptions.h ---------------------------------------------===//
2533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines//
3533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines//                     The MCLinker Project
4533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines//
5533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines// This file is distributed under the University of Illinois Open Source
6533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines// License. See LICENSE.TXT for details.
7533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines//
8533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines//===----------------------------------------------------------------------===//
9533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines#ifndef MCLD_LDLITE_TARGET_CONTROL_OPTIONS_H
10533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines#define MCLD_LDLITE_TARGET_CONTROL_OPTIONS_H
11533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines#include <llvm/Support/CommandLine.h>
12533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines
13533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hinesnamespace mcld {
14533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines
15533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hinesclass LinkerConfig;
16533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines
17533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hinesclass TargetControlOptions
18533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines{
19533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hinespublic:
20533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines  TargetControlOptions();
21533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines
22533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines  bool parse(LinkerConfig& pConfig);
23533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines
24533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hinesprivate:
25533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines  llvm::cl::opt<int>& m_GPSize;
26533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines  llvm::cl::opt<bool>& m_WarnSharedTextrel;
27533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines  llvm::cl::opt<bool>& m_FIXCA8;
28533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines  llvm::cl::opt<bool>& m_EB;
29533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines  llvm::cl::opt<bool>& m_EL;
30533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines  llvm::cl::opt<bool>& m_SVR4Compatibility;
31533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines};
32533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines
33533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines} // namespace of mcld
34533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines
35533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines#endif
36533eae20118036f425f27bf0536ef0ccbb090b65Stephen Hines
37