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>

2011-06-02configure: add prefix to err messages in has_or_{abort,warn}
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 02 Jun 2011 21:43:36 +0200] rev 2498
configure: add prefix to err messages in has_or_{abort,warn}

Make it easier to spot messages spewed out by has_or_{abort,warn}.

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

2011-06-02configure: maintain single quotes in error messages
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 02 Jun 2011 19:58:05 +0200] rev 2497
configure: maintain single quotes in error messages

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

2011-05-30glibc: properly handle internal addons
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 30 May 2011 23:05:28 +0200] rev 2496
glibc: properly handle internal addons

Some addons are bundled with glibc/eglibc, so we should not try to
download and extract them.

This is done as thus:
- at download time:
- if the add-on download fails, keep going;
- at extract time:
- if the addon is present in the source tree, ignore it;
- if the addon is missing in the source tree:
- if the archive is present, extract it;
- if the archive is missing, bail out.

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

2011-05-31libc/eglibc: use generic SVN functions
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 31 May 2011 00:20:44 +0200] rev 2495
libc/eglibc: use generic SVN functions

eglibc is only available from SVN. The script currently calls svn
in its own tortuous and convoluted way.

Use the egeneric SVN extract functions, and sinplify the eglibc
download function.

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

2011-05-31scripts/functions: do not abort on failed svn
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 31 May 2011 00:57:36 +0200] rev 2494
scripts/functions: do not abort on failed svn

In case of eglibc, some add-ons that were previously external are
now internal (bundled with the main sources).

So we do not want to fail if an add-on can't be downloaded; we
want to post-pone the check until we can extract the main archive.

So:
- try to retrieve the add-on
- if it fails, print a warning instead of calling CT_Abort
- return 1

So, components that want to catch the error and want to handle it can,
while components that do not will gracefuly fail thanks to our catching
every errors.

Bonus: it works without changing any existing retrieval procedure! :-)

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

2011-05-30scripts/functions: do not abort on failed extract
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 30 May 2011 23:24:45 +0200] rev 2493
scripts/functions: do not abort on failed extract

For glibc/eglibc, if the add-on can not be extracted, we want to catch
the error to print a meaningful error message.

So:
- try to extract the tarball
- if it fails, print a waring instead of calling CT_Abort
- return 1

So, components that want to catch the error and want to handle it can,
while components that do not will gracefuly fail thanks to our catching
every errors.

Bonus: it works without changing any existing extract procedure! :-)

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

2011-05-30scripts/functions: do not abort on failed download
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 30 May 2011 23:24:11 +0200] rev 2492
scripts/functions: do not abort on failed download

In case of glibc/eglibc, some add-ons that were previously external are
now internal (bundled with the main sources).

So we do not want to fail if an add-on tarball can't be downloaded; we
want to post-pone the check until we can extract the main archive.

So:
- try to download the tarball
- if it fails, print a warning instead of calling CT_Abort
- return 1

So, components that want to catch the error and want to handle it can,
while components that do not will gracefuly fail thanks to our catching
every errors.

Bonus: it works without changing any existing retrieval procedure! :-)

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

2011-05-31cc/gcc: fix a misleading FIXME
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 31 May 2011 01:30:54 +0200] rev 2491
cc/gcc: fix a misleading FIXME

The FIXME about the static libstdc++ is misleading; it only deserves
being an INFO.

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