aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2013-07-16 10:03:13 +0200
committerGravatar Peter Korsgaard <jacmet@sunsite.dk>2013-07-16 14:35:07 +0200
commit9b3e72b4fd51b63227adad5dbcae8f68333903df (patch)
tree4f70f781064e84369e454d93b374783e805dd7a1 /arch
parentd774551787fc737823fe645bb3efd758619690a2 (diff)
downloadbuildroot-9b3e72b4fd51b63227adad5dbcae8f68333903df.tar.gz
buildroot-9b3e72b4fd51b63227adad5dbcae8f68333903df.tar.bz2
arch: Refactor BR2_SOFT_FLOAT into per-architecture options
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/Config.in3
-rw-r--r--arch/Config.in.arm10
-rw-r--r--arch/Config.in.mips10
-rw-r--r--arch/Config.in.powerpc9
4 files changed, 32 insertions, 0 deletions
diff --git a/arch/Config.in b/arch/Config.in
index 5bb96c5275..c2dc9e809c 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -1,6 +1,9 @@
config BR2_ARCH_IS_64
bool
+config BR2_SOFT_FLOAT
+ bool
+
choice
prompt "Target Architecture"
default BR2_i386
diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index 027dac2d9d..29b2b45a79 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -79,6 +79,16 @@ endchoice
config BR2_ARM_EABI
def_bool y
+config BR2_ARM_SOFT_FLOAT
+ bool "Use soft-float"
+ default y
+ select BR2_SOFT_FLOAT
+ help
+ If your target CPU does not have a Floating Point Unit (FPU)
+ or a kernel FPU emulator, but you still wish to support
+ floating point functions, then everything will need to be
+ compiled with soft floating point support (-msoft-float).
+
config BR2_ARM_ENABLE_NEON
bool "Enable NEON SIMD extension support"
depends on BR2_ARM_CPU_MAYBE_HAS_NEON
diff --git a/arch/Config.in.mips b/arch/Config.in.mips
index 1454fb4419..6242bcc747 100644
--- a/arch/Config.in.mips
+++ b/arch/Config.in.mips
@@ -52,6 +52,16 @@ config BR2_MIPS_NABI64
depends on BR2_ARCH_IS_64
endchoice
+config BR2_MIPS_SOFT_FLOAT
+ bool "Use soft-float"
+ default y
+ select BR2_SOFT_FLOAT
+ help
+ If your target CPU does not have a Floating Point Unit (FPU)
+ or a kernel FPU emulator, but you still wish to support
+ floating point functions, then everything will need to be
+ compiled with soft floating point support (-msoft-float).
+
config BR2_ARCH
default "mips" if BR2_mips
default "mipsel" if BR2_mipsel
diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc
index 8643efcd72..ae70a8aa80 100644
--- a/arch/Config.in.powerpc
+++ b/arch/Config.in.powerpc
@@ -88,6 +88,15 @@ config BR2_powerpc_SPE
depends on BR2_powerpc_8540 || BR2_powerpc_8548
endchoice
+config BR2_POWERPC_SOFT_FLOAT
+ bool "Use soft-float"
+ select BR2_SOFT_FLOAT
+ help
+ If your target CPU does not have a Floating Point Unit (FPU)
+ or a kernel FPU emulator, but you still wish to support
+ floating point functions, then everything will need to be
+ compiled with soft floating point support (-msoft-float).
+
config BR2_ARCH
default "powerpc" if BR2_powerpc