2011-06-08debug/cross-gdb: check host dependencies
"Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com> [Wed, 08 Jun 2011 15:47:43 +0200] rev 2508
debug/cross-gdb: check host dependencies

Cross-gdb depends on expat and python. If either is missing, cross-gdb will
build successfully, but lacking some features.

Especially, if expat is missing, cross-gdb will be unable to parse the target
description, which may lead to runtime malfunctions and the following GDB
warning:
"Can not parse XML target description; XML support was disabled at compile time"

Hence, expat should be considered mandatory.

On the other hand, the features missing without python are not critical, so
python should not be considered mandatory.

This patch does the following:
- At configure time, warn the user if either expat or python is missing.
- In menuconfig, disable the static build options regarding cross-gdb if no
static version of expat is available, and disable cross-gdb if expat is
missing.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
[yann.morin.1998@anciens.enib.fr: add comment for impossible static cross-gdb]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2011-06-08configure: give check_for() the ability to test several item types at once
"Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com> [Wed, 08 Jun 2011 15:47:03 +0200] rev 2507
configure: give check_for() the ability to test several item types at once

Currently, check_for() can only test one of prog, inc or lib at once. This patch
removes this limitation.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>

2011-06-04configure: rationalise error messages with meaningful texts
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 04 Jun 2011 19:17:26 +0200] rev 2506
configure: rationalise error messages with meaningful texts

Currently, error messages just state the obvious: a required
component is required. While in some cases, there is not much
else to say, in some other cases we could tell much more.

For example, a missing libstdc++ means no static toolchain.

Also, format error and warning messages in a similar fashion,
with a {error,warning} intro, followed by the message specified
by the caller.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2011-06-04Makefile: make it work for auto-completion
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 04 Jun 2011 17:43:49 +0200] rev 2505
Makefile: make it work for auto-completion

The latest autocompletion calls 'make -qp' to get all the possible
targets. This currently fails, as our makefile is calling itself
again and again ad-libitum.

Fix it by detecting that the recursion level is not 0, and bail out
if so. It works so well that it has the side effect of showing only
the 'public' target, and hide our internal ones! :-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2011-06-04libc/glibc: do not try to download NPTL add-on
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 04 Jun 2011 17:15:58 +0200] rev 2504
libc/glibc: do not try to download NPTL add-on

The NPTL add-on has always been internal, so there is no
reason to try downloading it, it will never succeed.
Add provision to skip other add-ons as well.

For consistency, do the same test in both glibc and eglibc.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2011-06-03kconfig: prepend CT-NG's version tag to PKGVERSION
"Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com> [Fri, 03 Jun 2011 17:21:56 +0200] rev 2503
kconfig: prepend CT-NG's version tag to PKGVERSION

"crosstool-NG-${CT_VERSION}" is currently the default for TOOLCHAIN_PKGVERSION,
and this options is passed as is to --with-pkgversion.

This patch prepends "crosstool-NG ${CT_VERSION}" to TOOLCHAIN_PKGVERSION before
passing it to --with-pkgversion.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>

2011-06-02functions: save & restore the static companion libraries install dir
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 02 Jun 2011 22:30:55 +0200] rev 2502
functions: save & restore the static companion libraries install dir

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2011-06-02functions: fix downloading files
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 02 Jun 2011 23:56:13 +0200] rev 2501
functions: fix downloading files

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2011-06-02cc/gcc: CC_STATIC_LIBSTDCXX 'depends on' CONFIGURE_has_static_libstdcpp
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 02 Jun 2011 19:50:12 +0200] rev 2500
cc/gcc: CC_STATIC_LIBSTDCXX 'depends on' CONFIGURE_has_static_libstdcpp

Hide the staticaly linked libstdc++ option if the static libstdc++ is not
present, detected at configure time.

Add a blind option that says whether static linking is possible at all.
It defaults to 'y', but depends on the needed CONFIGURE_* options. For
now, it only depends on static libtdc++, but new dependencies can be
easily added.

Hide the global static toolchain option behind this new option.

Original patch by Bryan Hundven <bryanhundven@gmail.com>

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2011-06-02configure: check for libstdc++.{so,dylib,a}
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 02 Jun 2011 19:49:36 +0200] rev 2499
configure: check for libstdc++.{so,dylib,a}

It's probably a good thing to check for at least one instance of
libstdc++.{so,dylib,a} at configure time. At least one is needed
by the companion libraries and gcc.

Original patch by Bryan Hundven <bryanhundven@gmail.com>

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>