package/libatomic_ops: fix compilation fail on sparc
authorBrendan Heading <brendanheading@gmail.com>
Sun, 2 Aug 2015 21:43:50 +0000 (22:43 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 3 Aug 2015 09:20:42 +0000 (11:20 +0200)
Fixes http://autobuild.buildroot.net/results/6d8/6d83fa5d69572cec5c96be4b7651f9b113a1a19c/

libatomic_ops by default requires SPARC v9. buildroot's two supported
sparc arches (SPARCv8, and leon3) are both SPARCv8-based. Unfortunately
libatomic_ops's support for SPARCv8 is incomplete.

The library includes fallbacks but these must expressly be enabled by
defining a macro, enabled by this patch. Note that I'm testing for the
SPARC variants rather than BR2_sparc, in case someone implements SPARCv9
support in the future.

Discussion of this workaround described by the maintainer here :
https://github.com/ivmai/libatomic_ops/issues/9

Signed-off-by: Brendan Heading <brendanheading@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/libatomic_ops/libatomic_ops.mk

index 5f698c4f58ba85d329d63143dbb90a23d0894777..fd457267502b24e2673552fa211ebef42100b583 100644 (file)
@@ -19,5 +19,9 @@ LIBATOMIC_OPS_LICENSE_FILES = doc/LICENSING.txt COPYING
 
 LIBATOMIC_OPS_INSTALL_STAGING = YES
 
+ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y)
+LIBATOMIC_OPS_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -DAO_NO_SPARC_V9"
+endif
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))