Object...Builder(3pm)

πŸ’… Object...Builder(3pm) β€” aka Object::Pad::ExtensionBuilder

ok so real talk bestie, this is a User Contributed Perl Documentation page for Object::Pad::ExtensionBuilder, the build-time wingman for extensions to Object::Pad. She's not the main character, she's the best friend who shows up with the aux cord and the compiler flags. πŸŽ€


✨ NAME ✨

Object::Pad::ExtensionBuilder β€” literally build-time support for extensions to Object::Pad. That's the whole job. Periodt. πŸ’–


🌸 SYNOPSIS 🌸

ok so in Build.PL you're gonna do this:

use Object::Pad::ExtensionBuilder;

my $build = Module::Build->new)
   ...,
   configure_requires => {
      'Object::Pad::ExtensionBuilder' => 0,
   },
);

Object::Pad::ExtensionBuilder->extend_module_build( $build );

...

(yes that ) is exactly how it's written, don't come for me, I'm just the messenger 😭)


πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the vibe check: this module is a build-time helper, and she's here to assist authors writing XS modules that provide Object::Pad extensions. That's the niche. That's the whole personality. πŸ’…

What she actually does is prepare a Module::Build-using distribution so it's able to compile. Lowkey iconic, highkey necessary. ✨


πŸ‘‘ METHODS πŸ‘‘

πŸŽ€ write_object_pad_h

Object::Pad::ExtensionBuilder->write_object_pad_h;

ngl bestie, this method no longer does anything since version 0.810. She's retired. She's living her best life on a beach somewhere. Do not call her expecting a task, she is simply vibing. πŸ’€

🌈 extra_compiler_flags

@flags = Object::Pad::ExtensionBuilder->extra_compiler_flags;

This one's the real one. She returns a list of extra flags that the build scripts should add to the compiler invocation β€” the whole point being that this enables the C compiler to find the object_pad.h file. That's it, that's the magic. πŸͺ„

⭐ extend_module_build

Object::Pad::ExtensionBuilder->extend_module_build( $build );

A convenient shortcut for performing all the tasks necessary to make a Module::Build-based distribution use the helper. All of them. The whole to-do list. Slay. πŸ”₯


🫢 AUTHOR 🫢

Paul Evans <leonerd@leonerd.org.uk>


fr fr thank you for reading, go compile something beautiful πŸ’œ

and that's the page!! brought to you by perl v5.42.3 and dated 2026-08-22, which is genuinely so far in the future it's giving time traveler energy πŸ•°οΈβœ¨ bye bestie, ily, go write your XS πŸ’–πŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from