Move EXTSTATIC check to PRE_LIBRUBY_UPDATE

This commit is contained in:
Nobuyoshi Nakada 2026-06-18 09:47:02 +09:00 committed by Nobuyoshi Nakada
parent 5ef8b6ef81
commit 988fbe038f
Notes: git 2026-07-02 03:02:48 +00:00
2 changed files with 4 additions and 8 deletions

View File

@ -322,14 +322,14 @@ $(PROGRAM):
$(PROGRAM): @XRUBY_LIBPATHENV_WRAPPER@
PRE_LIBRUBY_UPDATE = [ -n "$(LIBRUBY_SO_UPDATE)" ] || $(gnumake:yes=exec) $(RM) $(LIBRUBY_EXTS)
PRE_LIBRUBY_UPDATE = [ -z "$(EXTSTATIC)" -o -n "$(LIBRUBY_SO_UPDATE)" ] || $(gnumake:yes=exec) $(RM) $(LIBRUBY_EXTS)
# We must `rm' the library each time this rule is invoked because "updating" a
# MAB library on Apple/NeXT (see --enable-fat-binary in configure) is not
# supported.
$(LIBRUBY_A):
@$(RM) $@
@-[ -z "$(EXTSTATIC)" ] || $(PRE_LIBRUBY_UPDATE)
@-$(PRE_LIBRUBY_UPDATE)
$(ECHO) linking static-library $@
$(Q) $(AR) $(ARFLAGS) $@ $(LIBRUBY_A_OBJS) $(INITOBJS)
@-$(RANLIB) $@ 2> /dev/null || true
@ -340,7 +340,7 @@ verify-static-library: $(LIBRUBY_A)
@$(RMALL) conftest$(EXEEXT) conftest.c conftest.dSYM
$(LIBRUBY_SO):
@-[ -n "$(EXTSTATIC)" ] || $(PRE_LIBRUBY_UPDATE)
@-$(PRE_LIBRUBY_UPDATE)
$(ECHO) linking shared-library $@
$(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(EXTSOLIBS) $(OUTFLAG)$@
-$(Q) $(OBJCOPY) -w -L '$(SYMBOL_PREFIX)Init_*' -L '$(SYMBOL_PREFIX)InitVM_*' \

View File

@ -1137,16 +1137,14 @@ $(STUBPROGRAM): rubystub.$(OBJEXT) $(LIBRUBY) $(LIBRUBY_SO) $(RUBY_INSTALL_NAME)
$(OUTFLAG)$@ $(LIBRUBYARG) -link $(LDFLAGS) $(XLDFLAGS)
!endif
!if "$(LIBRUBY_SO_UPDATE)" == ""
!if "$(EXTSTATIC)" != "" && "$(LIBRUBY_SO_UPDATE)" == ""
PRE_LIBRUBY_UPDATE = $(RM) $(LIBRUBY_EXTS)
!else
PRE_LIBRUBY_UPDATE =
!endif
$(LIBRUBY_A): $(OBJS) $(INITOBJS)
!if "$(EXTSTATIC)" != ""
@-$(PRE_LIBRUBY_UPDATE)
!endif
$(ECHO) linking static-library $(@:\=/)
$(Q) $(AR) $(ARFLAGS)$@ $(OBJS) $(INITOBJS)
@ -1156,9 +1154,7 @@ $(LIBRUBY): $(RUBYDEF)
$(LIBRUBY_SO): $(LIBRUBY_A) $(DLDOBJS) $(RUBYDEF) $(RUBY_SO_NAME).res
@echo $(DLDOBJS)
!if "$(EXTSTATIC)" == ""
@-$(PRE_LIBRUBY_UPDATE)
!endif
$(ECHO) linking shared-library $(@:\=/)
$(Q) $(LDSHARED) $(DLDOBJS) $(LIBRUBY_A) \
$(RUBY_SO_NAME).res $(SOLIBS) $(EXTSOLIBS) $(LIBS) \