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)

Reply via email to