added changes for NetBSD dynamic linking; removed shared linking for NeXT
diff --git a/Python/importdl.c b/Python/importdl.c
index 70b6eb8..00a033e 100644
--- a/Python/importdl.c
+++ b/Python/importdl.c
@@ -36,7 +36,7 @@
    symbol	-- defined for:
 
    DYNAMIC_LINK -- any kind of dynamic linking
-   USE_RLD	-- NeXT dynamic linking
+   USE_RLD	-- NeXT dynamic linking (currently disabled)
    USE_DL	-- Jack's dl for IRIX 4 or GNU dld with emulation for Jack's dl
    USE_SHLIB	-- SunOS or IRIX 5 (SVR4?) shared libraries
    _AIX		-- AIX style dynamic linking
@@ -46,6 +46,7 @@
    SHORT_EXT	-- short extension for dynamic module, e.g. ".so"
    LONG_EXT	-- long extension, e.g. "module.so"
    hpux		-- HP-UX Dynamic Linking - defined by the compiler
+   __NetBSD__	-- NetBSD shared libraries (not quite SVR4 compatible)
 
    (The other WITH_* symbols are used only once, to set the
    appropriate symbols.)
@@ -62,6 +63,13 @@
 #define LONG_EXT "module.sl"
 #endif 
 
+#ifdef __NetBSD__
+#define DYNAMIC_LINK
+#define USE_SHLIB
+
+#define dlerror() "error in dynamic linking"
+#endif
+
 #ifdef NT
 #define DYNAMIC_LINK
 #include <windows.h>
@@ -71,7 +79,7 @@
 #define LONG_EXT "module.pyd"
 #endif
 
-#if defined(NeXT) || defined(WITH_RLD)
+#ifdef WITH_RLD
 #define DYNAMIC_LINK
 #define USE_RLD
 #endif
@@ -106,7 +114,12 @@
 #ifdef DYNAMIC_LINK
 
 #ifdef USE_SHLIB
+#ifdef __NetBSD__
+#include <nlist.h>
+#include <link.h>
+#else
 #include <dlfcn.h>
+#endif
 #ifndef _DL_FUNCPTR_DEFINED
 typedef void (*dl_funcptr)();
 #endif
@@ -136,7 +149,7 @@
 extern char *getprogramname();
 
 #ifndef FUNCNAME_PATTERN
-#if defined(__hp9000s300)
+#if defined(__hp9000s300) || defined(__NetBSD__)
 #define FUNCNAME_PATTERN "_init%.200s"
 #else
 #define FUNCNAME_PATTERN "init%.200s"