Fix linkage issue when doc-only feature is on

This commit is contained in:
aeon 2023-06-23 11:31:01 +08:00 committed by Martin Dahl
parent a4d04a5017
commit fd0e9a7291
3 changed files with 22 additions and 32 deletions

View File

@ -53,11 +53,8 @@ fn run_bindgen() {
} }
fn run_dynlink() { fn run_dynlink() {
#[cfg(not(feature = "doc-only"))] r2r_common::print_cargo_link_search();
{ println!("cargo:rustc-link-lib=dylib=rcl_action");
r2r_common::print_cargo_link_search();
println!("cargo:rustc-link-lib=dylib=rcl_action");
}
} }
fn generate_bindings(out_file: &Path) { fn generate_bindings(out_file: &Path) {

View File

@ -253,22 +253,19 @@ fn add_constants(key: &str, bindings: &str, constants: &mut HashMap<String, Vec<
} }
fn run_dynlink(#[allow(unused_variables)] msg_list: &[RosMsg]) { fn run_dynlink(#[allow(unused_variables)] msg_list: &[RosMsg]) {
#[cfg(not(feature = "doc-only"))] r2r_common::print_cargo_link_search();
{
r2r_common::print_cargo_link_search();
let msg_map = r2r_common::as_map(msg_list); let msg_map = r2r_common::as_map(msg_list);
for module in msg_map.keys() { for module in msg_map.keys() {
println!( println!(
"cargo:rustc-link-lib=dylib={}__rosidl_typesupport_c", "cargo:rustc-link-lib=dylib={}__rosidl_typesupport_c",
module module
); );
println!( println!(
"cargo:rustc-link-lib=dylib={}__rosidl_typesupport_introspection_c", "cargo:rustc-link-lib=dylib={}__rosidl_typesupport_introspection_c",
module module
); );
println!("cargo:rustc-link-lib=dylib={}__rosidl_generator_c", module); println!("cargo:rustc-link-lib=dylib={}__rosidl_generator_c", module);
}
} }
} }

View File

@ -57,18 +57,14 @@ fn run_bindgen() {
} }
fn run_dynlink() { fn run_dynlink() {
// Run dynamic linking if (1) "docs-only" feature is disabled. r2r_common::print_cargo_link_search();
#[cfg(not(feature = "doc-only"))] println!("cargo:rustc-link-lib=dylib=rcl");
{ println!("cargo:rustc-link-lib=dylib=rcl_logging_spdlog");
r2r_common::print_cargo_link_search(); println!("cargo:rustc-link-lib=dylib=rcl_yaml_param_parser");
println!("cargo:rustc-link-lib=dylib=rcl"); println!("cargo:rustc-link-lib=dylib=rcutils");
println!("cargo:rustc-link-lib=dylib=rcl_logging_spdlog"); println!("cargo:rustc-link-lib=dylib=rmw");
println!("cargo:rustc-link-lib=dylib=rcl_yaml_param_parser"); println!("cargo:rustc-link-lib=dylib=rosidl_typesupport_c");
println!("cargo:rustc-link-lib=dylib=rcutils"); println!("cargo:rustc-link-lib=dylib=rosidl_runtime_c");
println!("cargo:rustc-link-lib=dylib=rmw");
println!("cargo:rustc-link-lib=dylib=rosidl_typesupport_c");
println!("cargo:rustc-link-lib=dylib=rosidl_runtime_c");
}
} }
fn gen_bindings(out_file: &Path) { fn gen_bindings(out_file: &Path) {