pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/llvm Allow overriding the pthread library selecti...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/3d809b2601cd
branches:  trunk
changeset: 771775:3d809b2601cd
user:      he <he%pkgsrc.org@localhost>
date:      Sun Dec 26 21:52:11 2021 +0000

description:
Allow overriding the pthread library selection via
PKGSRC_LLVM_PTHREADLIB.  LLVM insists on 64-bit atomics, and
on NetBSD/powerpc we don't have that natively, so have to rely
on -latomic from gcc.  This library is linked with -lpthread, so
the cmake logic to detect whether -lpthread is included in the C
library says "yes", leading to later breakage when clang is being
built.  On NetBSD, set PKGSRC_LLVM_PTHREADLIB to -lpthread.

OK'ed by wiz@,
bump PKGREVISION.

diffstat:

 lang/llvm/Makefile                            |   8 ++++++--
 lang/llvm/distinfo                            |   4 ++--
 lang/llvm/patches/patch-cmake_config-ix.cmake |  18 ++++++++++++++++--
 3 files changed, 24 insertions(+), 6 deletions(-)

diffs (75 lines):

diff -r ef8e5e823add -r 3d809b2601cd lang/llvm/Makefile
--- a/lang/llvm/Makefile        Sun Dec 26 20:03:29 2021 +0000
+++ b/lang/llvm/Makefile        Sun Dec 26 21:52:11 2021 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.67 2021/12/08 16:05:21 adam Exp $
+# $NetBSD: Makefile,v 1.68 2021/12/26 21:52:11 he Exp $
 #
 # when updating this, please also update:
 # devel/include-what-you-use
@@ -21,7 +21,7 @@
 # Always update all */buildlink3.mk to require the latest stable release
 # version in BUILDLINK_API_DEPENDS, as there is no backwards compatibility
 
-PKGREVISION= 1
+PKGREVISION= 2
 .include "version.mk"
 
 DISTNAME=      llvm-${LLVM_VERSION}.src
@@ -109,6 +109,10 @@
 CXXFLAGS+=     -mlongcall
 .endif
 
+.if ${OPSYS} == "NetBSD"
+CMAKE_ARGS+=   -DPKGSRC_LLVM_PTHREADLIB=-lpthread
+.endif
+
 .include "options.mk"
 
 # replacing config.guess is required even for cmake.
diff -r ef8e5e823add -r 3d809b2601cd lang/llvm/distinfo
--- a/lang/llvm/distinfo        Sun Dec 26 20:03:29 2021 +0000
+++ b/lang/llvm/distinfo        Sun Dec 26 21:52:11 2021 +0000
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.32 2021/11/23 20:55:44 wiz Exp $
+$NetBSD: distinfo,v 1.33 2021/12/26 21:52:11 he Exp $
 
 BLAKE2s (llvm-13.0.0.src.tar.xz) = ffdfed33e870715f2e8c0efdc2c29566a2bffe5a6efce90ea7ca4990c9067f0f
 SHA512 (llvm-13.0.0.src.tar.xz) = c307500a5fdc2bf6d768a808cf879d33914e24437f4f794361eccedb28ac6a98ebc41ca6140d09364c9bdec565fabd049e364d3f5b39f1751ecff51b687c4eff
 Size (llvm-13.0.0.src.tar.xz) = 45471992 bytes
 SHA1 (patch-CMakeLists.txt) = 78e2dab2bf73f7e466ca2788fe6444e39b4ebd80
-SHA1 (patch-cmake_config-ix.cmake) = 0c89e208e9e101a6d80aaa5007126eefb0d3647c
+SHA1 (patch-cmake_config-ix.cmake) = 72d15d43d6d8eb3bd8b2c1ff7d416bd6b2421908
 SHA1 (patch-cmake_modules_AddLLVM.cmake) = 148897aeba8c29b9cf55eade62554710ae0f63f3
 SHA1 (patch-include_llvm-c_DataTypes.h) = 790c9458d6590a0d6985fdcbd8785da340b9779b
 SHA1 (patch-include_llvm_Analysis_ConstantFolding.h) = 56b9374da236c346565897977040255b9766cab8
diff -r ef8e5e823add -r 3d809b2601cd lang/llvm/patches/patch-cmake_config-ix.cmake
--- a/lang/llvm/patches/patch-cmake_config-ix.cmake     Sun Dec 26 20:03:29 2021 +0000
+++ b/lang/llvm/patches/patch-cmake_config-ix.cmake     Sun Dec 26 21:52:11 2021 +0000
@@ -1,10 +1,24 @@
-$NetBSD: patch-cmake_config-ix.cmake,v 1.5 2021/07/12 18:41:02 adam Exp $
+$NetBSD: patch-cmake_config-ix.cmake,v 1.6 2021/12/26 21:52:11 he Exp $
 
 Do not generate invalid llvm-config in pkgsrc.
+Allow override of pthread library selection via PKGSRC_LLVM_PTHREADLIB.
 
 --- cmake/config-ix.cmake.orig 2021-04-06 16:38:18.000000000 +0000
 +++ cmake/config-ix.cmake
-@@ -175,7 +175,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memor
+@@ -113,7 +113,11 @@ if(HAVE_LIBPTHREAD)
+   set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+   set(THREADS_HAVE_PTHREAD_ARG Off)
+   find_package(Threads REQUIRED)
+-  set(LLVM_PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT})
++  if(PKGSRC_LLVM_PTHREADLIB)
++    set(LLVM_PTHREAD_LIB ${PKGSRC_LLVM_PTHREADLIB})
++  else()
++    set(LLVM_PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT})
++  endif()
+ endif()
+ 
+ if(LLVM_ENABLE_ZLIB)
+@@ -176,7 +180,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memor
        set(MAYBE_REQUIRED)
      endif()
      if(LLVM_ENABLE_TERMINFO)



Home | Main Index | Thread Index | Old Index