diff --git a/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc b/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc new file mode 100644 index 000000000000..a4dcea0f17e3 --- /dev/null +++ b/graphics/libjxl/files/patch-third__party_highway_hwy_nanobenchmark.cc @@ -0,0 +1,30 @@ +--- third_party/highway/hwy/nanobenchmark.cc.orig 2021-09-30 15:38:30 UTC ++++ third_party/highway/hwy/nanobenchmark.cc +@@ -47,7 +47,12 @@ + + #include "hwy/base.h" + #if HWY_ARCH_PPC ++#if linux + #include // NOLINT __ppc_get_timebase_freq ++#elif __FreeBSD__ ++#include ++#include /* must come after sys/types.h */ ++#endif + #elif HWY_ARCH_X86 + + #if HWY_COMPILER_MSVC +@@ -400,7 +405,14 @@ double NominalClockRate() { + + double InvariantTicksPerSecond() { + #if HWY_ARCH_PPC ++#if linux + 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(); diff --git a/graphics/libjxl/files/patch-tools_cpu_cpu.cc b/graphics/libjxl/files/patch-tools_cpu_cpu.cc new file mode 100644 index 000000000000..6a50f6aa0951 --- /dev/null +++ b/graphics/libjxl/files/patch-tools_cpu_cpu.cc @@ -0,0 +1,13 @@ +--- tools/cpu/cpu.cc.orig 2021-09-30 15:38:45 UTC ++++ tools/cpu/cpu.cc +@@ -19,7 +19,9 @@ + #endif + + #if JXL_ARCH_PPC +-#include // __ppc_get_timebase_freq ++#if linux ++#include // NOLINT __ppc_get_timebase_freq ++#endif + #endif + + #if JXL_ARCH_ARM