From f3dfa6f11f8f3883f6aa3e536da43cd88cc8bbdf Mon Sep 17 00:00:00 2001 From: Dmitry Ilyin Date: Thu, 15 Sep 2022 14:46:22 +0300 Subject: [PATCH] Add AWS WebRTC libraries to toolchains (#461) --- br-ext-chip-hisilicon/Config.in | 1 + ...nown_unknown_hi3516cv500_openipc_defconfig | 1 + ...nown_unknown_hi3516ev200_openipc_defconfig | 1 + br-ext-chip-hisilicon/package/libsrtp-openipc | 1 + general/package/aws-producer/aws-producer.mk | 1 + general/package/aws-webrtc/aws-webrtc.mk | 8 +++---- .../libevent-openipc/libevent-openipc.mk | 6 +++++ general/package/libsrtp-openipc/Config.in | 8 +++++++ .../libsrtp-openipc/libsrtp-openipc.mk | 22 +++++++++++++++++++ general/package/usrsctp/usrsctp.mk | 1 + 10 files changed, 46 insertions(+), 4 deletions(-) create mode 120000 br-ext-chip-hisilicon/package/libsrtp-openipc create mode 100644 general/package/libsrtp-openipc/Config.in create mode 100644 general/package/libsrtp-openipc/libsrtp-openipc.mk diff --git a/br-ext-chip-hisilicon/Config.in b/br-ext-chip-hisilicon/Config.in index afeba386..59b83a22 100644 --- a/br-ext-chip-hisilicon/Config.in +++ b/br-ext-chip-hisilicon/Config.in @@ -30,6 +30,7 @@ source "$BR2_EXTERNAL_HISILICON_PATH/package/libogg-openipc/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/libre-openipc/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/librem-openipc/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/libsrt-openipc/Config.in" +source "$BR2_EXTERNAL_HISILICON_PATH/package/libsrtp-openipc/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/libwebsockets-openipc/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/linux-firmware-openipc/Config.in" source "$BR2_EXTERNAL_HISILICON_PATH/package/majestic-fonts/Config.in" diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516cv500_openipc_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516cv500_openipc_defconfig index a12ca2b1..8987a131 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516cv500_openipc_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516cv500_openipc_defconfig @@ -44,6 +44,7 @@ BR2_TARGET_GENERIC_HOSTNAME="openipc-hi3516cv500" BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" # OpenIPC packages +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 diff --git a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_openipc_defconfig b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_openipc_defconfig index a42481ac..22be88e3 100644 --- a/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_openipc_defconfig +++ b/br-ext-chip-hisilicon/configs/unknown_unknown_hi3516ev200_openipc_defconfig @@ -47,6 +47,7 @@ BR2_TARGET_GENERIC_HOSTNAME="openipc-hi3516ev200" BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches" # OpenIPC packages +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 is not set diff --git a/br-ext-chip-hisilicon/package/libsrtp-openipc b/br-ext-chip-hisilicon/package/libsrtp-openipc new file mode 120000 index 00000000..3bd0ec08 --- /dev/null +++ b/br-ext-chip-hisilicon/package/libsrtp-openipc @@ -0,0 +1 @@ +../../general/package/libsrtp-openipc \ No newline at end of file diff --git a/general/package/aws-producer/aws-producer.mk b/general/package/aws-producer/aws-producer.mk index 7d6db227..63b2b87c 100644 --- a/general/package/aws-producer/aws-producer.mk +++ b/general/package/aws-producer/aws-producer.mk @@ -17,6 +17,7 @@ AWS_PRODUCER_CONF_OPTS += \ -DBUILD_DEPENDENCIES=FALSE \ -DUSE_OPENSSL=OFF \ -DUSE_MBEDTLS=ON \ + -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_BUILD_TYPE=Release AWS_PRODUCER_MAKE_OPTS += VERBOSE=1 diff --git a/general/package/aws-webrtc/aws-webrtc.mk b/general/package/aws-webrtc/aws-webrtc.mk index e42db2e2..1e75af0d 100644 --- a/general/package/aws-webrtc/aws-webrtc.mk +++ b/general/package/aws-webrtc/aws-webrtc.mk @@ -4,9 +4,9 @@ # ################################################################################ -AWS_WEBRTC_VERSION = v1.7.3 +AWS_WEBRTC_VERSION = develop AWS_WEBRTC_SITE_METHOD = git -AWS_WEBRTC_SITE = https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c +AWS_WEBRTC_SITE = https://github.com/OpenIPC/webrtc-c AWS_WEBRTC_INSTALL_STAGING = YES AWS_WEBRTC_LICENSE = Apache-2.0 AWS_WEBRTC_LICENSE_FILES = LICENSE @@ -17,13 +17,13 @@ AWS_WEBRTC_CONF_OPTS += \ -DUSE_OPENSSL=OFF \ -DUSE_MBEDTLS=ON \ -DENABLE_DATA_CHANNEL=OFF \ + -DBUILD_SAMPLE=OFF \ -DBUILD_DEPENDENCIES=OFF AWS_WEBRTC_MAKE_OPTS += VERBOSE=1 AWS_WEBRTC_DEPENDENCIES = \ - libsrtp \ - libwebsockets-openipc \ + libsrtp-openipc \ aws-producer \ usrsctp \ mbedtls-openipc diff --git a/general/package/libevent-openipc/libevent-openipc.mk b/general/package/libevent-openipc/libevent-openipc.mk index f1f8b15d..473dde17 100644 --- a/general/package/libevent-openipc/libevent-openipc.mk +++ b/general/package/libevent-openipc/libevent-openipc.mk @@ -10,11 +10,17 @@ LIBEVENT_OPENIPC_INSTALL_STAGING = YES LIBEVENT_OPENIPC_LICENSE = BSD-3-Clause, OpenBSD LIBEVENT_OPENIPC_LICENSE_FILES = LICENSE LIBEVENT_OPENIPC_CONF_OPTS = \ + -D_GNU_SOURCE=ON \ -DEVENT__DISABLE_BENCHMARK=ON \ -DEVENT__DISABLE_SAMPLES=ON \ -DEVENT__DISABLE_TESTS=ON \ -DCMAKE_BUILD_TYPE=Release +define LIBEVENT_OPENIPC_PATCH_MMAH_H + sed -i 's/#define mmap64 mmap/void *mmap64 (void *, size_t, int, int, int, off_t);/' $(STAGING_DIR)/usr/include/sys/mman.h +endef + +LIBEVENT_OPENIPC_PRE_BUILD_HOOKS += LIBEVENT_OPENIPC_PATCH_MMAH_H define LIBEVENT_OPENIPC_REMOVE_PYSCRIPT rm $(TARGET_DIR)/usr/bin/event_rpcgen.py diff --git a/general/package/libsrtp-openipc/Config.in b/general/package/libsrtp-openipc/Config.in new file mode 100644 index 00000000..75545864 --- /dev/null +++ b/general/package/libsrtp-openipc/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBSRTP_OPENIPC + bool "libsrtp_openipc" + help + This package provides an implementation of the Secure + Real-time Transport Protocol (SRTP), the Universal Security + Transform (UST), and a supporting cryptographic kernel. + + https://github.com/cisco/libsrtp diff --git a/general/package/libsrtp-openipc/libsrtp-openipc.mk b/general/package/libsrtp-openipc/libsrtp-openipc.mk new file mode 100644 index 00000000..7860dcc9 --- /dev/null +++ b/general/package/libsrtp-openipc/libsrtp-openipc.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# libsrtp-openipc +# +################################################################################ + +LIBSRTP_OPENIPC_VERSION = bd0f27ec0e299ad101a396dde3f7c90d48efc8fc +LIBSRTP_OPENIPC_SITE = https://github.com/cisco/libsrtp.git +LIBSRTP_OPENIPC_SITE_METHOD = git +LIBSRTP_OPENIPC_INSTALL_STAGING = YES +LIBSRTP_OPENIPC_LICENSE = BSD-3-Clause +LIBSRTP_OPENIPC_LICENSE_FILES = LICENSE +LIBSRTP_OPENIPC_CPE_ID_VENDOR = cisco + +LIBSRTP_OPENIPC_CONF_OPTS = \ + -DENABLE_OPENSSL=OFF \ + -DBUILD_SHARED_LIBS=OFF \ + -DCMAKE_BUILD_TYPE:STRING=Release + +LIBSRTP_OPENIPC_MAKE_OPTS += VERBOSE=1 + +$(eval $(cmake-package)) diff --git a/general/package/usrsctp/usrsctp.mk b/general/package/usrsctp/usrsctp.mk index e6bcd894..288c1461 100644 --- a/general/package/usrsctp/usrsctp.mk +++ b/general/package/usrsctp/usrsctp.mk @@ -15,6 +15,7 @@ USRSCTP_CONF_OPTS += \ -Dsctp_werror=0 \ -Dsctp_build_programs=0 \ -Dsctp_debug=0 \ + -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_BUILD_TYPE=Release USRSCTP_MAKE_OPTS += VERBOSE=1