Future...uilder(3pm)

✨ NAME ✨

Future::AsyncAwait::ExtensionBuilder β€” build-time support for extensions to Future::AsyncAwait πŸ’–

okay so bestie, this is the little helper module that shows up at build time to help you write XS modules that extend Future::AsyncAwait. It's giving backstage crew energy. iykyk. πŸŽ€


🌸 SYNOPSIS 🌸

In Build.PL:

use Future::AsyncAwait::ExtensionBuilder;

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

Future::AsyncAwait::ExtensionBuilder->extend_module_build( $build );

...

like yes you literally just drop it in, call one method, and the whole thing is set up. slay. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

This module provides a build-time helper to assist authors writing XS modules that provide extensions to Future::AsyncAwait. 🫢

It prepares a Module::Build-using distribution to be able to make use of the Future::AsyncAwait extension API. That's the whole vibe β€” it gets your dist ready so the extension API actually works. ✨


πŸ‘‘ FUNCTIONS πŸ‘‘

🌈 write_AsyncAwait_h

Future::AsyncAwait::ExtensionBuilder->write_AsyncAwait_h;

ngl this method no longer does anything since version 0.67. it's just... there. a ghost. a legacy icon. it stays in the docs so you don't freak out when you see it. πŸ’€

πŸ“ extra_compiler_flags

@flags = Future::AsyncAwait::ExtensionBuilder->extra_compiler_flags;

Returns a list of extra flags that the build scripts should add to the compiler invocation. πŸ”₯

Why tho? Because this is what enables the C compiler to find the AsyncAwait.h file. no flags, no header, no compile. that's the whole point bestie, don't skip it.

🧚 extend_module_build

Future::AsyncAwait::ExtensionBuilder->extend_module_build( $build );

A convenient shortcut for performing all the tasks necessary to make a Module::Build-based distribution use the helper. 🌟

one call, all the chores done. main character energy honestly. periodt.


πŸ’œ AUTHOR πŸ’œ

Paul Evans <leonerd@leonerd.org.uk>


and that's a wrap, my love 🌸 this page is living its best life as part of perl v5.42.3, dated 2026-08-20 β€” so if you're reading this in some far-future timeline, hi, hope the extensions are extending πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from