[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.