1FFI::Probe::Runner::BuiUlsdeerr(C3o)ntributed Perl DocumFeFnIt:a:tPiroonbe::Runner::Builder(3)
2
3
4
6 FFI::Probe::Runner::Builder - Probe runner builder for FFI
7
9 version 1.32
10
12 use FFI::Probe::Runner::Builder;
13 my $builder = FFI::Probe::Runner::Builder->new
14 dir => "/foo/bar",
15 );
16 my $exe = $builder->build;
17
19 This is a builder class for the FFI probe runner. It is mostly only of
20 interest if you are hacking on FFI::Platypus itself.
21
22 The interface may and will change over time without notice. Use in
23 external dependencies at your own peril.
24
26 new
27 my $builder = FFI::Probe::Runner::Builder->new(%args);
28
29 Create a new instance.
30
31 dir The root directory for where to place the probe runner files. Will
32 be created if it doesn't already exist. The default makes sense
33 for when FFI::Platypus is being built.
34
36 dir
37 my $dir = $builder->dir(@subdirs);
38
39 Returns a subdirectory from the builder root. Directory will be
40 created if it doesn't already exist.
41
42 cc
43 my @cc = @{ $builder->cc };
44
45 The C compiler to use. Returned as an array reference so that it may
46 be modified.
47
48 ccflags
49 my @ccflags = @{ $builder->ccflags };
50
51 The C compiler flags to use. Returned as an array reference so that it
52 may be modified.
53
54 optimize
55 The C optimize flags to use. Returned as an array reference so that it
56 may be modified.
57
58 ld
59 my @ld = @{ $builder->ld };
60
61 The linker to use. Returned as an array reference so that it may be
62 modified.
63
64 ldflags
65 my @ldflags = @{ $builder->ldflags };
66
67 The linker flags to use. Returned as an array reference so that it may
68 be modified.
69
70 libs
71 my @libs = @{ $builder->libs };
72
73 The library flags to use. Returned as an array reference so that it
74 may be modified.
75
76 file
77 my $file = $builder->file(@subdirs, $filename);
78
79 Returns a file in a subdirectory from the builder root. Directory will
80 be created if it doesn't already exist. File will not be created.
81
82 exe
83 my $exe = $builder->exe;
84
85 The name of the executable, once it is built.
86
87 source
88 my $source = $builder->source;
89
90 The C source for the probe runner.
91
92 extract
93 $builder->extract;
94
95 Extract the source for the probe runner.
96
97 run
98 $builder->run($type, @command);
99
100 Runs the given command. Dies if the command fails.
101
102 run_list
103 $builder->run($type, \@command, \@command, ...);
104
105 Runs the given commands in order until one succeeds. Dies if they all
106 fail.
107
108 build
109 my $exe = $builder->build;
110
111 Builds the probe runner. Returns the path to the executable.
112
114 Author: Graham Ollis <plicease@cpan.org>
115
116 Contributors:
117
118 Bakkiaraj Murugesan (bakkiaraj)
119
120 Dylan Cali (calid)
121
122 pipcet
123
124 Zaki Mughal (zmughal)
125
126 Fitz Elliott (felliott)
127
128 Vickenty Fesunov (vyf)
129
130 Gregor Herrmann (gregoa)
131
132 Shlomi Fish (shlomif)
133
134 Damyan Ivanov
135
136 Ilya Pavlov (Ilya33)
137
138 Petr Pisar (ppisar)
139
140 Mohammad S Anwar (MANWAR)
141
142 Håkon Hægland (hakonhagland, HAKONH)
143
144 Meredith (merrilymeredith, MHOWARD)
145
146 Diab Jerius (DJERIUS)
147
149 This software is copyright (c) 2015,2016,2017,2018,2019,2020 by Graham
150 Ollis.
151
152 This is free software; you can redistribute it and/or modify it under
153 the same terms as the Perl 5 programming language system itself.
154
155
156
157perl v5.32.0 2020-09-21 FFI::Probe::Runner::Builder(3)