summaryrefslogtreecommitdiff
path: root/config/target.in
AgeCommit message (Collapse)AuthorFilesLines
2017-02-06Remove "pre-declaration" of config optionsAlexey Neyman1-35/+0
... these are apparently not needed with the current kconfig and only result in warnings like "SYMBOL changed state" and "reassigning SYMBOL". Perhaps, it was necessary to run kconfig without first generating config.gen? But now all the targets that invoke $(CONF) have `config_files` as a dependency. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23multilib: Determine which options may pass through.Alexey Neyman1-0/+4
On some arches (e.g. MIPS) the options like -mabi do not work if specified more than once (see the comment in 100-gcc.sh). Therefore, we need to determine which of the options produced by <arch>.sh can be passed to multilib builds and which must be removed (i.e., which options vary among the multilibs). This presents a chicken-and-egg problem. GCC developers, in their infinite wisdom, do not allow arbitrary multilib specification to be supplied to GCC's configure. Instead, the target (and sometimes some extra options) determine the set of multilibs - which may include different CPUs, different ABIs, different endianness, different FPUs, different floating-point ABIs, ... That is, we don't know which parts vary until we build GCC and ask it. So, the solution implemented here is: - For multilib builds, start with empty CT_ARCH_TARGET_CFLAGS/LDFLAGS. - For multilib builds, require core pass 1. Pass 1 does not build any target binaries, so at that point, our target options have not been used yet. - Provide an API to modify the environment variables for the steps that follow the current one. - As a part of multilib-related housekeeping, determine the variable part of multilibs and filter out these options; pass the rest into CT_TARGET_CFLAGS/LDFLAGS. This still does not handle extra dependencies between GCC options (like -ma implying -mcpu=X -mtune=Y, etc.) but I feel that would complicate matters too much. Let's leave this until there's a compelling case for it. Also, query GCC's sysroot suffix for targets that use it (SuperH, for example) - the default multilib may not work if the command line specifies the default option explicitly (%sysroot_suffix_spec is not aware of multilib defaults). Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14Allow --with-cpu/--with-tune for !arm.Alexey Neyman1-2/+5
The configure error mentioned in the commits that disable --with-arch/--with-tune when --with-cpu is specified is specific to ARM builds. For other architectures, it makes sense (hey, it even makes sense for ARM - read 'info gcc'! - it is just a shortcoming of ARM build, apparently). Thus, add an arch setting ARCH_EXCLUSIVE_WITH_CPU (currently, set only for ARM) that will trigger current behavior. Permit combinations of --with-arch/cpu/tune for other arches. Signed-off-by: Alexey Neyman <stilor@att.net>
2015-06-21avr: add support for AVR 8-bit architectureErico Nunes1-0/+18
This commit adds support for the Atmel AVR 8-bit RISC architecture. This is the first 8-bit architecture to be added to crosstool-ng so the configuration options for 8-bit architectures are added here as well. gcc has had support for AVR for quite a while, at least since the 4.3 series for the currently popular ATmega microcontroler series. The AVR architecture only supports bare-metal toolchains. gcc for the AVR 8-bit architecture, usually referred to as avr-gcc, is commonly used in conjunction with the avr-libc library which provides additional resources for the Atmel AVR 8-bit microcontrollers. avr-gcc can also be found as a supported package in some recent Linux distributions. This commit also closes #66 Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-06-10arch: do not allow specifying both --with-cpu and --with-tuneYann E. MORIN1-0/+1
Similarly to what we've just done to prevent both --with-arch and --with-cpu, we do the same to prevent using both --with-cpu and --with-tune at the same time, since --with-cpu should fully imply the CPU to tune for (and gcc now errors out when both are specified. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Bryan Hundven <bryanhundven@gmail.com>
2015-06-08arch: do not allow specifying both --with-arch and --with-cpuYann E. MORIN1-0/+1
Normally, a specific CPU fully implies the architecture level. For example, a cortec-a8 is forcibly an armv7, so spwecifying both is redundant, and even dangerous (as incompatible values may be passed). So far, gcc was pretty happy when both were specified at the same time, and some time ago, it started being a warning, and only recently was it turned into a hard error. So, hide the architecture level prompt when a CPU has been specified. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-10arch: add option to let gccdecide what floating point to useCody Schafer1-0/+10
Add an ARCH_FLOAT_AUTO option to avoid passing float options to gcc and allow it to choose Signed-off-by: Cody P Schafer <dev@codyps.com> [yann.morin.1998@free.fr: slightly reword the commit log] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <088489641f4790262685.1399687813@localhost> Patchwork-Id: 347584
2013-01-20arch: allow adding a suffix to the arch-part of a tupleYann E. MORIN"1-0/+15
For some architectures, it is legit to have an alternate value in the 'architecture' part of the tuple. For example: armv5te-* armv7a8-* Besides, some packages expect the tuple to reflect the arch variant (eg. openMPI) to detect the variant's capabilities (eg. atomic primitives). This patch adds an option for the user to specify a suffix to be added to the arch-part of the tuple. Signed-off-by: Willy Tarreau <w@1wt.eu> Message-ID: <20130120225822.GS6838@1wt.eu> Patch-Id: 213994 [yann.morin.1998@free.fr: make it a suffix, not an override] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26all: unmark experimental featuresYann E. MORIN"1-2/+4
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-12-23arch: re-order the entries in the float choiceYann E. MORIN"1-10/+10
Re-order the three entries in the float choice, in a more sensible order, ie: - all hard-float options come first, then soft-float - options that use the FPU are marked so: hard and softfp - options that do not use the FPU are marked so: software Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2011-11-23config: add option to build multilibYann E. MORIN"1-0/+17
Add a toolchain-wide option to enable multilib. This is currently a noop, and will be implemented in subsequent patches for each impacted components. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-25config/target: enforce floating point supportYann E. MORIN"1-0/+2
Do not prompt for the type of floating-point support, if the architecture did not explicitly stated that it did support it. Reported-by: Morten Thunberg Svendsen <mts@doredevelopment.dk> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-25config/target: add float support selectionYann E. MORIN"1-0/+4
Changeset #149c33923f47 broke the architectures that do not support the --with-float=X ./configure flag (in gcc). For example, x86_64 does not support it. Add a new blind config option that architectures can set to tell they support floating point selection. Reported-by: Morten Thunberg Svendsen <mts@doredevelopment.dk> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-29arch: rename the SUPPORT_XXX optionsYann E. MORIN"1-18/+18
First, 'SUPPORT' should be spelled 'SUPPORTS'. Second, 'SUPPORT_XXX' really means 'supports --with-xxx', so rename the affected options accordingly. Update the affected archs to match the new namings. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-14config: introduce endianness as a stringYann E. MORIN"1-0/+6
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-19arch: add softfp supportYann E. MORIN"1-0/+21
Some architectures support a mixed hard/soft floating point, where the compiler emits hardware floating point instructions, but passes the operands in core (aka integer) registers. For example, ARM supports this mode (to come in the next changeset). Add support for softfp cross compilers to the GCC and GLIBC configuration. Needed for Ubuntu and other distros that are softfp. Signed-off-by: Michael Hope <michael.hope@linaro.org> [yann.morin.1998@anciens.enib.fr: split the original patch] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-19scripts: introduce float type as a stringYann E. MORIN"1-0/+5
With the upcoming softfp support, the case..esac test would become a bit convoluted if it were to test three different booleans. Introduce a new blind string config option that defaults to the selected floating point type used. Signed-off-by: Michael Hope <michael.hope@linaro.org> [yann.morin.1998@anciens.enib.fr: split the original patch] 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-2/+2
Reported-by: "Antony N. Pavlov" <antony@niisi.msk.ru> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-31kconfig: remove useless 'default n'Benoît THÉBAUDEAU"1-15/+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>
2011-04-27config: reorder the architectures sub-menuYann E. MORIN"1-4/+4
Re-organise the sub-menu so that: - the archs list comes first, - followed by archs generic options - followed by archs specific options Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-11config/arch: re-organise architecture-specific optionsYann E. MORIN"1-2/+2
Move the arch-specific options to the second-part of the generated files, so they appear after the generic options, but before the optimisations. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-06-08config: add support for a second part of the generated choicesYann E. MORIN"1-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.
2010-03-29config: fix style issues when source-ing filesYann E. MORIN"1-1/+1
Always enclose the sourced file between double-quotes (purely for consistency; enclosing or not are both allowed by the kconfig language).
2010-01-09config/arch: also export bitness as a stringYann E. MORIN"1-0/+6
2009-11-17arch: cleanup the 32- and 64-bit selectionYann E. MORIN"1-14/+6
2009-11-17arch: add hidden config knobs for 32- and 64-bit support and selectYann E. MORIN"1-0/+45
Add new hidden config knobs that architectures can select to say whether they support 32- or 64-bit variants, and which they default to.
2009-10-21config: add help for the MMU/noMMU entryYann E. MORIN"1-0/+10
2009-05-20Merge the uClinux/noMMU stuff back to /trunk:Yann E. MORIN"1-1/+22
- 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(-)
2008-11-07Do not autodetect 64-bit archs, have them tell be 'select'-ing ARCH_64 in ↵Yann E. MORIN"1-0/+4
the configuration. /trunk/scripts/crosstool.sh | 12 5 7 0 +++++------- /trunk/docs/overview.txt | 6 6 0 0 ++++++ /trunk/config/target.in | 4 4 0 0 ++++ /trunk/config/arch/x86_64.in | 1 1 0 0 + /trunk/config/arch/ia64.in | 1 1 0 0 + 5 files changed, 17 insertions(+), 7 deletions(-)
2008-10-12In generated choice menus, move the selection options outside the choice menu.Yann E. MORIN"1-6/+0
/trunk/kconfig/kconfig.mk | 60 35 25 0 +++++++++++++++++++++++++++++++---------------------- /trunk/config/kernel.in | 6 0 6 0 ----- /trunk/config/target.in | 6 0 6 0 ----- 3 files changed, 35 insertions(+), 37 deletions(-)
2008-09-15Make bare-metal a kernel selection.Yann E. MORIN"1-13/+0
/trunk/config/kernel.in | 22 14 8 0 ++++++++++++++-------- /trunk/config/target.in | 13 0 13 0 ------------- 2 files changed, 14 insertions(+), 21 deletions(-)
2008-09-14Introduce a new EXPERIMENTAL feature: BARE_METAL.Yann E. MORIN"1-0/+13
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-12Move TARGET_LDFLAGS up with all target-dependent flags.Yann E. MORIN"1-0/+1
/trunk/config/target.in | 1 1 0 0 + 1 file changed, 1 insertion(+)
2008-08-07Introduce four new ARCH specific variables that CT_DoArchValues can set if ↵Yann E. MORIN"1-0/+10
they want: - CT_ARCH_CC_CORE_EXTRA_CONFIG - CT_ARCH_CC_EXTRA_CONFIG - CT_ARCH_TARGET_CLFAGS - CT_ARCH_TARGET_LDFLAGS This will hopefully enable architectures to specify specific flags. PowerPC will need them to introduce SPE (coming RSN). /trunk/scripts/crosstool.sh | 2 2 0 0 ++ /trunk/scripts/functions | 4 2 2 0 ++-- /trunk/docs/overview.txt | 45 22 23 0 ++++++++++++++++++++++----------------------- /trunk/config/target.in | 10 10 0 0 ++++++++++ 4 files changed, 36 insertions(+), 25 deletions(-)
2008-06-30Re-order architecture specifics.Yann E. MORIN"1-5/+7
/trunk/config/target.in | 12 7 5 0 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
2008-06-27Only present each of arch, abi, cpu tune and fpu optimisations for those ↵Yann E. MORIN"1-0/+30
targets supporting them. /trunk/config/target.in | 30 30 0 0 ++++++++++++++++++++++++++++++ /trunk/arch/arm/config.in | 5 5 0 0 +++++ /trunk/arch/powerpc/config.in | 3 3 0 0 +++ /trunk/arch/alpha/config.in | 2 2 0 0 ++ /trunk/arch/x86/config.in | 3 3 0 0 +++ /trunk/arch/mips/config.in | 3 3 0 0 +++ /trunk/arch/x86_64/config.in | 3 3 0 0 +++ 7 files changed, 49 insertions(+)
2008-06-27Autogenerate the architecture selection choice menu.Yann E. MORIN"1-78/+16
Update architectures definition files accordingly. Update documentation accordingly. Use makefile syntax when listing arch/, tools/ and debug/ config files. /trunk/kconfig/kconfig.mk | 32 29 3 0 +++++++++++++++-- /trunk/docs/overview.txt | 75 67 8 0 +++++++++++++++++++++++++++++++++++---- /trunk/config/target.in | 94 16 78 0 ++++++++----------------------------------------- /trunk/arch/arm/config.in | 6 5 1 0 +++ /trunk/arch/powerpc/config.in | 2 2 0 0 + /trunk/arch/ia64/config.in | 4 4 0 0 ++ /trunk/arch/alpha/config.in | 2 1 1 0 /trunk/arch/x86/config.in | 3 3 0 0 ++ /trunk/arch/mips/config.in | 5 5 0 0 +++ /trunk/arch/sh/config.in | 4 3 1 0 ++ /trunk/arch/x86_64/config.in | 3 3 0 0 ++ 11 files changed, 138 insertions(+), 92 deletions(-)
2008-06-14Preliminary Alpha support, courtesy Ioannis E. Venetis <venetis@capsl.udel.edu>.Yann E. MORIN"1-0/+9
/trunk/docs/CREDITS | 3 3 0 0 + /trunk/samples/alphaev56-unknown-linux-gnu/crosstool.config | 282 282 0 0 +++++++++++++++++++ /trunk/config/target.in | 9 9 0 0 + /trunk/arch/alpha/functions | 9 9 0 0 + /trunk/arch/alpha/config.in | 58 58 0 0 ++++ 5 files changed, 361 insertions(+)
2008-05-24Use the arch-specific target LDFLAGS into the final target LDFLAGS.Yann E. MORIN"1-1/+1
Fix a help entry in the CFLAGS_for_target config entry. /trunk/scripts/crosstool.sh | 4 3 1 0 +++- /trunk/config/target.in | 2 1 1 0 +- 2 files changed, 4 insertions(+), 2 deletions(-)
2008-05-18PowerPC support by Daniel Dittmann.Yann E. MORIN"1-0/+8
/trunk/docs/CREDITS | 3 3 0 0 +++ /trunk/config/target.in | 8 8 0 0 ++++++++ /trunk/arch/powerpc/functions | 9 9 0 0 +++++++++ /trunk/arch/powerpc/config.in | 1 1 0 0 + 4 files changed, 21 insertions(+)
2008-04-17Re-order the target sub-menu, so that architectures are alphabetically ordered.Yann E. MORIN"1-6/+6
${prefix}/config/target.in | 12 6 6 0 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
2008-02-14Robet P. J. DAY: typoes.Yann E. MORIN"1-1/+1
2008-01-16Merge the preliminary Super-H support from /branches/Super-H.Yann E. MORIN"1-0/+11
2007-09-14Add the framework to have architecture-specific configuration and functions.Yann E. MORIN"1-0/+17
API is not yet defined.
2007-09-11Merge from branches/ia64@476 : add ia64 preliminary support.Yann E. MORIN"1-0/+7
2007-09-06ARM defaults to LE, MIPS to BE. Reflect this in the target configuration ↵Yann E. MORIN"1-2/+2
options.
2007-08-30For those architectures that support both endianness, some default to big ↵Yann E. MORIN"1-0/+12
endian, others default to little endian. Make this possible in the target selection menu.
2007-07-30Remove any reference to libfloat. That has gone once and for all.Yann E. MORIN"1-26/+0
Rationale: Most of the time, soft-float problems are caused by this sucker of gcc: it has support for soft float for all of the targets I've tried so far, but does not activate this code until you dwelve into half a dozen of files to make it accept to build and link the support code... So, yes: gcc has soft-float support. And again, yes: gcc is a sucker.
2007-07-22Clean the help entry for CT_ARCH_CPU.Yann E. MORIN"1-1/+1
2007-05-29Threading model does not belong to the target sub-menu, but to the toolchain ↵Yann E. MORIN"1-29/+0
sub-menu.