Remove the BeOS port.
authorNicholas Clark <nick@ccl4.org>
Thu, 29 Nov 2012 12:17:31 +0000 (13:17 +0100)
committerNicholas Clark <nick@ccl4.org>
Fri, 14 Dec 2012 08:22:40 +0000 (09:22 +0100)
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.

27 files changed:
INSTALL
MANIFEST
Makefile.SH
Porting/perlhist_calculate.pl
README.beos [deleted file]
beos/beos.c [deleted file]
beos/beosish.h [deleted file]
beos/nm.c [deleted file]
ext/DynaLoader/dl_beos.xs [deleted file]
ext/Errno/Errno_pm.PL
ext/File-Glob/t/basic.t
ext/POSIX/POSIX.xs
ext/POSIX/lib/POSIX.pm
hints/beos.sh [deleted file]
lib/perl5db.pl
perl.c
perl.h
perlio.h
pod/perl.pod
pod/perl58delta.pod
pod/perldelta.pod
pod/perlport.pod
t/io/fs.t
t/io/pipe.t
t/op/magic.t
win32/Makefile
win32/makefile.mk

diff --git a/INSTALL b/INSTALL
index eb0a4af..bc92052 100644 (file)
--- 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
index 7958b58..d142795 100644 (file)
--- 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)
index 220bf70..e553777 100755 (executable)
@@ -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)
index 34841b9..0d73991 100755 (executable)
@@ -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 (file)
index c72c229..0000000
+++ /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 (file)
index 5769abc..0000000
+++ /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 (file)
index 7aab15f..0000000
+++ /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 (file)
index 4f53f74..0000000
--- 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 (file)
index 964a34a..0000000
+++ /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.
index 941ee40..b707911 100644 (file)
@@ -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;
index 59faffd..7871075 100644 (file)
@@ -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;
index 6d08800..745cc90 100644 (file)
@@ -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)
index 3a61b78..71577c6 100644 (file)
@@ -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 (file)
index 1224ec1..0000000
+++ /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 .
index 705b920..f96f637 100644 (file)
@@ -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 a6f9c14..00c48bd 100644 (file)
--- 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 412848c..29c4425 100644 (file)
--- 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
index 78a52f3..7b5adbd 100644 (file)
--- a/perlio.h
+++ b/perlio.h
  */
 #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
index 1413366..571c190 100644 (file)
@@ -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
index 1a4abe9..931b2a7 100644 (file)
@@ -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"
 
index 5d32b79..4de94a3 100644 (file)
@@ -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
 
index 1c20791..46911e0 100644 (file)
@@ -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>,
index 57b5e9b..d38cc34 100644 (file)
--- 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;
                }
index 8d262bb..50d589d 100644 (file)
@@ -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: $!";
index 795124b..990de55 100644 (file)
@@ -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;
index b5728fe..5f2f5d5 100644 (file)
@@ -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 \
index 13498f8..a567c0e 100644 (file)
@@ -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 \