summaryrefslogtreecommitdiff
path: root/config/toolchain.in
AgeCommit message (Collapse)AuthorFilesLines
2018-12-10Add config flags for omitting 'arch' and 'vendor'Alexey Neyman1-1/+1
... parts of the config tuple. While here, remove parts that are setting portions of the target tuple to a value that's already the default. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-01Add moxiebox as a choice for libcAlexey Neyman1-4/+4
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>
2017-09-01config: Add package versioning flexibilityNathan Chancellor1-3/+19
Some users (like myself) may want to omit the crosstool-NG version from the binaries' versioning output, as it can be incredibly long and not too helpful. Add a config option to disable it. The possible combinations are as follows: - crosstool-NG version (default) - crosstool-NG version - custom toolchain ID - Custom toolchain ID - No crosstool-NG version OR custom toolchain ID Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2017-07-08Also upgrade non-generated config filesAlexey Neyman1-1/+1
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-23Retire BACKEND stuffAlexey Neyman1-2/+2
... it is possible to just not set it in the configuration, why force it? It just increases the complexity in Kconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-30cross-gdb: account for canadian/crossnative toolchainsAlexey Neyman1-1/+5
... when determining if it can be linked statically, and if Python scripting should default to y. Prompted by a failure of i686-w64-mingw32,nios2-spico-elf sample on a system where configure didn't report static linking support. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-12Fix typo in toolchain.inDave Flogeras1-1/+1
Signed-off-by: Dave Flogeras <dflogeras2@gmail.com>
2017-01-13Do not use sysroot in bare metal.Alexey Neyman1-1/+2
None of the bare metal C library choices (avr-libc, newlib) support installing into sysroot. Nor does it make any sense, since sysroot implies a file system, which in turn implies an OS.
2017-01-10Select libintl from gettext we built.Alexey Neyman1-0/+1
Also, require gettext for NLS, and require iconv/ncurses for gettext. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-02-26config: Add static link check to static optionsBryan Hundven1-0/+1
If we can't static link with gcc, then don't allow static linking. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-21avr-libc: add support for avr-libc C libraryErico Nunes1-0/+1
This commit adds support for the avr-libc C library. According to the project page at http://www.nongnu.org/avr-libc , the avr-libc package provides a subset of the standard C library for Atmel AVR 8-bit RISC microcontrollers. In addition, the library provides the basic startup code needed by most applications. Support for this library in crosstool-ng is only enabled for the AVR 8-bit target. The avr-libc manual and most distributions build the AVR 8-bit gcc toolchain with the "avr" (non-canonical) target. Some experimentation also led to the conclusion that other (canonical) targets are not very well supported, so we force the "avr" target for crosstool-ng as well. The manual also recommends building avr-libc after the final gcc build. To accomplish this with crosstool-ng, a new do_libc_post_cc step is added, in which currently only avr-libc performs its build, and is a no-op for the other libc options. Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-01-28eglibc: Remove eglibc supportBryan Hundven1-1/+1
As posted on http://www.eglibc.org/ ==================== EGLIBC is no longer developed and such goals are now being addressed directly in GLIBC. ==================== I'm not interested in maintaining build support for unsupported software. Older branches of crosstool-ng continue to have eglibc support. If you find issues with older branches, I'm always open to pull requests. Removing eglibc also frees up glibc cleanup and build optimization. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2012-12-26all: unmark experimental featuresYann E. MORIN"1-4/+2
It's been some time now we've had those features, so unmark them being experimental. It does not mean everything is perfect, but may gather some more testing of those features. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-26config/toolchain: fixed typo in help stringAndrzej Bieniek"1-1/+1
Signed-off-by: "Andrzej Bieniek" <andyhelp@gmail.com>
2012-01-03cc/gcc: build core compilers for canadianYann E. MORIN"1-49/+0
Currently, we rely on an existing external cross-compiler targetting the target, to build the C library. This can pause quite a few problems if that compiler is different from the one we are building, because it could introduce some ABI issues. This patch removes this dependency, by building the core compilers as we do for standard cross, and also by building the binutils and gcc, for running on the build machine. This means we no longer need to offer the cross-sompiler selection in the menuconfig. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-28config: fix NLS typoYann E. MORIN"1-1/+1
Reported-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-18config/toolchain: Add "Enable nls" in "Toolchain options".Zhenqiang Chen1-0/+8
Reviewed-by: Michael Hope Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
2011-10-14scripts: check host features with host compilerYann E. MORIN"1-10/+5
Currently, we check host feature in ./configure. This works only for cross toolchains, but not for canadian toolchains. ./configure has absolutely no way to know what the host for the toolchain will be; only the build scripts know. So, move the headers & libraries checks from ./configure to the build scripts, early enough in the build, but not before we know the host compiler and other tools. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17misc: fix more typos here and there...Yann E. MORIN"1-5/+5
Reported-by: "Antony N. Pavlov" <antony@niisi.msk.ru> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-27configure: disable static linking on DarwinYann E. MORIN"1-0/+1
Static liunking is not supported on Darwin, so hide the corresponding options when the build machine is Darwin. Reported-by: Andrea Franceschini <therealmorpheu5@gmail.com> Reported-by: Bryan Hundven <bryanhundven@gmail.com> Reported-by: "Titus von Boxberg" <titus@v9g.de> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-03kconfig: prepend CT-NG's version tag to PKGVERSIONBenoît THÉBAUDEAU"1-1/+6
"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-02cc/gcc: CC_STATIC_LIBSTDCXX 'depends on' CONFIGURE_has_static_libstdcppYann E. MORIN"1-0/+9
Hide the staticaly linked libstdc++ option if the static libstdc++ is not present, detected at configure time. Add a blind option that says whether static linking is possible at all. It defaults to 'y', but depends on the needed CONFIGURE_* options. For now, it only depends on static libtdc++, but new dependencies can be easily added. Hide the global static toolchain option behind this new option. Original patch by Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-31gdb: use the PKGVERSION and BUGURL optionsBenoît THÉBAUDEAU"1-1/+2
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-31eglibc: use the PKGVERSION and BUGURL optionsBenoît THÉBAUDEAU"1-1/+1
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-31binutils: use the PKGVERSION and BUGURL optionsBenoît THÉBAUDEAU"1-1/+1
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-31gcc: promote PKGVERSION and BUGURL options to toolchain levelBenoît THÉBAUDEAU"1-0/+18
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-31kconfig: remove useless 'default n'Benoît THÉBAUDEAU"1-3/+1
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>
2011-04-20config/toolchain: hide sysroot name when in backend modeYann E. MORIN"1-1/+1
In backend mode, setting the sysroot name is the responsibility of the upper-layer build system. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25config/toolchain: force use of sysroot if OBSOLETE is not setYann E. MORIN"1-0/+6
Use of the sysroot is highly recommended, and the non-sysroot case is both obsolete and not widely tested. Before the non-sysroot case can go away, deprecate it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25config: add an option to name the sysroot directoryYann E. MORIN"1-2/+15
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>
2010-12-21docs: overview.txt is gone, point to the new documentationYann E. MORIN"1-4/+4
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09binutils/binutils: build staticallyBryan Hundven"1-0/+1
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-09debug/gdb: global static forces static cross-gdbBryan Hundven"1-0/+3
If the global static option is set, then build host binutils statically. Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09config: add option to build statically linked toolchainBryan Hundven"1-0/+17
Add a config option to statically build the host tools. Impacted tools can use that option to decide wether to build statically or shared. For now, no tool uses it, but they'll be added one at a time in the next commits. Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-03-29config: hide paths when used as a backendYann E. MORIN"1-1/+1
When crosstool-NG is used as a backend, it is the responsibility of the upper-layer build-system to properly set paths, so we just hide the prompts in this case.
2010-01-07config: don't force the vendor part in the tupleYann E. MORIN"1-1/+1
Note however that some configurations (eg. arm-elf) will still have the vendor part 'unknown' forced in (by config.sub).
2009-09-06tools wrapper: move choice selection to a more appropriate placeYann E. MORIN"1-34/+0
Move the tools wrapper choice selection down to the companion libraries sub-menu, to avoid the user going back and forth in the menu.
2009-09-06tools wrapper: fix config dependencyJoachim Nilsson1-6/+1
The tools wrapper is not needed only for canadian crosses, but also for every other type of toolchain.
2009-08-30config: move the "build shared libraries" option to the OS menuYann E. MORIN"1-11/+0
The "Build shared libraries" config option is dependant on the type of "Target OS". Moving this options to the "Target OS" sub-menu is also better in the user perspective: he/she no longer needs to go back and forth to see if he/she missed any option.
2009-08-30config: make "Build shared libraries" depend on KERNEL_SUPPORTS_SHARED_LIBSYann E. MORIN"1-1/+1
Now that all kernels that support shared libraries select the correct config option, we can change the dependency rules of SHARED_LIBS accordingly.
2009-08-29tools wrapper: introduce the silent WRAPPER_NEEDED config optionYann E. MORIN"1-0/+1
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-29config: choose whether to use the shell or the C wrapperYann E. MORIN"1-0/+38
Offer a config choice on whether to isntall the script wrapper, or the compiled C wrapper. Update docs/overview.txt accordingly.
2009-06-26Add support code for the canadian-cross case.Bart van der Meulen1-1/+1
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-03-09Do not have the sys-root prefix depend on EXPERIMENTAL.Yann E. MORIN"1-1/+0
/trunk/config/toolchain.in | 1 0 1 0 - 1 file changed, 1 deletion(-)
2009-03-03Some eye-candy in the toolchain sub-menu entries.Yann E. MORIN"1-3/+5
/trunk/config/toolchain.in | 8 5 3 0 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
2009-03-03Allow user to add a directory component in the sys-root path.Yann E. MORIN"1-0/+17
Rename CT_DEBUG_INSTALL_DIR to CT_DEBUGROOT_DIR (to match CT_SYSROOT_DIR). As a side effect, fix creating lib64->lib symlinks. /trunk/scripts/build/debug/100-dmalloc.sh | 2 1 1 0 +- /trunk/scripts/build/debug/400-ltrace.sh | 2 1 1 0 +- /trunk/scripts/build/debug/300-gdb.sh | 6 3 3 0 +++--- /trunk/scripts/build/debug/500-strace.sh | 2 1 1 0 +- /trunk/scripts/build/debug/200-duma.sh | 6 3 3 0 +++--- /trunk/scripts/crosstool-NG.sh.in | 16 7 9 0 +++++++--------- /trunk/scripts/functions | 2 1 1 0 +- /trunk/config/toolchain.in | 17 17 0 0 +++++++++++++++++ 8 files changed, 34 insertions(+), 19 deletions(-)
2008-12-09Sanity-check CT_TARGET_VENDOR, CT_TARGET_ALIAS and CT_TARGET_ALIAS_SED_EXPR:Yann E. MORIN"1-0/+1
- vendor and alias must not contain spaces - vendor must not contain dashes '-' - sed_expr must not generate an alias with a space in it /trunk/scripts/functions | 17 16 1 0 ++++++++++++++++- /trunk/config/toolchain.in | 1 1 0 0 + 2 files changed, 17 insertions(+), 1 deletion(-)
2008-11-13Merge #1195, #1196 and #1203 from /devel/YEM-build_host_target_cleanup:Yann E. MORIN"1-23/+137
- Get rid of CT_CC_NATIVE - Get rid of CT_CANADIAN_OPT - Sanitise CT_BUILD vs. CT_HOST /trunk/scripts/build/tools/200-sstrip.sh | 4 2 2 0 /trunk/scripts/build/binutils.sh | 1 0 1 0 - /trunk/scripts/build/cc/gcc.sh | 11 6 5 0 +- /trunk/scripts/build/debug/200-duma.sh | 3 1 2 0 - /trunk/scripts/build/libc/glibc.sh | 10 5 5 0 +- /trunk/scripts/build/libc/eglibc.sh | 8 4 4 0 +- /trunk/scripts/crosstool.sh | 168 113 55 0 ++++++++++++++++++++++++++------------ /trunk/config/toolchain.in | 160 137 23 0 +++++++++++++++++++++++++++++++----- 8 files changed, 268 insertions(+), 97 deletions(-)
2008-09-14Introduce a new EXPERIMENTAL feature: BARE_METAL.Yann E. MORIN"1-0/+1
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(-)
2008-08-21Typo.Yann E. MORIN"1-1/+1
/trunk/config/toolchain.in | 2 1 1 0 +- 1 file changed, 1 insertion(+), 1 deletion(-)