fix cross compilationor libpayload / coreinfo by honoring
the setting of CC in the payload (coreinfo) when calling make CC=i386-elf-gcc AS=i386-elf-as AR=i386-elf-ar STRIP=i386-elf-strip This still does not cope with the hardcoded -fno-stack-protector in libpayload's Makefile. Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3477 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
695cff30e1
commit
c359124ef4
|
@ -45,8 +45,9 @@ HOSTCFLAGS := -I$(srck) -I$(objk)
|
||||||
HOSTCXXFLAGS := -I$(srck) -I$(objk)
|
HOSTCXXFLAGS := -I$(srck) -I$(objk)
|
||||||
|
|
||||||
LIBPAYLOAD_DIR := ../libpayload
|
LIBPAYLOAD_DIR := ../libpayload
|
||||||
CC = $(LIBPAYLOAD_DIR)/bin/lpgcc
|
XCC := CC=$(CC) $(LIBPAYLOAD_DIR)/bin/lpgcc
|
||||||
AS = $(LIBPAYLOAD_DIR)/bin/lpas
|
AS = $(LIBPAYLOAD_DIR)/bin/lpas
|
||||||
|
STRIP ?= strip
|
||||||
|
|
||||||
INCLUDES = -Ibuild
|
INCLUDES = -Ibuild
|
||||||
CFLAGS := -Wall -Werror -Os $(INCLUDES)
|
CFLAGS := -Wall -Werror -Os $(INCLUDES)
|
||||||
|
@ -68,9 +69,9 @@ all: prepare $(TARGET)
|
||||||
|
|
||||||
$(TARGET): $(src)/.config $(OBJS)
|
$(TARGET): $(src)/.config $(OBJS)
|
||||||
$(Q)printf " LD $(subst $(shell pwd)/,,$(@))\n"
|
$(Q)printf " LD $(subst $(shell pwd)/,,$(@))\n"
|
||||||
$(Q)$(CC) -o $@ $(OBJS)
|
$(Q)$(XCC) -o $@ $(OBJS)
|
||||||
$(Q)printf " STRIP $(subst $(shell pwd)/,,$(@))\n"
|
$(Q)printf " STRIP $(subst $(shell pwd)/,,$(@))\n"
|
||||||
$(Q)strip -s $@
|
$(Q)$(STRIP) -s $@
|
||||||
|
|
||||||
$(obj)/%.S.o: $(src)/%.S
|
$(obj)/%.S.o: $(src)/%.S
|
||||||
$(Q)printf " AS $(subst $(shell pwd)/,,$(@))\n"
|
$(Q)printf " AS $(subst $(shell pwd)/,,$(@))\n"
|
||||||
|
@ -78,7 +79,7 @@ $(obj)/%.S.o: $(src)/%.S
|
||||||
|
|
||||||
$(obj)/%.o: $(src)/%.c
|
$(obj)/%.o: $(src)/%.c
|
||||||
$(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n"
|
$(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n"
|
||||||
$(Q)$(CC) $(CFLAGS) -c -o $@ $<
|
$(Q)$(XCC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -28,8 +28,11 @@
|
||||||
|
|
||||||
# GCC wrapper for libpayload
|
# GCC wrapper for libpayload
|
||||||
|
|
||||||
DEFAULT_PREFIX=/opt
|
if [ "$CC" != "" ]; then
|
||||||
|
DEFAULT_CC=$CC
|
||||||
|
else
|
||||||
DEFAULT_CC=gcc
|
DEFAULT_CC=gcc
|
||||||
|
fi
|
||||||
|
|
||||||
BASE=`dirname $0`
|
BASE=`dirname $0`
|
||||||
|
|
||||||
|
@ -37,9 +40,10 @@ BASE=`dirname $0`
|
||||||
. $BASE/lp.functions
|
. $BASE/lp.functions
|
||||||
|
|
||||||
trygccoption() {
|
trygccoption() {
|
||||||
$DEFAULT_CC $1 -S -xc /dev/null -o .$$.tmp > /dev/null
|
$DEFAULT_CC $1 -S -xc /dev/null -o .$$.tmp &> /dev/null
|
||||||
|
RET=$?
|
||||||
rm -f .$$.tmp
|
rm -f .$$.tmp
|
||||||
return $?
|
return $RET
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUGME=0
|
DEBUGME=0
|
||||||
|
|
Loading…
Reference in New Issue