Message ID | 76642160278009c2ccd78c0d6ab5e557fd47e247.1397378036.git.baruch@tkos.co.il |
---|---|
State | Superseded |
Headers | show |
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 >
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
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 --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
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(-)