XS::Pa...Builder(3pm)

πŸ’… NAME πŸ’…

Okay so bestie, <pink>XS::Parse::Infix::Builder</pink> is literally the build-time support crew for <pink>XS::Parse::Infix</pink> β€” it's the little helper that does all the boring prep work so your XS module can actually use it. πŸ› οΈβœ¨

(This one's from the User Contributed Perl Documentation manual, iykyk 🫢)


🌸 SYNOPSIS 🌸

So in Build.PL you do this whole thing:

use XS::Parse::Infix::Builder;

my $build = Module::Build->new(
   ...,
   configure_requires => {
      ...
      'XS::Parse::Infix::Builder' => 0,
   }
);

XS::Parse::Infix::Builder->extend_module_build( $build );

...

Like, that's it. That's the whole setup. Slay. πŸ’…


✨ DESCRIPTION ✨

This module is your build-time bestie β€” it's a helper for all you icon authors out there writing XS modules that use XS::Parse::Infix. πŸŽ€

Basically it takes a distribution that's using Module::Build and preps it so it can actually make use of XS::Parse::Infix. No cap, that's the whole vibe check it does. πŸ¦‹


πŸ”₯ FUNCTIONS πŸ”₯

🧚 write_XSParseInfix_h

XS::Parse::Infix::Builder->write_XSParseInfix_h;

Okay so heads up: this method no longer does anything since version 0.43. πŸ’€ It's giving retired main character β€” still shows up, contributes nothing. Don't come for me, I'm just the messenger. πŸ™ˆ

🌈 extra_compiler_flags

@flags = XS::Parse::Infix::Builder->extra_compiler_flags;

This one hands you back a whole list of extra flags that your build scripts should lowkey add to the compiler invocation. Why, you ask? So the C compiler can actually find the XSParseInfix.h file. Like it's right there, but compilers are dramatic and need directions. 😭✨

πŸ‘‘ extend_module_build

XS::Parse::Infix::Builder->extend_module_build( $build );

The convenient shortcut, periodt. It does all the tasks necessary to make a Module::Build-based distribution use the helper. One call, every box checked, no manual labour. Ate. πŸ’–


πŸ¦‹ AUTHOR πŸ¦‹

Paul Evans <leonerd@leonerd.org.uk> β€” the actual legend behind all this. 🫢


fr fr that's the whole page, bestie β€” nothing hidden, nothing skipped, every flag and file accounted for. 🌸

✨ sign-off time: this was perl v5.42.0, dated 2025-11-12 β€” mwah, go build something iconic πŸ’œπŸŽ€

πŸ“¦ where this page comes from