diff options
author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2021-09-30 19:02:16 +0000 |
---|---|---|
committer | Piotr Kubaj <pkubaj@FreeBSD.org> | 2021-09-30 19:02:16 +0000 |
commit | 6280c5793ec5d93b939844f8fc35fde21e8ffb9e (patch) | |
tree | b375d125aefd9661e8ad2d08498577242d3efe59 /graphics | |
parent | 207c68b99331862b099e4d387dbed5bd41fcf3bc (diff) | |
download | ports-6280c5793ec5d93b939844f8fc35fde21e8ffb9e.tar.gz ports-6280c5793ec5d93b939844f8fc35fde21e8ffb9e.zip |
graphics/libjxl: use the upstream build fix from https://github.com/google/highway/commit/3769cb2c464c
While here, also remove the BROKEN_powerpc64 (I did not see it because I tested
on powerpc64le previously).
Reported by: jbeich
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/libjxl/Makefile | 2 | ||||
-rw-r--r-- | graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc | 46 |
2 files changed, 27 insertions, 21 deletions
diff --git a/graphics/libjxl/Makefile b/graphics/libjxl/Makefile index 843bf74a3b54..8de3e64d4913 100644 --- a/graphics/libjxl/Makefile +++ b/graphics/libjxl/Makefile @@ -15,8 +15,6 @@ LICENSE_COMB= multi LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/LICENSE LICENSE_FILE_ZLIB= ${WRKSRC}/third_party/lodepng/LICENSE -BROKEN_powerpc64= https://github.com/google/highway/issues/345 - LIB_DEPENDS= libbrotlienc.so:archivers/brotli TEST_DEPENDS= googletest>0:devel/googletest diff --git a/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc b/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc index a4dcea0f17e3..50e151fd7a30 100644 --- a/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc +++ b/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc @@ -1,30 +1,38 @@ ---- third_party/highway/hwy/nanobenchmark.cc.orig 2021-09-30 15:38:30 UTC +--- third_party/highway/hwy/nanobenchmark.cc.orig 2021-06-09 08:56:32 UTC +++ third_party/highway/hwy/nanobenchmark.cc -@@ -47,7 +47,12 @@ +@@ -46,7 +46,7 @@ + #endif #include "hwy/base.h" - #if HWY_ARCH_PPC -+#if linux +-#if HWY_ARCH_PPC ++#if HWY_ARCH_PPC && defined(__GLIBC__) #include <sys/platform/ppc.h> // NOLINT __ppc_get_timebase_freq -+#elif __FreeBSD__ -+#include <sys/types.h> -+#include <sys/sysctl.h> /* must come after sys/types.h */ -+#endif #elif HWY_ARCH_X86 - #if HWY_COMPILER_MSVC -@@ -400,7 +405,14 @@ double NominalClockRate() { +@@ -119,7 +119,7 @@ using Ticks = uint64_t; + // divide by InvariantTicksPerSecond. + inline Ticks Start() { + Ticks t; +-#if HWY_ARCH_PPC ++#if HWY_ARCH_PPC && defined(__GLIBC__) + asm volatile("mfspr %0, %1" : "=r"(t) : "i"(268)); + #elif HWY_ARCH_X86 && HWY_COMPILER_MSVC + _ReadWriteBarrier(); +@@ -161,7 +161,7 @@ inline Ticks Start() { + + inline Ticks Stop() { + uint64_t t; +-#if HWY_ARCH_PPC ++#if HWY_ARCH_PPC && defined(__GLIBC__) + asm volatile("mfspr %0, %1" : "=r"(t) : "i"(268)); + #elif HWY_ARCH_X86 && HWY_COMPILER_MSVC + _ReadWriteBarrier(); +@@ -399,7 +399,7 @@ double NominalClockRate() { + } // namespace double InvariantTicksPerSecond() { - #if HWY_ARCH_PPC -+#if linux +-#if HWY_ARCH_PPC ++#if HWY_ARCH_PPC && defined(__GLIBC__) return __ppc_get_timebase_freq(); -+#elif __FreeBSD__ -+ static double cycles_per_second = 0; -+ size_t length = sizeof(cycles_per_second); -+ sysctlbyname("kern.timecounter.tc.timebase.frequency", &cycles_per_second, -+ &length, NULL, 0); -+#endif #elif HWY_ARCH_X86 // We assume the TSC is invariant; it is on all recent Intel/AMD CPUs. - return NominalClockRate(); |