From c04fc0a26936fcded77a335e2b853bca34ce7677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Wed, 24 Jan 2018 22:52:55 +0100 Subject: [PATCH] style: Rustfmt bindings on automation, and locally under an env variable. Bug: 1432153 Reviewed-by: xidorn MozReview-Commit-ID: HJ9J5NtYVk2 --- components/style/build_gecko.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/components/style/build_gecko.rs b/components/style/build_gecko.rs index 7415bff8a26..bf6ded11c34 100644 --- a/components/style/build_gecko.rs +++ b/components/style/build_gecko.rs @@ -204,15 +204,25 @@ mod bindings { // Disable rust unions, because we replace some types inside of // them. - // - // FIXME(emilio, bug 1432153): Make the bindings rustfmt'd on - // automation. let mut builder = Builder::default() - .rustfmt_bindings(false) .rust_target(RustTarget::Stable_1_0); + let rustfmt_path = env::var_os("MOZ_AUTOMATION").and_then(|_| { + env::var_os("TOOLTOOL_DIR") + }).map(PathBuf::from); + + builder = match rustfmt_path { + Some(path) => { + builder.with_rustfmt(path.join("rustc").join("bin").join("rustfmt")) + }, + None => { + builder.rustfmt_bindings(env::var_os("STYLO_RUSTFMT_BINDINGS").is_some()) + } + }; + for dir in SEARCH_PATHS.iter() { builder = builder.clang_arg("-I").clang_arg(dir.to_str().unwrap()); } + builder = builder.include(add_include("mozilla-config.h")); if env::var("CARGO_FEATURE_GECKO_DEBUG").is_ok() {