The signal module has to be compiled statically, so add it to Setup.dist
    and remove support for it from setup.py
diff --git a/Modules/Setup.dist b/Modules/Setup.dist
index ad471ce..3964107 100644
--- a/Modules/Setup.dist
+++ b/Modules/Setup.dist
@@ -93,5 +93,8 @@
 posix posixmodule.c		# posix (UNIX) system calls
 _sre _sre.c			# Fredrik Lundh's new regular expressions
 
+# The signal module can't be compiled as a dynamically linked module.
+signal signalmodule.c           # signal(2)
+
 # The rest of the modules previously listed in this file are built
 # by the setup.py script in Python 2.1.
diff --git a/setup.py b/setup.py
index 19c8e0f..9f71592 100644
--- a/setup.py
+++ b/setup.py
@@ -53,14 +53,6 @@
             ext.include_dirs.append( '.' ) # to get config.h
             ext.include_dirs.append( os.path.join(srcdir, './Include') )
             
-        # If the signal module is being compiled, remove the sigcheck.o and
-        # intrcheck.o object files from the archive.
-        if module_enabled(self.extensions, 'signal'):
-            print 'removing sigcheck.o intrcheck.o'
-            ar, library = sysconfig.get_config_vars('AR', 'LIBRARY')
-            cmd = '%s d Modules/%s sigcheck.o intrcheck.o' % (ar, library)
-            os.system(cmd)
-            
         build_ext.build_extensions(self)
 
     def detect_modules(self):
@@ -81,7 +73,6 @@
         # Some modules that are normally always on:
         exts.append( Extension('regex', ['regexmodule.c', 'regexpr.c']) )
         exts.append( Extension('pcre', ['pcremodule.c', 'pypcre.c']) )
-        exts.append( Extension('signal', ['signalmodule.c']) )
         
         exts.append( Extension('xreadlines', ['xreadlinesmodule.c']) )