b=530038; add build warning if configure or config.status are out of date; r=ted
authorVladimir Vukicevic <vladimir@pobox.com>
Fri, 22 Jan 2010 16:39:13 -0800
changeset 37423 9b1f6f6aebeb51a48add59c7333a498ec1b52c07
parent 37422 b27f05c8743bfc54b5ab6c15544a0cb73a44b749
child 37424 54b9a3f62975cc0c9ecc9cef88320304000c49ea
push idunknown
push userunknown
push dateunknown
reviewersted
bugs530038
milestone1.9.3a1pre
b=530038; add build warning if configure or config.status are out of date; r=ted
Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -83,24 +83,38 @@ include $(topsrcdir)/config/config.mk
 
 GARBAGE_DIRS += dist _javagen _profile _tests staticlib
 DIST_GARBAGE = config.cache config.log config.status config-defs.h \
    dependencies.beos config/autoconf.mk config/myrules.mk config/myconfig.mk \
    unallmakefiles mozilla-config.h \
    netwerk/necko-config.h xpcom/xpcom-config.h xpcom/xpcom-private.h \
    $(topsrcdir)/.mozconfig.mk $(topsrcdir)/.mozconfig.out
 
-default alldep all::
+default alldep all:: $(topsrcdir)/configure config.status
 	$(RM) -rf $(DIST)/sdk
 	$(RM) -rf $(DIST)/include
 	$(RM) -rf $(DIST)/private
 	$(RM) -rf $(DIST)/public
 	$(RM) -rf $(DIST)/bin/components
 	$(RM) -rf _tests
 
+$(topsrcdir)/configure: $(topsrcdir)/configure.in
+	@echo "STOP!  configure.in has changed, and your configure is out of date."
+	@echo "Please rerun autoconf and re-configure your build directory."
+	@echo "To ignore this message, touch 'configure' in the source directory,"
+	@echo "but your build might not succeed."
+	@exit 1
+
+config.status: $(topsrcdir)/configure
+	@echo "STOP!  configure has changed and needs to be run in this build directory."
+	@echo "Please rerun configure."
+	@echo "To ignore this message, touch 'config.status' in the build directory,"
+	@echo "but your build might not succeed."
+	@exit 1
+
 # Build pseudo-external modules first when export is explicitly called
 export::
 	$(RM) -rf $(DIST)/sdk
 	$(MAKE) -C config export
 	$(MAKE) tier_nspr
 
 ifdef ENABLE_TESTS
 # Additional makefile targets to call automated test suites