X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/2c206aa41634aa41833463c41bae337e6778e226..c4d749b78a46e69887ec9662851f180e587f2d34:/buildlib/configure.mak

diff --git a/buildlib/configure.mak b/buildlib/configure.mak
index af6c35e38..7052e4c56 100644
--- a/buildlib/configure.mak
+++ b/buildlib/configure.mak
@@ -2,7 +2,7 @@
 
 # This make fragment is included by the toplevel make to handle configure
 # and setup. It defines a target called startup that when run will init
-# the build directory, generate configure from configure.in, create aclocal
+# the build directory, generate configure from configure.ac, create aclocal
 # and has rules to run config.status should one of the .in files change.
 
 # Input
@@ -12,16 +12,50 @@
 # It would be a fairly good idea to run this after a cvs checkout.
 BUILDDIR=build
 
-.PHONY: startup
-startup: configure $(BUILDDIR)/config.status $(addprefix $(BUILDDIR)/,$(CONVERTED)) 
+.PHONY: startup missing-config-files
+startup: configure $(BUILDDIR)/config.status $(addprefix $(BUILDDIR)/,$(CONVERTED))
 
-configure: aclocal.m4 configure.in
+# use the files provided from the system instead of carry around
+# and use (most of the time outdated) copycats
+ifeq (file-okay,$(shell test -r buildlib/config.sub && echo 'file-okay'))
+buildlib/config.sub:
+else
+   ifeq (file-okay,$(shell test -r /usr/share/misc/config.sub && echo 'file-okay'))
+buildlib/config.sub:
+	ln -sf /usr/share/misc/config.sub buildlib/config.sub
+   else
+buildlib/config.sub: missing-config-files
+   endif
+endif
+
+ifeq (file-okay,$(shell test -r buildlib/config.guess && echo 'file-okay'))
+buildlib/config.guess:
+else
+   ifeq (file-okay,$(shell test -r /usr/share/misc/config.guess && echo 'file-okay'))
+buildlib/config.guess:
+	ln -sf /usr/share/misc/config.guess buildlib/config.guess
+   else
+buildlib/config.guess: missing-config-files
+   endif
+endif
+
+missing-config-files:
+	@echo "APT needs 'config.guess' and 'config.sub' in buildlib/ for configuration."
+	@echo "On Debian systems these are available in the 'autotools-dev' package."
+	@echo
+	@echo "The latest versions can be acquired from the upstream git repository:"
+	@echo "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD"
+	@echo "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD"
+	exit 100
+
+configure: aclocal.m4 configure.ac buildlib/config.guess buildlib/config.sub
 	autoconf
 
-aclocal.m4:
+aclocal.m4: $(wildcard buildlib/*.m4)
 	aclocal -I buildlib
+
 $(BUILDDIR)/config.status: configure
-	/usr/bin/test -e $(BUILDDIR) || mkdir $(BUILDDIR)	
+	/usr/bin/test -e $(BUILDDIR) || mkdir $(BUILDDIR)
 	(HERE=`pwd`; cd $(BUILDDIR) && $$HERE/configure)
-$(addprefix $(BUILDDIR)/,$(CONVERTED)):
-	(cd $(BUILDDIR) && ./config.status)
+
+$(addprefix $(BUILDDIR)/,$(CONVERTED)): $(BUILDDIR)/config.status