diff --git a/configure.in b/configure.in
index 9cc643b..36f38be 100644
--- a/configure.in
+++ b/configure.in
@@ -106,6 +106,8 @@
 	case $ac_sys_system in
 	OSF1)	CC=cc
 		without_gcc=;;
+	BeOS*)	CC=cc
+		without_gcc=;;
 	*)	without_gcc=no;;
 	esac])
 AC_MSG_RESULT($without_gcc)
@@ -124,10 +126,15 @@
     case $CC in
     cc|*/cc) CC="$CC -Aa -D_HPUX_SOURCE";;
     esac;;
+BeOS*)
+	case $CC in
+	cc) CC=cc;;
+	esac;;
 esac
 
 # LINKCC is the command that links the python executable -- default is $(CC).
-# This is altered for AIX in order to build the export list before linking.
+# This is altered for AIX and BeOS in order to build the export list before 
+# linking.
 AC_SUBST(LINKCC)
 AC_MSG_CHECKING(LINKCC)
 if test -z "$LINKCC"
@@ -135,6 +142,9 @@
 	case $ac_sys_system in
 	AIX*)
 	   LINKCC="\$(srcdir)/makexp_aix python.exp \"\" \$(LIBRARY); \$(PURIFY) \$(CC)";;
+	BeOS*)
+	   LINKCC="\$(srcdir)/../BeOS/linkcc \$(LIBRARY) \$(PURIFY) \$(CC) -nodup \$(OPT)"
+	   REALLIBRARY='libpython$(VERSION).so';;
 	dgux*)
 	   LINKCC="LD_RUN_PATH=$libdir \$(PURIFY) \$(CC)";;
 	*) LINKCC="\$(PURIFY) \$(CC)";;
@@ -160,6 +170,15 @@
 	INSTALL_DATA="$INSTALL -m 644"
 fi
 
+# Not every filesystem supports hard links
+AC_SUBST(LN)
+if test -z "$LN" ; then
+	case $ac_sys_system in
+		BeOS*) LN="ln -s";;
+		*) LN=ln;;
+	esac
+fi
+
 # Optimizer/debugger flags passed between Makefiles
 AC_SUBST(OPT)
 if test -z "$OPT"
@@ -261,6 +280,14 @@
 AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(long)
 
+AC_MSG_CHECKING(for long long support)
+have_long_long=no
+AC_TRY_COMPILE([], [long long x; x = (long long)0;], AC_DEFINE(HAVE_LONG_LONG) have_long_long=yes)
+AC_MSG_RESULT($have_long_long)
+if test $have_long_long = yes ; then
+AC_CHECK_SIZEOF(long long)
+fi
+
 # Set info about shared libraries.
 AC_SUBST(SO)
 AC_SUBST(LDSHARED)
@@ -284,6 +311,7 @@
 then
 	case $ac_sys_system/$ac_sys_release in
 	AIX*) LDSHARED="\$(srcdir)/ld_so_aix \$(CC)";;
+	BeOS*) LDSHARED="\$(srcdir)/../BeOS/linkmodule -L.. -lpython\$(VERSION)";;
 	IRIX/5*) LDSHARED="ld -shared";;
 	IRIX*/6*) LDSHARED="ld ${SGI_ABI} -shared -all";;
 	SunOS/4*) LDSHARED="ld";;
@@ -349,11 +377,15 @@
 AC_CHECK_LIB(m, pow)		# Std math lib -- assume needed if it exists
 # Most SVR4 platforms (e.g. Solaris) need -lsocket and -lnsl.
 # However on SGI IRIX, these exist but are broken.
-case "$ac_sys_system" in IRIX*) ;;
+# BeOS' sockets are stashed in libnet.
+case "$ac_sys_system" in
+IRIX*) ;;
 *)
 AC_CHECK_LIB(nsl, t_open, [LIBS="-lnsl $LIBS"]) # SVR4
 AC_CHECK_LIB(socket, socket, [LIBS="-lsocket $LIBS"], [], $LIBS) # SVR4 sockets
-;; esac
+AC_CHECK_LIB(net, socket, [LIBS="-lnet $LIBS"], [], $LIBS) # BeOS
+;;
+esac
 
 AC_MSG_CHECKING(for --with-libs)
 AC_ARG_WITH(libs, [--with-libs='lib1 ...'    link against additional libs], [
@@ -401,6 +433,9 @@
 AC_CHECK_HEADER(mach/cthreads.h, [AC_DEFINE(WITH_THREAD)
 AC_DEFINE(C_THREADS)
 LIBOBJS="$LIBOBJS thread.o"],[
+AC_CHECK_HEADER(kernel/OS.h, [AC_DEFINE(WITH_THREAD)
+AC_DEFINE(BEOS_THREADS)
+LIBOBJS="$LIBOBJS thread.o"],[
 AC_CHECK_LIB(pthreads, pthread_create, [AC_DEFINE(WITH_THREAD)
 AC_DEFINE(_POSIX_THREADS)
 LIBS="$LIBS -lpthreads"
@@ -421,7 +456,7 @@
 AC_DEFINE(_POSIX_THREADS)
 LIBS="$LIBS -lcma"
 LIBOBJS="$LIBOBJS thread.o"])
-])])])])])
+])])])])])])
 
 AC_CHECK_LIB(mpc, usconfig, [AC_DEFINE(WITH_THREAD)
 LIBS="$LIBS -lmpc"
@@ -589,6 +624,7 @@
 AC_SUBST(LIBM)
 case $ac_sys_system in
 next) ;;
+BeOS) ;;
 *) LIBM=-lm
 esac
 AC_MSG_CHECKING(for --with-libm=STRING)
