diff options
author | pst <pst@FreeBSD.org> | 1994-10-29 07:14:55 +0000 |
---|---|---|
committer | pst <pst@FreeBSD.org> | 1994-10-29 07:14:55 +0000 |
commit | ceda6f2de6728a053d17786ea8c752e19c1a5952 (patch) | |
tree | e99211ec2b8f3a8bdc824c10d7a4e461915c0d0d /gnu/usr.bin/perl/x2p | |
parent | 600ce2885efbd0e39c9b1d372d5a4633826e6cb7 (diff) | |
download | FreeBSD-src-ceda6f2de6728a053d17786ea8c752e19c1a5952.zip FreeBSD-src-ceda6f2de6728a053d17786ea8c752e19c1a5952.tar.gz |
Test test test! sigh!
Perl's scripts are still trying to execute perl out of /usr/gnu/bin/perl.
The hack Larry was using for h2ph.1 doesn't work with the new macros, so
make it a real man page.
Also, we weren't building the .ph files, add them as an afterinstall rule
in the x2p subdirectory.
Diffstat (limited to 'gnu/usr.bin/perl/x2p')
-rw-r--r-- | gnu/usr.bin/perl/x2p/Makefile | 4 | ||||
-rwxr-xr-x | gnu/usr.bin/perl/x2p/find2perl | 6 | ||||
-rwxr-xr-x | gnu/usr.bin/perl/x2p/h2ph | 7 | ||||
-rwxr-xr-x | gnu/usr.bin/perl/x2p/h2ph.1 | 212 | ||||
-rwxr-xr-x | gnu/usr.bin/perl/x2p/s2p | 11 |
5 files changed, 18 insertions, 222 deletions
diff --git a/gnu/usr.bin/perl/x2p/Makefile b/gnu/usr.bin/perl/x2p/Makefile index 15146d8..2d0531e 100644 --- a/gnu/usr.bin/perl/x2p/Makefile +++ b/gnu/usr.bin/perl/x2p/Makefile @@ -15,5 +15,9 @@ beforeinstall: install -c -o ${BINOWN} -g ${BINGRP} -m 555 ${.CURDIR}/h2ph \ ${DESTDIR}${BINDIR} +afterinstall: + -mkdir -p ${DESTDIR}/usr/share/perl/sys + cd ${DESTDIR}/usr/include ; h2ph * sys/* + .include "../../Makefile.inc" .include <bsd.prog.mk> diff --git a/gnu/usr.bin/perl/x2p/find2perl b/gnu/usr.bin/perl/x2p/find2perl index 6d7f0ad..fd74c3f 100755 --- a/gnu/usr.bin/perl/x2p/find2perl +++ b/gnu/usr.bin/perl/x2p/find2perl @@ -1,9 +1,9 @@ -#!/usr/gnu/bin/perl +#!/usr/bin/perl -eval 'exec /usr/gnu/bin/perl -S $0 ${1+"$@"}' +eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; -$bin = "/usr/gnu/bin"; +$bin = "/usr/bin"; while ($ARGV[0] =~ /^[^-!(]/) { diff --git a/gnu/usr.bin/perl/x2p/h2ph b/gnu/usr.bin/perl/x2p/h2ph index f093626..26c4ec4 100755 --- a/gnu/usr.bin/perl/x2p/h2ph +++ b/gnu/usr.bin/perl/x2p/h2ph @@ -1,10 +1,11 @@ -#!/usr/gnu/bin/perl +#!/usr/bin/perl 'di'; 'ig00'; -$perlincl = '/usr/gnu/lib/perl'; +$destdir = $ENV{'DESTDIR'}; +$perlincl = $destdir . '/usr/share/perl'; -chdir '/usr/include' || die "Can't cd /usr/include"; +chdir $destdir . '/usr/include' || die "Can't cd $destdir/usr/include"; @isatype = split(' ',<<END); char uchar u_char diff --git a/gnu/usr.bin/perl/x2p/h2ph.1 b/gnu/usr.bin/perl/x2p/h2ph.1 index f093626..3ac76f4 100755 --- a/gnu/usr.bin/perl/x2p/h2ph.1 +++ b/gnu/usr.bin/perl/x2p/h2ph.1 @@ -1,215 +1,3 @@ -#!/usr/gnu/bin/perl -'di'; -'ig00'; - -$perlincl = '/usr/gnu/lib/perl'; - -chdir '/usr/include' || die "Can't cd /usr/include"; - -@isatype = split(' ',<<END); - char uchar u_char - short ushort u_short - int uint u_int - long ulong u_long - FILE -END - -@isatype{@isatype} = (1) x @isatype; - -@ARGV = ('-') unless @ARGV; - -foreach $file (@ARGV) { - if ($file eq '-') { - open(IN, "-"); - open(OUT, ">-"); - } - else { - ($outfile = $file) =~ s/\.h$/.ph/ || next; - print "$file -> $outfile\n"; - if ($file =~ m|^(.*)/|) { - $dir = $1; - if (!-d "$perlincl/$dir") { - mkdir("$perlincl/$dir",0777); - } - } - open(IN,"$file") || ((warn "Can't open $file: $!\n"),next); - open(OUT,">$perlincl/$outfile") || die "Can't create $outfile: $!\n"; - } - while (<IN>) { - chop; - while (/\\$/) { - chop; - $_ .= <IN>; - chop; - } - if (s:/\*:\200:g) { - s:\*/:\201:g; - s/\200[^\201]*\201//g; # delete single line comments - if (s/\200.*//) { # begin multi-line comment? - $_ .= '/*'; - $_ .= <IN>; - redo; - } - } - if (s/^#\s*//) { - if (s/^define\s+(\w+)//) { - $name = $1; - $new = ''; - s/\s+$//; - if (s/^\(([\w,\s]*)\)//) { - $args = $1; - if ($args ne '') { - foreach $arg (split(/,\s*/,$args)) { - $arg =~ s/^\s*([^\s].*[^\s])\s*$/$1/; - $curargs{$arg} = 1; - } - $args =~ s/\b(\w)/\$$1/g; - $args = "local($args) = \@_;\n$t "; - } - s/^\s+//; - do expr(); - $new =~ s/(["\\])/\\$1/g; - if ($t ne '') { - $new =~ s/(['\\])/\\$1/g; - print OUT $t, - "eval 'sub $name {\n$t ${args}eval \"$new\";\n$t}';\n"; - } - else { - print OUT "sub $name {\n ${args}eval \"$new\";\n}\n"; - } - %curargs = (); - } - else { - s/^\s+//; - do expr(); - $new = 1 if $new eq ''; - if ($t ne '') { - $new =~ s/(['\\])/\\$1/g; - print OUT $t,"eval 'sub $name {",$new,";}';\n"; - } - else { - print OUT $t,"sub $name {",$new,";}\n"; - } - } - } - elsif (/^include\s+<(.*)>/) { - ($incl = $1) =~ s/\.h$/.ph/; - print OUT $t,"require '$incl';\n"; - } - elsif (/^ifdef\s+(\w+)/) { - print OUT $t,"if (defined &$1) {\n"; - $tab += 4; - $t = "\t" x ($tab / 8) . ' ' x ($tab % 8); - } - elsif (/^ifndef\s+(\w+)/) { - print OUT $t,"if (!defined &$1) {\n"; - $tab += 4; - $t = "\t" x ($tab / 8) . ' ' x ($tab % 8); - } - elsif (s/^if\s+//) { - $new = ''; - do expr(); - print OUT $t,"if ($new) {\n"; - $tab += 4; - $t = "\t" x ($tab / 8) . ' ' x ($tab % 8); - } - elsif (s/^elif\s+//) { - $new = ''; - do expr(); - $tab -= 4; - $t = "\t" x ($tab / 8) . ' ' x ($tab % 8); - print OUT $t,"}\n${t}elsif ($new) {\n"; - $tab += 4; - $t = "\t" x ($tab / 8) . ' ' x ($tab % 8); - } - elsif (/^else/) { - $tab -= 4; - $t = "\t" x ($tab / 8) . ' ' x ($tab % 8); - print OUT $t,"}\n${t}else {\n"; - $tab += 4; - $t = "\t" x ($tab / 8) . ' ' x ($tab % 8); - } - elsif (/^endif/) { - $tab -= 4; - $t = "\t" x ($tab / 8) . ' ' x ($tab % 8); - print OUT $t,"}\n"; - } - } - } - print OUT "1;\n"; -} - -sub expr { - while ($_ ne '') { - s/^(\s+)// && do {$new .= ' '; next;}; - s/^(0x[0-9a-fA-F]+)// && do {$new .= $1; next;}; - s/^(\d+)// && do {$new .= $1; next;}; - s/^("(\\"|[^"])*")// && do {$new .= $1; next;}; - s/^'((\\"|[^"])*)'// && do { - if ($curargs{$1}) { - $new .= "ord('\$$1')"; - } - else { - $new .= "ord('$1')"; - } - next; - }; - s/^sizeof\s*\(([^)]+)\)/{$1}/ && do { - $new .= '$sizeof'; - next; - }; - s/^([_a-zA-Z]\w*)// && do { - $id = $1; - if ($id eq 'struct') { - s/^\s+(\w+)//; - $id .= ' ' . $1; - $isatype{$id} = 1; - } - elsif ($id eq 'unsigned') { - s/^\s+(\w+)//; - $id .= ' ' . $1; - $isatype{$id} = 1; - } - if ($curargs{$id}) { - $new .= '$' . $id; - } - elsif ($id eq 'defined') { - $new .= 'defined'; - } - elsif (/^\(/) { - s/^\((\w),/("$1",/ if $id =~ /^_IO[WR]*$/i; # cheat - $new .= " &$id"; - } - elsif ($isatype{$id}) { - if ($new =~ /{\s*$/) { - $new .= "'$id'"; - } - elsif ($new =~ /\(\s*$/ && /^[\s*]*\)/) { - $new =~ s/\(\s*$//; - s/^[\s*]*\)//; - } - else { - $new .= $id; - } - } - else { - $new .= ' &' . $id; - } - next; - }; - s/^(.)// && do {$new .= $1; next;}; - } -} -############################################################################## - - # These next few lines are legal in both Perl and nroff. - -.00; # finish .ig - -'di \" finish diversion--previous line must be blank -.nr nl 0-1 \" fake up transition to first page again -.nr % 0 \" start at page 1 -'; __END__ ############# From here on it's a standard manual page ############ .TH H2PH 1 "August 8, 1990" .AT 3 .SH NAME diff --git a/gnu/usr.bin/perl/x2p/s2p b/gnu/usr.bin/perl/x2p/s2p index 8a8a74c..c110e5e 100755 --- a/gnu/usr.bin/perl/x2p/s2p +++ b/gnu/usr.bin/perl/x2p/s2p @@ -1,13 +1,16 @@ -#!/usr/gnu/bin/perl +#!/usr/bin/perl -eval 'exec /usr/gnu/bin/perl -S $0 ${1+"$@"}' +eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; -$bin = '/usr/gnu/bin'; +$bin = '/usr/bin'; -# $RCSfile: s2p,v $$Revision: 1.2 $$Date: 1994/03/05 01:28:48 $ +# $RCSfile: s2p,v $$Revision: 1.1.1.1 $$Date: 1994/09/10 06:27:54 $ # # $Log: s2p,v $ +# Revision 1.1.1.1 1994/09/10 06:27:54 gclarkii +# Initial import of Perl 4.046 bmaked +# # Revision 1.2 1994/03/05 01:28:48 ache # 1) Perl uses scrambler crypt() version from libc instead of proper one # from -lcrypt (if exist) |