update buildroot to 2017.02.11
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
From f020fe05a20dfcd16cd7df833dcf3cdeef770538 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Santos <casantos@datacom.ind.br>
|
||||
Date: Thu, 11 Feb 2016 10:58:35 -0200
|
||||
Subject: [PATCH 2/2] configure.ac: check if libatomic is needed
|
||||
|
||||
Compilation of protobuf for PowerPC and SPARC may fail due to missing
|
||||
references to __atomic_fetch_add_4 and __atomic_compare_exchange_4.
|
||||
|
||||
The __atomic_*() intrinsics for all sizes are provided by libatomic when
|
||||
gcc is >= 4.8. This can be achieved by adding this to configure.ac:
|
||||
|
||||
AC_SEARCH_LIBS([__atomic_fetch_add_4], [atomic])
|
||||
|
||||
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
|
||||
---
|
||||
configure.ac | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c07067c..88d4a0d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -160,6 +160,8 @@ AM_CONDITIONAL([HAVE_PTHREAD], [test "x$acx_pthread_ok" = "xyes"])
|
||||
# We still keep this for improving pbconfig.h for unsupported platforms.
|
||||
AC_CXX_STL_HASH
|
||||
|
||||
+AC_SEARCH_LIBS([__atomic_load_4], [atomic])
|
||||
+
|
||||
case "$target_os" in
|
||||
mingw* | cygwin* | win*)
|
||||
;;
|
||||
--
|
||||
2.5.0
|
||||
|
||||
47
bsp/buildroot-2017.02.11/package/protobuf/Config.in
Normal file
47
bsp/buildroot-2017.02.11/package/protobuf/Config.in
Normal file
@@ -0,0 +1,47 @@
|
||||
# See src/google/protobuf/stubs/platform_macros.h for supported archs.
|
||||
#
|
||||
# On PowerPC, the __atomic_*() built-ins for 1-byte, 2-byte and 4-byte
|
||||
# types are available built-in. However, the __atomic_*() built-ins for
|
||||
# 8-byte types is implemented via libatomic, so only available since gcc
|
||||
# 4.8.
|
||||
#
|
||||
# In Buildroot, to simplify things, we've decided to simply require gcc
|
||||
# 4.8 as soon as the architectures has at least one __atomic_*() built-in
|
||||
# variant that requires libatomic.
|
||||
#
|
||||
# Since protobuf most likely only uses the 1, 2 and 4-byte variants, it
|
||||
# *could* technically build with gcc 4.7. This is probably not a big deal,
|
||||
# and we can live with requiring gcc 4.8 on PowerPC to build protobuf.
|
||||
#
|
||||
# The SPARC64 build fails due to a missing definition of Atomic64. This
|
||||
# has been fixed on the master branch but the build still breaks due to
|
||||
# undefined references to internal NoBarrier_Atomic*() functions.
|
||||
#
|
||||
# host-protobuf only builds on certain architectures
|
||||
config BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_arm
|
||||
default y if BR2_i386
|
||||
default y if BR2_mipsel
|
||||
default y if BR2_x86_64
|
||||
default y if BR2_TOOLCHAIN_HAS_ATOMIC
|
||||
depends on !BR2_sparc64 # missing definition of Atomic64
|
||||
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
|
||||
config BR2_PACKAGE_PROTOBUF
|
||||
bool "protobuf"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
Protocol buffers are Google's language-neutral, platform-neutral,
|
||||
extensible mechanism for serializing structured data.
|
||||
|
||||
https://developers.google.com/protocol-buffers
|
||||
|
||||
comment "protobuf needs a toolchain w/ C++, threads, dynamic library"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
|
||||
|| BR2_STATIC_LIBS
|
||||
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
|
||||
2
bsp/buildroot-2017.02.11/package/protobuf/protobuf.hash
Normal file
2
bsp/buildroot-2017.02.11/package/protobuf/protobuf.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 f5b3563f118f1d3d6e001705fa7082e8fc3bda50038ac3dff787650795734146 protobuf-v3.0.0.tar.gz
|
||||
28
bsp/buildroot-2017.02.11/package/protobuf/protobuf.mk
Normal file
28
bsp/buildroot-2017.02.11/package/protobuf/protobuf.mk
Normal file
@@ -0,0 +1,28 @@
|
||||
################################################################################
|
||||
#
|
||||
# protobuf
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# When bumping this package, make sure to also verify if the
|
||||
# python-protobuf package still works, as they share the same
|
||||
# version/site variables.
|
||||
PROTOBUF_VERSION = v3.0.0
|
||||
PROTOBUF_SITE = $(call github,google,protobuf,$(PROTOBUF_VERSION))
|
||||
PROTOBUF_LICENSE = BSD-3c
|
||||
PROTOBUF_LICENSE_FILES = LICENSE
|
||||
# no configure script
|
||||
PROTOBUF_AUTORECONF = YES
|
||||
|
||||
# N.B. Need to use host protoc during cross compilation.
|
||||
PROTOBUF_DEPENDENCIES = host-protobuf
|
||||
PROTOBUF_CONF_OPTS = --with-protoc=$(HOST_DIR)/usr/bin/protoc
|
||||
|
||||
PROTOBUF_INSTALL_STAGING = YES
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
||||
PROTOBUF_DEPENDENCIES += zlib
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
$(eval $(host-autotools-package))
|
||||
Reference in New Issue
Block a user