]> git.pld-linux.org Git - packages/mold.git/blobdiff - absolute-install-paths.patch
up to 1.5.0
[packages/mold.git] / absolute-install-paths.patch
diff --git a/absolute-install-paths.patch b/absolute-install-paths.patch
new file mode 100644 (file)
index 0000000..baa5a42
--- /dev/null
@@ -0,0 +1,57 @@
+From 9464a129603e79d921651f2e76e7f80264d1ed33 Mon Sep 17 00:00:00 2001
+From: Jan Palus <jpalus@fastmail.com>
+Date: Tue, 27 Sep 2022 23:48:07 +0200
+Subject: [PATCH] cmake: use unambiguously absolute paths for install
+ directories
+
+as per https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
+CMAKE_INSTALL_<dir> can be both relative and absolute. so far mold made
+assumption these are relative only, but handle both cases by using
+CMAKE_INSTALL_FULL_<dir> instead.
+
+Signed-off-by: Jan Palus <jpalus@fastmail.com>
+---
+ CMakeLists.txt | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dcbfc2d5..80c201a9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,7 @@ endif()
+ add_executable(mold)
+ target_compile_features(mold PRIVATE cxx_std_20)
+ target_compile_definitions(mold PRIVATE
+-  "LIBDIR=\"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\"")
++  "LIBDIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\"")
+ target_link_libraries(mold PRIVATE ${CMAKE_DL_LIBS})
+ if(NOT "${CMAKE_CXX_COMPILER_FRONTEND_VARIANT}" STREQUAL "MSVC")
+@@ -291,17 +291,17 @@ if(NOT CMAKE_SKIP_INSTALL_RULES)
+   install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
+   install(FILES docs/mold.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1/)
+   install(CODE "
+-    set(DEST \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}\")
++    set(DEST \"\$ENV{DESTDIR}\")
+     file(RELATIVE_PATH RELPATH
+-       /${CMAKE_INSTALL_LIBEXECDIR}/mold /${CMAKE_INSTALL_BINDIR}/mold)
++       /${CMAKE_INSTALL_FULL_LIBEXECDIR}/mold /${CMAKE_INSTALL_FULL_BINDIR}/mold)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory
+-      \${DEST}/${CMAKE_INSTALL_LIBEXECDIR}/mold)
++      \${DEST}/${CMAKE_INSTALL_FULL_LIBEXECDIR}/mold)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \${RELPATH}
+-      \${DEST}/${CMAKE_INSTALL_LIBEXECDIR}/mold/ld)
++      \${DEST}/${CMAKE_INSTALL_FULL_LIBEXECDIR}/mold/ld)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink mold
+-      \${DEST}/${CMAKE_INSTALL_BINDIR}/ld.mold)
++      \${DEST}/${CMAKE_INSTALL_FULL_BINDIR}/ld.mold)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink mold
+-      \${DEST}/${CMAKE_INSTALL_BINDIR}/ld64.mold)
++      \${DEST}/${CMAKE_INSTALL_FULL_BINDIR}/ld64.mold)
+     execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink mold.1
+-      \${DEST}/${CMAKE_INSTALL_MANDIR}/man1/ld.mold.1)")
++      \${DEST}/${CMAKE_INSTALL_FULL_MANDIR}/man1/ld.mold.1)")
+ endif()
+-- 
+2.37.3
+
This page took 0.128533 seconds and 4 git commands to generate.