head 1.8; access; symbols pkgsrc-2026Q1:1.8.0.34 pkgsrc-2026Q1-base:1.8 pkgsrc-2025Q4:1.8.0.32 pkgsrc-2025Q4-base:1.8 pkgsrc-2025Q3:1.8.0.30 pkgsrc-2025Q3-base:1.8 pkgsrc-2025Q2:1.8.0.28 pkgsrc-2025Q2-base:1.8 pkgsrc-2025Q1:1.8.0.26 pkgsrc-2025Q1-base:1.8 pkgsrc-2024Q4:1.8.0.24 pkgsrc-2024Q4-base:1.8 pkgsrc-2024Q3:1.8.0.22 pkgsrc-2024Q3-base:1.8 pkgsrc-2024Q2:1.8.0.20 pkgsrc-2024Q2-base:1.8 pkgsrc-2024Q1:1.8.0.18 pkgsrc-2024Q1-base:1.8 pkgsrc-2023Q4:1.8.0.16 pkgsrc-2023Q4-base:1.8 pkgsrc-2023Q3:1.8.0.14 pkgsrc-2023Q3-base:1.8 pkgsrc-2023Q2:1.8.0.12 pkgsrc-2023Q2-base:1.8 pkgsrc-2023Q1:1.8.0.10 pkgsrc-2023Q1-base:1.8 pkgsrc-2022Q4:1.8.0.8 pkgsrc-2022Q4-base:1.8 pkgsrc-2022Q3:1.8.0.6 pkgsrc-2022Q3-base:1.8 pkgsrc-2022Q2:1.8.0.4 pkgsrc-2022Q2-base:1.8 pkgsrc-2022Q1:1.8.0.2 pkgsrc-2022Q1-base:1.8 pkgsrc-2021Q4:1.7.0.16 pkgsrc-2021Q4-base:1.7 pkgsrc-2021Q3:1.7.0.14 pkgsrc-2021Q3-base:1.7 pkgsrc-2021Q2:1.7.0.12 pkgsrc-2021Q2-base:1.7 pkgsrc-2021Q1:1.7.0.10 pkgsrc-2021Q1-base:1.7 pkgsrc-2020Q4:1.7.0.8 pkgsrc-2020Q4-base:1.7 pkgsrc-2020Q3:1.7.0.6 pkgsrc-2020Q3-base:1.7 pkgsrc-2020Q2:1.7.0.4 pkgsrc-2020Q2-base:1.7 pkgsrc-2020Q1:1.7.0.2 pkgsrc-2020Q1-base:1.7 pkgsrc-2019Q4:1.6.0.10 pkgsrc-2019Q4-base:1.6 pkgsrc-2019Q3:1.6.0.6 pkgsrc-2019Q3-base:1.6 pkgsrc-2019Q2:1.6.0.4 pkgsrc-2019Q2-base:1.6 pkgsrc-2019Q1:1.6.0.2 pkgsrc-2019Q1-base:1.6 pkgsrc-2018Q4:1.5.0.10 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.8 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.6 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.4 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.2 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.3.0.8 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.4 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.2 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.1.0.8 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.6 pkgsrc-2016Q3-base:1.1 pkgsrc-2016Q2:1.1.0.4 pkgsrc-2016Q2-base:1.1 pkgsrc-2016Q1:1.1.0.2 pkgsrc-2016Q1-base:1.1; locks; strict; comment @# @; 1.8 date 2022.03.13.15.22.32; author tnn; state Exp; branches; next 1.7; commitid yHuWCSewa5lNj4wD; 1.7 date 2020.03.06.22.44.18; author tnn; state Exp; branches; next 1.6; commitid 3LBwaNndF7uGroZB; 1.6 date 2019.01.26.21.17.20; author tnn; state Exp; branches; next 1.5; commitid oeXOFwTTZs7cZk9B; 1.5 date 2017.12.08.02.14.44; author gdt; state Exp; branches; next 1.4; commitid 6dNkQg0RidtvX1iA; 1.4 date 2017.12.01.19.22.13; author adam; state Exp; branches; next 1.3; commitid RNNRTudpzr1HSdhA; 1.3 date 2017.03.17.22.38.18; author adam; state Exp; branches; next 1.2; commitid RtC8EMbuGmoliXJz; 1.2 date 2017.03.09.12.45.56; author jperkin; state Exp; branches; next 1.1; commitid R9DjmSG7KVZ4hSIz; 1.1 date 2016.03.08.21.06.50; author tnn; state Exp; branches; next ; commitid Py5VK9urZeikMSXy; desc @@ 1.8 log @libLLVM: update to 13.0.1, for mesa update @ text @$NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.7 2021/11/23 20:55:44 wiz Exp $ Use the Linux style linking everywhere except Darwin and SunOS. --- tools/llvm-shlib/CMakeLists.txt.orig 2021-09-24 16:18:10.000000000 +0000 +++ tools/llvm-shlib/CMakeLists.txt @@@@ -33,13 +33,11 @@@@ if(LLVM_BUILD_LLVM_DYLIB) add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES}) list(REMOVE_DUPLICATES LIB_NAMES) - if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")) # FIXME: It should be "GNU ld for elf" + if("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS") + set(LIB_NAMES -Wl,-Bsymbolic -Wl,-z -Wl,allextract ${LIB_NAMES} -Wl,-z -Wl,defaultextract) + elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") + set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) + else() configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in ${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map) @@@@ -57,8 +55,6 @@@@ if(LLVM_BUILD_LLVM_DYLIB) # inside and outside libLLVM.so. target_link_options(LLVM PRIVATE LINKER:-Bsymbolic-functions) endif() - elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") - set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) endif() target_link_libraries(LLVM PRIVATE ${LIB_NAMES}) @ 1.7 log @libLLVM: update to 9.0.1 sync w/ lang/llvm. needed for mesa 20 update. @ text @d1 1 a1 1 $NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.6 2019/01/26 21:17:20 tnn Exp $ d5 1 a5 1 --- tools/llvm-shlib/CMakeLists.txt.orig 2019-12-11 19:15:30.000000000 +0000 d7 1 a7 1 @@@@ -45,13 +45,11 @@@@ if(LLVM_BUILD_LLVM_DYLIB) d18 3 a20 1 + if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") a21 2 + elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS") + set(LIB_NAMES -Wl,-Bsymbolic -Wl,-z -Wl,allextract ${LIB_NAMES} -Wl,-z -Wl,defaultextract) d26 3 a28 3 @@@@ -62,8 +60,6 @@@@ if(LLVM_BUILD_LLVM_DYLIB) # Solaris ld does not accept global: *; so there is no way to version *all* global symbols set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map ${LIB_NAMES}) @ 1.6 log @libLLVM: update to 7.0.1, adapted from lang/llvm @ text @d1 1 a1 1 $NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.4 2018/12/09 20:04:38 adam Exp $ d5 1 a5 1 --- tools/llvm-shlib/CMakeLists.txt.orig 2018-08-03 10:15:36.000000000 +0000 d7 2 a8 2 @@@@ -37,12 +37,11 @@@@ endif() add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) d10 22 a31 18 list(REMOVE_DUPLICATES LIB_NAMES) -if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly") - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")) # FIXME: It should be "GNU ld for elf" +if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") + set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) +elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS") + set(LIB_NAMES -Wl,-Bsymbolic -Wl,-z -Wl,allextract ${LIB_NAMES} -Wl,-z -Wl,defaultextract) +else() configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in ${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map) @@@@ -53,8 +52,6 @@@@ if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Lin # Solaris ld does not accept global: *; so there is no way to version *all* global symbols set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map ${LIB_NAMES}) a32 3 -elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") - set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) endif() d34 1 a34 1 target_link_libraries(LLVM PRIVATE ${LIB_NAMES}) @ 1.5 log @libLLVM: Revert update to 5.0.0 The update broke MesaLib, which blocks a vast number of packages. In the interest of stability heading towards 2017Q4, revert it, leaving the issue of how to handle updates to this package (how much testing is required, keeping multiple versions, etc.) to after the branch. @ text @d1 1 a1 1 $NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.3 2017/03/17 22:38:18 adam Exp $ d5 1 a5 1 --- tools/llvm-shlib/CMakeLists.txt.orig 2016-05-26 04:35:35.000000000 +0000 d7 1 a7 1 @@@@ -37,11 +37,12 @@@@ endif() d11 6 a16 4 -if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" OR MINGW) # FIXME: It should be "GNU ld for elf" - # GNU ld doesn't resolve symbols in the version script. - set(LIB_NAMES -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive) -elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") d18 1 a18 1 set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) d22 9 a30 1 + set(LIB_NAMES -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive) @ 1.4 log @llvm: updated to 5.0.0 5.0.0: Non-comprehensive list of changes in this release * LLVM’s WeakVH has been renamed to WeakTrackingVH and a new WeakVH has been introduced. The new WeakVH nulls itself out on deletion, but does not track values across RAUW. * A new library named BinaryFormat has been created which holds a collection of code which previously lived in Support. This includes the file_magic structure and identify_magic functions, as well as all the structure and type definitions for DWARF, ELF, COFF, WASM, and MachO file formats. * The tool llvm-pdbdump has been renamed llvm-pdbutil to better reflect its nature as a general purpose PDB manipulation / diagnostics tool that does more than just dumping contents. * The BBVectorize pass has been removed. It was fully replaced and no longer used back in 2014 but we didn’t get around to removing it. Now it is gone. The SLP vectorizer is the suggested non-loop vectorization pass. * A new tool opt-viewer.py has been added to visualize optimization remarks in HTML. The tool processes the YAML files produced by clang with the -fsave-optimization-record option. * A new CMake macro LLVM_REVERSE_ITERATION has been added. If enabled, all supported unordered LLVM containers would be iterated in reverse order. This is useful for uncovering non-determinism caused by iteration of unordered containers. Currently, it supports reverse iteration of SmallPtrSet and DenseMap. * A new tool llvm-dlltool has been added to create short import libraries from GNU style definition files. The tool utilizes the PE COFF SPEC Import Library Format and PE COFF Auxiliary Weak Externals Format to achieve compatibility with LLD and MSVC LINK. @ text @d1 1 a1 1 $NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.1 2017/03/19 19:01:48 adam Exp $ d5 1 a5 1 --- tools/llvm-shlib/CMakeLists.txt.orig 2017-07-11 01:17:44.000000000 +0000 d7 1 a7 1 @@@@ -37,15 +37,15 @@@@ endif() d11 4 a14 1 -if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")) # FIXME: It should be "GNU ld for elf" d16 1 a16 1 + set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) d20 1 a20 8 configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in ${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map) - - # GNU ld doesn't resolve symbols in the version script. set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive) -elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") - set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) @ 1.3 log @LLVM 4.0.0: The minimum compiler version required for building LLVM has been raised to 4.8 for GCC and 2015 for Visual Studio. The C API functions LLVMAddFunctionAttr, LLVMGetFunctionAttr, LLVMRemoveFunctionAttr, LLVMAddAttribute, LLVMRemoveAttribute, LLVMGetAttribute, LLVMAddInstrAttribute and LLVMRemoveInstrAttribute have been removed. The C API enum LLVMAttribute has been deleted. The definition and uses of LLVM_ATRIBUTE_UNUSED_RESULT in the LLVM source were replaced with LLVM_NODISCARD, which matches the C++17 [[nodiscard]] semantics rather than gcc’s __attribute__((warn_unused_result)). The Timer related APIs now expect a Name and Description. When upgrading code the previously used names should become descriptions and a short name in the style of a programming language identifier should be added. LLVM now handles invariant.group across different basic blocks, which makes it possible to devirtualize virtual calls inside loops. The aggressive dead code elimination phase (“adce”) now removes branches which do not effect program behavior. Loops are retained by default since they may be infinite but these can also be removed with LLVM option -adce-remove-loops when the loop body otherwise has no live operations. The llvm-cov tool can now export coverage data as json. Its html output mode has also improved. @ text @d1 1 a1 1 $NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.2 2017/03/09 12:45:56 jperkin Exp $ d5 1 a5 1 --- tools/llvm-shlib/CMakeLists.txt.orig 2016-05-26 04:35:35.000000000 +0000 d7 1 a7 1 @@@@ -37,11 +37,12 @@@@ endif() d11 1 a11 4 -if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" OR MINGW) # FIXME: It should be "GNU ld for elf" - # GNU ld doesn't resolve symbols in the version script. - set(LIB_NAMES -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive) -elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") d13 1 a13 1 set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) d17 8 a24 1 + set(LIB_NAMES -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive) @ 1.2 log @Fix library build on SunOS. @ text @d1 1 a1 1 $NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.1 2016/03/08 21:06:50 tnn Exp $ d7 1 a7 1 @@@@ -39,11 +39,12 @@@@ endif() d11 1 a11 1 -if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") # FIXME: It should be "GNU ld for elf" @ 1.1 log @update to libLLVM-3.8.0 Decouple the package from lang/clang that so it can be maintained and updated independently. This switches the build framework from autoconf to cmake. There are no significant changes to the AMDGPU target mentioned in the release notes. Other changes are not relevant to mention here since mesa is the only user of this package in pkgsrc proper. @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 Use the Linux style linking everywhere except Darwin. d5 3 a7 3 --- ./tools/llvm-shlib/CMakeLists.txt.orig 2015-11-04 23:11:12.000000000 +0000 +++ ./tools/llvm-shlib/CMakeLists.txt @@@@ -41,11 +41,10 @@@@ endif() d17 2 @