summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-30 12:03:44 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-30 12:03:44 +0900
commitbe9cc6c75865b24652d001f0f34f2e63180418c6 (patch)
tree054d6fa80043bf673f47c828be0e71f77e79ed9c
parent7379a493bdf9b0f67b5db3471075473dfcf2ce2c (diff)
downloadruby-be9cc6c75865b24652d001f0f34f2e63180418c6.tar.gz
Fix rubyspec_capiext dependency and flags
- The file needed to link may be the import library. - Remove duplicate flags.
-rw-r--r--defs/gmake.mk4
-rw-r--r--spec/ruby/optional/capi/spec_helper.rb7
2 files changed, 5 insertions, 6 deletions
diff --git a/defs/gmake.mk b/defs/gmake.mk
index 86c739696c..e533396bae 100644
--- a/defs/gmake.mk
+++ b/defs/gmake.mk
@@ -404,10 +404,10 @@ update-deps:
# order-only-prerequisites doesn't work for $(RUBYSPEC_CAPIEXT)
# because the same named directory exists in the source tree.
-$(RUBYSPEC_CAPIEXT)/%.$(DLEXT): $(srcdir)/$(RUBYSPEC_CAPIEXT)/%.c $(srcdir)/$(RUBYSPEC_CAPIEXT)/rubyspec.h $(RUBY_H_INCLUDES) $(LIBRUBY_SO)
+$(RUBYSPEC_CAPIEXT)/%.$(DLEXT): $(srcdir)/$(RUBYSPEC_CAPIEXT)/%.c $(srcdir)/$(RUBYSPEC_CAPIEXT)/rubyspec.h $(RUBY_H_INCLUDES) $(LIBRUBY)
$(ECHO) building $@
$(Q) $(MAKEDIRS) $(@D)
- $(Q) $(DLDSHARED) $(XDLDFLAGS) $(XLDFLAGS) $(ARCH_FLAG) $(ARCH_FLAG) $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) $(OUTFLAG)$@ $< $(LIBRUBY_SO)
+ $(Q) $(DLDSHARED) $(XDLDFLAGS) $(XLDFLAGS) $(LDFLAGS) $(INCFLAGS) $(CPPFLAGS) $(OUTFLAG)$@ $< $(LIBRUBYARG)
$(Q) $(RMALL) $@.*
rubyspec-capiext: $(patsubst %.c,$(RUBYSPEC_CAPIEXT)/%.$(DLEXT),$(notdir $(wildcard $(srcdir)/$(RUBYSPEC_CAPIEXT)/*.c)))
diff --git a/spec/ruby/optional/capi/spec_helper.rb b/spec/ruby/optional/capi/spec_helper.rb
index 2c36ead8d0..9bd2d9791c 100644
--- a/spec/ruby/optional/capi/spec_helper.rb
+++ b/spec/ruby/optional/capi/spec_helper.rb
@@ -32,9 +32,8 @@ def compile_extension(name)
ruby_header = "#{RbConfig::CONFIG['rubyhdrdir']}/ruby.h"
if RbConfig::CONFIG["ENABLE_SHARED"] == "yes"
- libdirname = RbConfig::CONFIG['LIBPATHENV'] == 'PATH' ? 'bindir' :
- RbConfig::CONFIG['libdirname'] # defined since 2.1
- libruby_so = "#{RbConfig::CONFIG[libdirname]}/#{RbConfig::CONFIG['LIBRUBY_SO']}"
+ libdirname = RbConfig::CONFIG['libdirname'] # defined since 2.1
+ libruby = "#{RbConfig::CONFIG[libdirname]}/#{RbConfig::CONFIG['LIBRUBY']}"
end
begin
@@ -46,7 +45,7 @@ def compile_extension(name)
when mtime <= File.mtime("#{core_ext_dir}/rubyspec.h")
when mtime <= File.mtime("#{spec_ext_dir}/#{ext}.c")
when mtime <= File.mtime(ruby_header)
- when libruby_so && mtime <= File.mtime(libruby_so)
+ when libruby && mtime <= File.mtime(libruby)
else
return lib # up-to-date
end