summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-08-07 19:40:38 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-08-07 19:40:38 (GMT)
commitab8763bedd1a875fc9a9dde9bb627f4b58d59694 (patch)
tree282bf87ccca0eb76e1fd952e4701f7e43ee590f4
parentfeb0328d7a519eb63999fdbc450cd706bec8df51 (diff)
Introduce new config option: CT_TARGET_ALIAS_SED_EXPR
This option is used as a sed expression to pass onto CT_TARGET to create an alias.
-rw-r--r--config/toolchain.in21
-rwxr-xr-xscripts/crosstool.sh22
2 files changed, 34 insertions, 9 deletions
diff --git a/config/toolchain.in b/config/toolchain.in
index f46e1dc..1e3f949 100644
--- a/config/toolchain.in
+++ b/config/toolchain.in
@@ -81,12 +81,31 @@ config TARGET_VENDOR
Keep the default (unkown) if you don't know better.
+config TARGET_ALIAS_SED_EXPR
+ string
+ prompt "Target sed transform"
+ default ""
+ help
+ Normaly, you'd call your toolchain components (especially gcc) by
+ prefixing the target triplet followed by a dash and the component name
+ (eg. armeb-unknown-linux-uclibc-gcc).
+
+ You can enter here a sed expression to be applied to ${CT_TARGET} to
+ create an alias for your toolchain.
+
+ For example, "s/${CT_TARGET_VENDOR}/foobar/" (without the double quotes)
+ will create the armeb-foobar-linux-uclibc alias to the above-mentioned
+ toolchain.
+
+ You shouldn't need to enter anything here, unless you plan to manually
+ call the tools (autotools-based ./configure will use the standard name).
+
config TARGET_ALIAS
string
prompt "Target alias"
default ""
help
- Normaly, you'd call your toolchain component (especially gcc) by
+ Normaly, you'd call your toolchain components (especially gcc) by
prefixing the target triplet followed by a dash and the component name
(eg. armeb-unknown-linux-uclibc-gcc).
diff --git a/scripts/crosstool.sh b/scripts/crosstool.sh
index 3eabcec..405387a 100755
--- a/scripts/crosstool.sh
+++ b/scripts/crosstool.sh
@@ -436,16 +436,22 @@ if [ "${CT_ONLY_DOWNLOAD}" != "y" -a "${CT_ONLY_EXTRACT}" != "y" ]; then
chmod 755 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-populate"
# Create the aliases to the target tools
- if [ -n "${CT_TARGET_ALIAS}" ]; then
- CT_DoLog EXTRA "Creating symlinks from \"${CT_TARGET}-*\" to \"${CT_TARGET_ALIAS}-*\""
- CT_Pushd "${CT_PREFIX_DIR}/bin"
- for t in "${CT_TARGET}-"*; do
+ CT_DoStep EXTRA "Creating toolchain aliases"
+ CT_Pushd "${CT_PREFIX_DIR}/bin"
+ for t in "${CT_TARGET}-"*; do
+ if [ -n "${CT_TARGET_ALIAS}" ]; then
_t="`echo \"$t\" |sed -r -e 's/^'\"${CT_TARGET}\"'-/'\"${CT_TARGET_ALIAS}\"'-/;'`"
CT_DoLog DEBUG "Linking \"${_t}\" -> \"${t}\""
- ln -sv "${t}" "${_t}" 2>&1 |CT_DoLog DEBUG
- done
- CT_Popd
- fi
+ ln -sv "${t}" "${_t}" 2>&1 |CT_DoLog ALL
+ fi
+ if [ -n "${CT_TARGET_ALIAS_SED_EXPR}" ]; then
+ _t="`echo \"$t\" |sed -r -e \"${CT_TARGET_ALIAS_SED_EXPR}\"`"
+ CT_DoLog DEBUG "Linking \"${_t}\" -> \"${t}\""
+ ln -sv "${t}" "${_t}" 2>&1 |CT_DoLog ALL
+ fi
+ done
+ CT_Popd
+ CT_EndStep
# Remove the generated documentation files
if [ "${CT_REMOVE_DOCS}" = "y" ]; then