Commit Graph

1443 Commits

Author SHA1 Message Date
Yann E. MORIN"
21247bddbf scripts/internals: do not remove lib{32,64}/ symlinks after build
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-04-15 00:22:42 +02:00
Yann E. MORIN"
5de61c8032 scripts: on startup, also remove the buildtools dir
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>
2011-07-10 00:02:05 +02:00
Yann E. MORIN"
96ab98a14b libc/glibc: fix passing args with spaces when calling backend
Spaces in arguments to the glibc backend were not handled.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-09 19:40:24 +02:00
Yann E. MORIN"
b491627228 cc/gcc: fix passing args with spaces when calling core gcc
Spaces in arguments to the core gcc backend were not handled.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-15 00:05:53 +02:00
Yann E. MORIN"
887aefc742 scripts: update config.{guess,sub}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-07 10:17:34 +02:00
Yann E. MORIN"
f1c0186b2f config: move multi-line shell commands from Makefile to script
Maintaining thos multi-line shell commands in a Makefile rule is
a real PITA.

Move the two affected rules (build_gen_choice_in and build_gen_menu_in
to a shell script.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-03 23:02:16 +02:00
Yann E. MORIN"
69f9485343 cc/gcc: fix non-MIPS builds
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-07-03 22:32:36 +02:00
Yann E. MORIN"
d2d948a4ad cc/gcc: add MIPS spercific configure options
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-27 18:04:50 +02:00
Yann E. MORIN"
71d5c495e9 cc/gcc: add option for linker hash style
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-27 15:15:00 +02:00
Yann E. MORIN"
9c8bde853c cc/gcc: add build-id option
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-27 13:52:15 +02:00
Yann E. MORIN"
2dfb4412bf libc/eglibc: Add option that allows for getting svn over http://
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-30 18:14:01 +02:00
Yann E. MORIN"
7197a56ae6 cc/gcc: remove --enable-symver option
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-28 23:46:04 +02:00
Bryan Hundven
6940a6c0eb glibc: Refactor startfiles/headers into do_libc_backend()
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-26 03:26:54 -07:00
Yann E. MORIN"
b5225e3ff2 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-08 15:47:43 +02:00
Yann E. MORIN"
39dedfbcb6 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-04 17:15:58 +02:00
Benoît THÉBAUDEAU"
d147fbb201 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-03 17:21:56 +02:00
Yann E. MORIN"
7f504c6c27 functions: save & restore the static companion libraries install dir
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-02 22:30:55 +02:00
Yann E. MORIN"
3299aa7685 functions: fix downloading files
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-02 23:56:13 +02:00
Yann E. MORIN"
93b0db91b4 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-30 23:05:28 +02:00
Yann E. MORIN"
3d6ce4cd3d 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-31 00:20:44 +02:00
Yann E. MORIN"
3304d5c077 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-31 00:57:36 +02:00
Yann E. MORIN"
1c3c90d0d4 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-30 23:24:45 +02:00
Yann E. MORIN"
0c73370023 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-30 23:24:11 +02:00
Yann E. MORIN"
b4620c6640 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>
2011-05-31 01:30:54 +02:00
Benoît THÉBAUDEAU"
500ee00f22 gdb: use the PKGVERSION and BUGURL options
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-31 21:03:03 +02:00
Benoît THÉBAUDEAU"
d558bb995d eglibc: use the PKGVERSION and BUGURL options
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-31 20:55:30 +02:00
Benoît THÉBAUDEAU"
493672e977 binutils: use the PKGVERSION and BUGURL options
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-31 20:39:42 +02:00
Benoît THÉBAUDEAU"
35fe8a047d gcc: promote PKGVERSION and BUGURL options to toolchain level
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-31 20:12:35 +02:00
Benoît THÉBAUDEAU"
c06117b767 scripts/addToolVersion.sh: add a function to extract fields from versions
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-31 17:20:52 +02:00
Yann E. MORIN"
8f32ebcc88 libc/glibc: commonalise extraction btw glibc and eglibc
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-29 19:24:41 +02:00
Yann E. MORIN"
82fa824f68 libc/glibc: fix {e,}glibc add-ons with short or long names
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-27 22:02:30 -03:00
Benoît THÉBAUDEAU"
911a3d473e debug/gdb: fix runtime sysroot
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-25 20:23:48 +02:00
Benoît THÉBAUDEAU"
338d4b8b4d scripts: fix broken variable name
This patch fixes a config variable name missing its 'CT_' prefix.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-24 14:15:47 +02:00
Yann E. MORIN"
2c3b6d2b71 scripts: munge .config to handle array variables
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-19 22:29:49 +02:00
Yann E. MORIN"
c4bb88466e config: rename variables that are arrays
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-18 23:00:46 +02:00
Yann E. MORIN"
b00e501d7c scripts: interpret *_EXTRA_CONFIG config variables arrays
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-15 18:51:40 +02:00
Anthony Foiani
3555e03268 complibs/ppl: build only C and C++ interfaces for PPL
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-19 23:06:16 +02:00
Anthony Foiani
bf48824c1c complibs/ppl: remove unnecessary (and confusing) --enable-cxx configure switch.
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-19 23:05:58 +02:00
Anthony Foiani
26cd54e8fc complibs/ppl: update GMP location configuration argument for PPL v0.11 and later
'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-19 23:05:32 +02:00
Yann E. MORIN"
a43bb564ae scripts/addToolVersion: fix gcc complibs dependency
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>
2011-05-08 11:02:18 +02:00
Yann E. MORIN"
f73891e77c internals: fix stripping yet once again
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-05-02 18:07:13 +02:00
Yann E. MORIN"
3d0844d41e internals: fix stripping canadians
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-30 22:45:27 +02:00
Yann E. MORIN"
c9a186ec84 scripts/addToolsVersion: versions can be either in the .in or the .in.2
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-28 00:13:41 +02:00
Yann E. MORIN"
3e05fb91f5 libc/uClibc: use MMU settings
Enforce the MMU settings from the crosstool-NG configuration.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-24 18:57:01 +02:00
Yann E. MORIN"
e190682b9d scripts: small eye-candy in the wiki table
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-24 16:14:41 +02:00
Yann E. MORIN"
235dc5090e internals/finish: do not remove ${PREFIX}/include
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-24 15:39:53 +02:00
Yann E. MORIN"
8b5375b0c8 scripts: update config.sub
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-12 22:12:23 +02:00
Yann E. MORIN"
1063559541 scripts/mk-patch: squash all non alphanumeric chars
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-08 00:58:33 +02:00
Yann E. MORIN"
81862cd306 functions: pretty print error messages
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-08 00:08:57 +02:00
Yann E. MORIN"
bdf0b26e19 functions: fix date calculations
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-08 00:02:44 +02:00
Javier Viguera
98ceb8faf3 functions: avoid CR when progress bar is not enabled
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-07 11:52:23 +02:00
Yann E. MORIN"
5e27ad1e5a complibs: disable building shared libs
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-06 22:30:57 +02:00
Yann E. MORIN"
942bd0e2a7 binutils/binutils: add blind option to force use of ld.bfd during build
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-05 01:02:28 +02:00
Yann E. MORIN"
2e7f8019d2 binutils/binutils: also install the wrapper for the internall ld
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-05 23:34:16 +02:00
Yann E. MORIN"
693cc01f41 arch/sparc: add absic support
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-04-03 18:22:00 +02:00
Yann E. MORIN"
784d534d28 cc/gcc: fix linking with static PPL 0.11+
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-28 01:07:31 +02:00
Yann E. MORIN"
5476675c12 complibs/ppl: build watchdog library
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-27 00:07:59 +01:00
Yann E. MORIN"
951a749ffb cc/gcc: fix building core when building statically
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-27 00:09:42 +01:00
Yann E. MORIN"
1432e05c3b scripts/internals: fix stripping once more
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-22 18:10:00 +01:00
Yann E. MORIN"
babb494db3 cc/gcc: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:17:27 +01:00
Yann E. MORIN"
b81864b4c1 libc/mingw: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:16:34 +01:00
Yann E. MORIN"
f033ade4f8 libc/glibc-common: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:15:34 +01:00
Yann E. MORIN"
699de4c20c libc/newlib: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:13:05 +01:00
Yann E. MORIN"
cde7865716 complibs/libelf: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:08:22 +01:00
Yann E. MORIN"
7151e68b0d complibs/mpc: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:07:31 +01:00
Yann E. MORIN"
85c67d1ae3 complibs/cloog: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:07:06 +01:00
Yann E. MORIN"
7ea68f2049 complibs/ppl: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:06:26 +01:00
Yann E. MORIN"
51fac814d1 complibs/mpfr: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:05:15 +01:00
Yann E. MORIN"
293d580d51 complibs/gmp: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:04:22 +01:00
Yann E. MORIN"
b18efc38b7 debug/trace: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 01:03:26 +01:00
Yann E. MORIN"
2431da8122 debug/gdb: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 00:55:07 +01:00
Yann E. MORIN"
327dcfc8be debug/dmalloc: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 00:53:41 +01:00
Yann E. MORIN"
457a67cd3e binutils/elf2flt: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 00:45:44 +01:00
Yann E. MORIN"
221e49129d binutils/binutils: log even more
Also log variable assignement for single commands.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20 00:45:05 +01:00
Yann E. MORIN"
807daf12d0 scripts: allow logging of commands with variables
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-15 23:18:37 +01:00
Yann E. MORIN"
7bfa4139ad scripts: leave changelog in build dir, copy to install dir
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-20 00:02:21 +01:00
Yann E. MORIN"
876d9a6259 scripts: fix stripping in finalisation step
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-19 21:43:26 +01:00
Yann E. MORIN"
8a16f04055 scripts: update config.{guess,sub}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-05 18:47:08 +01:00
Yann E. MORIN"
5473fb7bf2 binutils/binutils: use log level CFG for ./configure
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 23:29:07 +01:00
Yann E. MORIN"
55b57a8230 complibs/libelf: use log level CFG for ./configure
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 23:26:59 +01:00
Yann E. MORIN"
32fd4c0963 scripts: do not chmod u+w the whole source directory
Doing a chmod on the whole source dir after every packages
are extracted can take a hell of a lot of time.

The offending packages are far from legion, and they now
have their own chmod u+w to cleanup their own mess...

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 23:46:03 +01:00
Yann E. MORIN"
55052c0d84 comptools/libtool: chmod files to u+w
The libtool-2.2.6b tarball contains RO files.
We have to chmod them u+w.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 19:32:05 +01:00
Yann E. MORIN"
eb5cebe144 comptools/autoconf: chmod files to u+w
The autoconf-2.65 tarball contains RO files.
We have to chmod them u+w.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 19:30:22 +01:00
Yann E. MORIN"
3ed184a1f2 comptools/make: chmod files to u+w
The make-3.81 tarball contains RO files.
We have to chmod them u+w.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 19:28:16 +01:00
Yann E. MORIN"
897abbe362 comptools/automake: chmod files to u+w
The automake-1.11.1 tarball contains RO files.
We have to chmod them u+w.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 19:28:40 +01:00
Yann E. MORIN"
30e16a4dff debug/gdb: chmod ncurses files to u+w
The ncurses-5.7 tarball contains only RO files.
We have to chmod them u+w.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-03 19:26:08 +01:00
Yann E. MORIN"
ae2ca9a8d8 binutils/sstrip: build statically for static toolchains
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-27 15:34:30 +01:00
Yann E. MORIN"
b37efbd994 binutils/elf2flt: remove trailing spaces
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-27 16:20:47 +01:00
Yann E. MORIN"
ae126c295b libc/glibc: fix dubious construct when installing headers
This is dubious because if the copy fails, then we'll miss the error.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21 19:27:28 +01:00
Yann E. MORIN"
43e89c8ddd libc/glibc: only install start files for NPTL
Building the start files requires a shared-capable compiler, which we do
not have when the threading implementation is LinuxThreads.

So, only build the start files when the threading implementations is NPTL.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21 19:20:19 +01:00
Yann E. MORIN"
b93e67f07c libc/glibc: add fortify option
By default, recent versions of glibc and eglibc will build some
functions that take format strings (eg. printf, syslog...) with
run-time checks against some format string attacks. This is
called a fortified build.

Unfortunately, this fails somehow while building the instrumented
version of syslog, with some kind of circular dependency...

Disable fortified builds by default, and hide the enabling option
behind EXPERIMENTAL for daring users...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21 23:39:46 +01:00
Yann E. MORIN"
6635f8cd2e internals: don't remove lib64 symlinks in sysroot
The lib64 symlinks are needed for the linker to find the libraries.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-21 14:39:24 +01:00
Yann E. MORIN"
3f0d43382c comptools: install them side-to-side with build tools
As companion tools might or might not be used to build each
toolchain, they do belong to that toolchain's build tools,
not to the generic override tools.

Fix a typo in the autoconf URL.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-18 22:55:56 +01:00
Yann E. MORIN"
742a6f6508 buildtools: the buildtools dir is in fact a prefix
Consider the buildtools install directory as a prefix directory,
that is, install buildtools in prefix/bin/, not in prefix/.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-20 00:07:29 +01:00
Yann E. MORIN"
5d175195f6 buildtools: move to working directory
There is absolutely *no* reason for the buildtools (wrappers to gcc, g++,
as, ld... for the local machine) to be in the toolchain directory. Moreover,
they are removed after the build completes.

Move them out of the toolchain directory, and into the build directory (but
yet the part specific to the current toolchain). This means we no longer
need to explicitly remove them either, BTW, but we need to save/restore them
for the restart feature.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-23 20:43:32 +01:00
Yann E. MORIN"
69a876c46e buildtools: store path to buildtools in a variable
Currently, the buildtools are installed relative to ${CT_PREFIX_DIR}.
Change that by introducing ${CT_BUILDTOOLS_DIR}, which is
still set relative to ${CT_PREFIX_DIR}, but which will make it easy
to change in the future.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-20 22:12:43 +01:00
Yann E. MORIN"
7e64cef4b4 scripts: create the makeinfo wrapper before we set PATH
If we set PATH to the tools wrappers before we create the
makeinfo wrapper, then we may well wrap an existing wrapper
from a previous run.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 23:20:18 +01:00
Yann E. MORIN"
a59b794f9c debug/gdb: add versions from Linaro
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17 23:05:34 +01:00
Yann E. MORIN"
83a004e2c4 cc/gcc: add versions from Linaro
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17 22:29:33 +01:00
Yann E. MORIN"
1339801661 internals: fix stripping host binaries
The gcc used by linaro has a version number specific to Linaro, but
identifies itself with its upstream version numbering scheme.

This breaks the strip in the finish step, because the actual gcc version
is not the same as the configured one (eg. 4.5.2 vs. linaro-4.5-2011.02-0).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17 21:54:07 +01:00
Yann E. MORIN"
1838bb1f15 libc/glibc: add option to force unwind
We make it an option, as not all combinations of architectures
vs. compiler vs. glibc/eglibc exhibit the issue. Mostly visible
on old glibc versions, it seems...

This is a missing part from the glibc/eglibc merger... :-/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-31 19:52:18 +01:00
Yann E. MORIN"
f8ea3111b4 scripts: update tools
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-30 19:31:51 +01:00
Yann E. MORIN"
adbf0ff180 cc/gcc: enable plugins if needed
Enabling plugins in binutils is not enough, and gcc also
needs to be ./configured with --enable-plugins, although
this is not documented anywhere... :-/

Reported-by: karthik duraisami <kdconstant@hotmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28 18:53:37 +01:00
Yann E. MORIN"
a2e31b9c53 scripts: squash the multi-slash in the sysroot symlink
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-26 19:13:18 +01:00
Yann E. MORIN"
15da72b273 comptools: add make-3.81
Since the advent of make-3.82, some packages now break due to changes
in make-3.82, being stricter than 3.81 when interpreting the Makefiles.

This has bugged us a bit too much so far, and I believe fixing all
of them is a long road, while simply building make-3.81 is the easiest
route for now.

Of course, in the long term, packages will get fixed upstream, and we
should back-port the fixes to old versions, and get rid of building
make-3.81. In the meantime...

Reported several times on the mailing list.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-29 00:57:02 +01:00
Yann E. MORIN"
7817bcebe7 config: add an option not to remove the destination directory
In certain circumstances, removing the destination/installation directory
is a bad idea. For example, when the build environment is already taking
care of sanitising the build tree, and pre-installs stuff in there, it is
a very bad idea to remove the destination directory.

This happens now in buildroot, as the crostool-NG backend now installs the
toolchain in the common host-tools directory, and pre-install there a few
host-utilities (eg. host-automake and host-gawk).

Provide a config knob to turn on/off the removal of the destination
directory, defaulting to 'y' (previous behavior), and forced to 'n' when
used as a backend.

Reported-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28 22:06:49 +01:00
Yann E. MORIN"
2014041480 libc/mingw: do not remove support symlink
Under mingw, it seems that there is a mix between the traditional /usr
directory, and a similar-purposed /mingw directory (both in the sysroot).

Currently, we create /mingw as a symlink to /usr, and we removed it in
the libc-finish step.

Unfortunately, this prevents the pre-processor to find the headers.
Keeping the symlink makes it magically work...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-26 00:04:41 +01:00
Yann E. MORIN"
8efc6dae8a scripts: fix double slash in paths
Computed paths may contain double slashes.
This is not an issue but it is just ugly to look at.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25 21:59:03 +01:00
Yann E. MORIN"
94be1f470c config: add an option to name the sysroot directory
Depending on local policies, some users have expressed a need to
have the sysroot be named differently than the hard-coded name.

Add an option for that.
Default to 'sysroot' to match the existing literature.

While at it, replace 'sys-root' with 'sysroot' everywhere we
reference the sysroot.

Reported-by: Alexey Kuznetsov <Alexey.KUZNETSOV@youtransactor.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25 20:31:16 +01:00
Yann E. MORIN"
15a1cc2491 libc: remove now unneeded do_libc_headers
do_libc_headers is now a noop, and is no longer used, so remove that step.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:36:20 +01:00
Yann E. MORIN"
0b773f5823 libc/glibc-eglibc: misc janitorial cleanups.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-20 00:27:36 +01:00
Yann E. MORIN"
129bf2fa66 libc/glibc: add glibc specifics to the shared code, and use it
Final step at sharing code between glibc and eglibc.
Fall, wall of shame, fall!... :-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:35:58 +01:00
Yann E. MORIN"
49ab32ffe2 scripts: PARALLELMFLAGS is evil, rename
The reunification of the glibc/eglibc code paths exposed a nasty
bug in the glibc build: use of PARALLELMFLAGS breaks the build.

See the explanations in that bug report against FC6:
    https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=212111

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:35:43 +01:00
Yann E. MORIN"
b343b0216b libc/glibc: commonalise assembling the list of addons
glibc and eglibc each have two very similar ways of building this list.
This can, and should definitetly, be shared.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:35:18 +01:00
Yann E. MORIN"
a150a97e44 libc/glibc: commonalise setting of the minimum supported kernel version
It will be possible to use that also with eglibc, so this hunk belongs to
the common code.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:35:02 +01:00
Yann E. MORIN"
b560936e09 libc/glibc: use the common start_files procedure
Use the common procedure, shared between glibc and eglibc. This requires
that glibc-specific bits be included in the shared procedure.

But still build the full libc with the glibc-specific procedure. This will
be commonalised in a future commit.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:37:25 +01:00
Yann E. MORIN"
b43ff236bb libc/eglibc: cleanup common code for sharing with glibc
Some stuff is eglibc-specific, so needs to be conditonal.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-17 23:04:57 +01:00
Yann E. MORIN"
cc0894e731 libc/eglibc: move generic code to a common file
The build procedure for eglibc is generic enough to
be shared between glibc and eglibc. This includes:
 - headers install (empty!)
 - start files build
 - complete libc build
 - libc finish (empty!)
 - add-ons list

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-17 23:04:37 +01:00
Yann E. MORIN"
2dd949cd7f libc/mingw: move content of do_libc_headers into do_libc_start_files
It is unnecessary to split C library preparation into two steps, as only
one really makes sense. So, do_libc_headers is bound to be withdrawn
short-term, in favor of do_libc_start_files.

mingw already had all its start files installation in do_libc_headers, and
do_libc_start_files was empty, just migrate the content of the former into
the latter.


Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:32:44 +01:00
Yann E. MORIN"
7b003fde97 libc/uClibc: move content of do_libc_headers into do_libc_start_files
It is unnecessary to split C library preparation into two steps, as only
one really makes sense. So, do_libc_headers is bound to be withdrawn
short-term, in favor of do_libc_start_files.

uClibc already had all its start files installation in do_libc_headers, and
do_libc_start_files was empty, just migrate the content of the former into
the latter.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22 22:32:25 +01:00
Yann E. MORIN"
6568c1a39a libc-glibc: remove 2.3.6
This is an obsolete version which is no longer used by any sample (the only
user, the ia64 sample, has been removed).

It also makes the code path a bit complex, with twists just to accomodate
that version. Removing the version will make those twists go away, and
will ease commonalisation of glibc and eglibc in the future (hopefully!).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03 23:40:22 +01:00
Yann E. MORIN"
a28b593548 arch: remove ia64
ia64 is broken in every gcc/glibc combinations I tested (except for the
existing sample that used very old versions).

Nobody complained on the list about not being able to build recent versions.

So the only way forward I can see is to remove the architecture altogether.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03 22:02:06 +01:00
Yann E. MORIN"
1ce0dba9d7 kernel/linux: simplify the download URL
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-14 18:36:07 +01:00
Yann E. MORIN"
3de7ced945 kernel/linux: longterm kernel location changed
The location of the longterm Linux kernels on FTP has changed.
Here is a simple (but not very versatile) fix.

Signed-off-by: "Björn A. Herwig" <herwig@gdsys.de>
[yann.morin.1998@anciens.enib.fr: make it generic/versatile]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-14 18:32:38 +01:00
Yann E. MORIN"
23d449366d complibs/cloog: regenerate autostuff files
Latest version of CLooG does not have properly generated autoconf files,
so they need to be regenerated before the call to ./configure

Signed-off-by: "Ilya A. Volynets-Evenbakh" <ilya@total-knowlege.com>
[yann.morin.1998@anciens.enib.fr: make it conditional on 0.15.10 only]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-13 23:20:39 +01:00
Yann E. MORIN"
ba27d02036 debug/ltrace: fix building for mips
ltrace 0.5.3 currently fails to build for target mips because MY_TARGET
(introduced by patches/ltrace/0.5.3/150-allow-configurable-arch.patch)
is set to 'mips' via CT_ARCH, while the mips specific stuff in ltrace
(0.5.3) is stored under sysdeps/linux-gnu/mipsel:

  result: *** No rule to make target `mips/arch.h', needed by `sysdep.h'.
  Stop.

The following patch fixes this issue

Signed-off-by: "Horst Kronstorfer" <horst.kronstorfer@aon.at>
[yann.morin.1998@anciens.enib.fr: reformat commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-08 18:07:02 +01:00
Yann E. MORIN"
e5ded6e946 cc/gcc: build lto-plugin if binutils' gold is built
To properly enable LTO with gold, gcc has to install a plugin that gold
uses to handle the LTO information.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 17:58:35 +01:00
Yann E. MORIN"
2841bb7a35 binutils/binutils: add wrapper to gold and ld
When both gold and ld are installed, add a wrapper that calls
to either gold or ld.

In case the wrapper is installed, we also need to symlink ld.bfd
and ld.gold for the core_cc steps.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 18:19:40 +01:00
Yann E. MORIN"
8a952d18e0 binutils/binutils: add support for threaded gold
When configured with support for threads, gold can link in
parallel, possibly cooperating with a make jobserver.

Add an option enabling threads.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02 13:52:16 +01:00
Yann E. MORIN"
e4d610f905 binutils/binutils: add support for plugins
Add an option to enable plugins support in binutils.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02 13:56:05 +01:00
Yann E. MORIN"
a0d9851dd0 binutils/binutils: add option to enable gold
gold is a new, optimised, multi-threaded linker with support
for plugins.

Add support for gold starting with binutils 2.21. Although 2.20
also had gold, the configure flags have changed, and supporting
2.20 would be a mess in the code.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-28 00:11:33 +01:00
Yann E. MORIN"
b0c69b3cdc complibs/libelf: build with -fPIC
libelf is used by gcc to build the lto-plugin used
by binutils' gold to perform LTO.

This requires that files in libelf be compiled with
-fPIC to generate a proper .so.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 02:34:18 +01:00
Bryan Hundven
6bd24a2c73 libc/uClibc: normalize uclibc hidden version names
Hidden version names for uClibc conflicted:

LIBC_UCLIBC_V_0_9_30_2
LIBC_V_0_9_30_1

name them constantly as:
LIBC_UCLIBC_V_<version>

Also update the build script where we use snapshots by version or snapshots by date.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-01-03 01:15:30 +01:00
Yann E. MORIN"
88c8168763 internals: properly remove all docs
Part of the installed doc was not removed (if configured to).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 19:41:17 +01:00
Bryan Hundven
889eb6df62 libc/eglibc: fix installed scripts
Like rev 2002, eglibc installs some bash scripts, but use the path to the
buildtool bash as the interpreter (on the shebang line). This is only a
symlink to the real bash, and thus is not available at runtime.

Fix that by assuming that shell on the target *will* be /bin/bash.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2010-12-22 22:42:11 +01:00
Yann E. MORIN"
908f4aeab9 kernel/linux: Cleanup unneeded files from 'headers_check' and 'headers_install'
headers_install makes  .install and ..install.cmd files.
headers_check makes    .check   and ..check.cmd   files.
Remove these files uncoditionaly after installing (and checking) header files
into the sys-root.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[Yann E. MORIN: reformat the patch, move hunk out of headers_check conditional]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-22 22:41:51 +01:00
Yann E. MORIN"
f63dfa3b31 scripts: add doc for patch-rework
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-19 11:57:08 +01:00
Yann E. MORIN"
96559f4610 scripts: update config.{sub,guess}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-18 23:29:46 +01:00
Kalle Kankare
461ca92d5d complibs/libelf: use host compiler
It appears, that the configure scripts of libelf versions 0.8.13 and
0.8.12 do not honour the --host option. The compiler must be given as an
environment variable or the process will use the command "gcc" as the
compiler.

It seems that this is already done in the function do_libelf_target in
scripts/build/companion_libs/libelf.sh, but not in function do_libelf.
2010-12-03 12:36:44 +01:00
Yann E. MORIN"
a9966d1e1c internals: fix stripping
Do not try to strip any script.

Previously, only shell scripts were ignored, but when the Java frontend
is installed, it also installs a Python script. So we have to ignore
any "script text executable", and not restrict it to "shell script text
executable".

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-12 20:47:40 +01:00
Yann E. MORIN"
2bf2991ebd scripts/internals: strip all executables
Using a list of files to strip misses a few of them.
Now, scan appropriate directories, and strip all ELF
executables and shared objects.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-05 16:27:06 +01:00
Bryan Hundven"
1ad4399072 cc/gcc: build bare-metal gcc statically
- add a new parameter to do_cc_core: build_statically=[yes|no]
- pass build_statically=yes in core_pass_2 when doing bare_metal
- fix handling the static / static libstdc++ / static complibs stuff
- add a commment to keep both blocks (in core and final) in sync

Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09 18:55:59 +01:00
Bryan Hundven"
118a6a5f98 cc/gcc: build final gcc statically
If the global static option is set, then build the final gcc statically.

Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09 18:55:42 +01:00
Bryan Hundven"
bf3c89ebb5 binutils/binutils: build statically
If the global static option is set, then build binutils statically.

Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09 18:55:33 +01:00
Yann E. MORIN"
63750f8841 complibs/cloog: fix linking with libstdc++
This rules out 0.15.5 and previous versions, that did not
have this option, so remove them from the list. Anyway,
they were marked 'OBSOLETE', so it's not a big loss...

[Yann E. MORIN: remove obsolete versions]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-29 00:50:21 +01:00
Yann E. MORIN"
28c5ee8baf scripts: recover on partially downloaded files
Download to an intermediate temp file, and rename it to its final
name only of download succeeds.

This catches both a failed download, and also the case where the user
interrupts the download. Thus, the a partial download gets discarded,
and we no longer try to extract a partial tarball, which we would
previously have done.

Suggested by Thomas PETAZZONI.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-29 00:26:39 +01:00
Yann E. MORIN"
af6dd3f3f0 scripts: call curl and wget in sequence
It can happen, in some circumpstances, than one can succeed where
the other would fail. Those cases involves convoluted enterprise
networks with proxies playing tricks.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-16 17:49:15 +01:00
Yann E. MORIN"
9dbbc8e5f6 scripts: remove aria2c as downloader, retain only curl and wget
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-16 10:00:27 +01:00
Yann E. MORIN"
f1c391e1d9 complibs/CLooG: only install the libraries
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-18 16:51:01 +02:00
Yann E. MORIN"
e2c7015edb scripts/xldd: try to handle RPATH tags
The RPATH tags allow a binary to tell the dynamic linker what
directories to search for libraries. The so-added paths are
searched into before any other paths.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-24 21:04:55 +01:00
Yann E. MORIN"
1a03e119de scripts/xldd: better handle the origin of the library
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:36:01 +01:00
Yann E. MORIN"
7d296c4f68 scripts/xldd: avoid reporting duplicates
Once a NEEDED dependency has been solved, do not report it
if other dependencies depend on it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-24 21:01:46 +01:00
Yann E. MORIN"
cd9a56ff50 script/xldd: add debug traces
Add debug traces to help understand how xldd finds the
libraries, what directories it scans, in which order...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:45 +01:00
Yann E. MORIN"
6960ddb376 scripts/xldd: parse /etc/ld.so.conf
Scan /etc/ld.so.conf for paths to search for libraries.
Also follow include directives in there.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:41 +01:00
Yann E. MORIN"
2e1dcdf8d4 scripts/xldd: better find sysroot with old gcc
Only starting with 4.4 does gcc have a -print-sysroot option.
For 4.3 or before, we have to play some tricks:
- ask gcc where libc.so is,
  (we expect it in ${sysroot}/usr/lib/libc.so)
- trim /usr/lib/libc.so from the result

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:28 +01:00
Yann E. MORIN"
70309ce671 scripts/xldd: report appropriate load address for 32- or 64-bit
For 32-bit target systems, report 4-byte (8-xdigit) wide adresses,
and for 64-bit, report 8-byte (16-xdigit) wide adresses.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:15 +01:00
Yann E. MORIN"
b98f8fe48f scripts/xldd: stop at first match
Break the library search loop as soon as a match is found.
Previously, if a library was present in different places,
then the last occurence would be returned, when the first
one would have been used at runtime.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:10 +01:00
Yann E. MORIN"
dc4498ca35 scripts/xldd: fix space-damage
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:01 +01:00
Yann E. MORIN"
b36267c6a6 scripts/xldd: fix version string
The version string was hard-coded.
Now, the version string follows the crosstool-NG version.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:34:56 +01:00
Yann E. MORIN"
727612bcf6 scripts/xldd: fix typoes
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:34:50 +01:00
Yann E. MORIN"
de81a59714 libc/*glibc: enable selection of the oldest supported ABI
[Yann E. MORIN: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-11 01:11:17 +01:00
Yann E. MORIN"
da6b834eef libc/*glibc: add option to disable symbols versioning
[Yann E. MORIN: split the original patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-11 00:29:53 +01:00
Bob Dunlop
fcfc3a27f8 libc/eglibc: fix downloading
Since Subversion 1.6.13 was released, it is no longer possible
to checkout/export to the current working directory using '.'
(eg. "svn co bla://blabla/foo/bar ." no longer extracts the content
of bar into ./ but into ./bar).

Fix this by luring Subversion to extract into "$(pwd)", which has
the advantage of working both with all known versions so far.

At the same time, remove the useless redirection.
2010-11-09 10:44:29 +01:00
Yann E. MORIN"
dd9fad50f5 scripts: also overide LANG
On some systems, we also need to overide LANG as well as LC_ALL.

Reported-by: Geoffrey Lee <geoffl@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-01 16:59:39 +01:00
Yann E. MORIN"
9b87613c37 libc/newlib: add option to compile support for IOs on C99 formats
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-23 01:21:20 +02:00
Yann E. MORIN"
1a0ab9ad55 libc/newlib: add option to compile support for long long IOs
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-23 00:53:41 +02:00
Yann E. MORIN"
d7e88461e6 libc/newlib: add option to compile support for float IOs
Adds support to enable/disable IOs of floating point values
(float, double, and long double).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-23 00:54:46 +02:00
Yann E. MORIN"
ae27f71102 scripts: do not provide to-sysroot include symlink
Do not provide the PREFIX/TUPLE/include -> SYSROOT/usr/include symlink,
and let gcc install its dependable C++ headers were it sees fit to
install them.

See the test by Anthony (by the end of the messages):
  http://sourceware.org/ml/crossgcc/2010-10/msg00129.html
  http://sourceware.org/ml/crossgcc/2010-10/msg00134.html

See also the comment by Arnaud:
  http://sourceware.org/ml/crossgcc/2010-10/msg00157.html

Reported-by: Anthony Foiani <anthony.foiani@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-31 16:50:07 +01:00
Yann E. MORIN"
5ddca154bb Merge. 2010-10-24 22:03:53 +02:00
Yann E. MORIN"
8b275095e0 Revert #a09246191120: cc/gcc: fix C++ headers location
This was intended as a fix for g++ not finding its headers,
but it breaks in othe horrible ways. So just revert it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-24 22:03:47 +02:00
Anthony Foiani
90918d1095 scripts: add STATE logging level for state save/restore output.
The save/restore state output is voluminous; using this flag allows us
to quickly see or ignore when something is just being saved.

[Yann E. MORIN: this is a blind log level, and is used only to search
 in the build-log afterward.]

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
2010-10-22 22:02:49 +02:00
Anthony Foiani
92898249bd scripts: add "FILE" and "CFG" debug levels.
I ran into some minor difficulties looking through the build log for a
particular file: I wasn't interested in seeing it unpacked, but only
when it is built or installed.  Adding these two levels allows me to
differentiate between those cases.

[Yann E. MORIN: Those are blind log levels, and are used only to search
 in the build-log afterward.]

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
2010-10-22 22:02:57 +02:00
Yann E. MORIN"
2b912ba840 cc/gcc: fix 128-bit long doubles option
Spotted by Arnaud LACOMBE:
  http://sourceware.org/ml/crossgcc/2010-10/msg00122.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-20 15:25:38 +02:00
Yann E. MORIN"
cbd352f9ac cc/gcc: fix C++ headers location
In case we build the C++ compiler, we have to tell gcc where to put the C++
headers, or else it will try to # put it in prefix/tuple/include, which we
make a symlink to sysroot/usr/include during the build, and that we delete
(the symlink!) after the build, but gcc will not look in sysroot/usr/inlcude
for C++ headers by default.

Implements a fix suggested by: Bryan Hundven <bryanhundven@gmail.com>

Reported-by: Anthony Foiani <anthony.foiani@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-08 23:37:12 +02:00
Yann E. MORIN"
c2bddddd64 scripts: update/fix patch-rework
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-07 23:45:25 +02:00
Yann E. MORIN"
b17f8707c1 cc/gcc: add an option to enable/disable build of libssp
libssp is the run-time Stack-Smashing Protection library.
It can be usefull to have or miss, depends...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-09 11:38:04 +02:00
Yann E. MORIN"
8922def6b4 cc/gcc: add an option to enable/disable build of libgomp
libgomp is the GNU implementation of the OpenMP API.
It can be usefull to have or miss, depends...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-08 23:58:58 +02:00
Yann E. MORIN"
416eb29198 cc/gcc: add option to enable 128-bit long doubles
Needed by some PPC targets, at least.
Requires gcc 4.2+ (noticed by Arnaud LACOMBE).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-09 22:49:28 +02:00
Yann E. MORIN"
8b0af28c69 cc/gcc: fix enabling/disabling LTO
There is a ./configure option for that.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-08 23:51:38 +02:00
Yann E. MORIN"
96c2e11894 scripts: always create lib32 and lib64 symlinks
Unconditionally create the lib32 -> lib/ and lib64 -> lib/ symlinks.

This is reportedly a fix to build a toolchain for a 32-bit target on
a 'pure' 64-bit host (eg. on Fedora FC12, host libs are in lib64/,
and there is no lib -> lib64 symlink, as we can see on other distors,
as Debian). As gcc only puts static host lib in lib64/ (along with
target files in subdirs), we can safely create the symlinks.

Also note that the symlinks are summarily removed at the end
of the build.

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
[Yann E. MORIN: fix a comment, rephrase the commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-07 22:37:06 +02:00
Yann E. MORIN"
cb1a6420e9 complibs: better deduce whether to backup complibs or not
To decide whether we need to backup the companion libraries,
do not rely on the !shared case. In the future other cases
may require not to save the companion libraries (eg. if using
the ones provided by the host distro).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-03 23:10:46 +02:00
Yann E. MORIN"
9176074aec cc/gcc: disable complibs if not selected
Force gcc to not link with some companion libraries when
there are not needed (because selected-out).

There is no option to tell gcc *not* to build the Graphite and/or
LTO stuff. They *will* be built if gcc finds the suitable companion
libraries. If we do not provide them, but the host has them, then
gcc *will* find them, and link with them.

Consider the following:
- host has suitable PPL and CLooG (eg. Debian Squeeze)
- user wants to build gcc>=4.4
- user de-selects GRAPHITE
- gcc will find the hosts PPL and CLooG, and will use them
- the user moves the toolchain to an older host that does
  not have them (eg. Debian Lenny)
- the toolchain fails, when it was properly setup not to

So, explicitly tell gcc *not* to use unneeded companion libs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-12 23:51:25 +02:00
Yann E. MORIN"
d34a5ec7d8 cc/gcc: do not force use of non-vital companion libraries
While GMP and MPFR are required by gcc>=4.3 (to build the frontends),
and MPC is required by gcc>=4.5, the other libs are not. If they are
present then gcc will enable advanced features; if they are missing,
then gcc will (should) simply disable those features.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-12 20:54:54 +02:00
Yann E. MORIN"
6f5d910d1f libc/uClibc: use the MIPS ABI selection
Use the MIPS ABI selection to properly munge the uClibc config file.

This has the side effect to force the ISA:
- n32 ABI -> MIPS-III ISA
- n64 ABI -> MIPS64 ISA

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-12 22:15:12 +02:00
Yann E. MORIN"
b92668a211 arch/mips: add option for MIPS ABIs
This adds selection for one of the o32, n32 and n64 ABIs.
Later, we can easily use those boolean options, rather than
relying on a user-supplied string option.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-12 22:14:04 +02:00
Yann E. MORIN"
dae205737f scripts/internal: cleanup build symlinks
The symlinks are needed only during the build process.
The final gcc will still search those dirs, but will also search
the standard lib/ dirs, so we can get rid of the symlinks.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-11 17:55:54 +02:00
Yann E. MORIN"
ab9b5d109e scripts: hack-in lib32->lib symlinks
Some archs (eg. ppc64 with n32 ABI) will install their
variants in lib32/ instead of lib/, so do for lib32 as
we do for lib64->lib symlinks.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-10 12:14:24 +02:00
Yann E. MORIN"
3fcdd28e04 libc/uClibc: change munging code based on target arch
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-10 13:23:58 +02:00
Yann E. MORIN"
0622671d26 debug/gdb: use libexpat
gdb can use libexpat to parse target memory descriptions,
among other things. See:
  http://sourceware.org/ml/crossgcc/2010-08/msg00168.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23 10:47:00 +02:00
Yann E. MORIN"
7a70e935c6 debug/gdb: install dependable libs in a generic target static libs dir
For now, ncurses is the only dependable target library built for gdb.
But expat is coming, and there's no reason to install each library in
its own place.

So, install ncurses in a generic directory, where other dependable
libraries can be installed as well.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23 14:32:16 +02:00
Yann E. MORIN"
1504a1ef10 complibs: noone is using companion libs on the target; nuke them
As there's no longer any user of the companion libraries on the
target, nuke the build for the target.

Well, at least, there's libelf that's still needed by ltrace, so
we keep it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23 23:18:49 +02:00
Yann E. MORIN"
e81fe2c778 debug/gdb: companion libs are not used
Although the gdb ./configure advertises for GMP and MPFR, those libraries
are not used by gdb (the ./configure is used across different packages,
hence the check for GMP/MPFR). See:
  http://sourceware.org/ml/crossgcc/2010-08/msg00168.html

The same applies to MPC.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23 10:38:15 +02:00
Yann E. MORIN"
9736a99ee9 binutils/binutils: companion libraries are not used
GNU binutils does not use the companion libraries, although
./configure advertises switches for them. This is because the
configure file is shared between different packages, and is
a bit 'lax' about what it checks. See:
  http://sourceware.org/ml/crossgcc/2010-08/msg00160.html
  http://sourceware.org/ml/crossgcc/2010-08/msg00161.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23 20:21:43 +02:00
Yann E. MORIN"
ae715a0a3c scripts/log: do not interpret log string as printf format
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-26 23:36:54 +02:00
Titus von Boxberg
f6634c28cc internals: call strip in a portable way
strip on CT_HOST darwin does not want --strip-all or -v
2010-08-21 16:45:50 +02:00
Yann E. MORIN"
d53f1d71f6 libc/mingw: fix space-damage
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-17 23:50:03 +02:00
Esben Haabendal
150789c22b mingw32: enable sysrooted toolchains
When targeting mingw32, gcc expects to find its include files
in "mingw/include" instead of the traditional "usr/include".

[Yann E. MORIN: split the original patch]
2010-08-15 00:00:51 +02:00
Esben Haabendal
386b4fed76 libc/mingw: use pre-set headers dir
There is a variable that contains the headers directory,
so there's no need to re-compute it again.

[Yann E. MORIN: split the original patch]
2010-08-14 23:21:06 +02:00
Esben Haabendal
1c81b216c8 kernel/mingw32: use pre-set headers dir
There is a variable that contains the headers directory,
so there's no need to re-compute it again.

[Yann E. MORIN: split the original patch]
2010-08-14 23:14:27 +02:00
Yann E. MORIN"
2e7698ed02 libc/uClibc: fix downloading pregen locales
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-11 20:05:05 +02:00
Yann E. MORIN"
e8f9aeade3 scripts: in case of failed download, remove partial files
It happens from time to time that the server mis-behaves, and breaks the
connection right in the middle of nowhere, for no good reason, leaving us
with a partial file, on which the extract pass would choke.

Remove partial downloads, to fail early.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-11 20:07:18 +02:00
Yann E. MORIN"
63235bd89c scripts: when downloading, use aria2 only when //
Even when // downloads are not enabled, aria2 can
fail on some servers (eg. uclibc.org).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-11 19:13:10 +02:00
Yann E. MORIN"
ebaebdacf4 scripts: better sanitise the patch names
When generating the fixes-patches, better sanitise the generated
file names, as it seems to raise a few issues for some people.
2010-08-10 13:25:52 +02:00
Yann E. MORIN"
46d72f5450 complibs/cloog: with static ppl, correctly link with libm
On some Fedora boxen (at least FC13), it is also required
to link with libm when static ppl is used.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-06 00:00:26 +02:00
Darcy Watkins
f30a7df9c9 cc/gcc: with static ppl, correctly link with libm
On some Fedora boxen (at least FC13), it is also required
to link with libm when static ppl is used.
2010-08-05 18:19:07 +02:00
Remy Bohmer
b1ac0964f4 scripts: add option to strip all toolchain executables
To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
2010-05-27 23:18:19 +02:00
Johannes Stezenbach
6d084fb565 Fix CT_SanitizePath
Replace the over-engineered and buggy test in CT_SanitizePath
with a straight forward string pattern match, and also
handle empty PATH elements which are qeuivalent to ".".

Thanks-To: Arnaud Lacombe <lacombar@gmail.com>
Signed-off-by: Johannes Stezenbach <js@sig21.net>
2010-07-30 17:50:34 +02:00
Johannes Stezenbach
143f02e0ce cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer
Idea and know-how taken from CodeSourcery build script.

Normal build:
  $ ldd arm-unknown-linux-uclibcgnueabi-gcc
	linux-gate.so.1 =>  (0xb77f3000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76e8000)
	libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75a1000)
	libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb757a000)
	/lib/ld-linux.so.2 (0xb77f4000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb755c000)

CC_STATIC_LIBSTDCXX=y:
  $ ldd arm-unknown-linux-uclibcgnueabi-gcc
	linux-gate.so.1 =>  (0xb7843000)
	libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76e6000)
	/lib/ld-linux.so.2 (0xb7844000)

I made CC_STATIC_LIBSTDCXX default=y since I think
it is always desirable.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
2010-07-29 19:47:16 +02:00
Yann E. MORIN"
8bd0034057 scripts: remove . from $PATH
Add CT_SanitizePath function which removes entries referring to ., /tmp
and non-existing directories from $PATH, and call it early in the
build script.

If . is in PATH, gcc-4.4.4 build breaks:

[ALL  ]    checking what assembler to use...
/tmp/build/targets/arm-unknown-linux-uclibcgnueabi/build/gcc-core-static/arm-unknown-linux-uclibcgnueabi/bin/as
...
[ALL  ]    config.status: creating as

i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler,
but config.status creates a local "as" script which is calling the
host assembler.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
[Yann E. MORIN: style fixes + explanations]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-29 19:30:37 +02:00
Yann E. MORIN"
8bb436dad1 cc/gcc: add option to enable/disable libmudflap
For some scenarii, libmudflap is not very usefull
or can break the build. Make in an optioon that
defaults to 'N' to be on the safe side.

For the core gcc-s, there is absolutely no need
to build libmidflap.

Idea from: Bernhard Pfund <bernhard@chapter7.ch>
2010-07-28 23:55:10 +02:00
Yann E. MORIN"
61ebaa97ca cc/gcc: make sjlj config option a tristate
A tristate fits better here than a choice.
2010-07-28 23:53:09 +02:00
Yann E. MORIN"
b2d9366b56 libc/uClibc: fix space damage 2010-07-28 01:39:52 +02:00
Yann E. MORIN"
bb6a9e3e64 libc/uClibc: fix using pre-generated locale data
Some time, someone updated the locale Makefile to use
newer pre-generated locales data, but did not upload
those.

So we just force using the existing, ageing archive,
dating back 20030818. Sigh...
2010-07-28 01:38:15 +02:00
Yann E. MORIN"
d0ed3f0fe0 libc/uClibc: do not systematically use pre-generated locale data
It seems that using pre-generated locale data can be more problematic
than usefull in some circumstances.

Offer a config knob to enable/disable use of the pregen locale data.
Also, do not extract pregen locales data ourselves, it's broken.
2010-07-28 01:03:07 +02:00
Yann E. MORIN"
c03ac58aca scripts: add a cross-ldd-like
Add a cross-ldd that mimicks a native ldd.
2010-07-22 23:26:08 +02:00
Yann E. MORIN"
d7287c9b5f libc/uClibc: do not install cross-ldd
I was unable to make the cross-ldd from uClibc to work, and
it is not possible to build it on non-POSIX system.

Besides, we have a generic script that is in the starting-blocks
to replace it, that will work for any C library, and also will
work on non-POSIX systems. Bonus!
2010-07-22 20:06:27 +02:00
Bart vdr. Meulen
25bb99693a complibs: fix using static companion libraries
When building a cross-compiler for a target which uses a file extension for
binaries the symbolic link to cc is not created correctly because the lookup
of the gcc binary is done in a incorrect path

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
2010-07-19 23:16:02 +02:00
Yann E. MORIN"
2ad6d48f78 scripts/functions: recognise Cygwin build hosts 2010-07-18 00:34:38 +02:00
Yann E. MORIN"
f469d8a5e1 scripts: use 'hg archive' to create release tarballs 2010-07-17 11:31:57 +02:00
Yann E. MORIN"
6426b0ca5d scripts: update config.{guess,sub} 2010-07-15 10:18:40 +02:00
Yann E. MORIN"
8258ad7bcf debug/gdb: properly remove build tic
tic is isntalled in buildtools, not in the toolchain's bin dir.
Plus, it may have an extension...
2010-07-11 22:26:29 +02:00
Yann E. MORIN"
eec696451e debug/gdb: Fix compilation for Mingw hosts
GDB requires PDcurses instead of ncurses while running on Windows.
So, do not always compile ncurses in case GDB needs to build.

PDcurses is provided by an earlier build step and is not described in
this file.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
[yann.morin.1998@anciense.nib.fr: we already have a way to detect ncurses usage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11 22:23:34 +02:00
Yann E. MORIN"
d54963f0e3 kernel/mingw: add target libraries
Add several development libraries to the build of the mingw cross-compiler
to be used on target

Libraries:
PDCurses (port of the ncurses library)
GnuRX (the regex library)
DirectX
OpenGL

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: don't show DX and RX versions if disabled]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11 21:36:55 +02:00
Yann E. MORIN"
b81d232a9b kernel: add mingw
Add the option to build a cross-compiler for kernel type 'mingw'.
The resulting cross-compiler can be used to build applications on a Linux host
that can be run on a Windows target.

Compiler is build using the mingwrt and w32-api packages aviable from the
MinGW project (http://sourceforge.net/projects/mingw).

The windows headers (w32-api package) are extracting with the kernel_headers
step The libraries and other headers from both packages are build and
installed in the various steps of libc

Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: fix kernel headers comment, don't "return 0"]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11 21:36:20 +02:00
Yann E. MORIN"
4144845579 cc/gcc: gcc-4.4 does not use MPC
As reported by Johannes Stezenbach, see thread at:
  http://sourceware.org/ml/crossgcc/2010-07/msg00017.html
2010-07-10 15:25:10 +02:00
Yann E. MORIN"
42a7dc1946 libc/uClibc: enable NPTL for snapshots
Recently, NPTL has matured a lot in uClibc, and more and more
people are interested to at least give it a try. So enable it.
2010-07-03 01:15:28 +02:00
Yann E. MORIN"
974f60e98a libc/uClibc: fix snapshots
Snapshots are in a subdir named uClibc, not uClibc-snapshot
(or uClibc-YYYYMMDD either).
2010-07-03 00:17:54 +02:00
Yann E. MORIN"
3fafacd093 libc/uClibc: fix munging .config for LT old/new 2010-07-02 22:11:45 +02:00
Yann E. MORIN"
58ade1d7aa scripts/finish: do not try to symlink if sed expr is a no-op
If the sed expression does not transform the
tuple, do not try to create the symlink.
2010-07-07 22:33:49 +02:00
Yann E. MORIN"
e8a36ea13c debug/gdb: fix incorrect path
Fix discrepancy between the directory we create,
and the directory into which we install tic.
2010-07-01 01:17:01 +02:00
Yann E. MORIN"
82766493f5 libc/glibc: fix installed scripts
glibc installs some bash-scripts, but uses the path to the buildtool
bash as interpreter (on the shebang line). This is only a symlink to
the real bash, and thus is not available at runtime.

Fix that by assuming that bash on the target *will* be /bin/bash.
2010-07-01 00:24:04 +02:00
Yann E. MORIN"
4ea01561e4 scripts/wrapper: fix wrong test when checking access to the reall tool
In C, the proper syntax for a bit-wise OR is a single '|', not two.

It worked so far because all was well:
- X_OK == 1
- R_OK||X_OK == 1
- the file we searched for had the x-bit set
-> access( file, R_OK||X_OK ) worked
- inicidentally, the file we searched for also had the r-bit set,
  but we were not testing that in fact.
2010-06-22 23:49:23 +02:00
Yann E. MORIN"
8b8f2c17ba cc/gcc: add option do disable PCH
In some cases, using Pre-Compiled Headers breaks the build.
Ass an option to disable building the PCH, as suggested by:
  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
2010-06-17 21:26:23 +02:00
Yann E. MORIN"
c4933a400c kernel/linux: allow headers from full custom source tree
Accept a local tarball name as the source of the Linux kernel headers,
rather than forcing the user to use either an upstream tarball, or a
local pre-installed headers tree.
2010-06-17 18:30:09 +02:00
Yann E. MORIN"
f99f3208af kernel/linux: reorder upstream/custom-tree handling 2010-06-15 20:04:01 +02:00
Yann E. MORIN"
656dae57eb cc/gcc: baremetal requires a two-pass process
Here, we implement a highly ugly hack. I'm not proud of that one...

To build the libstdc++ library, the compiler requires the C library. In
case we build for non-baremetal, this is normally handled by the final
step, later.

But in the case of bare-metal, we never go through the final step (because
it does not work, and it seems complex enough to make it work), so the
baremetal compilers are issued out of the core step.
2010-06-13 23:38:37 +02:00
Yann E. MORIN"
b00d3ef516 libc/newlib: build in the 'start files' pass
A few facts:
- building the C library requires a proper core compiler
- core compiler is issued from one of the core passes
- the C library is required to build libstdc++
- newlib is only built for baremetal
- in bare metal, the final compiler is issued from one of the core passes

So we need to build the C library between core pass 1 and core pass 2.
The only place is eithe libc_headers() or libc_start_files(). The most
pertinent seems to be libc_start_files().

So we build newlib from libc_start_files(), and leave libc() empty.
2010-06-13 23:45:29 +02:00
Yann E. MORIN"
399e7f8f8a cc/gcc: store core build rules in an array
Using an array makes it easier to add new rules.
Besides, it is easy to expand from build rules to install rules
2010-06-13 20:43:02 +02:00
Yann E. MORIN"
3983fe1184 cc/gcc: implement default for core options 2010-06-13 20:31:42 +02:00
Yann E. MORIN"
7b3c12d9a3 cc/gcc: fix headers copy for core static 2010-06-13 20:25:00 +02:00
Yann E. MORIN"
13b5487575 libc/uClibc: apply the threading model to the configuration
The threading model shall be be set in the .config file.
Also, offer the choice between 'old/stable' and 'new' linuxthreads.
2010-06-09 00:41:25 +02:00
Titus von Boxberg
d2d3c15c14 cc/gcc: Make usage of --enable-target-optspace configurable
Optionally configure to compile gcc-internal libs with -Os.

yann.morin.1998@anciens.enib.fr:
Rename the config options, it is in the GCC /namespace/.
2010-05-24 16:34:55 +02:00
Titus von Boxberg
b0c3365d15 scripts/build/internals.sh: compile wrapper with portable options.
static linking is not possible on MacOS, and unnessecary on other systems.
The old optimization and warning flags crash the gcc on MacOS
and (imho) are a bit overdone for this software.
2010-05-22 22:01:18 +02:00
Yann E. MORIN"
dbd5e50583 test-suite: apply cleanup pass
Remove all non-modifiable items (target tuple, gcc version, toolchain path...)
Makefile syntax ( use $(...) instead of ${...} )
Update doc
Space-damage cleanups
2010-05-22 22:04:31 +02:00
Martin Lund
1779c82ad2 test-suite: Added new test suite feature (experimental)
This patch adds support for installing the gcc test suite. A helper
Makefile is provided for building and running the gcc tests.

The default configuration runs all gcc tests and requires automatic
ssh/scp login access to a networked target board. See README for
more details.

Note: Current feature is tested with the powerpc-unknown-linux-gnu
sample but it should work with others as well.

Signed-off-by: Martin Lund <mgl@doredevelopment.dk>
2010-05-19 17:53:04 +02:00
Titus von Boxberg
0a63e8222c scripts/wrapper.c: Under MacOS set DYLD_LIBRARY_PATH
Depending on (predefined) macro __APPLE__, use DYLD_LIBRARY_PATH
instead of LD_LIBRARY_PATH.
2010-05-22 12:37:02 +02:00
Titus von Boxberg
afa2b0aa0d scripts/build/internals.sh: Always use binary wrapper under BSD/MacOS
The shell wrapper script uses a nonportable call to readlink.
Thus, always use the binary wrapper under BSD/MacOS.

yann.morin.1998@anciens.enib.fr:
  Use 'case' instead of 'if'.
2010-05-22 17:30:44 +02:00
Titus von Boxberg
98e7576024 scripts/wrapper.in: Add a comment about readlink not being portable.
Documented that the call to readlink will not work on BSD systems.
2010-05-17 12:27:32 +02:00
Titus von Boxberg
16ef145f50 scripts/crosstool-NG.sh.in: On MacOS/BSD use the output of CT_DoConfigGuess for CT_BUILD.
On 64bit MacOS `gcc -dumpmachine` gives i686 for the host machine.
This conflicts with the expectations of some following configure scripts
that a 64bit x86 is given as x86_64; i686 is understood as a 32 bit machine.
config.guess sets the host machine in CT_BUILD correctly.

yann.morin.1998@anciens.enib.fr:
As suggested by Khem RAJ on the ML, always use config.guess.
2010-05-19 18:13:00 +02:00
Titus von Boxberg
47af4ebf45 scripts/functions: Use stat correctly on non-GNU (BSD/Darwin) systems.
Call to get the directory mode depending on $CT_SYS_OS

yann.morin.1998@anciens.enib.fr:
CT_SYS_OS has changed on Linuxsystem, it only gets the kernel name "Linux",
and not the system name, 'GNU/'.
2010-05-19 18:22:32 +02:00
Titus von Boxberg
91381251a0 build/internals.sh: Replace nonportable call to stat
The call to stat to find out if a file is a symlink works only on GNU systems,
and the replacing portable call to readlink is also shorter and more concise code.

yann.morin.1998@anciens.enib.fr:
Apply simpler test, after discussion with author and Arnaud LACOMBE on the ML.
2010-05-19 18:08:23 +02:00
Titus von Boxberg
a85fc6dcb7 crosstool-NG.sh: suppress failure message from uname -o
On non-GNU systems (BSD/MacOS) there is no uname -o.
Suppress the failure message on these systems in the
call to set CT_SYS_OS (uname -s actually sets this variable).

yann.morin.1998@anciens.enib.fr: remove 'uname -o' altogether.
2010-05-19 18:17:39 +02:00
Yann E. MORIN"
9c83970d8b scripts/mk-release: pretty-up the per-author stats
Reverse sort first by number of changesets, then sort alphabetically
on the author's names.
2010-04-30 22:25:45 +02:00
Yann E. MORIN"
c4e987288e debug/gdb: install tic in the buildtools directory
'tic' is a build tool, its place is in the buildtools
directory, not in the toolchain's bin directory.
2010-04-29 22:14:31 +02:00
Yann E. MORIN"
3fda8a4876 debug/gdb: be less verbose during the ncurses build 2010-04-29 22:12:27 +02:00
Yann E. MORIN"
9997da0725 scripts: don't set LD_PRELOAD with static companion libraries
When cpmpanion libraries are built statically, it is useless to set
LD_PRELOAD. Worse, it might break the build in some corner cases.
2010-04-29 00:25:17 +02:00
Yann E. MORIN"
572a4e4bd7 arch/sh: fix type in variant handling 2010-04-25 18:27:23 +02:00
Yann E. MORIN"
f1235bf562 scripts/savesample: be silent when checking for .config file 2010-04-22 19:21:03 +02:00
Yann E. MORIN"
8743f16f65 libc/newlib: don't do // downloads
The newlib FTP site does not like // downloads, and quickly
blocks the IP from the downloader.

Override the number of chunks when downloading newlib.
2010-04-21 19:06:29 +02:00
Yann E. MORIN"
49f0895649 libc/glibc: fix kernel version check
Since we log the test strings, it is no longer possible to call
the CT_Test* functions from sub-functions that print results to
their stdout.
2010-04-21 18:54:58 +02:00
Yann E. MORIN"
5c6ccff589 scripts: also prepare include symlink to sysroot/include 2010-04-20 09:58:41 +02:00
Yann E. MORIN"
9815852ae0 scripts: check g++ only for host
g++ is only needed when building additonal libs on the HOST,
so check wheter g++ is available for the HOST compiler only

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
[Yann E. MORIN: fix space damage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-04-19 23:42:31 +02:00
Remy Bohmer
9c6c090d7b cc/gcc: use proper host compiler for canadian bare-metal
While compiling a canadian toolchain for host=mingw32, build=linux,
target=m68k-elf the build fails because in this step of the gcc build
the Host compiler is used in this stage with the build-flags for the
build system. This results in an error where the header <sys/wait.h>
cannot be found.
This problem happens at least in the GCC-4.3.x and GCC-4.4.x range.

This is solved by passing the proper compilers on the Make cmd-line

Signed-off-by: Remy Bohmer <linux@bohmer.net>
2010-04-09 21:04:37 +02:00
Bart vdr. Meulen
76ae48462a cc/gcc: allow building a canadian bare-metal compiler
Previous addition of the canadian cross compiler did not allow
to build a baremetal only variant, no reason why this is not
allowed

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
2010-04-20 10:06:04 +02:00
Yann E. MORIN"
a6da1aa63a cc/gcc: fix cc symlink when executables have an extension
When building a cross-compiler for a host which depends
on file extensions the symlink for cc was not installed correctly

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
[Yann E. MORIN: style fixes, enhancements, code prettying]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-04-20 11:39:13 +02:00
Yann E. MORIN"
3c160b2205 cc/gcc: add support for 4.5.0 or later versions
starting with 4.5.0, gcc requires libelf.
2010-04-15 22:35:18 +02:00
Yann E. MORIN"
eed8d50d02 complibs/libelf: enable the host build
Host libelf is required by gcc-4.5.0
2010-04-15 22:42:06 +02:00
Yann E. MORIN"
9962be4d9c complibs/libelf: build target libelf in its own directory 2010-04-15 22:35:04 +02:00
Yann E. MORIN"
3ad58b9c50 debug/gdb: remove insight
Insight seems to be very slow to follow up on mainstreram gdb.
Latest snapshots are more than 6 months old.

Moreover, I don't have time to maintain insight support in crosstool-NG;
and, because I don't use it, I am unable to find any breakage.
2010-04-15 20:00:23 +02:00
Yann E. MORIN"
1f87ae813c scripts: don't print the build system guess warning 2010-04-15 22:34:11 +02:00
Thomas Petazzoni
24e4d092a5 Add basic support for the Blackfin architecture
For uClibc, the name of the Blackfin architecture is 'bfin'. Actually,
the naming of the architecture is quite messy: for toolchain tuples
and uClibc, it's bfin, but for the kernel, it's blackfin. We've
arbitraly choosen to name it "blackfin" in Crosstool-NG.

Add Blackfin-related uClibc patch to fix a build failure related to
fork() being used in unistd/daemon.c.

Yann E. MORIN:
Apply the patch to the kernel/linux build script to use 'linux'
in the noMMU tuples. See:
  http://sourceware.org/ml/crossgcc/2010-04/msg00010.html
2010-04-07 09:18:20 +02:00
Yann E. MORIN"
55ba3f6378 scripts/functions: log the test strings 2010-04-13 22:54:57 +02:00
Yann E. MORIN"
e87fb32624 scripts/functions: compress with gzip level 3, as stated in the documentation
Thanks to Bruno Tarquini <btarquini@gmail.com> for the report.
2010-04-13 21:47:34 +02:00
Yann E. MORIN"
2d54ce4a2c scripts/functions: add a save/restore handler
Saving and restoring the steps requires saving/restoring multiple
directories. Depending on the configuration, some may not exist.

Add a wrapper that checks before creating/extracting the tarballs.
2010-04-13 20:52:38 +02:00
Yann E. MORIN"
09154a7162 scripts/functions: fix CT_Patch again 2010-04-13 20:05:47 +02:00
Yann E. MORIN"
80e7118b1f Merge. 2010-04-13 00:43:22 +02:00
Yann E. MORIN"
2d446d21bc Revert 3ea4e6f7b85f: Force autoreconf for mpfr
It breaks on my machine. Revert until we find the exact cause leading to
the initial patch, and we come up with a patch that properly fixes it.
2010-04-13 00:43:09 +02:00
Yann E. MORIN"
0f52a4c2de scripts/functions: fix CT_Patch 2010-04-13 00:07:00 +02:00
Yann E. MORIN"
bf86627982 scripts/functions: make CT_Patch dumber
It is the responsibility of the caller to split the package name from
its version. It already knows that.
2010-04-11 23:18:10 +02:00
Yann E. MORIN"
d2ea451ee1 libc/newlib: only compute version string, not full filename 2010-04-11 23:17:25 +02:00
Yann E. MORIN"
2a6e9ce59a debug/gdb: remove snapshot version 2010-04-11 23:05:48 +02:00
Remy Bohmer
9ccad74f02 cc/gcc: add bugurl and compiler version to core gcc compiler
When building for bare-metal the core-gcc compiler is delivered
as final compiler, so the version info and bugurl is useful
in the core compiler as well.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
2010-04-09 21:04:33 +02:00
Bart vdr Meulen
d068fcb19c scripts: prevent trailing - in CT_TARGET
Not all target tuples consist of an VENDOR, KERNEL and SYSTEM part, build up the
tuple in such a way to no extra or trailing dashes are added to CT_TARGET

Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com>
2010-04-09 21:04:27 +02:00
Bart vdr. Meulen
1ef028c7e6 [CT-NG:patch 05/19] Force autoreconf for mpfr
In some exotic case the autoreconf step of mpfr is not executed (correctly)
leaving an incorrect version number for libtool in the configure script.

After extracting the sources files, force autoreconf to be executed.

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
2010-04-09 21:04:24 +02:00
Yann E. MORIN"
58de741ecf complibs: save directory with static complibs for stop/restart 2010-04-11 15:37:53 +02:00
Yann E. MORIN"
a01284b0e2 complibs: don't install in toolchain dir when built as static 2010-04-11 11:10:06 +02:00
Yann E. MORIN"
5b27e8de52 complibs: allow either static or shared build 2010-04-11 00:47:23 +02:00
Yann E. MORIN"
5b663e2aae complibs: build static libraries 2010-04-10 23:43:08 +02:00
Yann E. MORIN"
31fa64bc60 config: replace COMP_LIBS with COMPLIBS 2010-04-10 23:42:28 +02:00
Yann E. MORIN"
538d596113 complibs/mpfr: fix extract
With MPFR 2.4.2, autoreconf needs to be run as well.
2010-04-10 22:45:36 +02:00
Yann E. MORIN"
0d8e0f0e8b scripts: add script to publish patches
This script creates the patches for an existing version.
2010-04-10 12:34:07 +02:00
Arnaud Lacombe
93042972a8 cc/gcc: fix thread-less final gcc build
If threads are disabled in libc, we don't want to enable them in the
final compiler. Doing so pass the configure stage, but fails latter on
a missing <pthread.h>.

Moreover, we don't want to build libgomp if threads are disabled; its
configure script would fails anyway.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2010-04-07 18:35:22 +02:00
Arnaud Lacombe
2059d43d86 cc/gcc: fix recent gcc build
This fix missed conversion of CT_GCC_USE_* to CT_CC_GCC_USE_*.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2010-04-07 18:35:21 +02:00
Yann E. MORIN"
e5a007415a scripts: misc help and auto-complete fixes
- don't list samples in the main help screen
- improve the samples listing in list-samples
- don't document the 'config' action, it's long dead
- document the 'V' environment variable
- improve on START, STOP and PREFIX environment variables
- add PREFIX and V to autocomplete
- advertise auto-complete at install time
2010-04-02 00:18:26 +02:00
Yann E. MORIN"
75646b1ea4 scripts/addToolsVersion: fix handling libelf
libelf has moved to the companion libraries section,
and is no longer in the tools section.
2010-03-29 23:37:29 +02:00
Yann E. MORIN"
d8d2459ca4 scripts/populate: optimise search loop
Curently, populate will iterate over all ELF (shared objects|executables)
to look for missing NEEDED DSOs, adding to the list at every iterations
of the search loop.

Instead of looking again at previously handled ELF files, recursively
resolve every ELf files.

Also, in case there are a whole lot of files (more than the shell can
accept as arguments list, or creating a command line longer than the
shell can cope with), use a temporary file with the list of files
to search for missing dependencies.
2010-03-29 00:15:32 +02:00
Yann E. MORIN"
ec4181e4d2 scripts/populate: cleanups and misc fixes
- it's a POSIX compliant shell script: drop bash, use /bin/sh
- fix help text
- use an absolute path for sysroot
- replace "echo" with "printf"
- replace "stat -c '%i'" with "ls -1id"
- replace "pushd / popd" with "cd / cd -"
- remove superfluous break
- bail out if required lib not found, except if forced
2010-03-28 23:01:19 +02:00
Yann E. MORIN"
1913d355b3 scripts/populate: fix handling the forced libraries list-file
If a list-file is used, then each library in the file will be handled
twice (not a real issue, as the second iteration will find the library
already present, just avoid doing the job twice).
2010-03-26 23:17:23 +01:00
Yann E. MORIN"
f36ceb7f54 scripts/populate: properly locate the sysroot and required tools
This fixes two problems:
- the sysroot might be in a sub-directory (think SYSROOT_DIR_PREFIX)
- it is not needed to have the target tuple to properly detect the sysroot
  and the required tools

As a side effect, this script is now no longer dependent on the target
tuple, and in the future, we might be able to share it across many
toolchains (when/if we can install all of them in the same place).
2010-03-25 22:42:00 +01:00
Yann E. MORIN"
a67a23877f scripts/populate: add -m option, to merge source and dest
Merge the source rootfs into the (pre-existing) destination rootfs,
and populate the result accordingly.
2010-03-24 22:36:51 +01:00
Nate Case
ceca768ee6 scripts/populate: add option to use an alternate sysroot
Add a new command line option, "-r", which allows the user to specify
an alternate sysroot location to copy libraries from.  This is useful
when using the toolchain in combination with a separate root filesystem,
or when working with multiple different root filesystems.

Signed-off-by: Nate Case <ncase@xes-inc.com>
2010-03-23 19:27:41 +01:00
Yann E. MORIN"
a8979d911f binutils/sstrip: fix when sstrip is disabled 2010-03-24 22:21:52 +01:00
Yann E. MORIN"
5b8dcf755b binutils/sstrip: get rid of ELFkickers
ELFkickers are looong dead and unmaintained, and the sstrip
from buildroot is working fine *and* is maintained.
2010-03-17 00:28:14 +01:00
Yann E. MORIN"
b0fece4689 tools: move sstrip to the binary utilities menu
sstrip is now alone in its 'tools' menu, and we will probably never gain
any other 'tool'. Besides, sstrip is just strip, but a little bit more
agressive, so it deserves going to the 'binary utilities' menu.
2010-03-17 00:21:57 +01:00
Yann E. MORIN"
2244007325 debug/gdb: gdb>=7.0 can use MPC, enable for cross-gdb 2010-03-15 22:02:02 +01:00
Yann E. MORIN"
76f3741a0f debug/gdb: add handling of 7_0_or_later
We'll need to differentiate gdb 7.0 or later, from gdb prior to 7.0
2010-03-20 18:49:15 +01:00
Yann E. MORIN"
2583337c7c debug/gdb: add option to use GMP and MPFR
GMP and MPFR are optional for gdb, so offer a config option.
2010-03-15 21:51:20 +01:00
Yann E. MORIN"
8e47201cf2 cc/gcc: fix use of companion libraries 2010-03-05 18:55:25 +01:00
Yann E. MORIN"
e743ae7d79 scripts: fix dumping the config for companion libraries for target
Companion libraries can be disable for the host, but still used for
the target (eg. binutils or gdb). Dump the version also in this case.
2010-03-19 18:46:57 +01:00
Yann E. MORIN"
7372fa2b76 scripts: fix dumping config
libelf has been moved to being a companion library, now.
2010-03-17 23:59:17 +01:00
Yann E. MORIN"
b2c9b2d48f debug/gdb: fix building the native tic
The native 'tic' will _always_ be run on the build
machine, so no need to handle canadian/native/...

Reported by: Trevor Woerner
http://sourceware.org/ml/crossgcc/2010-03/msg00055.html
(transplanted from 26e89d367ea11660fd3a0bf0bcad8763e4fa21cf)
2010-03-16 23:10:46 +01:00
Yann E. MORIN"
8878058528 scripts: fix the release script to use the C locale
Force use of the C locale to ensure messages are recognised by the script.
2010-03-14 16:39:11 +01:00
Yann E. MORIN"
627e269efd scripts: enhance and fix the release script 2010-03-14 12:12:10 +01:00
Yann E. MORIN"
cbc8a65237 scripts: add script to make a release 2010-03-07 13:17:27 +01:00
Yann E. MORIN"
8bc58e651d debug/ltrace: properly fix building for powerpc
ltrace uses ppc, whereas crosstool-NG use powerpc.
Fix that by passing the correct value to HOST when calling configure.
2010-03-07 12:30:01 +01:00
Yann E. MORIN"
ecfc6d2e2d debug/ltrace: fix building on x86
ltrace uses i386 and x86_64, whereas crosstool-NG use x86 for both cases.
Fix that by detecting what bitness we're building for, and pass appropriate
i386 or x86_64 to ltrace's configure.
2010-03-06 16:05:20 +01:00
Yann E. MORIN"
d380a84b52 complibs: remove headers after build
After the toolchain is built, we do no longer need the headers.
Reported-by: Enrico Weigelt <weigelt@metux.de>
2010-02-28 10:19:13 +01:00
Zhuang Yuyao
f8ba6cb7e6 arch: add mips64
This adds initial mips64 config option and build script.
2010-02-20 07:35:02 +01:00
Titus von Boxberg"
00ac124509 scripts: use more portable sed options
No need for extended regular expressions here.
2010-02-03 00:24:24 +01:00
Yann E. MORIN"
991b90f242 comp-libs: make libelf a companion library
When gcc-4.5 is out, it will require libelf. So better make it a
companion library now rather than postponing the ineluctable.
2010-02-17 23:41:17 +01:00
Yann E. MORIN"
2949150cbe complibs: hide companion libraries for target entry
The companion libraries on the target are required only for internal use by
binutils and gdb. The user should not have to know about this, so hide the
option.
2010-02-17 23:50:49 +01:00
Yann E. MORIN"
77a605d48e complibs: simplify config file
Although currently the wrapper is directly dependent on
companion libraries, let's still decorelate those two.
2010-02-18 20:43:31 +01:00
Yann E. MORIN"
3eaa187de5 complibs: split-up selection for individual libs 2010-02-17 23:47:47 +01:00
Yann E. MORIN"
c6689215d1 binutils/binutils: fix using GMP and MPFR 2010-02-09 22:50:53 +01:00
Yann E. MORIN"
26e5cb4021 scripts: fix dumping 'other environment'
Do not sort the environment, it cripples the output.
2010-02-18 00:04:48 +01:00
Yann E. MORIN"
933404b449 cc/gcc: simplify the _or_later stuff 2010-02-04 15:18:46 +01:00
Yann E. MORIN"
c971f6ee33 scripts/showsamples: fix non-POSIX construct 2010-02-07 17:17:52 +01:00
Titus von Boxberg
bc5c6b3178 scripts: also dump the rest of the environment 2010-02-03 00:24:24 +01:00
Titus von Boxberg
cb62adf58f scripts: use kernel name (uname -s) when system name (uname -o) is not availabe
'uname -o' is a GNU extension.
2010-02-03 00:24:24 +01:00
Titus von Boxberg
f65b10457b scripts/functions: fix date munging when ns are not available
On some systems (eg. *BSD and Darwin), date does not support nanoseconds
(%N) precision. Instead of printing '%N' in this case, it just prints 'N'.
Fix the sed expression to handle this case.
2010-02-03 00:24:24 +01:00
Titus von Boxberg
e6f4c47c21 comp-libs/mpfr: fix build on Darwin 2010-02-03 00:24:24 +01:00
Richard Strand
22fca0106e libc/eglibc: Add option to optimize for size
Add an option to eglibc to optimize for size using -Os.

Signed-off-by: Richard Strand <richard.strand@icomera.com>
2010-02-01 12:56:28 +00:00
Yann E. MORIN"
964d20b1c7 scripts: dump the current tuple with show-config 2010-01-31 20:10:14 +01:00
Yann E. MORIN"
3fb0463536 scripts: add action to dump current configuration in humane-readable form 2010-01-31 15:57:22 +01:00
Yann E. MORIN"
b44a9d9e34 scripts: Do not create backup files when patching
Some patches may apply with offset and/or fuzz, and would leave .orig files.
2010-01-31 12:07:44 +01:00
Yann E. MORIN"
e46e74546d libc/glibc: fix retrieving version string 2010-01-30 16:19:50 +01:00
Yann E. MORIN"
58a53e7bf6 scripts/functions: add git wrapper
Add a git wrapper to retrieve components from their git tree.
Add a git wrapper to create a working copy (in our tarballs dir).
Recognise git trees when searching for local copies.
2010-01-14 20:54:47 +01:00
Yann E. MORIN"
958138fff1 libc/glibc: get the version string from version.h
We can not rely on the user-provided version string (be it via the
choice, or manually entered), so fallback to reading version.h,
which is both reliable and always present.
2010-01-12 19:37:18 +01:00
Yann E. MORIN"
e3a4063ac6 scripts/functions: change handling of nochdir
- 'nochdir' must be the first option
- have systematic pushd/popd, even if nochdir
2010-01-12 19:24:03 +01:00
Yann E. MORIN"
c5462c814f libc/glibc: get rid of the now obsolete CVS stuff
It's now been a while that glibc switched to git from cvs.
Get rid of cvs to download glibc; this will make for a good
cleanup before we add git support! :-)
2010-01-11 22:47:58 +01:00
Yann E. MORIN"
8920a94354 Merge. 2010-01-29 23:46:43 +01:00
Yann E. MORIN"
88d3a95eca global: do not offer the renice option, let's the user handle that
It's broken anyway. Eg.:
- user is already niced at 10
- user configures to renice at 5
- breaks because user is not allowed to 'boost' his/her nice value

Bette let the user handle the renice with:
  nice -XX ct-ng 'action'
2010-01-29 23:14:53 +01:00
Yann E. MORIN"
8577bc52c1 kernel/linux: remove legacy check
Now, we only support building with Linux >=2.6.27.
Get rid of the code that depended on <2.6.18.
2010-01-29 22:55:35 +01:00
Yann E. MORIN"
9e595444f4 binutils/elf2flt: activate elf2flt build
The code has been lying around inactivated for some time.
Let's enable it at last, and see if any one needs it.
2010-01-29 22:43:28 +01:00
Yann E. MORIN
6d70a576da arch: add basic m68k support
Signed-off-by: Remy Bohmer <linux@bohmer.net>
[yann.morin.1998@anciens.enib.fr: use defaults for CT_TARGET_ARCH]
Signed-off-by: "Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
2010-01-29 23:23:59 +01:00
Yann E. MORIN"
3a71b208b3 Merge. 2010-01-23 22:15:17 +01:00
Yann E. MORIN"
542419d6a0 libc/uClibc: fix the breakage for x86 and Super-H, after the 32/64 merge 2010-01-23 22:06:11 +01:00
Yann E. MORIN"
994427dbbe scripts/functions: do not compute CT_KERNEL_ARCH, it's obsolete
Since we merged the 32/64-bit archs, and we explicitly used
the Linux kernel arch name, we can get rid of CT_KERNEL_ARCH.
2010-01-23 19:02:46 +01:00
Yann E. MORIN"
849713aa43 libc/uclibc: use CT_ARCH, in place of CT_KERNEL_ARCH
Since we merged the 32/64-bit archs, and we explicitly used
the Linux kernel arch name, we can get rid of CT_KERNEL_ARCH.
2010-01-23 18:41:59 +01:00
Yann E. MORIN"
ac46ac3dd5 libc/glibc: use CT_ARCH, in place of CT_KERNEL_ARCH
Since we merged the 32/64-bit archs, and we explicitly used
the Linux kernel arch name, we can get rid of CT_KERNEL_ARCH.
2010-01-23 18:40:38 +01:00
Yann E. MORIN"
6b73ea68c5 kernel/linux: use CT_ARCH, in place of CT_KERNEL_ARCH
Since we merged the 32/64-bit archs, and we explicitly used
the Linux kernel arch name, we can get rid of CT_KERNEL_ARCH.
2010-01-23 18:39:28 +01:00
Yann E. MORIN"
ed71d902c9 debug/gdb: fix the space-damage 2010-01-21 22:45:09 +01:00
Yann E. MORIN"
64aae637f8 debug/gdb: do not expose the ncurses version in the menuconfig 2010-01-21 22:33:54 +01:00
Yann E. MORIN"
9bfea69431 scripts/functions: inverse log level ALL and DEBUG 2010-01-16 17:52:44 +01:00
Yann E. MORIN"
0e9551967c scripts/addToolVersion: add uClibc hooks 2010-01-14 18:44:13 +01:00
Yann E. MORIN"
8f41039a3c debug/gdb: install ncurses in a temporary place
We only build the static ncurses, to be used to build the native gdb,
and it needs not be available for anyone but us. So install it into
a temporary place, and get rid of it once gdb is built.
2010-01-13 22:30:10 +01:00
Yann E. MORIN"
ad943c1a37 debug/gdb: staticaly link to ncurses for the native gdb
Staticaly link the native gdb (the one that runs on the target,
not the cross one that runs on the host) to ncurses.
2010-01-13 20:46:01 +01:00
Richard Strand
b6cf64a802 companion_tools/libtool: Add libtool tool
Add version 2.2.6b of libtool as a companion tool

Signed-off-by: Richard Strand <richard.strand@icomera.com>
2010-01-12 21:47:57 +00:00
Richard Strand
c782756cd3 companion_tools/automake: Add automake tool
Add version 1.11.1 of automake as a companion tool

Signed-off-by: Richard Strand <richard.strand@icomera.com>
2010-01-12 21:47:36 +00:00
Richard Strand
e3a8a01025 companion_tools/m4: Add m4 tool
Add version 1.4.13 of m4 as a companion tool

Signed-off-by: Richard Strand <richard.strand@icomera.com>
2010-01-12 21:47:14 +00:00
Yann E. MORIN"
df2e088c8f companion_tools/autoconf: add autoconf tool
Initial version of adding autoconf as a companion tool.

Signed-off-by: Richard Strand <richard.strand@icomera.com>
[yann.morin.1998@anciens.enib.fr: use generic overide tools dir]
[yann.morin.1998@anciens.enib.fr: update menu entries]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-01-12 21:09:30 +01:00
Yann E. MORIN"
72e623bbc7 scripts/crosstool-ng: Change overide bin dir
Change the overide bin dir so it can be used by companion tools

Signed-off-by: Richard Strand <richard.strand@icomera.com>
[yann.morin.1998@anciens.enib.fr: more generic overide tools dir]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-01-12 21:21:39 +01:00
Yann E. MORIN"
a2164e86c5 Merge. 2010-01-10 17:43:23 +01:00
Yann E. MORIN"
eace0275b9 scripts/addToolsVersion: add support for newlib 2010-01-10 17:24:29 +01:00
Yann E. MORIN"
59470f80fb scripts/addToolVersion: cleanups 2010-01-10 17:22:47 +01:00
Yann E. MORIN"
a715a4b28d scripts/addToolVersion: correctly handle the libc categories 2010-01-10 16:50:52 +01:00
Richard Strand
185ea5a640 scrips/functions: fix downloads using curl
By default curl doesn't folow redirects. This breaks sourceforge downloads.
Add the -L option to curl to fix this.

Curl also downloads the html as a file even when it gets a 404. This breaks
http downloads when using the failback system. Add the -f option to curl to fix
this.

Signed-off-by: Richard Strand <richard.strand@icomera.com>
2010-01-10 15:19:25 +00:00
Yann E. MORIN"
261709c8d4 libc/glibc: correctly handle dual-bitness archs
If the selected ARCH is dual-bitness (eg. supports 32- and 64-bit),
then we need to know the correct place where to fetch some headers.
Currently, this applies only to x86 variants: i386 and x86_64.
2010-01-09 16:05:01 +01:00
Yann E. MORIN"
28d1a52859 scripts/functions: fix extraction 2010-01-09 17:31:25 +01:00
Yann E. MORIN"
fbd2a88e6e arch/alpha: cleanup Alpha code 2010-01-09 15:57:07 +01:00
Yann E. MORIN"
a272b32bba config: don't force the vendor part in the tuple
Note however that some configurations (eg. arm-elf) will still
have the vendor part 'unknown' forced in (by config.sub).
2010-01-07 23:05:30 +01:00
Yann E. MORIN"
90a54f50be scripts/addToolsVersion: add support for MPC 2010-01-06 18:30:51 +01:00
Yann E. MORIN"
f0b5c37abf scripts/addtoolversion: prepare for hooks for tools others than gcc
The upcoming git support will require hooks for glibc as well.
2010-01-02 00:15:19 +01:00
Yann E. MORIN"
009eb2a247 scripts: protect against partially extracted source
In case of failure (eg. user hitting Ctrl-C), avoid extracting over
partially extracted source. Will help once we have git available.
2009-11-30 21:34:50 +01:00
Yann E. MORIN"
01a58679df scripts: handle custom or empty extension when extracting 2009-11-30 00:05:45 +01:00
Yann E. MORIN"
135ea6486f scripts/functions: do not double check if downloads are allowed
Only call the *_get functions if downloads are allowed, so there
is no need to check it again in the retrieval wrappers.
2009-11-25 20:36:04 +01:00
Yann E. MORIN"
27199362d5 debug/ltrace: fix for a latent bug 2010-01-05 23:27:19 +01:00
Yann E. MORIN"
e950bbfeb2 debug/ltrace: chop long lines 2010-01-05 18:56:44 +01:00
Joachim Nilsson
ac08d4a45e debug/ltrace: set the ltrace extension to .tar.gz
Trying to download every extension in turn does not work.
The Debian server returns a friendly 404-page that is
saved as the orig.tar.bz2 file.  Help the helper by giving
it the extension to retrieve.
2010-01-05 11:43:31 +01:00
Joachim Nilsson
c704137fd6 debug/ltrace: Add support for ltrace-0.5.3
From this version of ltrace the maintainer has removed support for
GNU Autotools, so the patch sets needed to be reworked.

Included is the latest Debian patch, by the Debian ltrace maintainer
Juan Cespedes <cespedes@debian.org>, the OpenEmbedded patches for cross
compiling, by Khem Raj <raj.khem@gmail.com> and a further set of patches
by Joachim Nilsson <jocke@vmlinux.org> for crosstool-NG.
2010-01-03 16:46:58 +01:00
Yann E. MORIN"
75cb688486 samples: fix displaying samples 2010-01-03 18:33:23 +01:00
Yann E. MORIN"
9b5d316acc scripts/functions: make aria2 less verbose when downloading 2010-01-03 16:30:35 +01:00
Yann E. MORIN"
8908eb3037 misc: do not use "tar cf - |tar xf -"
Using this: tar cf - -C "/some/place" |tar xf - -C "/some/other/place"
to copy a directory to another place does not properly fail (when it does).

Using this instead: cp -av "/some/place" "/some/other/place"
makes it easy to see why and how it failed.

Impacted:
    libc/uClibc
    debug/ltrace
    tools/sstrip
    scripts/populate
2010-01-02 18:00:54 +01:00
Yann E. MORIN"
5ae9b7faf9 libc/uClibc: do not mangle ARM {E,O}ABI when ARCH != ARM 2010-01-01 16:52:55 +01:00
Yann E. MORIN"
d744220447 libc/uClibc: beautify the munge function 2010-01-01 18:47:20 +01:00
Yann E. MORIN"
c20e01d094 scripts/functions: fix downloading with aria2
In case the remote file does not exist (and probably for some
other reasons as well), aria2 nonetheless creates an empty file
(or not empty for some other reasons).

The solution is to delete the file whenever aria2 fails.
2010-01-01 17:09:52 +01:00
Yann E. MORIN"
b9eba0996a scripts/functions: fix using Aria2
Latest aria2 no longer recognise the --retry-wait option.
2010-01-01 12:27:06 +01:00
Yann E. MORIN"
da84e43df4 debug/tools: set the ncurses extension to .tar.gz
TRying to download every extension in turn takes ages, so
help the helper by telling what extension to retrieve.
2009-12-30 15:38:03 +01:00
Yann E. MORIN"
04c68600ea scripts/functions: add aria2, a powerfull downloader
aria2 is a powerfull downloader that is capable of chunking and
parallel retrieval.

Due to li;itations in crosstool-NG retrieval facilities, it's not possible
to take fully advantage of aria2. It might happen that, in the future,
those limitations get lifted away, so we can take use features such as
parallel downloading from more than one server at the same time. For now,
it should still speed up downloads thanks to parallel downloading of chunks.
2009-12-30 15:36:22 +01:00
Yann E. MORIN"
2c077d6fac scripts/functions: simplify wget vs. curl check 2009-12-29 22:11:09 +01:00
Yann E. MORIN"
5347a90a4f scripts: check for, and warn about an unset CT_PREFIX_DIR
The user shall provide a directory to install the toolchain into.
If he/she does not, this is an error, and shall be detected properly,
rather than relying on failure down the road.

Thanks to "Pedro I. Sanchez" <psanchez@colcan.ca> for pointing out
the issue:
  http://sourceware.org/ml/crossgcc/2009-12/msg00011.html
2009-12-19 12:44:21 +01:00
Yann E. MORIN"
75f0ec107c scripts: correctly warn when the local tarballs directory does not exist
Warn about a missing local tarball directory, only if it was configured.
Avoid the spurious message:
  Directory '${CT_LOCAL_TARBALLS_DIR}' does not exist.
  Will not save downloaded tarballs to local storage.

Thanks to "Pedro I. Sanchez" <psanchez@colcan.ca> for pointing out the
issue:
  http://sourceware.org/ml/crossgcc/2009-12/msg00011.html
2009-12-14 19:17:37 +01:00
Yann E. MORIN"
eb2a7ba9b0 scripts: directly spit-out the date in the WiKi table, misc eye-candy
No need to go through a post-processing just for displaying the date...
2009-11-26 00:22:17 +01:00
Yann E. MORIN"
7ddb6648e0 scripts: fix Host/Target colums in WiKi table
Generate a better-looking WiKi table by re-arranging
the host and target columns.
2009-11-25 23:56:59 +01:00
Yann E. MORIN"
acba361851 scripts: fix WiKi table generation
The number of column in the top-most header was not updated to reflect the
fact that a new column was added to show the host (for canadian crosses).
2009-11-25 23:40:25 +01:00
Yann E. MORIN"
0a7fb290da scripts: update config.{sub,guess} 2009-11-22 11:36:41 +01:00
Yann E. MORIN"
15627cbf8c libc/glibc: configure libc headers with support for 128-bit long double
At the headers install pass, there's no compiler to test for the size
of long double. Help it: we know that the compiler does support 128-bit
long double, in the IBM extended precision.

Kindly pointed out, and explained, by Mike FRYSINGER:
  http://sourceware.org/ml/crossgcc/2009-11/msg00040.html
  http://sourceware.org/ml/crossgcc/2009-11/msg00057.html
2009-11-17 23:41:49 +01:00
Simon Pasch
a4980248f3 libc/uClibc: add wchar support 2009-11-06 20:17:30 +01:00
Yann E. MORIN"
cb52ec6051 arch/s390: commonalise the 32- and 64-bit s390 arch 2009-11-17 11:54:44 +01:00
Yann E. MORIN"
7ea82181db arch/x86: commonalise the 32- and 64-bit x86 arch 2009-11-17 11:51:57 +01:00
Yann E. MORIN"
28b38f9222 arch/ppc: commonalise the 32- and 64-bit PowerPC arch 2009-11-17 11:33:59 +01:00
Yann E. MORIN"
07dfc06659 Merge. 2009-11-16 22:37:39 +01:00
Yann E. MORIN"
2df1637271 Merge. 2009-11-16 20:25:42 +01:00
Yann E. MORIN"
bd8e670d5e libc/glibc: allow more than one line in configparms 2009-11-16 20:24:03 +01:00
Yann E. MORIN"
385a616b10 arch/s390: cleanups
Don't select unneeded config knobs. Don't select non-existing config knobs.
Use the "no patch" config knob, instead of pointing to an non-exiting local
patch dir. Simplify the tuple-related scripts. Update the samples.
2009-11-16 20:18:09 +01:00
Yann E. MORIN"
2b212bccad config/global: enable not using patches at all
It can be needed to build a toolchain with no patch at all.
2009-11-16 20:15:45 +01:00
harold
2cde67ddc4 arch: add s390 and s390x architectures and samples 2009-11-14 15:03:01 -06:00
Yann E. MORIN"
590ca63f0d scripts: add a new helper script to easily rediff a patchset 2009-11-13 19:34:18 +01:00
Yann E. MORIN"
c863d223fa scripts: be POSIXly correct in helper scripts
Fix helper scripts to be POSIXly correct: don't expect '.' (the dot
builtin) to search CWD if it is not in $PATH.
2009-11-12 18:42:13 +01:00
Yann E. MORIN"
33374cac39 scripts: output renumbered patches in a new directory
When renumbering patches, the original patches get removed and replaced
with the new ones. This can be annoying to loose the original patches.
Fix this by putting the new patchs in a directory of their own.
2009-11-10 19:32:11 +01:00
Yann E. MORIN"
6af0ca4153 scripts: some eye-candy 2009-10-30 20:08:44 +01:00
Yann E. MORIN"
85da99fb23 scripts: update config.{sub,guess} 2009-10-30 19:52:06 +01:00
Yann E. MORIN"
01240b9fbf scripts: fix updating config.{sub,guess} 2009-10-30 19:49:51 +01:00
Yann E. MORIN"
de8f2cea32 Merge. 2009-10-29 00:10:06 +01:00
Yann E. MORIN"
c916a69abf arch/arm: add THUMB interworking support
Add config option to build wtarget code with THUMB interworking.
This is used to build the C library as well as all other code
that runs on the target.
2009-10-26 23:11:10 +01:00
Yann E. MORIN"
d2324af8c7 arch/arm: add THUMB mode config option 2009-10-26 09:10:38 +01:00
Yann E. MORIN"
da0ff22e6c arch/arm: no need to check for the ABI option
The ABI option can not be set if EABI was selected,
so no need to check for it.
2009-10-21 23:20:30 +02:00
Yann E. MORIN"
49e5b08739 libc/newlib: allow using CVS snapshots
The newlib "team" rolls new releases about once a year (december).
This is quite a long time between releases, in case code was fixed.
So, allow user to use a CVS snapshot to benefit early from fixes
and enhancements to newlib.
2009-10-26 22:00:30 +01:00
Yann E. MORIN"
e73418236d functions: allow using sub-dir of a module
Some projects' module (eg. newlib) are checked-out into a sudirectory
rather than into their own directory. Handle this case in the CT_GetCVS
function.
2009-10-26 19:49:50 +01:00
Yann E. MORIN"
68b9b30f6b libc/newlib: allow using newlib with archs other than avr32 2009-10-21 22:51:39 +02:00
Yann E. MORIN"
e8bd152863 libc/newlib: cleanup the build and finish steps
build step:
- ./configure
  - remove glibc-specific options
  - pass the target CFLAGS in the correct variable
- make:
  - build in //

finish step:
- print proper message in finish step
2009-10-26 23:20:33 +01:00
Yann E. MORIN"
88c997020f libc/newlib: fix host/target confusion
newlib handles the build/host/target a bit differently as one would expect:
  build  : not used
  host   : the nachine that builds newlib
  target : the machine on which newlib will run
2009-10-25 23:35:55 +01:00
Yann E. MORIN"
c2d4265646 debug/dmalloc: fix handling of threading model 2009-10-21 18:47:16 +02:00
Frederic Roussel
1215142d57 scripts/functions: Fix a variable name.
Signed-off-by: Frederic Roussel <fr.frasc@gmail.com>
2009-10-23 09:48:22 -07:00
Yann E. MORIN"
d28227a914 scripts: add sed expression to apply when renumbering patches
Some patchsets have superfluous members in their names (eg. the ones coming
from Gentoo), so it can come in handy to pass a sed RE to strip them out of
the final patch name.
Also add a 'fake' mode, where the command will only be printed and not
executed, so we can check beforehand if the rename will be OK.
2009-10-27 19:34:13 +01:00
Yann E. MORIN"
039ee6c125 scripts: fis addToolVersion wrt binutils
binutils' config file has moved; update the addToolVerion script accordingly.
2009-10-27 18:54:29 +01:00
Yann E. MORIN"
5bbc211198 scripts: replace calls to svn with calls to hg in script to renumber patches 2009-10-10 17:19:51 +02:00
Arnaud Vrac
e11863d167 eglibc: add support for user provided option groups
Signed-off-by: Arnaud Vrac <avrac@freebox.fr>
2009-10-09 16:22:09 +02:00
Yann E. MORIN"
89351cb898 Merge. 2009-10-03 18:21:41 +02:00
Yann E. MORIN"
d0c5d174bf libc/glibc: don't use legacy snapshots
glibc snapshots have not been updated for about the
past 5 months. Consider them to be deprecated, now.
2009-10-03 18:19:39 +02:00
Yann E. MORIN"
c3b2d932d8 debug/gdb: cleanup (remove) the static ncurses build
ncurses is built solely for the sake of building a native gdb.
The user should not rely on this library to build his/her userland,
but should rather build his/her own. So we remove it from the
sysroot after we successfully build the native gdb.
2009-10-03 17:09:18 +02:00
Yann E. MORIN"
399a88364f libc/eglibc: fix building for seemingly native toolchains
Build eglibc with -O2 as a fix/workaround to building
seemingly-native toolchains (see docs/overview.txt).

See:
- docs/overview.txt
- docs/known-issues.txt
- http://sourceware.org/ml/crossgcc/2009-10/msg00001.html
2009-10-02 22:10:17 +02:00
Yann E. MORIN"
443f51a2dc libc/glibc: fix building for seemingly native toolchains
Build glibc with -O2 as a fix/workaround to building
seemingly-native toolchains.

See:
- docs/overview.txt
- docs/known-issues.txt
- http://sourceware.org/ml/crossgcc/2009-09/msg00055.html
2009-10-02 22:10:38 +02:00
Yann E. MORIN"
b586e9ce72 libc/glibc: remove dead code
The option to retrieve snapshots is already handled by
the generic 'specific date' and 'use latest' entries.
No need for a special case, as there's no code for it.
2009-10-02 00:04:24 +02:00
Yann E. MORIN"
0d9345d1da Merge. 2009-10-01 22:12:18 +02:00
Yann E. MORIN"
9d743adb55 scripts: update config.guess and config.sub 2009-09-27 12:12:21 +02:00
Yann E. MORIN"
5fea8b3826 Insert an empty line bwetween added new versions. 2009-09-26 12:45:07 +02:00
Yann E. MORIN"
192d66e563 Merge. 2009-09-13 18:59:36 +02:00
Yann E. MORIN"
b6568d675b config: fix indentation for options marked EXPERIMENTAL or OBSOLETE
Change the 2-space separation into a 1-space separation, for the sake
of homogeneity.
2009-09-13 18:44:17 +02:00
Yann E. MORIN"
0c63755957 scripts: add new version at top of choice
Add new versions at the top of the choice menu, not at the bottom.
2009-09-13 18:38:06 +02:00
Yann E. MORIN"
2d6a221bab samples: correclty fix saving samples with a C library config file 2009-09-13 17:14:28 +02:00
Yann E. MORIN"
028b9d1c98 comp-libs/cloog: fix building
For CLooG/PPL 0.15.3, the directory name was simply cloog-ppl.
For any later versions, the driectory name does have the version, such as
cloog-ppl-0.15.4.
2009-09-13 12:25:33 +02:00
Yann E. MORIN"
414f639105 comp-libs/cloog: new versions have the version number in the dir name
For CLooG/PPL 0.15.3, the directory name was simply cloog-ppl.
For any later versions, the driectory name does have the version, such as
cloog-ppl-0.15.4.
2009-09-12 10:16:28 +02:00
Yann E. MORIN"
6b37673b64 samples: fix saving samples
Use a correct sed pattern when setting CT_PREFIX_DIR
2009-09-12 00:10:38 +02:00
Yann E. MORIN"
26b3a17f58 libc/eglibc: fix download
Fix the test to check if download is forced.
2009-09-12 00:11:12 +02:00
Yann E. MORIN"
ea352a96a3 samples: show the PPL, GLoog/ppl and MPC versions
When displaying a sample, do show the PPL, CLoog/ppl and MPC versions
2009-09-07 19:03:09 +02:00
Yann E. MORIN"
565378d2b9 samples: fix displaying selected tools
Do display selected tools / debug facilities when displaying a sample.
2009-09-07 18:55:11 +02:00
Yann E. MORIN"
0d434aabb6 samples: replace usage of echo with printf
Using printf instead of echo allows easier and better formatting.
2009-09-07 18:40:30 +02:00
Yann E. MORIN"
3136ecb066 tools wrapper: fix building
Remove the build tools only after the wrapper is built.
Use the corect C compiler to build the tools wrapper.
Use the correct log level.
2009-09-06 17:58:05 +02:00
Yann E. MORIN"
4a1d73f209 crosstool.sh.in: better mesage when creating script-overrides 2009-09-06 16:49:54 +02:00
Yann E. MORIN"
9ce2053352 log functions: fix CT_DoLog and CT_DoExecLog
$@ and $* are different when in double quotes; use $* to print the message.
2009-09-06 16:49:20 +02:00
Yann E. MORIN"
a6a0bf70ed config.{gues,sub}: update 2009-09-01 10:41:44 +02:00
Yann E. MORIN"
2efc2b2319 config: add fallback to patch order
Add the possibility to fallback to either bundled or local patches
if local or bundled are missing.
2009-08-31 12:47:58 +02:00
Yann E. MORIN"
b09e70bda5 config: add the local,bundled patch order
This ordering first applies the local patches, then the bundeld ones.
2009-08-31 12:51:53 +02:00
Yann E. MORIN"
dc836b5e4d config: make selecting the patch origin a choice rather than a bool 2009-08-31 12:05:52 +02:00
Yann E. MORIN"
c992de9eb5 functions: do not over-detect error when patching 2009-08-31 11:57:13 +02:00
Yann E. MORIN"
af08c2b96c tools wrapper: fix error due to unused argument
In the C wrapper, the argc argument is not used, causing an error
(as we treat warnings as errors). Use a dummy allocation to get
rid of the warning.
2009-08-30 19:58:41 +02:00
Yann E. MORIN"
4bb7da8056 tools wrapper: correctly install the C wrapper
When building the C wrapper, specify the source file to be compiled.
2009-08-30 19:54:51 +02:00
Yann E. MORIN"
4ae5ff5fd8 tools wrapper: introduce the silent WRAPPER_NEEDED config option
Add the WRAPPER_NEEDED silent config option, that can be selected by
components that require it (companion libs so far).
Rely on this config option when deciding to install the wrapper,
instead of checking GMP/MPFR or PPL/CLoog/MPC.
2009-08-30 00:57:40 +02:00
Yann E. MORIN"
b7b6314a81 Merge the C wrapper. 2009-08-30 00:35:58 +02:00
Yann E. MORIN"
d811941c9a config: choose whether to use the shell or the C wrapper
Offer a config choice on whether to isntall the script wrapper, or
the compiled C wrapper. Update docs/overview.txt accordingly.
2009-08-30 00:27:12 +02:00
Yann E. MORIN"
8f051d8ef6 tool wrapper: add initial wrapper coded in C
Add an initial wrapper:
- find the realpath of the tool being called
- add the '.' in front of the tool name
- add the '/lib' dir to the base dir of the tool
- set and export LD_LIBRARY_PATH
- execve the real tool
2009-08-29 18:27:47 +02:00
Yann E. MORIN"
922486d2b1 duma: fix downloading by forcing extension to .tar.gz
Downoading a non-existing file from sourceforge gives you a "200 OK"
and an index.html. As we try to retrieve a .tar.bz2 first, and duma
is bundled in a .tar.gz, we won't get appropriate content, so
just force the extension to avoid the problem.

Thanks to Ingmar Schraub <is@eseco.de> for pointing out the issue.
2009-08-28 11:57:29 +02:00
Jim F
015719a12a glibc: fix build error caused by incorrect variable assignment
During the conversion to using bash arrays, the glibc build script
was improperly converted, and contains an incorrect variable
assignment to the config_options array.
2009-08-24 19:20:57 +02:00
Yann E. MORIN"
4de6139e7e Merge the bash_array branch.
For every components where it makes sense, use bash arrays (instead
of a string with space-separated values) to store the options pased
to ./configure.
2009-08-19 19:52:04 +02:00
Yann E. MORIN"
83a48e12f0 Allow setting --enable-cxx-flags on gcc ./configure
Some setups require one to pass extra CXX flags at the time of ./configure.
Make it easy.
2009-08-19 19:44:45 +02:00
Yann E. MORIN"
8dd4a2de00 Use bash arrays to store binutils config options 2009-08-19 19:44:44 +02:00
Yann E. MORIN"
a72cc670b8 Make glibc's extra_config an array containing ./configure options
Change extra_config from a string to a array of options.
2009-08-19 19:44:43 +02:00
Yann E. MORIN"
59a37160af Make gdb's extra_config an array containing ./configure options
Change extra_config from a string to a array of options.
2009-08-19 19:44:43 +02:00
Yann E. MORIN"
25303fc30a Make dmalloc's extra_config an array containing ./configure options
Change extra_config from a string to a array of options.
2009-08-19 19:44:42 +02:00
Yann E. MORIN"
f255716872 Make gcc's extra_config an array containing ./configure options
Change extra_config from a string to a array of options.
2009-08-19 19:44:42 +02:00
Yann E. MORIN"
3af5465103 Make eglibc's extra_config an array containing ./configure options
Change extra_config from a string to a array of options.
2009-08-19 19:44:30 +02:00
Yann E. MORIN"
e4855367b4 [libc-eglibc] Rewrite part of the code
Rewrite part of the code to better match the rest.
Most notably, rewrite handling of:
  if [ ... ] && [ ... ]
to:
  if [ ... -a ... ]

This has the positive side effect of calling "[" only once, although
"[" is probably a shell built-in.
2009-07-27 22:16:07 +02:00
Yann E. MORIN"
795d135b7f [libc-eglibc] Fix testing for existing files
To test for existing files, use "[ -f blabla ]", not "[ -a blabla ]"
Checking for a file exsitence with "-a" is a bashism.
Althoug we _are_ using bash, it's disturbing as it can be misread as
the 'and' operator. Fix by using "-f".
2009-07-27 22:14:08 +02:00
Yann E. MORIN"
424f64c487 Merge the AVR32 support branch to the default branch. 2009-08-08 22:15:25 +02:00
Oron Peled
b0f5a18c32 [complib:mpfr] Fix building MPFR in some weird cases
The tmul test uses a compiled-in input file in $(srcdir).
The problem is that the Makefile passes it unquoted. The C code
tries to stringify it using clever macros, which may *usually* work.

In my case the source directory was named:
  .../toolchain-powerpc-e500v2-linux-gnuspe-1.0-2.fc10/.../tests
And guess what? During testing I found out the program fails because
it tries to open:
  .../toolchain-powerpc-e500v2-1-gnuspe-1.0-2.fc10/.../tests

Yes, CPP tokenized the macro before stringifying it and not surprisingly
the 'linux' part was converted to 1.
[on Fedora-10: cpp (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)]

So the attached patch simplify the macros and pass the path as string
from the Makefile.
2009-08-03 00:49:25 +02:00
Yann E. MORIN"
946a86fb67 [config] Merge CONFIG_SHELL selection. 2009-08-03 08:50:56 +02:00
Yann E. MORIN"
33ed1557b6 Merge the queue with all new component versions. 2009-08-02 23:38:37 +02:00
Yann E. MORIN"
961bf299cd [scripts-add-version] Handle gcc 4.4+
Handle gcc-4.4+ when adding a new gcc version.
2009-08-02 23:33:38 +02:00
Yann E. MORIN"
27cdd4367c [config] Allow user to specify custom CONFIG_SHELL
In case the shell the user wants to use as CONFIG_SHELL is located in a
weird place (eg. /opt/bash/bin/bash), or is weirdly named (eg. bash-4),
let the user enter the patch to the shell.
2009-08-02 20:06:44 +02:00
Yann E. MORIN"
d6195c6483 [config] Add bash as a possible CONFIG_SHELL
On some systems and/or for some components, it may be necessary to
explicitly use bash as the shell used by ./configure and Makefiles.
2009-08-02 20:06:06 +02:00
Yann E. MORIN"
a08142a02a [config] Change the way to select the CONFIG_SHELL
Transform the single boolean option to a 'choice' selection
with two options: "sh" and "ash".

This is needed to later add "bash" as override.
2009-08-02 23:43:15 +02:00
Bart vdr. Meulen
7c3dcb42dc fix wrapper script for symlinks
The wrapper script placed around the target binaries when
using the companion libraries does not work for symbolic links
The wrapper scripts needs to follow the links before calling the
actual binary

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>

---
2009-08-02 16:45:43 +02:00
Bart vdr. Meulen
a183b3f8bc Add g++ to required tools
Because gmp is now always build with --enable-cxx,
g++ has become a required tool

Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com>

---
2009-08-02 16:45:33 +02:00
Yann E. MORIN"
5a4ac4ed36 [samples] Don't mix canadian samples with non-canadian ones.
- save the canadian smples in their own way, so as not to
  mix non-canadian samples with canadian ones
- list canadian samples with the host information
2009-06-26 19:09:22 +02:00
Yann E. MORIN"
f65cb24909 Cleanup the handling of canadian settings
Bring handling the 'canadian' settings as par with the existing
'cross' settings.
2009-06-26 19:09:22 +02:00
Bart van der Meulen
1a84e201d0 Add support code for the canadian-cross case.
Add implementation for a candadian build option already
present in crosstool in order to build a cross-compiler
where build != host != target

Signed-off-by: Bart van der Meulen <bartvdrmeulen@gmail.com>
2009-06-26 19:09:22 +02:00
Yann E. MORIN"
38916b8bfb [samples] Make saveSample.sh a little bit more generic
Prepare saving canadian samples by making the saveSample.sh script
a little bit more generic, using conditional code-paths (even if
there's currently a single code-path).
2009-06-26 19:09:22 +02:00
Bart van der Meulen
c8c70933f0 Don't use prefix/bin to install the buildtools.
Collect the build tools in a seperate folder in order to prevent accidental
calling our newly build tools.

Signed-off-by: Bart van der Meulen <bartvdrmeulen@gmail.com>
2009-06-26 19:09:22 +02:00
Bart van der Meulen
936286668b Fix MPFR build to recognise the Mingw32 case.
Once we have canadian in place, Mingw32 can be a legitimate host,
so we have to recognise that along with Cygwin.

Also fix recognising Cygwin hosts.

Signed-off-by: Bart van der Meulen <bartvdrmeulen@gmail.com>
2009-06-23 22:57:12 +02:00
Yann E. MORIN"
ecb02cb9dc Use configured shell in all build-tools wrappers
Abide by the user's wish to use dash as shell in
build-tools wrappers, instead of plain /bin/sh.
2009-06-23 22:56:39 +02:00
Bart van der Meulen
f9d93f2b91 Fix creating the .../lib/ directory structure in the non-sysroot case
The symbol link that is created in the sysroot directory only needs
to be made when the cross compiler is build with the sysroot option

Signed-off-by: Bart van der Meulen <bartvdrmeulen@gmail.com>
2009-06-23 22:52:14 +02:00
Yann E. MORIN"
b816a5e6c9 Also set CT_DEBUGROOT_DIR for non sysroot-ed toolchains.
In the non-sysroot-ed case, the debuf-root directory would not be set;
debug tools would have been installed God-only-knows-where...

Spotted by Bart van der Meulen <bartvdrmeulen@gmail.com>.
2009-06-23 22:52:13 +02:00
Yann E. MORIN"
abfd68cbc3 [tools] Update config.guess and config.sub
Update from upstream.
2009-06-23 22:52:13 +02:00
Yann E. MORIN"
4f48f57e86 Remove left-over debug lines.
Remove two lines of code that were commented out and are definitely not used.
2009-06-23 22:49:50 +02:00
Yann E. MORIN"
56a26d84e1 Check paths sanity before they get used.
Don't use the PATHs before they get checked for sanity.
2009-06-22 21:53:09 +02:00
Yann E. MORIN"
f8828f22c3 Better check for spaces in paths
Spaces are evil in paths. Print the path that contains a sapce.
Don't print computed paths, as they'rebased on provided paths,
and don't get space added into them.
2009-06-22 21:51:14 +02:00
Yann E. MORIN"
4cd607512b [functions] Allow newlines (\n) in log messages
Allow caller to log messages with embedded newlines when calling
CT_DoLog and other logging functions (eg. CT_Abort...).
2009-06-22 21:51:13 +02:00
Martin Lund
bfe21badf8 Removed debug line 2009-06-20 19:42:00 +02:00
Martin Lund
b4467e6617 Fix libc config 2009-06-20 18:54:56 +02:00