summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>1998-10-11 18:13:42 +0000
committermarkm <markm@FreeBSD.org>1998-10-11 18:13:42 +0000
commitc911fd70c534c940fdd93b5c0dcabf8c3ad54224 (patch)
tree5959e16ba79f4e8725d5fb2955cec80f7982a85f /gnu
parent123819c90dfe50bee37e7bdc278fb06d9126fec0 (diff)
downloadFreeBSD-src-c911fd70c534c940fdd93b5c0dcabf8c3ad54224.zip
FreeBSD-src-c911fd70c534c940fdd93b5c0dcabf8c3ad54224.tar.gz
Very substantial debug/improvement of the FreeBSD/Perl5 build.
o make install ; make install now works o make all ; make all is quiet the second time o Dependancies are properliy debugged; this means that make -jN has a far hihjer likelyhood of working. o a proper 'link farm' has been constructed for the build. This dramatically simplifies the dependancy tangle. o for perldoc's use, all the .pod files are installed. o the man3 docs are properly compressed. o the man pages and libary code are installed by the makefiles, not by a perl script. o at the end, h2ph is run.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/perl/Makefile.inc38
-rw-r--r--gnu/usr.bin/perl/miniperl/Makefile4
-rw-r--r--gnu/usr.bin/perl/perl/Makefile160
-rwxr-xr-xgnu/usr.bin/perl/perl/install_perl_libs234
-rw-r--r--gnu/usr.bin/perl/pod/pod/Makefile10
-rw-r--r--gnu/usr.bin/perl/suidperl/Makefile74
-rw-r--r--gnu/usr.bin/perl/utils/h2ph/Makefile7
7 files changed, 166 insertions, 361 deletions
diff --git a/gnu/usr.bin/perl/Makefile.inc b/gnu/usr.bin/perl/Makefile.inc
index eb885a2..46f3d1b 100644
--- a/gnu/usr.bin/perl/Makefile.inc
+++ b/gnu/usr.bin/perl/Makefile.inc
@@ -1,4 +1,4 @@
-# $Id: Makefile.inc,v 1.4 1998/09/12 19:16:32 markm Exp $
+# $Id: Makefile.inc,v 1.5 1998/09/22 12:00:58 markm Exp $
PERL5SRC?= ${.CURDIR}/../../../../contrib/perl5
@@ -25,11 +25,33 @@ CLEANFILES+= ${.OBJDIR}/${I}
DEPEND_H+= ${.OBJDIR}/${I}
.endfor
-lib ext Porting hints:
- @rm -rf ${.TARGET}
- for i in `cd ${PERL5SRC}; find ${.TARGET} -type d` ; do \
- mkdir -p $${i} ;\
- done
- for i in `cd ${PERL5SRC}; find ${.TARGET} -type f` ; do \
- ln -s ${PERL5SRC}/$${i} $${i} ;\
+linkfarm: ${DEPEND_H}
+ @for d in ${CLEANDIRS} ; do \
+ rm -rf $${d} ;\
+ for i in `cd ${PERL5SRC}; find $${d} -type d -a \! -name CVS` ;\
+ do \
+ mkdir -p $${i} ;\
+ done ;\
+ for i in `cd ${PERL5SRC}; find $${d} -type f` ;\
+ do \
+ if [ -d `dirname $${i}` ] ; then \
+ ln -s ${PERL5SRC}/$${i} $${i} ;\
+ fi ;\
+ done ;\
done
+ @mkdir lib/auto
+ @mkdir build
+ @ln -sf ${PERL5SRC}/config_h.SH config_h.sh
+ @ln -sf ${PERL5SRC}/cflags.SH cflags.sh
+ @ln -sf ${PERL5SRC}/ext/re/re.pm lib/re.pm
+ @ln -sf ${PERL5SRC}/myconfig myconfig
+ @ln -sf ${PERL5SRC}/miniperlmain.c miniperlmain.c
+ @ln -sf ${PERL5SRC}/writemain.SH writemain.sh
+ @ln -sf ${PERL5SRC}/regcomp.c regcomp.c
+ @ln -sf ${PERL5SRC}/regexec.c regexec.c
+ @ln -sf ${.CURDIR}/../libperl/config.SH-${OBJFORMAT}.${MACHINE_ARCH} \
+ config.sh
+ @touch ${.TARGET}
+
+CLEANFILES+= linkfarm
+CLEANDIRS+= lib ext Porting hints build
diff --git a/gnu/usr.bin/perl/miniperl/Makefile b/gnu/usr.bin/perl/miniperl/Makefile
index 3b0d6a1..f72e70b 100644
--- a/gnu/usr.bin/perl/miniperl/Makefile
+++ b/gnu/usr.bin/perl/miniperl/Makefile
@@ -1,11 +1,13 @@
#
-# $Id: Makefile,v 1.5 1998/09/23 06:05:28 markm Exp $
+# $Id: Makefile,v 1.6 1998/09/26 16:17:05 markm Exp $
#
PROG= miniperl
NOMAN= true
CFLAGS+=-I${PERL5SRC} -I${.OBJDIR}
SRCS= miniperlmain.c config.h
+# Miniperl _must_ be static!!
+NOSHARED= yes
DPADD= ${LIBPERL} ${LIBM} ${LIBCRYPT}
LDADD= -lperl -lm -lcrypt
diff --git a/gnu/usr.bin/perl/perl/Makefile b/gnu/usr.bin/perl/perl/Makefile
index 0479fbc..6442782 100644
--- a/gnu/usr.bin/perl/perl/Makefile
+++ b/gnu/usr.bin/perl/perl/Makefile
@@ -1,5 +1,5 @@
#
-# $Id: Makefile,v 1.13 1998/09/22 12:00:58 markm Exp $
+# $Id: Makefile,v 1.14 1998/09/23 06:05:28 markm Exp $
#
PROG= perl
@@ -14,10 +14,8 @@ LINKS= ${BINDIR}/${PROG} ${BINDIR}/perl5 \
CLEANFILES= config.h config.sh config_h.sh writemain writemain.sh \
Config.pm cflags cflags.sh myconfig perlmain.c miniperlmain.c \
- ${.OBJDIR}/regcomp.c ${.OBJDIR}/regexec.c
-CLEANDIRS= lib ext Porting hints
-
-.include <bsd.prog.mk>
+ autosplit regcomp.c regexec.c pod2man.PL pod2man ext.libs \
+ man3pages
STATIC_EXT= DynaLoader/DynaLoader
@@ -25,70 +23,46 @@ DYNAMIC_EXT= B/B DB_File/DB_File Data/Dumper/Dumper Fcntl/Fcntl IO/IO \
IPC/SysV/SysV NDBM_File/NDBM_File Opcode/Opcode POSIX/POSIX \
SDBM_File/SDBM_File Socket/Socket attrs/attrs re/re
-#NONXS_EXT= Errno/pm_to_blib
+NONXS_EXT= Errno/pm_to_blib
-${PROG}: Config.pm lib/auto/DynaLoader/DynaLoader.a
+.include <bsd.prog.mk>
-lib/auto/DynaLoader/DynaLoader.a: Config.pm autosplit
+${PROG}: linkfarm Config.pm autosplit lib/auto/DynaLoader/DynaLoader.a
-config.h: config_h.sh config.sh
+config.h: linkfarm
sh config_h.sh
-config.sh: ${.CURDIR}/../libperl/config.SH-${OBJFORMAT}.${MACHINE_ARCH}
- ln -sf ${.OODATE} ${.TARGET}
-
-config_h.sh: config_h.SH
- ln -sf ${.OODATE} ${.TARGET}
-
-cflags.sh: cflags.SH
- ln -sf ${.OODATE} ${.TARGET}
-
-cflags: cflags.sh
- sh ${.OODATE}
+cflags: linkfarm
+ sh cflags.sh
-lib/re.pm: lib ext hints ext/re/re.pm
- cat ${PERL5SRC}/ext/re/re.pm > ${.OBJDIR}/lib/re.pm
-
-lib/Config.pm: Config.pm
- cp -p ${.OODATE} ${.TARGET}
-
-myconfig: ${PERL5SRC}/myconfig
- ln -sf ${.OODATE} ${.TARGET}
-
-Config.pm: myconfig config.sh lib ext hints Porting lib/re.pm
+Config.pm: linkfarm
miniperl ${PERL5SRC}/configpm \
Config.pm Porting/Glossary myconfig config.sh
+ cd lib ; ln -sf ../${.TARGET}
-${.OBJDIR}/miniperlmain.c: miniperlmain.c
- @ln -sf ${.OODATE} ${.TARGET}
-
-perlmain.c: ${.OBJDIR}/miniperlmain.c config.sh writemain config.h
+perlmain.c: linkfarm writemain config.h
sh writemain lib/auto/DynaLoader/DynaLoader.a > ${.TARGET}
-writemain.sh: writemain.SH
- @ln -sf ${.OODATE} ${.TARGET}
-
-writemain: writemain.sh
- sh ${.OODATE}
-
-${.OBJDIR}/regcomp.c: ${PERL5SRC}/regcomp.c
- @ln -sf ${.OODATE} ${.TARGET}
+writemain: linkfarm
+ sh writemain.sh
-${.OBJDIR}/regexec.c: ${PERL5SRC}/regexec.c
- @ln -sf ${.OODATE} ${.TARGET}
-
-autosplit: lib ext Porting hints
+autosplit: linkfarm Config.pm lib/*.pm lib/*/*.pm
miniperl -I${.OBJDIR}/lib \
-e 'use AutoSplit; autosplit_lib_modules(@ARGV)' \
lib/*.pm lib/*/*.pm
+ touch ${.TARGET}
.for I in ${STATIC_EXT}
-lib/auto/${I}.a: ext/${I:H}/Makefile.PL cflags lib/Config.pm ${DEPEND_H}
+ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm
cd ext/${I:H}; \
miniperl -I${.OBJDIR}/lib Makefile.PL \
- INSTALLDIRS=perl PERL_SRC=${.OBJDIR}; \
- make -B config PERL_SRC=${.OBJDIR}; \
- make -B all LINKTYPE=static PERL_SRC=${.OBJDIR}
+ LINKTYPE=static INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
+ LIBS="-lperl" INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3; \
+ make -B config PERL_SRC=${.OBJDIR}
+
+lib/auto/${I}.a: linkfarm ext/${I:H}/Makefile
+ cd ext/${I:H}; \
+ make -B all PERL_SRC=${.OBJDIR}
all: lib/auto/${I}.a
@@ -96,33 +70,85 @@ STATICS+= lib/auto/${I}.a
.endfor
.for I in ${DYNAMIC_EXT}
-lib/auto/${I}.so: ${PROG} ext/${I:H}/Makefile.PL cflags lib/Config.pm \
- ${DEPEND_H} ${.OBJDIR}/regcomp.c ${.OBJDIR}/regexec.c
+ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm pod2man
cd ext/${I:H}; \
miniperl -I${.OBJDIR}/lib Makefile.PL \
- INSTALLDIRS=perl PERL_SRC=${.OBJDIR} LIBS="-lperl"; \
- make -B config PERL_SRC=${.OBJDIR}; \
- make -B all LINKTYPE=dynamic PERL_SRC=${.OBJDIR}
+ LINKTYPE=dynamic INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
+ LIBS="-lperl" INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3 \
+ INST_LIB=${.OBJDIR}/build/${I:H} \
+ INST_ARCHLIB=${.OBJDIR}/build/${I:H} ;\
+ make -B config PERL_SRC=${.OBJDIR}
+
+
+lib/auto/${I}.so: linkfarm ${PROG} ext/${I:H}/Makefile
+ cd ext/${I:H}; \
+ make -B all PERL_SRC=${.OBJDIR}
all: lib/auto/${I}.so
DYNAMICS+= lib/auto/${I}.so
.endfor
-#.for I in ${NONXS_EXT}
-#lib/auto/${I}: ${PROG} ext/${I:H}/Makefile.PL cflags lib/Config.pm
-# cd ext/${I:H}; \
-# miniperl -I${.OBJDIR}/lib Makefile.PL \
-# INSTALLDIRS=perl PERL_SRC=${.OBJDIR}; \
-# make -B config PERL_SRC=${.OBJDIR}; \
-# make -B all LINKTYPE=nonxs PERL_SRC=${.OBJDIR}
-#
-#NONXSS+= lib/auto/${I}
-#.endfor
+.for I in ${NONXS_EXT}
+ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags lib/Config.pm
+ mkdir -p ${.OBJDIR}/lib/auto/${I:H} ;\
+ cd ext/${I:H} ;\
+ miniperl -I${.OBJDIR}/lib Makefile.PL \
+ INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
+ INSTALLMAN3DIR=/usr/share/perl/man3 \
+ INST_LIB=${.OBJDIR}/lib/auto/${I:H} \
+ INST_ARCHLIB=${.OBJDIR}/lib/auto/${I:H} ;\
+ make -B config PERL_SRC=${.OBJDIR}
-#all: ${DYNAMICS} ${NONXSS}
+lib/auto/${I}: linkfarm ${PROG} ext/${I:H}/Makefile
+ cd ext/${I:H}; \
+ make -B all LINKTYPE=nonxs PERL_SRC=${.OBJDIR}
+
+NONXSS+= lib/auto/${I}
+.endfor
+
+pod2man: Config.pm autosplit ${PERL5SRC}/pod/pod2man.PL
+ ln -sf ${PERL5SRC}/pod/pod2man.PL
+ miniperl -I${.OBJDIR}/lib pod2man.PL
+
+man3pages: pod2man
+ cd ${.OBJDIR}/lib ;\
+ for i in `find . -name \*.pm | grep -v Functions.pm` ; do \
+ j=`echo $$i | sed -e 's|./||' -e 's|/|::|g' -e 's|.pm|.3|'` ;\
+ echo Manifying $$j ;\
+ miniperl -I${.OBJDIR}/lib ${.OBJDIR}/pod2man $$i > $$j ;\
+ gzip -fn $$j ;\
+ done
+ cd ${.OBJDIR}/ext ;\
+ for i in `find . -name \*.pm -o -name \*.pod | grep -v POSIX.pm` ; do \
+ j=`echo $$i | sed -e 's|./||' -e 's|/SysV/|/IPC/|' \
+ -e 's|/Dumper/|/Data/|' -e 's|/lib/|/|' \
+ -e 's|^[^/]*/||' \
+ -e 's|/|::|g' -e 's|.pm|.3|' -e 's|.pod|.3|'`;\
+ i=`echo $$i | sed -e 's|./||'` ;\
+ echo Manifying $$j ;\
+ miniperl -I${.OBJDIR}/lib ${.OBJDIR}/pod2man $$i > ../lib/$$j ;\
+ gzip -fn ../lib/$$j ;\
+ done
+ touch ${.TARGET}
+
+all: man3pages
install:
- miniperl ${.CURDIR}/install_perl_libs -d ${DESTDIR}
+.for I in ${DYNAMIC_EXT}
+ cd ${.OBJDIR}/ext/${I:H} ;\
+ make -B install \
+ INSTALLPRIVLIB=${DESTDIR}/usr/libdata/perl/5.00502 \
+ INSTALLARCHLIB=${DESTDIR}/usr/libdata/perl/5.00502/mach
+.endfor
+ cd ${.OBJDIR}/lib ;\
+ for i in `find . \! -type d \! -name \*.3.gz` ; do \
+ j=`echo $$i|sed -e 's|auto/DynaLoader|mach/auto/DynaLoader|'` ;\
+ ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ $$i ${DESTDIR}/usr/libdata/perl/5.00502/$$j ;\
+ done
+ cd ${.OBJDIR}/lib ;\
+ ${INSTALL} ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
+ *.3.gz ${DESTDIR}/usr/share/perl/man/man3
.PATH: ${PERL5SRC}
diff --git a/gnu/usr.bin/perl/perl/install_perl_libs b/gnu/usr.bin/perl/perl/install_perl_libs
deleted file mode 100755
index 6e03b52..0000000
--- a/gnu/usr.bin/perl/perl/install_perl_libs
+++ /dev/null
@@ -1,234 +0,0 @@
-#!./perl
-
-#
-# This was perl 5.00502's installperl, very thoroughly hacked to only
-# install the perl libraries.
-#
-# $Id: install_perl_libs,v 1.2 1998/09/23 06:05:28 markm Exp $
-#
-
-BEGIN {
- require 5.004;
- @INC = 'lib';
- $ENV{PERL5LIB} = 'lib';
-}
-
-use strict;
-use vars qw($nonono $versiononly $depth $destdir $pod2man @modpods $manpage $mod);
-
-use File::Find;
-use File::Compare;
-use File::Copy ();
-use File::Path ();
-use Config;
-use subs qw(chmod);
-
-while (@ARGV) {
- $nonono = 1 if $ARGV[0] eq '-n';
- $versiononly = 1 if $ARGV[0] eq '-v';
- $destdir = $ARGV[1] if $ARGV[0] eq '-d';
- shift;
-}
-
-umask 022;
-
-# Specify here any .pm files that are actually architecture-dependent.
-# (Those included with XS extensions under ext/ are automatically
-# added later.)
-my %archpms = (
- Config => 1,
-);
-
-find(sub {
- if ("$File::Find::dir/$_" =~ m{^ext/[^/]+/(.*)\.pm$}) {
- (my $pm = $1) =~ s{^lib/}{};
- $archpms{$pm} = 1;
- }
- }, 'ext');
-
-my $ver = $];
-my $patchlevel = substr($ver,3,2);
-die "Patchlevel of perl ($patchlevel)",
- "and patchlevel of config.sh ($Config{'PATCHLEVEL'}) don't match\n"
- if $patchlevel != $Config{'PATCHLEVEL'};
-
-# Fetch some frequently-used items from %Config
-my $installprivlib = $destdir . $Config{installprivlib};
-my $installarchlib = $destdir . $Config{installarchlib};
-my $man1dir = $destdir . $Config{man1dir};
-my $man1ext = $Config{man1ext};
-my $man3dir = $destdir . '/usr/share/perl/man/man3';
-my $man3ext = $Config{man3ext};
-my $libperl = $Config{libperl};
-# Shared library and dynamic loading suffixes.
-my $dlext = $Config{dlext};
-
-# Install library files.
-
-my ($do_installarchlib, $do_installprivlib) = (0, 0);
-
-if (chdir "lib") {
- $do_installarchlib = ! samepath($installarchlib, '.');
- $do_installprivlib = ! samepath($installprivlib, '.');
- $do_installprivlib = 0 if $versiononly && !($installprivlib =~ m/\Q$]/);
-
- if ($do_installarchlib || $do_installprivlib) {
- find(\&installlib, '.');
- }
- chdir ".." || die "Can't cd back to source directory: $!\n";
-}
-else {
- warn "Can't cd to lib to install lib files: $!\n";
-}
-
-# Install header files and libraries.
-my @corefiles;
-@corefiles = <*.h libperl*.*>;
-foreach my $file (@corefiles) {
- copy($file,"$installarchlib/CORE/$file")
- and chmod($file =~ /\.(so|\Q$dlext\E)$/ ? 0555 : 0444,
- "$installarchlib/CORE/$file");
-}
-
-runpod2man('lib', $man3dir, $man3ext);
-
-print STDERR " Installation complete\n";
-
-exit 0;
-
-###############################################################################
-
-sub chmod {
- my($mode,$name) = @_;
-
- return if ($^O eq 'dos');
- printf STDERR " chmod %o %s\n", $mode, $name;
- CORE::chmod($mode,$name)
- || warn sprintf("Couldn't chmod %o %s: $!\n", $mode, $name)
- unless $nonono;
-}
-
-sub copy {
- my($from,$to) = @_;
-
- print STDERR " cp $from $to\n";
- File::Copy::copy($from, $to)
- || warn "Couldn't copy $from to $to: $!\n"
- unless $nonono;
-}
-
-sub samepath {
- my($p1, $p2) = @_;
-
- if ($p1 ne $p2) {
- my($dev1, $ino1, $dev2, $ino2);
- ($dev1, $ino1) = stat($p1);
- ($dev2, $ino2) = stat($p2);
- ($dev1 == $dev2 && $ino1 == $ino2);
- }
- else {
- 1;
- }
-}
-
-sub installlib {
- my $dir = $File::Find::dir;
- $dir =~ s#^\.(?![^/])/?##;
- local($depth) = $dir ? "lib/$dir" : "lib";
-
- my $name = $_;
-
- if ($name eq 'CVS' && -d $name) {
- $File::Find::prune = 1;
- return;
- }
-
- # ignore patch backups and the .exists files.
- return if $name =~ m{\.orig$|~$|^\.exists};
-
- $name = "$dir/$name" if $dir ne '';
-
- my $installlib = $installprivlib;
- if ($dir =~ /^auto/ ||
- ($name =~ /^(.*)\.(?:pm|pod)$/ && $archpms{$1}) ||
- ($name =~ /^(.*)\.(?:h|lib)$/i)
- ) {
- $installlib = $installarchlib;
- return unless $do_installarchlib;
- } else {
- return unless $do_installprivlib;
- }
-
- if (-f $_) {
- if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$] && $archpms{$1})) {
- $installlib = $installprivlib;
- }
- copy($_, "$installlib/$name")
- and chmod($name =~ /\.(so|$dlext)$/o ? 0555 : 0444,
- "$installlib/$name");
- }
-}
-
-sub runpod2man {
- my($poddir, $mandir, $manext) = @_;
-
- my($builddir) = Cwd::getcwd();
- my($zipman) = "gzip -f";
-
- if ($mandir eq ' ' or $mandir eq '') {
- print STDERR "Skipping installation of $poddir man pages.\n";
- return;
- }
-
- print STDERR "chdir $poddir\n";
- chdir $poddir || die "Unable to cd to $poddir directory!\n$!\n";
-
- -r "../../pod/pod2man" || die "Executable pod/pod2man not found.\n";
- $pod2man = "miniperl -I lib ../../pod/pod2man/pod2man --section=$manext --official";
-
- @modpods = ();
- find(\&lsmodpods, '.');
- foreach $mod (@modpods) {
- $manpage = $mod;
- my $tmp;
- # Skip .pm files that have corresponding .pod files, and Functions.pm.
- next if (($tmp = $mod) =~ s/\.pm$/.pod/ && -f $tmp);
- next if ($mod eq 'Pod/Functions.pm'); #### Used only by pod itself
- # Convert name from File/Basename.pm to File::Basename.3 format,
- # if necessary.
- $manpage =~ s#\.p(m|od)$##;
- $manpage =~ s#/#::#g;
- $tmp = $destdir ."${mandir}/${manpage}.tmp";
- $manpage = $destdir . "${mandir}/${manpage}.${manext}";
- if (&cmd("$pod2man $mod > $tmp") == 0 && -s $tmp) {
- if (!$nonono) {
- print STDERR "Compressing $manpage\n";
- rename($tmp, $manpage) && system($zipman, $manpage) && next;
- }
- else {
- unlink($tmp);
- }
- }
- }
- chdir "$builddir" || die "Unable to cd back to $builddir directory!\n$!\n";
- print STDERR "chdir $builddir\n";
-}
-
-sub lsmodpods {
- my $dir = $File::Find::dir;
- my $name = $File::Find::name;
- if (-f $_) {
- $name =~ s#^\./##;
- push(@modpods, $name) if ($name =~ /\.p(m|od)$/);
- }
-}
-
-sub cmd {
- my($cmd) = @_;
- print STDERR " $cmd\n";
- unless ($nonono) {
- system $cmd;
- warn "Command failed!!\n" if $?;
- }
- return $? != 0;
-}
diff --git a/gnu/usr.bin/perl/pod/pod/Makefile b/gnu/usr.bin/perl/pod/pod/Makefile
index 07636c6..92062b8 100644
--- a/gnu/usr.bin/perl/pod/pod/Makefile
+++ b/gnu/usr.bin/perl/pod/pod/Makefile
@@ -1,5 +1,5 @@
#
-# $Id$
+# $Id: Makefile,v 1.1 1998/09/09 07:20:27 markm Exp $
#
PODS= perl.pod perl5004delta.pod perlapio.pod perlbook.pod perlbot.pod \
@@ -26,9 +26,11 @@ MAN1+= ${I}.1
CLEANFILES+= ${.OBJDIR}/${I}.pod ${I}.1
.endfor
-test:
- echo ${MAN1}
-
.include <bsd.prog.mk>
+install:
+ cd ${PERL5SRC}/pod ;\
+ ${INSTALL} ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
+ ${PODS} ${DESTDIR}/usr/libdata/perl/5.00502/pod
+
.PATH: ${PERL5SRC}/pod
diff --git a/gnu/usr.bin/perl/suidperl/Makefile b/gnu/usr.bin/perl/suidperl/Makefile
index 6c4fc6e..5194251 100644
--- a/gnu/usr.bin/perl/suidperl/Makefile
+++ b/gnu/usr.bin/perl/suidperl/Makefile
@@ -1,5 +1,5 @@
#
-# $Id: Makefile,v 1.3 1998/09/16 17:25:52 markm Exp $
+# $Id: Makefile,v 1.4 1998/09/22 12:00:58 markm Exp $
#
PROG= suidperl
@@ -13,72 +13,54 @@ BINOWN= root
BINMODE=4511
CLEANFILES= config.h config.sh config_h.sh writemain writemain.sh \
- Config.pm cflags cflags.sh myconfig perlmain.c miniperlmain.c
-CLEANDIRS= lib ext Porting hints
-
-.include <bsd.prog.mk>
+ Config.pm cflags cflags.sh myconfig perlmain.c miniperlmain.c \
+ autosplit regcomp.c regexec.c ext.libs sperl.c
STATIC_EXT= DynaLoader/DynaLoader
-${PROG}: Config.pm lib/auto/DynaLoader/DynaLoader.a
-
-lib/auto/DynaLoader/DynaLoader.a: Config.pm autosplit
-
-config.h: config_h.sh config.sh
- sh config_h.sh
-
-config.sh: ${.CURDIR}/../libperl/config.SH-${OBJFORMAT}.${MACHINE_ARCH}
- ln -sf ${.OODATE} ${.TARGET}
-
-config_h.sh: config_h.SH
- ln -sf ${.OODATE} ${.TARGET}
-
-cflags.sh: cflags.SH
- ln -sf ${.OODATE} ${.TARGET}
+.include <bsd.prog.mk>
-cflags: cflags.sh
- sh ${.OODATE}
+${PROG}: linkfarm Config.pm autosplit lib/auto/DynaLoader/DynaLoader.a
-lib/re.pm: lib ext hints ext/re/re.pm
- cat ${PERL5SRC}/ext/re/re.pm > ${.OBJDIR}/lib/re.pm
+sperl.c: perl.c
+ @ln -sf ${.OODATE} ${.TARGET}
-lib/Config.pm: Config.pm
- cp -p ${.OODATE} ${.TARGET}
+config.h: linkfarm
+ sh config_h.sh
-myconfig: ${PERL5SRC}/myconfig
- ln -sf ${.OODATE} ${.TARGET}
+cflags: linkfarm
+ sh cflags.sh
-Config.pm: myconfig config.sh lib ext hints Porting lib/re.pm
+Config.pm: linkfarm
miniperl ${PERL5SRC}/configpm \
Config.pm Porting/Glossary myconfig config.sh
+ cd lib ; ln -sf ../${.TARGET}
-${.OBJDIR}/miniperlmain.c: miniperlmain.c
- @ln -sf ${.OODATE} ${.TARGET}
-
-sperl.c: perl.c
- @ln -sf ${.OODATE} ${.TARGET}
-
-perlmain.c: ${.OBJDIR}/miniperlmain.c config.sh writemain config.h
+perlmain.c: linkfarm writemain config.h
sh writemain lib/auto/DynaLoader/DynaLoader.a > ${.TARGET}
-writemain.sh: writemain.SH
- @ln -sf ${.OODATE} ${.TARGET}
-
-writemain: writemain.sh
- sh ${.OODATE}
+writemain: linkfarm
+ sh writemain.sh
-autosplit: lib ext Porting hints
+autosplit: linkfarm Config.pm lib/*.pm lib/*/*.pm
miniperl -I${.OBJDIR}/lib \
-e 'use AutoSplit; autosplit_lib_modules(@ARGV)' \
lib/*.pm lib/*/*.pm
+ touch ${.TARGET}
.for I in ${STATIC_EXT}
-lib/auto/${I}.a: cflags lib/Config.pm ${DEPEND_H}
+ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm
cd ext/${I:H}; \
miniperl -I${.OBJDIR}/lib Makefile.PL \
- INSTALLDIRS=perl PERL_SRC=${.OBJDIR}; \
- make -B config PERL_SRC=${.OBJDIR}; \
- make -B all LINKTYPE=static PERL_SRC=${.OBJDIR}
+ LINKTYPE=static INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
+ LIBS="-lperl" INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3; \
+ make -B config PERL_SRC=${.OBJDIR}
+
+lib/auto/${I}.a: linkfarm ext/${I:H}/Makefile
+ cd ext/${I:H}; \
+ make -B all PERL_SRC=${.OBJDIR}
+
+all: lib/auto/${I}.a
STATICS+= lib/auto/${I}.a
.endfor
diff --git a/gnu/usr.bin/perl/utils/h2ph/Makefile b/gnu/usr.bin/perl/utils/h2ph/Makefile
index ea5a195..c22fdb7 100644
--- a/gnu/usr.bin/perl/utils/h2ph/Makefile
+++ b/gnu/usr.bin/perl/utils/h2ph/Makefile
@@ -1,7 +1,12 @@
#
-# $Id$
+# $Id: Makefile,v 1.1 1998/09/09 07:20:29 markm Exp $
#
PROG= h2ph
.include <bsd.prog.mk>
+
+afterinstall:
+ cd ${DESTDIR}/usr/include; \
+ miniperl ${.OBJDIR}/${PROG} -d \
+ ${DESTDIR}/usr/libdata/perl/5.00502/mach * sys/*
OpenPOWER on IntegriCloud