summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/vos
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2002-10-27 22:15:15 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2002-10-27 22:15:15 +0000
commit74cfb115ac810480c0000dc742b20383c1578bac (patch)
tree316d96e5123617976f1637b143570c309a662045 /gnu/usr.bin/perl/vos
parent453ade492b8e06c619009d6cd52a85cb04e8cf17 (diff)
stock perl 5.8.0 from CPAN
Diffstat (limited to 'gnu/usr.bin/perl/vos')
-rw-r--r--gnu/usr.bin/perl/vos/Changes25
-rw-r--r--gnu/usr.bin/perl/vos/Makefile21
-rw-r--r--gnu/usr.bin/perl/vos/compile_full_perl.cm38
-rw-r--r--gnu/usr.bin/perl/vos/configure_full_perl.sh21
-rw-r--r--gnu/usr.bin/perl/vos/make_full_perl.sh3
-rw-r--r--gnu/usr.bin/perl/vos/vos.c58
-rw-r--r--gnu/usr.bin/perl/vos/vosish.h13
7 files changed, 178 insertions, 1 deletions
diff --git a/gnu/usr.bin/perl/vos/Changes b/gnu/usr.bin/perl/vos/Changes
index 8181c7af2ef..98bab9dbd85 100644
--- a/gnu/usr.bin/perl/vos/Changes
+++ b/gnu/usr.bin/perl/vos/Changes
@@ -1,7 +1,30 @@
This file documents the changes made to port Perl to the Stratus
VOS operating system.
-For 5.6.1:
+For 5.8.0:
+ Updated "config.alpha.def", "config.ga.def", "build.cm", and
+ "install_perl.cm" to use directory naming conventions that
+ are closer to the perl standard directory names.
+
+ Added "compile_full_perl.cm", "configure_full_perl.sh" and
+ "make_full_perl.sh" for building full perl.
+
+ For the first time, full perl can now be built on VOS using
+ its native Configure script and makefiles. See README.vos
+ for details.
+
+For 5.7.1:
+ Updated "build.cm" and "compile_perl.cm" to build perl using
+ either cc or gcc.
+ Brought "config.alpha.def" and "config.ga.def" up-to-date.
+ Updated "configure_perl.cm" to rebuild the header file even if
+ the date of the definitions file is equal to the date of
+ the header, because the perl distribution resets all dates
+ to the same value.
+ Update "Changes".
+ Update "perl.bind".
+
+For 5.7:
Updated "build.cm" to build perl using either the alpha or GA
version of POSIX.
Updated "Changes".
diff --git a/gnu/usr.bin/perl/vos/Makefile b/gnu/usr.bin/perl/vos/Makefile
new file mode 100644
index 00000000000..ad19bfe5bba
--- /dev/null
+++ b/gnu/usr.bin/perl/vos/Makefile
@@ -0,0 +1,21 @@
+#
+# This Makefile can be used to update the config.alpha.h and
+# config.ga.h files *in UNIX* (in VOS the configure_perl.cm
+# is used). Update the config.*.def files appropriately when
+# you add new symbols to Configure. If you don't know VOS,
+# most of the time a safe guess for a symbol is 'undef'.
+#
+
+all: config.alpha.h config.ga.h
+
+config.alpha.h: config.alpha.def ../config_h.SH ../mv-if-diff
+ cp config.alpha.def config.def
+ perl config.pl
+ sh ../mv-if-diff config.h.new config.alpha.h
+ rm -f config.def config.h.new
+
+config.ga.h: config.ga.def ../config_h.SH ../mv-if-diff
+ cp config.ga.def config.def
+ perl config.pl
+ sh ../mv-if-diff config.h.new config.ga.h
+ rm -f config.def config.h.new
diff --git a/gnu/usr.bin/perl/vos/compile_full_perl.cm b/gnu/usr.bin/perl/vos/compile_full_perl.cm
new file mode 100644
index 00000000000..9af1a87cde5
--- /dev/null
+++ b/gnu/usr.bin/perl/vos/compile_full_perl.cm
@@ -0,0 +1,38 @@
+& This command macro builds and tests full perl using
+& the native perl build scripts. The prerequsites for
+& using this macro are a VOS Continuum system running
+& VOS Release 14.5.0 and VOS GNU C/C++ and GNU Tools 2.0.1.
+&
+& Written 02-05-05 by Paul Green (Paul.Green@stratus.com)
+&
+&begin_parameters
+ debug_sw switch(-debug)
+&end_parameters
+&echo command_lines
+&
+!add_library_path command (master_disk)>system>gnu_library>bin &+
+ -after '(current_dir)'
+&
+&if (process_type) = interactive
+&then !set_terminal_parameters -pause_lines 0
+&
+&set_string release (before (after (module_info system_release) 'VOS Release ') ' ')
+&if &release& < '14.5'
+&then &do
+ &display_line You must be running VOS Release 14.5.0 or later to use this macro.
+ &return e$wrong_version
+&end
+&
+&if ^ (exists -directory (master_disk)>system>gnu_library>lib>perl5)
+&then &do
+ &display_line You must have S877 - GNU C/C++ and GNU Tools Release 2.0.1 to use this macro.
+ &return e$wrong_version
+&end
+&
+!change_current_dir <
+&
+&if &debug_sw&
+&then !bash vos/configure_full_perl.sh -DDEBUGGING -Doptimize=-g
+&else !bash vos/configure_full_perl.sh
+&
+!bash vos/make_full_perl.sh
diff --git a/gnu/usr.bin/perl/vos/configure_full_perl.sh b/gnu/usr.bin/perl/vos/configure_full_perl.sh
new file mode 100644
index 00000000000..28eab52513f
--- /dev/null
+++ b/gnu/usr.bin/perl/vos/configure_full_perl.sh
@@ -0,0 +1,21 @@
+# Configure environment variables for perl build.
+declare -x AWK="/system/gnu_library/bin/gawk.pm"
+export AWK
+declare -x CC="/system/gnu_library/bin/gcc.pm"
+export CC
+declare -x CPP="$CC $CPPFLAGS -E"
+export CPP
+declare -x CPPFLAGS="-D_POSIX_SOURCE=199506L -D_SYSV"
+export CPPFLAGS
+declare -x CONFIG_SHELL="bash"
+export CONFIG_SHELL
+declare -x LD="/system/gnu_library/bin/gcc.pm"
+export LD
+declare -x MAKE="/system/gnu_library/bin/gmake.pm"
+export MAKE
+declare -x RANLIB=":"
+export RANLIB
+declare -x SHELL="/system/gnu_library/bin/bash.pm"
+export SHELL
+#
+bash Configure -Dusedevel -des
diff --git a/gnu/usr.bin/perl/vos/make_full_perl.sh b/gnu/usr.bin/perl/vos/make_full_perl.sh
new file mode 100644
index 00000000000..8abdafc78bd
--- /dev/null
+++ b/gnu/usr.bin/perl/vos/make_full_perl.sh
@@ -0,0 +1,3 @@
+# This macro makes full perl and runs its test scripts
+gmake
+gmake test
diff --git a/gnu/usr.bin/perl/vos/vos.c b/gnu/usr.bin/perl/vos/vos.c
new file mode 100644
index 00000000000..9876d705b4a
--- /dev/null
+++ b/gnu/usr.bin/perl/vos/vos.c
@@ -0,0 +1,58 @@
+/* Beginning of modification history */
+/* Written 02-01-02 by Nick Ing-Simmons (nick@ing-simmons.net) */
+/* Modified 02-03-27 by Paul Green (Paul.Green@stratus.com) to
+ add socketpair() dummy. */
+/* Modified 02-04-24 by Paul Green (Paul.Green@stratus.com) to
+ have pow(0,0) return 1, avoiding c-1471. */
+/* End of modification history */
+
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+/* VOS doesn't supply a truncate function, so we build one up
+ from the available POSIX functions. */
+
+int
+truncate(const char *path, off_t len)
+{
+ int fd = open(path,O_WRONLY);
+ int code = -1;
+ if (fd >= 0) {
+ code = ftruncate(fd,len);
+ close(fd);
+ }
+ return code;
+}
+
+/* VOS doesn't implement AF_UNIX (AF_LOCAL) style sockets, and
+ the perl emulation of them hangs on VOS (due to stcp-1257),
+ so we supply this version that always fails. */
+
+int
+socketpair (int family, int type, int protocol, int fd[2]) {
+ fd[0] = 0;
+ fd[1] = 0;
+ errno = ENOSYS;
+ return -1;
+}
+
+/* Supply a private version of the power function that returns 1
+ for x**0. This avoids c-1471. Abigail's Japh tests depend
+ on this fix. We leave all the other cases to the VOS C
+ runtime. */
+
+double s_crt_pow(double *x, double *y);
+
+double pow(x,y)
+double x, y;
+{
+ if (y == 0e0) /* c-1471 */
+ {
+ errno = EDOM;
+ return (1e0);
+ }
+
+ return(s_crt_pow(&x,&y));
+}
diff --git a/gnu/usr.bin/perl/vos/vosish.h b/gnu/usr.bin/perl/vos/vosish.h
index d6000656983..dfddd31fd7b 100644
--- a/gnu/usr.bin/perl/vos/vosish.h
+++ b/gnu/usr.bin/perl/vos/vosish.h
@@ -1 +1,14 @@
+#ifdef __GNUC__
+#include "../unixish.h"
+#else
#include "unixish.h"
+#endif
+
+/* The following declaration is an avoidance for posix-950. */
+extern int ioctl (int fd, int request, ...);
+
+/* Specify a prototype for truncate() since we are supplying one. */
+extern int truncate (const char *path, off_t len);
+
+/* Specify a prototype for socketpair() since we supplying one. */
+extern int socketpair (int family, int type, int protocol, int fd[2]);