From 4b311b33fa8a19a8777c1d6a89f36d7f808c8979 Mon Sep 17 00:00:00 2001 From: Ian Ker-Seymer Date: Wed, 14 Aug 2024 23:55:49 -0400 Subject: [PATCH] Cleanup invalid dylib id reference on mac (#414) --- gem/lib/rb_sys/mkmf.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gem/lib/rb_sys/mkmf.rb b/gem/lib/rb_sys/mkmf.rb index e85a1cf8..c340d061 100644 --- a/gem/lib/rb_sys/mkmf.rb +++ b/gem/lib/rb_sys/mkmf.rb @@ -52,7 +52,8 @@ def create_rust_makefile(target, &blk) full_cargo_command = cargo_command(srcdir, builder) global_rustflags = [] - global_rustflags << "--cfg=rb_sys_gem" unless builder.use_cargo_build + # Re-enable if this causes issues, but it should be fine and it prevents unnecessary recompilation + # global_rustflags << "--cfg=rb_sys_gem" unless builder.use_cargo_build global_rustflags << "--cfg=rb_sys_use_stable_api_compiled_fallback" if builder.use_stable_api_compiled_fallback? make_install = +<<~MAKE @@ -134,6 +135,7 @@ def create_rust_makefile(target, &blk) install-so: $(DLLIB) #{timestamp_file("sitearchdir")} \t$(ECHO) installing $(DLLIB) to $(RUBYARCHDIR) + \t#{fixup_libnames} \t$(Q) $(MAKEDIRS) $(RUBYARCHDIR) \t$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) @@ -278,6 +280,12 @@ def force_install_rust_toolchain?(builder) find_executable("cargo").nil? end + def fixup_libnames + return unless find_executable("install_name_tool") + + '$(Q) install_name_tool -id "" $(DLLIB)' + end + def if_eq_stmt(a, b) if $nmake "!IF #{a.inspect} == #{b.inspect}"