diff options
author | James <> | 2013-03-17 12:16:37 +0000 |
---|---|---|
committer | James <> | 2013-03-17 12:16:37 +0000 |
commit | 27b76ab0671089c47506615a796a261e993896a7 (patch) | |
tree | 61213d67e7fa87b20356b23798558e2c4212c42f /target/toolchain | |
download | trunk-36060-master.tar.gz trunk-36060-master.tar.bz2 trunk-36060-master.zip |
Diffstat (limited to 'target/toolchain')
-rw-r--r-- | target/toolchain/.svn/entries | 99 | ||||
-rw-r--r-- | target/toolchain/.svn/text-base/Config.in.svn-base | 6 | ||||
-rw-r--r-- | target/toolchain/.svn/text-base/Makefile.svn-base | 63 | ||||
-rw-r--r-- | target/toolchain/Config.in | 6 | ||||
-rw-r--r-- | target/toolchain/Makefile | 63 | ||||
-rw-r--r-- | target/toolchain/files/.svn/entries | 96 | ||||
-rw-r--r-- | target/toolchain/files/.svn/prop-base/wrapper.sh.svn-base | 5 | ||||
-rw-r--r-- | target/toolchain/files/.svn/text-base/README.TOOLCHAIN.svn-base | 2 | ||||
-rw-r--r-- | target/toolchain/files/.svn/text-base/wrapper.sh.svn-base | 95 | ||||
-rw-r--r-- | target/toolchain/files/README.TOOLCHAIN | 2 | ||||
-rwxr-xr-x | target/toolchain/files/wrapper.sh | 95 |
11 files changed, 532 insertions, 0 deletions
diff --git a/target/toolchain/.svn/entries b/target/toolchain/.svn/entries new file mode 100644 index 0000000..e034e19 --- /dev/null +++ b/target/toolchain/.svn/entries @@ -0,0 +1,99 @@ +10 + +dir +36060 +svn://svn.openwrt.org/openwrt/trunk/target/toolchain +svn://svn.openwrt.org/openwrt + + + +2012-11-23T20:02:29.961566Z +34314 +florian + + + + + + + + + + + + + + +3c298f89-4303-0410-b956-a3cf2f4a3e73 + +files +dir + +Config.in +file + + + + +2013-03-17T12:13:06.000000Z +f8b953f9e303a27634f8a631bb22622c +2009-11-14T17:51:32.455681Z +18419 +nbd + + + + + + + + + + + + + + + + + + + + + +157 + +Makefile +file + + + + +2013-03-17T12:13:06.000000Z +0260876cf11eb7356d3b50cbaa3a8094 +2012-08-22T15:07:32.119544Z +33228 +blogic + + + + + + + + + + + + + + + + + + + + + +2138 + diff --git a/target/toolchain/.svn/text-base/Config.in.svn-base b/target/toolchain/.svn/text-base/Config.in.svn-base new file mode 100644 index 0000000..18c3ab5 --- /dev/null +++ b/target/toolchain/.svn/text-base/Config.in.svn-base @@ -0,0 +1,6 @@ +config MAKE_TOOLCHAIN + bool "Build the OpenWrt based Toolchain" + depends !EXTERNAL_TOOLCHAIN + help + This is essentially the toolchain created by OpenWrt. + diff --git a/target/toolchain/.svn/text-base/Makefile.svn-base b/target/toolchain/.svn/text-base/Makefile.svn-base new file mode 100644 index 0000000..20f753a --- /dev/null +++ b/target/toolchain/.svn/text-base/Makefile.svn-base @@ -0,0 +1,63 @@ +# +# Copyright (C) 2008-2009 Industrie Dial Face S.p.A. +# Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> +# Copyright (C) 2006-2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/host.mk + +override MAKEFLAGS= + +PKG_OS:=$(word 2,$(subst -, ,$(shell $(HOSTCC) -dumpmachine))) +PKG_CPU:=$(word 1,$(subst -, ,$(shell $(HOSTCC) -dumpmachine))) + +TOOLCHAIN_NAME:=OpenWrt-Toolchain-$(BOARD)-for-$(ARCH)$(ARCH_SUFFIX)-gcc-$(GCCV)$(DIR_SUFFIX) +TOOLCHAIN_BUILD_DIR:=$(BUILD_DIR)/$(TOOLCHAIN_NAME) +EXCLUDE_DIRS:=*/ccache \ + */stamp \ + */stampfiles \ + */man \ + */info + +all: compile + +TOOLCHAIN_PREFIX:=$(TOOLCHAIN_BUILD_DIR)/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) + +$(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2: clean + mkdir -p $(TOOLCHAIN_BUILD_DIR) + $(TAR) -cf - -C $(TOPDIR)/staging_dir/ \ + $(foreach exclude,$(EXCLUDE_DIRS),--exclude="$(exclude)") \ + toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) | \ + $(TAR) -xf - -C $(TOOLCHAIN_BUILD_DIR) + + $(CP) $(TOPDIR)/LICENSE ./files/README.TOOLCHAIN \ + $(TOOLCHAIN_BUILD_DIR)/ + + $(CP) ./files/wrapper.sh $(TOOLCHAIN_PREFIX)/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh + chmod +x $(TOOLCHAIN_PREFIX)/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh + (cd $(TOOLCHAIN_PREFIX)/bin; \ + for app in cc gcc g++ c++ cpp ld as ; do \ + [ -f $(REAL_GNU_TARGET_NAME)-$${app} ] && mv $(REAL_GNU_TARGET_NAME)-$${app} $(REAL_GNU_TARGET_NAME)-$${app}.bin ; \ + ln -sf $(REAL_GNU_TARGET_NAME)-wrapper.sh $(REAL_GNU_TARGET_NAME)-$${app} ; \ + done; \ + ) + echo REVISION:="$(REVISION)" > $(TOOLCHAIN_BUILD_DIR)/version.mk + find $(TOOLCHAIN_BUILD_DIR) -name .git | $(XARGS) rm -rf + find $(TOOLCHAIN_BUILD_DIR) -name .svn | $(XARGS) rm -rf + find $(TOOLCHAIN_BUILD_DIR) -name CVS | $(XARGS) rm -rf + (cd $(BUILD_DIR); \ + tar cfj $@ $(TOOLCHAIN_NAME); \ + ) + +download: +prepare: +compile: $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2 +install: compile + +clean: + rm -rf $(TOOLCHAIN_BUILD_DIR) $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2 diff --git a/target/toolchain/Config.in b/target/toolchain/Config.in new file mode 100644 index 0000000..18c3ab5 --- /dev/null +++ b/target/toolchain/Config.in @@ -0,0 +1,6 @@ +config MAKE_TOOLCHAIN + bool "Build the OpenWrt based Toolchain" + depends !EXTERNAL_TOOLCHAIN + help + This is essentially the toolchain created by OpenWrt. + diff --git a/target/toolchain/Makefile b/target/toolchain/Makefile new file mode 100644 index 0000000..20f753a --- /dev/null +++ b/target/toolchain/Makefile @@ -0,0 +1,63 @@ +# +# Copyright (C) 2008-2009 Industrie Dial Face S.p.A. +# Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> +# Copyright (C) 2006-2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/host.mk + +override MAKEFLAGS= + +PKG_OS:=$(word 2,$(subst -, ,$(shell $(HOSTCC) -dumpmachine))) +PKG_CPU:=$(word 1,$(subst -, ,$(shell $(HOSTCC) -dumpmachine))) + +TOOLCHAIN_NAME:=OpenWrt-Toolchain-$(BOARD)-for-$(ARCH)$(ARCH_SUFFIX)-gcc-$(GCCV)$(DIR_SUFFIX) +TOOLCHAIN_BUILD_DIR:=$(BUILD_DIR)/$(TOOLCHAIN_NAME) +EXCLUDE_DIRS:=*/ccache \ + */stamp \ + */stampfiles \ + */man \ + */info + +all: compile + +TOOLCHAIN_PREFIX:=$(TOOLCHAIN_BUILD_DIR)/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) + +$(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2: clean + mkdir -p $(TOOLCHAIN_BUILD_DIR) + $(TAR) -cf - -C $(TOPDIR)/staging_dir/ \ + $(foreach exclude,$(EXCLUDE_DIRS),--exclude="$(exclude)") \ + toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) | \ + $(TAR) -xf - -C $(TOOLCHAIN_BUILD_DIR) + + $(CP) $(TOPDIR)/LICENSE ./files/README.TOOLCHAIN \ + $(TOOLCHAIN_BUILD_DIR)/ + + $(CP) ./files/wrapper.sh $(TOOLCHAIN_PREFIX)/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh + chmod +x $(TOOLCHAIN_PREFIX)/bin/$(REAL_GNU_TARGET_NAME)-wrapper.sh + (cd $(TOOLCHAIN_PREFIX)/bin; \ + for app in cc gcc g++ c++ cpp ld as ; do \ + [ -f $(REAL_GNU_TARGET_NAME)-$${app} ] && mv $(REAL_GNU_TARGET_NAME)-$${app} $(REAL_GNU_TARGET_NAME)-$${app}.bin ; \ + ln -sf $(REAL_GNU_TARGET_NAME)-wrapper.sh $(REAL_GNU_TARGET_NAME)-$${app} ; \ + done; \ + ) + echo REVISION:="$(REVISION)" > $(TOOLCHAIN_BUILD_DIR)/version.mk + find $(TOOLCHAIN_BUILD_DIR) -name .git | $(XARGS) rm -rf + find $(TOOLCHAIN_BUILD_DIR) -name .svn | $(XARGS) rm -rf + find $(TOOLCHAIN_BUILD_DIR) -name CVS | $(XARGS) rm -rf + (cd $(BUILD_DIR); \ + tar cfj $@ $(TOOLCHAIN_NAME); \ + ) + +download: +prepare: +compile: $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2 +install: compile + +clean: + rm -rf $(TOOLCHAIN_BUILD_DIR) $(BIN_DIR)/$(TOOLCHAIN_NAME).tar.bz2 diff --git a/target/toolchain/files/.svn/entries b/target/toolchain/files/.svn/entries new file mode 100644 index 0000000..db87630 --- /dev/null +++ b/target/toolchain/files/.svn/entries @@ -0,0 +1,96 @@ +10 + +dir +36060 +svn://svn.openwrt.org/openwrt/trunk/target/toolchain/files +svn://svn.openwrt.org/openwrt + + + +2012-11-23T20:02:29.961566Z +34314 +florian + + + + + + + + + + + + + + +3c298f89-4303-0410-b956-a3cf2f4a3e73 + +wrapper.sh +file + + + + +2013-03-17T12:13:06.000000Z +0b1581c91b51e0796e9b0a7fc940beb4 +2012-11-23T20:02:29.961566Z +34314 +florian +has-props + + + + + + + + + + + + + + + + + + + + +2887 + +README.TOOLCHAIN +file + + + + +2013-03-17T12:13:06.000000Z +b3cdd05a6565d1861ee41f2397521f32 +2009-11-14T17:51:32.455681Z +18419 +nbd + + + + + + + + + + + + + + + + + + + + + +79 + diff --git a/target/toolchain/files/.svn/prop-base/wrapper.sh.svn-base b/target/toolchain/files/.svn/prop-base/wrapper.sh.svn-base new file mode 100644 index 0000000..869ac71 --- /dev/null +++ b/target/toolchain/files/.svn/prop-base/wrapper.sh.svn-base @@ -0,0 +1,5 @@ +K 14 +svn:executable +V 1 +* +END diff --git a/target/toolchain/files/.svn/text-base/README.TOOLCHAIN.svn-base b/target/toolchain/files/.svn/text-base/README.TOOLCHAIN.svn-base new file mode 100644 index 0000000..40bfccc --- /dev/null +++ b/target/toolchain/files/.svn/text-base/README.TOOLCHAIN.svn-base @@ -0,0 +1,2 @@ +This is the OpenWrt SDK. It contains just the toolchain created +by buildroot. diff --git a/target/toolchain/files/.svn/text-base/wrapper.sh.svn-base b/target/toolchain/files/.svn/text-base/wrapper.sh.svn-base new file mode 100644 index 0000000..2b76084 --- /dev/null +++ b/target/toolchain/files/.svn/text-base/wrapper.sh.svn-base @@ -0,0 +1,95 @@ +#!/bin/bash + +# 2009 (C) Copyright Industrie Dial Face S.p.A. +# Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> +# +# Based on original idea from WindRiver +# +# Toolchain wrapper script. +# +# This script allows us to use a small number of GCC / binutils cross-tools +# (one toolchain per instruction set architecture) to implement a larger +# number of processor- or board-specific tools. The wrapper script is +# configured at install time with information covering basic CFLAGS, +# LD options and the toolchain triplet name. +# + +PROGNAME=$0 +REALNAME=`readlink -f $0` + +REALNAME_BASE=`basename $REALNAME` +REALNAME_DIR=`dirname $REALNAME` + +TARGET_FUNDAMENTAL_ASFLAGS='' +TARGET_FUNDAMENTAL_CFLAGS='' +TARGET_ROOTFS_CFLAGS='' +TARGET_FUNDAMENTAL_LDFLAGS='' +TARGET_TOOLCHAIN_TRIPLET=${REALNAME_BASE%-*} + +# Parse our tool name, splitting it at '-' characters. +BINARY=${PROGNAME##*-} + +# Parse our tool name, splitting it at '-' characters. +IFS=- read TOOLCHAIN_ARCH TOOLCHAIN_BUILDROOT TOOLCHAIN_OS TOOLCHAIN_PLATFORM PROGNAME << EOF +$REALNAME_BASE +EOF + +# +# We add the directory this was executed from to the PATH +# The toolchains (links) should be in this directory or in the users +# PATH. +# +TOOLCHAIN_BIN_DIR="$REALNAME_DIR/" + +# Set the PATH so that our run-time location is first +# (get_feature is run from the path, so this has to be set) +export PATH="$TOOLCHAIN_BIN_DIR":$PATH +export GCC_HONOUR_COPTS + +TOOLCHAIN_SYSROOT="$TOOLCHAIN_BIN_DIR/../.." +if [ ! -d "$TOOLCHAIN_SYSROOT" ]; then + echo "Error: Unable to determine sysroot (looking for $TOOLCHAIN_SYSROOT)!" >&2 + exit 1 +fi + +# -Wl,--dynamic-linker=$TOOLCHAIN_SYSROOT/lib/ld-uClibc.so.0 +# --dynamic-linker=$TOOLCHAIN_SYSROOT/lib/ld-uClibc.so.0 + +case $TOOLCHAIN_PLATFORM in + gnu|glibc|eglibc) + GCC_SYSROOT_FLAGS="--sysroot=$TOOLCHAIN_SYSROOT -Wl,-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + LD_SYSROOT_FLAGS="-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + ;; + uclibc) + GCC_SYSROOT_FLAGS="--sysroot=$TOOLCHAIN_SYSROOT -Wl,-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + LD_SYSROOT_FLAGS="-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + ;; + musl) + GCC_SYSROOT_FLAGS="--sysroot=$TOOLCHAIN_SYSROOT -Wl,-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + LD_SYSROOT_FLAGS="-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + ;; + *) + GCC_SYSROOT_FLAGS="" + LD_SYSROOT_FLAGS="" + ;; +esac + +# +# Run the cross-tool. +# +case $BINARY in + cc|gcc|g++|c++|cpp) + exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin $GCC_SYSROOT_FLAGS $TARGET_FUNDAMENTAL_CFLAGS $TARGET_ROOTFS_CFLAGS "$@" + ;; + ld) + exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin $LD_SYSROOT_FLAGS $TARGET_FUNDAMENTAL_LDFLAGS "$@" + ;; + as) + exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin $TARGET_FUNDAMENTAL_ASFLAGS "$@" + ;; + *) + exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin "$@" + ;; +esac + +exit 0 diff --git a/target/toolchain/files/README.TOOLCHAIN b/target/toolchain/files/README.TOOLCHAIN new file mode 100644 index 0000000..40bfccc --- /dev/null +++ b/target/toolchain/files/README.TOOLCHAIN @@ -0,0 +1,2 @@ +This is the OpenWrt SDK. It contains just the toolchain created +by buildroot. diff --git a/target/toolchain/files/wrapper.sh b/target/toolchain/files/wrapper.sh new file mode 100755 index 0000000..2b76084 --- /dev/null +++ b/target/toolchain/files/wrapper.sh @@ -0,0 +1,95 @@ +#!/bin/bash + +# 2009 (C) Copyright Industrie Dial Face S.p.A. +# Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> +# +# Based on original idea from WindRiver +# +# Toolchain wrapper script. +# +# This script allows us to use a small number of GCC / binutils cross-tools +# (one toolchain per instruction set architecture) to implement a larger +# number of processor- or board-specific tools. The wrapper script is +# configured at install time with information covering basic CFLAGS, +# LD options and the toolchain triplet name. +# + +PROGNAME=$0 +REALNAME=`readlink -f $0` + +REALNAME_BASE=`basename $REALNAME` +REALNAME_DIR=`dirname $REALNAME` + +TARGET_FUNDAMENTAL_ASFLAGS='' +TARGET_FUNDAMENTAL_CFLAGS='' +TARGET_ROOTFS_CFLAGS='' +TARGET_FUNDAMENTAL_LDFLAGS='' +TARGET_TOOLCHAIN_TRIPLET=${REALNAME_BASE%-*} + +# Parse our tool name, splitting it at '-' characters. +BINARY=${PROGNAME##*-} + +# Parse our tool name, splitting it at '-' characters. +IFS=- read TOOLCHAIN_ARCH TOOLCHAIN_BUILDROOT TOOLCHAIN_OS TOOLCHAIN_PLATFORM PROGNAME << EOF +$REALNAME_BASE +EOF + +# +# We add the directory this was executed from to the PATH +# The toolchains (links) should be in this directory or in the users +# PATH. +# +TOOLCHAIN_BIN_DIR="$REALNAME_DIR/" + +# Set the PATH so that our run-time location is first +# (get_feature is run from the path, so this has to be set) +export PATH="$TOOLCHAIN_BIN_DIR":$PATH +export GCC_HONOUR_COPTS + +TOOLCHAIN_SYSROOT="$TOOLCHAIN_BIN_DIR/../.." +if [ ! -d "$TOOLCHAIN_SYSROOT" ]; then + echo "Error: Unable to determine sysroot (looking for $TOOLCHAIN_SYSROOT)!" >&2 + exit 1 +fi + +# -Wl,--dynamic-linker=$TOOLCHAIN_SYSROOT/lib/ld-uClibc.so.0 +# --dynamic-linker=$TOOLCHAIN_SYSROOT/lib/ld-uClibc.so.0 + +case $TOOLCHAIN_PLATFORM in + gnu|glibc|eglibc) + GCC_SYSROOT_FLAGS="--sysroot=$TOOLCHAIN_SYSROOT -Wl,-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + LD_SYSROOT_FLAGS="-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + ;; + uclibc) + GCC_SYSROOT_FLAGS="--sysroot=$TOOLCHAIN_SYSROOT -Wl,-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + LD_SYSROOT_FLAGS="-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + ;; + musl) + GCC_SYSROOT_FLAGS="--sysroot=$TOOLCHAIN_SYSROOT -Wl,-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + LD_SYSROOT_FLAGS="-rpath=$TOOLCHAIN_SYSROOT/lib:$TOOLCHAIN_SYSROOT/usr/lib" + ;; + *) + GCC_SYSROOT_FLAGS="" + LD_SYSROOT_FLAGS="" + ;; +esac + +# +# Run the cross-tool. +# +case $BINARY in + cc|gcc|g++|c++|cpp) + exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin $GCC_SYSROOT_FLAGS $TARGET_FUNDAMENTAL_CFLAGS $TARGET_ROOTFS_CFLAGS "$@" + ;; + ld) + exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin $LD_SYSROOT_FLAGS $TARGET_FUNDAMENTAL_LDFLAGS "$@" + ;; + as) + exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin $TARGET_FUNDAMENTAL_ASFLAGS "$@" + ;; + *) + exec $TARGET_TOOLCHAIN_TRIPLET-$BINARY.bin "$@" + ;; +esac + +exit 0 |