diff options
author | John Hodge <tpg@ucc.asn.au> | 2017-09-23 10:03:43 +0800 |
---|---|---|
committer | John Hodge <tpg@ucc.asn.au> | 2017-09-23 11:18:30 +0800 |
commit | 03e8d3c89dcfe8ec1bc56023ebd877a7df7c903c (patch) | |
tree | 1b1b76d8eae8bfc88396066061721ab3ca8ce9ee | |
parent | 9801d3bcc628b0ea57c84228fc8a904568b4ee41 (diff) | |
download | mrust-03e8d3c89dcfe8ec1bc56023ebd877a7df7c903c.tar.gz |
minicargo - Support library directories
-rw-r--r-- | tools/minicargo/build.cpp | 14 | ||||
-rw-r--r-- | tools/minicargo/main.cpp | 2 |
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; |