Shipwright::Manual::CuUseriContributed PeShipwright::Manual::CustomizeBuild(3)NAMEShipwright::Manual::CustomizeBuild - Customize the build method for a
source
DESCRIPTION
There are currently two ways to build a source: through a perl script
(scripts/foo/build.pl) which allows for heavy customization, or using a
list of tagged commands (scripts/foo/build), which is simpler but less
customizable.
scripts/foo/build.pl has higher precedence, so if both
scripts/foo/build.pl and scripts/foo/build exist, the former will be
used.
build.pl
When executing build.pl for the source foo, the current working
directory will be dists/foo
The script will be run with a list of arguments (the format is designed
to be easily extracted with Getopt::Long):
--install-base=s
The base directory where the vessel is to be built to.
e.g. "--install-base '/tmp/test-xxxxxx/test'"
--flags=s
A list of flags, joined by comma. (See
Shipwright::Manual::UsingFlags for more information.)
e.g. "--flags default,mysql"
--skip-test
Whether to skip running tests or not.
--force
If any test fails, whether to go on or just die.
--clean
If run with this argument, the script should do the "clean" work
instead of the "install" work.
build
This is a text file; each line should be either blank or use the format
"type: command". The command will be executed line by line, and the
current working directory for building the source foo will be
dists/foo.
In a normal build script, the following types of commands are
specified: configure, make, install, clean, and sometimes test. Their
functions should be self-explanatory for anyone familiar with building
perl modules.
Four template substitutions are available for use in the command:
"%%PERL%%", "%%PERL_ARCHNAME%%", "%%INSTALL_BASE%%" and "%%MAKE%%".
These can be used in cases where the path to perl, the perl archname
(e.g. 'i486-linux-gnu-thread-multi'), the base install path or make
command are needed, since they are not known beforehand or need to
choose one later.
There are two special types: "test" and "clean".
test
If executed with "--skip-test", this command won't be executed. If
executed with "--force", even if this command fails the build will
continue.
clean
If executed with "--clean", all commands will be skipped except
this one.
SEE ALSO
Shipwright, Shipwright::Manual
AUTHORS
sunnavy "<sunnavy@bestpractical.com>"
LICENCE AND COPYRIGHT
Shipwright is Copyright 2007-2011 Best Practical Solutions, LLC.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.14.12011-04Shipwright::Manual::CustomizeBuild(3)