[perl #24032] Perl 5.8.1-RC5 build problems on LynxOS
Olli Savia [Wed, 24 Sep 2003 15:42:41 +0000 (15:42 +0000)]
From: Olli Savia (via RT) <perlbug-followup@perl.org>
Message-ID: <rt-24032-65280.10.6144413163834@rt.perl.org>

p4raw-id: //depot/perl@21360

mg.c
perl.h
perlio.c
pp_sys.c

diff --git a/mg.c b/mg.c
index 185fd9a..df75970 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -48,6 +48,14 @@ Signal_t Perl_csighandler(int sig);
 static void restore_magic(pTHX_ void *p);
 static void unwind_handler_stack(pTHX_ void *p);
 
+#ifdef __Lynx__
+/* Missing protos on LynxOS */
+void setruid(uid_t id);
+void seteuid(uid_t id);
+void setrgid(uid_t id);
+void setegid(uid_t id);
+#endif
+
 /*
  * Use the "DESTRUCTOR" scope cleanup to reinstate magic.
  */
diff --git a/perl.h b/perl.h
index ab6477c..8811bbb 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -3247,6 +3247,14 @@ END_EXTERN_C
 /*****************************************************************************/
 /* XXX This needs to be revisited, since BEGIN makes yacc re-enter... */
 
+/* LynxOS defines these in scsi.h which is included via ioctl.h */
+#ifdef FORMAT
+#undef FORMAT
+#endif
+#ifdef SPACE
+#undef SPACE
+#endif
+
 #include "perly.h"
 
 #define LEX_NOTPARSING         11      /* borrowed from toke.c */
@@ -4132,6 +4140,10 @@ typedef struct am_table_short AMTS;
 #  include <fcntl.h>
 #endif
 
+#ifdef __Lynx__
+#  include <fcntl.h>
+#endif
+
 #ifdef I_SYS_FILE
 #  include <sys/file.h>
 #endif
index c3b331d..faa3b19 100644 (file)
--- a/perlio.c
+++ b/perlio.c
 
 #include "XSUB.h"
 
+#ifdef __Lynx__
+/* Missing proto on LynxOS */
+int mkstemp(char*);
+#endif
+
 /* Call the callback or PerlIOBase, and return failure. */
 #define Perl_PerlIO_or_Base(f, callback, base, failure, args)  \
        if (PerlIOValid(f)) {                                   \
index 8c9c3cc..8253df9 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -176,6 +176,18 @@ static char zero_but_true[ZBTLEN + 1] = "0 but true";
 
 #include "reentr.h"
 
+#ifdef __Lynx__
+/* Missing protos on LynxOS */
+void sethostent(int);
+void endhostent(void);
+void setnetent(int);
+void endnetent(void);
+void setprotoent(int);
+void endprotoent(void);
+void setservent(int);
+void endservent(void);
+#endif
+
 #undef PERL_EFF_ACCESS_R_OK    /* EFFective uid/gid ACCESS R_OK */
 #undef PERL_EFF_ACCESS_W_OK
 #undef PERL_EFF_ACCESS_X_OK