Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Sep 2021 15:50:50 GMT
From:      Piotr Kubaj <pkubaj@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: fc75da3a3b2a - main - graphics/libjxl: fix build on powerpc64*
Message-ID:  <202109301550.18UFoo8j096475@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fc75da3a3b2adf1148010fe1f3cd75528387bdcc

commit fc75da3a3b2adf1148010fe1f3cd75528387bdcc
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2021-09-30 15:48:31 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2021-09-30 15:48:31 +0000

    graphics/libjxl: fix build on powerpc64*
    
    Add FreeBSD variants for linux code.
    
    The include in cpu.cc is not actually necessary, so I did not include anything for FreeBSD.
---
 ...patch-third__party_highway_hwy_nanobenchmark.cc | 30 ++++++++++++++++++++++
 graphics/libjxl/files/patch-tools_cpu_cpu.cc       | 13 ++++++++++
 2 files changed, 43 insertions(+)

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 <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() {
+ 
+ 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 <sys/platform/ppc.h>  // __ppc_get_timebase_freq
++#if linux
++#include <sys/platform/ppc.h>  // NOLINT __ppc_get_timebase_freq
++#endif
+ #endif
+ 
+ #if JXL_ARCH_ARM



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202109301550.18UFoo8j096475>