MarpaX-Languages-C-AST
view release on metacpan or search on metacpan
examples/h2xs.PL view on Meta::CPAN
if (@vdecls) {
printf PM "our(@{[ join ', ', map '$'.$_, @vdecls ]});\n\n";
}
print PM autoload ($module, $compat_version) unless $opt_c or $opt_X;
if( ! $opt_X ){ # print bootstrap, unless XS is disabled
if ($use_Dyna) {
$tmp = <<"END";
bootstrap $module \$VERSION;
END
} else {
$tmp = <<"END";
require XSLoader;
XSLoader::load('$module', \$VERSION);
END
}
$tmp =~ s:\$VERSION:\$XS_VERSION:g if $opt_B;
print PM $tmp;
}
# tying the variables can happen only after bootstrap
if (@vdecls) {
printf PM <<END;
{
@{[ join "\n", map " _tievar_$_(\$$_);", @vdecls ]}
}
END
}
my $after;
if( $opt_P ){ # if POD is disabled
$after = '__END__';
}
else {
$after = '=cut';
}
print PM <<"END";
# Preloaded methods go here.
END
print PM <<"END" unless $opt_A;
# Autoload methods go after $after, and are processed by the autosplit program.
END
print PM <<"END";
1;
__END__
END
my ($email,$author,$licence);
eval {
my $username;
($username,$author) = (getpwuid($>))[0,6];
if (defined $username && defined $author) {
$author =~ s/,.*$//; # in case of sub fields
my $domain = $Config{'mydomain'};
$domain =~ s/^\.//;
$email = "$username\@$domain";
}
};
$author =~ s/'/\\'/g if defined $author;
$author ||= "A. U. Thor";
$email ||= 'a.u.thor@a.galaxy.far.far.away';
$licence = sprintf << "DEFAULT", $^V;
Copyright (C) ${\(1900 + (localtime) [5])} by $author
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version %vd or,
at your option, any later version of Perl 5 you may have available.
DEFAULT
my $revhist = '';
$revhist = <<EOT if $opt_C;
#
#=head1 HISTORY
#
#=over 8
#
#=item $TEMPLATE_VERSION
#
#Original version; created by h2xs $H2XS_VERSION with options
#
# @ARGS
#
#=back
#
EOT
my $exp_doc = $skip_exporter ? '' : <<EOD;
#
#=head2 EXPORT
#
#None by default.
#
EOD
if (@const_names and not $opt_P) {
$exp_doc .= <<EOD unless $skip_exporter;
#=head2 Exportable constants
#
# @{[join "\n ", @const_names]}
#
EOD
}
if (defined $fdecls and @$fdecls and not $opt_P) {
$exp_doc .= <<EOD unless $skip_exporter;
#=head2 Exportable functions
#
EOD
( run in 2.256 seconds using v1.01-cache-2.11-cpan-96521ef73a4 )