diff options
Diffstat (limited to 'components/shared/embedder/build.rs')
-rw-r--r-- | components/shared/embedder/build.rs | 23 |
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(()) +} |