diff options
-rwxr-xr-x | support/scripts/eclipse-register-toolchain | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/support/scripts/eclipse-register-toolchain b/support/scripts/eclipse-register-toolchain index dd9f1587f..6f919985c 100755 --- a/support/scripts/eclipse-register-toolchain +++ b/support/scripts/eclipse-register-toolchain @@ -1,11 +1,59 @@ #!/bin/sh +# This script registers the toolchain of a Buildroot project into the +# Eclipse plugin. To do so, it adds a new line for the Buildroot +# toolchain into the $HOME/.buildroot-eclipse.toolchains file, which +# the Eclipse Buildroot plugin reads to discover automatically the +# available Buildroot toolchains on the system. +# +# This script should typically not be called manually. Instead, one +# should enable the BR2_ECLIPSE_REGISTER configuration option, which +# will lead Buildroot to automatically call this script with the +# appropriate arguments. +# +# Usage: +# eclipse-register-toolchain project-directory toolchain-prefix architecture +# +# project-directory is the absolute path to the Buildroot project +# output directory (which contains the host/, target/, build/, +# images/, etc. subdirectories). It should be an absolute and +# canonical path. +# +# toolchain-prefix is the prefix of the cross-compilation tools, i.e +# 'arm-linux-' if the cross-compiler executable is 'arm-linux-gcc'. +# +# architecture is the lower-cased name of the architecture targetted +# by the Buildroot project. + +if test $# -ne 3; then + echo "Invalid number of arguments." + echo "Usage: $0 project-directory toolchain-prefix architecture" + exit 1 +fi + project_directory=$1 toolchain_prefix=$2 architecture=$3 +if test ! -d ${project_directory} ; then + echo "Non-existing project directory ${project_directory}" + exit 1 +fi + +if test ! -d ${project_directory}/host ; then + echo "Your project directory does not look like a Buildroot output" + exit 1 +fi + +if test ! -e ${project_directory}/host/usr/bin/${toolchain_prefix}gcc ; then + echo "Cannot find the cross-compiler in the project directory" + exit 1 +fi + TOOLCHAIN_ECLIPSE_FILE=${HOME}/.buildroot-eclipse.toolchains +# First, we remove all lines from the ${TOOLCHAIN_ECLISPE_FILE} that +# correspond to toolchains that no longer exist. if test -f ${TOOLCHAIN_ECLIPSE_FILE} ; then mv ${TOOLCHAIN_ECLIPSE_FILE} ${TOOLCHAIN_ECLIPSE_FILE}.tmp cat ${TOOLCHAIN_ECLIPSE_FILE}.tmp | while read toolchain ; do |