// This file was generated by gir (https://github.com/gtk-rs/gir @ 0ab7700) // from gir-files (https://github.com/gtk-rs/gir-files @ ???) // DO NOT EDIT extern crate pkg_config; use pkg_config::{Config, Error}; use std::env; use std::io::prelude::*; use std::io; use std::process; #[cfg(feature = "docs-rs")] fn main() {} // Skip the script when the doc is building #[cfg(not(feature = "docs-rs"))] fn main() { if let Err(s) = find() { let _ = writeln!(io::stderr(), "{}", s); process::exit(1); } } fn find() -> Result<(), Error> { let package_name = "goa-1.0"; let shared_libs = ["goa-1.0"]; let version = if cfg!(feature = "v3_26") { "3.26" } else if cfg!(feature = "v3_18") { "3.18" } else if cfg!(feature = "v3_16") { "3.16" } else if cfg!(feature = "v3_14") { "3.14" } else if cfg!(feature = "v3_12") { "3.12" } else if cfg!(feature = "v3_8") { "3.8" } else { "1.0" }; if let Ok(inc_dir) = env::var("GTK_INCLUDE_DIR") { println!("cargo:include={}", inc_dir); } if let Ok(lib_dir) = env::var("GTK_LIB_DIR") { for lib_ in shared_libs.iter() { println!("cargo:rustc-link-lib=dylib={}", lib_); } println!("cargo:rustc-link-search=native={}", lib_dir); return Ok(()) } let target = env::var("TARGET").expect("TARGET environment variable doesn't exist"); let hardcode_shared_libs = target.contains("windows"); let mut config = Config::new(); config.atleast_version(version); config.print_system_libs(false); if hardcode_shared_libs { config.cargo_metadata(false); } match config.probe(package_name) { Ok(library) => { if let Ok(paths) = std::env::join_paths(library.include_paths) { println!("cargo:include={}", paths.to_string_lossy()); } if hardcode_shared_libs { for lib_ in shared_libs.iter() { println!("cargo:rustc-link-lib=dylib={}", lib_); } for path in library.link_paths.iter() { println!("cargo:rustc-link-search=native={}", path.to_str().expect("library path doesn't exist")); } } Ok(()) } Err(Error::EnvNoPkgConfig(_)) | Err(Error::Command { .. }) => { for lib_ in shared_libs.iter() { println!("cargo:rustc-link-lib=dylib={}", lib_); } Ok(()) } Err(err) => Err(err), } }