pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/clang
Module Name: pkgsrc
Committed By: tm
Date: Tue Jan 11 17:27:39 UTC 2022
Modified Files:
pkgsrc/lang/clang: distinfo
Added Files:
pkgsrc/lang/clang/patches: patch-tools_clang-shlib_CMakeLists.txt
patch-tools_libclang_CMakeLists.txt
Log Message:
clang: provide patches to build on illumos distributions
Workaround features which are not available on old illumos (Solaris < 11.4)
linker.
To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 pkgsrc/lang/clang/distinfo
cvs rdiff -u -r0 -r1.1 \
pkgsrc/lang/clang/patches/patch-tools_clang-shlib_CMakeLists.txt \
pkgsrc/lang/clang/patches/patch-tools_libclang_CMakeLists.txt
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/clang/distinfo
diff -u pkgsrc/lang/clang/distinfo:1.70 pkgsrc/lang/clang/distinfo:1.71
--- pkgsrc/lang/clang/distinfo:1.70 Tue Nov 23 20:55:43 2021
+++ pkgsrc/lang/clang/distinfo Tue Jan 11 17:27:39 2022
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.70 2021/11/23 20:55:43 wiz Exp $
+$NetBSD: distinfo,v 1.71 2022/01/11 17:27:39 tm Exp $
BLAKE2s (clang-13.0.0.src.tar.xz) = 3a07b8456c7bb3e6a5446d01dbe7606cd0caeacc38606dd59632d14f89480850
SHA512 (clang-13.0.0.src.tar.xz) = b9ae85a7f0a66ae42a6d76a4e1ea0940bf622f7fbd21d078c9fef146087c70abb0a597a1cfda4e8706b1fbc74d170986451f5f2d642f685a5c355da8a572fb26
@@ -8,3 +8,5 @@ SHA1 (patch-lib_Driver_ToolChain.cpp) =
SHA1 (patch-lib_Driver_ToolChains_Solaris.cpp) = 1a139612ce181dfce1ea3a627dcd76bc81f05455
SHA1 (patch-lib_Driver_ToolChains_Solaris.h) = 22d1ddef34b8df3cc29c4632108d45904797aff3
SHA1 (patch-lib_Frontend_InitHeaderSearch.cpp) = 497ddbe1eac8726d736bed58557a795dce207d1a
+SHA1 (patch-tools_clang-shlib_CMakeLists.txt) = 13a34679d741217975333fd4ae313c3938e6f0fd
+SHA1 (patch-tools_libclang_CMakeLists.txt) = 2dce9cfc1e114a79fab457211eea1ee93c2198f4
Added files:
Index: pkgsrc/lang/clang/patches/patch-tools_clang-shlib_CMakeLists.txt
diff -u /dev/null pkgsrc/lang/clang/patches/patch-tools_clang-shlib_CMakeLists.txt:1.1
--- /dev/null Tue Jan 11 17:27:39 2022
+++ pkgsrc/lang/clang/patches/patch-tools_clang-shlib_CMakeLists.txt Tue Jan 11 17:27:39 2022
@@ -0,0 +1,34 @@
+$NetBSD: patch-tools_clang-shlib_CMakeLists.txt,v 1.1 2022/01/11 17:27:39 tm Exp $
+
+Only the linker on Solaris 11.4 supports GNU ld version script and only if
+the special option gnu-version-script-compat is used. Older Solaris linker
+doesn't support version script.
+
+--- tools/libclang/CMakeLists.txt.orig 2021-09-24 16:18:10.000000000 +0000
++++ tools/libclang/CMakeLists.txt
+@@ -167,11 +167,21 @@ if(ENABLE_SHARED)
+ endif()
+ endif()
+ if (USE_VERSION_SCRIPT)
+- target_link_options(libclang PRIVATE "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/libclang.map")
+- # The Solaris 11.4 linker supports a subset of GNU ld version scripts,
+- # but requires a special option to enable it.
+ if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+- target_link_options(libclang PRIVATE "-Wl,-z,gnu-version-script-compat")
++ include(CheckLinkerFlag)
++ # The Solaris 11.4 linker supports a subset of GNU ld version scripts,
++ # but requires a special option to enable it.
++ llvm_check_linker_flag(CXX "-Wl,-z,gnu-version-script-compat" LINKER_SUPPORTS_Z_GNU_VERSION_SCRIPT_COMPAT)
++ # Older Solaris (and illumos) linker doesn't support GNU ld version
++ # and doesn't support GNU version script compat.
++ if (LINKER_SUPPORTS_Z_GNU_VERSION_SCRIPT_COMPAT)
++ target_link_options(libclang PRIVATE "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/libclang.map")
++ target_link_options(libclang PRIVATE "-Wl,-z,gnu-version-script-compat")
++ else()
++ target_link_options(libclang PRIVATE "-Wl,-M,${CMAKE_CURRENT_SOURCE_DIR}/libclang.map")
++ endif()
++ else()
++ target_link_options(libclang PRIVATE "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/libclang.map")
+ endif()
+ # Ensure that libclang.so gets rebuilt when the linker script changes.
+ set_property(SOURCE ARCMigrate.cpp APPEND PROPERTY
\ No newline at end of file
Index: pkgsrc/lang/clang/patches/patch-tools_libclang_CMakeLists.txt
diff -u /dev/null pkgsrc/lang/clang/patches/patch-tools_libclang_CMakeLists.txt:1.1
--- /dev/null Tue Jan 11 17:27:39 2022
+++ pkgsrc/lang/clang/patches/patch-tools_libclang_CMakeLists.txt Tue Jan 11 17:27:39 2022
@@ -0,0 +1,14 @@
+$NetBSD: patch-tools_libclang_CMakeLists.txt,v 1.1 2022/01/11 17:27:39 tm Exp $
+
+-B flag symbolic-functions is not supported on Solaris before 11.4
+
+--- tools/clang-shlib/CMakeLists.txt.orig 2021-09-24 16:18:10.000000000 +0000
++++ tools/clang-shlib/CMakeLists.txt
+@@ -50,6 +50,6 @@ add_clang_library(clang-cpp
+ ${_DEPS})
+ # Optimize function calls for default visibility definitions to avoid PLT and
+ # reduce dynamic relocations.
+-if (NOT APPLE AND NOT MINGW)
++if (NOT APPLE AND NOT MINGW AND NOT "SunOS" MATCHES ${CMAKE_SYSTEM_NAME})
+ target_link_options(clang-cpp PRIVATE LINKER:-Bsymbolic-functions)
+ endif()
Home |
Main Index |
Thread Index |
Old Index