// Copyright (C) 2023 Andrew Rioux // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . use fs_extra::dir::{copy, CopyOptions}; fn main() -> std::io::Result<()> { cc::Build::new().file("src/bridge.c").compile("bridge"); let libnl_src = format!("{}/libnl_src", std::env::var("OUT_DIR").unwrap()); let mut options = CopyOptions::new(); options.copy_inside = true; options.skip_exist = true; copy(std::env::var("SPARSE_BUILD_LIBNL").unwrap(), &libnl_src, &options).expect("could not copy nl"); let dst = autotools::Config::new(libnl_src).reconf("-vi").build(); println!("cargo:rustc-link-search=native={}/lib", dst.display()); println!("cargo:rustc-link-lib=static=nl-3"); println!("cargo:rustc-link-lib=static=nl-route-3"); Ok(()) }