initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
# 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.
#
# 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_sparc64
default y if BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
depends on BR2_USE_MMU # fork()
depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_21464
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_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
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, gcc >= 4.8"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
+3
View File
@@ -0,0 +1,3 @@
# Locally calculated
sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSE
sha256 7308590dbb95e77066b99c5674eed855c8257e70658d2af586f4a81ff0eea2b1 protobuf-cpp-3.18.0.tar.gz
+51
View File
@@ -0,0 +1,51 @@
################################################################################
#
# protobuf
#
################################################################################
# When bumping this package, make sure to also verify if the
# python-protobuf package still works and to update its hash,
# as they share the same version/site variables.
PROTOBUF_VERSION = 3.18.0
PROTOBUF_SOURCE = protobuf-cpp-$(PROTOBUF_VERSION).tar.gz
PROTOBUF_SITE = https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOBUF_VERSION)
PROTOBUF_LICENSE = BSD-3-Clause
PROTOBUF_LICENSE_FILES = LICENSE
PROTOBUF_CPE_ID_VENDOR = google
# N.B. Need to use host protoc during cross compilation.
PROTOBUF_DEPENDENCIES = host-protobuf
PROTOBUF_CONF_OPTS = --with-protoc=$(HOST_DIR)/bin/protoc
PROTOBUF_CXXFLAGS = $(TARGET_CXXFLAGS)
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
PROTOBUF_CXXFLAGS += -O0
endif
ifeq ($(BR2_or1k),y)
PROTOBUF_CXXFLAGS += -mcmodel=large
endif
PROTOBUF_CONF_ENV = CXXFLAGS="$(PROTOBUF_CXXFLAGS)"
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
PROTOBUF_CONF_ENV += LIBS=-latomic
endif
PROTOBUF_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_ZLIB),y)
PROTOBUF_DEPENDENCIES += zlib
endif
define PROTOBUF_REMOVE_UNNECESSARY_TARGET_FILES
rm -rf $(TARGET_DIR)/usr/bin/protoc
rm -rf $(TARGET_DIR)/usr/lib/libprotoc.so*
endef
PROTOBUF_POST_INSTALL_TARGET_HOOKS += PROTOBUF_REMOVE_UNNECESSARY_TARGET_FILES
$(eval $(autotools-package))
$(eval $(host-autotools-package))