[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Improved cross-compilation support.
ChangeSet 1.1341, 2005/03/22 09:00:30+00:00, kaf24@xxxxxxxxxxxxxxxxxxxx Improved cross-compilation support. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> Config.mk | 33 +++++++++++++++++++++++++++++++++ Makefile | 1 + tools/Rules.mk | 5 ++--- tools/libxc/Makefile | 2 +- tools/libxutil/Makefile | 2 -- tools/misc/Makefile | 1 - tools/xentrace/Makefile | 1 - xen/Rules.mk | 8 ++------ xen/arch/x86/Rules.mk | 9 +++------ xen/tools/figlet/Makefile | 4 ++-- 10 files changed, 44 insertions(+), 22 deletions(-) diff -Nru a/Config.mk b/Config.mk --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/Config.mk 2005-03-22 05:03:37 -05:00 @@ -0,0 +1,33 @@ +# -*- mode: Makefile; -*- +# Currently supported architectures: x86_32, x86_64 +XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/) +XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH) + +# +# Tool configuration Makefile fragment +# +HOSTCC = gcc +HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer + +AS = $(CROSS_COMPILE)as +LD = $(CROSS_COMPILE)ld +CC = $(CROSS_COMPILE)gcc +CPP = $(CROSS_COMPILE)gcc -E +AR = $(CROSS_COMPILE)ar +NM = $(CROSS_COMPILE)nm +STRIP = $(CROSS_COMPILE)strip +OBJCOPY = $(CROSS_COMPILE)objcopy +OBJDUMP = $(CROSS_COMPILE)objdump + + +ifneq ($(EXTRA_PREFIX),) +EXTRA_INCLUDES += $(EXTRA_PREFIX)/include +EXTRA_LIB += $(EXTRA_PREFIX)/lib +endif + +LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i)) +CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i)) + +CFLAGS += -g + + diff -Nru a/Makefile b/Makefile --- a/Makefile 2005-03-22 05:03:37 -05:00 +++ b/Makefile 2005-03-22 05:03:37 -05:00 @@ -27,6 +27,7 @@ export XEN_TARGET_ARCH SUBARCH endif +include Config.mk include buildconfigs/Rules.mk .PHONY: all dist install xen tools kernels docs world clean mkpatches mrproper diff -Nru a/tools/Rules.mk b/tools/Rules.mk --- a/tools/Rules.mk 2005-03-22 05:03:37 -05:00 +++ b/tools/Rules.mk 2005-03-22 05:03:37 -05:00 @@ -1,11 +1,10 @@ # -*- mode: Makefile; -*- +include $(XEN_ROOT)/Config.mk + XEN_XC = $(XEN_ROOT)/tools/python/xen/lowlevel/xc XEN_LIBXC = $(XEN_ROOT)/tools/libxc XEN_LIBXUTIL = $(XEN_ROOT)/tools/libxutil - -XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/) -XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH) ifeq ($(XEN_TARGET_ARCH),x86_32) CFLAGS += -m32 -march=i686 diff -Nru a/tools/libxc/Makefile b/tools/libxc/Makefile --- a/tools/libxc/Makefile 2005-03-22 05:03:37 -05:00 +++ b/tools/libxc/Makefile 2005-03-22 05:03:37 -05:00 @@ -105,6 +105,6 @@ ln -sf $< $@ libxc.so.$(MAJOR).$(MINOR): $(PIC_OBJS) - $(CC) $(CFLAGS) -Wl,-soname -Wl,libxc.so.$(MAJOR) -shared -o $@ $^ -L../libxutil -lxutil -lz + $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxc.so.$(MAJOR) -shared -o $@ $^ -L../libxutil -lxutil -lz -include $(DEPS) diff -Nru a/tools/libxutil/Makefile b/tools/libxutil/Makefile --- a/tools/libxutil/Makefile 2005-03-22 05:03:37 -05:00 +++ b/tools/libxutil/Makefile 2005-03-22 05:03:37 -05:00 @@ -7,8 +7,6 @@ include $(XEN_ROOT)/tools/Rules.mk -CC = gcc - LIB_SRCS := LIB_SRCS += allocate.c LIB_SRCS += enum.c diff -Nru a/tools/misc/Makefile b/tools/misc/Makefile --- a/tools/misc/Makefile 2005-03-22 05:03:37 -05:00 +++ b/tools/misc/Makefile 2005-03-22 05:03:37 -05:00 @@ -5,7 +5,6 @@ XEN_ROOT=../.. include $(XEN_ROOT)/tools/Rules.mk -CC = gcc CFLAGS += -Wall -Werror -O3 INCLUDES += -I $(XEN_XC) diff -Nru a/tools/xentrace/Makefile b/tools/xentrace/Makefile --- a/tools/xentrace/Makefile 2005-03-22 05:03:37 -05:00 +++ b/tools/xentrace/Makefile 2005-03-22 05:03:37 -05:00 @@ -6,7 +6,6 @@ XEN_ROOT=../.. include $(XEN_ROOT)/tools/Rules.mk -CC = gcc CFLAGS += -Wall -Werror -O3 CFLAGS += -I $(XEN_XC) diff -Nru a/xen/Rules.mk b/xen/Rules.mk --- a/xen/Rules.mk 2005-03-22 05:03:37 -05:00 +++ b/xen/Rules.mk 2005-03-22 05:03:37 -05:00 @@ -7,9 +7,7 @@ domu_debug ?= n crash_debug ?= n -# Currently supported architectures: x86_32, x86_64 -XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/) -XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH) +include $(BASEDIR)/../Config.mk # Set ARCH/SUBARCH appropriately. override COMPILE_SUBARCH := $(XEN_COMPILE_ARCH) @@ -39,10 +37,8 @@ ALL_OBJS += $(BASEDIR)/drivers/pci/driver.o ALL_OBJS += $(BASEDIR)/arch/$(TARGET_ARCH)/arch.o -HOSTCC = gcc -HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -test-gcc-flag = $(shell gcc -v --help 2>&1 | grep -q " $(1) " && echo $(1)) +test-gcc-flag = $(shell $(CC) -v --help 2>&1 | grep -q " $(1) " && echo $(1)) include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk diff -Nru a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk --- a/xen/arch/x86/Rules.mk 2005-03-22 05:03:37 -05:00 +++ b/xen/arch/x86/Rules.mk 2005-03-22 05:03:37 -05:00 @@ -1,10 +1,7 @@ ######################################## # x86-specific definitions -CC := gcc -LD := ld - -CFLAGS := -nostdinc -fno-builtin -fno-common -fno-strict-aliasing +CFLAGS += -nostdinc -fno-builtin -fno-common -fno-strict-aliasing CFLAGS += -iwithprefix include -Wall -Werror -Wno-format -pipe CFLAGS += -I$(BASEDIR)/include -Wno-pointer-arith -Wredundant-decls @@ -24,13 +21,13 @@ ifeq ($(TARGET_SUBARCH),x86_32) CFLAGS += -m32 -march=i686 -LDFLAGS := -m elf_i386 +LDFLAGS += -m elf_i386 endif ifeq ($(TARGET_SUBARCH),x86_64) CFLAGS += -m64 -mno-red-zone -fpic -fno-reorder-blocks CFLAGS += -fno-asynchronous-unwind-tables -LDFLAGS := -m elf_x86_64 +LDFLAGS += -m elf_x86_64 endif # Test for at least GCC v3.2.x. diff -Nru a/xen/tools/figlet/Makefile b/xen/tools/figlet/Makefile --- a/xen/tools/figlet/Makefile 2005-03-22 05:03:37 -05:00 +++ b/xen/tools/figlet/Makefile 2005-03-22 05:03:37 -05:00 @@ -1,8 +1,8 @@ -CC := gcc +include ../../Config.mk figlet: figlet.c - $(CC) -o $@ $< + $(HOSTCC) -o $@ $< clean: rm -f *.o figlet ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |