Skip to content

Commit

Permalink
spdlog0: backport upstream fix for old systems
Browse files Browse the repository at this point in the history
  • Loading branch information
barracuda156 committed Aug 25, 2024
1 parent e3dfc70 commit ef1754f
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
3 changes: 3 additions & 0 deletions devel/spdlog0/Portfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,7 @@ github.tarball_from archive
supported_archs noarch
compiler.cxx_standard 2011

# Backport of https://github.com/gabime/spdlog/commit/c65aa4e4889939c1afa82001db349cac237a13f8
patchfiles patch-pthread.diff

livecheck.type none
32 changes: 32 additions & 0 deletions devel/spdlog0/files/patch-pthread.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
--- include/spdlog/details/os.h 2018-05-22 01:38:13.000000000 +0800
+++ include/spdlog/details/os.h 2024-08-25 09:14:56.000000000 +0800
@@ -49,6 +49,10 @@

#endif // unix

+#if defined __APPLE__
+#include <AvailabilityMacros.h>
+#endif
+
#ifndef __has_feature // Clang - feature checking macros.
#define __has_feature(x) 0 // Compatibility with non-clang compilers.
#endif
@@ -337,7 +341,17 @@
return static_cast<size_t>(tid);
#elif __APPLE__
uint64_t tid;
- pthread_threadid_np(nullptr, &tid);
+#if (MAC_OS_X_VERSION_MAX_ALLOWED < 1060) || defined(__POWERPC__)
+ tid = pthread_mach_thread_np(pthread_self());
+#elif MAC_OS_X_VERSION_MIN_REQUIRED < 1060
+ if (&pthread_threadid_np) {
+ pthread_threadid_np(nullptr, &tid);
+ } else {
+ tid = pthread_mach_thread_np(pthread_self());
+ }
+#else
+ pthread_threadid_np(nullptr, &tid);
+#endif
return static_cast<size_t>(tid);
#else // Default to standard C++11 (other Unix)
return static_cast<size_t>(std::hash<std::thread::id>()(std::this_thread::get_id()));

0 comments on commit ef1754f

Please sign in to comment.