aboutsummaryrefslogtreecommitdiffstats
path: root/Config.mk
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-03-27 14:50:17 +0100
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-03-27 14:50:17 +0100
commitaacef84b337c59c447472f9102f270e3887254cd (patch)
treef0c388913ea55aa5b6251e7d94d0c45e286d4589 /Config.mk
parent4d5a404460a70fa985f93a637b792bb5544c54d8 (diff)
downloadxen-aacef84b337c59c447472f9102f270e3887254cd.tar.gz
xen-aacef84b337c59c447472f9102f270e3887254cd.tar.bz2
xen-aacef84b337c59c447472f9102f270e3887254cd.zip
In order to allow building as non-root with a non-default CC (which
root may not have access to through its $PATH), defer the generation of an error until CC is actually needed. Original patch by Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'Config.mk')
-rw-r--r--Config.mk14
1 files changed, 12 insertions, 2 deletions
diff --git a/Config.mk b/Config.mk
index 0181cc3ad1..57d17740ad 100644
--- a/Config.mk
+++ b/Config.mk
@@ -31,17 +31,27 @@ EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBDIR)
endif
-# cc-option
+# cc-option: Check if compiler supports first option, else fall back to second.
# Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
cc-option = $(shell if test -z "`$(1) $(2) -S -o /dev/null -xc \
/dev/null 2>&1`"; then echo "$(2)"; else echo "$(3)"; fi ;)
-# cc-ver
+# cc-ver: Check compiler is at least specified version. Return boolean 'y'/'n'.
# Usage: ifeq ($(call cc-ver,$(CC),0x030400),y)
cc-ver = $(shell if [ $$((`$(1) -dumpversion | awk -F. \
'{ printf "0x%02x%02x%02x", $$1, $$2, $$3}'`)) -ge $$(($(2))) ]; \
then echo y; else echo n; fi ;)
+# cc-ver-check: Check compiler is at least specified version, else fail.
+# Usage: $(call cc-ver-check,CC,0x030400,"Require at least gcc-3.4")
+cc-ver-check = $(eval $(call cc-ver-check-closure,$(1),$(2),$(3)))
+define cc-ver-check-closure
+ ifeq ($$(call cc-ver,$$($(1)),$(2)),n)
+ override $(1) = echo "*** FATAL BUILD ERROR: "$(3) >&2; exit 1;
+ cc-option := n
+ endif
+endef
+
ifneq ($(debug),y)
CFLAGS += -DNDEBUG
else