Commit 6da70de5 authored by Ulf Samuelsson's avatar Ulf Samuelsson
Browse files

The liboil Makefile will use "-mcpu=vfp" when building for ARM.

The VFP is only available for a few ARM CPUs at the moment,
so this breaks the liboil build.

A patch is available upstream which only enables "-mfpu=vfp"
if "--enable-vfp" is given to "configure".
Autotools needs to be run for liboil for this to take effect.

A new configuration BR2_VFP_FLOAT is added to allow enabling vfp.
If this is "yes", then "-mfpu=vfp" is added to CFLAGS.

parent c86f23b7
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -71,6 +71,10 @@ ifeq ($(BR2_SOFT_FLOAT),y)
TARGET_CFLAGS+=-msoft-float
endif

ifeq ($(BR2_VFP_FLOAT),y)
TARGET_CFLAGS+=-mfpu=vfp
endif

# enable VIS for v9a and v9b
ifeq ($(findstring y,$(BR2_sparc_v9a)$(BR2_sparc64_v9a)$(BR2_sparc_v9b)$(BR2_sparc64_v9b)),y)
TARGET_CFLAGS+=-mvis
+16 −0
Original line number Diff line number Diff line
diff --git a/configure.ac b/configure.ac
index 06a0ac9..b8d1640 100644
--- a/configure.ac
+++ b/configure.ac
@@ -158,7 +158,10 @@ if test x$HAVE_GCC_ASM = xyes -a x$HAVE_POWERPC = xyes ; then
     true)
 fi
 
-if test x$HAVE_GCC_ASM = xyes -a x$HAVE_ARM = xyes ; then
+AC_ARG_ENABLE(vfp,
+  AC_HELP_STRING([--enable-vfp],[compile with Vector Floating-point unit support]),
+  enable_vfp=$enableval,enable_vfp=yes)
+if test "x$enable-vfp" = xyes -a x$HAVE_GCC_ASM = xyes -a x$HAVE_ARM = xyes; then
   AS_COMPILER_FLAG(["-Wa,-mfpu=vfp"],
     [LIBOIL_CFLAGS="$LIBOIL_CFLAGS -mfpu=vfp"],
     true)
+6 −2
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
LIBOIL_VERSION = 0.3.15
LIBOIL_SOURCE = liboil-$(LIBOIL_VERSION).tar.gz
LIBOIL_SITE = http://liboil.freedesktop.org/download
LIBOIL_AUTORECONF = NO
LIBOIL_AUTORECONF = YES
LIBOIL_INSTALL_STAGING = YES
LIBOIL_INSTALL_TARGET = YES

@@ -30,6 +30,10 @@ ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
LIBOIL_GLIB_DEP = libglib2
endif

ifeq ($(BR2_VFP_FLOAT),y)
LIBOIL_CONF_OPT+=--enable-vfp
endif

LIBOIL_DEPENDENCIES = uclibc $(LIBOIL_GLIB_DEP)

$(eval $(call AUTOTARGETS,package,liboil))
+11 −2
Original line number Diff line number Diff line
@@ -42,8 +42,17 @@ config BR2_SOFT_FLOAT

	  Most people will answer N.

#config BR2_SOFT_FLOAT_FP
#	bool "Use softfp"
config BR2_VFP_FLOAT
	bool "Use ARM Vector Floating Point unit"
	depends on !BR2_SOFT_FLOAT
	depends on BR2_arm || BR2_armeb
	help
	  Setting this option will enable the "-mfpu=vfp" option.
	  If your ARM CPU has a Vector Floating Point Unit (VFP)
	  and the toolchain supports the option, then the 
	  code can be optimized.
	  
	  Most people will answer N.

config BR2_TARGET_OPTIMIZATION
	string "Target Optimizations"