diff mbox

[v2] ne10: bump version to 1.0.0

Message ID 76642160278009c2ccd78c0d6ab5e557fd47e247.1397378036.git.baruch@tkos.co.il
State Superseded
Headers show

Commit Message

Baruch Siach April 13, 2014, 8:33 a.m. UTC
Switch to github helper while at it.

Fixes:
http://autobuild.buildroot.net/results/a2c/a2ca3fe245e410a738f4b10631a1414696a0edea/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
 package/ne10/Config.in |  9 ++++++++-
 package/ne10/ne10.mk   | 10 +++++-----
 2 files changed, 13 insertions(+), 6 deletions(-)

Comments

Baruch Siach April 13, 2014, 8:38 a.m. UTC | #1
Hi Buildroot list,

On Sun, Apr 13, 2014 at 11:33:56AM +0300, Baruch Siach wrote:
> Switch to github helper while at it.
> 
> Fixes:
> http://autobuild.buildroot.net/results/a2c/a2ca3fe245e410a738f4b10631a1414696a0edea/
> 
> Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> ---

I forgot the change log:

v2:
	* Drop the patch; the toolchain wrapper handles -mfloat-abi and -mfpu
	* Depend on neon and thumb to match upstream choice

baruch

>  package/ne10/Config.in |  9 ++++++++-
>  oackage/ne10/ne10.mk   | 10 +++++-----
>  2 files changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/package/ne10/Config.in b/package/ne10/Config.in
> index d0c4983ed588..fa21cc4f084c 100644
> --- a/package/ne10/Config.in
> +++ b/package/ne10/Config.in
> @@ -1,6 +1,8 @@
>  config BR2_PACKAGE_NE10
>  	bool "ne10"
> -	depends on BR2_arm && BR2_ARM_CPU_HAS_NEON
> +	depends on BR2_arm
> +	depends on BR2_ARM_FPU_NEON || BR2_ARM_FPU_NEON_VFPV4
> +	depends on BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2
>  	help
>  	  The Ne10 project has been set up to provide a set of common,
>  	  useful functions which have been heavily optimized for the
> @@ -10,3 +12,8 @@ config BR2_PACKAGE_NE10
>  	  and NEON implementations.
>  
>  	  http://projectne10.github.io/Ne10/
> +
> +comment "ne10 needs a toolchain w/ neon and thumb"
> +	depends on BR2_arm
> +	depends on !(BR2_ARM_FPU_NEON || BR2_ARM_FPU_NEON_VFPV4)
> +	depends on !(BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2)
> diff --git a/package/ne10/ne10.mk b/package/ne10/ne10.mk
> index 79b53b809d16..24411482e0a5 100644
> --- a/package/ne10/ne10.mk
> +++ b/package/ne10/ne10.mk
> @@ -4,15 +4,15 @@
>  #
>  ################################################################################
>  
> -# We use a Git commit ID because the last tagged version is more than
> -# one year old.
> -NE10_VERSION = 88c18f02199947b2c8b57796f5a3ca53160aff96
> -NE10_SITE = http://github.com/projectNe10/Ne10/tarball/$(NE10_VERSION)
> +NE10_VERSION = v1.0.0
> +NE10_SITE = $(call github,projectNe10,Ne10,$(NE10_VERSION))
>  NE10_LICENSE = BSD-3c or Apache-2.0
>  NE10_LICENSE_FILES = doc/LICENSE
>  
> +NE10_CONF_OPT = -DGNULINUX_PLATFORM=ON
> +
>  ifeq ($(BR2_PREFER_STATIC_LIB),)
> -NE10_CONF_OPT = \
> +NE10_CONF_OPT += \
>  	-DNE10_BUILD_SHARED=ON
>  endif
>  
> -- 
> 1.9.1
>
Thomas Petazzoni April 13, 2014, 8:54 a.m. UTC | #2
Dear Baruch Siach,

On Sun, 13 Apr 2014 11:33:56 +0300, Baruch Siach wrote:

> diff --git a/package/ne10/Config.in b/package/ne10/Config.in
> index d0c4983ed588..fa21cc4f084c 100644
> --- a/package/ne10/Config.in
> +++ b/package/ne10/Config.in
> @@ -1,6 +1,8 @@
>  config BR2_PACKAGE_NE10
>  	bool "ne10"
> -	depends on BR2_arm && BR2_ARM_CPU_HAS_NEON
> +	depends on BR2_arm
> +	depends on BR2_ARM_FPU_NEON || BR2_ARM_FPU_NEON_VFPV4

Hum, why BR2_ARM_CPU_HAS_NEON isn't sufficient here? I believe you can
very well have a root filesystem that is generally built with
BR2_ARM_FPU_VFPV4 (i.e the default FPU used is VFPv4), but still build
some software packages to use Neon instructions, as long as
BR2_ARM_CPU_HAS_NEON is defined.

> +	depends on BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2

Same thing here: nothing prevents you from building your root
filesystem with full ARM instructions (i.e
BR2_ARM_INSTRUCTIONS_ARM_CHOICE), but still build some software
packages to use Thumb2 instructions, as long as BR2_ARM_CPU_HAS_THUMB2
is defined.

Thomas
Baruch Siach April 13, 2014, 9:55 a.m. UTC | #3
Hi Thomas,

On Sun, Apr 13, 2014 at 10:54:15AM +0200, Thomas Petazzoni wrote:
> On Sun, 13 Apr 2014 11:33:56 +0300, Baruch Siach wrote:
> > diff --git a/package/ne10/Config.in b/package/ne10/Config.in
> > index d0c4983ed588..fa21cc4f084c 100644
> > --- a/package/ne10/Config.in
> > +++ b/package/ne10/Config.in
> > @@ -1,6 +1,8 @@
> >  config BR2_PACKAGE_NE10
> >  	bool "ne10"
> > -	depends on BR2_arm && BR2_ARM_CPU_HAS_NEON
> > +	depends on BR2_arm
> > +	depends on BR2_ARM_FPU_NEON || BR2_ARM_FPU_NEON_VFPV4
> 
> Hum, why BR2_ARM_CPU_HAS_NEON isn't sufficient here? I believe you can
> very well have a root filesystem that is generally built with
> BR2_ARM_FPU_VFPV4 (i.e the default FPU used is VFPv4), but still build
> some software packages to use Neon instructions, as long as
> BR2_ARM_CPU_HAS_NEON is defined.

The ne10 code includes gcc arm_neon.h which requires -mfpu=neon, otherwise you 
get

#error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h

The -mfpu option is hardcoded in the toolchain wrapper. Is there another way 
to do this?

> > +	depends on BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2
> 
> Same thing here: nothing prevents you from building your root
> filesystem with full ARM instructions (i.e
> BR2_ARM_INSTRUCTIONS_ARM_CHOICE), but still build some software
> packages to use Thumb2 instructions, as long as BR2_ARM_CPU_HAS_THUMB2
> is defined.

In this case -mthumb is hardcoded in CMakeLists.txt. Having -marm in the 
toolchain wrapper confuses the linker as reported by Peter at 
http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/81489 .

baruch
diff mbox

Patch

diff --git a/package/ne10/Config.in b/package/ne10/Config.in
index d0c4983ed588..fa21cc4f084c 100644
--- a/package/ne10/Config.in
+++ b/package/ne10/Config.in
@@ -1,6 +1,8 @@ 
 config BR2_PACKAGE_NE10
 	bool "ne10"
-	depends on BR2_arm && BR2_ARM_CPU_HAS_NEON
+	depends on BR2_arm
+	depends on BR2_ARM_FPU_NEON || BR2_ARM_FPU_NEON_VFPV4
+	depends on BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2
 	help
 	  The Ne10 project has been set up to provide a set of common,
 	  useful functions which have been heavily optimized for the
@@ -10,3 +12,8 @@  config BR2_PACKAGE_NE10
 	  and NEON implementations.
 
 	  http://projectne10.github.io/Ne10/
+
+comment "ne10 needs a toolchain w/ neon and thumb"
+	depends on BR2_arm
+	depends on !(BR2_ARM_FPU_NEON || BR2_ARM_FPU_NEON_VFPV4)
+	depends on !(BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2)
diff --git a/package/ne10/ne10.mk b/package/ne10/ne10.mk
index 79b53b809d16..24411482e0a5 100644
--- a/package/ne10/ne10.mk
+++ b/package/ne10/ne10.mk
@@ -4,15 +4,15 @@ 
 #
 ################################################################################
 
-# We use a Git commit ID because the last tagged version is more than
-# one year old.
-NE10_VERSION = 88c18f02199947b2c8b57796f5a3ca53160aff96
-NE10_SITE = http://github.com/projectNe10/Ne10/tarball/$(NE10_VERSION)
+NE10_VERSION = v1.0.0
+NE10_SITE = $(call github,projectNe10,Ne10,$(NE10_VERSION))
 NE10_LICENSE = BSD-3c or Apache-2.0
 NE10_LICENSE_FILES = doc/LICENSE
 
+NE10_CONF_OPT = -DGNULINUX_PLATFORM=ON
+
 ifeq ($(BR2_PREFER_STATIC_LIB),)
-NE10_CONF_OPT = \
+NE10_CONF_OPT += \
 	-DNE10_BUILD_SHARED=ON
 endif