Index: branches/2019Q1/multimedia/libvpx/Makefile =================================================================== --- branches/2019Q1/multimedia/libvpx/Makefile (revision 489061) +++ branches/2019Q1/multimedia/libvpx/Makefile (revision 489062) @@ -1,77 +1,74 @@ # Created by: Ashish SHUKLA # $FreeBSD$ PORTNAME= libvpx DISTVERSIONPREFIX= v DISTVERSION= 1.7.0 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= multimedia MAINTAINER= jbeich@FreeBSD.org COMMENT= VP8/VP9 Codec SDK LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= nasm:devel/nasm USE_GITHUB= yes GH_ACCOUNT= webmproject USES= compiler:c++11-lib cpe gmake perl5 shebangfix CPE_VENDOR= john_koleszar HAS_CONFIGURE= yes USE_PERL5= build USE_LDCONFIG= yes SHEBANG_FILES= build/make/ads2gas.pl -CONFIGURE_ENV= ASFLAGS="${ASFLAGS}" CONFIGURE_ARGS= --prefix=${PREFIX} \ --disable-install-docs \ --disable-install-srcs \ --enable-pic \ --enable-vp8 \ --enable-vp9 MAKE_ARGS+= verbose=yes -ASFLAGS+= ${ASFLAGS_${MACHINE}} -ASFLAGS_arm= -meabi=5 ALL_TARGET= # empty OPTIONS_DEFINE= DEBUG MULTIRES POSTPROC RTCPU SHARED SIZE_LIMIT TEST THREADS OPTIONS_DEFAULT=MULTIRES POSTPROC RTCPU SHARED SIZE_LIMIT THREADS OPTIONS_EXCLUDE_powerpcspe=RTCPU OPTIONS_SUB= yes DEBUG_CONFIGURE_ON= --enable-debug MULTIRES_DESC= Enable multi-resolution encoding MULTIRES_CONFIGURE_ON= --enable-multi-res-encoding POSTPROC_DESC= Enable postprocessing POSTPROC_CONFIGURE_ON= --enable-postproc --enable-vp9-postproc \ --enable-vp9-temporal-denoising RTCPU_DESC= Detect CPU capabilities at runtime RTCPU_CONFIGURE_ON= --enable-runtime-cpu-detect SHARED_DESC= Enable shared-library support SHARED_CONFIGURE_ON= --enable-shared SIZE_LIMIT_DESC= Maximum size allowed by decoder: ${SIZE_LIMIT} SIZE_LIMIT_CONFIGURE_ON=--size-limit=${SIZE_LIMIT} SIZE_LIMIT?= 16384x16384 # Chromium; Firefox has 4000x3000 TEST_CONFIGURE_OFF= --disable-unit-tests THREADS_CONFIGURE_OFF= --disable-multithread post-patch: @${REINPLACE_CMD} -E '/gcctarget|link_with_cc/s/gcc[[:>:]]/$${CC}/' \ ${WRKSRC}/build/make/configure.sh post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vpx* post-install-SHARED-on: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libvpx.so.*.*.* .include Index: branches/2019Q1/multimedia/libvpx/files/patch-build_make_Makefile =================================================================== --- branches/2019Q1/multimedia/libvpx/files/patch-build_make_Makefile (revision 489061) +++ branches/2019Q1/multimedia/libvpx/files/patch-build_make_Makefile (revision 489062) @@ -1,13 +1,44 @@ +- Make sure NEON is available when building with intrinsics + --- build/make/Makefile.orig +++ build/make/Makefile +@@ -142,6 +142,28 @@ $(BUILD_PFX)%_avx2.c.o: CFLAGS += -mavx2 + $(BUILD_PFX)%_avx512.c.d: CFLAGS += -mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl + $(BUILD_PFX)%_avx512.c.o: CFLAGS += -mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl + ++# ARM ++ifeq ($(TGT_ISA),armv6) ++ifeq (,$(filter -march=%,$(CFLAGS))) ++$(BUILD_PFX)%_neon.c.d: CFLAGS += -march=armv7-a ++$(BUILD_PFX)%_neon.c.o: CFLAGS += -march=armv7-a ++$(BUILD_PFX)%_neon.asm.S.d: ASFLAGS += -march=armv7-a ++$(BUILD_PFX)%_neon.asm.S.o: ASFLAGS += -march=armv7-a ++$(BUILD_PFX)%_neon_asm.asm.S.d: ASFLAGS += -march=armv7-a ++$(BUILD_PFX)%_neon_asm.asm.S.o: ASFLAGS += -march=armv7-a ++endif ++$(BUILD_PFX)%_neon.asm.S.d: ASFLAGS += -meabi=5 ++$(BUILD_PFX)%_neon.asm.S.o: ASFLAGS += -meabi=5 ++$(BUILD_PFX)%_neon_asm.asm.S.d: ASFLAGS += -meabi=5 ++$(BUILD_PFX)%_neon_asm.asm.S.o: ASFLAGS += -meabi=5 ++endif ++ifneq (,$(filter arm%,$(TGT_ISA))) ++$(BUILD_PFX)%_neon.asm.S.d: ASFLAGS += -mfpu=neon ++$(BUILD_PFX)%_neon.asm.S.o: ASFLAGS += -mfpu=neon ++$(BUILD_PFX)%_neon_asm.asm.S.d: ASFLAGS += -mfpu=neon ++$(BUILD_PFX)%_neon_asm.asm.S.o: ASFLAGS += -mfpu=neon ++endif ++ + # POWER + $(BUILD_PFX)%_vsx.c.d: CFLAGS += -maltivec -mvsx + $(BUILD_PFX)%_vsx.c.o: CFLAGS += -maltivec -mvsx @@ -230,8 +230,8 @@ define install_map_template $(DIST_DIR)/$(1): $(2) $(if $(quiet),@echo " [INSTALL] $$@") - $(qexec)mkdir -p $$(dir $$@) - $(qexec)cp -p $$< $$@ + $(qexec)install -d $$(dir $$@) + $(qexec)install -p $$< $$(dir $$@) endef define archive_template Index: branches/2019Q1/multimedia/libvpx/files/patch-build_make_configure.sh =================================================================== --- branches/2019Q1/multimedia/libvpx/files/patch-build_make_configure.sh (revision 489061) +++ branches/2019Q1/multimedia/libvpx/files/patch-build_make_configure.sh (revision 489062) @@ -1,29 +1,69 @@ -- Add armv6 targets where NEON depends on CFLAGS +- Add armv6 targets and try NEON there - Recognize DragonFly as x86_64-linux-gcc target by default +- Don't override -march= on armv6, armv7 and aarch64 --- build/make/configure.sh.orig 2018-01-24 22:25:44 UTC +++ build/make/configure.sh @@ -696,6 +696,14 @@ process_common_toolchain() { aarch64*) tgt_isa=arm64 ;; + armv6*-gnueabihf) + tgt_isa=armv6 + float_abi=hard + ;; + armv6*-gnueabi) + tgt_isa=armv6 + float_abi=softfp + ;; armv7*-hardfloat* | armv7*-gnueabihf | arm-*-gnueabihf) tgt_isa=armv7 float_abi=hard @@ -767,7 +767,7 @@ process_common_toolchain() { [ -z "$tgt_isa" ] && tgt_isa=x86 tgt_os=win32 ;; - *linux*|*bsd*) + *linux*|*dragonfly*|*bsd*) tgt_os=linux ;; *solaris2.10) +@@ -914,7 +922,7 @@ process_common_toolchain() { + arm64|armv8) + soft_enable neon + ;; +- armv7|armv7s) ++ armv6|armv7|armv7s) + soft_enable neon + # Only enable neon_asm when neon is also enabled. + enabled neon && soft_enable neon_asm +@@ -935,29 +943,6 @@ + arch_int=${arch_int%%te} + check_add_asflags --defsym ARCHITECTURE=${arch_int} + tune_cflags="-mtune=" +- if [ ${tgt_isa} = "armv7" ] || [ ${tgt_isa} = "armv7s" ]; then +- if [ -z "${float_abi}" ]; then +- check_cpp <