diff --git a/zjit/zjit.mk b/zjit/zjit.mk index 604c769039..15fdbca938 100644 --- a/zjit/zjit.mk +++ b/zjit/zjit.mk @@ -119,13 +119,14 @@ zjit-test: libminiruby.a CARGO_TARGET_DIR='$(ZJIT_CARGO_TARGET_DIR)' \ $(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 -# - more complex linking -# - init uses install path baked in, so complexity to deal with this pre-`make install` +# A library for booting miniruby in tests. +# Why not use libruby-static.a for this? +# - 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) $(ECHO) linking static-library $@ - echo exe $(EXE_LDFLAGS) - echo ld $(LDFLAGS) $(Q) $(AR) $(ARFLAGS) $@ $(MINIOBJS) $(COMMONOBJS) libminiruby: libminiruby.a