summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-06-08configure: give check_for() the ability to test several item types at onceBenoît THÉBAUDEAU"1-56/+74
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 textsYann E. MORIN"1-5/+4
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-completionYann E. MORIN"1-0/+11
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-onYann E. MORIN"2-2/+12
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 PKGVERSIONBenoît THÉBAUDEAU"6-13/+21
"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 dirYann E. MORIN"1-0/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-02functions: fix downloading filesYann E. MORIN"1-5/+6
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-02cc/gcc: CC_STATIC_LIBSTDCXX 'depends on' CONFIGURE_has_static_libstdcppYann E. MORIN"3-0/+18
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"1-0/+7
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"1-7/+8
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 messagesYann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-30glibc: properly handle internal addonsYann E. MORIN"3-11/+31
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-30libc/eglibc: use generic SVN functionsYann E. MORIN"1-83/+15
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-30scripts/functions: do not abort on failed svnYann E. MORIN"1-1/+4
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 extractYann E. MORIN"1-2/+5
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 downloadYann E. MORIN"1-5/+6
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-30cc/gcc: fix a misleading FIXMEYann E. MORIN"1-4/+4
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>
2011-05-31gdb: use the PKGVERSION and BUGURL optionsBenoît THÉBAUDEAU"3-1/+11
This patch makes gdb benefit from the TOOLCHAIN_PKGVERSION and TOOLCHAIN_BUGURL options. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31eglibc: use the PKGVERSION and BUGURL optionsBenoît THÉBAUDEAU"4-3/+53
This patch makes eglibc benefit from the TOOLCHAIN_PKGVERSION and TOOLCHAIN_BUGURL options. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31binutils: use the PKGVERSION and BUGURL optionsBenoît THÉBAUDEAU"4-1/+46
This patch makes binutils benefit from the TOOLCHAIN_PKGVERSION and TOOLCHAIN_BUGURL options. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31gcc: promote PKGVERSION and BUGURL options to toolchain levelBenoît THÉBAUDEAU"3-26/+28
This patch promotes the PKGVERSION and BUGURL options to toolchain level so that all toolchain components supporting them can benefit from them. These options are passed to configure through --with-pkgversion and --with-bugurl. They are supported by binutils 2.18+, gcc 4.3+, eglibc 2.9+ and gdb 7.0+. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31gcc: add a CC_GCC_HAS_PKGVERSION_BUGURL optionBenoît THÉBAUDEAU"2-2/+9
This patch adds a blind option CC_GCC_HAS_PKGVERSION_BUGURL to test the support of --with-pkgversion and --with-bugurl by GCC's configure. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31scripts/addToolVersion.sh: add a function to extract fields from versionsBenoît THÉBAUDEAU"1-6/+15
This patch adds a function to extract major, minor, revision, etc. from version numbers. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31kconfig: remove useless 'default n'Benoît THÉBAUDEAU"32-120/+8
kconfig bools are disabled by default, so specifying 'default n' is useless and noisy. This patch removes all occurrences of 'default n'. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-29libc/glibc: commonalise extraction btw glibc and eglibcYann E. MORIN"3-90/+47
glibc and eglibc have a very similar extraction process, so it makes sense to commonalise it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-28libc/glibc: fix {e,}glibc add-ons with short or long namesYann E. MORIN"2-10/+30
Fixes the issue with {e,}glibc addons having short and long names (such as eglibc-ports-2_13 and ports), which caused configure scripts to run through them twice and thus configuring incorrectly. For instance, the mips64el-n32-linux-gnu toolchain would be recognized correctly first, but then the second pass would change it to mips32, building a mixed MIPS-III N32 and MIPS-I libc. Signed-off-by: Nicolás Reynolds <fauno@kiwwwi.com.ar> [yann.morin.1992@anciens.enib.fr: remove spurious trailing spaces] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-26configure: add possibility to set arbitrary variable in check_forYann E. MORIN"4-15/+69
If check_for is able to find the required prog/inc/lib, allow it to set an arbitrary variable to 'y'. This variable is then pushed down to the kconfig definition. For example: has_or_abort prog=foobar kconfig=has_foobar If foobar is available, it yields a kconfig variable defaulting to y: config CONFIGURE_has_foobar bool default y If foobar is missing, it yields a kconfig variable defaulting to n: config CONFIGURE_has_foobar bool Thus it is possible to depends on that variabel to show/hide options: config SOME_FEATURE bool prompt "Some feature" depends on CONFIGURE_has_foobar Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-26configure: add has_or_warnYann E. MORIN"1-0/+18
By popular request, add a function to only warn on missing stuff. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-26configure: move error message down to has_or_abortYann E. MORIN"1-11/+15
When has_or_warn will come, we do want to print the error message only in has_or_abort, so move it down there. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-25debug/gdb: bump Linaro revision to 2011.05-0Benoît THÉBAUDEAU"1-3/+3
This patch bumps the Linaro GDB revision to 2011.05-0. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-25cc/gcc: bump Linaro revisions to 2011.05-0Benoît THÉBAUDEAU"1-6/+6
This patch bumps the Linaro GCC revisions to 2011.05-0 when applicable. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-25debug/gdb: fix runtime sysrootBenoît THÉBAUDEAU"1-0/+1
This patch sets the runtime sysroot to fix the following GDB warning: "Unable to find dynamic linker breakpoint function. GDB will be unable to debug shared library initializers and track explicitly loaded dynamic code." The sysroot can later be changed within gdb with the `set sysroot` command if necessary. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-24scripts: fix broken variable nameBenoît THÉBAUDEAU"1-2/+2
This patch fixes a config variable name missing its 'CT_' prefix. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-22kconfig: fix forward dependenciesYann E. MORIN"1-1/+1
In case a set of options are conditional to two different paths, the forward dependencies in these options is wrong, but in the first path. Fix by Arnaud Lacombe on linux-kbuild ML: http://www.spinics.net/lists/linux-kbuild/msg04832.html Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-21kernel/linux: add latest versionsYann E. MORIN"1-9/+24
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-18config: document array-capable variablesYann E. MORIN"4-1/+19
Update help entries for thos variables that accept multiple arguments with spaces (aka. array-capable variables). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-19scripts: munge .config to handle array variablesYann E. MORIN"6-8/+21
Transfrom array variables from pure strings (in the kconfig output) into proper bash arrays declarations, for feeding to the build scripts. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-18config: rename variables that are arraysYann E. MORIN"10-20/+21
Make it explicit that a variable is an array bu the name of the variable. It will be used later when .config gets munged to allow both multiple arguments and arguments with spaces at the same time to be passed from the configuration down to the build scripts. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-15scripts: interpret *_EXTRA_CONFIG config variables arraysYann E. MORIN"4-9/+9
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-19complibs/ppl: fix 0.11-0.11.2 to compile with --disable-sharedAnthony Foiani3-0/+84
PPL 0.11 (through 0.11.2) had a small bug where it still tried to build and test its Java interface even when shared libraries are disabled. Since that's exactly what ct-ng does, it explodes. This is the patch from the PPL authors (see final link below). More information can be found in these messages/threads: Anthony's initial report and analysis with Yann: http://www.cygwin.com/ml/crossgcc/2011-05/msg00046.html Ron Flory hit the same problem: http://www.cygwin.com/ml/crossgcc/2011-05/msg00054.html Anthony's report to the ppl-devel list: http://www.cs.unipr.it/pipermail/ppl-devel/2011-May/017450.html Roberto's reply with a link to the fix in the PPL git repo: http://www.cs.unipr.it/pipermail/ppl-devel/2011-May/017455.html Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
2011-05-19complibs/ppl: build only C and C++ interfaces for PPLAnthony Foiani1-1/+1
By default, PPL wants to build interfaces for any of a variety of langauges it finds on the local host (python, java, possibly perl, also more esoteric languages such as ocaml and prolog). These extra interfaces can double the compile time for the library. For single-process builds, I found a savings of more than 40%: default / j1: 716s total, 143.2s avg, 0.52s stdev just_c / j1: 406s total, 81.2s avg, 0.33s stdev just_c_cpp / j1: 413s total, 82.6s avg, 0.22s stdev And for multi-process builds, it approached 50%: default / j4: 625s total, 125.0s avg, 0.57s stdev just_c / j4: 338s total, 67.6s avg, 1.25s stdev just_c_cpp / j4: 327s total, 65.4s avg, 0.36s stdev Since the PPL we build within ct-ng is only used by GCC, we only need to build the C and C++ interfaces. Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
2011-05-19complibs/ppl: remove unnecessary (and confusing) --enable-cxx configure switch.Anthony Foiani1-1/+0
PPL does not use the "--enable-cxx" configure switch at all; it's possibly a cut-and-paste leftover from 'gmp.sh'. (PPL is written in C++ natively, so it doesn't make much sense to have to enable C++; GMP, on the other hand, is written in C with an optional C++ wrapper.) Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
2011-05-19complibs/ppl: update GMP location configuration argument for PPL v0.11 and laterAnthony Foiani1-0/+1
'configure' for PPL 0.11 (and later) needs "--with-gmp-prefix" to provide the location of the GMP toolkit; the previous switches were "--with-libgmp-prefix" and "--with-libgmpxx-prefix". The upstream log message is: commit 08dfb6fea094f8c5a533575a3ea2095edce99a6d Author: Roberto Bagnara <bagnara@cs.unipr.it> Date: Sun Jul 12 21:39:46 2009 +0200 New configure option --with-gmp-prefix supersedes the (now removed) options --with-libgmp-prefix and --with-libgmpxx-prefix. Link: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=08dfb6fea094f8c5a533575a3ea2095edce99a6d Since PPL's 'configure' ignores unknown switches, we use all three so we don't have to conditionalize the ppl.sh build script itself. Signed-Off-By: Anthony Foiani <anthony.foiani@gmail.com>
2011-05-18libc/glibc: source common parts instead of symlinkingYann E. MORIN"2-2/+2
Symlinks are a nightmare when one is grepping... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-12kconfig: add the nconf frontendYann E. MORIN"5-5/+2301
The nconf frontend is the new hot topic in the kconfig land! :-) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-09libc/glibc: use the multi-inclusion capability of the new kconfigYann E. MORIN"4-11/+3
Now that kconfig can include a file multiple times, link the glibc/eglibc common stuff to two .in.2 files. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-12kconfig: remove mis-leading messagesYann E. MORIN"3-7/+3
Unlinke the Linux kernel, crosstool-NG does not (directly) use make as a frontend, so remove any occurence of reference to running make after the configuration. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-10kconfig: fix choice multi-displayYann E. MORIN"1-0/+5
In case a choices has different combinations, it can be displayed more than once. See the discussion thread on the linux-kbuild ML: http://www.spinics.net/lists/linux-kbuild/msg04709.html The fix applied here was proposed by Arnaud LACOMBE. That fix, or a similar one, will probably be pushed upstream soon. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-08kconfig: don't trim spaces with leading pipeYann E. MORIN"1-1/+7
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-08kconfig: do not warn on missing env variableYann E. MORIN"1-2/+0
In crosstool-NG, we use env variables for the backend mode. So it is perfectly legit that these variables are not set. So do not warn about it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>