FFI::Probe::Runner::Builder - Probe runner builder for FFI
Contents
Constructors
new
my $builder = FFI::Probe::Runner::Builder->new(%args);
Create a new instance.
dir The root directory for where to place the probe runner files. Will be created if it doesn't already
exist. The default makes sense for when FFI::Platypus is being built.
Copyright And License
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.
perl v5.40.0 2025-01-11 FFI::Probe::Runner::Builder(3pm)
Description
This is a builder class for the FFI probe runner. It is mostly only of interest if you are hacking on
FFI::Platypus itself.
The interface may and will change over time without notice. Use in external dependencies at your own
peril.
Methods
dir
my $dir = $builder->dir(@subdirs);
Returns a subdirectory from the builder root. Directory will be created if it doesn't already exist.
cc
my @cc = @{ $builder->cc };
The C compiler to use. Returned as an array reference so that it may be modified.
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. Directory will be created if it doesn't already
exist. File will not be created.
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.
build
my $exe = $builder->build;
Builds the probe runner. Returns the path to the executable.
Name
FFI::Probe::Runner::Builder - Probe runner builder for FFI
Synopsis
use FFI::Probe::Runner::Builder;
my $builder = FFI::Probe::Runner::Builder->new
dir => "/foo/bar",
);
my $exe = $builder->build;
Version
version 2.10
