Commit Graph

30 Commits

Author SHA1 Message Date
Stephanos Ioannidis
9884db4c87 Specify header path in CT_CC_SYSROOT_ARG only for glibc
When building a non-sysrooted toolchain, `--with-headers` argument is
specified in `CT_CC_SYSROOT_ARG` as a hack, supposedly because "final
gcc will define disable_glibc while building libgcc, and you'll have no
profiling."

This, however, leads to `--with-headers` being specified multiple times
when building libstdc++ for additional libc variants (e.g. newlib-nano
and picolibc) and results in wrong libc headers being used by the
libstdc++ build under certain circumstances -- GCC does not use the last
specified `--with-headers` when building for macOS and Windows hosts.

Since the above hack is intended for glibc only, this commit adds a
check to ensure that `--with-headers` is added to `CT_CC_SYSROOT_ARG`
only when building glibc.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-10-06 15:51:13 +13:00
Arnaud Vrac
f9ab04b63a Add mold linker build
Allows building the #mold linker, which can then be used in the
cross-toolchain by passing the -fuse-ld=mold to the gcc flags. It is
much faster than ld or gold.

This requires a C++20 compiler and cmake.

Initially implemented by Arnaud, and HC added configure check for cmake.

Outstanding task to validate compiler is C++20 compatible.

Signed-off-by: Arnaud Vrac <avrac@freebox.fr>
Signed-off-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no>
2024-06-05 19:31:45 +12:00
Quentin Boswank
aa6a6c3a34 Ignore a bad id command to allow docker
Signed-off-by: Quentin Boswank <qubos@outlook.de>
2024-02-18 10:56:54 +13:00
c-grant
f11d4d9c1e Add gnatls & gnatlink
add gnatls and gnatlink to list of tools since it is needed to support Ada just like gnatmake and gnatbind

Update crosstool-NG.sh & TODO

Signed-off-by: c-grant <60671494+c-grant@users.noreply.github.com>
2023-11-02 20:48:03 +13:00
Norbert Lange
c91133acc1 fix toolchain build with linker plugins
older binutils dont automatically pick up plugins,
but need to manually use wrappers like gcc-ar.
This fix allows to compile the host toolchain with -ftlo
on debian stretch.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
2023-09-24 16:08:25 +13:00
Marc Poulhiès
d7e9f7453f Add the gdc compiler to the list of tools checked/linked
Add gdc to the tool list but leave it optionnal.

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2022-10-16 13:12:33 +13:00
Justin Chen
c97a785485 Switch CT_CC_{CORE_}SYSROOT_ARG to arrays
CT_CC_{CORE_}SYSROOT_ARG is being used both as an array and string. Switch everything
to be used as an array for consistency.

Signed-off-by: Justin Chen <justinpopo6@gmail.com>
2022-07-01 16:33:37 +12:00
Raphael Catolino
c3b13ffdda Add EXTRA_CXXFLAGS_FOR_BUILD option
Signed-off-by: Raphael Catolino <raphael.catolino@gmail.com>
2021-07-06 16:19:17 +01:00
Anton Maklakov
6dd9d57280 crosstool-NG: Fix libtool for mangled tuples as all other cross-tools 2020-08-03 13:41:49 +07:00
Norbert Lange
ff0e8ac7ca move BUILD_DIR variable into Kconfig
this allows users to reference this variable,
for ex. in TARGET_CFLAGS to remap paths.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
2019-10-19 00:20:55 +02:00
Alexey Neyman
693d3943b1 Rename JOBSFLAGS -> CT_JOBSFLAGS
... so that it is saved/restored when restarting the build.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-04-04 18:57:42 -07:00
Alexey Neyman
31002a0c0a Add an ability to mark a configuration as invalid
... so that the build will fail early and predictably.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-04-04 18:57:42 -07:00
Alexey Neyman
b3cce054ef Meet our new companion tool, bison
Which is here courtesy of CentOS6, which only has bison 2.4 - while new
glibc requires 2.7.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-03-04 00:22:02 -08:00
Alexey Neyman
7217116836 Check/increase ulimit -n setting
... 2.32 ld runs out of file descriptors while linking uClibc-ng on
SuperH.

Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-15 18:46:39 -08:00
Roy Storey
2306701d2c clang check before add to CT_CFLAGS_FOR_BUILD/HOST 2019-02-13 13:23:40 -08:00
Dima Krasner
2870ffae51 Moved uClibc configuration installation to uClibc.sh
Signed-off-by: Dima Krasner <dima@dimakrasner.com>
2019-01-23 09:52:04 +02:00
Dima Krasner
1635c149a4 Store the uClibc .config alongside the ct-ng .config
Signed-off-by: Dima Krasner <dima@dimakrasner.com>
2019-01-22 22:36:15 +02:00
Alexey Neyman
a4dc14dba4 Consider it success if DoForceRmdir removes only the content
Fixes #929.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-01 14:44:08 -08:00
Alexey Neyman
40d5bf6440 Add moxiebox as a choice for libc
This required some rework of the libc selection, as moxiebox is a layer on
top of another libc - newlib.

Also, moxiebox'es host VM (`sandbox`) needs a libcrypto on the host. We will
not have it if we're cross-compiling a canadian cross. Fortunately, all moxiebox
needs from libcrypto is SHA256, and it already includes a standalone implementation
of SHA256 in its runtime. Provide a little wrapper that allows moxiebox use
that implementation for the host binary, too.

Also, automate collecting/printing the list of all packages in a given category
(e.g. LIBC or COMP_TOOLS), generate a list of all Kconfig symbols for a given
category.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-01 10:10:51 -08:00
Alexey Neyman
e72d7df359 Fix state dir location
Fixes #1054

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-10-19 17:03:14 -07:00
Alexey Neyman
2acab2f061 Make CT_PREFIX_DIR/CT_WORK_DIR/CT_BUILD_TOP_DIR absolute
... if they aren't already.

Fixes #1010.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-09-27 01:01:20 -07:00
Alexey Neyman
29f0662c18 Fix restarting after a complete build
It is much, much better to *first* make the directory writable and *then*
do a test for case-sensitivity (which requires writing in that directory).

Fixes #1033.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-09-26 16:20:12 -07:00
Alexey Neyman
07ec87f14f Avoid adding arch/cpu/tune flags for target to GCC build
... as it may need to override them for building runtime-selectable code.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-06-05 00:16:37 -07:00
Alexey Neyman
a3cc62a52c Restore the ability to build multiple configurations
... in the shared .build directory.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-29 23:01:43 -07:00
Alexey Neyman
74979fb19b Add checking for *sum and unzip
Also improve logging (add an ability to log commands/files/environment variables
to config.log)

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-29 12:06:54 -07:00
Alexey Neyman
4e7d0906c1 Support out-of-tree local builds
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 14:39:56 -07:00
Alexey Neyman
69df9ae9dd Remove the need for configure substitutions in scripts
... so that scripts/ directory can be installed verbatim.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Yann E. MORIN"
6912bc6a2c Finally used the discovered paths from ./configure in scripts/crosstool-NG.sh:
- fix Makefile to really, really not used built-in rules and variables
- have scripts/crosstool-NG.sh generated from scripts/crosstool-NG.sh.in
- create a bin-overide directory ( in ${CT_WORK_DIR}/bin ) that contains shell wrappers to the actual discovered tools

 /trunk/scripts/crosstool-NG.sh.in |   27    23     4     0 +++++++++++++++++++++---
 /trunk/Makefile.in                |   50    48     2     0 +++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 71 insertions(+), 6 deletions(-)
2009-01-26 22:43:08 +00:00
Yann E. MORIN"
1115b43f86 On 20090115.0012+0100, "Andy Johnson" <ajohnson@aecno.com> wrote:
... I added a step after
  "debug" called "finish", and moved the code in crosstool.sh
  after the loop that processes the steps from crosstool.sh
  into a do_finish function in functions.  Thus, it is now
  possible to restart after the "debug" step to re-do the
  final few things (clean and compress).

 /trunk/scripts/crosstool-NG.sh |   38     0    38     0 --------------------------------------
 /trunk/scripts/functions       |   42    42     0     0 ++++++++++++++++++++++++++++++++++++++++++
 /trunk/steps.mk                |    3     2     1     0 ++-
 3 files changed, 44 insertions(+), 39 deletions(-)
2009-01-20 20:37:43 +00:00
Yann E. MORIN"
420f3fdd25 Rename scripts/crosstool.sh to scripts/crosstool-NG.sh.
After all, this is not crosstool, but really crosstool-NG!

 /trunk/steps.mk |    2     1     1     0 +-
 /trunk/ct-ng.in |    2     1     1     0 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
2009-01-18 17:45:10 +00:00