diff options
author | Takashi Kokubun <[email protected]> | 2025-02-06 10:55:12 -0500 |
---|---|---|
committer | Takashi Kokubun <[email protected]> | 2025-04-18 21:52:55 +0900 |
commit | 8ad08f112684acf5eff590363be6f3035cb242a2 (patch) | |
tree | bb967b06a9913e7e1cab161721a91d255dda2ede | |
parent | 6e9cc0e7bdfb5ed9a63a8eeebe5feb2b513b9acc (diff) |
Fix template/Makefile.in
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/13131
-rw-r--r-- | common.mk | 12 | ||||
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | template/Makefile.in | 10 | ||||
-rw-r--r-- | zjit.c | 0 | ||||
-rw-r--r-- | zjit/zjit.mk | 2 |
5 files changed, 29 insertions, 4 deletions
@@ -344,6 +344,16 @@ YJIT_RUSTC_ARGS = --crate-name=yjit \ '--out-dir=$(CARGO_TARGET_DIR)/release/' \ $(top_srcdir)/yjit/src/lib.rs +ZJIT_RUSTC_ARGS = --crate-name=zjit \ + --crate-type=staticlib \ + --edition=2021 \ + -g \ + -C lto=thin \ + -C opt-level=3 \ + -C overflow-checks=on \ + '--out-dir=$(ZJIT_CARGO_TARGET_DIR)/release/' \ + $(top_srcdir)/zjit/src/lib.rs + all: $(SHOWFLAGS) main main: $(SHOWFLAGS) exts $(ENCSTATIC:static=lib)encs @@ -368,6 +378,7 @@ showflags: " MFLAGS = $(MFLAGS)" \ " RUSTC = $(RUSTC)" \ " YJIT_RUSTC_ARGS = $(YJIT_RUSTC_ARGS)" \ + " ZJIT_RUSTC_ARGS = $(ZJIT_RUSTC_ARGS)" \ $(MESSAGE_END) -@$(CC_VERSION) @@ -20916,4 +20927,5 @@ yjit.$(OBJEXT): {$(VPATH)}vm_sync.h yjit.$(OBJEXT): {$(VPATH)}yjit.c yjit.$(OBJEXT): {$(VPATH)}yjit.h yjit.$(OBJEXT): {$(VPATH)}yjit.rbinc +zjit.$(OBJEXT): {$(VPATH)}zjit.c # AUTOGENERATED DEPENDENCIES END diff --git a/configure.ac b/configure.ac index 28cfb66605..498cde3f47 100644 --- a/configure.ac +++ b/configure.ac @@ -3972,6 +3972,7 @@ AS_CASE(["${YJIT_SUPPORT}"], AC_DEFINE(USE_YJIT, 0) ]) +ZJIT_CARGO_BUILD_ARGS= ZJIT_LIBS= AS_CASE(["${ZJIT_SUPPORT}"], [yes|dev], [ @@ -3985,11 +3986,11 @@ AS_CASE(["${ZJIT_SUPPORT}"], ], [dev], [ rb_rust_target_subdir=debug - CARGO_BUILD_ARGS='--features disasm,runtime_checks' + ZJIT_CARGO_BUILD_ARGS='--features disasm,runtime_checks' AC_DEFINE(RUBY_DEBUG, 1) ]) - AS_IF([test -n "${CARGO_BUILD_ARGS}"], [ + AS_IF([test -n "${ZJIT_CARGO_BUILD_ARGS}"], [ AC_CHECK_TOOL(CARGO, [cargo], [no]) AS_IF([test x"$CARGO" = "xno"], AC_MSG_ERROR([cargo is required. Installation instructions available at https://www.rust-lang.org/tools/install]) @@ -4016,6 +4017,9 @@ AC_SUBST(CARGO)dnl Cargo command for Rust builds AC_SUBST(CARGO_BUILD_ARGS)dnl for selecting Rust build profiles AC_SUBST(YJIT_LIBS)dnl for optionally building the Rust parts of YJIT AC_SUBST(YJIT_OBJ)dnl for optionally building the C parts of YJIT +AC_SUBST(ZJIT_SUPPORT)dnl what flavor of ZJIT the Ruby build includes +AC_SUBST(ZJIT_LIBS)dnl for optionally building the Rust parts of YJIT +AC_SUBST(ZJIT_OBJ)dnl for optionally building the C parts of YJIT } [begin]_group "build section" && { @@ -4738,6 +4742,7 @@ config_summary "hardenflags" "$hardenflags" config_summary "strip command" "$STRIP" config_summary "install doc" "$DOCTARGETS" config_summary "YJIT support" "$YJIT_SUPPORT" +config_summary "ZJIT support" "$ZJIT_SUPPORT" config_summary "man page type" "$MANTYPE" config_summary "search path" "$search_path" config_summary "static-linked-ext" ${EXTSTATIC:+"yes"} diff --git a/template/Makefile.in b/template/Makefile.in index 91c68a1594..77924f33da 100644 --- a/template/Makefile.in +++ b/template/Makefile.in @@ -101,12 +101,19 @@ XCFLAGS = @XCFLAGS@ $(INCFLAGS) $(_RUBY_DEVEL_enabled:yes=-DRUBY_DEVEL=1) -Dmodu USE_RUBYGEMS = @USE_RUBYGEMS@ USE_RUBYGEMS_ = $(USE_RUBYGEMS:yes=) CPPFLAGS = @CPPFLAGS@ $(USE_RUBYGEMS_:no=-DDISABLE_RUBYGEMS=1) +TOP_BUILD_DIR=@abs_top_builddir@ YJIT_SUPPORT=@YJIT_SUPPORT@ YJIT_LIBS=@YJIT_LIBS@ YJIT_OBJ=@YJIT_OBJ@ YJIT_LIBOBJ = $(YJIT_LIBS:.a=.@OBJEXT@) +ZJIT_SUPPORT=@ZJIT_SUPPORT@ +ZJIT_LIBS=@ZJIT_LIBS@ +ZJIT_OBJ=@ZJIT_OBJ@ +ZJIT_LIBOBJ = $(ZJIT_LIBS:.a=.@OBJEXT@) CARGO_TARGET_DIR=@abs_top_builddir@/yjit/target CARGO_BUILD_ARGS=@CARGO_BUILD_ARGS@ +ZJIT_CARGO_TARGET_DIR=@abs_top_builddir@/zjit/target +ZJIT_CARGO_BUILD_ARGS=@CARGO_BUILD_ARGS@ LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@ EXE_LDFLAGS = $(LDFLAGS) EXTLDFLAGS = @EXTLDFLAGS@ @@ -201,7 +208,8 @@ DTRACE_DEPENDENT_OBJS = array.$(OBJEXT) \ string.$(OBJEXT) \ symbol.$(OBJEXT) \ vm.$(OBJEXT) \ - $(YJIT_OBJ) + $(YJIT_OBJ) \ + $(ZJIT_OBJ) THREAD_MODEL = @THREAD_MODEL@ diff --git a/zjit.c b/zjit.c new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/zjit.c diff --git a/zjit/zjit.mk b/zjit/zjit.mk index be584df749..7edaff3a02 100644 --- a/zjit/zjit.mk +++ b/zjit/zjit.mk @@ -33,7 +33,7 @@ else ifeq ($(ZJIT_SUPPORT),$(filter dev dev_nodebug stats,$(ZJIT_SUPPORT))) $(ZJIT_LIBS): $(ZJIT_SRC_FILES) $(ECHO) 'building Rust ZJIT ($(ZJIT_SUPPORT) mode)' +$(Q)$(CHDIR) $(top_srcdir)/zjit && \ - CARGO_TARGET_DIR='$(CARGO_TARGET_DIR)' \ + CARGO_TARGET_DIR='$(ZJIT_CARGO_TARGET_DIR)' \ CARGO_TERM_PROGRESS_WHEN='never' \ $(CARGO) $(CARGO_VERBOSE) build $(CARGO_BUILD_ARGS) $(ZJIT_LIB_TOUCH) |