summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2017-09-03 21:31:18 +0800
committerJohn Hodge <tpg@ucc.asn.au>2017-09-03 21:31:18 +0800
commit74a92f8ac5feb451b4ea919fd69a67e2b0ec35f4 (patch)
tree6d97552553d1849bd42523899605f0ab8b9ad360
parent93bbe31c8b58cdf1c5a9325bb9308729149d88d6 (diff)
downloadmrust-74a92f8ac5feb451b4ea919fd69a67e2b0ec35f4.tar.gz
minicargo - Feature flag --cfg
-rw-r--r--tools/minicargo/build.cpp4
-rw-r--r--tools/minicargo/manifest.h3
2 files changed, 6 insertions, 1 deletions
diff --git a/tools/minicargo/build.cpp b/tools/minicargo/build.cpp
index 62c5bab5..144262c2 100644
--- a/tools/minicargo/build.cpp
+++ b/tools/minicargo/build.cpp
@@ -364,7 +364,9 @@ bool Builder::build_target(const PackageManifest& manifest, const PackageTarget&
for(const auto& flag : manifest.build_script_output().rustc_flags) {
args.push_back(flag.c_str());
}
- // TODO: Feature flags
+ for(const auto& feat : manifest.active_features()) {
+ args.push_back("--cfg"); args.push_back(::format("feature=", feat));
+ }
// TODO: Environment variables (rustc_env)
StringListKV env;
diff --git a/tools/minicargo/manifest.h b/tools/minicargo/manifest.h
index 8baf766e..c12c333b 100644
--- a/tools/minicargo/manifest.h
+++ b/tools/minicargo/manifest.h
@@ -262,6 +262,9 @@ public:
const ::std::vector<PackageRef>& build_dependencies() const {
return m_build_dependencies;
}
+ const ::std::vector<::std::string>& active_features() const {
+ return m_active_features;
+ }
void set_features(const ::std::vector<::std::string>& features, bool enable_default);
void load_dependencies(Repository& repo, bool include_build);