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