diff --git a/configure b/configure
index 33eacde..f1a46c7 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.444 .
+# From configure.in Revision: 1.445 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.57 for python 2.4.
 #
@@ -871,8 +871,6 @@
   --with(out)-doc-strings disable/enable documentation strings
   --with(out)-pymalloc    disable/enable specialized mallocs
   --with-wctype-functions use wctype.h functions
-  --with-sgi-dl=DIRECTORY IRIX 4 dynamic linking
-  --with-dl-dld=DL_DIR    GNU dynamic linking
   --with-fpectl           enable SIGFPE catching
   --with-libm=STRING      math library
   --with-libc=STRING      C library
@@ -3010,7 +3008,7 @@
 
 # Check for unsupported systems
 case $ac_sys_system/$ac_sys_release in
-SunOS/4*|DYNIX/*|IRIX/4*|Linux*/1*)
+SunOS/4*|Linux*/1*)
    echo This system \($ac_sys_system/$ac_sys_release\) is no longer supported.
    echo See README for details.
    exit 1;;
@@ -9390,7 +9388,6 @@
 		fi ;;
 	hp*|HP*) LDSHARED="ld -b";;
 	OSF*) LDSHARED="ld -shared -expect_unresolved \"*\"";;
-	DYNIX/ptx*) LDSHARED="ld -G";;
 	Darwin/1.3*)
 		LDSHARED='$(CC) $(LDFLAGS) -bundle'
 		if test "$enable_framework" ; then
@@ -9923,11 +9920,7 @@
 esac
 
 # Most SVR4 platforms (e.g. Solaris) need -lsocket and -lnsl.
-# However on SGI IRIX 4, these exist but are broken.
 # BeOS' sockets are stashed in libnet.
-case "$ac_sys_system" in
-IRIX*) ;;
-*)
 echo "$as_me:$LINENO: checking for t_open in -lnsl" >&5
 echo $ECHO_N "checking for t_open in -lnsl... $ECHO_C" >&6
 if test "${ac_cv_lib_nsl_t_open+set}" = set; then
@@ -10044,8 +10037,7 @@
   LIBS="-lsocket $LIBS"
 fi
  # SVR4 sockets
-;;
-esac
+
 case "$ac_sys_system" in
 BeOS*)
 echo "$as_me:$LINENO: checking for socket in -lnet" >&5
@@ -12071,69 +12063,6 @@
 
 DLINCLDIR=.
 
-echo "$as_me:$LINENO: checking for --with-sgi-dl" >&5
-echo $ECHO_N "checking for --with-sgi-dl... $ECHO_C" >&6
-
-# Check whether --with-sgi-dl or --without-sgi-dl was given.
-if test "${with_sgi_dl+set}" = set; then
-  withval="$with_sgi_dl"
-
-echo "$as_me:$LINENO: result: $withval" >&5
-echo "${ECHO_T}$withval" >&6
-echo --with-sgi-dl is unsupported, see README
-exit 1
-
-cat >>confdefs.h <<\_ACEOF
-#define WITH_SGI_DL 1
-_ACEOF
-
-DYNLOADFILE="dynload_dl.o"
-dldir=$withval
-if test ! -z "$dldir" -a -d "$dldir"
-then LDFLAGS="$LDFLAGS -L$dldir"
-else { { echo "$as_me:$LINENO: error: proper usage is --with-sgi-dl=DIRECTORY" >&5
-echo "$as_me: error: proper usage is --with-sgi-dl=DIRECTORY" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-DLINCLDIR=${dldir}
-LIBS="$LIBS -ldl -lmld"
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi;
-
-echo "$as_me:$LINENO: checking for --with-dl-dld" >&5
-echo $ECHO_N "checking for --with-dl-dld... $ECHO_C" >&6
-
-# Check whether --with-dl-dld or --without-dl-dld was given.
-if test "${with_dl_dld+set}" = set; then
-  withval="$with_dl_dld"
-
-echo "$as_me:$LINENO: result: $withval" >&5
-echo "${ECHO_T}$withval" >&6
-echo --with-dl-dld is unsupported, see README
-exit 1
-
-cat >>confdefs.h <<\_ACEOF
-#define WITH_DL_DLD 1
-_ACEOF
-
-DYNLOADFILE="dynload_dl.o"
-dldir=`echo "$withval" | sed 's/,.*//'`
-dlddir=`echo "$withval" | sed 's/.*,//'`
-if test ! -z "$dldir" -a -d "$dldir" -a ! -z "$dlddir" -a -d "$dlddir"
-then LDFLAGS="$LDFLAGS -L$dldir -L$dlddir"
-else { { echo "$as_me:$LINENO: error: proper usage is --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY" >&5
-echo "$as_me: error: proper usage is --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-DLINCLDIR=${dldir}
-LIBS="$LIBS -ldl -ldld"
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi;
-
 # the dlopen() function means we might want to use dynload_shlib.o. some
 # platforms, such as AIX, have dlopen(), but don't want to use it.
 
