summaryrefslogtreecommitdiff
path: root/template/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'template/Makefile.in')
-rw-r--r--template/Makefile.in224
1 files changed, 97 insertions, 127 deletions
diff --git a/template/Makefile.in b/template/Makefile.in
index 892add75cb..d9a3cbc065 100644
--- a/template/Makefile.in
+++ b/template/Makefile.in
@@ -27,7 +27,9 @@ CC_WRAPPER = @XCC_WRAPPER@
CC = @CC@
CPP = @CPP@
LD = @LD@
-YACC = bison
+RUSTC = @RUSTC@
+CARGO = @CARGO@
+YACC = $(BASERUBY) $(tooldir)/lrama/exe/lrama
PURIFY =
AUTOCONF = autoconf
CONFIGURE = @CONFIGURE@
@@ -47,6 +49,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
datarootdir = @datarootdir@
datadir = @datadir@
+target_os = @target_os@
arch = @arch@
sitearch = @sitearch@
sitedir = @sitedir@
@@ -62,6 +65,7 @@ rubyarchhdrdir = @rubyarchhdrdir@
ruby_version = @ruby_version@
RUBY_VERSION_NAME = @RUBY_VERSION_NAME@
UNIVERSAL_ARCHNAMES = @UNIVERSAL_ARCHNAMES@
+BUILTIN_BINARY = @X_BUILTIN_BINARY@
TESTUI = console
TESTS =
@@ -86,26 +90,20 @@ optflags = @optflags@
debugflags = @debugflags@
warnflags = @warnflags@ @strict_warnflags@
cppflags = @cppflags@
-XCFLAGS = @XCFLAGS@ $(INCFLAGS)
+incflags = @incflags@
+RUBY_DEVEL = @RUBY_DEVEL@ # "yes" or empty
+_RUBY_DEVEL_enabled = $(RUBY_DEVEL:no=)
+XCFLAGS = @XCFLAGS@ $(INCFLAGS) $(_RUBY_DEVEL_enabled:yes=-DRUBY_DEVEL=1)
USE_RUBYGEMS = @USE_RUBYGEMS@
USE_RUBYGEMS_ = $(USE_RUBYGEMS:yes=)
CPPFLAGS = @CPPFLAGS@ $(USE_RUBYGEMS_:no=-DDISABLE_RUBYGEMS=1)
-MJIT_SUPPORT = @MJIT_SUPPORT@
-MJIT_HEADER_FLAGS = @MJIT_HEADER_FLAGS@
-MJIT_HEADER_SUFFIX =
-MJIT_HEADER_ARCH =
-MJIT_HEADER_INSTALL_DIR = @MJIT_HEADER_INSTALL_DIR@
-MJIT_CC = @MJIT_CC@
-MJIT_CFLAGS = @MJIT_CFLAGS@
-MJIT_OPTFLAGS = @MJIT_OPTFLAGS@
-MJIT_DEBUGFLAGS = @MJIT_DEBUGFLAGS@
-MJIT_LDSHARED = @MJIT_LDSHARED@
-MJIT_DLDFLAGS = $(XDLDFLAGS)
-MJIT_HEADER = rb_mjit_header.h
-MJIT_MIN_HEADER_NAME = rb_mjit_min_header-$(RUBY_PROGRAM_VERSION).h
-MJIT_MIN_HEADER = $(MJIT_HEADER_BUILD_DIR)/$(MJIT_MIN_HEADER_NAME)
-MJIT_HEADER_BUILD_DIR = $(EXTOUT)/include/$(arch)
-MJIT_TABS=@MJIT_TABS@
+RJIT_SUPPORT = @RJIT_SUPPORT@
+YJIT_SUPPORT=@YJIT_SUPPORT@
+YJIT_LIBS=@YJIT_LIBS@
+YJIT_OBJ=@YJIT_OBJ@
+YJIT_LIBOBJ = $(YJIT_LIBS:.a=.@OBJEXT@)
+CARGO_TARGET_DIR=@abs_top_builddir@/yjit/target
+CARGO_BUILD_ARGS=@CARGO_BUILD_ARGS@
LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
EXE_LDFLAGS = $(LDFLAGS)
EXTLDFLAGS = @EXTLDFLAGS@
@@ -130,6 +128,9 @@ BUILTIN_TRANSSRCS = @BUILTIN_TRANSSRCS@
BUILTIN_TRANSOBJS = @BUILTIN_TRANSOBJS@
POSTLINK = @POSTLINK@
+LIBPATHENV = @LIBPATHENV@
+PRELOADENV = @PRELOADENV@
+
RUBY_BASE_NAME=@RUBY_BASE_NAME@
RUBY_API_VERSION=@RUBY_API_VERSION@
RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@
@@ -147,8 +148,7 @@ RUNRUBY = @RUNRUBY@ $(RUN_OPTS)
# RUNRUBY_DEBUGGER:: debugging option for runruby.rb
RUNRUBY_DEBUGGER = --debugger='gdb -x run.gdb --quiet --args'
XRUBY = @XRUBY@
-BTESTRUBY = @BTESTRUBY@\
- $(MINIRUBYOPT)
+BTESTRUBY = @BTESTRUBY@ -r./$(arch)-fake
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -156,10 +156,15 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
XRUBY_LIBDIR = @XRUBY_LIBDIR@
XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@
XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@
-BOOTSTRAPRUBY = @BOOTSTRAPRUBY@
+
+yes_baseruby = $(HAVE_BASERUBY:no=)
+no_baseruby = $(HAVE_BASERUBY:yes=)
+BOOTSTRAPRUBY = $(yes_baseruby:yes=$(BASERUBY)) $(no_baseruby:no=$(MINIRUBY))
+BOOTSTRAPRUBY_OPT = $(yes_baseruby:yes=-r./$(arch)-fake)
+BOOTSTRAPRUBY_FAKE = $(yes_baseruby:yes=$(arch)-fake.rb)
COROUTINE_H = @X_COROUTINE_H@
-COROUTINE_OBJ = $(COROUTINE_H:.h=.@OBJEXT@)
+COROUTINE_OBJ = $(COROUTINE_H:.h=.$(OBJEXT))
COROUTINE_SRC = @X_COROUTINE_SRC@
#### End of system configuration section. ####
@@ -168,7 +173,6 @@ MAJOR= @MAJOR@
MINOR= @MINOR@
TEENY= @TEENY@
-# here for MJIT_MIN_HEADER_NAME, not in common.mk
RUBY_PROGRAM_VERSION = $(MAJOR).$(MINOR).$(TEENY)
LIBRUBY_A = @LIBRUBY_A@
@@ -193,7 +197,8 @@ DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \
parse.$(OBJEXT) \
string.$(OBJEXT) \
symbol.$(OBJEXT) \
- vm.$(OBJEXT)
+ vm.$(OBJEXT) \
+ $(YJIT_OBJ)
THREAD_MODEL = @THREAD_MODEL@
@@ -213,6 +218,7 @@ RMDIR = @RMDIR@
RMDIRS = @RMDIRS@
RMALL = @RMALL@
LN_S = @LN_S@
+TOUCH = touch
NM = @NM@
AR = @AR@
ARFLAGS = @ARFLAGS@$(empty)
@@ -246,7 +252,7 @@ MINIPRELUDE_C = miniprelude.c
GOLF_PRELUDE_C= golf_prelude.c
RBCONFIG = .rbconfig.time
-MAINSRC = $(MAINOBJ:.@OBJEXT@=.c)
+MAINSRC = $(MAINOBJ:.$(OBJEXT)=.c)
SRC_FILE = $<
OS_SRC_FILE = $<
@@ -263,9 +269,15 @@ ACTIONS_ENDGROUP = @$(NULLCMD)
DESTDIR = @DESTDIR@
+cleanlibs = @cleanlibs@
+
configure_args = @configure_args@
#### End of variables
+ABI_VERSION_HDR = $(hdrdir)/ruby/internal/abi.h
+
+CAT_DEPEND = sed -e 's/{\$$([^(){}]*)[^{}]*}//g' -e /AUTOGENERATED/q
+
.SUFFIXES: .inc .h .c .y .i .$(ASMEXT) .$(DTRACE_EXT)
all:
@@ -273,23 +285,31 @@ all:
# Prevent GNU make v3 from overflowing arg limit on SysV.
.NOEXPORT:
+# On GNU make and BSD make, clean up the target when the recipe
+# fails. Prevents half-built targets corrupting future runs.
+.DELETE_ON_ERROR:
+
miniruby$(EXEEXT):
@-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi
$(ECHO) linking $@
- $(Q) $(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(MAINLIBS) $(LIBS) $(OUTFLAG)$@
+ $(Q) $(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(MAINLIBS) $(OUTFLAG)$@
$(Q) $(POSTLINK)
$(PROGRAM):
@$(RM) $@
$(ECHO) linking $@
- $(Q) $(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@
+ $(Q) $(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) $(EXTLIBS) $(OUTFLAG)$@
$(Q) $(POSTLINK)
+$(PROGRAM): @XRUBY_LIBPATHENV_WRAPPER@
+
PRE_LIBRUBY_UPDATE = [ -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.
+#
+# In YJIT builds, merge libyjit.a with libruby_static.a
$(LIBRUBY_A):
@$(RM) $@
@-[ -z "$(EXTSTATIC)" ] || $(PRE_LIBRUBY_UPDATE)
@@ -299,7 +319,7 @@ $(LIBRUBY_A):
verify-static-library: $(LIBRUBY_A)
$(ECHO) verifying static-library $@
- @$(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)conftest$(EXEEXT)
+ @$(PURIFY) $(CC) $(EXE_LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(OUTFLAG)conftest$(EXEEXT)
@$(RMALL) conftest$(EXEEXT) conftest.c conftest.dSYM
$(LIBRUBY_SO):
@@ -331,10 +351,6 @@ pre-install-local:: pkgconfig-data
ruby-runner.h: template/ruby-runner.h.in config.status
@./config.status --file=$@:$(srcdir)/template/$(@F).in
-$(RBCONFIG): $(PREP)
-
-rbconfig.rb: $(RBCONFIG)
-
install-cross: $(arch)-fake.rb $(RBCONFIG) rbconfig.rb $(arch_hdrdir)/ruby/config.h \
$(LIBRUBY_A) $(LIBRUBY_SO) $(ARCHFILE) pkgconfig-data
$(ECHO) installing cross-compiling stuff
@@ -354,7 +370,7 @@ install-cross: $(arch)-fake.rb $(RBCONFIG) rbconfig.rb $(arch_hdrdir)/ruby/confi
Makefile: $(srcdir)/template/Makefile.in $(srcdir)/enc/Makefile.in
-$(MKFILES): config.status $(srcdir)/version.h
+$(MKFILES): config.status $(srcdir)/version.h $(ABI_VERSION_HDR)
@[ -f $@ ] && mv $@ $@.old
MAKE=$(MAKE) $(SHELL) ./config.status $@
@cmp $@ $@.old > /dev/null 2>&1 && echo $@ unchanged && exit 0; \
@@ -372,13 +388,14 @@ uncommon.mk: $(srcdir)/common.mk
.PHONY: reconfig
reconfig-args = $(srcdir)/$(CONFIGURE) $(yes_silence:yes=--silent) $(configure_args)
config.status-args = ./config.status $(yes_silence:yes=--silent) --recheck
-reconfig-exec-0 = test -t 1 && { : $${CONFIGURE_TTY=yes}; export CONFIGURE_TTY; }; exec 3>&1; exit `exec 4>&1; { "$$@" 3>&- 4>&-; echo $$? 1>&4; } | fgrep -v '(cached)' 1>&3 3>&- 4>&-`
-reconfig-exec-1 = set -x; "$$@"
+reconfig-exec-0 = test -t 1 && { : $${CONFIGURE_TTY=yes}; export CONFIGURE_TTY; }; exec 3>&1; exit `exec 4>&1; { "$$@" 3>&- 4>&-; echo $$? 1>&4; } | grep -F -v '(cached)' 1>&3 3>&- 4>&-`
+reconfig-exec-1 = set -x; exec "$$@"
+reconfig-exec-yes = $(reconfig-exec-1)
reconfig config.status: $(srcdir)/$(CONFIGURE) $(srcdir)/enc/Makefile.in \
- $(srcdir)/include/ruby/version.h
+ $(hdrdir)/ruby/version.h $(ABI_VERSION_HDR)
@PWD= MINIRUBY="$(MINIRUBY)"; export MINIRUBY; \
- set $(SHELL) $($@-args); $(reconfig-exec-$(V))
+ set $(SHELL) $($@-args); $(reconfig-exec-$(silence:no=$(V)))
$(srcdir)/$(CONFIGURE): $(srcdir)/configure.ac
$(CHDIR) $(srcdir) && exec $(AUTOCONF) -o $(@F)
@@ -425,11 +442,11 @@ $(srcdir)/enc/jis/props.h: enc/jis/props.kwd
$(CP) $@ $(?:.kwd=.h.blt); \
fi
-.c.@OBJEXT@:
+.c.$(OBJEXT):
@$(ECHO) compiling $<
$(Q) $(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c $<
-.$(ASMEXT).@OBJEXT@:
+.$(ASMEXT).$(OBJEXT):
@$(ECHO) assembling $<
$(Q) $(CC) $(ASFLAGS) -DSYMBOL_PREFIX=$(SYMBOL_PREFIX) -o $@ -c $<
@@ -464,18 +481,6 @@ probes.$(OBJEXT): $(srcdir)/probes.d $(DTRACE_REBUILD:yes=probes.stamp)
$(Q) $(RM) $@
$(Q) $(DTRACE) -G -C $(INCFLAGS) -s $(srcdir)/probes.d -o $@ $(DTRACE_REBUILD_OBJS)
-main: mjit-headers
-yes-mjit-headers: $(MJIT_MIN_HEADER)
-clean-local::
- $(Q)$(RM) \
- $(MJIT_HEADER) $(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX:%=*).h \
- $(MJIT_MIN_HEADER) $(MJIT_MIN_HEADER:.h=)$(MJIT_HEADER_SUFFIX:%=*).h \
- $(MJIT_HEADER_INSTALL_DIR)/rb_mjit_min_header-*.h \
- $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time mjit_config.h \
- || $(NULLCMD)
- $(Q)$(RM) -r mjit_build_dir.*
- -$(Q) $(RMDIRS) $(MJIT_HEADER_INSTALL_DIR) $(MJIT_HEADER_BUILD_DIR) $(TIMESTAMPDIR) 2> $(NULL) || $(NULLCMD)
-
# DTrace static library hacks described here:
# https://marc.info/?l=opensolaris-dtrace-discuss&m=114761203110734&w=4
ruby-glommed.$(OBJEXT):
@@ -488,7 +493,9 @@ clean-local::
enc/encinit.c enc/encinit.$(OBJEXT) $(pkgconfig_DATA) \
ruby-runner.$(OBJEXT) ruby-runner.h \
|| $(NULLCMD)
- -$(Q)$(RMALL) exe/ *.dSYM
+ @$(RM) $(ALLOBJS:.$(OBJEXT)=.bc)
+ @$(RM) $(ALLOBJS:.$(OBJEXT)=.i)
+ @$(RM) $(ALLOBJS:.$(OBJEXT)=.s)
distclean-local::
$(Q)$(RM) \
@@ -507,12 +514,16 @@ ext/clean.mk ext/distclean.mk ext/realclean.mk::
ext/clean:: ext/clean.sub
ext/distclean:: ext/distclean.sub
ext/realclean:: ext/realclean.sub
-gems/clean:: gems/clean.sub
-gems/distclean:: gems/distclean.sub
-gems/realclean:: gems/realclean.sub
+.bundle/clean:: .bundle/clean.sub
+.bundle/distclean:: .bundle/distclean.sub
+.bundle/realclean:: .bundle/realclean.sub
+
+ext/clean.sub:: ext/clean.mk
+ext/distclean.sub:: ext/distclean.mk
+ext/realclean.sub:: ext/realclean.mk
ext/clean.sub ext/distclean.sub ext/realclean.sub \
-gems/clean.sub gems/distclean.sub gems/realclean.sub::
+.bundle/clean.sub .bundle/distclean.sub .bundle/realclean.sub::
$(Q) set dummy `echo "${EXTS}" | tr , ' '`; shift; \
test "$$#" = 0 && set .; \
set dummy `\
@@ -528,13 +539,16 @@ gems/clean.sub gems/distclean.sub gems/realclean.sub::
fi; \
done || true
-ext/distclean ext/realclean gems/distclean gems/realclean::
+ext/distclean ext/realclean .bundle/distclean .bundle/realclean::
$(Q) set dummy `echo "${EXTS}" | tr , ' '`; shift; \
test "$$#" = 0 && set .; \
cd $(@D) 2>/dev/null && \
find "$$@" -type d -empty -exec $(RMDIRS) {} + 2> /dev/null || true
$(Q) $(RMDIRS) $(@D) 2> /dev/null || true
+.bundle/realclean::
+ @$(RMALL) $(tooldir)/bunlder/*.lock $(srcdir)/.bundle
+
clean-enc distclean-enc realclean-enc:
@test -f "$(ENC_MK)" || exit 0; \
echo $(@:-enc=ing) encodings; \
@@ -566,29 +580,21 @@ update-benchmark-driver:
--branch $(BENCHMARK_DRIVER_GIT_REF) \
$(BENCHMARK_DRIVER_GIT_URL) benchmark-driver $(GIT_OPTS)
-update-doclie:
- $(Q) $(tooldir)/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \
- --branch $(DOCLIE_GIT_REF) \
- $(DOCLIE_GIT_URL) doclie $(GIT_OPTS)
-
-update-simplecov-html:
- $(Q) $(tooldir)/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \
- --branch $(SIMPLECOV_HTML_GIT_REF) \
- $(SIMPLECOV_HTML_GIT_URL) simplecov-html $(GIT_OPTS)
-
-update-simplecov:
- $(Q) $(tooldir)/git-refresh -C $(srcdir)/coverage $(Q1:0=-q) \
- --branch $(SIMPLECOV_GIT_REF) \
- $(SIMPLECOV_GIT_URL) simplecov $(GIT_OPTS)
-
-update-coverage: update-simplecov update-simplecov-html update-doclie
-
update-known-errors:
- errno --list | cut -d' ' -f1 | sort -u - $(srcdir)/defs/known_errors.def | \
+ errno --list | \
+ $(BASERUBY) -nl -e 'BEGIN {errs = {}}' \
+ -e '/^(E[A-Z_0-9]+)(?: +(?:\d+ +)?(.+))?/ =~ $$_ && errs[$$1] ||= $$2' \
+ -e 'END {' \
+ -e 'errs.delete("ELAST")' \
+ -e 'errs = errs.sort' \
+ -e 'errs << ["ELAST", "Largest errno"]' \
+ -e 'errs.each {|e,d| puts sprintf("%-15s %s", e, d).strip}' \
+ -e '}' \
+ $(srcdir)/defs/known_errors.def - | \
$(IFCHANGE) $(srcdir)/defs/known_errors.def -
-INSNS = opt_sc.inc optinsn.inc optunifs.inc insns.inc insns_info.inc \
- vmtc.inc vm.inc mjit_compile.inc
+INSNS = optinsn.inc optunifs.inc insns.inc insns_info.inc \
+ vmtc.inc vm.inc
$(INSNS): $(srcdir)/insns.def vm_opts.h \
$(srcdir)/defs/opt_operand.def $(srcdir)/defs/opt_insn_unif.def \
@@ -622,18 +628,11 @@ $(INSNS): $(srcdir)/insns.def vm_opts.h \
$(tooldir)/ruby_vm/views/_insn_sp_pc_dependency.erb \
$(tooldir)/ruby_vm/views/_insn_type_chars.erb \
$(tooldir)/ruby_vm/views/_leaf_helpers.erb \
- $(tooldir)/ruby_vm/views/_mjit_compile_insn.erb \
- $(tooldir)/ruby_vm/views/_mjit_compile_insn_body.erb \
- $(tooldir)/ruby_vm/views/_mjit_compile_ivar.erb \
- $(tooldir)/ruby_vm/views/_mjit_compile_pc_and_sp.erb \
- $(tooldir)/ruby_vm/views/_mjit_compile_send.erb \
$(tooldir)/ruby_vm/views/_notice.erb \
$(tooldir)/ruby_vm/views/_sp_inc_helpers.erb \
$(tooldir)/ruby_vm/views/_trace_instruction.erb \
$(tooldir)/ruby_vm/views/insns.inc.erb \
$(tooldir)/ruby_vm/views/insns_info.inc.erb \
- $(tooldir)/ruby_vm/views/mjit_compile.inc.erb \
- $(tooldir)/ruby_vm/views/opt_sc.inc.erb \
$(tooldir)/ruby_vm/views/optinsn.inc.erb \
$(tooldir)/ruby_vm/views/optunifs.inc.erb \
$(tooldir)/ruby_vm/views/vm.inc.erb \
@@ -641,8 +640,6 @@ $(INSNS): $(srcdir)/insns.def vm_opts.h \
$(ECHO) generating $@
$(Q) $(BASERUBY) -Ku $(tooldir)/insns2vm.rb $(INSNS2VMOPT) $@
-verconf.h: $(RBCONFIG)
-
loadpath: verconf.h
@$(CPP) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/loadpath.c | \
sed -e '1,/^const char ruby_initial_load_paths/d;/;/,$$d' \
@@ -652,44 +649,17 @@ un-runnable:
$(ECHO) cannot make runnable, configure with --enable-load-relative.
$(Q) exit 1
-mjit_config.h:
- $(ECHO) making $@
- @{ \
- . $(tooldir)/mjit_archflag.sh; \
- parse_arch_flags "$(UNIVERSAL_ARCHNAMES)" $(ARCH_FLAG); \
- test "$(Q)" = @ || set -x; \
- echo '#ifndef RUBY_MJIT_CONFIG_H'; \
- echo '#define RUBY_MJIT_CONFIG_H 1'; \
- echo; \
- sep=; \
- echo '#ifdef LOAD_RELATIVE'; \
- quote MJIT_HEADER_INSTALL_DIR "/$(MJIT_HEADER_INSTALL_DIR)"; \
- echo '#else'; \
- quote MJIT_HEADER_INSTALL_DIR "$(rubyarchhdrdir)"; \
- echo '#endif'; \
- quote MJIT_MIN_HEADER_NAME "$(MJIT_MIN_HEADER_NAME)"; \
- sep=,; \
- quote "MJIT_CC_COMMON " $(MJIT_CC); \
- quote "MJIT_CFLAGS MJIT_ARCHFLAG" $(MJIT_CFLAGS); \
- quote "MJIT_OPTFLAGS " $(MJIT_OPTFLAGS); \
- quote "MJIT_DEBUGFLAGS " $(MJIT_DEBUGFLAGS); \
- quote "MJIT_LDSHARED " $(MJIT_LDSHARED); \
- quote "MJIT_DLDFLAGS MJIT_ARCHFLAG" $(MJIT_DLDFLAGS); \
- quote "MJIT_LIBS " $(LIBRUBYARG_SHARED); \
- quote 'PRELOADENV "@PRELOADENV@"'; \
- indent=$${archs:+' '}; \
- define_arch_flags; \
- echo; \
- echo '#endif /* RUBY_MJIT_CONFIG_H */'; \
- } > $@
-
-yes-test-almost yes-test-all programs: mjit_build_dir.$(SOEXT)
-mjit_build_dir.$(SOEXT): $(MJIT_MIN_HEADER) $(srcdir)/ruby-runner.c ruby-runner.h
- $(ECHO) making $@
- $(Q) $(DLDSHARED) $(MJIT_DLDFLAGS) $(ARCH_FLAG) $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) \
- -DMAKE_MJIT_BUILD_DIR=1 -DMJIT_MIN_HEADER='"$(MJIT_MIN_HEADER)"' \
- $(OUTFLAG)$@ $(srcdir)/ruby-runner.c
-
-# yes-test-basic: leaked-globals
-leaked-globals: $(COMMONOBJS) prog $(tooldir)/leaked-globals PHONY
- $(Q) $(XRUBY) $(tooldir)/leaked-globals NM=$(NM) SYMBOL_PREFIX=$(SYMBOL_PREFIX) PLATFORM=$(hdrdir)/ruby/$(PLATFORM_DIR).h $(srcdir)/configure.ac $(COMMONOBJS)
+LIBRUBY_FOR_LEAKED_GLOBALS = $(enable_shared:no=)
+yes-test-basic: $(DOT_WAIT) test-leaked-globals
+leaked-globals: test-leaked-globals
+yes-test-leaked-globals-precheck: $(COMMONOBJS) prog $(tooldir)/leaked-globals
+test-leaked-globals: yes-test-leaked-globals
+yes-test-leaked-globals: yes-test-leaked-globals-precheck
+ $(ACTIONS_GROUP)
+ $(Q) $(XRUBY) $(tooldir)/leaked-globals \
+ SOEXT=$(SOEXT) NM="$(NM) -Pgp" SYMBOL_PREFIX=$(SYMBOL_PREFIX) \
+ SYMBOLS_IN_EMPTYLIB="@XSYMBOLS_IN_EMPTYLIB@" \
+ EXTSTATIC="$(EXTSTATIC)" \
+ PLATFORM=$(hdrdir)/ruby/$(PLATFORM_DIR).h $(srcdir)/configure.ac \
+ $(COMMONOBJS) $(LIBRUBY_FOR_LEAKED_GLOBALS:yes=$(LIBRUBY_SO))
+ $(ACTIONS_ENDGROUP)