Hi The following diff fixes target os detection in libvpx by actually trying to use ${CC} instead of hardcoding gcc.
This patch also fixes *chromium, iridium video and screen sharing because some code is only enabled on the non-generic target platform. I've also fixed up tests which now can be exeuted in the port. ok? Index: Makefile =================================================================== RCS file: /cvs/ports/multimedia/libvpx/Makefile,v diff -u -p -u -r1.52 Makefile --- Makefile 2 Oct 2023 18:11:05 -0000 1.52 +++ Makefile 8 Feb 2024 09:04:55 -0000 @@ -6,6 +6,8 @@ GH_TAGNAME= v1.13.1 EPOCH= 0 CATEGORIES= multimedia +REVISION= 0 + SHARED_LIBS= vpx 16.0 HOMEPAGE= https://www.webmproject.org/ @@ -34,14 +36,14 @@ CONFIGURE_ARGS+=--enable-shared \ --enable-runtime-cpu-detect \ --enable-vp9-highbitdepth \ --prefix=${PREFIX} \ - --disable-optimizations \ - --disable-unit-tests + --enable-optimizations \ + --enable-unit-tests \ + --enable-decode-perf-tests \ + --enable-encode-perf-tests .if ${MACHINE_ARCH} == "arm" CONFIGURE_ARGS+=--disable-neon .endif - -NO_TEST= Yes ALL_TARGET= Index: patches/patch-build_make_configure_sh =================================================================== RCS file: patches/patch-build_make_configure_sh diff -N patches/patch-build_make_configure_sh --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-build_make_configure_sh 8 Feb 2024 09:04:55 -0000 @@ -0,0 +1,77 @@ +Index: build/make/configure.sh +--- build/make/configure.sh.orig ++++ build/make/configure.sh +@@ -700,8 +700,8 @@ post_process_cmdline() { + } + + setup_gnu_toolchain() { +- CC=${CC:-${CROSS}gcc} +- CXX=${CXX:-${CROSS}g++} ++ CC=${CC:-${CROSS}cc} ++ CXX=${CXX:-${CROSS}c++} + AR=${AR:-${CROSS}ar} + LD=${LD:-${CROSS}${link_with_cc:-ld}} + AS=${AS:-${CROSS}as} +@@ -745,7 +745,7 @@ check_xcode_minimum_version() { + + process_common_toolchain() { + if [ -z "$toolchain" ]; then +- gcctarget="${CHOST:-$(gcc -dumpmachine 2> /dev/null)}" ++ gcctarget="${CHOST:-$(${CC} -dumpmachine 2> /dev/null)}" + # detect tgt_isa + case "$gcctarget" in + aarch64*) +@@ -988,7 +988,7 @@ process_common_toolchain() { + + case ${tgt_cc} in + gcc) +- link_with_cc=gcc ++ link_with_cc=${CC} + setup_gnu_toolchain + arch_int=${tgt_isa##armv} + arch_int=${arch_int%%te} +@@ -1203,7 +1203,7 @@ EOF + esac + ;; + mips*) +- link_with_cc=gcc ++ link_with_cc=${CC} + setup_gnu_toolchain + tune_cflags="-mtune=" + if enabled dspr2; then +@@ -1254,7 +1254,7 @@ EOF + check_add_asflags -KPIC + ;; + ppc64le*) +- link_with_cc=gcc ++ link_with_cc=${CC} + setup_gnu_toolchain + # Do not enable vsx by default. + # https://bugs.chromium.org/p/webm/issues/detail?id=1522 +@@ -1311,7 +1311,7 @@ EOF + esac + ;; + gcc*) +- link_with_cc=gcc ++ link_with_cc=${CC} + tune_cflags="-march=" + setup_gnu_toolchain + #for 32 bit x86 builds, -O3 did not turn on this flag +@@ -1442,7 +1442,7 @@ EOF + esac + ;; + loongarch*) +- link_with_cc=gcc ++ link_with_cc=${CC} + setup_gnu_toolchain + + enabled lsx && check_inline_asm lsx '"vadd.b $vr0, $vr1, $vr1"' +@@ -1451,7 +1451,7 @@ EOF + enabled lasx && soft_enable runtime_cpu_detect + ;; + *-gcc|generic-gnu) +- link_with_cc=gcc ++ link_with_cc=${CC} + enable_feature gcc + setup_gnu_toolchain + ;; Index: patches/patch-libs_mk =================================================================== RCS file: /cvs/ports/multimedia/libvpx/patches/patch-libs_mk,v diff -u -p -u -r1.22 patch-libs_mk --- patches/patch-libs_mk 4 Oct 2022 11:30:19 -0000 1.22 +++ patches/patch-libs_mk 8 Feb 2024 09:04:55 -0000 @@ -41,3 +41,29 @@ Index: libs.mk INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBSUBDIR)/$(LIBVPX_SO) INSTALL-LIBS-$(CONFIG_SHARED) += $(if $(LIBVPX_SO_IMPLIB),$(LIBSUBDIR)/$(LIBVPX_SO_IMPLIB)) +@@ -544,7 +531,7 @@ testdata: $(LIBVPX_TEST_DATA) + set -e;\ + echo "Checking test data:";\ + for f in $(call enabled,LIBVPX_TEST_DATA); do\ +- grep $$f $(SRC_PATH_BARE)/test/test-data.sha1 |\ ++ grep $$f $(SRC_PATH_BARE)/test/test-data.sha1 | tr -d '*' |\ + (cd $(LIBVPX_TEST_DATA_PATH); $${sha1sum} -c);\ + done; \ + else\ +@@ -656,7 +643,7 @@ BINS-yes += $(LIBVPX_TEST_BIN) + + CODEC_LIB=$(if $(CONFIG_DEBUG_LIBS),vpx_g,vpx) + CODEC_LIB_SUF=$(if $(CONFIG_SHARED),$(SHARED_LIB_SUF),.a) +-TEST_LIBS := lib$(CODEC_LIB)$(CODEC_LIB_SUF) libgtest.a ++TEST_LIBS := lib$(CODEC_LIB)$(CODEC_LIB_SUF).$(LIBVPX_VERSION) libgtest.a + $(LIBVPX_TEST_BIN): $(TEST_LIBS) + $(eval $(call linkerxx_template,$(LIBVPX_TEST_BIN), \ + $(LIBVPX_TEST_OBJS) \ +@@ -715,6 +702,7 @@ test_shard.$(1) test_shard_ndc.$(1): $(LIBVPX_TEST_BIN + @set -e; \ + export GTEST_SHARD_INDEX=$(1); \ + export GTEST_TOTAL_SHARDS=$(2); \ ++ export LD_LIBRARY_PATH=$(CURDIR); \ + $(LIBVPX_TEST_BIN) + test_shard.$(1): testdata + .PHONY: test_shard.$(1) test_shard_ndc.$(1)