aboutsummaryrefslogtreecommitdiffstats
path: root/components/shared/embedder/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/shared/embedder/build.rs')
-rw-r--r--components/shared/embedder/build.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/components/shared/embedder/build.rs b/components/shared/embedder/build.rs
new file mode 100644
index 00000000000..25c737ffaa9
--- /dev/null
+++ b/components/shared/embedder/build.rs
@@ -0,0 +1,23 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
+
+use std::error::Error;
+use std::path::Path;
+
+fn main() -> Result<(), Box<dyn Error>> {
+ // Cargo does not expose the profile name to crates or their build scripts,
+ // but we can extract it from OUT_DIR and set a custom cfg() ourselves.
+ let out = std::env::var("OUT_DIR")?;
+ let out = Path::new(&out);
+ let krate = out.parent().unwrap();
+ let build = krate.parent().unwrap();
+ let profile = build.parent().unwrap();
+ if profile.file_name().unwrap() == "production" {
+ println!("cargo:rustc-cfg=servo_production");
+ } else {
+ println!("cargo:rustc-cfg=servo_do_not_use_in_production");
+ }
+
+ Ok(())
+}