You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
also sets the path and several environment variables in accordance
150
+
to the object configuration (i.e. `alien_bin_requires`) and
151
+
performs the interpolation of the patterns described in
152
+
["COMMAND INTERPOLATION" in Alien::Base::ModuleBuild::API](https://metacpan.org/pod/Alien::Base::ModuleBuild::API#COMMAND-INTERPOLATION).
152
153
153
154
Returns a set of key value pairs including `stdout`, `stderr`,
154
155
`success` and `command`.
@@ -227,6 +228,19 @@ The documentation for `Module::Build` is broken up into sections:
227
228
This is a reference to the `Alien::Base::ModuleBuild` API beyond that contained
228
229
in `Module::Build::API`.
229
230
231
+
- Using the resulting [Alien](https://metacpan.org/pod/Alien) ([Alien::Build::Manual::AlienUser](https://metacpan.org/pod/Alien::Build::Manual::AlienUser))
232
+
233
+
Once you have an [Alien](https://metacpan.org/pod/Alien) you or your users can review this manual for how to use
234
+
it. Generally speaking you should have some useful usage information in your
235
+
[Alien](https://metacpan.org/pod/Alien)'s POD, but some authors choose to direct their users to this manual
236
+
instead.
237
+
238
+
- Using [Alien::Build](https://metacpan.org/pod/Alien::Build) instead ([Alien::Build::Manual](https://metacpan.org/pod/Alien::Build::Manual))
239
+
240
+
As mentioned at the top, you are encouraged to use the [Alien::Build](https://metacpan.org/pod/Alien::Build) and
241
+
[alienfile](https://metacpan.org/pod/alienfile) system instead. This manual is a starting point for the other
Copy file name to clipboardExpand all lines: lib/Alien/Base/ModuleBuild/API.pod
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,17 +5,17 @@
5
5
=head1 DESCRIPTION
6
6
7
7
B<NOTE>: Please consider for new development of L<Alien>s that you use
8
-
L<Alien::Build> and L<alienfile> instead. Like L<Alien::Base::ModuleBUild> they work
9
-
with L<Alien::Base>. Unlike L<Alien::Base::Module::Build> they are more easily customized
8
+
L<Alien::Build> and L<alienfile> instead. Like L<Alien::Base::ModuleBuild> they work
9
+
with L<Alien::Base>. Unlike L<Alien::Base::ModuleBuild> they are more easily customized
10
10
and handle a number of corner cases better. For a good place to start,
11
-
please see L<Alien::Build::Manual::AlienAuthor>. Although the
11
+
please see L<Alien::Build::Manual::AlienAuthor>. Although the
12
12
Alien-Base / Alien-Build team will continue to maintain this module,
13
13
(we will continue to fix bugs where appropriate), we aren't adding any
14
14
new features to this module.
15
15
16
-
A list of extra properties and methods provided by
16
+
A list of extra properties and methods provided by
17
17
L<Alien::Base::ModuleBuild> beyond those contained in L<Module::Build::API>.
18
-
Note that all property and method names are prefixed with C<alien_> to prevent future
18
+
Note that all property and method names are prefixed with C<alien_> to prevent future
19
19
collisions L<Module::Build> builtins.
20
20
21
21
=head2 CONSTRUCTOR
@@ -78,14 +78,14 @@ to remove the variable.
78
78
);
79
79
...
80
80
81
-
Please keep in mind that frequently users have a good reason to have set
82
-
environment variables, and you should not override them without a good
83
-
reason. An example of a good justification would be if a project has a
84
-
Makefile that interacts badly with common environment variables. This
81
+
Please keep in mind that frequently users have a good reason to have set
82
+
environment variables, and you should not override them without a good
83
+
reason. An example of a good justification would be if a project has a
84
+
Makefile that interacts badly with common environment variables. This
85
85
can sometimes be a problem since Makefile variables can be overridden with
86
86
environment variables.
87
87
88
-
A useful pattern is to use a helper to only override an environment
88
+
A useful pattern is to use a helper to only override an environment
89
89
variable if it is not already set.
90
90
91
91
...
@@ -101,7 +101,7 @@ variable if it is not already set.
101
101
);
102
102
...
103
103
104
-
A common pitfall with environment variables is that setting one to the
104
+
A common pitfall with environment variables is that setting one to the
105
105
empty string (C<''>) is not portable. On Unix it works fine as you would
106
106
expect, but in Windows it actually unsets the environment variable, which
107
107
may not be what you intend.
@@ -164,10 +164,10 @@ By default alien_name is used with any C<lib> prefix removed. For example C<lib
164
164
165
165
[version 0.020]
166
166
167
-
Provide helpers to generate commands or arguments at build or install time. This property is a hash
168
-
reference. The keys are the helper names and the values are strings containing Perl code that will
169
-
be evaluated and interpolated into the command before execution. Because helpers are only needed
170
-
when building a package from the source code, any dependency may be specified as an
167
+
Provide helpers to generate commands or arguments at build or install time. This property is a hash
168
+
reference. The keys are the helper names and the values are strings containing Perl code that will
169
+
be evaluated and interpolated into the command before execution. Because helpers are only needed
170
+
when building a package from the source code, any dependency may be specified as an
171
171
C<alien_bin_requires>. For example:
172
172
173
173
...
@@ -344,15 +344,15 @@ The name of the temporary folder which will house the library when it is downloa
344
344
345
345
[version 0.001]
346
346
347
-
An arrayref of commands used to test the library. Each command is first
347
+
An arrayref of commands used to test the library. Each command is first
348
348
passed through the L<command interpolation engine|/"COMMAND INTERPOLATION">,
349
349
so those variables may be used. The default is to do no tests. The most
350
350
common command used by the GNU toolchain is C<[ 'make check' ]>, but beware
351
351
that is not supported by all packages.
352
352
353
353
[version 0.009]
354
354
355
-
Each command may be either a string or an array reference. If the array
355
+
Each command may be either a string or an array reference. If the array
356
356
reference form is used, then the multiple argument form of system is used.
357
357
358
358
=item alien_version_check
@@ -367,7 +367,7 @@ A command to run to check the version of the library installed on the system. Th
367
367
368
368
A few global variables are used to set gross behavior. For each pair of variables, if both are set, the environment variable takes precedence.
369
369
370
-
=over
370
+
=over
371
371
372
372
=item $ENV{ALIEN_ARCH}
373
373
@@ -379,7 +379,7 @@ integrators creating a single non-architecture specific RPM, .deb or similar pac
379
379
380
380
=item $ENV{ALIEN_BLIB}
381
381
382
-
Setting this to true indicates that you don't intend to actually install your Alien::Base subclass, but rather use it from the built F<blib> directory. This behavior is mostly to support automated testing from CPANtesters and should be automagically determined. If by chance you happen to trip the behavior accidentally, setting this environment variable to false (0) before building should prevent problems.
382
+
Setting this to true indicates that you don't intend to actually install your Alien::Base subclass, but rather use it from the built F<blib> directory. This behavior is mostly to support automated testing from CPANtesters and should be automagically determined. If by chance you happen to trip the behavior accidentally, setting this environment variable to false (0) before building should prevent problems.
383
383
384
384
=item $Alien::Base::ModuleBuild::Force
385
385
@@ -395,7 +395,7 @@ Setting to C<share> will ignore a system-wide installation and build a local ver
395
395
396
396
=item $ENV{ALIEN_VERBOSE}
397
397
398
-
Setting the either to a true value will output a little more info from within the module itself. At this point L<Alien::Base> is going to be fairly verbose without this enabled.
398
+
Setting the either to a true value will output a little more info from within the module itself. At this point L<Alien::Base> is going to be fairly verbose without this enabled.
Copy file name to clipboardExpand all lines: lib/Alien/Base/ModuleBuild/Authoring.pod
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,9 @@
6
6
7
7
B<NOTE>: Please consider for new development of L<Alien>s that you use
8
8
L<Alien::Build> and L<alienfile> instead. Like L<Alien::Base::ModuleBuild> they work
9
-
with L<Alien::Base>. Unlike L<Alien::Base::Module::Build> they are more easily customized
9
+
with L<Alien::Base>. Unlike L<Alien::Base::ModuleBuild> they are more easily customized
10
10
and handle a number of corner cases better. For a good place to start,
11
-
please see L<Alien::Build::Manual::AlienAuthor>. Although the
11
+
please see L<Alien::Build::Manual::AlienAuthor>. Although the
12
12
Alien-Base / Alien-Build team will continue to maintain this module,
13
13
(we will continue to fix bugs where appropriate), we aren't adding any
14
14
new features to this module.
@@ -17,8 +17,8 @@ Congratulations! You have made the decision to help the Perl community by provid
17
17
18
18
=head1 STATUS
19
19
20
-
L<Alien::Base> is under active development. The API is relatively
21
-
stable, although breaking changes may be introduced if the rewards are
20
+
L<Alien::Base> is under active development. The API is relatively
21
+
stable, although breaking changes may be introduced if the rewards are
22
22
deemed greater than the pains that they produce.
23
23
24
24
=head1 ECOSYSTEM
@@ -51,7 +51,7 @@ C<Alien::MyLibrary> is called by C<Some::Library::MyLibrary>'s build script, eit
51
51
# file: Some-Module-MyLibrary/Build.PL
52
52
use Module::Build;
53
53
use Alien::MyLibrary;
54
-
54
+
55
55
my $alien = Alien::MyLibrary->new;
56
56
my $builder = Module::Build->new(
57
57
...
@@ -68,22 +68,22 @@ C<Alien::MyLibrary> must be a subclass of L<Alien::Base>. This provides the C<im
68
68
69
69
# file: Alien-MyLibrary/lib/Alien/MyLibrary.pm
70
70
package Alien::MyLibrary;
71
-
71
+
72
72
use parent 'Alien::Base';
73
-
73
+
74
74
1;
75
75
76
76
Finally, C<Alien::MyLibrary> must also be called by C<Some::Library::MyLibrary> before C<DynaLoader::bootstrap> or C<XSLoader::load>. The C<use> directive is recommended, however if you must use C<require> then be sure to call the C<import> method too. Without this C<import> call, the loader doesn't know where to find F<libmylibrary.so>.
0 commit comments