From: wittinobi Date: Sat, 22 Nov 2014 00:31:50 +0000 (+0100) Subject: fix crosstool for gcc-version > 4.7 X-Git-Url: https://git.webhop.me/?a=commitdiff_plain;h=9a06273658c44f66252ee9d9d3a7ecd80588edeb;p=bs-cst-neutrino-hd.git fix crosstool for gcc-version > 4.7 --- diff --git a/make/archives.mk b/make/archives.mk index 05f6494..9da87e6 100755 --- a/make/archives.mk +++ b/make/archives.mk @@ -199,6 +199,7 @@ $(ARCHIVE)/crosstool-1.16.0-downloads.tar.bz2: $(WGET) http://www.fhloston-paradise.de/ppl-0.11.2.tar.bz2 $(WGET) http://www.fhloston-paradise.de/strace-4.6.tar.bz2 $(WGET) http://www.fhloston-paradise.de/expat-2.0.1.tar.gz + $(WGET) http://www.fhloston-paradise.de/isl-0.11.1.tar.bz2 $(ARCHIVE)/crosstool-1.19.0-downloads.tar.bz2: $(WGET) http://www.fhloston-paradise.de/crosstool-ng-1.19.0.tar.bz2 @@ -219,3 +220,4 @@ $(ARCHIVE)/crosstool-1.19.0-downloads.tar.bz2: $(WGET) http://www.fhloston-paradise.de/ppl-0.11.2.tar.bz2 $(WGET) http://www.fhloston-paradise.de/strace-4.6.tar.bz2 $(WGET) http://www.fhloston-paradise.de/expat-2.0.1.tar.gz + $(WGET) http://www.fhloston-paradise.de/isl-0.11.1.tar.bz2 diff --git a/make/crosstool.mk b/make/crosstool.mk index 70771f6..9d494f3 100755 --- a/make/crosstool.mk +++ b/make/crosstool.mk @@ -19,12 +19,22 @@ crosstool: prerequisites | $(ARCHIVE)/crosstool-$(CROSSTOOL_VERSION)-downloads.t sed -i -e 's#^CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR="$(BASE_DIR)/download"#' .config; \ sed -i -e 's#^CT_PREFIX_DIR=.*#CT_PREFIX_DIR="$(CROSS_BASE)"#' .config; \ sed -i -e 's#^CT_KERNEL_LINUX_CUSTOM_LOCATION=.*#CT_KERNEL_LINUX_CUSTOM_LOCATION="$(BASE_DIR)/download/linux-$(CST_KERNEL_VERSION)-cnxt.tar.bz2"#' .config; \ + if [ $(GCC) = "4.8" ] || [ $(GCC) = "4.9" ]; then \ + sed -i -e 's!^CT_CC_VERSION=.*!CT_CC_VERSION="$(GCC)"!' .config; \ + sed -i -e 's!^CT_CC_V_.*=y!# CT_CC_V_.* is not set!' .config; \ + sed -i -e 's!^# CT_CC_V_$(G_C_C) is not set!CT_CC_V_$(G_C_C)=y!' .config; \ + fi; \ fi; \ if [ $(PLATFORM) = "apollo" ]; then \ cp -a $(PATCHES)/crosstool-ng-$(CROSSTOOL_VERSION)-newconfig-apollo-uclibc .config; \ sed -i -e 's#^CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR="$(BASE_DIR)/download"#' .config; \ sed -i -e 's#^CT_PREFIX_DIR=.*#CT_PREFIX_DIR="$(CROSS_BASE)"#' .config; \ sed -i -e 's#^CT_KERNEL_LINUX_CUSTOM_LOCATION=.*#CT_KERNEL_LINUX_CUSTOM_LOCATION="$(BASE_DIR)/download/linux-$(CST_KERNEL_VERSION)-cnxt.tar.bz2"#' .config; \ + if [ $(GCC) = "4.8" ] || [ $(GCC) = "4.9" ]; then \ + sed -i -e 's!^CT_CC_VERSION=.*!CT_CC_VERSION="$(GCC)"!' .config; \ + sed -i -e 's!^CT_CC_V_.*=y!# CT_CC_V_.* is not set!' .config; \ + sed -i -e 's!^# CT_CC_V_$(G_C_C) is not set!CT_CC_V_$(G_C_C)=y!' .config; \ + fi; \ sed -i -e 's#^CT_LIBC_UCLIBC_CONFIG_FILE=.*#CT_LIBC_UCLIBC_CONFIG_FILE="$(BASE_DIR)/archive-patches/uClibc-0.9.33.2-config"#' .config; \ fi; \ if [ $(PLATFORM) = "kronos" ]; then \ @@ -32,6 +42,11 @@ crosstool: prerequisites | $(ARCHIVE)/crosstool-$(CROSSTOOL_VERSION)-downloads.t sed -i -e 's#^CT_LOCAL_TARBALLS_DIR=.*#CT_LOCAL_TARBALLS_DIR="$(BASE_DIR)/download"#' .config; \ sed -i -e 's#^CT_PREFIX_DIR=.*#CT_PREFIX_DIR="$(CROSS_BASE)"#' .config; \ sed -i -e 's#^CT_KERNEL_LINUX_CUSTOM_LOCATION=.*#CT_KERNEL_LINUX_CUSTOM_LOCATION="$(BASE_DIR)/download/linux-$(CST_KERNEL_VERSION)-cnxt.tar.bz2"#' .config; \ + if [ $(GCC) = "4.8" ] || [ $(GCC) = "4.9" ]; then \ + sed -i -e 's!^CT_CC_VERSION=.*!CT_CC_VERSION="$(GCC)"!' .config; \ + sed -i -e 's!^CT_CC_V_.*=y!# CT_CC_V_.* is not set!' .config; \ + sed -i -e 's!^# CT_CC_V_$(G_C_C) is not set!CT_CC_V_$(G_C_C)=y!' .config; \ + fi; \ sed -i -e 's#^CT_LIBC_UCLIBC_CONFIG_FILE=.*#CT_LIBC_UCLIBC_CONFIG_FILE="$(BASE_DIR)/archive-patches/uClibc-0.9.33.2-config"#' .config; \ fi; \ NUM_CPUS=$$(expr `getconf _NPROCESSORS_ONLN` \* 2); \ diff --git a/make/environment.mk b/make/environment.mk index 519defb..8e8d7e3 100755 --- a/make/environment.mk +++ b/make/environment.mk @@ -25,6 +25,22 @@ CROSS_DIR ?= $(CROSS_BASE) BUILD ?= $(shell /usr/share/libtool/config.guess 2>/dev/null || /usr/share/libtool/config/config.guess) +GCC = $(shell gcc -dumpversion | cut -c 1-3) + +GCC_4_7_1 = 4_7_1 +GCC_4_8_1 = 4_8_1 +GCC_4_9_1 = 4_9_1 + +ifeq ($(GCC), 4.7) + G_C_C = $(GCC_4_7_1) +endif +ifeq ($(GCC), 4.8) + G_C_C = $(GCC_4_8_1) +endif +ifeq ($(GCC), 4.9) + G_C_C = $(GCC_4_9_1) +endif + TARGET_NEVIS = arm-cx2450x-linux-gnueabi TARGET_APOLLO = arm-pnx8400-linux-uclibcgnueabi TARGET_KRONOS = arm-pnx8400-linux-uclibcgnueabi