Procházet zdrojové kódy

Fix the native toolchain build

Eric Andersen před 23 roky
rodič
revize
d30b9abaeb
1 změnil soubory, kde provedl 10 přidání a 4 odebrání
  1. 10 4
      make/uclibc_toolchain.mk

+ 10 - 4
make/uclibc_toolchain.mk

@@ -59,7 +59,7 @@ NATIVE_ARCH:= ${shell uname -m | sed \
 ifeq ($(strip $(ARCH)),$(strip $(NATIVE_ARCH)))
 CROSSARG=
 else
-CROSSARG=--cross=$(ARCH)-uclibc-
+CROSSARG=--cross=$(STAGING_DIR)/bin/$(ARCH)-uclibc-
 endif
 ifneq ($(HAS_MMU),true)
 NOMMU:=nommu
@@ -140,9 +140,11 @@ ifeq ($(LINUX_DIR),)
 LINUX_DIR:=$(BUILD_DIR)/linux
 endif
 $(LINUX_DIR)/.cross_compiler_set: $(BUILD_DIR)/.setup $(LINUX_DIR)/.configured
-	perl -i -p -e "s,^CROSS_COMPILE.*,\
-		CROSS_COMPILE=$(STAGING_DIR)/bin/$(ARCH)-uclibc-,g;" \
-		$(LINUX_DIR)/Makefile
+	#If we were cross compiling the kernel, we would need to do this,
+	# but for UserMode Linux, we can skip this step....
+	#perl -i -p -e "s,^CROSS_COMPILE.*,\
+	#	CROSS_COMPILE=$(STAGING_DIR)/bin/$(ARCH)-uclibc-,g;" \
+	#	$(LINUX_DIR)/Makefile
 	touch $(LINUX_DIR)/.cross_compiler_set
 
 linux_headers: $(LINUX_DIR)/.cross_compiler_set
@@ -172,6 +174,10 @@ $(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked
 	touch $(BINUTILS_DIR)/.patched
 
 $(BINUTILS_DIR)/.configured: $(BINUTILS_DIR)/.patched
+	@if `echo "true" | grep -r true`; then true; else \
+		echo "ERROR! Your grep doesn't support the -r argument."; \
+		exit 1; \
+	fi
 	(cd $(BINUTILS_DIR); perl -i -p -e "s,#.*define.*ELF_DYNAMIC_INTERPRETER.*\".*\"\
 		,#define ELF_DYNAMIC_INTERPRETER \"/lib/ld-uClibc.so.0\",;" \
 		`grep -lr "#.*define.*ELF_DYNAMIC_INTERPRETER.*\".*\"" $(BINUTILS_DIR)`);