Changes to deal with the sigcheck+intrcheck vs. signalmodule controversy.
diff --git a/Makefile.in b/Makefile.in
index aec17f0..23c4060 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -432,6 +432,7 @@
 			(echo making Makefile in subdirectory $$i; cd $$i; \
 			 $(MAKE) Makefile); \
 		done
+		-(rm -f Modules/hassignal; cd Modules; $(MAKE) hassignal)
 
 # Build the intermediate Makefile in Modules
 Modules/Makefile.pre: config.status
diff --git a/Modules/Makefile.pre.in b/Modules/Makefile.pre.in
index ca728e0..4d306e7 100644
--- a/Modules/Makefile.pre.in
+++ b/Modules/Makefile.pre.in
@@ -110,12 +110,10 @@
 # To deal with the conflict between signalmodule.o and
 # sigcheck.o+intrcheck.o, we remove the latter two if we have the former.
 add2lib:	$(OBJS)
-		-for i in $(OBJS); do \
-		     if test "$$i" = "signalmodule.o"; then \
-		        $(AR) d $(LIBRARY) sigcheck.o intrcheck.o 2>/dev/null; \
-			break; \
-		     fi; \
-		done
+		-if test -f hassignal; \
+		then echo removing sigcheck.o intrcheck.o; \
+		     $(AR) d $(LIBRARY) sigcheck.o intrcheck.o 2>/dev/null; \
+		else echo leaving sigcheck.o intrcheck.o in; fi
 		$(AR) cr $(LIBRARY) $(OBJS)
 		touch add2lib
 
@@ -152,6 +150,14 @@
 		-rm -f $(LIBRARY)
 		$(SHELL) $(MAKESETUP) Setup.thread Setup.local Setup
 
+hassignal:
+		-rm -f hassignal
+		-for i in $(OBJS); do \
+		    if test "$$i" = "signalmodule.o"; then \
+		       echo yes >hassignal; break; \
+		    fi; \
+		done
+
 Setup:
 		cp $(srcdir)/Setup.in Setup
 
diff --git a/Parser/Makefile.in b/Parser/Makefile.in
index bf35805..5396680 100644
--- a/Parser/Makefile.in
+++ b/Parser/Makefile.in
@@ -34,7 +34,9 @@
 		parsetok.o tokenizer.o bitset.o \
 		metagrammar.o
 
-OBJS=		$(POBJS) intrcheck.o myreadline.o
+AROBJS=		$(POBJS) myreadline.o
+OBJS=		$(AROBJS) intrcheck.o
+
 
 PGENMAIN=	pgenmain.o
 
@@ -54,7 +56,10 @@
 
 # This target is used by the master Makefile to add the objects to the library
 add2lib:	$(OBJS)
-		$(AR) cr $(LIBRARY) $(OBJS)
+		$(AR) cr $(LIBRARY) $(AROBJS)
+		if test ! -f ../Modules/hassignal; \
+		then echo adding intrcheck.o; $(AR) r $(LIBRARY) intrcheck.o; \
+		else echo leaving intrcheck.o out; fi
 		touch add2lib
 
 $(PGEN):	$(PGENOBJS)
diff --git a/Python/Makefile.in b/Python/Makefile.in
index d7f068c..1888609 100644
--- a/Python/Makefile.in
+++ b/Python/Makefile.in
@@ -34,7 +34,7 @@
 
 # === Fixed definitions ===
 
-OBJS=		\
+AROBJS=		\
 		bltinmodule.o \
 		ceval.o compile.o \
 		errors.o \
@@ -44,9 +44,10 @@
 		import.o importdl.o \
 		marshal.o modsupport.o mystrtoul.o \
 		pyfpe.o pystate.o pythonrun.o \
-		sigcheck.o structmember.o sysmodule.o \
+		structmember.o sysmodule.o \
 		traceback.o \
 		$(LIBOBJS)
+OBJS=		$(AROBJS) sigcheck.o
 
 LIBRARY=	../libpython$(VERSION).a
 
@@ -57,7 +58,10 @@
 
 # This target is used by the master Makefile to add the objects to the library
 add2lib:	$(OBJS)
-		$(AR) cr $(LIBRARY) $(OBJS)
+		$(AR) cr $(LIBRARY) $(AROBJS)
+		if test ! -f ../Modules/hassignal; \
+		then echo adding sigcheck.o; $(AR) r $(LIBRARY) sigcheck.o; \
+		else echo leaving sigcheck.o out; fi
 		touch add2lib
 
 clean: