summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2011-07-12scripts, cc/gcc: do not fail on existing symlinks or build.logYann E. MORIN"3-5/+5
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> (transplanted from 1ebc2248cc60230cd53ff94ae8f8f1e3261461a3)
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> (transplanted from 751c3f735ada4a95aa981841b832adb08b88ce27)
2011-07-09scripts: on startup, also remove the buildtools dirYann E. MORIN"1-3/+2
In case there's one lingering around (whether the previous build was successful, or failed), we have to remove the buildtools directory as well as the toochain build dir. This should also fix the case where out makeinfo wrapper calls itself recursively. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> (transplanted from 0e8ff57073838afea8830fe09d1d01cdf7cb37d8)
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> (transplanted from 7cce5c8fc79a62bca1e448fc721e7209ac85d204)
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> (transplanted from b24ead1a59472195f5b2071ff70664c36fa21c3f)
2011-05-28libc/glibc: fix {e,}glibc add-ons with short or long namesNicolás Reynolds"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> (transplanted from af25723a794f2017f45c300369a6d36849e22236)
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> (transplanted from 7690196856ce4a4700d1887cc3adf80acc627c52)
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> (transplanted from ec30b191f0e3fe9bc73199f0bcb8d789db17aa92)
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> (transplanted from 4f0c4fb572e2862c24b28e8d27ce7e9cb9adba65)
2011-05-08scripts/addToolVersion: fix gcc complibs dependencyYann E. MORIN"1-9/+10
Since the gcc configuration changes, the way to select the dependent companion libraries has changed. Update the addToolVersion script to match. Reported-by: Xun Li <lxfind@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> (transplanted from 4cd9cda2265c0c76df3d4ff77a2f3461aae3bc9f)
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> (transplanted from 539a3fa894f00888b02c7f89a2046f02c9d51e75)
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-27scripts/addToolsVersion: versions can be either in the .in or the .in.2Yann E. MORIN"1-5/+12
The components have their version selection handled either in the .in file or the .in.2 file. Handle both cases. Also, when dumping an existing version, keep the user's grep options (ie. do override neither options nor colors). 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>
2011-04-24scripts: small eye-candy in the wiki tableYann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-24internals/finish: do not remove ${PREFIX}/includeYann E. MORIN"1-3/+0
gcc installs the C++ headers in ${PREFIX}/include/ but we trash that directory at the end of the build. We previously removed that directory as it contained the companion libraries header files. But it's been some time now that we isntall the companion libraries in their own dedicated place, so we do not need to remove that directory. Until we have a better fix, just keep that directory for now. Reported-by: Bob Rossi <bob@brasko.net> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-12scripts: update config.subYann E. MORIN"1-11/+32
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-07scripts/mk-patch: squash all non alphanumeric charsYann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-07functions: pretty print error messagesYann E. MORIN"1-9/+43
Reformat the error messages: - strip ${CT_LIB_DIR} from scripts path names - strip ${CT_TOP_DIR} from build.log path and docs path - overall shorter lines - point to the known-issues file Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-07functions: fix date calculationsYann E. MORIN"1-1/+1
In case date(1) does not support nanosecond resolution, it does not interpret '%N', and leave it as-is. So we have to remove it. Note that some versions replaces '%N' with 'N', so we have to take this into account as well. Reported-by: Kyle Grieb <grieb.kyle@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-07functions: avoid CR when progress bar is not enabledJavier Viguera1-1/+1
Using CT-NG with progress bar disabled, still prints CR ('\r') characters on the output. When you capture the output to a file as part of an automated build, it shows extra empty lines. For example: ------------------------------------------------------------ [INFO ] Performing some trivial sanity checks [INFO ] Build started 20110404.113619 [INFO ] Building environment variables [EXTRA] Preparing working directories [EXTRA] Installing user-supplied crosstool-NG configuration ------------------------------------------------------------ Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2011-04-06complibs: disable building shared libsYann E. MORIN"11-275/+15
Managing the shared version of the companion libraries has become cumbersome. Also, it will one day be possible to use the companion libraries from the host distribution, and then we will be able to easily use either shared or static libs. As a side note, while working on the canadian-rework series, it has become quite more complex to properly handle shared companion libraries, as they need to be built both for the build and gost systems. That's not easy to handle. At all. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-04binutils/binutils: add blind option to force use of ld.bfd during buildYann E. MORIN"1-0/+5
gold is not capable of building glibc/eglibc, so we have to force using the BFD linker, ld.bfd. Offer a blind option that affected components can select to force use of the BFD linker during the build. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-05binutils/binutils: also install the wrapper for the internall ldYann E. MORIN"1-0/+3
ld is also installed in PREFIX/TUPLE/bin, so we need to wrap that as well. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-03arch/sparc: add absic supportYann E. MORIN"1-0/+8
Add support for building SPARC targeted toolchain. With this patch I have built a working sparc V8 (32 toolchain). Testing shows that not all gcc versions works well: 4.4.1 OK (kernel builds and the final kernel can boot) 4.4.2 Not tested 4.4.3 Not tested 4.4.4 BAD (Kernel can build but fails during boot) 4.4.5 BAD (Kernel can build but fails during boot) 4.5.1 BAD (Build fails with a spill related ICE - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35664) 4.5.2 OK (kernel builds and boots) I have successfully been using the 4.5.2 version for a few months. This patch does not add support for the LEON variant. That may come later. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> [yann.morin.1998@anciens.enib.fr: for 32-bit, default CT_TARGET_ARCH is OK] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-27cc/gcc: fix linking with static PPL 0.11+Yann E. MORIN"1-4/+32
PPL 0.11+ installs three libs: lippl, libppl_c and libpwl. libppl_c has a dependency on libpwl (at least for watchdog stuff). While gcc correctly links with libppl and libppl_c, it does not pull libpwl in. In case of shared libs, this is not a problem, as libppl_c has a NEEDED dependency on libpwl. But for static libs, that does not work. Although libppl_c.la exists and has a correct dependency on lipwl, somehow gcc misses it. So we have to force pulling libpwl when needed. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-26complibs/ppl: build watchdog libraryYann E. MORIN"1-0/+2
gcc-4.6+ requires the Parma Watchdog Library (libpwl). Build it and use it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-26cc/gcc: fix building core when building staticallyYann E. MORIN"1-2/+2
There was a mishap when cut-n-pasting code from the final step into the core step: a variable was not renamed. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-22scripts/internals: fix stripping once moreYann E. MORIN"1-1/+1
Some scripts have 'very long lines', so the output of 'file' will have that mentioned, such as: POSIX shell script, ASCII text executable, with very long lines Reported-by: Kyle Grieb <grieb.kyle@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20cc/gcc: log even moreYann E. MORIN"1-2/+2
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20libc/mingw: log even moreYann E. MORIN"1-3/+3
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20libc/glibc-common: log even moreYann E. MORIN"1-2/+2
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20libc/newlib: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20complibs/libelf: log even moreYann E. MORIN"1-2/+2
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20complibs/mpc: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20complibs/cloog: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20complibs/ppl: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20complibs/mpfr: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20complibs/gmp: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20debug/trace: log even moreYann E. MORIN"1-1/+2
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19debug/gdb: log even moreYann E. MORIN"1-4/+4
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19debug/dmalloc: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19binutils/elf2flt: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19binutils/binutils: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-15scripts: allow logging of commands with variablesYann E. MORIN"1-2/+16
In a lot of places, we need to call some commands with specific variable settings, a-la: var1=val1 var2=val2 /foo/bar/buz opt1 opt2 Unfortunately, we currently can not log the variable settings. Enhance CT_DoExecLog with a crude heuristic that works pretty well and that can also log setting variables. Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19scripts: leave changelog in build dir, copy to install dirYann E. MORIN"2-43/+27
Users tend to look for the build log in the current working directory, rather than in the toolchain's installation dir. While bundling the build log in the toolchain installation dir is nice for distribution and review, it can be easier to have the build log readily available in the working directory, as it is quicker to get to it. So, the build log stays in the working directory until the toolchain is completely and successfully built, and then a (compressed) copy is made. Reported-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19scripts: fix stripping in finalisation stepYann E. MORIN"1-1/+1
The heuristic to find shell script is deficient. Fix it. Reported-by: Kyle Grieb <grieb.kyle@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-05scripts: update config.{guess,sub}Yann E. MORIN"2-124/+124
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03binutils/binutils: use log level CFG for ./configureYann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03complibs/libelf: use log level CFG for ./configureYann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>