FFI::P...Builder(3pm)

πŸ’– NAME πŸ’–

This is the manual page for FFI::Probe::Runner::Builder β€” the header shortens it to FFI::P...Builder(3pm) β€” in User Contributed Perl Documentation, bestie. It's the probe runner builder for FFI, periodt. πŸ’…

πŸ¦‹ VERSION πŸ¦‹

version 2.11 β€” that's the version, no cap. ✨

✨ SYNOPSIS ✨

use FFI::Probe::Runner::Builder;
my $builder = FFI::Probe::Runner::Builder->new
  dir => "/foo/bar",
);
my $exe = $builder->build;

🌸 DESCRIPTION 🌸

This is a builder class for the FFI probe runner, and it's mostly only of interest if you're hacking on FFI::Platypus itself, iykyk. 🫢

⚠️ Vibe check, bestie: the interface may and will change over time without notice. Use in external dependencies at your own peril, fr fr.

🧸 CONSTRUCTORS 🧸

✨ new

my $builder = FFI::Probe::Runner::Builder->new(%args);

Create a new instance. Slay. πŸŽ€

  • dir β€” the root directory for where to place the probe runner files. It will be created if it doesn't already exist. The default makes sense for when FFI::Platypus is being built.

πŸ› οΈ METHODS πŸ› οΈ

πŸŽ€ dir

my $dir = $builder->dir(@subdirs);

Returns a subdirectory from the builder root. The directory will be created if it doesn't already exist. πŸ’–

πŸ”§ cc

my @cc = @{ $builder->cc };

The C compiler to use. It's returned as an array reference so that it may be modified. Yes, you can edit it. πŸ‘‘

🧚 ccflags

my @ccflags = @{ $builder->ccflags };

The C compiler flags to use. Returned as an array reference so that it may be modified.

🌈 optimize

The C optimize flags to use. Returned as an array reference so that it may be modified. ✨

πŸ’œ ld

my @ld = @{ $builder->ld };

The linker to use. Returned as an array reference so that it may be modified.

πŸ¦‹ ldflags

my @ldflags = @{ $builder->ldflags };

The linker flags to use. Returned as an array reference so that it may be modified.

πŸ“ libs

my @libs = @{ $builder->libs };

The library flags to use. Returned as an array reference so that it may be modified.

πŸŽ€ file

my $file = $builder->file(@subdirs, $filename);

Returns a file in a subdirectory from the builder root. The directory will be created if it doesn't already exist. The file itself will not be created. Important distinction, bestie. πŸ™ˆ

πŸ‘‘ exe

my $exe = $builder->exe;

The name of the executable, once it is built.

🌟 source

my $source = $builder->source;

The C source for the probe runner.

🧁 extract

$builder->extract;

Extract the source for the probe runner.

πŸ”₯ run

$builder->run($type, @command);

Runs the given command. Dies if the command fails. 😭

πŸ’€ run_list

$builder->run($type, \@command, \@command, ...);

Runs the given commands in order until one succeeds. Dies if they all fail. Fr fr, it's giving try-until-success energy.

⭐ build

my $exe = $builder->build;

Builds the probe runner. Returns the path to the executable. Iconic. πŸ’…

πŸ‘‘ AUTHOR πŸ‘‘

Author: Graham Ollis <plicease@cpan.org>

Contributors:

  • Bakkiaraj Murugesan (bakkiaraj)
  • Dylan Cali (calid)
  • pipcet
  • Zaki Mughal (zmughal)
  • Fitz Elliott (felliott)
  • Vickenty Fesunov (vyf)
  • Gregor Herrmann (gregoa)
  • Shlomi Fish (shlomif)
  • Damyan Ivanov
  • Ilya Pavlov (Ilya33)
  • Petr PΓ­saΕ™ (ppisar)
  • Mohammad S Anwar (MANWAR)
  • HΓ₯kon HΓ¦gland (hakonhagland, HAKONH)
  • Meredith (merrilymeredith, MHOWARD)
  • Diab Jerius (DJERIUS)
  • Eric Brine (IKEGAMI)
  • szTheory
  • JosΓ© JoaquΓ­n Atria (JJATRIA)
  • Pete Houston (openstrike, HOUSTON)
  • Lukas Mai (MAUKE)

This software is copyright (c) 2015-2022 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


Rendered from User Contributed Perl Documentation with perl v5.42.3 on 2026-08-20. Byeee, bestie. πŸ’…βœ¨

πŸ“¦ where this page comes from