diff options
author | he <he@pkgsrc.org> | 2020-09-20 09:37:17 +0000 |
---|---|---|
committer | he <he@pkgsrc.org> | 2020-09-20 09:37:17 +0000 |
commit | 8d090d02aecea2aebaba091909b603fe69f64307 (patch) | |
tree | ab00a47040ba19e4a5530fa029dd0f230675f391 | |
parent | 6b365ea0ca2af47890caff9629ffa71bed9753f4 (diff) | |
download | pkgsrc-8d090d02aecea2aebaba091909b603fe69f64307.tar.gz |
Re-instate the cmake configure check for whether -latomic is
required to gain access to 8-byte atomics. Add a hacks.mk file
to pull in devel/libatomic on powerpc ports. The reason is that
even though llvm itself doesn't need or use 8-byte atomics, other
programs refer to this installed CheckAtomic cmake file and may
indeed both need and use 8-byte atomics.
Verified that llvm still builds on NetBSD/macppc 9.0.
Bump PKGREVISION to 1.
-rw-r--r-- | lang/llvm/Makefile | 3 | ||||
-rw-r--r-- | lang/llvm/hacks.mk | 12 | ||||
-rw-r--r-- | lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake | 27 |
3 files changed, 14 insertions, 28 deletions
diff --git a/lang/llvm/Makefile b/lang/llvm/Makefile index b3e1056f4ec..cae5cf63680 100644 --- a/lang/llvm/Makefile +++ b/lang/llvm/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.57 2020/07/27 11:12:48 adam Exp $ +# $NetBSD: Makefile,v 1.58 2020/09/20 09:37:17 he Exp $ # # when updating this, please also update: # devel/include-what-you-use @@ -25,6 +25,7 @@ DISTNAME= llvm-${LLVM_VERSION}.src PKGNAME= ${DISTNAME:S/.src//} +PKGREVISION= 1 CATEGORIES= lang devel MAINTAINER= pkgsrc-users@NetBSD.org diff --git a/lang/llvm/hacks.mk b/lang/llvm/hacks.mk new file mode 100644 index 00000000000..c8daa58455c --- /dev/null +++ b/lang/llvm/hacks.mk @@ -0,0 +1,12 @@ +# $NetBSD: hacks.mk,v 1.1 2020/09/20 09:37:17 he Exp $ + +.if !defined(LLVM_HACKS_MK) +LLVM_HACKS_MK= defined + +# [Sun Sep 20 11:08:39 CEST 2020 : he] +# On NetBSD/powerpc, use devel/libatomic to get 8-byte atomics. +.if ${MACHINE_ARCH} == "powerpc" +.include "../../devel/libatomic/buildlink3.mk" +.endif + +.endif # LLVM_HACKS_MK diff --git a/lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake b/lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake deleted file mode 100644 index bc9d6c14bb8..00000000000 --- a/lang/llvm/patches/patch-cmake_modules_CheckAtomic.cmake +++ /dev/null @@ -1,27 +0,0 @@ -$NetBSD: patch-cmake_modules_CheckAtomic.cmake,v 1.2 2020/04/18 07:50:18 adam Exp $ - -Omit check for native 8-byte atomics, platform may not have them, -and they are actually not required here. Makes powerpc build llvm. - ---- cmake/modules/CheckAtomic.cmake.orig 2020-03-19 09:19:04.000000000 +0000 -+++ cmake/modules/CheckAtomic.cmake -@@ -62,19 +62,6 @@ else() - check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB) - endif() - --# If not, check if the library exists, and atomics work with it. --if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB) -- check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMICS64) -- if(HAVE_CXX_LIBATOMICS64) -- list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic") -- check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITH_LIB) -- if (NOT HAVE_CXX_ATOMICS64_WITH_LIB) -- message(FATAL_ERROR "Host compiler must support 64-bit std::atomic!") -- endif() -- else() -- message(FATAL_ERROR "Host compiler appears to require libatomic for 64-bit operations, but cannot find it.") -- endif() --endif() - - ## TODO: This define is only used for the legacy atomic operations in - ## llvm's Atomic.h, which should be replaced. Other code simply |