summaryrefslogtreecommitdiffstats
path: root/arch/Config.in
Commit message (Collapse)AuthorAgeFilesLines
* sh64: deprecate support for this dead architectureWaldemar Brodkorb2015-04-251-0/+1
| | | | | | | | | | As discussed on the mailinglist, this should be deprecated before removal. [Thomas: don't add to Config.in.legacy.] Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: BINFMT_FLAT_SHARED is not really shared for buildroot purposesSonic Zhang2015-03-301-1/+6
| | | | | | | | | | | | | | | | | | | | Although BINFMT_FLAT_SHARED is indeed a shared library format, it does not support dynamic library loading with dlopen(). So for buildroot purposes, BR2_STATIC_LIBS shouldn't be selected. As it happens, the compiler options that are added for BINFMT_FLAT_SHARED also make the compiler ignore the -static option, so we can simply force BR2_STATIC_LIBS and things work out perfectly. Therefore, remove the select of BR2_BINFMT_SUPPORTS_SHARED from BINFMT_FLAT_SHARED, which in turn makes sure that BR2_STATIC_LIBS is selected. [Arnout: rewrite commit message, add explanatory comment] Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch/avr32: decommission for realYann E. MORIN2015-02-141-19/+0
| | | | | | | | Now that we have absolutely zero reference to the avr32 architecture, we can now really decommission the symbol. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: kill avr32Yann E. MORIN2015-02-141-1/+1
| | | | | | | | | | | | avr32 was slated for removal in 2015.02. Make it so! This patch only definitively hides the symbol. When all references to it are eradicated (to come in followup patches), we'll eventually kill the symbol altogether. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Turn the static lib option into a choice with more optionsThomas Petazzoni2014-12-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit turns the single static option into a choice, which offers various possibilities: 1. Build and use static libraries only; 2. Build both shared and static libraries, but use shared libraries; 3. Build and use shared libraries only. On most platforms, (2) is currently the default, and kept as the default in this commit. Of course, on certain platforms (Blackfin, m68k), only option (1) will be available. In addition to the introduction of the Config.in options, this commit also: * Removes the 'select BR2_STATIC_LIBS' from 'BR2_BINFMT_FLAT', since with the use of a choice, we are guaranteed that BR2_STATIC_LIBS will be selected when the binary format is BR2_BINFMT_FLAT, since BR2_STATIC_LIBS will be the only possible solution in the choice. * Changes package/Makefile.in to use the proper --{enable,disable}-{shared,static} options for autotools packages. [Thomas: remove useless empty newline right after 'choice'. Noticed by Yann E. Morin.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* arch: remove superfluous arch dependencies on BR2_BINFMT_FLAT_*Thomas Petazzoni2014-12-111-2/+0
| | | | | | | As noted by Yann E. Morin, those dependencies are unneeded, since FLAT can anyway only be used on m68k and Blackfin. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: introduce BR2_BINFMT_SUPPORTS_SHAREDThomas Petazzoni2014-12-111-0/+7
| | | | | | | | | In preparation for the refactoring of the static/shared library support, we add a BR2_BINFMT_SUPPORTS_SHARED hidden option that binary formats supporting shared libraries should select. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* arch: ensure BR2_BINFMT_ELF is really usedThomas Petazzoni2014-12-111-1/+1
| | | | | | | | | | | | | | | | | | | Currently, the binary format choice is only shown for the Blackfin and m68k architectures, since we assume that all other architectures are using the ELF binary format. However, due to this, the BR2_BINFMT_ELF symbol is in fact not set to 'y' for those architectures that use the ELF format. This will be causing problems for the refactoring of the static/shared library support, as we will need to know if the binary format supports shared libraries or not. Therefore, we simply make the choice visible on all architectures, even if it means that on many architectures no other choice than ELF will be available. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* arch: FDPIC is not supported on m68kThomas Petazzoni2014-12-111-2/+3
| | | | | | | | | The current binfmt selection in arch/Config.in allows to select FDPIC on m68k, which is incorrect. This commit fixes that, and makes sure FDPIC is the default on Blackfin, while FLAT is the default on m68k. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* Rename BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBSThomas Petazzoni2014-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed from "prefer static libraries when possible" to "use only static libraries". The former semantic didn't make much sense, since the user had absolutely no control/idea of which package would use static libraries, and which packages would not. Therefore, for quite some time, we have been starting to enforce that BR2_PREFER_STATIC_LIB should really build everything with static libraries. As a consequence, this patch renames BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS, and adjust the Config.in option accordingly. This also helps preparing the addition of other options to select shared, shared+static or just static. Note that we have verified that this commit can be reproduced by simply doing a global rename of BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* arch: remove the BR2_GCC_TARGET_TUNE optionThomas Petazzoni2014-11-071-3/+0
| | | | | | | The BR2_GCC_TARGET_TUNE option is now unused, so we can get rid of it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: remove no-longer default on atomics optionYann E. MORIN2014-08-181-1/+0
| | | | | | | | | | Now that all architectures explicitly select this option when it makes sense, there is no need to have a default value. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Anton Kolesov <Anton.Kolesov@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: drop the now-unused old BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICSYann E. MORIN2014-08-181-1/+0
| | | | | | | | | | It's now been replaced with BR2_ARCH_HAS_ATOMICS, annd all packages have been changed to use that instead. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Anton Kolesov <Anton.Kolesov@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: add an option to specify if the arch has atomic opsYann E. MORIN2014-08-181-0/+6
| | | | | | | | | | | | | | | | The fact that atomic operations are available is not really a specificity of the toolchain, but rather of the architecture. So, add a new option that architectures that have atomic operations can select. This in turn selects the current toolchain atomic option, until all packages have been converted, at which point the old toolchain option can be removed. Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Anton Kolesov <Anton.Kolesov@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: avr32 should only get removed for the 2015.02 releasePeter Korsgaard2014-07-101-1/+1
| | | | | | As discussed on the list. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: deprecate the AVR32 architectureThomas Petazzoni2014-07-101-0/+6
| | | | | | | | | | | | | | | | | | | The AVR32 architecture from Atmel is obsolete since a long time, not supported upstream in most of the toolchain components (requires a special version of gcc, an old version of uClibc, etc.). Until February, Simon Dawson was making an excellent job at maintaining AVR32 in Buildroot, and fixing all the issues caused by this architecture. However, Simon focus has changed, and despite his call for a new maintainer for AVR32 in Buildroot, nobody stepped up. The issue of maintaining AVR32 is becoming worse and worse, so this patch proposes to deprecate it for 2014.08, but keeping the support around, to remove it for sure in 2014.11. Cc: Simon Dawson <spdawson@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* powerpc: add powerpc64 and powerpc64le supportCody P Schafer2014-05-261-1/+12
| | | | | | | | | | This enables powerpc64 and powerpc64le. Currently, le needs at least glibc 2.19 and gcc 4.9.0. For gdb, 7.7.1 works (added in an earlier patch). [Peter: also disallow gcc 4.8 for ppc64le] Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Add support for powerpc64leJeff Bailey2014-05-251-1/+9
| | | | | | | | | | | This patch adds support for powerpc64le-linux-gnu. This includes needed patches to fakeroot and gmp. gmp patch is from upstream HG tree. fakeroot patch is from Ubuntu written by Adam Conrad. Signed-off-by: Jeff Bailey <jeffbailey@google.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch/Config.in: introduce BR2_KERNEL_64_USERLAND_32 symbolGustavo Zacarias2013-10-301-0/+3
| | | | | | | | | | | | | | | On some architectures one can be running a 64-bit kernel with a 32-bit userland. Such is the case for sparc64 (unsupported) for example and mips64 with n32 ABI. Some tools that interface directly with the kernel need to be built specially for this, so introduce this symbol to tweak their build in one central kludge to be future-proof. Example: bug #6602. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* targets: move target options to their own sub-menuYann E. MORIN2013-09-051-0/+4
| | | | | | | | | | | | Currently, all target options lie in the top-level menu. This looks a bit clumsy, since all other options are neatly folded into their own sematic sub-menus each. Move the target option into their own sub-menu too. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* nios2: Add new architectureEzequiel Garcia2013-09-021-0/+11
| | | | | | | | | | | | | | This commit adds very basic support to build for the Nios II architecture. Toolchain support is still missing and instead we need to use an external custom toolchain. Notice that this architecture had been previously removed in Buildroot 2010.05-rc1 release (as explained in the CHANGES file) and this commit adds it back. Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arch: use tabs instead of spaces in Config.in filesThomas Petazzoni2013-07-161-1/+1
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arch/arm: add support for Thumb2Thomas Petazzoni2013-07-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Until now, we were using the default ARM instruction set, as used by the toolchain: the 32 bits ARM instruction set for the internal backend, and for external toolchain, whatever default was chosen when the toolchain was generated. This commit adds support for the Thumb2 instruction set. To do so, it: * provides a menuconfig choice between ARM and Thumb2. The choice is only shown when Thumb2 is supported, i.e on ARMv7-A CPUs. * passes the --with-mode={arm,thumb} option when building gcc in the internal backend. This tells the compiler which type of instructions it should generate. * passes the m{arm,thumb} option in the external toolchain wrapper. ARM and Thumb2 code can freely be mixed together, so the fact that the C library has been built either ARM or Thumb2 and that the rest of the code is built Thumb2 or ARM is not a problem. [Peter: fix empty BR2_GCC_TARGET_MODE check] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arch: Refactor BR2_SOFT_FLOAT into per-architecture optionsThomas Petazzoni2013-07-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | As we are going to introduced a more advanced support of floating point options for the ARM architecture, we need to adjust how the soft-float option is handled. We replace the current hidden option BR2_PREFER_SOFT_FLOAT option and the visible BR2_SOFT_FLOAT option by: * A global hidden BR2_SOFT_FLOAT option, defined in arch/Config.in, that tells whether the architecture-specific code is using software emulated floating point. This hidden option can be used throughout Buildroot to determine whether soft float is used or not. * Per-architecture visible BR2_<arch>_SOFT_FLOAT options, for the architecture for which it makes sense, which allows users to select soft float emulation when needed. This change will allow each architecture to have a different way of presenting its floating point capabilities. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arch: introduce BR2_GCC_TARGET_{FPU, FLOAT_ABI}Thomas Petazzoni2013-07-161-0/+12
| | | | | | | | | | | | | | | | Buildroot already has the BR2_GCC_TARGET_{TUNE,ARCH,ABI,CPU} hidden kconfig strings that allow per-architecture Config.in files to feed the appropriate values of --with-{tune,arch,abi-cpu} when building gcc, or the appropriate flags for the external toolchain wrapper. This commit has two additional options: BR2_GCC_TARGET_{FPU,FLOAT_ABI}, that allows to define the --with-{fpu,float} gcc configure options for the internal backend, or the -m{fpu,float-abi} options for the flags of the external toolchain wrapper. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arch: toolchain: Introduce binary format FLAT types.Sonic Zhang2013-05-051-0/+26
| | | | | | | | | Just introduce the symbol and options in arch generic Config.in. Add FLAT types specific compiling flags into package makefile. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arch: toolchain: Introduce target CPU revision.Sonic Zhang2013-05-051-0/+3
| | | | | | | | | Adds the possibility to have a free-form CPU revision string and append it to the target CPU. Only Blackfin actually uses this option. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arch: toolchain: Introduce binary formats BINFMT_*.Sonic Zhang2013-05-051-0/+34
| | | | | | | | | Just introduce the symbol and options in arch generic Config.in. Append FLAT format link flags to external toolchain wrapper. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arc: Add ARC and ARC BE architectureMischa Jonker2013-05-041-0/+18
| | | | | | | | Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs that can be used from deeply embedded to high performance host applications. Signed-off-by: Mischa Jonker <mjonker@synopsys.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Mark AArch64 as a 64 bits architectureThomas Petazzoni2013-03-181-0/+1
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* xtensa: add support for the Xtensa architectureChris Zankel2012-11-151-0/+11
| | | | | | | | | | | | | The Xtensa architecture had been removed because it required special handling and depended on additional directories and files that became obsolete over time. This change is more aligned to other architectures. [Thomas: rebased on top of the "arch: improve definition of gcc mtune, mcpu, etc." patch]. Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arch: improve definition of gcc mtune, mcpu, etc.Thomas Petazzoni2012-11-151-4/+55
| | | | | | | | | | | | | | | | | | As suggested by Yann E. Morin, there is a better way than our current big Config.in.common to define the gcc mtune, mcpu, march, etc. values. We can split the setting of those values in each architecture file, which makes a lot more sense. Therefore, the Config.in file now creates empty kconfig variables BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH, BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those variables are set by the individual Config.in.<arch> files. This is possible because such files are now only conditionally included depending on the top-level architecture that has been selected. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Split target/Config.in.arch into multiple Config.in.* in arch/Thomas Petazzoni2012-11-041-0/+161
target/Config.in.arch had become too long, and we want to remove the target/ directory. So let's move it to arch/ and split it this way: * An initial Config.in that lists the top-level architecture, and sources the arch-specific Config.in.<arch> files, as well as Config.in.common (see below) * One Config.in.<arch> per architecture, listing the CPU families, ABI choices, etc. * One Config.in.common that defines the gcc mtune, march, mcpu values and other hidden options. [Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
OpenPOWER on IntegriCloud