1Shipwright::Manual::CusUtsoemrizCeoBnutirlidb(u3t)ed PerSlhiDpowcruimgehntt:a:tMiaonnual::CustomizeBuild(3)
2
3
4

NAME

6       Shipwright::Manual::CustomizeBuild - Customize the build method for a
7       source
8

DESCRIPTION

10       There are currently two ways to build a source: through a perl script
11       (scripts/foo/build.pl) which allows for heavy customization, or using a
12       list of tagged commands (scripts/foo/build), which is simpler but less
13       customizable.
14
15       scripts/foo/build.pl has higher precedence, so if both
16       scripts/foo/build.pl and scripts/foo/build exist, the former will be
17       used.
18
19   build.pl
20       When executing build.pl for the source foo, the current working
21       directory will be dists/foo
22
23       The script will be run with a list of arguments (the format is designed
24       to be easily extracted with Getopt::Long):
25
26       --install-base=s
27           The base directory where the vessel is to be built to.
28
29           e.g. "--install-base '/tmp/test-xxxxxx/test'"
30
31       --flags=s
32           A list of flags, joined by comma. (See
33           Shipwright::Manual::UsingFlags for more information.)
34
35           e.g. "--flags default,mysql"
36
37       --skip-test
38           Whether to skip running tests or not.
39
40       --force
41           If any test fails, whether to go on or just die.
42
43       --clean
44           If run with this argument, the script should do the "clean" work
45           instead of the "install" work.
46
47   build
48       This is a text file; each line should be either blank or use the format
49       "type: command". The command will be executed line by line, and the
50       current working directory for building the source foo will be
51       dists/foo.
52
53       In a normal build script, the following types of commands are
54       specified: configure, make, install, clean, and sometimes test. Their
55       functions should be self-explanatory for anyone familiar with building
56       perl modules.
57
58       Four template substitutions are available for use in the command:
59       "%%PERL%%", "%%PERL_ARCHNAME%%", "%%INSTALL_BASE%%" and "%%MAKE%%".
60       These can be used in cases where the path to perl, the perl archname
61       (e.g.  'i486-linux-gnu-thread-multi'), the base install path or make
62       command are needed, since they are not known beforehand or need to
63       choose one later.
64
65       There are two special types: "test" and "clean".
66
67       test
68           If executed with "--skip-test", this command won't be executed.  If
69           executed with "--force", even if this command fails the build will
70           continue.
71
72       clean
73           If executed with "--clean", all commands will be skipped except
74           this one.
75

SEE ALSO

77       Shipwright, Shipwright::Manual
78

AUTHORS

80       sunnavy  "<sunnavy@bestpractical.com>"
81
83       Shipwright is Copyright 2007-2015 Best Practical Solutions, LLC.
84
85       This program is free software; you can redistribute it and/or modify it
86       under the same terms as Perl itself.
87
88
89
90perl v5.36.0                      2023-01-S2h0ipwright::Manual::CustomizeBuild(3)
Impressum