summaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/gcc/Makefile.in')
-rw-r--r--toolchain/gcc/Makefile.in14
1 files changed, 13 insertions, 1 deletions
diff --git a/toolchain/gcc/Makefile.in b/toolchain/gcc/Makefile.in
index 41e23cf59..1b6e24133 100644
--- a/toolchain/gcc/Makefile.in
+++ b/toolchain/gcc/Makefile.in
@@ -30,18 +30,30 @@ SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft
else
SOFT_FLOAT_CONFIG_OPTION:=--without-float
endif
+
# again... there must be a better way
ifeq ($(findstring 4.,$(GCC_VERSION)),4.)
SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft
+ifeq ($(BR2_SOFT_FLOAT_FP),y)
+TARGET_SOFT_FLOAT:=-mfloat-abi=softfp
+else # no fp at all
+TARGET_SOFT_FLOAT:=-mfloat-abi=soft
endif
+else # not gcc-4.x
TARGET_SOFT_FLOAT:=-msoft-float
+endif
ARCH_FPU_SUFFIX:=_nofpu
-else
+else # no softfloat support
SOFT_FLOAT_CONFIG_OPTION:=
TARGET_SOFT_FLOAT:=
ARCH_FPU_SUFFIX:=
endif
+TARGET_GCC_FLAGS= CFLAGS_FOR_TARGET="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \
+ CXXFLAGS_FOR_TARGET="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \
+ CFLAGS="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)" \
+ BOOT_CFLAGS="$(TARGET_CFLAGS) $(TARGET_SOFT_FLOAT)"
+
ifeq ($(strip $(BR2_PACKAGE_GCC_TARGET)),y)
TARGETS+=gcc_target
endif