summaryrefslogtreecommitdiff
path: root/scripts/build
AgeCommit message (Collapse)AuthorFilesLines
2011-10-11libc/glibc: run ./configure in CONFIG_SHELLYann E. MORIN"1-0/+3
Tremendously helps when running on at least Ubuntu, with dash as the system shell (ie. /bin/sh points to dash). Reported by a few people, of which: leming, ccct and ccole on IRC Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> (transplanted from 30c89d1f74a4fee73517b4ed67e843be6885447e)
2011-10-09complibs/cloog: catch autogen.sh's outputYann E. MORIN"1-1/+1
Run autogen.sh through CT_DoExecLog to catch its output. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> (transplanted from fcf5c43cf30f11366d4fe16ee19d6c2143985c62)
2011-10-09binutils/binutils: ensure gold is staticaly-linked if neededYann E. MORIN"1-2/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> (transplanted from 293d8334b913a86c3e5d817dd84e5bc434888251)
2011-10-05Pass CXXFLAGS to binutils/gold.Michael Hope1-0/+1
The GOLD linker is written in C++. Pass CT_CFLAGS_FOR_HOST as CXXFLAGS to configure so that any host specific flags are passed through. It feels a bit funny passing CFLAGS as CXXFLAGS, but the PPL and GCC target rules already do the same. Signed-off-by: Michael Hope <michael.hope@linaro.org> (transplanted from 9cd87d279a99bd32a364f12d4b2d6d37e1d9248b)
2011-09-21kernel/linux: add alternate download locationsYann E. MORIN"1-1/+5
Since kernel.org is dead, and there is no announced or known estimated time or return to normality, it is impossible to download any kernel at this time. Add a known-working mirror. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> (transplanted from 7df89370f80537d1b36b2fda70e3a1c6bc237a65)
2011-08-22debug/ltrace: Fix HOST_OS and arTitus von Boxberg1-0/+2
HOST_OS really is the target OS. Allow setting it for configure via an environment variable. libltrace.a should have an index: Allow ar to be set as an environment variable, and generate an index in this lib. Reported-by: "Guylhem Aznar" <crossgcc@guylhem.net> Signed-off-by: "Titus von Boxberg" <titus@v9g.de> (transplanted from f86af11138ea2b2ecd4876d9c6c24f58ba4d68ac)
2011-08-21complibs/libelf: use target ranlibTitus von Boxberg1-0/+1
For portability, the right ranlib for the target must be passed to libelf's configure. Signed-off-by: "Titus von Boxberg" <titus@v9g.de> (transplanted from e4a6fefcb0f5ecbcade3ae5edbe609560843aed1)
2011-08-17debug/gdb: we don't care if the host tic is shared or staticYann E. MORIN"1-1/+4
Because we need our own host tic, we have to build it; and we do build it statically for now. But as MacOS/Darwin/Whatever-you-call-it does not support static linking (what a shame!), it fails. Anyway, we don't really care it being shared, in the end. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> (transplanted from 41bd6777fa4f767d6264db7c58986920014fd708)
2011-08-12libc/uClibc: force use of ctor/dtorYann E. MORIN"1-1/+5
Although ctor/dtor do not seem strictly required, missing them proves rather inconvenient, as ld can't link binaries. Reported-by: John Spencer <maillist-uclibc@barfooze.de> (sh4rm4 on IRC) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> (transplanted from fac4018427d2920607e8f924672458be1b366551)
2011-07-31libc/mingw: fix mingw source dirsYann E. MORIN"2-23/+23
Someof the mingw32 source tarballs have an appended '-src' after the version. Since changeset #6e1412ba8da9 (scripts/functions: force extract folder to archive basename), it means mingw tarballs get extracted in a directory ending with '-src'. Fix that. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-31libc/uclibc: fix src dir locationYann E. MORIN"1-13/+3
Now that we akways extract the tarballs in a sane location (see changeset #6e1412ba8da9: scripts/functions: force extract folder to archive basename), the uClibc snapshot dir now has the date (as version) in it, eg.: uClibc-20100710 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-29debug/gdb: don;t install sample gdbinit for old versionsYann E. MORIN"1-14/+16
Only starting with gdb-7 does installing the gdbinit sample makes senses. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-28scripts/libc: do not build add-ons by defaultBenoît THÉBAUDEAU"1-1/+1
Currently, no --enable-add-ons option is passed to libc configure when "$(do_libc_add_ons_list ,)" is empty, which makes configure automatically search for present add-ons. In that case, all present add-ons are built, although no add-on was selected by the user in the config. Moreover, this can make the configure fail if some non-standard add-ons like eglibc-localedef are present. This behavior also leads to an inconsistency from a user point of view between the following cases: - LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS="none" in the config, which makes "$(do_libc_add_ons_list ,)" return "", so all present add-ons are built. - LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS!="none" in the config, which makes "$(do_libc_add_ons_list ,)" return the add-on supporting the chosen threading implementation, e.g. "nptl", so only this add-on is built. This patch disables the building of all add-ons in that case. It is still possible to build all present add-ons by adding --enable-add-ons to LIBC_GLIBC_EXTRA_CONFIG_ARRAY. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-24debug/gdb: install gdbinit sample fileYann E. MORIN"2-0/+22
gdb needs to know where to find the libstdc++ helper python script to do, well, whatever it has to do with it... We can't install that in the user's ~/.gdbinit, it's too complex to handle all the cases. Moreover, if the user is using more than one toolchain, we can't put all that stuff in there... Just provide a sample config file the user can adapt to his/her own needs. Thanks go to Khem RAJ for providing such a hint: http://sourceware.org/ml/crossgcc/2011-07/msg00026.html Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com> CC: Khem Raj <raj.khem@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-22kernel/linux: prepare to handle 3.xYann E. MORIN"1-6/+12
The place to get 3.x has changed; the version scheme has changed. No need to be overkill, just support 3.x; 4.x is not even dreamt of. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17misc: fix typosYann E. MORIN"2-2/+2
Reported-by: "Antony N. Pavlov" <antony@niisi.msk.ru> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-12scripts, cc/gcc: do not fail on existing symlinks or build.logYann E. MORIN"2-4/+4
If the user builds a toolchain over an existing one, so, without removing CT_PREFIX_DIR, the build fails as the symlinks already exist, as does the build.log. This can also happen (for build.log) if the user first ran in download- or extract-only. Patch (with no SoB) originally from: Phil Wilshire <phil.wilshire@overturenetworks.com> Modified by me as it did not apply cleanly. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-14cc/gcc: do not build libgomp or libmudflap in the core stepsYann E. MORIN"1-0/+3
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-14scripts/internals: do not remove lib{32,64}/ symlinks after buildYann E. MORIN"1-12/+2
During the build, we create lib{32,64}/ symlinks out of the sysroot. In some cases (eg. mingw32 target), these symlinks are still required when running the toolchain. For other combinations, the symlinks are without incidence, so they can be safely kept after the build. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-09libc/glibc: fix passing args with spaces when calling backendYann E. MORIN"1-1/+1
Spaces in arguments to the glibc backend were not handled. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-14cc/gcc: fix passing args with spaces when calling core gccYann E. MORIN"1-1/+1
Spaces in arguments to the core gcc backend were not handled. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-03cc/gcc: fix non-MIPS buildsYann E. MORIN"1-30/+34
The new MIPS-specific options are not valid for other targets. Also, move the arch-specific setting lower in the extra_config setting. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-27cc/gcc: add MIPS spercific configure optionsYann E. MORIN"1-0/+32
Add the following MIPS specific options when configuring gcc: --with(out)-llsc --with(out)-synci --with(out)-mips-plt --with-divide=type Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-27cc/gcc: add option for linker hash styleYann E. MORIN"1-0/+10
Add an option to specify the hash type that gcc will ask the linker to use. It is a provision for the upcoming 4.7, as no version currently supports it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-27cc/gcc: add build-id optionYann E. MORIN"1-0/+8
Add an option to configure gcc with --enable-linker-build-id. Reported-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-30libc/eglibc: Add option that allows for getting svn over http://Yann E. MORIN"1-1/+7
Instead of getting eglibc over standard svn://svn.eglibc.org Add an option that allows the user to get source from http://www.eglibc.org/svn This is useful if you are behind a firewall or proxy. If you are behind a proxy, don't forget to configure ${HOME}/.subversion/servers In the [global] section setup your proxy configuration. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> [yann.morin.1998@anciens.enib.fr: removed useless 'default n'] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-28cc/gcc: remove --enable-symver optionYann E. MORIN"1-4/+0
That option is coming from the original crosstool, and is not entirely understand here. Moreover, it breaks with newer gcc-s: 4.6.1 now breaks while configuring libjava (and probably some other libs as well, untested). There is an related bug report to the gcc BZ: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49555 If need be, the old behavior can be restored with: CC_CORE_EXTRA_CONFIG_ARRAY="--enable-symver=gnu" CC_EXTRA_CONFIG_ARRAY="--enable-symver=gnu" Reported-by: Bryan Hundven <bryanhundven@gmail.com> Reviewed-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-26glibc: Refactor startfiles/headers into do_libc_backend()Bryan Hundven1-123/+92
Refactor the contents of 'do_libc_start_files()' and 'do_libc()' into a parameterized 'do_libc_backend()'. 'do_libc_start_files()' and 'do_libc()' call 'do_libc_backend()' with either 'libc_mode=startfiles' or 'libc_mode=final' (respectively) so that the startfiles/headers and the final libc builds are configured and built with the same options. One example of where this is needed is when building a mips toolchain. Previously, if you were building an n32 toolchain, you wouldn't have noticed an issue, because if '-mabi' is not in CFLAGS, n32 is the default: http://sourceware.org/git/?p=glibc-ports.git;a=blob;f=sysdeps/mips/preconfigure;hb=HEAD But when trying to build an o32 or n64 toolchain the build would have failed. This is because (e)glibc expects "-mabi={o32,n32,n64}" to be in CFLAGS, but was not previously provided in 'do_libc_start_files()'. The build failure would happen in the shared-core gcc when it tries to configure an n64 or o32 gcc with an n32 libc. A simpler solution would have been to just add TARGET_CFLAGS to configure in 'do_libc_start_files()', but this way makes configure and make consistent for both steps. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-06-08debug/cross-gdb: check host dependenciesYann E. MORIN"1-0/+1
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-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"4-12/+12
"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-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-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"1-0/+5
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"1-2/+7
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"1-0/+10
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"1-6/+10
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-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-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-18config: rename variables that are arraysYann E. MORIN"4-9/+10
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: 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-02internals: fix stripping yet once againYann E. MORIN"1-1/+13
Fix typo introduced by changeset #055e505f28be. Also, handle older versions of gcc (typically, all versions prior to 4.0.0). Maxime provided a similar patch, missing the case for the legacy versions of gcc. Reported-by: Maxime Bizon <mbizon@freebox.fr> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-30internals: fix stripping canadiansYann E. MORIN"1-1/+1
We can't run the newly built gcc when it is a canadian cross. Thus, we can't get the version number, and thus we can't get the directory libexec subdirectory to strip. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-24libc/uClibc: use MMU settingsYann E. MORIN"1-0/+13
Enforce the MMU settings from the crosstool-NG configuration. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>