ia64/xen-unstable

view Config.mk @ 15452:f152e44325a7

xenconsoled: improve robustness of logfile handling

Check the 'log_reload' on every iteration of the select() loop, not just when
select() returns EINTR. This is because the log reload signal may have
iterrupted a syscall other than select & thus without this change we
might miss the reload signal. The second change makes us process the
hypervisor logs on every iteration of the loop, not just upon timeouts.
This is because if a guest VM were consistently sending some log message
and < 1 second period, the select() would never hit the 1 second timeout
and thus never process the HV logs.

Thanks to Markus Armbruster for pointing out both these edge cases

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
author Keir Fraser <keir@xensource.com>
date Wed Jun 27 21:05:54 2007 +0100 (2007-06-27)
parents d5d6d2a8d10c
children 8528da5be577
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
23 DISTDIR ?= $(XEN_ROOT)/dist
24 DESTDIR ?= /
26 include $(XEN_ROOT)/config/$(XEN_OS).mk
27 include $(XEN_ROOT)/config/$(XEN_TARGET_ARCH).mk
29 ifneq ($(EXTRA_PREFIX),)
30 EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
31 EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBDIR)
32 endif
34 # cc-option: Check if compiler supports first option, else fall back to second.
35 # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
36 cc-option = $(shell if test -z "`$(1) $(2) -S -o /dev/null -xc \
37 /dev/null 2>&1`"; then echo "$(2)"; else echo "$(3)"; fi ;)
39 # cc-ver: Check compiler is at least specified version. Return boolean 'y'/'n'.
40 # Usage: ifeq ($(call cc-ver,$(CC),0x030400),y)
41 cc-ver = $(shell if [ $$((`$(1) -dumpversion | awk -F. \
42 '{ printf "0x%02x%02x%02x", $$1, $$2, $$3}'`)) -ge $$(($(2))) ]; \
43 then echo y; else echo n; fi ;)
45 # cc-ver-check: Check compiler is at least specified version, else fail.
46 # Usage: $(call cc-ver-check,CC,0x030400,"Require at least gcc-3.4")
47 cc-ver-check = $(eval $(call cc-ver-check-closure,$(1),$(2),$(3)))
48 define cc-ver-check-closure
49 ifeq ($$(call cc-ver,$$($(1)),$(2)),n)
50 override $(1) = echo "*** FATAL BUILD ERROR: "$(3) >&2; exit 1;
51 cc-option := n
52 endif
53 endef
55 ifneq ($(debug),y)
56 CFLAGS += -DNDEBUG
57 else
58 CFLAGS += -g
59 endif
61 CFLAGS += -std=gnu99
63 CFLAGS += -Wall -Wstrict-prototypes
65 # -Wunused-value makes GCC 4.x too aggressive for my taste: ignoring the
66 # result of any casted expression causes a warning.
67 CFLAGS += -Wno-unused-value
69 HOSTCFLAGS += $(call cc-option,$(HOSTCC),-Wdeclaration-after-statement,)
70 CFLAGS += $(call cc-option,$(CC),-Wdeclaration-after-statement,)
72 LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i))
73 CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
75 # If ACM_SECURITY = y, then the access control module is compiled
76 # into Xen and the policy type can be set by the boot policy file
77 # y - Build the Xen ACM framework
78 # n - Do not build the Xen ACM framework
79 ACM_SECURITY ?= n
81 # If ACM_SECURITY = y and no boot policy file is installed,
82 # then the ACM defaults to the security policy set by
83 # ACM_DEFAULT_SECURITY_POLICY
84 # Supported models are:
85 # ACM_NULL_POLICY
86 # ACM_CHINESE_WALL_AND_SIMPLE_TYPE_ENFORCEMENT_POLICY
87 ACM_DEFAULT_SECURITY_POLICY ?= ACM_NULL_POLICY
89 # Optional components
90 XENSTAT_XENTOP ?= y
91 VTPM_TOOLS ?= n
92 LIBXENAPI_BINDINGS ?= n
93 XENFB_TOOLS ?= n
94 PYTHON_TOOLS ?= y
96 -include $(XEN_ROOT)/.config