aboutsummaryrefslogtreecommitdiff
path: root/arch/Config.in
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: add support for the internal IBM s390x and Z toolchainGravatar Alexander Egorenkov2020-09-241-1/+0
| | | | | Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
* arch: add the basic IBM s390x and Z arch supportGravatar Alexander Egorenkov2020-09-241-0/+14
| | | | | | Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com> [yann.morin.1998@free.fr: drop supperfluous depends on s390x in choice] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
* arch/Config.in: add BR2_ARCH_NEEDS_GCC_AT_LEAST_10Gravatar Romain Naour2020-06-241-0/+4
| | | | | | | This new symbol will be used by architectures introduced with gcc 10. Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch/csky: restrict ck610 to the C-SKY gcc portGravatar Yann E. MORIN2019-08-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | As Guo explained, upstream gcc does not support abi-v1 (only abi-v2), but ck610 needs abi-v1 [0] [1] To simplify things, we make the whole C-SKY architecture require gcc-9 or later, and add a single exception in gcc to force the ck610 to use the C-SKY port. Note that this does not change the default gcc version to be used for C-SKY: the C-SKY port is still always the default one; the gcc-9 version is only proposed as an alternative (except for ck610, of course). [0] http://lists.busybox.net/pipermail/buildroot/2019-July/254386.html [1] package/Makefile.in#73 Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Guo Ren <guoren@kernel.org> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Romain Naour <romain.naour@gmail.com> Acked-by: Guo Ren <guoren@kernel.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: add BR2_ARCH_NEEDS_GCC_AT_LEAST_9Gravatar Romain Naour2019-06-221-0/+4
| | | | | | | | | | | This new symbol will be used by architectures introduced with gcc 9 and by external toolchains based on gcc 9. [1] https://gcc.gnu.org/gcc-9/changes.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch/csky: enable internal toolchain supportGravatar Guo Ren2019-05-311-1/+0
| | | | | | | | Now that we have support for C-SKY in gcc, binutils and glibc, we can use Buildroot to build a C-SKY toolchain. Signed-off-by: Guo Ren <ren_guo@c-sky.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch: add support for Andes 32-bit (nds32)Gravatar Nylon Chen2019-04-171-0/+12
| | | | | | | | | | This commit provides basic support for the Andes 32-bit (nds32) architecture. Signed-off-by: Che-Wei Chuang <cnoize@andestech.com> Signed-off-by: Greentime Hu <greentime@andestech.com> Signed-off-by: Nylon Chen <nylon7@andestech.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch: drop BR2_GCC_TARGET_CPU_REVISION optionGravatar Thomas Petazzoni2018-10-011-3/+0
| | | | | | | | | | | In commit 325bb37942f8d3826dab9dc6e88b25234e67a2cf, support for the Blackfin architecture was removed. This was our only use of BR2_GCC_TARGET_CPU_REVISION, and since this config option somewhat complicates the calculation of the --with-cpu/-mcpu option values, let's drop it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: add support for RISC-V 64-bit (riscv64) architectureGravatar Mark Corbin2018-09-231-0/+15
| | | | | | | | | | | | | | This enables a riscv64 system to be built with a Buildroot generated toolchain (gcc >= 7.x, binutils >= 2.30, glibc only). This configuration has been used to successfully build a qemu-bootable riscv-linux-4.15 kernel (https://github.com/riscv/riscv-linux.git). Signed-off-by: Mark Corbin <mark.corbin@embecosm.com> [Thomas: - simplify arch.mk.riscv by directly setting GCC_TARGET_ARCH - simplify glibc.mk changes by using GLIBC_CONF_ENV.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch: drop now useless support for FDPICGravatar Yann E. MORIN2018-07-011-14/+0
| | | | | | | | | | | | Now that we dropped support for blackfin, we no longer have any architecture that supports FDPIC, so BR2_ARCH_HAS_FDPIC_SUPPORT is never selected, so we can't select BR2_BINFMT_FDPIC. Drop all of that now. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch: add BR2_ARCH_NEEDS_GCC_AT_LEAST_8Gravatar Romain Naour2018-05-301-0/+4
| | | | | | | | | | | This new symbol will be used by architectures introduced with gcc 8 and by external toolchains based on gcc 8. [1] https://gcc.gnu.org/gcc-8/changes.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch: drop BR2_BINFMT_FLAT_SEP_DATA supportGravatar Thomas Petazzoni2018-04-151-12/+0
| | | | | | This was only used by Blackfin, so there's no good reason to keep it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch: remove Blackfin architectureGravatar Thomas Petazzoni2018-04-151-16/+2
| | | | | | | | | | | | | | | | | The Blackfin architecture has for a long time been complicated to maintain, with poor support in upstream binutils/gcc. As of April 2018, the Blackfin architecture has been dropped from the upstream Linux kernel. Also, the Analog Device engineer who used to be in touch with the Buildroot community also privately said we should drop the support for this architecture, which Analog Devices is no longer using, promoting and maintaining. The BR2_BINFMT_FLAT_SEP_DATA option becomes unselectable, it will be removed in a future commit. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch/Config.in*: re-wrap help textGravatar Ricardo Martincoski2018-04-011-44/+53
| | | | | | | ... to follow the convention <tab><2 spaces><62 chars>. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch/Config.in*: fix attributes orderGravatar Ricardo Martincoski2018-04-011-1/+1
| | | | | | | ... to follow the convention: type, default, depends on, select, help. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* arch/bfin: needs gcc >= 6Gravatar Yann E. MORIN2017-11-241-0/+1
| | | | | | 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>
* arch: introduce minimal required gcc versionGravatar Yann E. MORIN2017-11-241-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some CPU variants require that a recent-enough gcc be selected. For example, ARM's cortex-a35 requires gcc-5, while cortex-a73 requires gcc-7. Same goes for other architectures, of course. Currently, we hard-code every such conditions in the gcc version choice, as well as in the individual external toolchains. However, as we add even more CPU variants, the conditions are getting more and more complex to write and maintain. Introduce new symbols, that architectures can select if they have a specific requirement on the gcc version. gcc and external toolchains can then properly depend on those symbols. The burden of maintaining the requirements on the gcc version now falls down to the architeture, instead of being split up in gcc and all the external toolchains. As the oldest gcc version to handle, we can either choose gcc-4.9, as the oldest version we support in our internal toolchain, or choose gcc-4.8, as the oldest external toolchain we support (except for the custom ones, but they'll be handled specifically in upcoming changes). We choose to go back up to gcc-4.8. 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>
* arch/csky: internal backend not suitableGravatar Yann E. MORIN2017-10-021-0/+1
| | | | | | | | | | | | | Upstream gcc does not have support for C-Sky, and we do not have a vendor tree for it either (yet?). Use the newly-introduced symbol to state so, rather than have the exclusion in the toolchain choice. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: add option to disable internal toolchain backendGravatar Yann E. MORIN2017-10-021-0/+10
| | | | | | | | | | | | | | | | | | | | Some architectures or specific cores do not have support in upstream gcc. Currently, they are individually listed as exclusions in the toolchain choice. This poses a maintainance burden, as the knowledge about what gcc version supports what architecture is split across many places: the toolchain choice, the gcc version choice, the external toolchains. As a first step, add a blind option that architectures or individual cores may select to indicate they lack support in our internal backend. Actual use of the option will come in followup patches. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch/mips: add support for MIPS32 FP modeGravatar Vicente Olivert Riera2017-07-161-0/+3
| | | | | | | | | | | | | | | | | | | | MIPS32 support different FP modes (32,xx,64), so give the user the opportunity to choose between them. That will cause host-gcc to be built using the --with-fp-32=[32|xx|64] configure option. Also the -mfp[32|xx|64] gcc option will be added to TARGET_CFLAGS and to the toolchain wrapper. FP mode option shouldn't be used for soft-float, so we add logic in the toolchain wrapper if -msoft-float is among the arguments in order to not append the -fp[[32|xx|64] option, otherwise the compilation may fail. Information about FP modes here: - https://sourceware.org/binutils/docs/as/MIPS-Options.html - https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch/mips: add support for MIPS NaNGravatar Vicente Olivert Riera2017-07-161-0/+3
| | | | | | | | | | | | | | | | | MIPS supports two different NaN encodings, legacy and 2008. Information about MIPS NaN encodings can be found here: https://sourceware.org/binutils/docs/as/MIPS-NaN-Encodings.html NaN legacy is the only option available for R2 cores and older. NaN 2008 is the only option available for R6 cores. R5 cores can have either NaN legacy or NaN 2008, depending on the implementation. So, if the user selects a generic R5 target architecture variant, we show a choice menu with both options available. For well known R5 cores we directly select the NaN enconding they use. Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: add BR2_READELF_ARCH_NAME hidden config optionGravatar Thomas Petazzoni2017-03-201-0/+6
| | | | | | | | | This config option corresponds to the string returned by readelf for the "Machine" field of the ELF header. It will be used to check if the architecture of binaries built by Buildroot match the target architecture. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: add support for the csky architectureGravatar Guo Ren2017-03-041-0/+12
| | | | | | | | This commit provides basic support for the C-SKY architecture. Signed-off-by: Guo Ren <ren_guo@c-sky.com> [Thomas: minor tweaks.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: add OpenRISC architecture supportGravatar Waldemar Brodkorb2017-01-251-0/+11
| | | | | | | | | | | | | | | | | | | Add support for OpenRISC. See here for more details about OpenRISC http://openrisc.io. All buildroot included upstream binutils versions are supported. Gcc support is not upstream, to be able to enable musl C library support later, we use the branch with musl support. At the moment it is possible to build a musl based toolchain, but bootup in Qemu fails. Gdb is only working to debug bare-metal code, there is no support for gdbserver/gdb on Linux, yet. [Peter: drop ?= for GCC_SOURCE] Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Tested-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: merge Config.in.aarch64 into Config.in.armGravatar Thomas Petazzoni2016-12-051-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 64 bits ARM processors are capable of running 32 bits ARM code, and some platforms are indeed using this capability. Due to this, if we were to keep the separation between Config.in.aarch64 and Config.in.arm, we would have to duplicate the definition of all 64-bits capable ARM cores into both files. Instead of going down this route, let's take the same route as the x86 one: a single Config.in.x86 file, used for both x86 32 bits and x86 64 bits, with the appropriate logic to only show the relevant cores depending on which architecture is selected. In order to do this, we: - Make the "ARM instruction set" choice only visible on ARM 32 bits, since we currently don't support ARM vs. Thumb on AArch64. - Add the relevant values for the BR2_ARCH option. - Add the relevant values for the BR2_ENDIAN option. - Make the "aapcs-linux" BR2_GCC_TARGET_ABI value only used on ARM 32 bits, since this ABI doesn't mean anything on AArch64. - Make the BR2_GCC_TARGET_FPU option depends on ARM 32 bits, since there is no -mfpu option on AArch64. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: remove support for sh64Gravatar Gustavo Zacarias2016-09-081-11/+1
| | | | | | | It's been deprecated for quite some time now. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* m68k: disable BR2_BINFMT_FLAT_SEP_DATA for coldfireGravatar Waldemar Brodkorb2016-08-231-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | BR2_BINFMT_FLAT_SEP_DATA can be used to create XIP userland and works fine for m68k. Unfortunately a lot of basic packages as pcre are not compileable because of a CPU or hardware limitation. The reason for failing are very big functions used in the libraries or application code. Typical errors are: Fatal error: Tried to convert PC relative branch to absolute jump or error: value -yyyyy out of range Add kernel patch from 4ec5542679264bc06a0356ef92f06ad7a0abe06d to make BR2_BINFMT_FLAT_ONE compiled firmware work fine. Fixes: http://autobuild.buildroot.net/results/20b/20b1586757450d6aad8583ad7a787a7ca11acef1/ http://autobuild.buildroot.net/results/d31/d311955ada1ffcd7f69e82965c8fe33eabe488cd/ Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> [Thomas: add comment in Config.in file about sep-data existing on m68k, but being disabled due to build issues with numerous packages.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* m68k: flat one memory region works with small kernel patchGravatar Waldemar Brodkorb2016-08-231-1/+0
| | | | | | | | | | | Greg Ungerer fixed recently a bug in the Linux kernel, which allows to use one memory region again. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> [Thomas: cherry-picked from next to master, in order to be able to use BR2_BINFMT_FLAT_ONE by default on m68k, since BR2_BINFMT_FLAT_SEP_DATA causes too much problems.] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* arch: define dependencies for the binfmt flat formatsGravatar Waldemar Brodkorb2016-07-051-0/+3
| | | | | | | | | | | | | | | | | | | The situation looks like following for elf2flt and binfmt FLAT: * Only gcc for bfin/m68k implements -msep-data (BR2_BINFMT_FLAT_SEP_DATA) and -mid-shared-library (BR2_BINFMT_FLAT_SHARED), so the corresponding options are made only visible on those architectures. * When the default of BR2_BINFMT_FLAT_ONE is used on m68k, broken binaries are produced, which mainly end up in SIGILL, so do not use it for m68k. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> [Thomas: - also add the dependencies on m68k/bfin to BR2_BINFMT_FLAT_SHARED - rework commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: add coldfire supportGravatar Waldemar Brodkorb2016-04-301-1/+1
| | | | | | | | Add support for m68k/coldfire. A gcc patch is required to avoid gcc ICE. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch/m68k: re-enable the architectureGravatar Waldemar Brodkorb2016-03-201-1/+0
| | | | | | | This allows to build a m68k toolchain with uClibc. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: remove BR2_ARCH_HAS_ATOMICS optionGravatar Thomas Petazzoni2016-02-061-4/+0
| | | | | | | | Now that BR2_ARCH_HAS_ATOMICS is no longer used anywhere, we can remove it from arch/Config.in*, as well as from the documentation. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* toolchain: add sparc64 architecture supportGravatar Waldemar Brodkorb2015-10-101-1/+11
| | | | | | | | | Introduce sparc64 architecture to buildroot. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: aarch64 always has a MMUGravatar Thomas Petazzoni2015-07-121-0/+1
| | | | | | | | Following the addition of AArch64 big endian, the AArch64 little endian option had lost its 'select BR2_ARCH_HAS_MMU_MANDATORY', so let's reintroduce it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* aarch64: add big endian(aarch64_be) supportGravatar Bamvor Jian Zhang2015-07-121-2/+10
| | | | | | | | | Add aarch64_be support. Note that CONFIG_CPU_BIG_ENDIAN should be defined in kernel config when building a big endian kernel. Signed-off-by: Zhang Jian(Bamvor) <bamvor.zhangjian@huawei.com> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: tidy up binary formats configGravatar Guido Martínez2015-06-091-6/+10
| | | | | | | | | | | | | | Instead of (black)listing architectures when deciding the binary format, we can enable the ELF format only when using an MMU and FLAT only when we're not. This mimics the logic in the Linux kernel for user binaries support. For FDPIC, we introduce a Kconfig option to enable its selection, and have blackfin select it. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* arch: tidy up mmu configGravatar Guido Martínez2015-06-091-0/+28
| | | | | | | | | | | | Instead of blacklisting which architectures support MMUs (mandatorily or optionally), introduce two Kconfig options that are selected by each architecture in each case. This simplifies the logic in BR2_USE_MMU. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* sh64: deprecate support for this dead architectureGravatar Waldemar 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 purposesGravatar Sonic 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 realGravatar Yann 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 avr32Gravatar Yann 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 optionsGravatar Thomas 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_*Gravatar 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_SHAREDGravatar Thomas 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 usedGravatar Thomas 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 m68kGravatar Thomas 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_LIBSGravatar Thomas 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 optionGravatar Thomas 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 optionGravatar Yann 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_INTRINSICSGravatar Yann 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>