From 40449ff1cb76570f93dd7b2892859f18e60289f0 Mon Sep 17 00:00:00 2001 From: Yury Bura Date: Wed, 14 Apr 2021 01:17:17 +0300 Subject: [PATCH] [llvm] update to 11.1.0, add features and fix issues (#16232) * fix issue #16215 * add more projects and fix issue #16222 * add version * exclude libc from default projects * remove libc, add fland to default projects * update to v11.1.0 * fix compiler-rt install path * fix SHA for version 11.1.0 * fix libc++ install * re-fix libc++ install * fix pstl install * fix flang's license file name * install tools in tools/llvm, fix file names * revert bin directory for libraries * don't create clang sub-directory in llvm/tools * overwrite version * copy tool dependencies * overwrite version * remove vcpkg_copy_tools call * overwrite version * restore default features * overwrite version * overwrite version * convert manifest to json * install usage files * overwrite version * remove feature `default-projects` * modernize CMake in usage files * overwrite version * update ordering * override version --- ports/llvm/0002-fix-install-paths.patch | 46 ++- .../0007-fix-compiler-rt-install-path.patch | 44 +++ ports/llvm/0008-fix-libcxx-install.patch | 18 + ports/llvm/0009-fix-tools-install-path.patch | 172 ++++++++++ ports/llvm/CONTROL | 137 -------- ports/llvm/clang_usage | 5 + ports/llvm/flang_usage | 5 + ports/llvm/lld_usage | 5 + ports/llvm/llvm_usage | 15 + ports/llvm/mlir_usage | 5 + ports/llvm/portfile.cmake | 105 +++--- ports/llvm/vcpkg.json | 321 ++++++++++++++++++ versions/baseline.json | 4 +- versions/l-/llvm.json | 5 + 14 files changed, 698 insertions(+), 189 deletions(-) create mode 100644 ports/llvm/0007-fix-compiler-rt-install-path.patch create mode 100644 ports/llvm/0008-fix-libcxx-install.patch create mode 100644 ports/llvm/0009-fix-tools-install-path.patch delete mode 100644 ports/llvm/CONTROL create mode 100644 ports/llvm/clang_usage create mode 100644 ports/llvm/flang_usage create mode 100644 ports/llvm/lld_usage create mode 100644 ports/llvm/llvm_usage create mode 100644 ports/llvm/mlir_usage create mode 100644 ports/llvm/vcpkg.json diff --git a/ports/llvm/0002-fix-install-paths.patch b/ports/llvm/0002-fix-install-paths.patch index 70357a7ba0eb87..84d973f6537fbb 100644 --- a/ports/llvm/0002-fix-install-paths.patch +++ b/ports/llvm/0002-fix-install-paths.patch @@ -1,5 +1,15 @@ + clang/cmake/modules/CMakeLists.txt | 4 ++-- + flang/cmake/modules/CMakeLists.txt | 4 ++-- + lld/cmake/modules/CMakeLists.txt | 4 ++-- + llvm/cmake/modules/AddLLVM.cmake | 2 +- + llvm/cmake/modules/CMakeLists.txt | 2 +- + mlir/cmake/modules/CMakeLists.txt | 4 ++-- + polly/cmake/CMakeLists.txt | 4 ++-- + pstl/CMakeLists.txt | 4 ++-- + 8 files changed, 14 insertions(+), 14 deletions(-) + diff --git a/clang/cmake/modules/CMakeLists.txt b/clang/cmake/modules/CMakeLists.txt -index d233f552f01..26f502ad2d2 100644 +index d233f552f01f..26f502ad2d23 100644 --- a/clang/cmake/modules/CMakeLists.txt +++ b/clang/cmake/modules/CMakeLists.txt @@ -1,11 +1,11 @@ @@ -17,7 +27,7 @@ index d233f552f01..26f502ad2d2 100644 get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) diff --git a/flang/cmake/modules/CMakeLists.txt b/flang/cmake/modules/CMakeLists.txt -index d233f552f01..26f502ad2d2 100644 +index 4822124ca412..1ca3eff8f14e 100644 --- a/flang/cmake/modules/CMakeLists.txt +++ b/flang/cmake/modules/CMakeLists.txt @@ -1,11 +1,11 @@ @@ -35,7 +45,7 @@ index d233f552f01..26f502ad2d2 100644 get_property(FLANG_EXPORTS GLOBAL PROPERTY FLANG_EXPORTS) diff --git a/lld/cmake/modules/CMakeLists.txt b/lld/cmake/modules/CMakeLists.txt -index d233f552f01..26f502ad2d2 100644 +index fa505a533762..90413be34120 100644 --- a/lld/cmake/modules/CMakeLists.txt +++ b/lld/cmake/modules/CMakeLists.txt @@ -1,11 +1,11 @@ @@ -53,11 +63,10 @@ index d233f552f01..26f502ad2d2 100644 get_property(LLD_EXPORTS GLOBAL PROPERTY LLD_EXPORTS) diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake -index 211f9551271..2abe3803f91 100644 +index b74adc11ade9..0638aea2f8f6 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake -@@ -973,10 +973,10 @@ - if(ARG_GEN_CONFIG) +@@ -974,7 +974,7 @@ function(process_llvm_pass_plugins) ## Part 1: Extension header to be included whenever we need extension # processing. @@ -66,10 +75,8 @@ index 211f9551271..2abe3803f91 100644 set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") file(WRITE "${llvm_cmake_builddir}/LLVMConfigExtensions.cmake" - "set(LLVM_STATIC_EXTENSIONS ${LLVM_STATIC_EXTENSIONS})") - install(FILES diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt -index 9cf22b436fa..8eeb27d1794 100644 +index 4b8879f65fe4..9e097ab223b5 100644 --- a/llvm/cmake/modules/CMakeLists.txt +++ b/llvm/cmake/modules/CMakeLists.txt @@ -1,4 +1,4 @@ @@ -79,7 +86,7 @@ index 9cf22b436fa..8eeb27d1794 100644 # First for users who use an installed LLVM, create the LLVMExports.cmake file. diff --git a/mlir/cmake/modules/CMakeLists.txt b/mlir/cmake/modules/CMakeLists.txt -index d233f552f01..26f502ad2d2 100644 +index b9fb9adce2ea..85a54f699f30 100644 --- a/mlir/cmake/modules/CMakeLists.txt +++ b/mlir/cmake/modules/CMakeLists.txt @@ -1,11 +1,11 @@ @@ -97,7 +104,7 @@ index d233f552f01..26f502ad2d2 100644 get_property(MLIR_EXPORTS GLOBAL PROPERTY MLIR_EXPORTS) diff --git a/polly/cmake/CMakeLists.txt b/polly/cmake/CMakeLists.txt -index 211f9551271..2abe3803f91 100644 +index 211f95512717..2abe3803f910 100644 --- a/polly/cmake/CMakeLists.txt +++ b/polly/cmake/CMakeLists.txt @@ -1,7 +1,7 @@ @@ -110,3 +117,20 @@ index 211f9551271..2abe3803f91 100644 if (CMAKE_CONFIGURATION_TYPES) set(POLLY_EXPORTS_FILE_NAME "PollyExports-$>.cmake") else() +diff --git a/pstl/CMakeLists.txt b/pstl/CMakeLists.txt +index 8e6e1354707b..2ae7f7090025 100644 +--- a/pstl/CMakeLists.txt ++++ b/pstl/CMakeLists.txt +@@ -81,10 +81,10 @@ install(TARGETS ParallelSTL + install(EXPORT ParallelSTLTargets + FILE ParallelSTLTargets.cmake + NAMESPACE pstl:: +- DESTINATION lib/cmake/ParallelSTL) ++ DESTINATION share/ParallelSTL) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfigVersion.cmake" +- DESTINATION lib/cmake/ParallelSTL) ++ DESTINATION share/ParallelSTL) + install(DIRECTORY include/ + DESTINATION include + PATTERN "*.in" EXCLUDE) diff --git a/ports/llvm/0007-fix-compiler-rt-install-path.patch b/ports/llvm/0007-fix-compiler-rt-install-path.patch new file mode 100644 index 00000000000000..286604623a24e1 --- /dev/null +++ b/ports/llvm/0007-fix-compiler-rt-install-path.patch @@ -0,0 +1,44 @@ + clang/lib/Headers/CMakeLists.txt | 2 +- + clang/runtime/CMakeLists.txt | 2 +- + compiler-rt/cmake/base-config-ix.cmake | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt +index 0692fe75a441..65f72c2da7da 100644 +--- a/clang/lib/Headers/CMakeLists.txt ++++ b/clang/lib/Headers/CMakeLists.txt +@@ -208,7 +208,7 @@ set_target_properties(clang-resource-headers PROPERTIES + FOLDER "Misc" + RUNTIME_OUTPUT_DIRECTORY "${output_dir}") + +-set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) ++set(header_install_dir tools/llvm/lib/clang/${CLANG_VERSION}/include) + + install( + FILES ${files} ${generated_files} +diff --git a/clang/runtime/CMakeLists.txt b/clang/runtime/CMakeLists.txt +index 61bbbf8faedd..f6d0b73d9913 100644 +--- a/clang/runtime/CMakeLists.txt ++++ b/clang/runtime/CMakeLists.txt +@@ -82,7 +82,7 @@ if(LLVM_BUILD_EXTERNAL_COMPILER_RT AND EXISTS ${COMPILER_RT_SRC_ROOT}/) + -DLLVM_LIT_ARGS=${LLVM_LIT_ARGS} + -DCOMPILER_RT_OUTPUT_DIR=${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION} + -DCOMPILER_RT_EXEC_OUTPUT_DIR=${LLVM_RUNTIME_OUTPUT_INTDIR} +- -DCOMPILER_RT_INSTALL_PATH:STRING=lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION} ++ -DCOMPILER_RT_INSTALL_PATH:STRING=tools/llvm/lib/clang/${CLANG_VERSION} + -DCOMPILER_RT_INCLUDE_TESTS=${LLVM_INCLUDE_TESTS} + -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} + -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} +diff --git a/compiler-rt/cmake/base-config-ix.cmake b/compiler-rt/cmake/base-config-ix.cmake +index 964dd598f102..7379a1ba06d1 100644 +--- a/compiler-rt/cmake/base-config-ix.cmake ++++ b/compiler-rt/cmake/base-config-ix.cmake +@@ -43,7 +43,7 @@ if (LLVM_TREE_AVAILABLE) + # Setup the paths where compiler-rt runtimes and headers should be stored. + set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}) + set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) +- set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) ++ set(COMPILER_RT_INSTALL_PATH tools/llvm/lib/clang/${CLANG_VERSION}) + option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." + ${LLVM_INCLUDE_TESTS}) + option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" diff --git a/ports/llvm/0008-fix-libcxx-install.patch b/ports/llvm/0008-fix-libcxx-install.patch new file mode 100644 index 00000000000000..3af957eaf59480 --- /dev/null +++ b/ports/llvm/0008-fix-libcxx-install.patch @@ -0,0 +1,18 @@ + libcxx/src/CMakeLists.txt | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt +index 2001c09761d9..e17de934534f 100644 +--- a/libcxx/src/CMakeLists.txt ++++ b/libcxx/src/CMakeLists.txt +@@ -364,9 +364,7 @@ if (LIBCXX_INSTALL_LIBRARY) + # NOTE: This install command must go after the cxx install command otherwise + # it will not be executed after the library symlinks are installed. + if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT) +- # Replace the libc++ filename with $ +- # after we required CMake 3.0. +- install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}" ++ install(FILES "$" + DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} + COMPONENT libcxx) + endif() diff --git a/ports/llvm/0009-fix-tools-install-path.patch b/ports/llvm/0009-fix-tools-install-path.patch new file mode 100644 index 00000000000000..eb6c75bd62d2ab --- /dev/null +++ b/ports/llvm/0009-fix-tools-install-path.patch @@ -0,0 +1,172 @@ + clang-tools-extra/modularize/CMakeLists.txt | 2 +- + clang/cmake/modules/AddClang.cmake | 2 +- + clang/tools/c-index-test/CMakeLists.txt | 2 +- + clang/tools/clang-format/CMakeLists.txt | 2 +- + clang/tools/scan-build/CMakeLists.txt | 2 +- + clang/tools/scan-view/CMakeLists.txt | 2 +- + clang/utils/hmaptool/CMakeLists.txt | 2 +- + flang/cmake/modules/AddFlang.cmake | 2 +- + flang/tools/f18/CMakeLists.txt | 4 ++-- + lld/cmake/modules/AddLLD.cmake | 2 +- + lld/tools/lld/CMakeLists.txt | 2 +- + lldb/cmake/modules/AddLLDB.cmake | 2 +- + 12 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/clang-tools-extra/modularize/CMakeLists.txt b/clang-tools-extra/modularize/CMakeLists.txt +index 4caae81c49b6..8c459c51cc34 100644 +--- a/clang-tools-extra/modularize/CMakeLists.txt ++++ b/clang-tools-extra/modularize/CMakeLists.txt +@@ -23,5 +23,5 @@ clang_target_link_libraries(modularize + ) + + install(TARGETS modularize +- RUNTIME DESTINATION bin ++ RUNTIME DESTINATION tools/llvm + COMPONENT clang-extras) +diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake +index 704278a0e93b..e8a87f574474 100644 +--- a/clang/cmake/modules/AddClang.cmake ++++ b/clang/cmake/modules/AddClang.cmake +@@ -170,7 +170,7 @@ macro(add_clang_tool name) + + install(TARGETS ${name} + ${export_to_clangtargets} +- RUNTIME DESTINATION bin ++ RUNTIME DESTINATION tools/llvm + COMPONENT ${name}) + + if(NOT LLVM_ENABLE_IDE) +diff --git a/clang/tools/c-index-test/CMakeLists.txt b/clang/tools/c-index-test/CMakeLists.txt +index ceef4b08637c..ce6d7799475b 100644 +--- a/clang/tools/c-index-test/CMakeLists.txt ++++ b/clang/tools/c-index-test/CMakeLists.txt +@@ -54,7 +54,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH + "@executable_path/../../lib") + else() +- set(INSTALL_DESTINATION bin) ++ set(INSTALL_DESTINATION tools/llvm) + endif() + + install(TARGETS c-index-test +diff --git a/clang/tools/clang-format/CMakeLists.txt b/clang/tools/clang-format/CMakeLists.txt +index 35ecdb11253c..d1b800dfdadc 100644 +--- a/clang/tools/clang-format/CMakeLists.txt ++++ b/clang/tools/clang-format/CMakeLists.txt +@@ -36,5 +36,5 @@ install(PROGRAMS clang-format.py + DESTINATION share/clang + COMPONENT clang-format) + install(PROGRAMS git-clang-format +- DESTINATION bin ++ DESTINATION tools/llvm + COMPONENT clang-format) +diff --git a/clang/tools/scan-build/CMakeLists.txt b/clang/tools/scan-build/CMakeLists.txt +index ec0702d76f18..9a34a09921b1 100644 +--- a/clang/tools/scan-build/CMakeLists.txt ++++ b/clang/tools/scan-build/CMakeLists.txt +@@ -47,7 +47,7 @@ if(CLANG_INSTALL_SCANBUILD) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) + install(PROGRAMS bin/${BinFile} +- DESTINATION bin ++ DESTINATION tools/llvm + COMPONENT scan-build) + endforeach() + +diff --git a/clang/tools/scan-view/CMakeLists.txt b/clang/tools/scan-view/CMakeLists.txt +index 22edb974bac7..60f69d358fb9 100644 +--- a/clang/tools/scan-view/CMakeLists.txt ++++ b/clang/tools/scan-view/CMakeLists.txt +@@ -22,7 +22,7 @@ if(CLANG_INSTALL_SCANVIEW) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) + install(PROGRAMS bin/${BinFile} +- DESTINATION bin ++ DESTINATION tools/llvm + COMPONENT scan-view) + endforeach() + +diff --git a/clang/utils/hmaptool/CMakeLists.txt b/clang/utils/hmaptool/CMakeLists.txt +index 62f2de0cb15c..38dc821c76de 100644 +--- a/clang/utils/hmaptool/CMakeLists.txt ++++ b/clang/utils/hmaptool/CMakeLists.txt +@@ -10,7 +10,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HM + + list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HMAPTOOL}) + install(PROGRAMS ${CLANG_HMAPTOOL} +- DESTINATION bin ++ DESTINATION tools/llvm + COMPONENT hmaptool) + + add_custom_target(hmaptool ALL DEPENDS ${Depends}) +diff --git a/flang/cmake/modules/AddFlang.cmake b/flang/cmake/modules/AddFlang.cmake +index 7fe8b7e9f406..b338dddd0850 100644 +--- a/flang/cmake/modules/AddFlang.cmake ++++ b/flang/cmake/modules/AddFlang.cmake +@@ -120,7 +120,7 @@ macro(add_flang_tool name) + + install(TARGETS ${name} + ${export_to_flangtargets} +- RUNTIME DESTINATION bin ++ RUNTIME DESTINATION tools/llvm + COMPONENT ${name}) + + if(NOT LLVM_ENABLE_IDE) +diff --git a/flang/tools/f18/CMakeLists.txt b/flang/tools/f18/CMakeLists.txt +index f3af6e8312fe..aa58108b332b 100644 +--- a/flang/tools/f18/CMakeLists.txt ++++ b/flang/tools/f18/CMakeLists.txt +@@ -58,7 +58,7 @@ endforeach() + + add_custom_target(module_files ALL DEPENDS ${MODULE_FILES}) + +-install(TARGETS f18 DESTINATION bin) ++install(TARGETS f18 DESTINATION tools/llvm) + + set(FLANG_INTRINSIC_MODULES_DIR ${FLANG_BINARY_DIR}/include/flang) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/flang.sh.in ${CMAKE_BINARY_DIR}/tools/flang/bin/flang @ONLY) +@@ -68,4 +68,4 @@ set(FLANG_INTRINSIC_MODULES_DIR ${CMAKE_INSTALL_PREFIX}/include/flang) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/flang.sh.in ${FLANG_BINARY_DIR}/bin/flang-install.sh @ONLY) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/f18_version.h.in ${CMAKE_CURRENT_BINARY_DIR}/f18_version.h @ONLY) + +-install(PROGRAMS ${FLANG_BINARY_DIR}/bin/flang-install.sh DESTINATION bin RENAME flang PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE) ++install(PROGRAMS ${FLANG_BINARY_DIR}/bin/flang-install.sh DESTINATION tools/llvm RENAME flang PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE) +diff --git a/lld/cmake/modules/AddLLD.cmake b/lld/cmake/modules/AddLLD.cmake +index 23df41312403..86f4eafeed07 100644 +--- a/lld/cmake/modules/AddLLD.cmake ++++ b/lld/cmake/modules/AddLLD.cmake +@@ -54,7 +54,7 @@ macro(add_lld_tool name) + + install(TARGETS ${name} + ${export_to_lldtargets} +- RUNTIME DESTINATION bin ++ RUNTIME DESTINATION tools/llvm + COMPONENT ${name}) + + if(NOT CMAKE_CONFIGURATION_TYPES) +diff --git a/lld/tools/lld/CMakeLists.txt b/lld/tools/lld/CMakeLists.txt +index e6f72fcd3488..0e5a2c81e825 100644 +--- a/lld/tools/lld/CMakeLists.txt ++++ b/lld/tools/lld/CMakeLists.txt +@@ -21,7 +21,7 @@ target_link_libraries(lld + ) + + install(TARGETS lld +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION tools/llvm) + + if(NOT LLD_SYMLINKS_TO_CREATE) + set(LLD_SYMLINKS_TO_CREATE lld-link ld.lld ld64.lld wasm-ld) +diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake +index 4ed5c647c5d2..cb31901dddbb 100644 +--- a/lldb/cmake/modules/AddLLDB.cmake ++++ b/lldb/cmake/modules/AddLLDB.cmake +@@ -187,7 +187,7 @@ function(add_lldb_executable name) + endif() + + if(ARG_GENERATE_INSTALL) +- set(install_dest bin) ++ set(install_dest tools/llvm) + if(ARG_INSTALL_PREFIX) + set(install_dest ${ARG_INSTALL_PREFIX}) + endif() diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL deleted file mode 100644 index 1cbfd8e9876da4..00000000000000 --- a/ports/llvm/CONTROL +++ /dev/null @@ -1,137 +0,0 @@ -Source: llvm -Version: 11.0.0 -Port-Version: 2 -Homepage: https://llvm.org/ -Description: The LLVM Compiler Infrastructure -Supports: !uwp -Default-Features: tools, enable-rtti, enable-threads, disable-assertions, disable-abi-breaking-checks, clang, disable-clang-static-analyzer, lld, default-targets, enable-terminfo, enable-bindings - -Feature: tools -Description: Build LLVM tools. - -Feature: utils -Description: Build LLVM utils. - -Feature: default-targets -Description: Build with platform-specific default targets -Build-Depends: llvm[core,target-x86] (x86|x64), llvm[core,target-arm] (arm&!arm64), llvm[core,target-aarch64] (arm64), llvm[core,target-all] (!x86&!x64&!arm&!arm64) - -Feature: target-all -Description: Build with all backends. -Build-Depends: llvm[core,target-aarch64,target-amdgpu,target-arm,target-avr,target-bpf,target-hexagon,target-lanai,target-mips,target-msp430,target-nvptx,target-powerpc,target-riscv,target-sparc,target-systemz,target-webassembly,target-x86,target-xcore] - -Feature: target-aarch64 -Description: Build with AArch64 backend. - -Feature: target-amdgpu -Description: Build with AMDGPU backend. - -Feature: target-arm -Description: Build with ARM backend. - -Feature: target-avr -Description: Build with AVR backend. - -Feature: target-bpf -Description: Build with BPF backend. - -Feature: target-hexagon -Description: Build with Hexagon backend. - -Feature: target-lanai -Description: Build with Lanai backend. - -Feature: target-mips -Description: Build with Mips backend. - -Feature: target-msp430 -Description: Build with MSP430 backend. - -Feature: target-nvptx -Description: Build with NVPTX backend. - -Feature: target-powerpc -Description: Build with PowerPC backend. - -Feature: target-riscv -Description: Build with RISCV backend. - -Feature: target-sparc -Description: Build with Sparc backend. - -Feature: target-systemz -Description: Build with SystemZ backend. - -Feature: target-webassembly -Description: Build with WebAssembly backend. - -Feature: target-x86 -Description: Build with X86 backend. - -Feature: target-xcore -Description: Build with XCore backend. - -Feature: enable-eh -Description: Build LLVM with exception handler. -Build-Depends: llvm[core,enable-rtti] - -Feature: enable-rtti -Description: Build LLVM with run-time type information. - -Feature: enable-ffi -Description: Build LLVM with FFI. -Build-Depends: libffi - -Feature: enable-bindings -Description: Build bindings. - -Feature: enable-assertions -Description: Build LLVM with assertions. - -Feature: disable-assertions -Description: Build LLVM without assertions. - -Feature: enable-terminfo -Description: Build LLVM with terminfo. - -Feature: enable-threads -Description: Enable multi-threaded LTO. - -Feature: enable-abi-breaking-checks -Description: Build LLVM with LLVM_ABI_BREAKING_CHECKS=FORCE_ON. - -Feature: disable-abi-breaking-checks -Description: Build LLVM with LLVM_ABI_BREAKING_CHECKS=FORCE_OFF. - -Feature: clang -Description: Build C Language Family Front-end. - -Feature: disable-clang-static-analyzer -Description: Build without static analyzer. - -Feature: clang-tools-extra -Description: Build Clang tools. - -Feature: compiler-rt -Description: Build compiler's runtime libraries. - -Feature: flang -Description: Build Fortran front end. -Build-Depends: llvm[core,mlir] - -Feature: lld -Description: Build LLVM linker. - -Feature: lldb -Description: Build LLDB debugger. - -Feature: mlir -Description: Build Multi-Level IR Compiler Framework. - -Feature: openmp -Description: Build LLVM OpenMP libraries. -Build-Depends: llvm[core,utils] - -Feature: polly -Description: Build polyhedral optimizations for LLVM. -Build-Depends: llvm[core,utils] diff --git a/ports/llvm/clang_usage b/ports/llvm/clang_usage new file mode 100644 index 00000000000000..f239721f484f98 --- /dev/null +++ b/ports/llvm/clang_usage @@ -0,0 +1,5 @@ +The package clang provides CMake targets: + + find_package(Clang CONFIG REQUIRED) + target_include_directories(main PRIVATE ${CLANG_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE clangBasic clangLex clangParse clangAST ...) diff --git a/ports/llvm/flang_usage b/ports/llvm/flang_usage new file mode 100644 index 00000000000000..b3cb08592f03ba --- /dev/null +++ b/ports/llvm/flang_usage @@ -0,0 +1,5 @@ +The package flang provides CMake targets: + + find_package(Flang CONFIG REQUIRED) + target_include_directories(main PRIVATE ${FLANG_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE flangFrontend flangFrontendTool ...) diff --git a/ports/llvm/lld_usage b/ports/llvm/lld_usage new file mode 100644 index 00000000000000..92c8d10a0857dc --- /dev/null +++ b/ports/llvm/lld_usage @@ -0,0 +1,5 @@ +The package lld provides CMake targets: + + find_package(LLD CONFIG REQUIRED) + target_include_directories(main PRIVATE ${LLD_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE lldCommon lldCore lldDriver ...) diff --git a/ports/llvm/llvm_usage b/ports/llvm/llvm_usage new file mode 100644 index 00000000000000..72d57dbfa57369 --- /dev/null +++ b/ports/llvm/llvm_usage @@ -0,0 +1,15 @@ +The package llvm provides CMake targets: + + find_package(LLVM CONFIG REQUIRED) + + list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}") + include(HandleLLVMOptions) + add_definitions(${LLVM_DEFINITIONS}) + + target_include_directories(main PRIVATE ${LLVM_INCLUDE_DIRS}) + + # Find the libraries that correspond to the LLVM components that we wish to use + llvm_map_components_to_libnames(llvm_libs Support Core IRReader ...) + + # Link against LLVM libraries + target_link_libraries(main PRIVATE ${llvm_libs}) diff --git a/ports/llvm/mlir_usage b/ports/llvm/mlir_usage new file mode 100644 index 00000000000000..da45a1612ec8ac --- /dev/null +++ b/ports/llvm/mlir_usage @@ -0,0 +1,5 @@ +The package lld provides CMake targets: + + find_package(MLIR CONFIG REQUIRED) + target_include_directories(main PRIVATE ${MLIR_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE MLIRIR MLIRParser MLIRPass MLIRSupport ...) diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index 99289b23e99da5..356a25bf1792bf 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -1,4 +1,4 @@ -set(LLVM_VERSION "11.0.0") +set(LLVM_VERSION "11.1.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,7 +6,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO llvm/llvm-project REF llvmorg-${LLVM_VERSION} - SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2 + SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 HEAD_REF master PATCHES 0001-add-msvc-options.patch # Fixed in LLVM 12.0.0 @@ -15,20 +15,24 @@ vcpkg_from_github( 0004-fix-dr-1734.patch 0005-fix-tools-path.patch 0006-workaround-msvc-bug.patch # Fixed in LLVM 12.0.0 + 0007-fix-compiler-rt-install-path.patch + 0008-fix-libcxx-install.patch + 0009-fix-tools-install-path.patch ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - tools LLVM_BUILD_TOOLS - tools LLVM_INCLUDE_TOOLS - utils LLVM_BUILD_UTILS - utils LLVM_INCLUDE_UTILS - enable-rtti LLVM_ENABLE_RTTI - enable-ffi LLVM_ENABLE_FFI - enable-terminfo LLVM_ENABLE_TERMINFO - enable-threads LLVM_ENABLE_THREADS - enable-eh LLVM_ENABLE_EH - enable-bindings LLVM_ENABLE_BINDINGS + tools LLVM_BUILD_TOOLS + tools LLVM_INCLUDE_TOOLS + utils LLVM_BUILD_UTILS + utils LLVM_INCLUDE_UTILS + enable-rtti LLVM_ENABLE_RTTI + enable-ffi LLVM_ENABLE_FFI + enable-terminfo LLVM_ENABLE_TERMINFO + enable-threads LLVM_ENABLE_THREADS + enable-eh LLVM_ENABLE_EH + enable-bindings LLVM_ENABLE_BINDINGS ) # LLVM generates CMake error due to Visual Studio version 16.4 is known to miscompile part of LLVM. @@ -77,6 +81,10 @@ if("clang" IN_LIST FEATURES OR "clang-tools-extra" IN_LIST FEATURES) -DCLANG_ENABLE_STATIC_ANALYZER=OFF ) endif() + # 1) LLVM/Clang tools are relocated from ./bin/ to ./tools/llvm/ (LLVM_TOOLS_INSTALL_DIR=tools/llvm) + # 2) Clang resource files are relocated from ./lib/clang/ to ./tools/llvm/lib/clang/ (see patch 0007-fix-compiler-rt-install-path.patch) + # So, the relative path should be changed from ../lib/clang/ to ./lib/clang/ + list(APPEND FEATURE_OPTIONS -DCLANG_RESOURCE_DIR=lib/clang/${LLVM_VERSION}) endif() if("clang-tools-extra" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "clang-tools-extra") @@ -87,7 +95,7 @@ endif() if("flang" IN_LIST FEATURES) # Disable Flang on Windows (see http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html). if(VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Building Flang with MSVC is not supported.") + message(FATAL_ERROR "Building Flang with MSVC is not supported. Disable it until issues are fixed.") endif() list(APPEND LLVM_ENABLE_PROJECTS "flang") list(APPEND FEATURE_OPTIONS @@ -95,6 +103,27 @@ if("flang" IN_LIST FEATURES) -DCMAKE_CXX_STANDARD=17 ) endif() +if("libclc" IN_LIST FEATURES) + list(APPEND LLVM_ENABLE_PROJECTS "libclc") +endif() +if("libcxx" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "Building libcxx with MSVC is not supported. Disable it until issues are fixed.") + endif() + list(APPEND LLVM_ENABLE_PROJECTS "libcxx") +endif() +if("libcxxabi" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "Building libcxxabi with MSVC is not supported. Disable it until issues are fixed.") + endif() + list(APPEND LLVM_ENABLE_PROJECTS "libcxxabi") +endif() +if("libunwind" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "Building libunwind with MSVC is not supported. Disable it until issues are fixed.") + endif() + list(APPEND LLVM_ENABLE_PROJECTS "libunwind") +endif() if("lld" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "lld") endif() @@ -107,7 +136,7 @@ endif() if("openmp" IN_LIST FEATURES) # Disable OpenMP on Windows (see https://bugs.llvm.org/show_bug.cgi?id=45074). if(VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Building OpenMP with MSVC is not supported.") + message(FATAL_ERROR "Building OpenMP with MSVC is not supported. Disable it until issues are fixed.") endif() list(APPEND LLVM_ENABLE_PROJECTS "openmp") # Perl is required for the OpenMP run-time @@ -121,12 +150,17 @@ if("openmp" IN_LIST FEATURES) ) endif() endif() +if("parallel-libs" IN_LIST FEATURES) + list(APPEND LLVM_ENABLE_PROJECTS "parallel-libs") +endif() if("polly" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "polly") endif() - -if("tools" IN_LIST FEATURES) - list(APPEND FEATURE_OPTIONS -DCLANG_RESOURCE_DIR=../../lib/clang/11.0.0) +if("pstl" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "Building pstl with MSVC is not supported. Disable it until issues are fixed.") + endif() + list(APPEND LLVM_ENABLE_PROJECTS "pstl") endif() set(known_llvm_targets @@ -190,9 +224,14 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH "share/llvm" TARGET_PATH "share/llvm") +file(INSTALL ${SOURCE_PATH}/llvm/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/llvm RENAME copyright) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/llvm_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/llvm RENAME usage) + if("clang" IN_LIST FEATURES) vcpkg_fixup_cmake_targets(CONFIG_PATH "share/clang" TARGET_PATH "share/clang" DO_NOT_DELETE_PARENT_CONFIG_PATH) file(INSTALL ${SOURCE_PATH}/clang/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/clang RENAME copyright) + file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/clang_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/clang RENAME usage) endif() if("clang-tools-extra" IN_LIST FEATURES) @@ -205,7 +244,8 @@ endif() if("flang" IN_LIST FEATURES) vcpkg_fixup_cmake_targets(CONFIG_PATH "share/flang" TARGET_PATH "share/flang" DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(INSTALL ${SOURCE_PATH}/flang/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/flang RENAME copyright) + file(INSTALL ${SOURCE_PATH}/flang/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/flang RENAME copyright) + file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/flang_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/flang RENAME usage) # Remove empty include directory /include/flang/Config file(GLOB_RECURSE INCLUDE_FLANG_CONFIG_FILES "${CURRENT_PACKAGES_DIR}/include/flang/Config/*") if(NOT INCLUDE_FLANG_CONFIG_FILES) @@ -216,39 +256,26 @@ endif() if("lld" IN_LIST FEATURES) vcpkg_fixup_cmake_targets(CONFIG_PATH "share/lld" TARGET_PATH "share/lld" DO_NOT_DELETE_PARENT_CONFIG_PATH) file(INSTALL ${SOURCE_PATH}/lld/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/lld RENAME copyright) + file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/lld_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/lld RENAME usage) endif() if("mlir" IN_LIST FEATURES) vcpkg_fixup_cmake_targets(CONFIG_PATH "share/mlir" TARGET_PATH "share/mlir" DO_NOT_DELETE_PARENT_CONFIG_PATH) file(INSTALL ${SOURCE_PATH}/mlir/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/mlir RENAME copyright) + file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/mlir_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/mlir RENAME usage) endif() if("polly" IN_LIST FEATURES) vcpkg_fixup_cmake_targets(CONFIG_PATH "share/polly" TARGET_PATH "share/polly" DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(INSTALL ${SOURCE_PATH}/polly/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/polly RENAME copyright) + file(INSTALL ${SOURCE_PATH}/polly/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/polly RENAME copyright) endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/llvm" TARGET_PATH "share/llvm") -file(INSTALL ${SOURCE_PATH}/llvm/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/llvm RENAME copyright) - -if(VCPKG_TARGET_IS_WINDOWS) - set(LLVM_EXECUTABLE_REGEX [[^([^.]*|[^.]*\.lld)\.exe$]]) -else() - set(LLVM_EXECUTABLE_REGEX [[^([^.]*|[^.]*\.lld)$]]) +if("pstl" IN_LIST FEATURES) + vcpkg_fixup_cmake_targets(CONFIG_PATH "share/ParallelSTL" TARGET_PATH "share/ParallelSTL" DO_NOT_DELETE_PARENT_CONFIG_PATH) + file(INSTALL ${SOURCE_PATH}/pstl/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ParallelSTL RENAME copyright) endif() -file(GLOB LLVM_TOOL_FILES "${CURRENT_PACKAGES_DIR}/bin/*") -set(LLVM_TOOLS) -foreach(tool_file IN LISTS LLVM_TOOL_FILES) - get_filename_component(tool_file "${tool_file}" NAME) - if(tool_file MATCHES "${LLVM_EXECUTABLE_REGEX}") - list(APPEND LLVM_TOOLS "${CMAKE_MATCH_1}") - endif() -endforeach() - -if(LLVM_TOOLS) - vcpkg_copy_tools(TOOL_NAMES ${LLVM_TOOLS} AUTO_CLEAN) -endif() +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/llvm/vcpkg.json b/ports/llvm/vcpkg.json new file mode 100644 index 00000000000000..4590e5111dcd05 --- /dev/null +++ b/ports/llvm/vcpkg.json @@ -0,0 +1,321 @@ +{ + "name": "llvm", + "version-string": "11.1.0", + "description": "The LLVM Compiler Infrastructure.", + "homepage": "https://llvm.org", + "supports": "!uwp", + "default-features": [ + "clang", + "default-options", + "default-targets", + "lld", + "tools" + ], + "features": { + "clang": { + "description": "Include C Language Family Front-end.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "compiler-rt", + "tools" + ] + } + ] + }, + "clang-tools-extra": { + "description": "Include Clang tools." + }, + "compiler-rt": { + "description": "Include compiler's runtime libraries." + }, + "default-options": { + "description": "Build with default options.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "disable-abi-breaking-checks", + "disable-assertions", + "disable-clang-static-analyzer", + "enable-bindings", + "enable-rtti", + "enable-terminfo", + "enable-threads" + ] + } + ] + }, + "default-targets": { + "description": "Build with platform-specific default targets.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-aarch64" + ], + "platform": "arm64" + }, + { + "name": "llvm", + "default-features": false, + "features": [ + "target-x86" + ], + "platform": "x86 | x64" + }, + { + "name": "llvm", + "default-features": false, + "features": [ + "target-arm" + ], + "platform": "arm & !arm64" + }, + { + "name": "llvm", + "default-features": false, + "features": [ + "target-all" + ], + "platform": "!x86 & !x64 & !arm & !arm64" + } + ] + }, + "disable-abi-breaking-checks": { + "description": "Build LLVM with LLVM_ABI_BREAKING_CHECKS=FORCE_OFF." + }, + "disable-assertions": { + "description": "Build LLVM without assertions." + }, + "disable-clang-static-analyzer": { + "description": "Build without static analyzer." + }, + "enable-abi-breaking-checks": { + "description": "Build LLVM with LLVM_ABI_BREAKING_CHECKS=FORCE_ON." + }, + "enable-assertions": { + "description": "Build LLVM with assertions." + }, + "enable-bindings": { + "description": "Build bindings." + }, + "enable-eh": { + "description": "Build LLVM with exception handler.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "enable-rtti" + ] + } + ] + }, + "enable-ffi": { + "description": "Build LLVM with FFI.", + "dependencies": [ + "libffi" + ] + }, + "enable-rtti": { + "description": "Build LLVM with run-time type information." + }, + "enable-terminfo": { + "description": "Use terminfo database if available." + }, + "enable-threads": { + "description": "Use threads if available." + }, + "flang": { + "description": "Include Fortran front end.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "mlir", + "tools" + ] + } + ] + }, + "libclc": { + "description": "Include OpenCL library." + }, + "libcxx": { + "description": "Include libcxx library.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "libcxxabi" + ] + } + ] + }, + "libcxxabi": { + "description": "Include libcxxabi library." + }, + "libunwind": { + "description": "Include libunwind library." + }, + "lld": { + "description": "Include LLVM linker.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "tools" + ] + } + ] + }, + "lldb": { + "description": "Include LLVM debugger.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "tools" + ] + } + ] + }, + "mlir": { + "description": "Include MLIR (Multi-Level IR Compiler Framework) project.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "tools" + ] + } + ] + }, + "openmp": { + "description": "Include LLVM OpenMP libraries.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "utils" + ] + } + ] + }, + "parallel-libs": { + "description": "Include parallel-libs project." + }, + "polly": { + "description": "Include Polly (Polyhedral optimizations for LLVM) project.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "tools", + "utils" + ] + } + ] + }, + "pstl": { + "description": "Include pstl (Parallel STL) library." + }, + "target-aarch64": { + "description": "Build with AArch64 backend." + }, + "target-all": { + "description": "Build with all backends.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-aarch64", + "target-amdgpu", + "target-arm", + "target-avr", + "target-bpf", + "target-hexagon", + "target-lanai", + "target-mips", + "target-msp430", + "target-nvptx", + "target-powerpc", + "target-riscv", + "target-sparc", + "target-systemz", + "target-webassembly", + "target-x86", + "target-xcore" + ] + } + ] + }, + "target-amdgpu": { + "description": "Build with AMDGPU backend." + }, + "target-arm": { + "description": "Build with ARM backend." + }, + "target-avr": { + "description": "Build with AVR backend." + }, + "target-bpf": { + "description": "Build with BPF backend." + }, + "target-hexagon": { + "description": "Build with Hexagon backend." + }, + "target-lanai": { + "description": "Build with Lanai backend." + }, + "target-mips": { + "description": "Build with Mips backend." + }, + "target-msp430": { + "description": "Build with MSP430 backend." + }, + "target-nvptx": { + "description": "Build with NVPTX backend." + }, + "target-powerpc": { + "description": "Build with PowerPC backend." + }, + "target-riscv": { + "description": "Build with RISC-V backend." + }, + "target-sparc": { + "description": "Build with Sparc backend." + }, + "target-systemz": { + "description": "Build with SystemZ backend." + }, + "target-webassembly": { + "description": "Build with WebAssembly backend." + }, + "target-x86": { + "description": "Build with X86 backend." + }, + "target-xcore": { + "description": "Build with XCore backend." + }, + "tools": { + "description": "Build LLVM tools." + }, + "utils": { + "description": "Build LLVM utils." + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index d5ba938841b88a..6de4dd162df382 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3689,8 +3689,8 @@ "port-version": 1 }, "llvm": { - "baseline": "11.0.0", - "port-version": 2 + "baseline": "11.1.0", + "port-version": 0 }, "lmdb": { "baseline": "0.9.24", diff --git a/versions/l-/llvm.json b/versions/l-/llvm.json index 0e658ed3eb85d6..fb9e68ce977683 100644 --- a/versions/l-/llvm.json +++ b/versions/l-/llvm.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7b30e5aa5227b4af185b967afbe34e84cf8c7638", + "version-string": "11.1.0", + "port-version": 0 + }, { "git-tree": "308632b643c39d4e6871c550156d218b4cf8d968", "version-string": "11.0.0",