Signed-off-by: Jan-Tarek Butt <ta...@ring0.de> --- scripts/config/lxdialog/check-lxdialog.sh | 16 ++-- scripts/diffconfig.sh | 18 +++-- scripts/ext-toolchain.sh | 118 +++++++++++++++++------------- 3 files changed, 86 insertions(+), 66 deletions(-)
diff --git a/scripts/config/lxdialog/check-lxdialog.sh b/scripts/config/lxdialog/check-lxdialog.sh index 5075ebf..d224a5d 100644 --- a/scripts/config/lxdialog/check-lxdialog.sh +++ b/scripts/config/lxdialog/check-lxdialog.sh @@ -50,13 +50,15 @@ check() { main() {} EOF if [ $? != 0 ]; then - echo " *** Unable to find the ncurses libraries or the" 1>&2 - echo " *** required header files." 1>&2 - echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2 - echo " *** " 1>&2 - echo " *** Install ncurses (ncurses-devel) and try again." 1>&2 - echo " *** " 1>&2 - exit 1 + cat 1>&2 <<-EOF + *** Unable to find the ncurses libraries or the + *** required header files. + *** 'make menuconfig' requires the ncurses libraries. + *** + *** Install ncurses (ncurses-devel) and try again. + *** + EOF + exit 1 fi } diff --git a/scripts/diffconfig.sh b/scripts/diffconfig.sh index bdaf1a1..5eccbfa 100755 --- a/scripts/diffconfig.sh +++ b/scripts/diffconfig.sh @@ -1,12 +1,14 @@ #!/bin/sh -grep \^CONFIG_TARGET_ .config | head -n3 > tmp/.diffconfig.head -grep \^CONFIG_TARGET_DEVICE_ .config >> tmp/.diffconfig.head -grep '^CONFIG_ALL=y' .config >> tmp/.diffconfig.head -grep '^CONFIG_ALL_KMODS=y' .config >> tmp/.diffconfig.head -grep '^CONFIG_ALL_NONSHARED=y' .config >> tmp/.diffconfig.head -grep '^CONFIG_DEVEL=y' .config >> tmp/.diffconfig.head -grep '^CONFIG_TOOLCHAINOPTS=y' .config >> tmp/.diffconfig.head -grep '^CONFIG_BUSYBOX_CUSTOM=y' .config >> tmp/.diffconfig.head +{ + grep \^CONFIG_TARGET_ .config | head -n3 + grep \^CONFIG_TARGET_DEVICE_ .config + grep '^CONFIG_ALL=y' .config + grep '^CONFIG_ALL_KMODS=y' .config + grep '^CONFIG_ALL_NONSHARED=y' .config + grep '^CONFIG_DEVEL=y' .config + grep '^CONFIG_TOOLCHAINOPTS=y' .config + grep '^CONFIG_BUSYBOX_CUSTOM=y' .config +} > tmp/.diffconfig.head ./scripts/config/conf --defconfig=tmp/.diffconfig.head -w tmp/.diffconfig.stage1 Config.in >/dev/null ./scripts/kconfig.pl '>+' tmp/.diffconfig.stage1 .config >> tmp/.diffconfig.head ./scripts/config/conf --defconfig=tmp/.diffconfig.head -w tmp/.diffconfig.stage2 Config.in >/dev/null diff --git a/scripts/ext-toolchain.sh b/scripts/ext-toolchain.sh index eec5a94..6b3699c 100755 --- a/scripts/ext-toolchain.sh +++ b/scripts/ext-toolchain.sh @@ -201,17 +201,19 @@ wrap_bin_cc() { local out="$1" local bin="$2" - echo '#!/bin/sh' > "$out" - echo 'for arg in "$@"; do' >> "$out" - echo ' case "$arg" in -l*|-L*|-shared|-static)' >> "$out" - echo -n ' exec "'"$bin"'" '"$CFLAGS"' ${STAGING_DIR:+' >> "$out" - echo -n '-idirafter "$STAGING_DIR/usr/include" ' >> "$out" - echo -n '-L "$STAGING_DIR/usr/lib" ' >> "$out" - echo '-Wl,-rpath-link,"$STAGING_DIR/usr/lib"} "$@" ;;' >> "$out" - echo ' esac' >> "$out" - echo 'done' >> "$out" - echo -n 'exec "'"$bin"'" '"$CFLAGS"' ${STAGING_DIR:+' >> "$out" - echo '-idirafter "$STAGING_DIR/usr/include"} "$@"' >> "$out" + { + echo '#!/bin/sh' + echo 'for arg in "$@"; do' + echo ' case "$arg" in -l*|-L*|-shared|-static)' + echo -n ' exec "'"$bin"'" '"$CFLAGS"' ${STAGING_DIR:+' + echo -n '-idirafter "$STAGING_DIR/usr/include" ' + echo -n '-L "$STAGING_DIR/usr/lib" ' + echo '-Wl,-rpath-link,"$STAGING_DIR/usr/lib"} "$@" ;;' + echo ' esac' + echo 'done' + echo -n 'exec "'"$bin"'" '"$CFLAGS"' ${STAGING_DIR:+' + echo '-idirafter "$STAGING_DIR/usr/include"} "$@"' + } > "$out" chmod +x "$out" } @@ -220,10 +222,12 @@ wrap_bin_ld() { local out="$1" local bin="$2" - echo '#!/bin/sh' > "$out" - echo -n 'exec "'"$bin"'" ${STAGING_DIR:+' >> "$out" - echo -n '-L "$STAGING_DIR/usr/lib" ' >> "$out" - echo '-rpath-link "$STAGING_DIR/usr/lib"} "$@"' >> "$out" + { + echo '#!/bin/sh' + echo -n 'exec "'"$bin"'" ${STAGING_DIR:+' + echo -n '-L "$STAGING_DIR/usr/lib" ' + echo '-rpath-link "$STAGING_DIR/usr/lib"} "$@"' + } > "$out" chmod +x "$out" } @@ -349,12 +353,13 @@ print_config() { else echo "# CONFIG_BUILD_NLS is not set" >> "$config" fi - - echo "CONFIG_DEVEL=y" >> "$config" - echo "CONFIG_EXTERNAL_TOOLCHAIN=y" >> "$config" - echo "CONFIG_TOOLCHAIN_ROOT=\"$TOOLCHAIN\"" >> "$config" - echo "CONFIG_TOOLCHAIN_PREFIX=\"$prefix\"" >> "$config" - echo "CONFIG_TARGET_NAME=\"$target\"" >> "$config" + { + echo "CONFIG_DEVEL=y" + echo "CONFIG_EXTERNAL_TOOLCHAIN=y" + echo "CONFIG_TOOLCHAIN_ROOT=\"$TOOLCHAIN\"" + echo "CONFIG_TOOLCHAIN_PREFIX=\"$prefix\"" + echo "CONFIG_TARGET_NAME=\"$target\"" + } >> "$config" if [ "$LIBC_TYPE" != glibc ]; then echo "CONFIG_TOOLCHAIN_LIBC=\"$LIBC_TYPE\"" >> "$config" @@ -539,36 +544,47 @@ while [ -n "$1" ]; do -h|--help) me="$(basename "$0")" - echo -e "\nUsage:\n" >&2 - echo -e " $me --toolchain {directory} --print-libc" >&2 - echo -e " Print the libc implementation and exit.\n" >&2 - echo -e " $me --toolchain {directory} --print-target" >&2 - echo -e " Print the GNU target name and exit.\n" >&2 - echo -e " $me --toolchain {directory} --print-bin {program}" >&2 - echo -e " Print executables belonging to given program," >&2 - echo -e " omit program argument to get a list of names.\n" >&2 - echo -e " $me --toolchain {directory} --print-libs {library}" >&2 - echo -e " Print shared objects belonging to given library," >&2 - echo -e " omit library argument to get a list of names.\n" >&2 - echo -e " $me --toolchain {directory} --test {feature}" >&2 - echo -e " Test given feature, exit code indicates success." >&2 - echo -e " Possible features are 'c', 'c++', 'softfloat'," >&2 - echo -e " 'lfs', 'rpc', 'ipv6', 'wchar', 'locale' and " >&2 - echo -e " 'threads'.\n" >&2 - echo -e " $me --toolchain {directory} --wrap {directory}" >&2 - echo -e " Create wrapper scripts for C and C++ compiler, " >&2 - echo -e " linker, assembler and other key executables in " >&2 - echo -e " the directory given with --wrap.\n" >&2 - echo -e " $me --toolchain {directory} --config {target}" >&2 - echo -e " Analyze the given toolchain and print a suitable" >&2 - echo -e " .config for the given target. Omit target " >&2 - echo -e " argument to get a list of names.\n" >&2 - echo -e " $me --help" >&2 - echo -e " Display this help text and exit.\n\n" >&2 - echo -e " Most commands also take a --cflags parameter which " >&2 - echo -e " is used to specify C flags to be passed to the " >&2 - echo -e " cross compiler when performing tests." >&2 - echo -e " This paremter may be repeated multiple times." >&2 + cat >&2 <<-EOF + Usage: + + $me --toolchain {directory} --print-libc + Print the libc implementation and exit. + + $me --toolchain {directory} --print-target + Print the GNU target name and exit. + + $me --toolchain {directory} --print-bin {program} + Print executables belonging to given program, + omit program argument to get a list of names. + + $me --toolchain {directory} --print-libs {library} + Print shared objects belonging to given library, + omit library argument to get a list of names. + + $me --toolchain {directory} --test {feature} + Test given feature, exit code indicates success. + Possible features are 'c', 'c++', 'softfloat', + 'lfs', 'rpc', 'ipv6', 'wchar', 'locale' and + 'threads'. + + $me --toolchain {directory} --wrap {directory} + Create wrapper scripts for C and C++ compiler, + linker, assembler and other key executables in + the directory given with --wrap. + + $me --toolchain {directory} --config {target} + Analyze the given toolchain and print a suitable + .config for the given target. Omit target + argument to get a list of names. + + $me --help + Display this help text and exit. + + Most commands also take a --cflags parameter which + is used to specify C flags to be passed to the + cross compiler when performing tests. + This paremter may be repeated multiple times. + EOF exit 1 ;; -- 2.10.0 _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev