From 7889de7865e81ea2504495e004662956addd3d85 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Mon, 7 Oct 2024 21:55:06 +0200 Subject: [PATCH 01/10] remove native nasm - remove native nasm, it is a prerequisite in the dev. environment since update to debian 12 - remove native yasm - update related Makefiles --- cross/dav1d/Makefile | 9 ++-- cross/ffmpeg4/Makefile | 12 +++--- cross/lame/Makefile | 12 +++--- cross/libvpx/Makefile | 10 ++--- cross/openh264/Makefile | 11 ++--- cross/x264/Makefile | 11 +++-- cross/x265/Makefile | 2 - mk/spksrc.cross-cmake-env.mk | 17 +++----- mk/spksrc.native-cmake-env.mk | 18 ++++---- native/nasm/Makefile | 16 ------- native/nasm/digests | 3 -- ...-remove-invalid-pure_func-qualifiers.patch | 42 ------------------- native/yasm/Makefile | 16 ------- native/yasm/digests | 3 -- 14 files changed, 50 insertions(+), 132 deletions(-) delete mode 100644 native/nasm/Makefile delete mode 100644 native/nasm/digests delete mode 100644 native/nasm/patches/001-remove-invalid-pure_func-qualifiers.patch delete mode 100644 native/yasm/Makefile delete mode 100644 native/yasm/digests diff --git a/cross/dav1d/Makefile b/cross/dav1d/Makefile index 3fd37cb7981..2597d2b3b57 100644 --- a/cross/dav1d/Makefile +++ b/cross/dav1d/Makefile @@ -22,10 +22,11 @@ include ../../mk/spksrc.archs.mk # Define x86asm ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) -BUILD_DEPENDS = native/nasm -NASM_PATH = $(abspath $(PWD)/../../native/nasm/work-native/install/usr/local/bin) -ENV += AS=$(NASM_PATH)/nasm -ENV += PATH=$(NASM_PATH):$$PATH +NASM_BINARY = $(shell which nasm) +ifeq ($(NASM_BINARY),) +$(error nasm not found. Please install NASM assembler) +endif +ENV += AS=$(NASM_BINARY) CONFIGURE_ARGS += -Denable_asm=true # Allow ASM on aarch64, disable on all others diff --git a/cross/ffmpeg4/Makefile b/cross/ffmpeg4/Makefile index 2715995c68f..673c320c3ce 100644 --- a/cross/ffmpeg4/Makefile +++ b/cross/ffmpeg4/Makefile @@ -36,8 +36,7 @@ CONFIGURE_ARGS += --extra-cflags=-Wno-deprecated-declarations include ../../mk/spksrc.common.mk -OPTIONAL_DEPENDS = native/nasm -OPTIONAL_DEPENDS += cross/chromaprint-fftw +OPTIONAL_DEPENDS = cross/chromaprint-fftw OPTIONAL_DEPENDS += cross/dav1d OPTIONAL_DEPENDS += cross/frei0r OPTIONAL_DEPENDS += cross/libass @@ -59,10 +58,11 @@ OPTIONAL_DEPENDS += cross/shine # Define x86asm ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) -BUILD_DEPENDS = native/nasm -NASM_PATH = $(abspath $(PWD)/../../native/nasm/work-native/install/usr/local/bin) -ENV += AS=$(NASM_PATH)/nasm -ENV += PATH=$(NASM_PATH):$$PATH +NASM_BINARY = $(shell which nasm) +ifeq ($(NASM_BINARY),) +$(error nasm not found. Please intall NASM assembler) +endif +ENV += AS=$(NASM_BINARY) CONFIGURE_ARGS += --x86asmexe=nasm # Allow ASM on aarch64, disable on all others diff --git a/cross/lame/Makefile b/cross/lame/Makefile index 3ced943c589..500c95d96cc 100644 --- a/cross/lame/Makefile +++ b/cross/lame/Makefile @@ -2,11 +2,10 @@ PKG_NAME = lame PKG_VERS = 3.100 PKG_EXT = tar.gz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://downloads.sourceforge.net/project/lame/$(PKG_NAME)/$(PKG_VERS) +PKG_DIST_SITE = https://downloads.sourceforge.net/project/lame/lame/$(PKG_VERS) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = -OPTIONAL_DEPENDS = native/nasm HOMEPAGE = https://lame.sourceforge.net/ COMMENT = High quality MPEG Audio Layer III encoder. @@ -17,9 +16,10 @@ GNU_CONFIGURE = 1 include ../../mk/spksrc.cross-cc.mk ifeq ($(findstring $(ARCH),$(x64_ARCHS) $(i686_ARCHS)),$(ARCH)) -BUILD_DEPENDS = native/nasm -NASM_PATH = $(realpath $(WORK_DIR)/../../../native/nasm/work-native/install/usr/local/bin) -ENV += AS=$(NASM_PATH)/nasm -ENV += PATH=$(NASM_PATH):$$PATH +NASM_BINARY = $(shell which nasm) +ifeq ($(NASM_BINARY),) +$(error nasm not found. Please install NASM assembler) +endif +ENV += AS=$(NASM_BINARY) CONFIGURE_ARGS += --enable-nasm endif diff --git a/cross/libvpx/Makefile b/cross/libvpx/Makefile index c30303e7c2a..124510107dd 100644 --- a/cross/libvpx/Makefile +++ b/cross/libvpx/Makefile @@ -7,7 +7,6 @@ PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = -OPTIONAL_DEPENDS = native/nasm UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) @@ -48,10 +47,11 @@ endif # Define x86asm ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) -BUILD_DEPENDS = native/nasm -NASM_PATH = $(abspath $(PWD)/../../native/nasm/work-native/install/usr/local/bin) -ENV += AS=$(NASM_PATH)/nasm -ENV += PATH=$(NASM_PATH):$$PATH +NASM_BINARY = $(shell which nasm) +ifeq ($(NASM_BINARY),) +$(error nasm not found. Please install NASM assembler) +endif +ENV += AS=$(NASM_BINARY) CONFIGURE_ARGS += --as=nasm CONFIGURE_ARGS += --disable-sse4_1 endif diff --git a/cross/openh264/Makefile b/cross/openh264/Makefile index 04db374c2e9..121858e31d3 100644 --- a/cross/openh264/Makefile +++ b/cross/openh264/Makefile @@ -6,7 +6,7 @@ PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://github.com/cisco/openh264/archive/refs/tags PKG_DIR = $(PKG_NAME)-$(PKG_VERS) -DEPENDS = +DEPENDS = HOMEPAGE = http://www.openh264.org/ COMMENT = OpenH264 is a codec library which supports H.264 encoding and decoding. It is suitable for use in real time applications such as WebRTC. @@ -18,10 +18,11 @@ CONFIGURE_ARGS += -Dtests=disabled POST_INSTALL_TARGET = openh264-post_install -BUILD_DEPENDS = native/nasm -NASM_PATH = $(realpath $(WORK_DIR)/../../../native/nasm/work-native/install/usr/local/bin) -ENV += PATH=$(NASM_PATH):$$PATH -ENV += AS=$(NASM_PATH)/nasm +NASM_BINARY = $(shell which nasm) +ifeq ($(NASM_BINARY),) +$(error nasm not found. Please install NASM assembler) +endif +ENV += AS=$(NASM_BINARY) include ../../mk/spksrc.cross-meson.mk diff --git a/cross/x264/Makefile b/cross/x264/Makefile index ae64d18792b..f7c72f810ff 100644 --- a/cross/x264/Makefile +++ b/cross/x264/Makefile @@ -3,13 +3,11 @@ PKG_VERS = 20240512-stable PKG_EXT = tar.gz PKG_GIT_HASH = 4613ac3c15fd75cebc4b9f65b7fb95e70a3acce1 PKG_DIST_NAME = $(PKG_NAME)-master.$(PKG_EXT) -PKG_DIST_FILE = $(PKG_NAME)-$(PKG_GIT_HASH).$(PKG_EXT) PKG_DIST_SITE = https://code.videolan.org/videolan/x264/-/archive/$(PKG_GIT_HASH) PKG_DIST_FILE = $(PKG_NAME)-git$(PKG_GIT_HASH).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_GIT_HASH) DEPENDS = -OPTIONAL_DEPENDS = native/nasm HOMEPAGE = https://www.videolan.org/developers/x264.html COMMENT = x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC forma @@ -47,10 +45,11 @@ endif # Define x86asm ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) -BUILD_DEPENDS = native/nasm -NASM_PATH = $(abspath $(PWD)/../../native/nasm/work-native/install/usr/local/bin) -ENV += AS=$(NASM_PATH)/nasm -ENV += PATH=$(NASM_PATH):$$PATH +NASM_BINARY = $(shell which nasm) +ifeq ($(NASM_BINARY),) +$(error nasm not found. Please install NASM assembler) +endif +ENV += AS=$(NASM_BINARY) endif ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) diff --git a/cross/x265/Makefile b/cross/x265/Makefile index 18bbd895137..09ac8b82159 100644 --- a/cross/x265/Makefile +++ b/cross/x265/Makefile @@ -5,8 +5,6 @@ PKG_DIST_NAME = $(PKG_NAME)_$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://bitbucket.org/multicoreware/x265_git/downloads PKG_DIR = $(PKG_NAME)_$(PKG_VERS) -OPTIONAL_DEPENDS = native/nasm - HOMEPAGE = http://x265.org/ COMMENT = x265 is an open source HEVC encoder. LICENSE = GPL diff --git a/mk/spksrc.cross-cmake-env.mk b/mk/spksrc.cross-cmake-env.mk index 5c53a57c059..19d452a6c36 100644 --- a/mk/spksrc.cross-cmake-env.mk +++ b/mk/spksrc.cross-cmake-env.mk @@ -102,18 +102,13 @@ endif ifeq ($(strip $(CMAKE_USE_NASM)),1) # Define x86asm ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) - HOST_NASM = $(shell command -v nasm 2>/dev/null) - ENABLE_ASSEMBLY = ON - ifneq ($(HOST_NASM),) - ENV += AS=$(HOST_NASM) - CMAKE_ASM_COMPILER = $(HOST_NASM) - else - DEPENDS += native/nasm - NASM_PATH = $(abspath $(CURDIR)/../../native/nasm/work-native/install/usr/local/bin) - ENV += PATH=$(NASM_PATH):$$PATH - ENV += AS=$(NASM_PATH)/nasm - CMAKE_ASM_COMPILER = $(NASM_PATH)/nasm + NASM_BINARY = $(shell which nasm) + ifeq ($(NASM_BINARY),) + $(error nasm not found. Please install NASM assembler for CMAKE_USE_NASM=1) endif + ENABLE_ASSEMBLY = ON + ENV += AS=$(NASM_BINARY) + CMAKE_ASM_COMPILER = $(NASM_BINARY) endif else CMAKE_USE_NASM = 0 diff --git a/mk/spksrc.native-cmake-env.mk b/mk/spksrc.native-cmake-env.mk index e8bc272b9ee..487cb594e64 100644 --- a/mk/spksrc.native-cmake-env.mk +++ b/mk/spksrc.native-cmake-env.mk @@ -1,7 +1,10 @@ -# Configuration for CMake build +# Configuration for CMake build of native packages # CMAKE_ARGS += -DCMAKE_INSTALL_PREFIX=$(INSTALL_PREFIX) CMAKE_ARGS += -DCMAKE_BUILD_TYPE=Release +# CMAKE_SYSTEM_NAME soll nicht gesetzt werden, sonst wird cross compiling angenommen... +#CMAKE_SYSTEM_NAME = Linux +#CMAKE_ARGS += -DCMAKE_SYSTEM_NAME=$(CMAKE_SYSTEM_NAME) # Use native cmake (latest stable) ifeq ($(strip $(USE_NATIVE_CMAKE)),1) @@ -14,7 +17,7 @@ endif # Use native cmake (Debian 10 "Buster") ifeq ($(strip $(USE_NATIVE_CMAKE_LEGACY)),1) BUILD_DEPENDS += native/cmake-legacy - CMAKE_PATH = $(abspath $(CURDIR)/../../native/cmake-legacy/work-native/install/usr/local/bin) + CMAKE_PATH = $(abspath $(CURDIR)/../../native/cmake-3.2.6/work-native/install/usr/local/bin) ENV += PATH=$(CMAKE_PATH):$$PATH export PATH := $(CMAKE_PATH):$(PATH) endif @@ -29,12 +32,13 @@ endif # set default ASM build environment ifeq ($(strip $(CMAKE_USE_NASM)),1) - DEPENDS += native/nasm - NASM_PATH = $(realpath $(WORK_DIR)/../../../native/nasm/work-native/install/usr/local/bin) - ENV += PATH=$(NASM_PATH):$$PATH - ENV += AS=$(NASM_PATH)/nasm + NASM_BINARY = $(shell which nasm) + ifeq ($(NASM_BINARY),) + $(error nasm not found. Please install NASM assembler for CMAKE_USE_NASM=1) + endif + ENV += AS=$(NASM_BINARY) CMAKE_ARGS += -DENABLE_ASSEMBLY=ON - CMAKE_ARGS += -DCMAKE_ASM_COMPILER=$(NASM_PATH)/nasm + CMAKE_ARGS += -DCMAKE_ASM_COMPILER=$(NASM_BINARY) else CMAKE_USE_NASM = 0 endif diff --git a/native/nasm/Makefile b/native/nasm/Makefile deleted file mode 100644 index d47efd9ab7e..00000000000 --- a/native/nasm/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -PKG_NAME = nasm -PKG_VERS = 2.16.03 -PKG_EXT = tar.xz -PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://fossies.org/linux/misc -PKG_DIR = $(PKG_NAME)-$(PKG_VERS) - -DEPENDS = - -HOMEPAGE = https://www.nasm.us/ -COMMENT = The Netwide Assembler (NASM), an asssembler for the x86 CPU architecture portable to nearly every modern platform, and with code generation for many platforms old and new. -LICENSE = 2-clause BSD - -GNU_CONFIGURE = 1 - -include ../../mk/spksrc.native-cc.mk diff --git a/native/nasm/digests b/native/nasm/digests deleted file mode 100644 index 5b94283afd7..00000000000 --- a/native/nasm/digests +++ /dev/null @@ -1,3 +0,0 @@ -nasm-2.16.03.tar.xz SHA1 d3ceab29f8c62bdf9240032349deb594cb642863 -nasm-2.16.03.tar.xz SHA256 1412a1c760bbd05db026b6c0d1657affd6631cd0a63cddb6f73cc6d4aa616148 -nasm-2.16.03.tar.xz MD5 2b8c72c52eee4f20085065e68ac83b55 diff --git a/native/nasm/patches/001-remove-invalid-pure_func-qualifiers.patch b/native/nasm/patches/001-remove-invalid-pure_func-qualifiers.patch deleted file mode 100644 index 8e071daf43d..00000000000 --- a/native/nasm/patches/001-remove-invalid-pure_func-qualifiers.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- include/nasmlib.h.orig 2019-01-11 10:27:42.527098886 +0100 -+++ include/nasmlib.h 2019-01-11 10:30:53.731190121 +0100 -@@ -150,7 +150,7 @@ - #elif defined(HAVE_STRICMP) - #define nasm_stricmp stricmp - #else --int pure_func nasm_stricmp(const char *, const char *); -+int nasm_stricmp(const char *, const char *); - #endif - - #if defined(HAVE_STRNCASECMP) -@@ -158,10 +158,10 @@ - #elif defined(HAVE_STRNICMP) - #define nasm_strnicmp strnicmp - #else --int pure_func nasm_strnicmp(const char *, const char *, size_t); -+int nasm_strnicmp(const char *, const char *, size_t); - #endif - --int pure_func nasm_memicmp(const char *, const char *, size_t); -+int nasm_memicmp(const char *, const char *, size_t); - - #if defined(HAVE_STRSEP) - #define nasm_strsep strsep -@@ -170,7 +170,7 @@ - #endif - - #ifndef HAVE_DECL_STRNLEN --size_t pure_func strnlen(const char *, size_t); -+size_t strnlen(const char *, size_t); - #endif - - /* This returns the numeric value of a given 'digit'. */ -@@ -306,7 +306,7 @@ - char * safe_alloc nasm_basename(const char *path); - char * safe_alloc nasm_catfile(const char *dir, const char *path); - --const char * pure_func prefix_name(int); -+const char * prefix_name(int); - - /* - * Wrappers around fopen()... for future change to a dedicated structure diff --git a/native/yasm/Makefile b/native/yasm/Makefile deleted file mode 100644 index 064e18b51f9..00000000000 --- a/native/yasm/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -PKG_NAME = yasm -PKG_VERS = 1.3.0 -PKG_EXT = tar.gz -PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://github.com/yasm/yasm/releases/download/v$(PKG_VERS) -PKG_DIR = $(PKG_NAME)-$(PKG_VERS) - -DEPENDS = - -HOMEPAGE = https://yasm.tortall.net -COMMENT = Yasm is a complete rewrite of the NASM assembler under the new BSD License. -LICENSE = BSD - -GNU_CONFIGURE = 1 - -include ../../mk/spksrc.native-cc.mk diff --git a/native/yasm/digests b/native/yasm/digests deleted file mode 100644 index 5fa49c61a5f..00000000000 --- a/native/yasm/digests +++ /dev/null @@ -1,3 +0,0 @@ -yasm-1.3.0.tar.gz SHA1 b7574e9f0826bedef975d64d3825f75fbaeef55e -yasm-1.3.0.tar.gz SHA256 3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f -yasm-1.3.0.tar.gz MD5 fc9e586751ff789b34b1f21d572d96af From 2c4a9cbbaee2c2aa91ecf4459e82c3415d00ac68 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Mon, 7 Oct 2024 22:31:56 +0200 Subject: [PATCH 02/10] temp add output to analyze prepare action --- .github/actions/prepare.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/actions/prepare.sh b/.github/actions/prepare.sh index 8e940a041f8..e3974dcd143 100755 --- a/.github/actions/prepare.sh +++ b/.github/actions/prepare.sh @@ -28,14 +28,22 @@ DEPENDENT_PACKAGES=$(echo "${GH_FILES}" | tr ' ' '\n' | grep -oP "(cross|native) # get dependency list # dependencies in this list include the cross or native folder (i.e. native/python cross/glib) echo "Building dependency list..." +echo "pwd: $(pwd)" +echo "packages: $(find spk/ -maxdepth 1 -type d | cut -c 5- | sort)" DEPENDENCY_LIST= for package in $(find spk/ -maxdepth 1 -type d | cut -c 5- | sort) do if [ ! -f "./spk/${package}/BROKEN" ]; then DEPENDENCY_LIST+=$(DEPENDENCY_WALK=1 make -s -C spk/${package} dependency-list 2> /dev/null)$'\n' + else + echo "broken package ${package}, skip dependency-list entry" fi done +echo "dependency list:" +echo "${DEPENDENCY_LIST}" + + # search for dependent spk packages for package in ${DEPENDENT_PACKAGES} do From d8809672b3b970071f3cd6f2081ce65f86b85124 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 8 Oct 2024 00:19:59 +0200 Subject: [PATCH 03/10] Revert "temp add output to analyze prepare action" This reverts commit 2c4a9cbbaee2c2aa91ecf4459e82c3415d00ac68. --- .github/actions/prepare.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/actions/prepare.sh b/.github/actions/prepare.sh index e3974dcd143..8e940a041f8 100755 --- a/.github/actions/prepare.sh +++ b/.github/actions/prepare.sh @@ -28,22 +28,14 @@ DEPENDENT_PACKAGES=$(echo "${GH_FILES}" | tr ' ' '\n' | grep -oP "(cross|native) # get dependency list # dependencies in this list include the cross or native folder (i.e. native/python cross/glib) echo "Building dependency list..." -echo "pwd: $(pwd)" -echo "packages: $(find spk/ -maxdepth 1 -type d | cut -c 5- | sort)" DEPENDENCY_LIST= for package in $(find spk/ -maxdepth 1 -type d | cut -c 5- | sort) do if [ ! -f "./spk/${package}/BROKEN" ]; then DEPENDENCY_LIST+=$(DEPENDENCY_WALK=1 make -s -C spk/${package} dependency-list 2> /dev/null)$'\n' - else - echo "broken package ${package}, skip dependency-list entry" fi done -echo "dependency list:" -echo "${DEPENDENCY_LIST}" - - # search for dependent spk packages for package in ${DEPENDENT_PACKAGES} do From 448c8799c51435611aa0e4996118d22d0db30509 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 8 Oct 2024 00:51:02 +0200 Subject: [PATCH 04/10] avoid variable in DEPENDS - change affected packages to trigger build --- spk/chromaprint/Makefile | 2 +- spk/comskip/Makefile | 2 +- spk/ffmpeg5/Makefile | 2 +- spk/ffmpeg7/Makefile | 2 +- spk/tvheadend/Makefile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/spk/chromaprint/Makefile b/spk/chromaprint/Makefile index 59a494e570b..66d3b7cbc8f 100644 --- a/spk/chromaprint/Makefile +++ b/spk/chromaprint/Makefile @@ -4,7 +4,7 @@ SPK_REV = 22 SPK_ICON = src/chromaprint.png FFMPEG_PACKAGE = ffmpeg7 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/chromaprint SPK_DEPENDS = $(FFMPEG_PACKAGE) # ffmpeg7 requires c11 support diff --git a/spk/comskip/Makefile b/spk/comskip/Makefile index 3029cf522cd..8c2cac4b2a8 100644 --- a/spk/comskip/Makefile +++ b/spk/comskip/Makefile @@ -4,7 +4,7 @@ SPK_REV = 12 SPK_ICON = src/comskip.png FFMPEG_PACKAGE = ffmpeg5 -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/comskip SPK_DEPENDS = $(FFMPEG_PACKAGE) STARTABLE = no diff --git a/spk/ffmpeg5/Makefile b/spk/ffmpeg5/Makefile index b4bf92f0e25..ad688456c13 100644 --- a/spk/ffmpeg5/Makefile +++ b/spk/ffmpeg5/Makefile @@ -4,7 +4,7 @@ SPK_REV = 6 SPK_ICON = src/ffmpeg.png CHANGELOG = "1. Update to version 5.1.6" -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/ffmpeg5 MAINTAINER = th0ma7 DESCRIPTION = FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. It includes libavcodec - the leading audio/video codec library. More information from SynoCommunity FFmpeg package available at https://github.com/SynoCommunity/spksrc/wiki/FAQ-FFmpeg diff --git a/spk/ffmpeg7/Makefile b/spk/ffmpeg7/Makefile index 8db2dfa9b69..7a13d1be9a7 100644 --- a/spk/ffmpeg7/Makefile +++ b/spk/ffmpeg7/Makefile @@ -4,7 +4,7 @@ SPK_REV = 1 SPK_ICON = src/ffmpeg.png CHANGELOG = "1. Initial release of version 7 release" -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/ffmpeg7 # requires c11 support UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) diff --git a/spk/tvheadend/Makefile b/spk/tvheadend/Makefile index 5c8f35a0478..10bedec84a2 100644 --- a/spk/tvheadend/Makefile +++ b/spk/tvheadend/Makefile @@ -25,7 +25,7 @@ UNSUPPORTED_ARCHS += $(ARMv5_ARCHS) WHEELS = src/requirements-pure.txt -DEPENDS = cross/$(SPK_NAME) +DEPENDS = cross/tvheadend DEPENDS += cross/dtv-scan-tables DEPENDS += cross/zap2epg cross/docker-tvheadend From 52b31b8091f1ad0dd4f39f3347676719b3c989c2 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 8 Oct 2024 01:10:00 +0200 Subject: [PATCH 05/10] revert unintended changes --- mk/spksrc.native-cmake-env.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mk/spksrc.native-cmake-env.mk b/mk/spksrc.native-cmake-env.mk index 487cb594e64..b04c1e27e51 100644 --- a/mk/spksrc.native-cmake-env.mk +++ b/mk/spksrc.native-cmake-env.mk @@ -2,9 +2,6 @@ # CMAKE_ARGS += -DCMAKE_INSTALL_PREFIX=$(INSTALL_PREFIX) CMAKE_ARGS += -DCMAKE_BUILD_TYPE=Release -# CMAKE_SYSTEM_NAME soll nicht gesetzt werden, sonst wird cross compiling angenommen... -#CMAKE_SYSTEM_NAME = Linux -#CMAKE_ARGS += -DCMAKE_SYSTEM_NAME=$(CMAKE_SYSTEM_NAME) # Use native cmake (latest stable) ifeq ($(strip $(USE_NATIVE_CMAKE)),1) @@ -17,7 +14,7 @@ endif # Use native cmake (Debian 10 "Buster") ifeq ($(strip $(USE_NATIVE_CMAKE_LEGACY)),1) BUILD_DEPENDS += native/cmake-legacy - CMAKE_PATH = $(abspath $(CURDIR)/../../native/cmake-3.2.6/work-native/install/usr/local/bin) + CMAKE_PATH = $(abspath $(CURDIR)/../../native/cmake-legacy/work-native/install/usr/local/bin) ENV += PATH=$(CMAKE_PATH):$$PATH export PATH := $(CMAKE_PATH):$(PATH) endif From e5b50fa85e05edcc1ce2cb6497def1d54b156301 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 17 Dec 2024 20:56:52 +0100 Subject: [PATCH 06/10] cross/dav1d: update from v1.4.2 to v1.4.3 - update cross/dav1d - remove definitions for nasm, meson build completely auto detects nasm --- cross/dav1d/Makefile | 20 +------------------- cross/dav1d/digests | 6 +++--- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/cross/dav1d/Makefile b/cross/dav1d/Makefile index 2597d2b3b57..99fe61934f3 100644 --- a/cross/dav1d/Makefile +++ b/cross/dav1d/Makefile @@ -1,5 +1,5 @@ PKG_NAME = dav1d -PKG_VERS = 1.4.2 +PKG_VERS = 1.4.3 PKG_EXT = tar.xz PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_SITE = https://download.videolan.org/pub/videolan/dav1d/$(PKG_VERS) @@ -18,22 +18,4 @@ CONFIGURE_ARGS += -Denable_examples=false CONFIGURE_ARGS += -Denable_docs=false ADDITIONAL_CFLAGS = -O -include ../../mk/spksrc.archs.mk - -# Define x86asm -ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) -NASM_BINARY = $(shell which nasm) -ifeq ($(NASM_BINARY),) -$(error nasm not found. Please install NASM assembler) -endif -ENV += AS=$(NASM_BINARY) -CONFIGURE_ARGS += -Denable_asm=true - -# Allow ASM on aarch64, disable on all others -else ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) -CONFIGURE_ARGS += -Denable_asm=true -else -CONFIGURE_ARGS += -Denable_asm=false -endif - include ../../mk/spksrc.cross-meson.mk diff --git a/cross/dav1d/digests b/cross/dav1d/digests index d9c7fbabb26..547e23c4bca 100644 --- a/cross/dav1d/digests +++ b/cross/dav1d/digests @@ -1,3 +1,3 @@ -dav1d-1.4.2.tar.xz SHA1 6137672cb64714ab192fed167b852127eb45a2f8 -dav1d-1.4.2.tar.xz SHA256 7392cf4c432734eebb383319b5e05e994bffdcdfe66f82287c38873601a4ef0b -dav1d-1.4.2.tar.xz MD5 cdfa07cb6641caad509ac8e46ae7aa2a +dav1d-1.4.3.tar.xz SHA1 daf40121d16d5f580c42b4e8374c91d34efd9835 +dav1d-1.4.3.tar.xz SHA256 42fe524bcc82ea3a830057178faace22923a79bad3d819a4962d8cfc54c36f19 +dav1d-1.4.3.tar.xz MD5 c84c685c76e51b98e998db0995bd365c From db9b00f9b84d62437bcb058ab36a486748d96903 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 17 Dec 2024 20:57:56 +0100 Subject: [PATCH 07/10] cross/openh264: remove nasm definitions - remove definitions for nasm, meson build completely auto detects nasm - create optimized code --- cross/openh264/Makefile | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/cross/openh264/Makefile b/cross/openh264/Makefile index 121858e31d3..17acd0f8d7c 100644 --- a/cross/openh264/Makefile +++ b/cross/openh264/Makefile @@ -1,9 +1,9 @@ PKG_NAME = openh264 PKG_VERS = 2.4.1 PKG_EXT = tar.gz -PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIST_NAME = v$(PKG_VERS).$(PKG_EXT) -PKG_DIST_SITE = https://github.com/cisco/openh264/archive/refs/tags +PKG_DIST_SITE = https://github.com/cisco/openh264/archive +PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT) PKG_DIR = $(PKG_NAME)-$(PKG_VERS) DEPENDS = @@ -15,15 +15,10 @@ LICENSE = BSD UNSUPPORTED_ARCHS = $(PPC_ARCHS) CONFIGURE_ARGS += -Dtests=disabled +ADDITIONAL_CPPFLAGS = -O POST_INSTALL_TARGET = openh264-post_install -NASM_BINARY = $(shell which nasm) -ifeq ($(NASM_BINARY),) -$(error nasm not found. Please install NASM assembler) -endif -ENV += AS=$(NASM_BINARY) - include ../../mk/spksrc.cross-meson.mk .PHONY: openh264-post_install From f7381e66c67eb1f9eb6e116de18e1b1079460a1c Mon Sep 17 00:00:00 2001 From: hgy59 Date: Tue, 17 Dec 2024 21:05:27 +0100 Subject: [PATCH 08/10] remove CMAKE_USE_NASM - cmake builds completely auto detect nasm --- cross/libaom/Makefile | 4 +--- cross/svt-av1/Makefile | 2 -- cross/svt-hevc/Makefile | 2 -- cross/x265/Makefile | 7 ------- mk/spksrc.cross-cmake-env.mk | 24 ------------------------ mk/spksrc.cross-cmake.mk | 9 --------- mk/spksrc.cross-ninja.mk | 3 --- mk/spksrc.native-cmake-env.mk | 13 ------------- mk/spksrc.native-cmake.mk | 1 - 9 files changed, 1 insertion(+), 64 deletions(-) diff --git a/cross/libaom/Makefile b/cross/libaom/Makefile index 1dea25e46e4..b7b10d9b83c 100644 --- a/cross/libaom/Makefile +++ b/cross/libaom/Makefile @@ -11,15 +11,13 @@ DEPENDS = HOMEPAGE = https://aomedia.googlesource.com/aom/ COMMENT = AOMedia Video 1 (AV1) is an open, royalty-free video coding format designed for video transmissions over the Internet. -LICENSE = Royalty-free +LICENSE = 2-Clause BSD and Alliance for Open Media Patent License 1.0 UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(OLD_PPC_ARCHS) # Set working directory PKG_WORK_DIR = $(WORK_DIR)/$(PKG_NAME)_$(PKG_VERS)-build -CMAKE_USE_NASM = 1 - # libaom specific cmake options CMAKE_ARGS += -DCONFIG_AV1_ENCODER=1 diff --git a/cross/svt-av1/Makefile b/cross/svt-av1/Makefile index 0b94c5c6313..83fec2978b2 100644 --- a/cross/svt-av1/Makefile +++ b/cross/svt-av1/Makefile @@ -13,8 +13,6 @@ LICENSE = SPDX short identifier: BSD-2-Clause-Patent UNSUPPORTED_ARCHS = $(ARMv5_ARCHS) $(PPC_ARCHS) -CMAKE_USE_NASM = 1 - include ../../mk/spksrc.cross-cmake.mk ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) diff --git a/cross/svt-hevc/Makefile b/cross/svt-hevc/Makefile index a9533c8c601..1ee67376ce4 100644 --- a/cross/svt-hevc/Makefile +++ b/cross/svt-hevc/Makefile @@ -15,6 +15,4 @@ LICENSE = SPDX short identifier: BSD-2-Clause-Patent # SVT-HEVC is only supported on x86_64 Intel platforms UNSUPPORTED_ARCHS = $(ARM_ARCHS) $(PPC_ARCHS) $(i686_ARCHS) -CMAKE_USE_NASM = 1 - include ../../mk/spksrc.cross-cmake.mk diff --git a/cross/x265/Makefile b/cross/x265/Makefile index 09ac8b82159..ee8cda750d7 100644 --- a/cross/x265/Makefile +++ b/cross/x265/Makefile @@ -12,7 +12,6 @@ LICENSE = GPL PRE_CONFIGURE_TARGET = x265_pre_configure PRE_COMPILE_TARGET = x265_pre_compile -CMAKE_USE_NASM = 1 CMAKE_SOURCE_DIR = source # Build directories for default, 12 and 10 bit depth @@ -61,12 +60,6 @@ ifeq ($(call version_ge, $(TCVERSION), 7.0),1) CMAKE_ARGS += -DCMAKE_CXX_FLAGS=-D_GLIBCXX_USE_C99_MATH endif -# For ppc853x-4.3, disable atomics -ifeq ($(ARCH)-$(TCVERSION), ppc853x-4.3) -CMAKE_ARGS += -DNO_ATOMICS=ON -CMAKE_ARGS += -DCMAKE_CXX_FLAGS="-DSPKSRC_FIX_PPC853X_4_3" -endif - .PHONY: x265_pre_configure x265_pre_configure: $(CMAKE_TOOLCHAIN_PKG) @$(MSG) Configure 12BIT libraries diff --git a/mk/spksrc.cross-cmake-env.mk b/mk/spksrc.cross-cmake-env.mk index 19d452a6c36..d013bb25d0d 100644 --- a/mk/spksrc.cross-cmake-env.mk +++ b/mk/spksrc.cross-cmake-env.mk @@ -90,30 +90,6 @@ ifeq ($(strip $(CMAKE_USE_NINJA)),1) CMAKE_ARGS += -G Ninja endif -# Set default X86ASM build environment -# At toolchain step variables are not yet evaluated -# resulting in inability to set in toolchain file -# -# ARM architecture may expect to be assembled with a C compiler as frontend: -# .s is raw assembly passed to as -# .S is assembly which expects to be preprocessed by a cpp then fed to assembler -# Setting the following for ARM may help: -# ENV += AS=$(abspath $(CURDIR)/../../toolchain/syno-$(ARCH)-$(TCVERSION)/work/$(TC_TARGET)/bin/$(TC_PREFIX)gcc) -ifeq ($(strip $(CMAKE_USE_NASM)),1) - # Define x86asm - ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) - NASM_BINARY = $(shell which nasm) - ifeq ($(NASM_BINARY),) - $(error nasm not found. Please install NASM assembler for CMAKE_USE_NASM=1) - endif - ENABLE_ASSEMBLY = ON - ENV += AS=$(NASM_BINARY) - CMAKE_ASM_COMPILER = $(NASM_BINARY) - endif -else - CMAKE_USE_NASM = 0 -endif - # set default use destdir ifeq ($(strip $(CMAKE_USE_DESTDIR)),) CMAKE_USE_DESTDIR = 1 diff --git a/mk/spksrc.cross-cmake.mk b/mk/spksrc.cross-cmake.mk index 4f5c8d43d88..3c69227975f 100644 --- a/mk/spksrc.cross-cmake.mk +++ b/mk/spksrc.cross-cmake.mk @@ -114,14 +114,6 @@ $(CMAKE_TOOLCHAIN_PKG): cmake_pkg_toolchain: @cat $(CMAKE_TOOLCHAIN_WRK) ; \ echo -ifeq ($(strip $(CMAKE_USE_NASM)),1) -ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) - @echo "# set assembly compiler" ; \ - echo "set(ENABLE_ASSEMBLY $(ENABLE_ASSEMBLY))" ; \ - echo "set(CMAKE_ASM_COMPILER $(CMAKE_ASM_COMPILER))" ; \ - echo -endif -endif @echo "# set compiler flags for cross-compiling" ; \ echo 'set(CMAKE_C_FLAGS "$(CFLAGS) $(CMAKE_C_FLAGS) $(ADDITIONAL_CFLAGS)")' ; \ echo 'set(CMAKE_CPP_FLAGS "$(CPPFLAGS) $(CMAKE_CPP_FLAGS) $(ADDITIONAL_CPPFLAGS)")' ; \ @@ -149,7 +141,6 @@ cmake_configure_target: $(CMAKE_TOOLCHAIN_PKG) @$(MSG) - Dependencies = $(DEPENDS) @$(MSG) - Optional Dependencies = $(OPTIONAL_DEPENDS) @$(MSG) - Use Toolchain File = $(CMAKE_USE_TOOLCHAIN_FILE) [$(CMAKE_TOOLCHAIN_PKG)] - @$(MSG) - Use NASM = $(CMAKE_USE_NASM) @$(MSG) - Use DESTDIR = $(CMAKE_USE_DESTDIR) @$(MSG) - CMake = $(shell which cmake) [$(shell cmake --version | head -1 | awk '{print $$NF}')] @$(MSG) - Path DESTDIR = $(CMAKE_DESTDIR) diff --git a/mk/spksrc.cross-ninja.mk b/mk/spksrc.cross-ninja.mk index 5c85e3bca7e..38a85039d88 100644 --- a/mk/spksrc.cross-ninja.mk +++ b/mk/spksrc.cross-ninja.mk @@ -66,9 +66,6 @@ endif ninja_compile_target: @$(MSG) - Ninja compile @$(MSG) - Ninja build path = $(WORK_DIR)/$(PKG_DIR)/$(NINJA_BUILD_DIR) -ifeq ($(strip $(CMAKE_USE_NINJA)),1) - @$(MSG) - Use NASM = $(CMAKE_USE_NASM) -endif $(RUN) ninja -C $(NINJA_BUILD_DIR) .PHONY: ninja_install_target diff --git a/mk/spksrc.native-cmake-env.mk b/mk/spksrc.native-cmake-env.mk index b04c1e27e51..cfc9eae108c 100644 --- a/mk/spksrc.native-cmake-env.mk +++ b/mk/spksrc.native-cmake-env.mk @@ -27,19 +27,6 @@ ifeq ($(strip $(CMAKE_USE_NINJA)),1) CMAKE_ARGS += -G Ninja endif -# set default ASM build environment -ifeq ($(strip $(CMAKE_USE_NASM)),1) - NASM_BINARY = $(shell which nasm) - ifeq ($(NASM_BINARY),) - $(error nasm not found. Please install NASM assembler for CMAKE_USE_NASM=1) - endif - ENV += AS=$(NASM_BINARY) - CMAKE_ARGS += -DENABLE_ASSEMBLY=ON - CMAKE_ARGS += -DCMAKE_ASM_COMPILER=$(NASM_BINARY) -else - CMAKE_USE_NASM = 0 -endif - # set default use destdir ifeq ($(strip $(CMAKE_USE_DESTDIR)),) CMAKE_USE_DESTDIR = 1 diff --git a/mk/spksrc.native-cmake.mk b/mk/spksrc.native-cmake.mk index 44d131471b6..d04d6cd05f0 100644 --- a/mk/spksrc.native-cmake.mk +++ b/mk/spksrc.native-cmake.mk @@ -98,7 +98,6 @@ cat_PLIST: cmake_configure_target: @$(MSG) - CMake configure @$(MSG) - Dependencies = $(DEPENDS) - @$(MSG) - Use NASM = $(CMAKE_USE_NASM) @$(MSG) - Use DESTDIR = $(CMAKE_USE_DESTDIR) @$(MSG) - Path DESTDIR = $(CMAKE_DESTDIR) @$(MSG) - Path BUILD_DIR = $(CMAKE_BUILD_DIR) From bffe33badbdf70ee524175a5304e6dbad3ce24e6 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Thu, 19 Dec 2024 19:37:32 +0100 Subject: [PATCH 09/10] cross/x264: update build - disable support for OLD_PPC_ARCHS - build with assembler, except for PPC_ARCHS - remove obsolete configure args --enable-pic is forced with --enable-shared --cross-prefix is not required - remove definition of GNU_CONFIGURE and define --host - simplify definition of gcc as assembler if not using x86asm --- cross/x264/Makefile | 43 ++++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/cross/x264/Makefile b/cross/x264/Makefile index f7c72f810ff..18577ac03a7 100644 --- a/cross/x264/Makefile +++ b/cross/x264/Makefile @@ -9,33 +9,39 @@ PKG_DIR = $(PKG_NAME)-$(PKG_GIT_HASH) DEPENDS = +# configure fails in "endian test" +UNSUPPORTED_ARCHS = $(OLD_PPC_ARCHS) + HOMEPAGE = https://www.videolan.org/developers/x264.html COMMENT = x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC forma LICENSE = GPLv2 -GNU_CONFIGURE = 1 - -CONFIGURE_ARGS = --enable-shared -CONFIGURE_ARGS += --enable-pic +# configure with "GNU_CONFIGURE = 1" complains: "Unknown option --build=i686-pc-linux, ignored" +CONFIGURE_ARGS = --prefix=$(INSTALL_PREFIX) +CONFIGURE_ARGS += --enable-shared CONFIGURE_ARGS += --disable-opencl -CONFIGURE_ARGS += --prefix=$(INSTALL_PREFIX) -CONFIGURE_ARGS += --cross-prefix=$(TC_PATH)$(TC_PREFIX) include ../../mk/spksrc.cross-cc.mk -ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS) $(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) -ENV += x264_ARCH=ARM -CONFIGURE_ARGS += --disable-asm -endif +CONFIGURE_ARGS += --host=$(TC_TARGET) -ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) -ENV += x264_ARCH=ARM -CONFIGURE_ARGS += --host=aarch64-linux +# Define x86asm or use gcc as assembler +ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) +NASM_BINARY = $(shell which nasm) +ifeq ($(NASM_BINARY),) +$(error nasm not found. Please install NASM assembler) +endif +ENV += AS=$(NASM_BINARY) +else # Expects to be assembled with a C compiler as frontend # .s is raw assembly passed to as # .S is assembly which expects to be preprocessed by a cpp then fed to assembler # More info: https://code.videolan.org/videolan/x264/-/issues/61 -ENV += AS=$(abspath $(PWD)/../../toolchain/syno-$(ARCH)-$(TCVERSION)/work/$(TC_TARGET)/bin/$(TC_PREFIX)gcc) +ENV += AS=$(TC_PATH)$(TC_PREFIX)gcc +endif + +ifeq ($(findstring $(ARCH),$(ARM_ARCHS)),$(ARCH)) +ENV += x264_ARCH=ARM endif ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) @@ -43,15 +49,6 @@ ENV += x264_ARCH=PPC CONFIGURE_ARGS += --disable-asm endif -# Define x86asm -ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) -NASM_BINARY = $(shell which nasm) -ifeq ($(NASM_BINARY),) -$(error nasm not found. Please install NASM assembler) -endif -ENV += AS=$(NASM_BINARY) -endif - ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) ENV += x264_ARCH=X86_64 endif From 49d2ca735387d295974afa3631e71af315e88529 Mon Sep 17 00:00:00 2001 From: hgy59 Date: Thu, 19 Dec 2024 19:42:00 +0100 Subject: [PATCH 10/10] update build of cross/libvpx - define --as=auto to use yasmm (prefered over nasm) - document why we don't define GNU_CONFIGRE - remove concurring patch - avoid duplicate definition of --disable-neon --- cross/libvpx/Makefile | 25 ++++++++----------- .../001-gcc-over-ld-configure-fix.patch | 13 ---------- 2 files changed, 10 insertions(+), 28 deletions(-) delete mode 100644 cross/libvpx/patches/DSM-5.2/001-gcc-over-ld-configure-fix.patch diff --git a/cross/libvpx/Makefile b/cross/libvpx/Makefile index 124510107dd..69f3dfca36b 100644 --- a/cross/libvpx/Makefile +++ b/cross/libvpx/Makefile @@ -16,7 +16,10 @@ LICENSE = https://raw.githubusercontent.com/webmproject/libvpx/master/LICENSE INSTALL_TARGET = libvpx_install -CONFIGURE_ARGS += --disable-static --enable-shared --prefix=$(INSTALL_PREFIX) +# configure does not work with GNU_CONFIGURE = 1 (Unknown option "--host=x86_64-pc-linux-gnu") +CONFIGURE_ARGS = --prefix=$(INSTALL_PREFIX) + +CONFIGURE_ARGS += --disable-static --enable-shared CONFIGURE_ARGS += --enable-vp8 --enable-vp9 --disable-examples --disable-docs --disable-unit_tests CONFIGURE_ARGS += --enable-postproc --enable-vp9-postproc --enable-pic CONFIGURE_ARGS += --enable-vp9-highbitdepth --enable-better-hw-compatibility @@ -27,41 +30,33 @@ include ../../mk/spksrc.archs.mk ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH)) CONFIGURE_ARGS += --target=generic-gnu -ADDITIONAL_CPPFLAGS = -std=c++0x ADDITIONAL_CXXFLAGS = -std=c++0x endif ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH)) CONFIGURE_ARGS += --target=armv7-linux-gcc -CONFIGURE_ARGS += --disable-neon endif ifeq ($(findstring $(ARCH),$(PPC_ARCHS)),$(ARCH)) CONFIGURE_ARGS += --target=generic-gnu endif -# neon_asm does not work under armv8/arm64 ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH)) CONFIGURE_ARGS += --target=armv8-linux-gcc endif -# Define x86asm -ifeq ($(findstring $(ARCH),$(i686_ARCHS) $(x64_ARCHS)),$(ARCH)) -NASM_BINARY = $(shell which nasm) -ifeq ($(NASM_BINARY),) -$(error nasm not found. Please install NASM assembler) -endif -ENV += AS=$(NASM_BINARY) -CONFIGURE_ARGS += --as=nasm -CONFIGURE_ARGS += --disable-sse4_1 -endif - ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH)) CONFIGURE_ARGS += --target=x86-linux-gcc +# --as=auto: prefers yasm over nasm +CONFIGURE_ARGS += --as=auto +CONFIGURE_ARGS += --disable-sse4_1 endif ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH)) CONFIGURE_ARGS += --target=x86_64-linux-gcc +# --as=auto: prefers yasm over nasm +CONFIGURE_ARGS += --as=auto +CONFIGURE_ARGS += --disable-sse4_1 endif include ../../mk/spksrc.cross-cc.mk diff --git a/cross/libvpx/patches/DSM-5.2/001-gcc-over-ld-configure-fix.patch b/cross/libvpx/patches/DSM-5.2/001-gcc-over-ld-configure-fix.patch deleted file mode 100644 index cba964fd518..00000000000 --- a/cross/libvpx/patches/DSM-5.2/001-gcc-over-ld-configure-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -uprN ../libvpx-1.8.2/build/make/configure.sh ./build/make/configure.sh ---- ../libvpx-1.8.2/build/make/configure.sh 2019-12-09 18:09:20.000000000 -0500 -+++ ./build/make/configure.sh 2020-02-23 19:52:19.777660739 -0500 -@@ -689,7 +689,8 @@ setup_gnu_toolchain() { - CC=${CC:-${CROSS}gcc} - CXX=${CXX:-${CROSS}g++} - AR=${AR:-${CROSS}ar} -- LD=${LD:-${CROSS}${link_with_cc:-ld}} -+ #LD=${LD:-${CROSS}${link_with_cc:-ld}} -+ LD=${CC} - AS=${AS:-${CROSS}as} - STRIP=${STRIP:-${CROSS}strip} - NM=${NM:-${CROSS}nm}