aboutsummaryrefslogtreecommitdiff
path: root/config/cc.in
Commit message (Collapse)AuthorAgeFilesLines
* Allow for Runtime-less build of GDC and GNATMarc Poulhiès2024-06-051-13/+15
| | | | | | | | | | | | Both D and GNAT have their own runtimes (resp. libphotos and libada). It is still possible to build the compiler proper without any runtime, and have an external runtime installed later. This is most commonly found in embedded systems. An example for D is: https://github.com/KitsunebiGames/tinyd-rt An example for Ada: https://github.com/Fabien-Chouteau/bare_runtime Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Enable support for building libgccjitMarc Poulhiès2022-12-181-0/+14
| | | | | | | | | | | | | | | | | | | | | libgccjit is still under development and, despite its name, may also be used for ahead-of-time compilation. Documentation can be found on the gcc website: https://gcc.gnu.org/onlinedocs/jit/internals/index.html https://gcc.gnu.org/wiki/JIT With this change it's possible to enable the building of the libgccjit. It's enabled as a language (with --enable-languages=jit) even if not a language frontend at all. The main changes are related to the requirement of having everything host side built as Position Independent Code (PIC) with --enable-host-shared. GCC has the needed logic for building its dependencies (mpc, gmp, mpfr, ...) correctly when built "in-tree", which is not the case with crosstool-ng (see https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=05048fc29f0) Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Correct casing for Ada langMarc Poulhiès2022-11-091-1/+1
| | | | | | Ada is a name, not an acronym, so it doesn't need to be upcased. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Enable D language supportMarc Poulhiès2022-06-141-0/+14
| | | | | | | Enable D support as an experimental feature. GDC becomes a build dependency when enabled. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* Unify core passesAlexey Neyman2022-02-111-4/+1
| | | | | | | | | With libc_headers step before pass-1, there is no need to distinguish pass-1 and pass-2; they are configured identically (note that with the current configuration, core pass-2 is only used for win32 - hence, uses build_libgcc=yes and mode=static). Signed-off-by: Alexey Neyman <stilor@att.net>
* gcc: Build static libgcc in core_pass1Chris Packham2022-01-121-5/+0
| | | | | | | | | | | | | | | | | | Per https://github.com/crosstool-ng/crosstool-ng/issues/808 build static libgcc in the first pass which lets us skip the second one. Building mingw-w64 requires header files in order to build C++ support so mingw builds core pass 2. This could probably be cleaned up by splitting libc_start_files into a separate libc_header step. But for now having core 2 for mingw-w64 and core 1 for the other libcs will have to do. Anything that previously selected CC_CORE_PASSES_NEEDED now selects CC_CORE_PASS_1_NEEDED. The same goes for CC_CORE_PASS_2_NEEDED with the exception of mingw-w64. Fixes #808 Fixes #217 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Switch gen-kconfig to new frameworkAlexey Neyman2017-07-081-2/+0
| | | | | | | | | | | | | | | Also: - Move companion_* to comp_* to match the kconfig symbols - Replace bootstrap with former gen-versions.sh - Fold *.in.2 into their respective first parts; this moves common options to the end - if it is undesirable, inclusion of *.in can be moved where *.in.2 used to be (but that will also move version selection after common options). - Retire addToolVersion.sh (may later replace with a more comprehensive script that tries to download the added tarballs, copy the patches and try to apply them, and create a version.desc). Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix the references to old config variablesAlexey Neyman2017-07-081-9/+2
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Convert the rest of packages to new frameworkAlexey Neyman2017-07-081-0/+2
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Get rid of config.genAlexey Neyman2017-04-221-1/+1
| | | | | | | | | Instead, prepare the files as a part of bootstrap and install them. This avoids rebuilding these files in each working directory; they don't change anyway as they are generated from the same installed source. Signed-off-by: Alexey Neyman <stilor@att.net>
* config: Add config support for multiple compilersRay Donnelly2015-05-291-2/+1
| | | | | | | | | | | This change updates the config to support multiple compilers by moving CC_.* to CC_GCC_.* to make room for other compilers. We also update gen_in_frags.sh to check for a default cc. Signed-off-by: Ray Donnelly <mingw.android@gmail.com> Reviewed-by: Yann Diorcet <diorcetyann@gmail.com> Reviewed-by: Bryan Hundven <bryanhundven@gmail.com>
* Display 'Other languages' for bare metal as wellJohannes Pfau2015-04-261-2/+2
| | | | | | | | There are other languages which work with bare metal compilers. As an example crosstool-ng is recommended to build D/GDC bare metal compilers. Signed-off-by: Johannes Pfau <johannespfau@gmail.com>
* cc: add options to differentiate the need for pass-1 and pass-2Yann E. MORIN"2014-05-051-1/+9
| | | | | | | | | | | | | | | | In some cases, building the core pass-1 is unneeded, as the C library will not try to build anything when installing headers, or sill not install anything at all. This is for example the case for newlib, wihch does not require a core pass-1 since it builds nothing and installs no header. This should also be the case for newer glibc-es with newer gcc-es, which no longer require a core pass-1, since the circular dependency glibc <-> gcc (about TLS?) has been resolved. Reported-by: Trevor Woerner <trevor.woerner@linaro.org> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* cc/gcc: Add Fortran support for Baremetal buildZhenqiang Chen2013-11-191-2/+2
| | | | | | | | Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org> [yann.morin.1998@free.fr: fix damage due to mailer] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <CACgzC7D5HCVS-qX=ydcQphNFH=VGgJzTdZWQWaLKAv-CdE8crA@mail.gmail.com> Patchwork-Id: 292703
* cc/gcc: Add support for golangYann E. MORIN"2013-11-081-0/+14
| | | | | | Signed-off-by: Richard Weinberger <richard@nod.at> Message-Id: <ca374aef944e28a6ec3c.1383921708@azrael> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* cc: add a flag for skipping core passesYann Diorcet2012-11-221-0/+3
| | | | | | | | | It is used for skipping unnecessary compilation steps when the libc doesn't need to be compiled (eg. when we do not use a C library). Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com> Message-Id: <150eadb0117e697d79aa.1353625025@blackmint> Patchwork-Id: 201222
* misc: fix more typos here and there...Yann E. MORIN"2011-07-171-1/+1
| | | | | Reported-by: "Antony N. Pavlov" <antony@niisi.msk.ru> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* kconfig: remove useless 'default n'Benoît THÉBAUDEAU"2011-05-311-6/+0
| | | | | | | kconfig bools are disabled by default, so specifying 'default n' is useless and noisy. This patch removes all occurrences of 'default n'. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
* config: add support for a second part of the generated choicesYann E. MORIN"2010-06-081-0/+2
| | | | | | | | | | | | | | Some components have configuration options that can depend on generic options, so they should go below those. uClibc for example: - has its own options (wchar...) - uses the generic options (threads...) - if linuxthreads chosen, offers two impls So we need to be able to split the components options in 2, one part that is above the generic options, and one part that ends up below the generic options.
* config: fix style issues when source-ing filesYann E. MORIN"2010-03-291-1/+1
| | | | | Always enclose the sourced file between double-quotes (purely for consistency; enclosing or not are both allowed by the kconfig language).
* Enable C++ for baremetal.Yann E. MORIN"2008-12-241-6/+2
| | | | | | /trunk/scripts/build/cc/gcc.sh | 7 5 2 0 +++++-- /trunk/config/cc.in | 8 2 6 0 ++------ 2 files changed, 7 insertions(+), 8 deletions(-)
* Generate the choice menu for C compilers, the same way arch, kernels and C ↵Yann E. MORIN"2008-10-131-28/+3
| | | | | | | | | libraries are generated. /trunk/kconfig/kconfig.mk | 6 6 0 0 ++++++ /trunk/config/cc/gcc.in | 13 13 0 0 +++++++++++++ /trunk/config/cc.in | 31 3 28 0 +++---------------------------- 3 files changed, 22 insertions(+), 28 deletions(-)
* Introduce a new EXPERIMENTAL feature: BARE_METAL.Yann E. MORIN"2008-09-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library. Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal. Move the compiler build script to its own sub-directory. Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal. Update the ARM target tuples to enable bare-metal targets. Add two ARM bare-metal samples. Add latest Linux kernel versions. /trunk/scripts/build/kernel/none.sh | 77 6 71 0 +---- /trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++- /trunk/scripts/build/libc/none.sh | 513 9 504 0 +----------------------------- /trunk/scripts/crosstool.sh | 17 9 8 0 + /trunk/scripts/functions | 6 4 2 0 + /trunk/scripts/showSamples.sh | 6 3 3 0 /trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++ /trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++ /trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++-- /trunk/config/kernel.in | 9 8 1 0 + /trunk/config/toolchain.in | 1 1 0 0 + /trunk/config/cc/gcc.in | 3 3 0 0 + /trunk/config/debug/dmalloc.in | 1 1 0 0 + /trunk/config/debug/gdb.in | 4 3 1 0 + /trunk/config/debug/strace.in | 1 1 0 0 + /trunk/config/debug/duma.in | 1 1 0 0 + /trunk/config/cc.in | 8 8 0 0 + /trunk/config/target.in | 13 13 0 0 + /trunk/config/binutils.in | 1 1 0 0 + /trunk/config/gmp_mpfr.in | 1 1 0 0 + /trunk/config/libc.in | 17 11 6 0 + /trunk/arch/arm/functions | 3 1 2 0 - 22 files changed, 600 insertions(+), 652 deletions(-)
* Mark "ADA", "ObjC", "ObjC++" and "other languages" as being EXPERIMENTAL.Yann E. MORIN"2008-08-051-4/+8
| | | | | /trunk/config/cc.in | 12 8 4 0 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
* Moving around the files in config/ broke the tools/addToolVersion.sh script.Yann E. MORIN"2008-04-171-1/+1
| | | | | | | | | | | Fix that. /trunk/tools/addToolVersion.sh | 26 13 13 0 +++++++++++++------------- /trunk/config/kernel/linux.in | 6 3 3 0 +++--- /trunk/config/kernel.in | 2 1 1 0 +- /trunk/config/cc.in | 2 1 1 0 +- /trunk/config/libc.in | 4 2 2 0 ++-- 5 files changed, 20 insertions(+), 20 deletions(-)
* Move config files around, and clean up the mess in the config/ directory.Yann E. MORIN"2008-04-171-1/+1
| | | | | | | | | | | | | | | | | | | | | config/kernel/kernel_linux.in | 12 6 6 0 +- config/paths.in | 89 0 89 0 ---------------- config/kernel_linux_headers_install.in | 168 0 168 0 ------------------------------ config/kernel.in | 2 1 1 0 config/kernel_linux_headers_copy.in | 42 0 42 0 -------- config/cc.in | 2 1 1 0 config/logging.in | 110 0 110 0 -------------------- config/build-behave.in | 45 0 45 0 -------- config/libc_uClibc.in | 101 0 101 0 ------------------ config/kernel_linux_headers_sanitised.in | 62 0 62 0 ----------- config/ct-behave.in | 82 0 82 0 --------------- config/kernel_linux.in | 134 0 134 0 ------------------------ config/global.in | 10 5 5 0 +- config/download_extract.in | 171 0 171 0 ------------------------------- config/cc_gcc.in | 130 0 130 0 ------------------------ config/libc_glibc.in | 124 0 124 0 ---------------------- config/libc.in | 4 2 2 0 17 files changed, 15 insertions(+), 1273 deletions(-)
* Robet P. J. DAY: typoes.Yann E. MORIN"2008-02-141-1/+1
|
* Apply some scosmetic changes, courtesy Al Stone <ahs3@ahs3.net>.Yann E. MORIN"2007-08-301-14/+26
|
* Get rid of the core cc selection. It is now the same as the final compiler.Yann E. MORIN"2007-08-151-39/+6
|
* Remove dead entries for components not yet integrated: cygwin kernel, tcc...Yann E. MORIN"2007-05-131-31/+0
| | | | Some fixups in config entries, to avoid warnings when parsed by the kconfig parser.
* Add the EXPERIMENTAL option to show options marked as such.Yann E. MORIN"2007-04-171-0/+2
| | | | | Add the four types of toolchains ct-ng is able to build as EXPERIMENTAL, except for CROSS which *is* functional. Reorder menus accordingly.
* Add the full crosstool-NG sources to the new repository of its own.Yann E. MORIN"2007-02-241-0/+185
You might just say: 'Yeah! crosstool-NG's got its own repo!". Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup. That means I'm putting backups in place in the afternoon. That also means we've lost history... :-(