SearchPathOptions.h revision 533eae20118036f425f27bf0536ef0ccbb090b65
1//===- SearchPathOptions.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_SEARCH_PATH_OPTIONS_H
10#define MCLD_LDLITE_SEARCH_PATH_OPTIONS_H
11#include <llvm/Support/CommandLine.h>
12#include <mcld/Support/Path.h>
13#include <mcld/Support/CommandLine.h>
14#include <string>
15
16namespace mcld {
17
18class LinkerConfig;
19class LinkerScript;
20
21class SearchPathOptions
22{
23public:
24  SearchPathOptions();
25
26  bool parse(LinkerConfig& pConfig, LinkerScript& pScript);
27
28private:
29  llvm::cl::opt<mcld::sys::fs::Path,
30              false,
31              llvm::cl::parser<mcld::sys::fs::Path> >& m_SysRoot;
32  llvm::cl::list<std::string,
33               bool,
34               llvm::cl::SearchDirParser>& m_SearchDirList;
35  llvm::cl::opt<bool>& m_NoStdlib;
36  llvm::cl::list<std::string,
37               bool,
38               llvm::cl::SearchDirParser>& m_RuntimePath;
39
40  // not supported yet
41  llvm::cl::list<std::string,
42               bool,
43               llvm::cl::SearchDirParser>& m_RuntimePathLink;
44  llvm::cl::list<std::string>& m_Y;
45};
46
47} // namespace of mcld
48
49#endif
50
51