sub do_not_edit ($)
{
my $file = shift;
+
+ my $years;
+
+ if ($file eq 'embed.h') {
+ $years = '1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004';
+ } elsif ($file eq 'embedvar.h') {
+ $years = '1999, 2000, 2001, 2002, 2003, 2004';
+ } elsif ($file eq 'global.sym') {
+ $years = '1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004';
+ } elsif ($file eq 'perlapi.c') {
+ $years = '1999, 2000, 2001';
+ } elsif ($file eq 'perlapi.h') {
+ $years = '1999, 2000, 2001, 2002, 2003, 2004';
+ } elsif ($file eq 'proto.h') {
+ $years = '1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004';
+ }
+
+ $years =~ s/1999,/1999,\n / if length $years > 40;
+
my $warning = <<EOW;
$file
- Copyright (c) 1997-2003, Larry Wall
+ Copyright (C) $years, by Larry Wall and others
You may distribute under the terms of either the GNU General Public
License or the Artistic License, as specified in the README file.
EOW
+ $warning .= <<EOW if $file eq 'perlapi.c';
+
+Up to the threshold of the door there mounted a flight of twenty-seven
+broad stairs, hewn by some unknown art of the same black stone. This
+was the only entrance to the tower.
+
+
+EOW
+
if ($file =~ m:\.[ch]$:) {
$warning =~ s:^: * :gm;
$warning =~ s: +$::gm;
else {
safer_unlink $filename;
open F, ">$filename" or die "Can't open $filename: $!";
+ binmode F;
$F = \*F;
}
print $F $leader if $leader;
$_ .= <IN>;
chomp;
}
+ s/\s+$//;
my @args;
if (/^\s*(#|$)/) {
@args = $_;
if( $flags =~ /f/ ) {
my $prefix = $flags =~ /n/ ? '' : 'pTHX_';
my $args = scalar @args;
- $ret .= "\n#ifdef CHECK_FORMAT\n";
- $ret .= sprintf " __attribute__((format(printf,%s%d,%s%d)))",
+ $ret .= sprintf "\n\t__attribute__format__(__printf__,%s%d,%s%d)",
$prefix, $args - 1, $prefix, $args;
- $ret .= "\n#endif\n";
}
$ret .= ";";
$ret .= ' */' if $flags =~ /m/;
my $ret = "";
if (@_ > 1) {
my ($flags,$retval,$func,@args) = @_;
- if ($flags =~ /A/ && $flags !~ /[xm]/) { # public API, so export
- $func = "Perl_$func" if $flags =~ /p/;
+ if ($flags =~ /[AX]/ && $flags !~ /[xm]/
+ || $flags =~ /b/) { # public API, so export
+ $func = "Perl_$func" if $flags =~ /[pbX]/;
$ret = "$func\n";
}
}
safer_unlink 'embed.h';
open(EM, '> embed.h') or die "Can't create embed.h: $!\n";
+binmode EM;
print EM do_not_edit ("embed.h"), <<'END';
safer_unlink 'embedvar.h';
open(EM, '> embedvar.h')
or die "Can't create embedvar.h: $!\n";
+binmode EM;
print EM do_not_edit ("embedvar.h"), <<'END';
safer_unlink 'perlapi.h';
safer_unlink 'perlapi.c';
open(CAPI, '> perlapi.c') or die "Can't create perlapi.c: $!\n";
+binmode CAPI;
open(CAPIH, '> perlapi.h') or die "Can't create perlapi.h: $!\n";
+binmode CAPIH;
print CAPIH do_not_edit ("perlapi.h"), <<'EOT';