summaryrefslogtreecommitdiff
path: root/tools/mcld/lib/SearchPathOptions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/mcld/lib/SearchPathOptions.cpp')
-rw-r--r--tools/mcld/lib/SearchPathOptions.cpp93
1 files changed, 45 insertions, 48 deletions
diff --git a/tools/mcld/lib/SearchPathOptions.cpp b/tools/mcld/lib/SearchPathOptions.cpp
index 378d9c3..8096b90 100644
--- a/tools/mcld/lib/SearchPathOptions.cpp
+++ b/tools/mcld/lib/SearchPathOptions.cpp
@@ -15,52 +15,53 @@ namespace {
llvm::cl::opt<mcld::sys::fs::Path,
false,
- llvm::cl::parser<mcld::sys::fs::Path> > ArgSysRoot("sysroot",
- llvm::cl::desc("Use directory as the location of the sysroot"),
- llvm::cl::value_desc("directory"),
- llvm::cl::ValueRequired);
-
-llvm::cl::list<std::string,
- bool,
- llvm::cl::SearchDirParser> ArgSearchDirList("L",
- llvm::cl::ZeroOrMore,
- llvm::cl::desc("Add [searchdir] to the list of search paths"),
- llvm::cl::value_desc("searchdir"),
- llvm::cl::Prefix);
+ llvm::cl::parser<mcld::sys::fs::Path> >
+ ArgSysRoot("sysroot",
+ llvm::cl::desc("Use directory as the location of the sysroot"),
+ llvm::cl::value_desc("directory"),
+ llvm::cl::ValueRequired);
+
+llvm::cl::list<std::string, bool, llvm::cl::SearchDirParser> ArgSearchDirList(
+ "L",
+ llvm::cl::ZeroOrMore,
+ llvm::cl::desc("Add [searchdir] to the list of search paths"),
+ llvm::cl::value_desc("searchdir"),
+ llvm::cl::Prefix);
llvm::cl::alias ArgSearchDirListAlias("library-path",
- llvm::cl::desc("alias for -L"),
- llvm::cl::aliasopt(ArgSearchDirList));
+ llvm::cl::desc("alias for -L"),
+ llvm::cl::aliasopt(ArgSearchDirList));
-llvm::cl::opt<bool> ArgNoStdlib("nostdlib",
- llvm::cl::desc("Only search lib dirs explicitly specified on cmdline"),
- llvm::cl::init(false));
+llvm::cl::opt<bool> ArgNoStdlib(
+ "nostdlib",
+ llvm::cl::desc("Only search lib dirs explicitly specified on cmdline"),
+ llvm::cl::init(false));
-llvm::cl::list<std::string,
- bool,
- llvm::cl::SearchDirParser> ArgRuntimePath("rpath",
- llvm::cl::ZeroOrMore,
- llvm::cl::desc("Add a directory to the runtime library search path"),
- llvm::cl::value_desc("dir"));
+llvm::cl::list<std::string, bool, llvm::cl::SearchDirParser> ArgRuntimePath(
+ "rpath",
+ llvm::cl::ZeroOrMore,
+ llvm::cl::desc("Add a directory to the runtime library search path"),
+ llvm::cl::value_desc("dir"));
llvm::cl::alias ArgRuntimePathAlias("R",
- llvm::cl::desc("alias for --rpath"),
- llvm::cl::aliasopt(ArgRuntimePath), llvm::cl::Prefix);
+ llvm::cl::desc("alias for --rpath"),
+ llvm::cl::aliasopt(ArgRuntimePath),
+ llvm::cl::Prefix);
// Not supported yet {
-llvm::cl::list<std::string,
- bool,
- llvm::cl::SearchDirParser> ArgRuntimePathLink("rpath-link",
- llvm::cl::ZeroOrMore,
- llvm::cl::desc("Add a directory to the link time library search path"),
- llvm::cl::value_desc("dir"));
-
-llvm::cl::list<std::string> ArgY("Y",
- llvm::cl::desc("Add path to the default library search path"),
- llvm::cl::value_desc("default-search-path"));
+llvm::cl::list<std::string, bool, llvm::cl::SearchDirParser> ArgRuntimePathLink(
+ "rpath-link",
+ llvm::cl::ZeroOrMore,
+ llvm::cl::desc("Add a directory to the link time library search path"),
+ llvm::cl::value_desc("dir"));
+
+llvm::cl::list<std::string> ArgY(
+ "Y",
+ llvm::cl::desc("Add path to the default library search path"),
+ llvm::cl::value_desc("default-search-path"));
// } Not supported yet
-} // anonymous namespace
+} // anonymous namespace
using namespace mcld;
@@ -68,16 +69,15 @@ using namespace mcld;
// SearchPathOptions
//===----------------------------------------------------------------------===//
SearchPathOptions::SearchPathOptions()
- : m_SysRoot(ArgSysRoot),
- m_SearchDirList(ArgSearchDirList),
- m_NoStdlib(ArgNoStdlib),
- m_RuntimePath(ArgRuntimePath),
- m_RuntimePathLink(ArgRuntimePathLink),
- m_Y(ArgY) {
+ : m_SysRoot(ArgSysRoot),
+ m_SearchDirList(ArgSearchDirList),
+ m_NoStdlib(ArgNoStdlib),
+ m_RuntimePath(ArgRuntimePath),
+ m_RuntimePathLink(ArgRuntimePathLink),
+ m_Y(ArgY) {
}
-bool SearchPathOptions::parse(LinkerConfig& pConfig, LinkerScript& pScript)
-{
+bool SearchPathOptions::parse(LinkerConfig& pConfig, LinkerScript& pScript) {
// set --sysroot
if (!m_SysRoot.empty()) {
if (exists(m_SysRoot) && is_directory(m_SysRoot))
@@ -90,9 +90,7 @@ bool SearchPathOptions::parse(LinkerConfig& pConfig, LinkerScript& pScript)
for (sd = m_SearchDirList.begin(); sd != sdEnd; ++sd) {
if (!pScript.directories().insert(*sd)) {
// FIXME: need a warning function
- errs() << "WARNING: can not open search directory `-L"
- << *sd
- << "'.\n";
+ errs() << "WARNING: can not open search directory `-L" << *sd << "'.\n";
}
}
@@ -108,4 +106,3 @@ bool SearchPathOptions::parse(LinkerConfig& pConfig, LinkerScript& pScript)
return true;
}
-