Automatic cross-compiler flags

Detect cross-compiling flags (CROSSCFLAGS) automatically based on endian
and word size differences.



git-svn-id: svn://coreboot.org/openbios/openbios-devel@66 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Stefan Reinauer
2006-07-18 21:35:55 +00:00
parent 2d78d46b11
commit b623837257
9 changed files with 3 additions and 33 deletions

View File

@@ -1,5 +1,6 @@
ARCH= $(shell cat rules.xml |grep "^ARCH" |cut -d\= -f2|tr -d \ )
HOSTARCH=$(shell config/scripts/archname)
CROSSCFLAGS=$(shell config/scripts/crosscflags $(HOSTARCH) $(ARCH))
ODIR=obj-$(ARCH)
all: info build
@@ -53,12 +54,12 @@ xml: directories
build: xml
@printf "Building..."
@( $(MAKE) -f $(ODIR)/Makefile > $(ODIR)/build.log 2>&1 && echo "ok." ) || \
@( $(MAKE) -f $(ODIR)/Makefile CROSSCFLAGS=$(CROSSCFLAGS) > $(ODIR)/build.log 2>&1 && echo "ok." ) || \
( echo "error:"; tail -15 $(ODIR)/build.log )
build-verbose:
@echo "Building..."
$(MAKE) -f $(ODIR)/Makefile
$(MAKE) -f $(ODIR)/Makefile "CROSSCFLAGS=$(CROSSCFLAGS)"
run:
@echo "Running..."

View File

@@ -9,7 +9,6 @@
ARCH := amd64
ODIR := obj-$(ARCH)
HOSTCC := gcc
CROSSCFLAGS := -DNATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH -USWAP_ENDIANNESS
HOSTCFLAGS := -O -g -fprofile-arcs -ftest-coverage -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS)
HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include

View File

@@ -9,7 +9,6 @@
ARCH := ppc
ODIR := obj-$(ARCH)
HOSTCC := gcc
CROSSCFLAGS := -DNATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH -DSWAP_ENDIANNESS
HOSTCFLAGS := -Os -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS)
HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include
#

View File

@@ -9,7 +9,6 @@
ARCH := sparc32
ODIR := obj-$(ARCH)
HOSTCC := gcc
CROSSCFLAGS := -DNATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH -DSWAP_ENDIANNESS
HOSTCFLAGS := -O2 -g -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS)
HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include

View File

@@ -9,7 +9,6 @@
ARCH := sparc64
ODIR := obj-$(ARCH)
HOSTCC := gcc
CROSSCFLAGS := -DNATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH -DSWAP_ENDIANNESS
HOSTCFLAGS := -O2 -g -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS)
HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include

View File

@@ -9,7 +9,6 @@
ARCH := sparc32
ODIR := obj-$(ARCH)
HOSTCC := gcc
CROSSCFLAGS := -DNATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH -USWAP_ENDIANNESS
HOSTCFLAGS := -O2 -g -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS)
HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include

View File

@@ -9,7 +9,6 @@
ARCH := sparc64
ODIR := obj-$(ARCH)
HOSTCC := gcc
CROSSCFLAGS := -DNATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH -USWAP_ENDIANNESS
HOSTCFLAGS := -O2 -g -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS)
HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include

View File

@@ -9,7 +9,6 @@
ARCH := x86
ODIR := obj-$(ARCH)
HOSTCC := gcc
CROSSCFLAGS := -DNATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH -USWAP_ENDIANNESS
HOSTCFLAGS := -O2 -g -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS) -Wno-unused
HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include

View File

@@ -14,30 +14,6 @@
* unchanged memory access for performance.
*/
#if 0
// This is being moved to rules.xml for now.
#ifdef FCOMPILER
/* FIXME these should be automatically determinded.
* Manually setting them here is a PITA.
*/
#define NATIVE_BITWIDTH_LARGER_THAN_HOST_BITWIDTH
//#define NATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH
//#define NATIVE_BITWIDTH_SMALLER_THAN_HOST_BITWIDTH
//#define SWAP_ENDIANNESS
#undef SWAP_ENDIANNESS
#else /* FCOMPILER */
#define NATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH
#undef SWAP_ENDIANNESS
#endif
#endif
/* byte swapping */
#ifndef SWAP_ENDIANNESS