X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=toolchain%2Fgcc%2Fcommon.mk;h=c6e01b5758cc09c0cf4392959c6209af8fca1101;hp=2912f8f6120e649e1f73ee700b28ed48630ff1ee;hb=b2c66724d71aa252b2d21c9984e7866a025ffd86;hpb=6ae4479190a2d73cad047eab6e86d4a71323329b diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index 2912f8f612..c6e01b5758 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -1,7 +1,7 @@ # # Copyright (C) 2002-2003 Erik Andersen # Copyright (C) 2004 Manuel Novoa III -# Copyright (C) 2005-2006 Felix Fietkau +# Copyright (C) 2005-2006 Felix Fietkau # Copyright (C) 2006-2014 OpenWrt.org # # This program is free software; you can redistribute it and/or modify @@ -28,28 +28,28 @@ GCC_DIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_URL:=@GNU/gcc/gcc-$(PKG_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -ifeq ($(PKG_VERSION),5.2.0) - PKG_MD5SUM:=a51bcfeb3da7dd4c623e27207ed43467 +ifeq ($(PKG_VERSION),5.4.0) + PKG_HASH:=608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a +endif + +ifeq ($(PKG_VERSION),6.3.0) + PKG_HASH:=f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f endif ifneq ($(CONFIG_GCC_VERSION_4_8_ARC),) - PKG_VERSION:=4.8.4 - PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/archive/arc-2015.06 + PKG_VERSION:=4.8.5 + PKG_SOURCE_URL:=https://github.com/foss-for-synopsys-dwc-arc-processors/gcc/archive/arc-2016.03 PKG_SOURCE:=$(PKG_NAME)-$(GCC_VERSION).tar.gz - PKG_MD5SUM:=25007ebb02a5f6c32532b103bb5984a0 - PKG_REV:=2015.06 + PKG_HASH:=6a5eb0c83dca16f228ac836677a1fbb42a53c30334487ac37c2c18db80a38f35 + PKG_REV:=2016.03 GCC_DIR:=gcc-arc-$(PKG_REV) HOST_BUILD_DIR = $(BUILD_DIR_HOST)/$(PKG_NAME)-$(GCC_VERSION) endif PATCH_DIR=../patches/$(GCC_VERSION) -BUGURL=https://dev.openwrt.org/ -ifeq ($(findstring linaro, $(CONFIG_GCC_VERSION)),linaro) - PKGVERSION=OpenWrt/Linaro GCC $(PKG_REV) $(REVISION) -else - PKGVERSION=OpenWrt GCC $(PKG_VERSION) $(REVISION) -endif +BUGURL=http://www.lede-project.org/bugs/ +PKGVERSION=LEDE GCC $(PKG_VERSION) $(REVISION) HOST_BUILD_PARALLEL:=1 @@ -69,19 +69,24 @@ HOST_STAMP_CONFIGURED:=$(GCC_BUILD_DIR)/.configured HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.gcc_$(GCC_VARIANT)_installed SEP:=, -TARGET_LANGUAGES:="c,c++$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if $(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)" +TARGET_LANGUAGES:="c,c++$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if $(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)$(if $(CONFIG_INSTALL_GCCGO),$(SEP)go)" + +TAR_OPTIONS += --exclude='gcc/testsuite/*' --exclude=gcc/ada/*.ad* + +ifndef CONFIG_INSTALL_LIBGCJ + TAR_OPTIONS += --exclude=libjava +endif export libgcc_cv_fixed_point=no ifdef CONFIG_USE_UCLIBC export glibcxx_cv_c99_math_tr1=no endif +ifdef CONFIG_INSTALL_GCCGO + export libgo_cv_c_split_stack_supported=no +endif ifdef CONFIG_GCC_USE_GRAPHITE - ifdef CONFIG_GCC_VERSION_4_8 - GRAPHITE_CONFIGURE=--with-cloog=$(REAL_STAGING_DIR_HOST) - else - GRAPHITE_CONFIGURE=--with-isl=$(REAL_STAGING_DIR_HOST) - endif + GRAPHITE_CONFIGURE=--with-isl=$(REAL_STAGING_DIR_HOST) else GRAPHITE_CONFIGURE=--without-isl --without-cloog endif @@ -104,6 +109,7 @@ GCC_CONFIGURE:= \ --disable-libgomp \ --disable-libmudflap \ --disable-multilib \ + --disable-libmpx \ --disable-nls \ $(GRAPHITE_CONFIGURE) \ --with-host-libstdcxx=-lstdc++ \ @@ -111,6 +117,7 @@ GCC_CONFIGURE:= \ $(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \ $(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 \ --with-abi=$(call qstrip,$(CONFIG_MIPS64_ABI))) \ + $(if $(CONFIG_arc),--with-cpu=$(CONFIG_CPU_TYPE)) \ --with-gmp=$(TOPDIR)/staging_dir/host \ --with-mpfr=$(TOPDIR)/staging_dir/host \ --with-mpc=$(TOPDIR)/staging_dir/host \ @@ -162,17 +169,42 @@ ifneq ($(CONFIG_SOFT_FLOAT),y) endif endif +ifeq ($(CONFIG_TARGET_x86)$(CONFIG_USE_GLIBC)$(CONFIG_INSTALL_GCCGO),yyy) + TARGET_CFLAGS+=-fno-split-stack +endif + GCC_MAKE:= \ export SHELL="$(BASH)"; \ $(MAKE) \ CFLAGS="$(HOST_CFLAGS)" \ CFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ - CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" + CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" \ + GOCFLAGS_FOR_TARGET="$(TARGET_CFLAGS)" -define Host/Prepare - mkdir -p $(GCC_BUILD_DIR) +define Host/SetToolchainInfo + $(SED) 's,TARGET_CROSS=.*,TARGET_CROSS=$(REAL_GNU_TARGET_NAME)-,' $(TOOLCHAIN_DIR)/info.mk + $(SED) 's,GCC_VERSION=.*,GCC_VERSION=$(GCC_VERSION),' $(TOOLCHAIN_DIR)/info.mk endef +ifneq ($(GCC_PREPARE),) + define Host/Prepare + $(call Host/SetToolchainInfo) + $(call Host/Prepare/Default) + ln -snf $(GCC_DIR) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) + $(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_SOURCE_DIR)/ + $(SED) 's,^MULTILIB_OSDIRNAMES,# MULTILIB_OSDIRNAMES,' $(HOST_SOURCE_DIR)/gcc/config/*/t-* + $(SED) 'd' $(HOST_SOURCE_DIR)/gcc/DEV-PHASE + $(SED) 's, DATESTAMP,,' $(HOST_SOURCE_DIR)/gcc/version.c + #(cd $(HOST_SOURCE_DIR)/libstdc++-v3; autoconf;); + $(SED) 's,gcc_no_link=yes,gcc_no_link=no,' $(HOST_SOURCE_DIR)/libstdc++-v3/configure + mkdir -p $(GCC_BUILD_DIR) + endef +else + define Host/Prepare + mkdir -p $(GCC_BUILD_DIR) + endef +endif + define Host/Configure (cd $(GCC_BUILD_DIR) && rm -f config.cache; \ $(GCC_CONFIGURE) \ @@ -180,7 +212,7 @@ define Host/Configure endef define Host/Clean - rm -rf \ + rm -rf $(if $(GCC_PREPARE),$(HOST_SOURCE_DIR)) \ $(STAGING_DIR_HOST)/stamp/.gcc_* \ $(STAGING_DIR_HOST)/stamp/.binutils_* \ $(GCC_BUILD_DIR) \