From 1b1c951bb4507fa5f3f0843a66b733c94c50acd1 Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov <ivadmi5@gmail.com> Date: Wed, 24 Jul 2024 15:44:46 +0300 Subject: [PATCH] chore: make dynamic build link against shared libunwind --- build.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/build.rs b/build.rs index 19081a16dc..4b121060c0 100644 --- a/build.rs +++ b/build.rs @@ -373,6 +373,7 @@ fn build_tarantool(jsc: Option<&jobserver::Client>, build_root: &Path, use_stati .args([ "-DENABLE_BUNDLED_LDAP=OFF", "-DENABLE_BUNDLED_LIBCURL=OFF", + "-DENABLE_BUNDLED_LIBUNWIND=OFF", "-DENABLE_BUNDLED_LIBYAML=OFF", "-DENABLE_BUNDLED_OPENSSL=OFF", "-DENABLE_BUNDLED_ZSTD=OFF", @@ -505,9 +506,14 @@ fn build_tarantool(jsc: Option<&jobserver::Client>, build_root: &Path, use_stati // duplicate symbols which is not allowed (by default) when linking with // via -l... option let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap(); - let lib_dir = format!("{tarantool_build}/third_party/libunwind/src/.libs"); - rustc::link_arg(format!("{lib_dir}/libunwind-{arch}.a")); - rustc::link_arg(format!("{lib_dir}/libunwind.a")); + if use_static_build { + let lib_dir = format!("{tarantool_build}/third_party/libunwind/src/.libs"); + rustc::link_arg(format!("{lib_dir}/libunwind-{arch}.a")); + rustc::link_arg(format!("{lib_dir}/libunwind.a")); + } else { + rustc::link_lib_dynamic(format!("unwind-{arch}")); + rustc::link_lib_dynamic("unwind"); + } } rustc::link_arg("-lc"); -- GitLab