Author: stepan Date: 2008-08-07 17:22:01 +0200 (Thu, 07 Aug 2008) New Revision: 3477
Modified: trunk/payloads/coreinfo/Makefile trunk/payloads/libpayload/bin/lpgcc Log: 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
Modified: trunk/payloads/coreinfo/Makefile =================================================================== --- trunk/payloads/coreinfo/Makefile 2008-08-07 14:35:39 UTC (rev 3476) +++ trunk/payloads/coreinfo/Makefile 2008-08-07 15:22:01 UTC (rev 3477) @@ -45,8 +45,9 @@ HOSTCXXFLAGS := -I$(srck) -I$(objk)
LIBPAYLOAD_DIR := ../libpayload -CC = $(LIBPAYLOAD_DIR)/bin/lpgcc +XCC := CC=$(CC) $(LIBPAYLOAD_DIR)/bin/lpgcc AS = $(LIBPAYLOAD_DIR)/bin/lpas +STRIP ?= strip
INCLUDES = -Ibuild CFLAGS := -Wall -Werror -Os $(INCLUDES) @@ -68,9 +69,9 @@
$(TARGET): $(src)/.config $(OBJS) $(Q)printf " LD $(subst $(shell pwd)/,,$(@))\n" - $(Q)$(CC) -o $@ $(OBJS) + $(Q)$(XCC) -o $@ $(OBJS) $(Q)printf " STRIP $(subst $(shell pwd)/,,$(@))\n" - $(Q)strip -s $@ + $(Q)$(STRIP) -s $@
$(obj)/%.S.o: $(src)/%.S $(Q)printf " AS $(subst $(shell pwd)/,,$(@))\n" @@ -78,7 +79,7 @@
$(obj)/%.o: $(src)/%.c $(Q)printf " CC $(subst $(shell pwd)/,,$(@))\n" - $(Q)$(CC) $(CFLAGS) -c -o $@ $< + $(Q)$(XCC) $(CFLAGS) -c -o $@ $<
endif
Modified: trunk/payloads/libpayload/bin/lpgcc =================================================================== --- trunk/payloads/libpayload/bin/lpgcc 2008-08-07 14:35:39 UTC (rev 3476) +++ trunk/payloads/libpayload/bin/lpgcc 2008-08-07 15:22:01 UTC (rev 3477) @@ -28,8 +28,11 @@
# GCC wrapper for libpayload
-DEFAULT_PREFIX=/opt +if [ "$CC" != "" ]; then +DEFAULT_CC=$CC +else DEFAULT_CC=gcc +fi
BASE=`dirname $0`
@@ -37,9 +40,10 @@ . $BASE/lp.functions
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 - return $? + return $RET }
DEBUGME=0