const KORDOPHONE_XML: &str = "include/net.buzzert.kordophonecd.Server.xml"; #[cfg(not(target_os = "linux"))] fn main() { // No D-Bus code generation on non-Linux platforms } #[cfg(target_os = "linux")] fn main() { // Generate D-Bus code let out_dir = std::env::var("OUT_DIR").unwrap(); let out_path = std::path::Path::new(&out_dir).join("kordophone-server.rs"); let opts = dbus_codegen::GenOpts { connectiontype: dbus_codegen::ConnectionType::Nonblock, methodtype: None, // Set to None for crossroads crossroads: true, ..Default::default() }; let xml = std::fs::read_to_string(KORDOPHONE_XML).expect("Error reading server dbus interface"); let output = dbus_codegen::generate(&xml, &opts).expect("Error generating server dbus interface"); std::fs::write(out_path, output).expect("Error writing server dbus code"); println!("cargo:rerun-if-changed={}", KORDOPHONE_XML); }