ia64/xen-unstable

view Config.mk @ 19128:77393d4de777

[IA64] No need for cmpxchg on page_info structure.

Updates and checks on count_info and page owner can safely be
non-atomic.
This is ia64 counter part of 19088:055c589f4791.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author Isaku Yamahata <yamahata@valinux.co.jp>
date Fri Jan 30 11:12:29 2009 +0900 (2009-01-30)
parents 27e9687c5b3d
children 414373f007e8
line source
1 # -*- mode: Makefile; -*-
3 # A debug build of Xen and tools?
4 debug ?= y ## TEMPORARILY ENABLED
6 XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/ \
7 -e s/i86pc/x86_32/ -e s/amd64/x86_64/)
8 XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH)
9 XEN_OS ?= $(shell uname -s)
11 CONFIG_$(XEN_OS) := y
13 SHELL ?= /bin/sh
15 # Tools to run on system hosting the build
16 HOSTCC = gcc
17 HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer
18 HOSTCFLAGS += -fno-strict-aliasing
20 DISTDIR ?= $(XEN_ROOT)/dist
21 DESTDIR ?= /
22 DOCDIR ?= /usr/share/doc/xen
23 MANDIR ?= /usr/share/man
25 # Allow phony attribute to be listed as dependency rather than fake target
26 .PHONY: .phony
28 include $(XEN_ROOT)/config/$(XEN_OS).mk
29 include $(XEN_ROOT)/config/$(XEN_TARGET_ARCH).mk
31 ifneq ($(EXTRA_PREFIX),)
32 EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
33 EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBLEAFDIR)
34 endif
36 # cc-option: Check if compiler supports first option, else fall back to second.
37 # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
38 cc-option = $(shell if test -z "`$(1) $(2) -S -o /dev/null -xc \
39 /dev/null 2>&1`"; then echo "$(2)"; else echo "$(3)"; fi ;)
41 # cc-option-add: Add an option to compilation flags, but only if supported.
42 # Usage: $(call cc-option-add CFLAGS,CC,-march=winchip-c6)
43 cc-option-add = $(eval $(call cc-option-add-closure,$(1),$(2),$(3)))
44 define cc-option-add-closure
45 ifneq ($$(call cc-option,$$($(2)),$(3),n),n)
46 $(1) += $(3)
47 endif
48 endef
50 # cc-ver: Check compiler is at least specified version. Return boolean 'y'/'n'.
51 # Usage: ifeq ($(call cc-ver,$(CC),0x030400),y)
52 cc-ver = $(shell if [ $$((`$(1) -dumpversion | awk -F. \
53 '{ printf "0x%02x%02x%02x", $$1, $$2, $$3}'`)) -ge $$(($(2))) ]; \
54 then echo y; else echo n; fi ;)
56 # cc-ver-check: Check compiler is at least specified version, else fail.
57 # Usage: $(call cc-ver-check,CC,0x030400,"Require at least gcc-3.4")
58 cc-ver-check = $(eval $(call cc-ver-check-closure,$(1),$(2),$(3)))
59 define cc-ver-check-closure
60 ifeq ($$(call cc-ver,$$($(1)),$(2)),n)
61 override $(1) = echo "*** FATAL BUILD ERROR: "$(3) >&2; exit 1;
62 cc-option := n
63 endif
64 endef
66 define absolutify_xen_root
67 case "$(XEN_ROOT)" in \
68 /*) XEN_ROOT=$(XEN_ROOT) ;; \
69 *) xen_root_lhs=`pwd`; \
70 xen_root_rhs=$(XEN_ROOT)/; \
71 while [ "x$${xen_root_rhs#../}" != "x$$xen_root_rhs" ]; do \
72 xen_root_rhs="$${xen_root_rhs#../}"; \
73 xen_root_rhs="$${xen_root_rhs#/}"; \
74 xen_root_rhs="$${xen_root_rhs#/}"; \
75 xen_root_lhs="$${xen_root_lhs%/*}"; \
76 done; \
77 XEN_ROOT="$$xen_root_lhs/$$xen_root_rhs" ;; \
78 esac; \
79 export XEN_ROOT
80 endef
82 ifeq ($(debug),y)
83 CFLAGS += -g
84 endif
86 CFLAGS += -fno-strict-aliasing
88 CFLAGS += -std=gnu99
90 CFLAGS += -Wall -Wstrict-prototypes
92 # -Wunused-value makes GCC 4.x too aggressive for my taste: ignoring the
93 # result of any casted expression causes a warning.
94 CFLAGS += -Wno-unused-value
96 $(call cc-option-add,HOSTCFLAGS,HOSTCC,-Wdeclaration-after-statement)
97 $(call cc-option-add,CFLAGS,CC,-Wdeclaration-after-statement)
99 LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i))
100 CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
102 # Enable XSM security module. Enabling XSM requires selection of an
103 # XSM security module (FLASK_ENABLE or ACM_SECURITY).
104 XSM_ENABLE ?= n
105 FLASK_ENABLE ?= n
106 ACM_SECURITY ?= n
108 XEN_EXTFILES_URL=http://xenbits.xensource.com/xen-extfiles
109 # All the files at that location were downloaded from elsewhere on
110 # the internet. The original download URL is preserved as a comment
111 # near the place in the Xen Makefiles where the file is used.
113 QEMU_REMOTE=http://xenbits.xensource.com/git-http/qemu-xen-unstable.git
115 # Specify which qemu-dm to use. This may be `ioemu' to use the old
116 # Mercurial in-tree version, or a local directory, or a git URL.
117 # CONFIG_QEMU ?= ../qemu-xen.git
118 CONFIG_QEMU ?= $(QEMU_REMOTE)
120 # Optional components
121 XENSTAT_XENTOP ?= y
122 VTPM_TOOLS ?= n
123 LIBXENAPI_BINDINGS ?= n
124 PYTHON_TOOLS ?= y
125 CONFIG_MINITERM ?= n
126 CONFIG_LOMOUNT ?= n
128 -include $(XEN_ROOT)/.config