SHMLBA strikes back in NetBSD/sparc.
Dave Nelson [Mon, 18 Jan 1999 22:07:56 +0000 (16:07 -0600)]
To: jhi@iki.fi
Subject: perl5.005_02 + IPC::SysV + NetBSD/Sparc
Message-Id: <199901190407.WAA02543@longhorn.bellcow.com>

p4raw-id: //depot/cfgperl@2647

ext/IPC/SysV/SysV.xs

index 1f87a4d..e6c7555 100644 (file)
@@ -4,32 +4,36 @@
 
 #include <sys/types.h>
 #ifdef __linux__
-#include <asm/page.h>
+#   include <asm/page.h>
 #endif
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-#include <sys/ipc.h>
-#ifdef HAS_MSG
-#include <sys/msg.h>
-#endif
-#ifdef HAS_SEM
-#include <sys/sem.h>
-#endif
-#ifdef HAS_SHM
-#if defined(PERL_SCO5) || defined(PERL_ISC)
-#include <sys/sysmacros.h>
-#endif
-#include <sys/shm.h>
-# ifndef HAS_SHMAT_PROTOTYPE
-    extern Shmat_t shmat _((int, char *, int));
-# endif
-#endif
+#   include <sys/ipc.h>
+#   ifdef HAS_MSG
+#       include <sys/msg.h>
+#   endif
+#   ifdef HAS_SEM
+#       include <sys/sem.h>
+#   endif
+#   ifdef HAS_SHM
+#       if defined(PERL_SCO5) || defined(PERL_ISC)
+#           include <sys/sysmacros.h>  /* SHMLBA */
+#       endif
+#      include <sys/shm.h>
+#      ifndef HAS_SHMAT_PROTOTYPE
+           extern Shmat_t shmat _((int, char *, int));
+#      endif
+#      if defined(__NetBSD__) && defined(__sparc__)
+#          undef  SHMLBA /* not static: determined at boot time */
+#          define SHMLBA getpagesize()
+#      endif
+#   endif
 #endif
 
 /* Required in BSDI to get PAGE_SIZE definition for SHMLBA.
  * Ugly.  More beautiful solutions welcome.
  * Shouting at BSDI sounds quite beautiful. */
 #ifdef __bsdi__
-#   include <vm/vm_param.h>
+#   include <vm/vm_param.h>    /* move upwards under HAS_SHM? */
 #endif
 
 #ifndef S_IRWXU