Index: head/multimedia/aom/Makefile =================================================================== --- head/multimedia/aom/Makefile (revision 485106) +++ head/multimedia/aom/Makefile (revision 485107) @@ -1,32 +1,32 @@ # $FreeBSD$ PORTNAME= aom DISTVERSIONPREFIX= v -DISTVERSION= 1.0.0-923 -DISTVERSIONSUFFIX= -ge5eec6c5e +DISTVERSION= 1.0.0-941 +DISTVERSIONSUFFIX= -gd2a592e1c CATEGORIES= multimedia MAINTAINER= jbeich@FreeBSD.org COMMENT= AV1 Codec Library LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${BUILD_DEPENDS_${ARCH}} BUILD_DEPENDS_amd64= nasm:devel/nasm BUILD_DEPENDS_i386= nasm:devel/nasm USES= cmake:outsource compiler:c++11-lib perl5 USE_GITHUB= yes USE_PERL5= build USE_LDCONFIG= yes GH_ACCOUNT= jbeich # mirror CMAKE_ON= BUILD_SHARED_LIBS CMAKE_OFF= ENABLE_DOCS ENABLE_TESTS post-patch: # Extract (snapshot) version from GH_TAGNAME instead of CHANGELOG @${REINPLACE_CMD} 's,$${AOM_ROOT}/CHANGELOG,${GH_TAGNAME:S/^v//},' \ ${WRKSRC}/build/cmake/version.cmake .include Index: head/multimedia/aom/distinfo =================================================================== --- head/multimedia/aom/distinfo (revision 485106) +++ head/multimedia/aom/distinfo (revision 485107) @@ -1,3 +1,3 @@ -TIMESTAMP = 1542043646 -SHA256 (jbeich-aom-v1.0.0-923-ge5eec6c5e_GH0.tar.gz) = 74296674960dcfec3d58e2bebd7b81c54321d1f563740f6ddaadf6e6263b5d4b -SIZE (jbeich-aom-v1.0.0-923-ge5eec6c5e_GH0.tar.gz) = 3050131 +TIMESTAMP = 1542399860 +SHA256 (jbeich-aom-v1.0.0-941-gd2a592e1c_GH0.tar.gz) = f0727a7bcd3121cb74f61166244265548a5f5ddb691d512f9ee42669d1e7239c +SIZE (jbeich-aom-v1.0.0-941-gd2a592e1c_GH0.tar.gz) = 3058963 Index: head/multimedia/aom/files/patch-aom__ports_arm__cpudetect.c =================================================================== --- head/multimedia/aom/files/patch-aom__ports_arm__cpudetect.c (revision 485106) +++ head/multimedia/aom/files/patch-aom__ports_arm__cpudetect.c (revision 485107) @@ -1,77 +1,77 @@ - Assume NEON is enabled on aarch64 - Implement NEON runtime detection on FreeBSD ---- aom_ports/arm_cpudetect.c.orig 2018-06-25 14:54:59 UTC +--- aom_ports/arm_cpudetect.c.orig 2018-11-16 20:24:20 UTC +++ aom_ports/arm_cpudetect.c @@ -38,7 +38,7 @@ static int arm_cpu_env_mask(void) { return env && *env ? (int)strtol(env, NULL, 0) : ~0; } -#if !CONFIG_RUNTIME_CPU_DETECT +#if !CONFIG_RUNTIME_CPU_DETECT || defined(__ARM_NEON) - int arm_cpu_caps(void) { + int aom_arm_cpu_caps(void) { /* This function should actually be a no-op. There is no way to adjust any of -@@ -143,7 +143,61 @@ int arm_cpu_caps(void) { +@@ -143,7 +143,61 @@ int aom_arm_cpu_caps(void) { } return flags & mask; } -#else /* end __linux__ */ +#elif defined(__FreeBSD__) + +#if 0 // __has_include() +#include +#else +#include +#include +#include +#include +#include + +static unsigned long getauxval(unsigned long type) { + Elf_Auxinfo auxv[AT_COUNT]; + size_t len = sizeof(auxv); + int mib[] = { + CTL_KERN, + KERN_PROC, + KERN_PROC_AUXV, + getpid(), + }; + + if (sysctl(mib, nitems(mib), auxv, &len, NULL, 0) != -1) { + for (size_t i = 0; i < nitems(auxv); i++) + if ((unsigned long)auxv[i].a_type == type) + return auxv[i].a_un.a_val; + + errno = ENOENT; + } + return 0; +} +#endif + +#ifndef AT_HWCAP +#define AT_HWCAP 25 /* 16 on Linux */ +#endif + +#ifndef HWCAP_NEON +#define HWCAP_NEON (1 << 12) +#endif + -+int arm_cpu_caps(void) { ++int aom_arm_cpu_caps(void) { + int flags; + int mask; + unsigned long hwcaps; + if (!arm_cpu_env_flags(&flags)) { + return flags; + } + mask = arm_cpu_env_mask(); + hwcaps = getauxval(AT_HWCAP); +#if HAVE_NEON + if (hwcaps & HWCAP_NEON) flags |= HAS_NEON; +#endif + return flags & mask; +} +#else /* end __FreeBSD__ */ #error \ "--enable-runtime-cpu-detect selected, but no CPU detection method " \ "available for your platform. Reconfigure with --disable-runtime-cpu-detect." Index: head/multimedia/aom/files/patch-build_cmake_aom__configure.cmake =================================================================== --- head/multimedia/aom/files/patch-build_cmake_aom__configure.cmake (revision 485106) +++ head/multimedia/aom/files/patch-build_cmake_aom__configure.cmake (revision 485107) @@ -1,52 +1,38 @@ - uname -p returns amd64 on FreeBSD/OpenBSD but x86_64 on DragonFly/NetBSD -- Automatically fall back to generic without forcing downstream to maintain whitelist - More ELF platforms can use GNU assembler on non-x86 ---- build/cmake/aom_configure.cmake.orig 2018-06-25 14:54:59 UTC +--- build/cmake/aom_configure.cmake.orig 2018-11-16 20:24:20 UTC +++ build/cmake/aom_configure.cmake -@@ -51,6 +51,7 @@ endforeach() +@@ -37,6 +37,7 @@ string(STRIP "${AOM_CMAKE_CONFIG}" AOM_CMAKE_CONFIG) # Detect target CPU. if(NOT AOM_TARGET_CPU) if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64" OR + "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "amd64" OR "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") if(${CMAKE_SIZEOF_VOID_P} EQUAL 4) set(AOM_TARGET_CPU "x86") -@@ -122,10 +123,8 @@ else() - endif() - - if(NOT "${AOM_SUPPORTED_CPU_TARGETS}" MATCHES "${AOM_TARGET_CPU}") -- message(FATAL_ERROR -- "No RTCD support for ${AOM_TARGET_CPU}. Create it, or " -- "add -DAOM_TARGET_CPU=generic to your cmake command line for a " -- "generic build of libaom and tools.") -+ message(WARNING "No RTCD support for ${AOM_TARGET_CPU}. Assuming generic.") -+ set(AOM_TARGET_CPU generic) - endif() - - if("${AOM_TARGET_CPU}" STREQUAL "x86" OR "${AOM_TARGET_CPU}" STREQUAL "x86_64") -@@ -151,20 +150,15 @@ elseif("${AOM_TARGET_CPU}" MATCHES "arm") +@@ -136,20 +137,15 @@ elseif("${AOM_TARGET_CPU}" MATCHES "arm") if("${AOM_TARGET_SYSTEM}" STREQUAL "Darwin") set(AS_EXECUTABLE as) set(AOM_AS_FLAGS -arch ${AOM_TARGET_CPU} -isysroot ${CMAKE_OSX_SYSROOT}) - elseif("${AOM_TARGET_SYSTEM}" STREQUAL "Linux") - if(NOT AS_EXECUTABLE) - set(AS_EXECUTABLE as) - endif() elseif("${AOM_TARGET_SYSTEM}" STREQUAL "Windows") if(NOT AS_EXECUTABLE) set(AS_EXECUTABLE ${CMAKE_C_COMPILER} -c -mimplicit-it=always) endif() + else() + if(NOT AS_EXECUTABLE) + set(AS_EXECUTABLE as) + endif() endif() - if(NOT AS_EXECUTABLE) - message(FATAL_ERROR - "Unknown assembler for: ${AOM_TARGET_CPU}-${AOM_TARGET_SYSTEM}") - endif() - string(STRIP "${AOM_AS_FLAGS}" AOM_AS_FLAGS) endif() Index: head/multimedia/aom/files/patch-build_cmake_cpu.cmake =================================================================== --- head/multimedia/aom/files/patch-build_cmake_cpu.cmake (nonexistent) +++ head/multimedia/aom/files/patch-build_cmake_cpu.cmake (revision 485107) @@ -0,0 +1,13 @@ +- Don't enable NEON on armv6 similar to build/cmake/rtcd.pl + +--- build/cmake/cpu.cmake.orig 2018-11-16 20:24:20 UTC ++++ build/cmake/cpu.cmake +@@ -9,7 +9,7 @@ + # can obtain it at www.aomedia.org/license/patent. + # + +-if("${AOM_TARGET_CPU}" MATCHES "^arm") ++if("${AOM_TARGET_CPU}" MATCHES "^armv[78]") + set(ARCH_ARM 1) + set(RTCD_ARCH_ARM "yes") + Property changes on: head/multimedia/aom/files/patch-build_cmake_cpu.cmake ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property