diff --git a/devel/gcc/Makefile b/devel/gcc/Makefile index 0fe5914fa..ba0b9c2a8 100644 --- a/devel/gcc/Makefile +++ b/devel/gcc/Makefile @@ -9,33 +9,45 @@ # for instance mpfr, mpc and gmp development packages! # include $(TOPDIR)/rules.mk -PKG_NAME:=gcc -PKG_VERSION:=linaro-4.6-2013.05 -PKG_RELEASE:=1 -PKG_SOURCE_URL:=https://releases.linaro.org/13.05/components/toolchain/gcc-linaro/4.6/ -PKG_SOURCE:=gcc-$(PKG_VERSION).tar.bz2 -PKG_MD5SUM:=26b48802ae1203cd99415026fbf56ed7 +PKG_NAME:=gcc +PKG_VERSION:=4.6.3 +PKG_RELEASE:=1 +PKG_SOURCE_URL:=ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-$(PKG_VERSION) \ + http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(PKG_VERSION) \ + ftp://ftp.gnu.org/gnu/gcc/releases/gcc-$(PKG_VERSION) + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_MD5SUM:=773092fe5194353b02bb0110052a972e +PKG_INSTALL:=1 +PKG_FIXUP:=libtool PKG_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/package.mk SEP:=, TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)" -EXTRA_TARGET=$(if $(CONFIG_EXTRA_TARGET_ARCH),--enable-biarch --enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-uclibc) define Package/gcc SECTION:=devel CATEGORY:=Development TITLE:=gcc MAINTAINER:=Christian Beier - DEPENDS:= +binutils + DEPENDS:= +binutils +libstdcpp endef define Package/gcc/description build a native toolchain for compiling on target endef +STRIP:=$(STAGING_DIR_HOST)/bin/sstrip +RSTRIP:= \ + NM="$(TARGET_CROSS)nm" \ + STRIP="$(STRIP) --strip-debug" \ + STRIP_KMOD="$(TARGET_CROSS)strip --strip-debug" \ + $(SCRIPT_DIR)/rstrip.sh + + define Build/Prepare $(PKG_UNPACK) # we have to download additional stuff before patching @@ -52,7 +64,11 @@ define Build/Configure $(TARGET_CONFIGURE_OPTS) \ $(PKG_BUILD_DIR)/configure \ $(CONFIGURE_ARGS) \ + --build=$(GNU_HOST_NAME) \ + --host=$(REAL_GNU_TARGET_NAME) \ + --target=$(REAL_GNU_TARGET_NAME) \ --enable-languages=$(TARGET_LANGUAGES) \ + --enable-shared \ --disable-__cxa_atexit \ --enable-target-optspace \ --with-gnu-ld \ @@ -61,10 +77,12 @@ define Build/Configure --disable-multilib \ --disable-libgomp \ --disable-libquadmath \ + --disable-libssp \ --disable-decimal-float \ - --with-host-libstdcxx=-lstdc++ \ --disable-libstdcxx-pch \ - $(EXTRA_TARGET) \ + --with-host-libstdcxx=-lstdc++ \ + --prefix=/usr \ + --libexecdir=/usr/lib \ $(SOFT_FLOAT_CONFIG_OPTION) \ $(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \ $(if $(CONFIG_mips64)$(CONFIG_mips64el),--with-arch=mips64 \ @@ -75,24 +93,22 @@ endef define Build/Compile export SHELL="$(BASH)"; $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) \ DESTDIR="$(PKG_INSTALL_DIR)" $(MAKE_ARGS) all install - # Set up the symlinks to enable lying about target name. - set -e; \ - (cd $(TOOLCHAIN_DIR); \ - ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \ - cd bin; \ - for app in $(REAL_GNU_TARGET_NAME)-* ; do \ - ln -sf $$$${app} \ - $(GNU_TARGET_NAME)$$$${app##$(REAL_GNU_TARGET_NAME)}; \ - done; \ - ); endef define Package/gcc/install - $(INSTALL_DIR) $(1)/usr/lib/ - cp -r $(PKG_INSTALL_DIR)/* $(1) - cp -r $(TOOLCHAIN_DIR)/include $(1)/usr/ - cp $(TOOLCHAIN_DIR)/lib/crt* $(1)/usr/lib/ - cp $(TOOLCHAIN_DIR)/lib/libc.so $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) + cp -ar $(PKG_INSTALL_DIR)/usr/include $(1)/usr + cp -a $(PKG_INSTALL_DIR)/usr/bin/{$(REAL_GNU_TARGET_NAME)-{g++,gcc},cpp,gcov} $(1)/usr/bin + ln -s $(REAL_GNU_TARGET_NAME)-g++ $(1)/usr/bin/c++ + ln -s $(REAL_GNU_TARGET_NAME)-g++ $(1)/usr/bin/g++ + ln -s $(REAL_GNU_TARGET_NAME)-g++ $(1)/usr/bin/$(REAL_GNU_TARGET_NAME)-c++ + ln -s $(REAL_GNU_TARGET_NAME)-gcc $(1)/usr/bin/gcc + ln -s $(REAL_GNU_TARGET_NAME)-gcc $(1)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc-$(PKG_VERSION) + cp -ar $(PKG_INSTALL_DIR)/usr/lib/gcc $(1)/usr/lib + $(RM) $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION)/*.a + cp -ar $(TOOLCHAIN_DIR)/include $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) + cp -a $(TOOLCHAIN_DIR)/lib/*.{o,so*} $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) + cp -a $(TOOLCHAIN_DIR)/lib/uclibc_nonshared.a $(1)/usr/lib/$(PKG_NAME)/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) endef $(eval $(call BuildPackage,gcc))