summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-09-23 10:03:43 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-09-23 11:18:30 +0800
commit03e8d3c89dcfe8ec1bc56023ebd877a7df7c903c (patch)
tree1b1b76d8eae8bfc88396066061721ab3ca8ce9ee
parent9801d3bcc628b0ea57c84228fc8a904568b4ee41 (diff)
downloadmrust-03e8d3c89dcfe8ec1bc56023ebd877a7df7c903c.tar.gz
minicargo - Support library directories
-rw-r--r--tools/minicargo/build.cpp14
-rw-r--r--tools/minicargo/main.cpp2
2 files changed, 13 insertions, 3 deletions
diff --git a/tools/minicargo/build.cpp b/tools/minicargo/build.cpp
index ce7bc02f..9e30996f 100644
--- a/tools/minicargo/build.cpp
+++ b/tools/minicargo/build.cpp
@@ -415,6 +415,11 @@ bool Builder::build_target(const PackageManifest& manifest, const PackageTarget&
for(const auto& feat : manifest.active_features()) {
args.push_back("--cfg"); args.push_back(::format("feature=", feat));
}
+ for(const auto& d : m_opts.lib_search_dirs)
+ {
+ args.push_back("-L");
+ args.push_back(d.str().c_str());
+ }
// TODO: Environment variables (rustc_env)
StringListKV env;
@@ -433,6 +438,11 @@ bool Builder::build_target(const PackageManifest& manifest, const PackageTarget&
args.push_back("--crate-type"); args.push_back("bin");
args.push_back("-o"); args.push_back(outfile);
args.push_back("-L"); args.push_back(m_opts.output_dir.str().c_str());
+ for(const auto& d : m_opts.lib_search_dirs)
+ {
+ args.push_back("-L");
+ args.push_back(d.str().c_str());
+ }
StringListKV env;
env.push_back("CARGO_MANIFEST_DIR", manifest.directory().to_absolute());
@@ -485,7 +495,7 @@ bool Builder::build_library(const PackageManifest& manifest) const
auto script_exe_abs = ::helpers::path(script_exe).to_absolute();
auto output_dir_abs = m_opts.output_dir.to_absolute();
-
+
// - Run the script and put output in the right dir
auto out_file = output_dir_abs / "build_" + manifest.name().c_str() + ".txt";
auto out_dir = output_dir_abs / "build_" + manifest.name().c_str();
@@ -509,7 +519,7 @@ bool Builder::build_library(const PackageManifest& manifest) const
env.push_back("OPT_LEVEL", "2");
env.push_back("DEBUG", "0");
env.push_back("PROFILE", "release");
-
+
#if _WIN32
#else
auto fd_cwd = open(".", O_DIRECTORY);
diff --git a/tools/minicargo/main.cpp b/tools/minicargo/main.cpp
index cdd98aff..5062539d 100644
--- a/tools/minicargo/main.cpp
+++ b/tools/minicargo/main.cpp
@@ -116,7 +116,7 @@ int ProgramOptions::parse(int argc, const char* argv[])
// Short arguments
switch(arg[1])
{
- case 'l':
+ case 'L':
if(i+1 == argc) {
::std::cerr << "Flag " << arg << " takes an argument" << ::std::endl;
return 1;