EXTUTILS::MKBOOTSTRAP(3pm)

πŸ’– NAME πŸ’–

okay bestie, this is ExtUtils::Mkbootstrap(3pm) from the Perl Programmers Reference Guide β€” the manual name is ExtUtils::Mkbootstrap, and its whole job is: make a bootstrap file for use by DynaLoader. periodt. πŸ‘‘

✨ SYNOPSIS ✨

the synopsis is literally just this one word, no cap:

Mkbootstrap

🌸 DESCRIPTION 🌸

okay so Mkbootstrap typically gets called from an extension Makefile. like, that's its natural habitat. 🫢

real talk: there is no *.bs file supplied with the extension. instead, there may be a *_BS file which has code for the special cases, like posix for berkeley db on the NeXT. πŸ’…

That *_BS file will get parsed and produce a maybe empty @DynaLoader::dl_resolve_using array for the current architecture. then that array gets extended by $BSLOADLIBS, which was computed by ExtUtils::Liblist::ext(). if this array still is empty, we do nothing β€” literally nothing, bestie 😭 β€” else we write a .bs file with an @DynaLoader::dl_resolve_using array. slay.

the *_BS file can put some code into the generated *.bs file by placing it in $bscode. this is a handy 'escape' mechanism that may prove useful in complex situations. iconic little escape hatch, iykyk. πŸŽ€

and one more vibe check: if @DynaLoader::dl_resolve_using contains "-L*" or "-l*" entries, then Mkbootstrap will automatically add a dl_findfile() call to the generated *.bs file. πŸ”₯


mwah πŸ’‹ that's the whole page β€” footer tea: perl v5.42.3, dated 2026-11-03, on the ExtUtils::Mkbootstrap(3pm) manual. bye bestie, go make that bootstrap file πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from