FFI::Probe - System detection and probing for FFI extensions.
my $probe = FFI::Probe->new;
This class provides an interface for probing for system capabilities. It is used internally as part of the FFI::Platypus build process, but it may also be useful for extensions that use Platypus as well.
my $probe = FFI::Probe->new(%args);
Creates a new instance.
Path to a log or file handle to write to.
Path to a file which will be used to store/cache results.
my $bool = $probe->check_header($header);
Checks that the given C header file is available. Stores the result, and returns a true/false value.
my $bool = $probe>check_eval(%args);
Any additional headers.
Any C declarations that need to be made before the dlmain function.
Any C statements that should be made before the evaluation.
Any evaluations that should be returned.
my $type = $probe->check_type_int($type);
my $type = $probe->check_type_enum;
my $type = $probe->check_type_float($type);
my $type = $probe->check_type_pointer;
Used internally to store a value.
Saves the values already detected.
my $data = $probe->data;
Returns a hashref of the data already detected.
Sends the given string to the log.
Sends the given multi-line code block to the log.
my $template = $probe->template;
Returns the C code template used for check_eval and other check_ methods.
Author: Graham Ollis <email@example.com>
Bakkiaraj Murugesan (bakkiaraj)
Dylan Cali (calid)
Zaki Mughal (zmughal)
Fitz Elliott (felliott)
Vickenty Fesunov (vyf)
Gregor Herrmann (gregoa)
Shlomi Fish (shlomif)
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)
José Joaquín Atria (JJATRIA)
Pete Houston (openstrike, HOUSTON)
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.
To install FFI::Platypus, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell
For more information on module installation, please visit the detailed CPAN module installation guide.