diff --git a/Makefile b/Makefile index b3ae2d08..6e4a0626 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ else else ifeq ($(FAMILY),hi3536dv100) BR_VER ?= 2021.02.12 else ifeq ($(FAMILY),hi3516cv500) - BR_VER ?= 2021.02.12 + BR_VER ?= 2022.08 else ifeq ($(FAMILY),hi3516ev200) BR_VER ?= 2021.02.12 else ifeq ($(FAMILY),gk7205v200) @@ -33,10 +33,6 @@ SCRIPTS_DIR := $(ROOT_DIR)/scripts BR_VER ?= 2020.02.12 BR_DIR := $(ROOT_DIR)/buildroot-$(BR_VER) -ifeq ($(BR_VER),2021.02.12) - DUMMY := $(shell rm general/package/all-patches/m4/0003-c-stack-stop-using-SIGSTKSZ.patch 2>/dev/null) -endif - .PHONY: usage help clean distclean prepare install-deps all toolchain-params run-tests overlayed-rootfs-% usage help: @@ -131,9 +127,21 @@ $(OUT_DIR)/toolchain-params.mk: $(OUT_DIR)/.config $(SCRIPTS_DIR)/create_toolcha $(CREATE_TOOLCHAIN_PARAMS) +# TODO: +# 1. Remove this bad item after dropping BR2020.02.12 support +# 2. Elaborate how to compile wireguard-linux-compat under GCC 12 without +# this patch +define remove-patches + $(if $(filter $(shell echo $(BR_VER)|cut -d. -f 1),2020),,rm general/package/all-patches/m4/0003-c-stack-stop-using-SIGSTKSZ.patch) + + $(if $(filter $(BR_VER),2020.02.12 2021.02.12),rm general/package/all-patches/wireguard-linux-compat/remove_fallthrough.patch) +endef + + # ------------------------------------------------------------------------------------------------- # build all needed for a board all: $(OUT_DIR)/.config $(OUT_DIR)/toolchain-params.mk + $(remove-patches) $(BOARD_MAKE) all @@ -171,6 +179,7 @@ board-info: # ------------------------------------------------------------------------------------------------- # such targets (with trimmed `br-` prefix) are passed to Buildroot's Makefile br-%: $(OUT_DIR)/.config + $(remove-patches) $(BOARD_MAKE) $(subst br-,,$@) diff --git a/br-ext-chip-hisilicon/configs/hi3516av300_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516av300_lite_defconfig index 84b511f6..08d8879c 100644 --- a/br-ext-chip-hisilicon/configs/hi3516av300_lite_defconfig +++ b/br-ext-chip-hisilicon/configs/hi3516av300_lite_defconfig @@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y # Toolchain BR2_PER_PACKAGE_DIRECTORIES=y -BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION_12_X=y BR2_TOOLCHAIN_USES_GLIBC=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" @@ -47,7 +47,6 @@ BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" # OpenIPC packages BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" BR2_PACKAGE_DROPBEAR_OPENIPC=y -BR2_PACKAGE_FDK_AAC_OPENIPC=y BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y # BR2_PACKAGE_HISI_GPIO is not set diff --git a/br-ext-chip-hisilicon/configs/hi3516cv500_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516cv500_lite_defconfig index 039cdb8e..8b36ac32 100644 --- a/br-ext-chip-hisilicon/configs/hi3516cv500_lite_defconfig +++ b/br-ext-chip-hisilicon/configs/hi3516cv500_lite_defconfig @@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y # Toolchain BR2_PER_PACKAGE_DIRECTORIES=y -BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION_12_X=y BR2_TOOLCHAIN_USES_GLIBC=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" @@ -47,7 +47,6 @@ BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" BR2_PACKAGE_AWS_WEBRTC=y BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" BR2_PACKAGE_DROPBEAR_OPENIPC=y -BR2_PACKAGE_FDK_AAC_OPENIPC=y BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y # BR2_PACKAGE_HISI_GPIO is not set diff --git a/br-ext-chip-hisilicon/configs/hi3516dv300_lite_defconfig b/br-ext-chip-hisilicon/configs/hi3516dv300_lite_defconfig index 1a96f3f8..cd29c8ef 100644 --- a/br-ext-chip-hisilicon/configs/hi3516dv300_lite_defconfig +++ b/br-ext-chip-hisilicon/configs/hi3516dv300_lite_defconfig @@ -10,7 +10,7 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y # Toolchain BR2_PER_PACKAGE_DIRECTORIES=y -BR2_GCC_VERSION_8_X=y +BR2_GCC_VERSION_12_X=y BR2_TOOLCHAIN_USES_GLIBC=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" @@ -46,7 +46,6 @@ BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" # OpenIPC packages BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config" BR2_PACKAGE_DROPBEAR_OPENIPC=y -BR2_PACKAGE_FDK_AAC_OPENIPC=y BR2_PACKAGE_FWPRINTENV_OPENIPC=y BR2_PACKAGE_HASERL=y # BR2_PACKAGE_HISI_GPIO is not set diff --git a/general/package/all-patches/wireguard-linux-compat/remove_fallthrough.patch b/general/package/all-patches/wireguard-linux-compat/remove_fallthrough.patch new file mode 100644 index 00000000..4a1c8a78 --- /dev/null +++ b/general/package/all-patches/wireguard-linux-compat/remove_fallthrough.patch @@ -0,0 +1,84 @@ +--- a/src/compat/siphash/siphash.c 2022-10-13 13:32:56.761640510 +0300 ++++ b/src/compat/siphash/siphash.c 2022-10-13 13:33:41.061624482 +0300 +@@ -77,11 +77,11 @@ + bytemask_from_count(left))); + #else + switch (left) { +- case 7: b |= ((u64)end[6]) << 48; fallthrough; +- case 6: b |= ((u64)end[5]) << 40; fallthrough; +- case 5: b |= ((u64)end[4]) << 32; fallthrough; ++ case 7: b |= ((u64)end[6]) << 48; ++ case 6: b |= ((u64)end[5]) << 40; ++ case 5: b |= ((u64)end[4]) << 32; + case 4: b |= le32_to_cpup(data); break; +- case 3: b |= ((u64)end[2]) << 16; fallthrough; ++ case 3: b |= ((u64)end[2]) << 16; + case 2: b |= le16_to_cpup(data); break; + case 1: b |= end[0]; + } +@@ -109,11 +109,11 @@ + bytemask_from_count(left))); + #else + switch (left) { +- case 7: b |= ((u64)end[6]) << 48; fallthrough; +- case 6: b |= ((u64)end[5]) << 40; fallthrough; +- case 5: b |= ((u64)end[4]) << 32; fallthrough; ++ case 7: b |= ((u64)end[6]) << 48; ++ case 6: b |= ((u64)end[5]) << 40; ++ case 5: b |= ((u64)end[4]) << 32; + case 4: b |= get_unaligned_le32(end); break; +- case 3: b |= ((u64)end[2]) << 16; fallthrough; ++ case 3: b |= ((u64)end[2]) << 16; + case 2: b |= get_unaligned_le16(end); break; + case 1: b |= end[0]; + } +@@ -269,11 +269,11 @@ + bytemask_from_count(left))); + #else + switch (left) { +- case 7: b |= ((u64)end[6]) << 48; fallthrough; +- case 6: b |= ((u64)end[5]) << 40; fallthrough; +- case 5: b |= ((u64)end[4]) << 32; fallthrough; ++ case 7: b |= ((u64)end[6]) << 48; ++ case 6: b |= ((u64)end[5]) << 40; ++ case 5: b |= ((u64)end[4]) << 32; + case 4: b |= le32_to_cpup(data); break; +- case 3: b |= ((u64)end[2]) << 16; fallthrough; ++ case 3: b |= ((u64)end[2]) << 16; + case 2: b |= le16_to_cpup(data); break; + case 1: b |= end[0]; + } +@@ -301,11 +301,11 @@ + bytemask_from_count(left))); + #else + switch (left) { +- case 7: b |= ((u64)end[6]) << 48; fallthrough; +- case 6: b |= ((u64)end[5]) << 40; fallthrough; +- case 5: b |= ((u64)end[4]) << 32; fallthrough; ++ case 7: b |= ((u64)end[6]) << 48; ++ case 6: b |= ((u64)end[5]) << 40; ++ case 5: b |= ((u64)end[4]) << 32; + case 4: b |= get_unaligned_le32(end); break; +- case 3: b |= ((u64)end[2]) << 16; fallthrough; ++ case 3: b |= ((u64)end[2]) << 16; + case 2: b |= get_unaligned_le16(end); break; + case 1: b |= end[0]; + } +@@ -426,7 +426,7 @@ + v0 ^= m; + } + switch (left) { +- case 3: b |= ((u32)end[2]) << 16; fallthrough; ++ case 3: b |= ((u32)end[2]) << 16; + case 2: b |= le16_to_cpup(data); break; + case 1: b |= end[0]; + } +@@ -448,7 +448,7 @@ + v0 ^= m; + } + switch (left) { +- case 3: b |= ((u32)end[2]) << 16; fallthrough; ++ case 3: b |= ((u32)end[2]) << 16; + case 2: b |= get_unaligned_le16(end); break; + case 1: b |= end[0]; + } diff --git a/general/package/aws-producer/aws-producer.mk b/general/package/aws-producer/aws-producer.mk index 63b2b87c..a3f902e7 100644 --- a/general/package/aws-producer/aws-producer.mk +++ b/general/package/aws-producer/aws-producer.mk @@ -20,6 +20,14 @@ AWS_PRODUCER_CONF_OPTS += \ -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_BUILD_TYPE=Release +define AWS_PRODUCER_POST_CONF_FIXUP + $(Q)sed -i 's/inline/inline static/g' \ + $(@D)/dependency/libkvspic/kvspic-src/src/common/include/com/amazonaws/kinesis/video/common/CommonDefs.h \ + || true +endef + +AWS_PRODUCER_POST_CONFIGURE_HOOKS += AWS_PRODUCER_POST_CONF_FIXUP + AWS_PRODUCER_MAKE_OPTS += VERBOSE=1 AWS_PRODUCER_DEPENDENCIES = \ diff --git a/general/package/libwebsockets-openipc/libwebsockets-openipc.mk b/general/package/libwebsockets-openipc/libwebsockets-openipc.mk index 8e562130..710a062a 100644 --- a/general/package/libwebsockets-openipc/libwebsockets-openipc.mk +++ b/general/package/libwebsockets-openipc/libwebsockets-openipc.mk @@ -10,7 +10,11 @@ LIBWEBSOCKETS_OPENIPC_LICENSE = LGPL-2.1 with exceptions LIBWEBSOCKETS_OPENIPC_LICENSE_FILES = LICENSE LIBWEBSOCKETS_OPENIPC_DEPENDENCIES = zlib LIBWEBSOCKETS_OPENIPC_INSTALL_STAGING = YES -LIBWEBSOCKETS_OPENIPC_CONF_OPTS = -DLWS_WITHOUT_TESTAPPS=ON -DLWS_IPV6=ON -DLWS_WITH_HTTP2=OFF -DLWS_WITH_EVLIB_PLUGINS=OFF +LIBWEBSOCKETS_OPENIPC_CONF_OPTS = -DLWS_WITHOUT_TESTAPPS=ON \ + -DLWS_IPV6=ON \ + -DLWS_WITH_HTTP2=OFF \ + -DLWS_WITH_EVLIB_PLUGINS=OFF \ + -DDISABLE_WERROR=ON # If LWS_MAX_SMP=1, then there is no code related to pthreads compiled # in the library. If unset, LWS_MAX_SMP defaults to 32 and a small