aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/final
diff options
context:
space:
mode:
authorJames <>2013-03-17 12:16:37 +0000
committerJames <>2013-03-17 12:16:37 +0000
commit27b76ab0671089c47506615a796a261e993896a7 (patch)
tree61213d67e7fa87b20356b23798558e2c4212c42f /toolchain/gcc/final
downloadtrunk-36060-master.tar.gz
trunk-36060-master.tar.bz2
trunk-36060-master.zip
Diffstat (limited to 'toolchain/gcc/final')
-rw-r--r--toolchain/gcc/final/.svn/entries62
-rw-r--r--toolchain/gcc/final/.svn/text-base/Makefile.svn-base84
-rw-r--r--toolchain/gcc/final/Makefile84
3 files changed, 230 insertions, 0 deletions
diff --git a/toolchain/gcc/final/.svn/entries b/toolchain/gcc/final/.svn/entries
new file mode 100644
index 0000000..17a32d6
--- /dev/null
+++ b/toolchain/gcc/final/.svn/entries
@@ -0,0 +1,62 @@
+10
+
+dir
+36060
+svn://svn.openwrt.org/openwrt/trunk/toolchain/gcc/final
+svn://svn.openwrt.org/openwrt
+
+
+
+2012-09-23T09:50:01.636378Z
+33523
+nbd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+3c298f89-4303-0410-b956-a3cf2f4a3e73
+
+Makefile
+file
+
+
+
+
+2013-03-17T12:13:25.000000Z
+8b2ffc14647b447ff8fdf72966a55a46
+2012-09-23T09:50:01.636378Z
+33523
+nbd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2367
+
diff --git a/toolchain/gcc/final/.svn/text-base/Makefile.svn-base b/toolchain/gcc/final/.svn/text-base/Makefile.svn-base
new file mode 100644
index 0000000..a667266
--- /dev/null
+++ b/toolchain/gcc/final/.svn/text-base/Makefile.svn-base
@@ -0,0 +1,84 @@
+GCC_VARIANT:=final
+
+include ../common.mk
+
+GCC_CONFIGURE += \
+ --with-headers=$(TOOLCHAIN_DIR)/include \
+ --enable-languages=$(TARGET_LANGUAGES) \
+ --enable-shared \
+ --enable-threads \
+ --with-slibdir=$(TOOLCHAIN_DIR)/lib
+
+ifneq ($(CONFIG_GCC_VERSION_4_5)$(CONFIG_GCC_VERSION_4_6),)
+ GCC_CONFIGURE += \
+ --enable-lto \
+ --with-libelf=$(TOPDIR)/staging_dir/host
+endif
+
+ifneq ($(CONFIG_TLS_SUPPORT),)
+ GCC_CONFIGURE += \
+ --enable-tls
+else
+ GCC_CONFIGURE += \
+ --disable-tls
+endif
+
+ifneq ($(CONFIG_SJLJ_EXCEPTIONS),)
+ GCC_CONFIGURE += \
+ --enable-sjlj-exceptions
+endif
+
+define CleanupToolchain
+ $(INSTALL_DIR) $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)
+ # Important! Required for limits.h to be fixed.
+ rm -rf $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
+ ln -sf ../include $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
+ rm -rf $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib
+ ln -sf ../lib $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib
+ $(if $(CONFIG_mips64)$(CONFIG_mips64el)$(CONFIG_x86_64),ln -sf ../lib64 $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib64)
+endef
+
+define Host/Configure
+ $(CleanupToolchain)
+ mkdir -p $(GCC_BUILD_DIR)
+ (cd $(GCC_BUILD_DIR) && rm -f config.cache; \
+ $(GCC_CONFIGURE) \
+ );
+endef
+
+define Host/Compile
+ +$(GCC_MAKE) $(HOST_JOBS) -C $(GCC_BUILD_DIR) all
+endef
+
+define SetupExtraArch
+ for app in $(TOOLCHAIN_DIR)/bin/$(OPTIMIZE_FOR_CPU)*-{gcc,gcc-*,g++}; do \
+ [ -e $$$$app ] || continue; \
+ old_base=$$$$(basename $$$$app); \
+ new_base=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-$$$${old_base##$(OPTIMIZE_FOR_CPU)-}; \
+ sed -e "s/@CC_BASE@/$$$$old_base/" \
+ -e 's/@EXTRA_ARCH_OPTS@/$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_OPTS))/' \
+ ../files/alternate-arch-cc.in > \
+ $(TOOLCHAIN_DIR)/bin/$$$$new_base; \
+ chmod a+x $(TOOLCHAIN_DIR)/bin/$$$$new_base; \
+ done
+endef
+
+define Host/Install
+ $(CleanupToolchain)
+ $(_SINGLE)$(GCC_MAKE) -C $(GCC_BUILD_DIR) 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; \
+ );
+ $(if $(CONFIG_EXTRA_TARGET_ARCH),$(call SetupExtraArch))
+ $(SCRIPT_DIR)/patch-specs.sh "$(TOOLCHAIN_DIR)"
+endef
+
+$(eval $(call HostBuild))
+
diff --git a/toolchain/gcc/final/Makefile b/toolchain/gcc/final/Makefile
new file mode 100644
index 0000000..a667266
--- /dev/null
+++ b/toolchain/gcc/final/Makefile
@@ -0,0 +1,84 @@
+GCC_VARIANT:=final
+
+include ../common.mk
+
+GCC_CONFIGURE += \
+ --with-headers=$(TOOLCHAIN_DIR)/include \
+ --enable-languages=$(TARGET_LANGUAGES) \
+ --enable-shared \
+ --enable-threads \
+ --with-slibdir=$(TOOLCHAIN_DIR)/lib
+
+ifneq ($(CONFIG_GCC_VERSION_4_5)$(CONFIG_GCC_VERSION_4_6),)
+ GCC_CONFIGURE += \
+ --enable-lto \
+ --with-libelf=$(TOPDIR)/staging_dir/host
+endif
+
+ifneq ($(CONFIG_TLS_SUPPORT),)
+ GCC_CONFIGURE += \
+ --enable-tls
+else
+ GCC_CONFIGURE += \
+ --disable-tls
+endif
+
+ifneq ($(CONFIG_SJLJ_EXCEPTIONS),)
+ GCC_CONFIGURE += \
+ --enable-sjlj-exceptions
+endif
+
+define CleanupToolchain
+ $(INSTALL_DIR) $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)
+ # Important! Required for limits.h to be fixed.
+ rm -rf $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
+ ln -sf ../include $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
+ rm -rf $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib
+ ln -sf ../lib $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib
+ $(if $(CONFIG_mips64)$(CONFIG_mips64el)$(CONFIG_x86_64),ln -sf ../lib64 $(TOOLCHAIN_DIR)/$(REAL_GNU_TARGET_NAME)/lib64)
+endef
+
+define Host/Configure
+ $(CleanupToolchain)
+ mkdir -p $(GCC_BUILD_DIR)
+ (cd $(GCC_BUILD_DIR) && rm -f config.cache; \
+ $(GCC_CONFIGURE) \
+ );
+endef
+
+define Host/Compile
+ +$(GCC_MAKE) $(HOST_JOBS) -C $(GCC_BUILD_DIR) all
+endef
+
+define SetupExtraArch
+ for app in $(TOOLCHAIN_DIR)/bin/$(OPTIMIZE_FOR_CPU)*-{gcc,gcc-*,g++}; do \
+ [ -e $$$$app ] || continue; \
+ old_base=$$$$(basename $$$$app); \
+ new_base=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-$$$${old_base##$(OPTIMIZE_FOR_CPU)-}; \
+ sed -e "s/@CC_BASE@/$$$$old_base/" \
+ -e 's/@EXTRA_ARCH_OPTS@/$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_OPTS))/' \
+ ../files/alternate-arch-cc.in > \
+ $(TOOLCHAIN_DIR)/bin/$$$$new_base; \
+ chmod a+x $(TOOLCHAIN_DIR)/bin/$$$$new_base; \
+ done
+endef
+
+define Host/Install
+ $(CleanupToolchain)
+ $(_SINGLE)$(GCC_MAKE) -C $(GCC_BUILD_DIR) 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; \
+ );
+ $(if $(CONFIG_EXTRA_TARGET_ARCH),$(call SetupExtraArch))
+ $(SCRIPT_DIR)/patch-specs.sh "$(TOOLCHAIN_DIR)"
+endef
+
+$(eval $(call HostBuild))
+