diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 2002-10-27 22:15:15 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 2002-10-27 22:15:15 +0000 |
commit | 74cfb115ac810480c0000dc742b20383c1578bac (patch) | |
tree | 316d96e5123617976f1637b143570c309a662045 /gnu/usr.bin/perl/vos | |
parent | 453ade492b8e06c619009d6cd52a85cb04e8cf17 (diff) |
stock perl 5.8.0 from CPAN
Diffstat (limited to 'gnu/usr.bin/perl/vos')
-rw-r--r-- | gnu/usr.bin/perl/vos/Changes | 25 | ||||
-rw-r--r-- | gnu/usr.bin/perl/vos/Makefile | 21 | ||||
-rw-r--r-- | gnu/usr.bin/perl/vos/compile_full_perl.cm | 38 | ||||
-rw-r--r-- | gnu/usr.bin/perl/vos/configure_full_perl.sh | 21 | ||||
-rw-r--r-- | gnu/usr.bin/perl/vos/make_full_perl.sh | 3 | ||||
-rw-r--r-- | gnu/usr.bin/perl/vos/vos.c | 58 | ||||
-rw-r--r-- | gnu/usr.bin/perl/vos/vosish.h | 13 |
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]); |