Lines Matching full:perl
1 #!/usr/bin/perl -w
4 # buildperl.pl -- build various versions of perl automatically
13 # modify it under the same terms as Perl itself.
35 prefix => '/tmp/perl/install/<config>/<perl>',
36 build => '/tmp/perl/build/<config>',
37 source => '/tmp/perl/source',
69 perl => [
83 perl => [
99 perl => [
107 perl => [
119 perl => [
134 perl => [
145 perl => [
154 my(%perl, @perls);
161 perl=s@
177 @{$opt{perl}} == 1 or die "Exactly one --perl must be given with --patch or --oneshot\n";
178 my $perl = $opt{perl}[0];
179 patch_source($perl) if !exists $opt{patch} || $opt{patch};
183 %current = (config => 'oneshot', version => $perl);
185 build_and_install($perl{$perl});
200 /^(perl-?(5\..*))\.tar\.(gz|bz2|lzma)$/ or return;
201 $perl{$1} = { version => $2, source => $File::Find::name, compress => $3 };
204 if (exists $opt{perl}) {
205 for my $perl (@{$opt{perl}}) {
206 my $p = $perl;
207 exists $perl{$p} or $p = "perl$perl";
208 exists $perl{$p} or $p = "perl-$perl";
209 exists $perl{$p} or die "Cannot find perl: $perl\n";
214 @perls = sort keys %perl;
222 for my $perl (@perls) {
224 my $d = extract_source($perl{$perl});
228 patch_source($perl{$perl}{version});
242 for my $perl (@perls) {
244 %current = (config => $cfg, perl => $perl, version => $perl{$perl}{version});
247 print STDERR "skipping $perl for configuration $cfg (masked)\n";
252 print STDERR "skipping $perl for configuration $cfg (already installed)\n";
262 print STDERR "building $perl with configuration $cfg\n";
263 buildperl($perl, $config);
297 my($perl, $cfg) = @_;
299 my $d = extract_source($perl{$perl});
302 patch_source($perl{$perl}{version});
304 build_and_install($perl{$perl});
312 my $perl = shift;
315 print "${what}ing $perl->{source}\n";
319 for my $f (Archive::Tar->list_archive($perl->{source})) {
321 die "refusing to extract $perl->{source}, as it would not extract to a single directory\n"
332 print "extracting $perl->{source}\n";
334 Archive::Tar->extract_archive($perl->{source})
348 if (is($p->{perl}, $version)) {
359 my $perl = shift;
364 print "building perl $perl->{version} ($current{config})\n";
376 print "\n*** NOT INSTALLING PERL ***\n\n";
532 buildperl.pl - build/install perl distributions
536 perl buildperl.pl [options]
541 [default: /tmp/perl/source]
544 [default: /tmp/perl/build/<config>]
548 /tmp/perl/install/<config>/<perl>]
557 --perl=version build this version of perl [MULTI]
567 --patch only patch the perl source in the current
570 --oneshot build from the perl source in the current
581 <perl> versioned perl directory (e.g. 'perl-5.6.1')
582 <version> perl version (e.g. '5.6.1')
587 The following examples assume that your Perl source tarballs are
588 in F</tmp/perl/source>. If they are somewhere else, use the C<--source>
594 buildperl.pl --prefix='/opt/<perl>' --perl=5.004_05 --config=default
599 buildperl.pl --prefix='/opt/<perl>' --config=debug
601 To build all configurations for perl-5.8.5 and perl-5.8.6, test them
604 buildperl.pl --perl=5.8.5 --perl=5.8.6 --test --noinstall
606 To build and install a single version of perl with special configuration
609 buildperl.pl --perl=5.6.0 --prefix=/opt/p560ld --oneshot -- -des \
617 modify it under the same terms as Perl itself.