summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.Merijn Brand <h.m.brand@xs4all.nl>2002-10-27 06:02:21 +0000
committerH.Merijn Brand <h.m.brand@xs4all.nl>2002-10-27 06:02:21 +0000
commit7f1be197b379d10925884de5897372b0bdcbff6d (patch)
tree38aa0d5d855d59425f5bd77ceedb1192fa198fcb
parent294f22c5932794232f480d4b97d1291de8b3ab24 (diff)
downloadperl-7f1be197b379d10925884de5897372b0bdcbff6d.tar.gz
embed.pl doc. (embed.pl reorganization for doc headers)
Wed, 23 Oct 2002; Jarkko Hietaniemi <jhi@iki.fi> With some additional modifications p4raw-id: //depot/perl@18067
-rwxr-xr-xembed.pl129
1 files changed, 41 insertions, 88 deletions
diff --git a/embed.pl b/embed.pl
index 74abb17bad..548294a38e 100755
--- a/embed.pl
+++ b/embed.pl
@@ -10,6 +10,40 @@ require 5.003; # keep this compatible, an old perl is all we may have before
# implicit interpreter context argument.
#
+sub do_not_edit ($)
+{
+ my $file = shift;
+ my $warning = <<EOW;
+
+ $file
+
+ Copyright (c) 1997-2002, Larry Wall
+
+ You may distribute under the terms of either the GNU General Public
+ License or the Artistic License, as specified in the README file.
+
+!!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+This file is built by embed.pl from data in embed.fnc, embed.pl,
+pp.sym, intrpvar.h, perlvars.h and thrdvar.h.
+Any changes made here will be lost!
+
+Edit those files and run 'make regen_headers' to effect changes.
+
+EOW
+
+ if ($file =~ m:\.[ch]$:) {
+$warning =~ s:^: * :gm;
+$warning =~ s: +$::gm;
+$warning =~ s: :/:;
+$warning =~ s:$:/:;
+ }
+ else {
+$warning =~ s:^:# :gm;
+$warning =~ s: +$::gm;
+ }
+ $warning;
+} # do_not_edit
+
open IN, "embed.fnc" or die $!;
# walk table providing an array of components in each line to
@@ -17,7 +51,7 @@ open IN, "embed.fnc" or die $!;
sub walk_table (&@) {
my $function = shift;
my $filename = shift || '-';
- my $leader = shift;
+ my $leader = shift || do_not_edit ($filename);
my $trailer = shift;
my $F;
local *F;
@@ -166,38 +200,8 @@ sub write_global_sym {
$ret;
}
-
-walk_table(\&write_protos, 'proto.h', <<'EOT');
-/*
- * proto.h
- *
- * Copyright (c) 1997-2002, Larry Wall
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is autogenerated from data in embed.pl. Edit that file
- * and run 'make regen_headers' to effect changes.
- */
-
-EOT
-
-walk_table(\&write_global_sym, 'global.sym', <<'EOT');
-#
-# global.sym
-#
-# Copyright (c) 1997-2002, Larry Wall
-#
-# You may distribute under the terms of either the GNU General Public
-# License or the Artistic License, as specified in the README file.
-#
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is autogenerated from data in embed.pl. Edit that file
-# and run 'make regen_headers' to effect changes.
-#
-
-EOT
+walk_table(\&write_protos, "proto.h");
+walk_table(\&write_global_sym, "global.sym");
# XXX others that may need adding
# warnhook
@@ -300,19 +304,7 @@ sub multoff ($$) {
unlink 'embed.h';
open(EM, '> embed.h') or die "Can't create embed.h: $!\n";
-print EM <<'END';
-/*
- * embed.h
- *
- * Copyright (c) 1997-2002, Larry Wall
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
- * perlvars.h and thrdvar.h. Any changes made here will be lost!
- */
+print EM do_not_edit ("embed.h"), <<'END';
/* (Doing namespace management portably in C is really gross.) */
@@ -501,20 +493,7 @@ unlink 'embedvar.h';
open(EM, '> embedvar.h')
or die "Can't create embedvar.h: $!\n";
-print EM <<'END';
-/*
- * embedvar.h
- *
- * Copyright (c) 1997-2002, Larry Wall
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
- * perlvars.h and thrdvar.h. Any changes made here will be lost!
- */
+print EM do_not_edit ("embedvar.h"), <<'END';
/* (Doing namespace management portably in C is really gross.) */
@@ -622,20 +601,7 @@ unlink 'perlapi.c';
open(CAPI, '> perlapi.c') or die "Can't create perlapi.c: $!\n";
open(CAPIH, '> perlapi.h') or die "Can't create perlapi.h: $!\n";
-print CAPIH <<'EOT';
-/*
- * perlapi.h
- *
- * Copyright (c) 1997-2002, Larry Wall
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
- * perlvars.h and thrdvar.h. Any changes made here will be lost!
- */
+print CAPIH do_not_edit ("perlapi.h"), <<'EOT';
/* declare accessor functions for Perl variables */
#ifndef __perlapi_h__
@@ -731,20 +697,7 @@ print CAPIH <<'EOT';
EOT
close CAPIH;
-print CAPI <<'EOT';
-/*
- * perlapi.c
- *
- * Copyright (c) 1997-2002, Larry Wall
- *
- * You may distribute under the terms of either the GNU General Public
- * License or the Artistic License, as specified in the README file.
- *
- *
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
- * perlvars.h and thrdvar.h. Any changes made here will be lost!
- */
+print CAPI do_not_edit ("perlapi.c"), <<'EOT';
#include "EXTERN.h"
#include "perl.h"