direct-io.hg

view Config.mk @ 15505:224da1b2c5c2

Add hooks for a script to update kernel configuration after tree has been
prepared. This is to support upstream sources which do not enable Xen in their
default configurations.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
author Ian Campbell <ian.campbell@xensource.com>
date Mon Jul 09 11:29:39 2007 +0100 (2007-07-09)
parents 8528da5be577
children
line source
1 # -*- mode: Makefile; -*-
3 # A debug build of Xen and tools?
4 debug ?= n
6 XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/ \
7 -e s/ppc/powerpc/ -e s/i86pc/x86_32/)
8 XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH)
9 XEN_OS ?= $(shell uname -s)
11 ifeq ($(XEN_TARGET_ARCH),x86_32)
12 XEN_TARGET_X86_PAE ?= y
13 endif
15 CONFIG_$(XEN_OS) := y
17 SHELL ?= /bin/sh
19 # Tools to run on system hosting the build
20 HOSTCC = gcc
21 HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
22 HOSTCFLAGS += -fno-strict-aliasing
24 DISTDIR ?= $(XEN_ROOT)/dist
25 DESTDIR ?= /
27 include $(XEN_ROOT)/config/$(XEN_OS).mk
28 include $(XEN_ROOT)/config/$(XEN_TARGET_ARCH).mk
30 ifneq ($(EXTRA_PREFIX),)
31 EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
32 EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBDIR)
33 endif
35 # cc-option: Check if compiler supports first option, else fall back to second.
36 # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
37 cc-option = $(shell if test -z "`$(1) $(2) -S -o /dev/null -xc \
38 /dev/null 2>&1`"; then echo "$(2)"; else echo "$(3)"; fi ;)
40 # cc-ver: Check compiler is at least specified version. Return boolean 'y'/'n'.
41 # Usage: ifeq ($(call cc-ver,$(CC),0x030400),y)
42 cc-ver = $(shell if [ $$((`$(1) -dumpversion | awk -F. \
43 '{ printf "0x%02x%02x%02x", $$1, $$2, $$3}'`)) -ge $$(($(2))) ]; \
44 then echo y; else echo n; fi ;)
46 # cc-ver-check: Check compiler is at least specified version, else fail.
47 # Usage: $(call cc-ver-check,CC,0x030400,"Require at least gcc-3.4")
48 cc-ver-check = $(eval $(call cc-ver-check-closure,$(1),$(2),$(3)))
49 define cc-ver-check-closure
50 ifeq ($$(call cc-ver,$$($(1)),$(2)),n)
51 override $(1) = echo "*** FATAL BUILD ERROR: "$(3) >&2; exit 1;
52 cc-option := n
53 endif
54 endef
56 ifneq ($(debug),y)
57 CFLAGS += -DNDEBUG
58 else
59 CFLAGS += -g
60 endif
62 CFLAGS += -fno-strict-aliasing
64 CFLAGS += -std=gnu99
66 CFLAGS += -Wall -Wstrict-prototypes
68 # -Wunused-value makes GCC 4.x too aggressive for my taste: ignoring the
69 # result of any casted expression causes a warning.
70 CFLAGS += -Wno-unused-value
72 HOSTCFLAGS += $(call cc-option,$(HOSTCC),-Wdeclaration-after-statement,)
73 CFLAGS += $(call cc-option,$(CC),-Wdeclaration-after-statement,)
75 LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i))
76 CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
78 # If ACM_SECURITY = y, then the access control module is compiled
79 # into Xen and the policy type can be set by the boot policy file
80 # y - Build the Xen ACM framework
81 # n - Do not build the Xen ACM framework
82 ACM_SECURITY ?= n
84 # If ACM_SECURITY = y and no boot policy file is installed,
85 # then the ACM defaults to the security policy set by
86 # ACM_DEFAULT_SECURITY_POLICY
87 # Supported models are:
88 # ACM_NULL_POLICY
89 # ACM_CHINESE_WALL_AND_SIMPLE_TYPE_ENFORCEMENT_POLICY
90 ACM_DEFAULT_SECURITY_POLICY ?= ACM_NULL_POLICY
92 # Optional components
93 XENSTAT_XENTOP ?= y
94 VTPM_TOOLS ?= n
95 LIBXENAPI_BINDINGS ?= n
96 XENFB_TOOLS ?= n
97 PYTHON_TOOLS ?= y
99 -include $(XEN_ROOT)/.config