The diff below lets libstdthreads build on sparc64.  Making this build
with base-gcc look more convoluted.  Should this code move to base one
day, we'd probably build it with clang anyway.

FWIW __has_extension has been introduced in gcc >= 14.

ok?


Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/libstdthreads/Makefile,v
diff -u -p -r1.2 Makefile
--- Makefile    21 Sep 2023 09:49:59 -0000      1.2
+++ Makefile    1 Sep 2024 19:50:30 -0000
@@ -13,6 +13,8 @@ SHARED_LIBS +=  stdthreads              
 PERMIT_PACKAGE =       Yes
 
 WANTLIB =              pthread
+COMPILER =             base-clang ports-gcc
+COMPILER_LANGS =       c
 
 FAKE_FLAGS =           LIBDIR=${TRUEPREFIX}/lib \
                        MANDIR=${TRUEPREFIX}/man/man
Index: patches/patch-threads_h
===================================================================
RCS file: patches/patch-threads_h
diff -N patches/patch-threads_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-threads_h     1 Sep 2024 19:50:30 -0000
@@ -0,0 +1,16 @@
+__has_extension support added in gcc >= 14
+
+Index: threads.h
+--- threads.h.orig
++++ threads.h
+@@ -45,6 +45,10 @@
+  * held.
+  */
+ 
++#ifndef __has_extension
++#define __has_extension(_e)   0
++#endif
++
+ #if __has_extension(c_thread_safety_attributes)
+ #define       __lock_annotate(x)      __attribute__((x))
+ #else

-- 
jca

Reply via email to