summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2012-11-29 13:17:31 +0100
committerNicholas Clark <nick@ccl4.org>2012-12-14 09:22:40 +0100
commitb6c36746cf4d7234615a50c042561bf21daa51a7 (patch)
tree907603ccbf4be7eedc9d6d790e0752c37171d613
parent476161f6df66100c5d0786092b0320bded84031b (diff)
downloadperl-b6c36746cf4d7234615a50c042561bf21daa51a7.tar.gz
Remove the BeOS port.
BeOS was an operating system for personal computers developed by Be Inc, initially for their BeBox hardware. The OS Haiku was written as an open source replacement/continuation for BeOS, and its perl port is current and actively maintained. The BeOS port has not been updated since 2004.
-rw-r--r--INSTALL2
-rw-r--r--MANIFEST6
-rwxr-xr-xMakefile.SH2
-rwxr-xr-xPorting/perlhist_calculate.pl4
-rw-r--r--README.beos109
-rw-r--r--beos/beos.c67
-rw-r--r--beos/beosish.h38
-rw-r--r--beos/nm.c53
-rw-r--r--ext/DynaLoader/dl_beos.xs133
-rw-r--r--ext/Errno/Errno_pm.PL42
-rw-r--r--ext/File-Glob/t/basic.t2
-rw-r--r--ext/POSIX/POSIX.xs2
-rw-r--r--ext/POSIX/lib/POSIX.pm2
-rw-r--r--hints/beos.sh82
-rw-r--r--lib/perl5db.pl3
-rw-r--r--perl.c11
-rw-r--r--perl.h16
-rw-r--r--perlio.h5
-rw-r--r--pod/perl.pod1
-rw-r--r--pod/perl58delta.pod3
-rw-r--r--pod/perldelta.pod6
-rw-r--r--pod/perlport.pod11
-rw-r--r--t/io/fs.t2
-rw-r--r--t/io/pipe.t4
-rw-r--r--t/op/magic.t3
-rw-r--r--win32/Makefile9
-rw-r--r--win32/makefile.mk9
27 files changed, 33 insertions, 594 deletions
diff --git a/INSTALL b/INSTALL
index eb0a4afbe7..bc92052903 100644
--- a/INSTALL
+++ b/INSTALL
@@ -432,7 +432,7 @@ You can elect to build a shared libperl by
To build a shared libperl, the environment variable controlling shared
library search (LD_LIBRARY_PATH in most systems, DYLD_LIBRARY_PATH for
-NeXTSTEP/OPENSTEP/Darwin, LIBRARY_PATH for BeOS, LD_LIBRARY_PATH/SHLIB_PATH
+NeXTSTEP/OPENSTEP/Darwin, LD_LIBRARY_PATH/SHLIB_PATH
for HP-UX, LIBPATH for AIX, PATH for Cygwin) must be set up to include
the Perl build directory because that's where the shared libperl will
be created. Configure arranges makefile to have the correct shared
diff --git a/MANIFEST b/MANIFEST
index 7958b58e90..d142795e64 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -3,9 +3,6 @@ AUTHORS Contact info for contributors
autodoc.pl Creates pod/perlintern.pod and pod/perlapi.pod
av.c Array value code
av.h Array value header
-beos/beos.c BeOS port
-beos/beosish.h BeOS port
-beos/nm.c BeOS port
cflags.SH A script that emits C compilation flags per file
Changes Describe how to peruse changes between releases
charclass_invlists.h Compiled-in inversion lists
@@ -3700,7 +3697,6 @@ ext/Devel-Peek/Peek.pm Data debugging tool, module and pod
ext/Devel-Peek/Peek.xs Data debugging tool, externals
ext/Devel-Peek/t/Peek.t See if Devel::Peek works
ext/DynaLoader/dl_aix.xs AIX implementation
-ext/DynaLoader/dl_beos.xs BeOS implementation
ext/DynaLoader/dl_dld.xs GNU dld style implementation
ext/DynaLoader/dl_dllload.xs S/390 dllload() style implementation
ext/DynaLoader/dl_dlopen.xs BSD/SunOS4&5 dlopen() style implementation
@@ -4119,7 +4115,6 @@ hints/altos486.sh Hints for named architecture
hints/amigaos.sh Hints for named architecture
hints/atheos.sh Hints for named architecture
hints/aux_3.sh Hints for named architecture
-hints/beos.sh Hints for named architecture
hints/broken-db.msg Warning message for systems with broken DB library
hints/bsdos.sh Hints for named architecture
hints/catamount.sh Hints for named architecture
@@ -4878,7 +4873,6 @@ qnx/qnx.c QNX silent matherr callback
README The Instructions
README.aix Perl notes for AIX
README.amiga Perl notes for AmigaOS
-README.beos Perl notes for BeOS
README.bs2000 Perl notes for POSIX-BC BS2000
README.ce Perl notes for WinCE
README.cn Perl for Simplified Chinese (in EUC-CN)
diff --git a/Makefile.SH b/Makefile.SH
index 220bf70b21..e553777ca8 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -839,7 +839,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LIBPERLEXPORT)
!NO!SUBS!
case "${osname}${osvers}" in
- aix*|beos*)
+ aix*)
$spitshell >>$Makefile <<'!NO!SUBS!'
$(MINIPERL_EXE): $& $(mini_obj)
$(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) $(mini_obj) $(libs)
diff --git a/Porting/perlhist_calculate.pl b/Porting/perlhist_calculate.pl
index 34841b9e72..0d73991993 100755
--- a/Porting/perlhist_calculate.pl
+++ b/Porting/perlhist_calculate.pl
@@ -139,10 +139,6 @@ sub calc_longtable {
print "\n\nTable:\n";
- foreach my $dir (qw(beos)) {
- calc_dir($dir);
- }
-
my $configure_size = int ((-s 'Configure') / 1000);
emit Configure => $configure_size, 1;
diff --git a/README.beos b/README.beos
deleted file mode 100644
index c72c2293a0..0000000000
--- a/README.beos
+++ /dev/null
@@ -1,109 +0,0 @@
-If you read this file _as_is_, just ignore the funny characters you see.
-It is written in the POD format (see pod/perlpod.pod) which is specially
-designed to be readable as is.
-
-=head1 NAME
-
-perlbeos - Perl version 5.8+ on BeOS
-
-=head1 DESCRIPTION
-
-This file contains instructions how to build Perl under BeOS and lists
-known problems.
-
-=head1 BUILD AND INSTALL
-
-=head2 Requirements
-
-I have built and tested Perl 5.8.6 and 5.9.1 under BeOS R5 x86 net server.
-I can't say anything with regard to PPC. Since Perl 5.8.0 had been released
-for BeOS BONE, I suspect, there is a good chance, that it still compiles on
-a BONE system. The only change I've made, that affects BONE systems is the
-recognition of whether it is a BONE system or not in F<hints/beos.sh>. Now
-network socket support should remain enabled on BONE systems. This might
-as well break the build, though.
-
-As more recent versions of autoconf require flock() support, I wrote a flock()
-emulation (flock_server) and released it on BeBits:
-
- http://www.bebits.com/app/4030
-
-If you want to build a Perl with flock() support, you have to install this
-package first.
-
-=head2 Configure
-
-With flock() support:
-
- CFLAGS=-I/path/to/flock/server/headers ./configure.gnu \
- --prefix=/boot/home/config
-
-Replace C</path/to/flock/server/headers> with the path to the directory
-containing the C<flock.h> header.
-
-Without flock() support:
-
- ./configure.gnu --prefix=/boot/home/config
-
-=head2 Build
-
-With flock() support:
-
- make LDLOADLIBS="-lnet -lflock"
-
-Without flock() support:
-
- make LDLOADLIBS="-lnet"
-
-C<-lnet> is needed on net server systems only and if the compiler doesn't
-add it automatically (Be's R5 gcc does, Oliver Tappe's gcc 2.95.3 does not).
-
-=head2 Install
-
-Install all perl files:
-
- make install
-
-Create a symlink for libperl:
-
- cd ~/config/lib; ln -s perl5/5.8.6/BePC-beos/CORE/libperl.so .
-
-Replace C<5.8.6> with your respective version of Perl.
-
-=head1 KNOWN PROBLEMS
-
-=over 4
-
-=item *
-
-Network socket support is disabled for BeOS R5 net server. I didn't dare yet
-to try enabling it and see what problems occur.
-
-=item *
-
-The LFS (large file support) tests (F<t/op/lfs> and F<xt/Fcntl/t/syslfs>) are
-disabled as seeking beyond 2 GB is broken according to jhi@iki.fi who was the
-last one checking the BeOS port and updating this file before me. Haven't
-checked this myself.
-
-=item *
-
-The F<t/io/fflush> test fails at #6. As far as I can tell, this is caused by
-a bug in the BeOS pipes implementation that occurs when starting other child
-processes. In the particular test case a C<system("perl -e 0")> flushes the
-stdout pipe of another child process.
-
-=item *
-
-The F<ext/POSIX/t/waitpid> test fails at #1. After all child processes are
-gone BeOS' waitpid(-1,...) returns 0 instead of -1 (as it should). No idea
-how to fix this.
-
-=back
-
-=head1 CONTACT
-
-For BeOS specifics problems feel free to mail to:
-Ingo Weinhold <bonefish@cs.tu-berlin.de>
-
-Last update: 2004-12-16
diff --git a/beos/beos.c b/beos/beos.c
deleted file mode 100644
index 5769abcdf7..0000000000
--- a/beos/beos.c
+++ /dev/null
@@ -1,67 +0,0 @@
-#include "beos/beosish.h"
-
-#undef waitpid
-#undef kill
-#undef sigaction
-
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/wait.h>
-
-#include <OS.h>
-
-/* In BeOS 5.0 the waitpid() seems to misbehave in that the status
- * has the upper and lower bytes swapped compared with the usual
- * POSIX/UNIX implementations. To undo the surprise effect to the
- * rest of Perl we need this wrapper. (The rest of BeOS might be
- * surprised because of this, though.) */
-
-pid_t beos_waitpid(pid_t process_id, int *status_location, int options) {
- pid_t got = waitpid(process_id, status_location, options);
- if (status_location)
- *status_location =
- (*status_location & 0x00FF) << 8 |
- (*status_location & 0xFF00) >> 8;
- return got;
-}
-
-
-/* BeOS kill() doesn't like the combination of the pseudo-signal 0 and
- * specifying a process group (i.e. pid < -1 || pid == 0). We work around
- * by changing pid to the respective process group leader. That should work
- * well enough in most cases. */
-
-int beos_kill(pid_t pid, int sig)
-{
- if (sig == 0) {
- if (pid == 0) {
- /* it's our process group */
- pid = getpgrp();
- } else if (pid < -1) {
- /* just address the process group leader */
- pid = -pid;
- }
- }
-
- return kill(pid, sig);
-}
-
-/* sigaction() should fail, if trying to ignore or install a signal handler
- * for a signal that cannot be caught or ignored. The BeOS R5 sigaction()
- * doesn't return an error, though. */
-int beos_sigaction(int sig, const struct sigaction *act,
- struct sigaction *oact)
-{
- int result = sigaction(sig, act, oact);
-
- if (result == 0 && act && act->sa_handler != SIG_DFL
- && act->sa_handler != SIG_ERR && (sig == SIGKILL || sig == SIGSTOP)) {
- result = -1;
- errno = EINVAL;
- }
-
- return result;
-}
diff --git a/beos/beosish.h b/beos/beosish.h
deleted file mode 100644
index 7aab15f402..0000000000
--- a/beos/beosish.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef PERL_BEOS_BEOSISH_H
-#define PERL_BEOS_BEOSISH_H
-
-#include "../unixish.h"
-
-#undef waitpid
-#define waitpid beos_waitpid
-
-pid_t beos_waitpid(pid_t process_id, int *status_location, int options);
-
-/* This seems to be protoless. */
-char *gcvt(double value, int num_digits, char *buffer);
-
-/* flock support, if available */
-#ifdef HAS_FLOCK
-
-#include <flock.h>
-
-#undef close
-#define close flock_close
-
-#undef dup2
-#define dup2 flock_dup2
-
-#endif /* HAS_FLOCK */
-
-
-#undef kill
-#define kill beos_kill
-int beos_kill(pid_t pid, int sig);
-
-#undef sigaction
-#define sigaction(sig, act, oact) beos_sigaction((sig), (act), (oact))
-int beos_sigaction(int sig, const struct sigaction *act,
- struct sigaction *oact);
-
-#endif
-
diff --git a/beos/nm.c b/beos/nm.c
deleted file mode 100644
index 4f53f743b2..0000000000
--- a/beos/nm.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* nm.c - a feeble shared-lib library parser
- * Copyright 1997, 1998 Tom Spindler
- * This software is covered under perl's Artistic license.
- */
-
-/* $Id: nm.c,v 1.1 1998/02/16 03:51:26 dogcow Exp $ */
-
-#include <be/kernel/image.h>
-#include <malloc.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-main(int argc, char **argv) {
-char *path, *symname;
-image_id img;
-int32 n = 0;
-volatile int32 symnamelen, symtype;
-void *symloc;
-
-if (argc != 2) { printf("more args, bozo\n"); exit(1); }
-
-path = (void *) malloc((size_t) 2048);
-symname = (void *) malloc((size_t) 2048);
-
-if (!getcwd(path, 2048)) { printf("aiee!\n"); exit(1); }
-if (!strcat(path, "/")) {printf("naah.\n"); exit (1); }
-/*printf("%s\n",path);*/
-
-if ('/' != argv[1][0]) {
- if (!strcat(path, argv[1])) { printf("feh1\n"); exit(1); }
-} else {
- if (!strcpy(path, argv[1])) { printf("gah!\n"); exit(1); }
-}
-/*printf("%s\n",path);*/
-
-img = load_add_on(path);
-if (B_ERROR == img) {printf("Couldn't load_add_on() %s.\n", path); exit(2); }
-
-symnamelen=2047;
-
-while (B_BAD_INDEX != get_nth_image_symbol(img, n++, symname, &symnamelen,
- &symtype, &symloc)) {
- printf("%s |%s |GLOB %Lx | \n", symname,
- ((B_SYMBOL_TYPE_ANY == symtype) || (B_SYMBOL_TYPE_TEXT == symtype)) ? "FUNC" : "VAR ", symloc);
- symnamelen=2047;
-}
-printf("number of symbols: %d\n", n);
-if (B_ERROR == unload_add_on(img)) {printf("err while closing.\n"); exit(3); }
-free(path);
-return(0);
-}
diff --git a/ext/DynaLoader/dl_beos.xs b/ext/DynaLoader/dl_beos.xs
deleted file mode 100644
index 964a34a409..0000000000
--- a/ext/DynaLoader/dl_beos.xs
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * dl_beos.xs, by Tom Spindler
- * based on dl_dlopen.xs, by Paul Marquess
- */
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#include <be/kernel/image.h>
-#include <OS.h>
-#include <stdlib.h>
-#include <limits.h>
-
-#define dlerror() strerror(errno)
-
-#include "dlutils.c" /* SaveError() etc */
-
-static void
-dl_private_init(pTHX)
-{
- (void)dl_generic_private_init(aTHX);
-}
-
-MODULE = DynaLoader PACKAGE = DynaLoader
-
-BOOT:
- (void)dl_private_init(aTHX);
-
-
-void *
-dl_load_file(filename, flags=0)
- char * filename
- int flags
- CODE:
-{ image_id bogo;
- char *path;
- path = malloc(PATH_MAX);
- if (*filename != '/') {
- getcwd(path, PATH_MAX);
- strcat(path, "/");
- strcat(path, filename);
- } else {
- strcpy(path, filename);
- }
-
- DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", path, flags));
- bogo = load_add_on(path);
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) RETVAL));
- ST(0) = sv_newmortal() ;
- if (bogo < 0) {
- SaveError(aTHX_ "%s", strerror(bogo));
- PerlIO_printf(Perl_debug_log, "load_add_on(%s) : %d (%s)\n", path, bogo, strerror(bogo));
- } else {
- RETVAL = (void *) bogo;
- sv_setiv( ST(0), PTR2IV(RETVAL) );
- }
- free(path);
-}
-
-void *
-dl_find_symbol(libhandle, symbolname)
- void * libhandle
- char * symbolname
- CODE:
- status_t retcode;
- void *adr = 0;
-#ifdef DLSYM_NEEDS_UNDERSCORE
- symbolname = Perl_form_nocontext("_%s", symbolname);
-#endif
- RETVAL = NULL;
- DLDEBUG(2, PerlIO_printf(Perl_debug_log,
- "dl_find_symbol(handle=%lx, symbol=%s)\n",
- (unsigned long) libhandle, symbolname));
- retcode = get_image_symbol((image_id) libhandle, symbolname,
- B_SYMBOL_TYPE_TEXT, (void **) &adr);
- RETVAL = adr;
- DLDEBUG(2, PerlIO_printf(Perl_debug_log,
- " symbolref = %lx\n", (unsigned long) RETVAL));
- ST(0) = sv_newmortal() ;
- if (RETVAL == NULL) {
- SaveError(aTHX_ "%s", strerror(retcode)) ;
- PerlIO_printf(Perl_debug_log, "retcode = %p (%s)\n", retcode, strerror(retcode));
- } else
- sv_setiv( ST(0), PTR2IV(RETVAL));
-
-
-void
-dl_undef_symbols()
- PPCODE:
-
-
-
-# These functions should not need changing on any platform:
-
-void
-dl_install_xsub(perl_name, symref, filename="$Package")
- char * perl_name
- void * symref
- const char * filename
- CODE:
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%lx)\n",
- perl_name, (unsigned long) symref));
- ST(0) = sv_2mortal(newRV((SV*)newXS_flags(perl_name,
- (void(*)(pTHX_ CV *))symref,
- filename, NULL,
- XS_DYNAMIC_FILENAME)));
-
-
-char *
-dl_error()
- CODE:
- dMY_CXT;
- RETVAL = dl_last_error ;
- OUTPUT:
- RETVAL
-
-#if defined(USE_ITHREADS)
-
-void
-CLONE(...)
- CODE:
- MY_CXT_CLONE;
-
- /* MY_CXT_CLONE just does a memcpy on the whole structure, so to avoid
- * using Perl variables that belong to another thread, we create our
- * own for this thread.
- */
- MY_CXT.x_dl_last_error = newSVpvn("", 0);
-
-#endif
-
-# end.
diff --git a/ext/Errno/Errno_pm.PL b/ext/Errno/Errno_pm.PL
index 941ee406e3..b7079112bf 100644
--- a/ext/Errno/Errno_pm.PL
+++ b/ext/Errno/Errno_pm.PL
@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker;
use Config;
use strict;
-our $VERSION = "1.17";
+our $VERSION = "1.18";
my %err = ();
my %wsa = ();
@@ -141,7 +141,7 @@ sub get_files {
my $linux_errno_h = -e '/usr/include/errno.h' ?
'/usr/include/errno.h' : '/usr/local/include/errno.h';
$file{$linux_errno_h} = 1;
- } elsif ($^O eq 'beos' || $^O eq 'haiku') {
+ } elsif ($^O eq 'haiku') {
# hidden in a special place
$file{'/boot/develop/headers/posix/errno.h'} = 1;
@@ -233,7 +233,7 @@ sub write_errno_pm {
close(CPPI);
- unless ($^O eq 'beos') { # trust what we have / get later
+ { # BeOS (support now removed) did not enter this block
# invoke CPP and read the output
if ($^O eq 'VMS') {
@@ -274,42 +274,6 @@ sub write_errno_pm {
close(CPPO);
}
- # Many of the E constants (including ENOENT, which is being
- # used in the Perl test suite a lot), are available only as
- # enums in BeOS, so compiling and executing some code is about
- # only way to find out what the numeric Evalues are. In fact above, we
- # didn't even bother to get the values of the ones that have numeric
- # values, since we can get all of them here, anyway.
-
- if ($^O eq 'beos') {
- if (open(C, ">errno.c")) {
- my @allerrs = keys %err;
- print C <<EOF;
-#include <errno.h>
-#include <stdio.h>
-int main() {
-EOF
- for (@allerrs) {
- print C qq[printf("$_ %d\n", $_);]
- }
- print C "}\n";
- close C;
- system("cc -o errno errno.c");
- unlink("errno.c");
- if (open(C, "./errno|")) {
- while (<C>) {
- if (/^(\w+) (-?\d+)$/) { $err{$1} = $2 }
- }
- close(C);
- } else {
- die "failed to execute ./errno: $!\n";
- }
- unlink("errno");
- } else {
- die "failed to create errno.c: $!\n";
- }
- }
-
# escape $Config{'archname'}
my $archname = $Config{'archname'};
$archname =~ s/([@%\$])/\\\1/g;
diff --git a/ext/File-Glob/t/basic.t b/ext/File-Glob/t/basic.t
index 59faffd29b..78710753f9 100644
--- a/ext/File-Glob/t/basic.t
+++ b/ext/File-Glob/t/basic.t
@@ -52,7 +52,7 @@ if (GLOB_ERROR) {
SKIP: {
my ($name, $home);
skip $^O, 1 if $^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'VMS'
- || $^O eq 'os2' || $^O eq 'beos';
+ || $^O eq 'os2';
skip "Can't find user for $>: $@", 1 unless eval {
($name, $home) = (getpwuid($>))[0,7];
1;
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs
index 6d08800264..745cc90c14 100644
--- a/ext/POSIX/POSIX.xs
+++ b/ext/POSIX/POSIX.xs
@@ -548,7 +548,7 @@ const struct lconv_offset lconv_integers[] = {
* as expected. The better solution would be not to use the W*() macros
* in the first place, though. -- Ingo Weinhold
*/
-#if defined(__BEOS__) || defined(__HAIKU__)
+#if defined(__HAIKU__)
# define WMUNGE(x) (((x) & 0xFF00) >> 8 | ((x) & 0x00FF) << 8)
#else
# define WMUNGE(x) (x)
diff --git a/ext/POSIX/lib/POSIX.pm b/ext/POSIX/lib/POSIX.pm
index 3a61b788c5..71577c61f3 100644
--- a/ext/POSIX/lib/POSIX.pm
+++ b/ext/POSIX/lib/POSIX.pm
@@ -4,7 +4,7 @@ use warnings;
our ($AUTOLOAD, %SIGRT);
-our $VERSION = '1.31';
+our $VERSION = '1.32';
require XSLoader;
diff --git a/hints/beos.sh b/hints/beos.sh
deleted file mode 100644
index 1224ec1cc4..0000000000
--- a/hints/beos.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-# BeOS hints file
-
-if [ ! -f beos/nm ]; then mwcc -w all -o beos/nm beos/nm.c 2>/dev/null; fi
-# If this fails, that's all right - it's only for PPC.
-
-prefix="/boot/home/config"
-
-#cpp="mwcc -e"
-
-libpth='/boot/beos/system/lib /boot/home/config/lib'
-usrinc='/boot/develop/headers/posix'
-locinc='/boot/develop/headers/ /boot/home/config/include'
-
-libc='/boot/beos/system/lib/libroot.so'
-libs=' '
-
-d_bcmp='define'
-d_bcopy='define'
-d_bzero='define'
-d_index='define'
-#d_htonl='define' # It exists, but much hackery would be required to support.
-# a bunch of extra includes would have to be added, and it's only used at
-# one place in the non-socket perl code.
-
-#these are all in libdll.a, which my version of nm doesn't know how to parse.
-#if I can get it to both do that, and scan multiple library files, perhaps
-#these can be gotten rid of.
-
-usemymalloc='n'
-# Hopefully, Be's malloc knows better than perl's.
-
-d_link='undef'
-dont_use_nlink='define'
-# no posix (aka hard) links for us!
-
-d_syserrlst='undef'
-# the array syserrlst[] is useless for the most part.
-# large negative numbers really kind of suck in arrays.
-
-# Sockets didn't use to be real sockets but BONE changes this.
-if [ ! -f /boot/develop/headers/be/bone/sys/socket.h ]; then
- d_socket='undef'
- d_gethbyaddr='undef'
- d_gethbyname='undef'
- d_getsbyname='undef'
-
- libs='-lnet'
-fi
-
-# There's a third party flock() emulation. Check, if it is available.
-echo "#include <flock.h>" > try.c
-if cc -E $CFLAGS try.c 2> /dev/null | grep "flock.*("; then
- d_flock='define'
- d_flockproto='define'
- libs="$libs -lflock"
- ldflags="$ldflags -L/boot/home/config/lib"
-else
- cat << 'EOM' >&4
-
-I couldn't find a <flock.h> header defining a flock() prototype. That header
-comes with the flock server package (available on BeBits). You have to add
-the path to the directory containing the header via the environment variable
-CFLAGS (should contain -I</path/to/dir/of/flock/header>). Perl will be compiled
-without flock() support, if the flock server package is not installed or the
-header not found.
-
-EOM
-
-fi
-rm try.c
-
-ld='gcc'
-
-export PATH="$PATH:$PWD/beos"
-
-case "$ldlibpthname" in
-'') ldlibpthname=LIBRARY_PATH ;;
-esac
-
-# the waitpid() wrapper (among other things)
-archobjs="beos.o"
-test -f beos.c || cp beos/beos.c .
diff --git a/lib/perl5db.pl b/lib/perl5db.pl
index 705b920639..f96f63797e 100644
--- a/lib/perl5db.pl
+++ b/lib/perl5db.pl
@@ -523,7 +523,7 @@ BEGIN {
# Debugger for Perl 5.00x; perl5db.pl patch level:
use vars qw($VERSION $header);
-$VERSION = '1.39_05';
+$VERSION = '1.39_06';
$header = "perl5db.pl version $VERSION";
@@ -8755,7 +8755,6 @@ my %_is_in_pods = (map { $_ => 1 }
apio
api
artistic
- beos
book
boot
bot
diff --git a/perl.c b/perl.c
index a6f9c144bd..00c48bd6a7 100644
--- a/perl.c
+++ b/perl.c
@@ -58,10 +58,6 @@ union control_un {
#endif
-#ifdef __BEOS__
-# define HZ 1000000
-#endif
-
#ifndef HZ
# ifdef CLK_TCK
# define HZ CLK_TCK
@@ -325,10 +321,9 @@ perl_construct(pTHXx)
/* Use sysconf(_SC_CLK_TCK) if available, if not
* available or if the sysconf() fails, use the HZ.
- * BeOS has those, but returns the wrong value.
* The HZ if not originally defined has been by now
* been defined as CLK_TCK, if available. */
-#if defined(HAS_SYSCONF) && defined(_SC_CLK_TCK) && !defined(__BEOS__)
+#if defined(HAS_SYSCONF) && defined(_SC_CLK_TCK)
PL_clocktick = sysconf(_SC_CLK_TCK);
if (PL_clocktick <= 0)
#endif
@@ -3493,10 +3488,6 @@ S_minus_v(pTHX)
"\n\nOS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n"
"Version 5 port Copyright (c) 1994-2002, Andreas Kaiser, Ilya Zakharevich\n");
#endif
-#ifdef __BEOS__
- PerlIO_printf(PIO_stdout,
- "BeOS port Copyright Tom Spindler, 1997-1999\n");
-#endif
#ifdef OEMVS
PerlIO_printf(PIO_stdout,
"MVS (OS390) port by Mortice Kern Systems, 1997-1999\n");
diff --git a/perl.h b/perl.h
index 412848ce18..29c4425773 100644
--- a/perl.h
+++ b/perl.h
@@ -1641,15 +1641,15 @@ EXTERN_C char *crypt(const char *, const char *);
# define S_IRWXO (S_IROTH|S_IWOTH|S_IXOTH)
#endif
-/* BeOS 5.0 and Haiku R1 seem to define S_IREAD and S_IWRITE in <posix/fcntl.h>
+/* Haiku R1 seems to define S_IREAD and S_IWRITE in <posix/fcntl.h>
* which would get included through <sys/file.h >, but that is 3000
* lines in the future. --jhi */
-#if !defined(S_IREAD) && !(defined(__BEOS__) || defined(__HAIKU__))
+#if !defined(S_IREAD) && !defined(__HAIKU__)
# define S_IREAD S_IRUSR
#endif
-#if !defined(S_IWRITE) && !(defined(__BEOS__) || defined(__HAIKU__))
+#if !defined(S_IWRITE) && !defined(__HAIKU__)
# define S_IWRITE S_IWUSR
#endif
@@ -2649,9 +2649,6 @@ typedef SV PADNAME;
#if defined(__HAIKU__)
# include "haiku/haikuish.h"
# define ISHISH "haiku"
-#elif defined(__BEOS__)
-# include "beos/beosish.h"
-# define ISHISH "beos"
#endif
#ifndef ISHISH
@@ -5672,10 +5669,9 @@ int flock(int fd, int op);
#if O_TEXT != O_BINARY
/* If you have different O_TEXT and O_BINARY and you are a CLRF shop,
* that is, you are somehow DOSish. */
-# if defined(__BEOS__) || defined(__HAIKU__) || defined(__VOS__) || \
- defined(__CYGWIN__)
- /* BeOS/Haiku has O_TEXT != O_BINARY but O_TEXT and O_BINARY have no effect;
- * BeOS/Haiku is always UNIXoid (LF), not DOSish (CRLF). */
+# if defined(__HAIKU__) || defined(__VOS__) || defined(__CYGWIN__)
+ /* Haiku has O_TEXT != O_BINARY but O_TEXT and O_BINARY have no effect;
+ * Haiku is always UNIXoid (LF), not DOSish (CRLF). */
/* VOS has O_TEXT != O_BINARY, and they have effect,
* but VOS always uses LF, never CRLF. */
/* If you have O_TEXT different from your O_BINARY but you still are
diff --git a/perlio.h b/perlio.h
index 78a52f321d..7b5adbd345 100644
--- a/perlio.h
+++ b/perlio.h
@@ -64,11 +64,6 @@
*/
#include <stdio.h>
-#ifdef __BEOS__
-int fseeko(FILE *stream, off_t offset, int whence);
-off_t ftello(FILE *stream);
-#endif
-
#if defined(USE_64_BIT_STDIO) && defined(HAS_FTELLO) && !defined(USE_FTELL64)
#define ftell ftello
#endif
diff --git a/pod/perl.pod b/pod/perl.pod
index 1413366551..571c1908bb 100644
--- a/pod/perl.pod
+++ b/pod/perl.pod
@@ -234,7 +234,6 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp
perlaix Perl notes for AIX
perlamiga Perl notes for AmigaOS
- perlbeos Perl notes for BeOS
perlbs2000 Perl notes for POSIX-BC BS2000
perlce Perl notes for WinCE
perlcygwin Perl notes for Cygwin
diff --git a/pod/perl58delta.pod b/pod/perl58delta.pod
index 1a4abe9cdc..931b2a7afc 100644
--- a/pod/perl58delta.pod
+++ b/pod/perl58delta.pod
@@ -3378,7 +3378,8 @@ The following tests fail on 5.8.0 Perl in BeOS Personal 5.03:
ext/POSIX/t/sigaction...............FAILED at test 13
ext/POSIX/t/waitpid.................FAILED at test 1
-See L<perlbeos> (README.beos) for more details.
+(B<Note:> more information was available in F<README.beos> until support for
+BeOS was removed in Perl v5.18.0)
=head2 Cygwin "unable to remap"
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 5d32b79ed5..4de94a3fc5 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -318,13 +318,11 @@ XXX
=head2 Discontinued Platforms
-XXX List any platforms that this version of perl no longer compiles on.
-
=over 4
-=item XXX-some-platform
+=item BeOS
-XXX
+Support for BeOS has been removed.
=back
diff --git a/pod/perlport.pod b/pod/perlport.pod
index 1c20791852..46911e083b 100644
--- a/pod/perlport.pod
+++ b/pod/perlport.pod
@@ -1433,7 +1433,7 @@ in C<$^O> is "riscos" (because we don't like shouting).
=head2 Other perls
Perl has been ported to many platforms that do not fit into any of
-the categories listed above. Some, such as AmigaOS, BeOS,
+the categories listed above. Some, such as AmigaOS,
QNX, Plan 9, and VOS, have been well-integrated into the standard
Perl source code kit. You may need to see the F<ports/> directory
on CPAN for information, and possibly binaries, for the likes of:
@@ -1447,7 +1447,6 @@ in the "OTHER" category include:
OS $^O $Config{'archname'}
------------------------------------------
Amiga DOS amigaos m68k-amigos
- BeOS beos
See also:
@@ -1459,10 +1458,6 @@ Amiga, F<README.amiga> (installed as L<perlamiga>).
=item *
-Be OS, F<README.beos>
-
-=item *
-
A free perl5-based PERL.NLM for Novell Netware is available in
precompiled binary and source code form from L<http://www.novell.com/>
as well as from CPAN.
@@ -2040,7 +2035,7 @@ is finally closed. (AmigaOS)
=item utime
-Only the modification time is updated. (S<BeOS>, VMS, S<RISC OS>)
+Only the modification time is updated. (VMS, S<RISC OS>)
May not behave as expected. Behavior depends on the C runtime
library's implementation of utime(), and the filesystem being
@@ -2307,7 +2302,7 @@ L<http://www.cpan.org/ports/index.html> for binary distributions.
=head1 SEE ALSO
-L<perlaix>, L<perlamiga>, L<perlbeos>, L<perlbs2000>,
+L<perlaix>, L<perlamiga>, L<perlbs2000>,
L<perlce>, L<perlcygwin>, L<perldgux>, L<perldos>,
L<perlebcdic>, L<perlfreebsd>, L<perlhurd>, L<perlhpux>, L<perlirix>,
L<perlmacos>, L<perlmacosx>,
diff --git a/t/io/fs.t b/t/io/fs.t
index 57b5e9b438..d38cc3432b 100644
--- a/t/io/fs.t
+++ b/t/io/fs.t
@@ -275,7 +275,7 @@ sub check_utime_result {
is( $atime, 500000001, 'atime' );
is( $mtime, 500000000 + $delta, 'mtime' );
}
- elsif ($^O eq 'beos' || $^O eq 'haiku') {
+ elsif ($^O eq 'haiku') {
SKIP: {
skip "atime not updated", 1;
}
diff --git a/t/io/pipe.t b/t/io/pipe.t
index 8d262bbe9f..50d589dc85 100644
--- a/t/io/pipe.t
+++ b/t/io/pipe.t
@@ -149,11 +149,9 @@ SKIP: {
SKIP: {
# Sfio doesn't report failure when closing a broken pipe
# that has pending output. Go figure.
- # BeOS will not write to broken pipes, either.
# Nor does POSIX-BC.
skip "Won't report failure on broken pipe", 1
- if $Config{d_sfio} || $^O eq 'beos' ||
- $^O eq 'posix-bc';
+ if $Config{d_sfio} || $^O eq 'posix-bc';
local $SIG{PIPE} = 'IGNORE';
open NIL, qq{|$Perl -e "exit 0"} or die "open failed: $!";
diff --git a/t/op/magic.t b/t/op/magic.t
index 795124b7a7..990de5580b 100644
--- a/t/op/magic.t
+++ b/t/op/magic.t
@@ -55,7 +55,6 @@ $Is_VMS = $^O eq 'VMS';
$Is_Dos = $^O eq 'dos';
$Is_os2 = $^O eq 'os2';
$Is_Cygwin = $^O eq 'cygwin';
-$Is_BeOS = $^O eq 'beos';
$PERL = $ENV{PERL}
|| ($Is_NetWare ? 'perl' :
@@ -333,7 +332,6 @@ EOF
ok chmod(0755, $script) or diag $!;
$_ = $Is_VMS ? `$perl $script` : `$script`;
s/\.exe//i if $Is_Dos or $Is_Cygwin or $Is_os2;
- s{./$script}{$script} if $Is_BeOS; # revert BeOS execvp() side-effect
s{is perl}{is $perl}; # for systems where $^X is only a basename
s{\\}{/}g;
if ($Is_MSWin32 || $Is_os2) {
@@ -343,7 +341,6 @@ EOF
}
$_ = `$perl $script`;
s/\.exe//i if $Is_Dos or $Is_os2 or $Is_Cygwin;
- s{./$perl}{$perl} if $Is_BeOS; # revert BeOS execvp() side-effect
s{\\}{/}g;
if ($Is_MSWin32 || $Is_os2) {
is uc $_, uc $s1;
diff --git a/win32/Makefile b/win32/Makefile
index b5728fe7f6..5f2f5d5f44 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -1124,7 +1124,6 @@ utils: $(PERLEXE) $(X2P)
cd ..\pod
copy ..\README.aix ..\pod\perlaix.pod
copy ..\README.amiga ..\pod\perlamiga.pod
- copy ..\README.beos ..\pod\perlbeos.pod
copy ..\README.bs2000 ..\pod\perlbs2000.pod
copy ..\README.ce ..\pod\perlce.pod
copy ..\README.cn ..\pod\perlcn.pod
@@ -1249,10 +1248,10 @@ distclean: realclean
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-cd $(PODDIR) && del /f *.html *.bat roffitall \
perl5177delta.pod perlaix.pod perlamiga.pod perlapi.pod \
- perlbeos.pod perlbs2000.pod perlce.pod perlcn.pod \
- perlcygwin.pod perldgux.pod perldos.pod perlfreebsd.pod \
- perlhaiku.pod perlhpux.pod perlhurd.pod perlintern.pod \
- perlirix.pod perljp.pod perlko.pod perllinux.pod perlmacos.pod \
+ perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
+ perldgux.pod perldos.pod perlfreebsd.pod perlhaiku.pod \
+ perlhpux.pod perlhurd.pod perlintern.pod perlirix.pod \
+ perljp.pod perlko.pod perllinux.pod perlmacos.pod \
perlmacosx.pod perlmodlib.pod perlnetware.pod perlopenbsd.pod \
perlos2.pod perlos390.pod perlos400.pod perlplan9.pod \
perlqnx.pod perlriscos.pod perlsolaris.pod perlsymbian.pod \
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 13498f8be1..a567c0ef5f 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -1304,7 +1304,6 @@ utils: $(PERLEXE) $(X2P)
cd ..\utils && $(MAKE) PERL=$(MINIPERL)
copy ..\README.aix ..\pod\perlaix.pod
copy ..\README.amiga ..\pod\perlamiga.pod
- copy ..\README.beos ..\pod\perlbeos.pod
copy ..\README.bs2000 ..\pod\perlbs2000.pod
copy ..\README.ce ..\pod\perlce.pod
copy ..\README.cn ..\pod\perlcn.pod
@@ -1428,10 +1427,10 @@ distclean: realclean
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-cd $(PODDIR) && del /f *.html *.bat roffitall \
perl5177delta.pod perlaix.pod perlamiga.pod perlapi.pod \
- perlbeos.pod perlbs2000.pod perlce.pod perlcn.pod \
- perlcygwin.pod perldgux.pod perldos.pod perlfreebsd.pod \
- perlhaiku.pod perlhpux.pod perlhurd.pod perlintern.pod \
- perlirix.pod perljp.pod perlko.pod perllinux.pod perlmacos.pod \
+ perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
+ perldgux.pod perldos.pod perlfreebsd.pod perlhaiku.pod \
+ perlhpux.pod perlhurd.pod perlintern.pod perlirix.pod \
+ perljp.pod perlko.pod perllinux.pod perlmacos.pod \
perlmacosx.pod perlmodlib.pod perlnetware.pod perlopenbsd.pod \
perlos2.pod perlos390.pod perlos400.pod perlplan9.pod \
perlqnx.pod perlriscos.pod perlsolaris.pod perlsymbian.pod \