BeOS tweaks:
Jarkko Hietaniemi [Mon, 29 Oct 2001 13:12:41 +0000 (13:12 +0000)]
- fseeko and ftello can be found by Configure but
  we do not seem to have prototypes for them so
  let's make up some
- BeOS didn't use to have real sockets (sockets as
  filedescriptors) but the BONE package is supposed
  to fix this.  I do not know how to detect BONEness,
  see hints/beos.sh for a spot that needs to fixed.
- BeOS has O_TEXT != O_BINARY but has no setmode()

p4raw-id: //depot/perl@12756

hints/beos.sh
perlio.c

index 8017dce..34a5eb8 100644 (file)
@@ -38,18 +38,17 @@ d_syserrlst='undef'
 # the array syserrlst[] is useless for the most part.
 # large negative numbers really kind of suck in arrays.
 
-d_socket='undef'
-d_gethbyaddr='undef'
-d_gethbyname='undef'
-d_getsbyname='undef'
+# Sockets didn't use to be real sockets but BONE changes this.
+# How does one test for BONEness?
+if [ ! -f /some/bone/file.h ]; then
+    d_socket='undef'
+    d_gethbyaddr='undef'
+    d_gethbyname='undef'
+    d_getsbyname='undef'
+fi
 
 ld='gcc'
 
-# Sockets really don't work with the current version of perl and the
-# current BeOS sockets; I suspect that a new module a la GSAR's WIN32 port
-# will be required.
-# Of course, this may also change with R5.
-
 export PATH="$PATH:$PWD/beos"
 
 case "$ldlibpthname" in
index 8b4ca81..62f0d37 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -2867,7 +2867,7 @@ PerlIOBuf_open(pTHX_ PerlIO_funcs *self, PerlIO_list_t *layers,
        if (f) {
            PerlIO_push(aTHX_ f, self, mode, PerlIOArg);
            fd = PerlIO_fileno(f);
-#if O_BINARY != O_TEXT
+#if (O_BINARY != O_TEXT) && !defined(__BEOS__)
            /*
             * do something about failing setmode()? --jhi
             */