Explain libminiruby

This commit is contained in:
Alan Wu 2025-02-12 20:48:41 -05:00 committed by Takashi Kokubun
parent 5925903e38
commit 3f68bcdeb1
Notes: git 2025-04-18 13:48:44 +00:00

View File

@ -119,13 +119,14 @@ zjit-test: libminiruby.a
CARGO_TARGET_DIR='$(ZJIT_CARGO_TARGET_DIR)' \ CARGO_TARGET_DIR='$(ZJIT_CARGO_TARGET_DIR)' \
$(CARGO) nextest run --manifest-path '$(top_srcdir)/zjit/Cargo.toml' $(CARGO) nextest run --manifest-path '$(top_srcdir)/zjit/Cargo.toml'
# A library for booting miniruby in tests. TODO(alan) Explain why not use libruby-static.a # A library for booting miniruby in tests.
# - more complex linking # Why not use libruby-static.a for this?
# - init uses install path baked in, so complexity to deal with this pre-`make install` # - Initialization of the full ruby involves dynamic linking for e.g. transcoding implementations
# our tests don't need these functionalities so good to avoid their complexity.
# - By being mini, it's faster to build
# - Less likely to break since later stages of the build process also rely on miniruby.
libminiruby.a: miniruby$(EXEEXT) libminiruby.a: miniruby$(EXEEXT)
$(ECHO) linking static-library $@ $(ECHO) linking static-library $@
echo exe $(EXE_LDFLAGS)
echo ld $(LDFLAGS)
$(Q) $(AR) $(ARFLAGS) $@ $(MINIOBJS) $(COMMONOBJS) $(Q) $(AR) $(ARFLAGS) $@ $(MINIOBJS) $(COMMONOBJS)
libminiruby: libminiruby.a libminiruby: libminiruby.a