зеркало из https://github.com/mozilla/gecko-dev.git
47 строки
1.3 KiB
Rust
47 строки
1.3 KiB
Rust
/* 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 http://mozilla.org/MPL/2.0/. */
|
|
|
|
#[cfg(all(feature = "serde_codegen", not(feature = "serde_derive")))]
|
|
mod inner {
|
|
extern crate serde_codegen;
|
|
|
|
use std::env;
|
|
use std::path::Path;
|
|
|
|
pub fn main() {
|
|
let out_dir = env::var_os("OUT_DIR").unwrap();
|
|
|
|
let src = Path::new("src/types.rs");
|
|
let dst = Path::new(&out_dir).join("types.rs");
|
|
|
|
serde_codegen::expand(&src, &dst).unwrap();
|
|
println!("cargo:rerun-if-changed=src/types.rs");
|
|
}
|
|
}
|
|
|
|
#[cfg(all(feature = "serde_derive", not(feature = "serde_codegen")))]
|
|
mod inner {
|
|
pub fn main() {}
|
|
}
|
|
|
|
#[cfg(all(feature = "serde_codegen", feature = "serde_derive"))]
|
|
mod inner {
|
|
pub fn main() {
|
|
panic!("serde_codegen and serde_derive are both used. \
|
|
You probably forgot --no-default-features.")
|
|
}
|
|
}
|
|
|
|
#[cfg(not(any(feature = "serde_codegen", feature = "serde_derive")))]
|
|
mod inner {
|
|
pub fn main() {
|
|
panic!("Neither serde_codegen nor serde_derive are used. "
|
|
"You probably want --features serde_derive --no-default-features.")
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
inner::main();
|
|
}
|