Commit Graph

56 Commits

Author SHA1 Message Date
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"
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
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
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"
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"
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
Yann E. MORIN"
1f87ae813c scripts: don't print the build system guess warning 2010-04-15 22:34:11 +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"
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
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"
26e5cb4021 scripts: fix dumping 'other environment'
Do not sort the environment, it cripples the output.
2010-02-18 00:04:48 +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
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"
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"
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"
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"
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"
4a1d73f209 crosstool.sh.in: better mesage when creating script-overrides 2009-09-06 16:49:54 +02:00
Yann E. MORIN"
946a86fb67 [config] Merge CONFIG_SHELL selection. 2009-08-03 08:50:56 +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
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"
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
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
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"
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"
5801d8c588 /devel/gcc-4.4:
- crosstool-NG.sh.in: include prefix/lib in LD_LIBRARY_PATH

 -------- diffstat follows --------
 /devel/gcc-4.4/scripts/crosstool-NG.sh.in |    4     4     0     0 ++++
 1 file changed, 4 insertions(+)
2009-05-27 21:08:17 +00:00
Yann E. MORIN"
52e72144d7 /devel/gcc-4.4:
- add support for building the MPC library.

 -------- diffstat follows --------
 /devel/gcc-4.4/scripts/build/companion_libs/ppl.sh   |    4     2     2     0 +-
 /devel/gcc-4.4/scripts/build/companion_libs/mpc.sh   |   57    57     0     0 ++++++++++++++++++++++++++++++++++
 /devel/gcc-4.4/scripts/build/companion_libs/cloog.sh |    4     2     2     0 +-
 /devel/gcc-4.4/scripts/crosstool-NG.sh.in            |    3     3     0     0 ++
 /devel/gcc-4.4/steps.mk                              |    1     1     0     0 +
 /devel/gcc-4.4/config/companion_libs/mpc.in          |   32    32     0     0 +++++++++++++++++++
 /devel/gcc-4.4/config/companion_libs.in              |   15    10     5     0 ++++++---
 7 files changed, 107 insertions(+), 9 deletions(-)
2009-05-25 18:22:26 +00:00
Yann E. MORIN"
822fb9415e /devel/gcc-4.4:
- add support for building CLooG

 -------- diffstat follows --------
 /devel/gcc-4.4/scripts/build/companion_libs/cloog.sh |   60    60     0     0 ++++++++++++++++++++++++++++++++++
 /devel/gcc-4.4/scripts/addToolVersion.sh             |    3     2     1     0 +-
 /devel/gcc-4.4/scripts/crosstool-NG.sh.in            |    3     3     0     0 ++
 /devel/gcc-4.4/steps.mk                              |    1     1     0     0 +
 /devel/gcc-4.4/config/companion_libs/cloog.in        |   32    32     0     0 ++++++++++++++++++
 /devel/gcc-4.4/config/companion_libs.in              |    1     1     0     0 +
 6 files changed, 99 insertions(+), 1 deletion(-)
2009-05-24 22:04:14 +00:00
Yann E. MORIN"
45747a6453 Merge the uClinux/noMMU stuff back to /trunk:
- merge Linux and uClinux back to a single kernel
- add ARCH_USE_MMU and acquainted config options that
  architectures can auto-select
- make binutils and elf2flt two "Binary utilities" that
  go in a single common sub-{menu,directory} structure

 -------- diffstat follows --------
 /trunk/scripts/build/kernel/uclinux.sh      |    2     0     2     0 -
 /trunk/scripts/build/kernel/linux.sh        |  206   204     2     0 +++++++++++++++++++++++++++++
 /trunk/scripts/build/kernel/linux-common.sh |  198     0   198     0 ----------------------------
 /trunk/scripts/build/binutils.sh            |  232     0   232     0 --------------------------------
 /trunk/scripts/build/elf2flt.sh             |  150     0   150     0 ---------------------
 /trunk/scripts/crosstool-NG.sh.in           |    6     4     2     0 +
 /trunk/config/kernel/linux.in               |  249   249     0     0 +++++++++++++++++++++++++++++++++++
 /trunk/config/kernel/linux.in-common        |  252     0   252     0 -----------------------------------
 /trunk/config/kernel/uclinux.in             |   21     0    21     0 ---
 /trunk/config/target.in                     |   23    22     1     0 +++
 /trunk/config/elf2flt.in                    |   49     0    49     0 -------
 /trunk/config/libc/glibc.in                 |    2     1     1     0
 /trunk/config/libc/eglibc.in                |    2     1     1     0
 /trunk/config/config.in                     |    1     0     1     0 -
 /trunk/config/arch/sh.in                    |    1     1     0     0 +
 /trunk/config/arch/arm.in                   |    2     1     1     0
 /trunk/config/arch/powerpc.in               |    1     1     0     0 +
 /trunk/config/arch/ia64.in                  |    1     1     0     0 +
 /trunk/config/arch/alpha.in                 |    1     1     0     0 +
 /trunk/config/arch/x86.in                   |    1     1     0     0 +
 /trunk/config/arch/mips.in                  |    1     1     0     0 +
 /trunk/config/arch/powerpc64.in             |    1     1     0     0 +
 22 files changed, 489 insertions(+), 913 deletions(-)
2009-05-20 20:13:13 +00:00
Yann E. MORIN"
a0cf91e83b Add support for building PPL:
- PPL will be needed to correctly build gcc-4.4+ for the
  GRAPHITE loop optimisation

 -------- diffstat follows --------
 /trunk/scripts/build/companion_libs/ppl.sh |   66    66     0     0 ++++++++++++++++++++++++++++++++++++
 /trunk/scripts/build/companion_libs/gmp.sh |   24    19     5     0 ++++++++++---
 /trunk/scripts/addToolVersion.sh           |    3     2     1     0 +-
 /trunk/scripts/crosstool-NG.sh.in          |    3     3     0     0 ++
 /trunk/steps.mk                            |    1     1     0     0 +
 /trunk/config/companion_libs/ppl.in        |   33    33     0     0 ++++++++++++++++++
 /trunk/config/companion_libs.in            |   22    19     3     0 ++++++++++--
 7 files changed, 143 insertions(+), 9 deletions(-)
2009-05-05 22:04:20 +00:00
Yann E. MORIN"
38c549d748 Prepare for gcc-4.4:
- add 'companion_libs/' to hold all libraries needed to build gcc-4.3+ and gcc-4.4+
- move GMP & MPFR to 'companion_libs/'

 -------- diffstat follows --------
 /trunk/scripts/build/gmp.sh       |   85     0    85     0 ----------------------------
 /trunk/scripts/build/mpfr.sh      |  139     0   139     0 ---------------------------------------------
 /trunk/scripts/addToolVersion.sh  |    4     2     2     0
 /trunk/scripts/crosstool-NG.sh.in |    4     2     2     0
 /trunk/config/companion_libs.in   |   17    10     7     0 +++---
 /trunk/config/gmp_mpfr/gmp.in     |   32     0    32     0 ----------
 /trunk/config/gmp_mpfr/mpfr.in    |   42     0    42     0 --------------
 /trunk/config/config.in           |    2     1     1     0
 /trunk/config/gmp_mpfr.in         |   35     0    35     0 -----------
 9 files changed, 15 insertions(+), 345 deletions(-)
2009-05-03 21:10:15 +00:00
Yann E. MORIN"
edf2be89a1 Remove test files.
/trunk/scripts/crosstool-NG.sh.in |    6     4     2     0 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
2009-03-29 21:05:13 +00:00
Yann E. MORIN"
91a189c7ba Only create the state dir if asked for a restartable build:
- introduce the config dir, where components can store their config files
- move the munged uClibc config file to the config dir
- now, the state dir really is an indication that a build can be restarted

Thanks to Groleo Marius <groleo@gmail.com> for spotting the inconsistency
of the state dir usage, and suggesting this change.

 /trunk/scripts/build/libc/uClibc.sh |    6     3     3     0 +++---
 /trunk/scripts/crosstool-NG.sh.in   |    9     7     2     0 +++++++--
 /trunk/scripts/functions            |   15    12     3     0 ++++++++++++---
 3 files changed, 22 insertions(+), 8 deletions(-)
2009-03-27 23:40:07 +00:00
Yann E. MORIN"
b79ffe16c6 Refuse to build/install on file systems that are *not* case-sensitive.
/trunk/scripts/crosstool-NG.sh.in |    9     9     0     0 +++++++++
 1 file changed, 9 insertions(+)
2009-03-27 18:53:54 +00:00
Yann E. MORIN"
e1063055a2 Use "grep -E" instead of the deprecated "egrep".
/trunk/scripts/build/debug/200-duma.sh |    2     1     1     0 +-
 /trunk/scripts/build/libc/uClibc.sh    |    2     1     1     0 +-
 /trunk/scripts/crosstool-NG.sh.in      |    4     2     2     0 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)
2009-03-08 17:09:39 +00:00