Changes for BeOS, QNX and long long, by Chris Herborth.
diff --git a/Include/import.h b/Include/import.h
index 0f6e92f..2b59b51 100644
--- a/Include/import.h
+++ b/Include/import.h
@@ -54,6 +54,11 @@
 extern PyObject *_PyImport_FindExtension Py_PROTO((char *, char *));
 extern PyObject *_PyImport_FixupExtension Py_PROTO((char *, char *));
 
+#ifdef __BEOS__
+#include <kernel/image.h>
+extern image_id PyImport_BeImageID( char *name );
+#endif
+
 struct _inittab {
 	char *name;
 	void (*initfunc)();
diff --git a/Include/longobject.h b/Include/longobject.h
index 88854a6..774bfda 100644
--- a/Include/longobject.h
+++ b/Include/longobject.h
@@ -50,6 +50,13 @@
 extern unsigned long PyLong_AsUnsignedLong Py_PROTO((PyObject *));
 extern double PyLong_AsDouble Py_PROTO((PyObject *));
 
+#ifdef HAVE_LONG_LONG
+extern PyObject *PyLong_FromLongLong Py_PROTO((long long ));
+extern PyObject *PyLong_FromUnsignedLongLong Py_PROTO((unsigned long long));
+extern long long PyLong_AsLongLong Py_PROTO((PyObject *));
+extern unsigned long long PyLong_AsUnsignedLongLong Py_PROTO((PyObject *));
+#endif
+
 PyObject *PyLong_FromString Py_PROTO((char *, char **, int));
 
 #ifdef __cplusplus
diff --git a/Include/pythread.h b/Include/pythread.h
index 09415c9..d38c174 100644
--- a/Include/pythread.h
+++ b/Include/pythread.h
@@ -20,10 +20,17 @@
 #endif
 
 /* Macros defining new names for all these symbols */
+/* BeOS note: We have exit_thread(), and no legacy code to
+ * support, so we won't allow exit_thread and _exit_thread
+ * in here.  Actually, I think these #defines should vanish;
+ * aren't they cheesy in the face of the Great Renaming? [cjh]
+ */
 #define init_thread PyThread_init_thread
 #define start_new_thread PyThread_start_new_thread
+#ifndef __BEOS__
 #define exit_thread PyThread_exit_thread
 #define _exit_thread PyThread__exit_thread
+#endif
 #define get_thread_ident PyThread_get_thread_ident
 #define allocate_lock PyThread_allocate_lock
 #define free_lock PyThread_free_lock
@@ -43,8 +50,13 @@
 
 void init_thread Py_PROTO((void));
 int start_new_thread Py_PROTO((void (*)(void *), void *));
+#ifndef __BEOS__
 void exit_thread Py_PROTO((void));
 void _exit_thread Py_PROTO((void));
+#else
+void PyThread_exit_thread Py_PROTO((void));
+void PyThread__exit_thread Py_PROTO((void));
+#endif
 long get_thread_ident Py_PROTO((void));
 
 type_lock allocate_lock Py_PROTO((void));
diff --git a/Include/thread.h b/Include/thread.h
index 09415c9..d38c174 100644
--- a/Include/thread.h
+++ b/Include/thread.h
@@ -20,10 +20,17 @@
 #endif
 
 /* Macros defining new names for all these symbols */
+/* BeOS note: We have exit_thread(), and no legacy code to
+ * support, so we won't allow exit_thread and _exit_thread
+ * in here.  Actually, I think these #defines should vanish;
+ * aren't they cheesy in the face of the Great Renaming? [cjh]
+ */
 #define init_thread PyThread_init_thread
 #define start_new_thread PyThread_start_new_thread
+#ifndef __BEOS__
 #define exit_thread PyThread_exit_thread
 #define _exit_thread PyThread__exit_thread
+#endif
 #define get_thread_ident PyThread_get_thread_ident
 #define allocate_lock PyThread_allocate_lock
 #define free_lock PyThread_free_lock
@@ -43,8 +50,13 @@
 
 void init_thread Py_PROTO((void));
 int start_new_thread Py_PROTO((void (*)(void *), void *));
+#ifndef __BEOS__
 void exit_thread Py_PROTO((void));
 void _exit_thread Py_PROTO((void));
+#else
+void PyThread_exit_thread Py_PROTO((void));
+void PyThread__exit_thread Py_PROTO((void));
+#endif
 long get_thread_ident Py_PROTO((void));
 
 type_lock allocate_lock Py_PROTO((void));