summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2025-06-09 10:08:00 +0300
committerEfraim Flashner <efraim@flashner.co.il>2025-06-11 08:45:40 +0300
commite8a3d363f4db70a4ee55c8fb15e88650d00084ad (patch)
tree34f32872a5c84c9b98d2b7ac16a2ec01fa03ded1
parenta41238594855fc926c4e6a38383fb647f8469f2a (diff)
gnu: cppdap: Link with libatomic.
* gnu/packages/debug.scm (cppdap)[arguments]: Remove configure-flag linking the executable with libatomic when building for riscv64-linux. Add a phase to link with libatomic. Change-Id: I16c899d921967caafa159d11d30d6c81a6d67729
-rw-r--r--gnu/packages/debug.scm18
1 files changed, 14 insertions, 4 deletions
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index d558cbd503..d454bceb40 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -220,10 +220,20 @@ tools that process C/C++ code.")
;; Only one of the following three can be enabled at the same time
;; "-DCPPDAP_USE_EXTERNAL_RAPIDJSON_PACKAGE=ON"
;; "-DCPPDAP_USE_EXTERNAL_JSONCPP_PACKAGE=ON"
- "-DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON"
- #$@(if (target-riscv64?)
- '("-DCMAKE_EXE_LINKER_FLAGS=-latomic")
- '()))))
+ "-DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON")
+ #:phases
+ (if (target-riscv64?)
+ #~(modify-phases %standard-phases
+ ;; We need to unconditionally link with libatomic on some
+ ;; architectures to successfully build cmake.
+ (add-after 'unpack 'link-with-libatomic
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("cppdap_set_target_options\\(cppdap\\)" all)
+ (string-append
+ all "\n\n"
+ "target_link_libraries(cppdap PRIVATE atomic)"))))))
+ #~%standard-phases)))
(native-inputs
(list googletest))
;; see lib/cmake/cppdap/cppdapConfig.cmake