=head1 NAME Shipwright::Manual::CustomizeBuild - Customize the build method for a distribution =head1 DESCRIPTION There are currently two ways to build a dist: through a perl script (F) which allows for heavy customization, or using a list of tagged commands (F), which is simpler but less customizable. The script F has higher precedence, so if both F and F exist, the former will be used. =head2 build.pl When executing F for the dist I, the current working directory will be F The script will be run with a list of arguments (the format is designed to be easily extracted with L): =over 4 =item --install-base=s The base directory where the vessel is to be built to. e.g. C<--install-base '/tmp/test-xxxxxx/test'> =item --flags=s A list of flags, joined by comma. (See L for more information.) e.g. C<--flags default,mysql> =item --skip-test Whether to skip running tests or not. =item --force If any test fails, whether to go on or just die. =item --clean If run with this argument, the script should do the C work instead of the C work. =back =head2 build This is a text file; each line should be either blank or use the format C. The command will be executed line by line, and the current working directory for building the dist I will be F. 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. Three template substitutions are available for use in the command: %%PERL%%, %%PERL_ARCHNAME%% and %%INSTALL_BASE%%. These can be used in cases where the path to perl, the perl archname (e.g. 'i486-linux-gnu-thread-multi'), or the base install path are needed, since they are not known beforehand. There are two special types: C and C. =over 4 =item test If executed with C<--skip-test>, this command won't be executed. If executed with C<--force>, even if this command fails the build will continue. =item clean If executed with C<--clean>, all commands will be skipped except this one. =back =head1 SEE ALSO L =cut