Perl-Dist-WiX

 view release on metacpan or  search on metacpan

lib/Perl/Dist/WiX/Asset/Perl.pm  view on Meta::CPAN

		$self->_trace_line( 1, "Building perl $version...\n" );
		$self->_make();

		# Get information required for testing and installing perl.
		my $force = $self->_get_force();
		my $long_build =
		  Win32::GetLongPathName( rel2abs( $self->_get_build_dir() ) );

		# Warn about problem with testing perl 5.10.0
		if (   ( not $force )
			&& ( $long_build =~ /\s/ms )
			&& ( $self->_get_pv_human() eq '5.10.0' ) )
		{
			$force = 1;
			$self->_trace_line( 0, <<"EOF");
***********************************************************
* Perl 5.10.0 cannot be tested at this point.
* Because the build directory
* $long_build
* contains spaces when it becomes a long name,
* testing the CPANPLUS module fails in 
* lib/CPANPLUS/t/15_CPANPLUS-Shell.t
* 
* You may wish to build perl within a directory
* that does not contain spaces by setting the build_dir
* (or temp_dir, which sets the build_dir indirectly if
* build_dir is not specified) parameter to new to a 
* directory that does not contain spaces.
*
* -- csjewell\@cpan.org
***********************************************************
EOF
		} ## end if ( ( not $force ) &&...)

		# Testing perl if requested.
		if ( not $force ) {
			local $ENV{PERL_SKIP_TTY_TEST} = 1;
			$self->_trace_line( 1, "Testing perl...\n" );
			$self->_make('test');
		}

		# Installing perl.
		$self->_trace_line( 1, "Installing perl...\n" );
		$self->_make(qw/install UNINST=1/);
	} ## end SCOPE:

	# If using gcc4, copy the helper dll into perl's bin directory.
	if ( 4 == $self->_gcc_version() ) {
		$self->_copy(
			catfile(
				$self->_get_image_dir(), 'c',
				'bin',                   'libgcc_s_sjlj-1.dll'
			),
			catfile(
				$self->_get_image_dir(), 'perl',
				'bin',                   'libgcc_s_sjlj-1.dll'
			),
		);
	} ## end if ( 4 == $self->_gcc_version...)

	# Delete a2p.exe if relocatable (Can't relocate a binary).
	if ( $self->_relocatable() ) {
		unlink catfile( $self->_get_image_dir(), 'perl', 'bin', 'a2p.exe' )
		  or PDWiX->throw("Could not delete a2p.exe\n");
	}

	# Create the perl_licenses fragment.
	my $fl_lic = File::List::Object->new()
	  ->readdir( catdir( $self->_get_image_dir(), 'licenses', 'perl' ) );
	$self->_insert_fragment( 'perl_licenses', $fl_lic );

	# Now create the perl fragment.
	my $fl = File::List::Object->new()
	  ->readdir( catdir( $self->_get_image_dir(), 'perl' ) );
	$fl->subtract($fl2)->filter( $self->_filters );
	$self->_insert_fragment( 'perl', $fl, 1 );

	return 1;
} ## end sub install

no Moose;
__PACKAGE__->meta->make_immutable;

1;

__END__

=head1 SUPPORT

Bugs should be reported via the CPAN bug tracker at

L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Perl-Dist-WiX>

For other issues, contact the author.

=head1 AUTHOR

Curtis Jewell E<lt>csjewell@cpan.orgE<gt>

Adam Kennedy E<lt>adamk@cpan.orgE<gt>

=head1 SEE ALSO

L<Perl::Dist::WiX|Perl::Dist::WiX>, 
L<Perl::Dist::WiX::Role::Asset|Perl::Dist::WiX::Role::Asset>

=head1 COPYRIGHT

Copyright 2009 - 2010 Curtis Jewell.

Copyright 2007 - 2009 Adam Kennedy.

This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the
LICENSE file included with this module.

=cut



( run in 1.388 second using v1.01-cache-2.11-cpan-5511b514fd6 )