diff options
| author | Yury Bura <yurybura@gmail.com> | 2021-06-30 02:08:28 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-29 16:08:28 -0700 |
| commit | c482408411c875135023ef6ebf645e823233bbbb (patch) | |
| tree | 28e7df7a773db241d6106e3c671f354e97ec86b1 | |
| parent | 75beef03d64893d685ec09346147965ee92e1f3f (diff) | |
| download | vcpkg-c482408411c875135023ef6ebf645e823233bbbb.tar.gz vcpkg-c482408411c875135023ef6ebf645e823233bbbb.zip | |
[llvm] update to 12.0.0, enable zlib and libxml2 (#17302)
* [llvm] update to 12.0.0, enable zlib and libxml2
* [llvm] disable libxml2 by default, arm64-windows should be supported
* [llvm] try to fix build with ffi on Windows #17663
* [llvm] re-enable libxml2
* [llvm] fix formatting
* [llvm] overwrite version
* [mesa] update to v21.1.0
* [llvm] update ci.baseline
* [halide] update to the latest master commit
* [llvm] disable libxml2 port until complete PR #15390
* update versions
* [llvm] fix disabling of external libraries
* update version
* update ci.baseline
* update ci.baseline
* fix typo
* [llvm] fix libxml2 (depends on #17945)
* revert "[halide] update to the latest master commit"
* update versions
* [halide] fix zlib dependency for tools
* update versions
* [halide] update to official release v12.0.0
* update versions
* [halide] update to v12.0.1
* update version
* [mesa] remove llvm from defaults
* update version
* update ci.baseline
* [mesa] update to v21.1.2 and fix build with LLVM on Windows
* [llvm] allow to build libunwind project on Windows
* update versions
* [mesa] update ci.baseline.txt to disable x64-windows-static-md, may be fixed in the PR #18495
23 files changed, 488 insertions, 339 deletions
diff --git a/ports/halide/CONTROL b/ports/halide/CONTROL deleted file mode 100644 index 8ffcc93dd..000000000 --- a/ports/halide/CONTROL +++ /dev/null @@ -1,64 +0,0 @@ -Source: halide
-Version: 11.0.1
-Homepage: https://github.com/halide/Halide
-Description: Halide is a programming language designed to make it easier to write high-performance image and array processing code on modern machines.
-Supports: !uwp
-Default-Features: jit
-Build-Depends: llvm[enable-rtti,tools,clang]
-
-Feature: jit
-Description: Include targets required for jit compilation
-Build-Depends: halide[core,target-x86] (x86|x64), halide[core,target-arm] (arm&!arm64), halide[core,target-aarch64] (arm64), halide[target-all] (!x86&!x64&!arm&!arm64)
-
-Feature: target-all
-Description: Include all targets
-Build-Depends: halide[core,target-aarch64,target-amdgpu,target-arm,target-d3d12compute,target-hexagon,target-metal,target-mips,target-nvptx,target-opencl,target-opengl,target-powerpc,target-riscv,target-x86]
-
-Feature: target-aarch64
-Description: Include AArch64 target
-Build-Depends: llvm[core,target-aarch64]
-
-Feature: target-amdgpu
-Description: Include AMDGPU target
-Build-Depends: llvm[core,target-amdgpu]
-
-Feature: target-arm
-Description: Include ARM target
-Build-Depends: llvm[core,target-arm]
-
-Feature: target-d3d12compute
-Description: Include Direct3D 12 Compute target
-
-Feature: target-hexagon
-Description: Include Hexagon target
-Build-Depends: llvm[core,target-hexagon]
-
-Feature: target-metal
-Description: Include Metal target
-
-Feature: target-mips
-Description: Include Mips target
-Build-Depends: llvm[core,target-mips]
-
-Feature: target-nvptx
-Description: Include NVPTX target
-Build-Depends: llvm[core,target-nvptx]
-
-Feature: target-opencl
-Description: Include OpenCL-C target
-
-Feature: target-opengl
-Description: Include OpenGL/GLSL target
-
-Feature: target-powerpc
-Description: Include PowerPC target
-Build-Depends: llvm[core,target-powerpc]
-
-Feature: target-riscv
-Description: Include RISCV target
-Build-Depends: llvm[core,target-riscv]
-
-Feature: target-x86
-Description: Include X86 target
-Build-Depends: llvm[core,target-x86]
-
diff --git a/ports/halide/portfile.cmake b/ports/halide/portfile.cmake index b8e08adda..83e8399aa 100644 --- a/ports/halide/portfile.cmake +++ b/ports/halide/portfile.cmake @@ -8,25 +8,27 @@ set(VCPKG_POLICY_EMPTY_PACKAGE enabled) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO halide/Halide - REF 85c1b91c47ce15aab0d9502d955e48615f3bcee0 # v11.0.1 - SHA512 3bfdf9fc82d56d099cf74b6683c0017724c1c4ae791e824f5ef3b4d4c1dcb52dd5adddb740ccf6b073b71fcbb748238f42040071ddb64c155f8fdc2709b8121d - HEAD_REF release/11.x + REF 5dabcaa9effca1067f907f6c8ea212f3d2b1d99a # v12.0.1 + SHA512 5ab44703850885561337e23d8b538a5adfe1611e24e8daa4a1313756b4f9dfeb54e89bf8400d46a3340c00234402681b4f44ba3ed5322027fd6cb5dfbd525acd + HEAD_REF release/12.x ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - target-aarch64 TARGET_AARCH64 - target-amdgpu TARGET_AMDGPU - target-arm TARGET_ARM - target-d3d12compute TARGET_D3D12COMPUTE - target-hexagon TARGET_HEXAGON - target-metal TARGET_METAL - target-mips TARGET_MIPS - target-nvptx TARGET_NVPTX - target-opencl TARGET_OPENCL - target-opengl TARGET_OPENGL - target-powerpc TARGET_POWERPC - target-riscv TARGET_RISCV - target-x86 TARGET_X86 +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + target-aarch64 TARGET_AARCH64 + target-amdgpu TARGET_AMDGPU + target-arm TARGET_ARM + target-d3d12compute TARGET_D3D12COMPUTE + target-hexagon TARGET_HEXAGON + target-metal TARGET_METAL + target-mips TARGET_MIPS + target-nvptx TARGET_NVPTX + target-opencl TARGET_OPENCL + target-opengl TARGET_OPENGL + target-powerpc TARGET_POWERPC + target-riscv TARGET_RISCV + target-x86 TARGET_X86 ) vcpkg_configure_cmake( @@ -43,7 +45,7 @@ vcpkg_configure_cmake( -DHALIDE_INSTALL_CMAKEDIR=share/${PORT} ) -vcpkg_install_cmake() +vcpkg_install_cmake(ADD_BIN_TO_PATH) vcpkg_copy_tools( TOOL_NAMES diff --git a/ports/halide/vcpkg.json b/ports/halide/vcpkg.json new file mode 100644 index 000000000..c66fef61b --- /dev/null +++ b/ports/halide/vcpkg.json @@ -0,0 +1,202 @@ +{ + "name": "halide", + "version": "12.0.1", + "description": "Halide is a programming language designed to make it easier to write high-performance image and array processing code on modern machines.", + "homepage": "https://github.com/halide/Halide", + "supports": "!uwp", + "dependencies": [ + { + "name": "llvm", + "features": [ + "clang", + "enable-rtti", + "tools" + ] + } + ], + "default-features": [ + "jit" + ], + "features": { + "jit": { + "description": "Include targets required for jit compilation", + "dependencies": [ + { + "name": "halide", + "default-features": false, + "features": [ + "target-aarch64" + ], + "platform": "arm64" + }, + { + "name": "halide", + "default-features": false, + "features": [ + "target-x86" + ], + "platform": "x86 | x64" + }, + { + "name": "halide", + "default-features": false, + "features": [ + "target-arm" + ], + "platform": "arm & !arm64" + }, + { + "name": "halide", + "features": [ + "target-all" + ], + "platform": "!x86 & !x64 & !arm & !arm64" + } + ] + }, + "target-aarch64": { + "description": "Include AArch64 target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-aarch64" + ] + } + ] + }, + "target-all": { + "description": "Include all targets", + "dependencies": [ + { + "name": "halide", + "default-features": false, + "features": [ + "target-aarch64", + "target-amdgpu", + "target-arm", + "target-d3d12compute", + "target-hexagon", + "target-metal", + "target-mips", + "target-nvptx", + "target-opencl", + "target-opengl", + "target-powerpc", + "target-riscv", + "target-x86" + ] + } + ] + }, + "target-amdgpu": { + "description": "Include AMDGPU target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-amdgpu" + ] + } + ] + }, + "target-arm": { + "description": "Include ARM target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-arm" + ] + } + ] + }, + "target-d3d12compute": { + "description": "Include Direct3D 12 Compute target" + }, + "target-hexagon": { + "description": "Include Hexagon target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-hexagon" + ] + } + ] + }, + "target-metal": { + "description": "Include Metal target" + }, + "target-mips": { + "description": "Include Mips target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-mips" + ] + } + ] + }, + "target-nvptx": { + "description": "Include NVPTX target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-nvptx" + ] + } + ] + }, + "target-opencl": { + "description": "Include OpenCL-C target" + }, + "target-opengl": { + "description": "Include OpenGL/GLSL target" + }, + "target-powerpc": { + "description": "Include PowerPC target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-powerpc" + ] + } + ] + }, + "target-riscv": { + "description": "Include RISCV target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-riscv" + ] + } + ] + }, + "target-x86": { + "description": "Include X86 target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-x86" + ] + } + ] + } + } +} diff --git a/ports/llvm/0001-add-msvc-options.patch b/ports/llvm/0001-add-msvc-options.patch deleted file mode 100644 index be5ad8189..000000000 --- a/ports/llvm/0001-add-msvc-options.patch +++ /dev/null @@ -1,31 +0,0 @@ - llvm/cmake/modules/HandleLLVMOptions.cmake | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake -index 5ef22eb493ba..3e2f372e80c9 100644 ---- a/llvm/cmake/modules/HandleLLVMOptions.cmake -+++ b/llvm/cmake/modules/HandleLLVMOptions.cmake -@@ -426,6 +426,12 @@ if( MSVC ) - - append("/Zc:inline" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) - -+ # Some projects use the __cplusplus preprocessor macro to check support for -+ # a particular version of the C++ standard. When this option is not specified -+ # explicitly, macro's value is "199711L" that implies C++98 Standard. -+ # https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ -+ append("/Zc:__cplusplus" CMAKE_CXX_FLAGS) -+ - # Allow users to request PDBs in release mode. CMake offeres the - # RelWithDebInfo configuration, but it uses different optimization settings - # (/Ob1 vs /Ob2 or -O2 vs -O3). LLVM provides this flag so that users can get -@@ -478,6 +484,10 @@ if( MSVC ) - endif() - endif() - endif() -+ # By default MSVC has a 2^16 limit on the number of sections in an object file, -+ # but in many objects files need more than that. This flag is to increase the -+ # number of sections. -+ append("/bigobj" CMAKE_CXX_FLAGS) - endif( MSVC ) - - # Warnings-as-errors handling for GCC-compatible compilers: diff --git a/ports/llvm/0003-fix-openmp-debug.patch b/ports/llvm/0003-fix-openmp-debug.patch index 577785afd..adf3c8ad0 100644 --- a/ports/llvm/0003-fix-openmp-debug.patch +++ b/ports/llvm/0003-fix-openmp-debug.patch @@ -1,9 +1,12 @@ + openmp/runtime/src/CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt -index 81275c0483d..61468e048ec 100644 +index 822f9ca2b825..814e25864610 100644 --- a/openmp/runtime/src/CMakeLists.txt +++ b/openmp/runtime/src/CMakeLists.txt -@@ -136,7 +136,7 @@ libomp_get_ldflags(LIBOMP_CONFIGURED_LDFLAGS) - add_library(omp ${LIBOMP_LIBRARY_KIND} ${LIBOMP_SOURCE_FILES}) +@@ -157,7 +157,7 @@ else() + endif() set_target_properties(omp PROPERTIES - PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_LIB_FILE}" @@ -11,7 +14,7 @@ index 81275c0483d..61468e048ec 100644 LINK_FLAGS "${LIBOMP_CONFIGURED_LDFLAGS}" LINKER_LANGUAGE ${LIBOMP_LINKER_LANGUAGE} ) -@@ -215,7 +215,7 @@ if(WIN32) +@@ -232,7 +232,7 @@ if(WIN32) # Create new import library that is just the previously created one + kmp_import.cpp add_library(ompimp STATIC ${LIBOMP_GENERATED_IMP_LIB} kmp_import.cpp) set_target_properties(ompimp PROPERTIES diff --git a/ports/llvm/0006-workaround-msvc-bug.patch b/ports/llvm/0006-workaround-msvc-bug.patch deleted file mode 100644 index db1574b9c..000000000 --- a/ports/llvm/0006-workaround-msvc-bug.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp b/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp ---- a/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp -+++ b/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp -@@ -10,6 +10,17 @@ - // - //===----------------------------------------------------------------------===// - -+// Disable optimizations to work around MSVC debug mode bug in 32-bit: -+// https://developercommunity.visualstudio.com/content/problem/1179643/msvc-copies-overaligned-non-trivially-copyable-par.html -+// FIXME: Remove this when the issue is closed. -+#if defined(_MSC_VER) && !defined(__clang__) && defined(_M_IX86) -+// We have to disable runtime checks in order to enable optimizations. This is -+// done for the entire file because the problem is actually observed in STL -+// template functions. -+#pragma runtime_checks("", off) -+#pragma optimize("gs", on) -+#endif -+ - #include "llvm/CodeGen/GlobalISel/LegalizerInfo.h" - - using namespace llvm; -diff --git a/llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp b/llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp ---- a/llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp -+++ b/llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp -@@ -406,3 +406,13 @@ - 32, 8, AtomicOrdering::NotAtomic })); - } - } -+ -+// This code sequence doesn't do anything, but it covers a previously uncovered -+// codepath that used to crash in MSVC x86_32 debug mode. -+TEST(LegalizerInfoTest, MSVCDebugMiscompile) { -+ const LLT S1 = LLT::scalar(1); -+ const LLT P0 = LLT::pointer(0, 32); -+ LegalizerInfo LI; -+ auto Builder = LI.getActionDefinitionsBuilder(TargetOpcode::G_PTRTOINT); -+ (void)Builder.legalForCartesianProduct({S1}, {P0}); -+} - diff --git a/ports/llvm/0008-fix-libcxx-install.patch b/ports/llvm/0008-fix-libcxx-install.patch index 3af957eaf..ec4019dc2 100644 --- a/ports/llvm/0008-fix-libcxx-install.patch +++ b/ports/llvm/0008-fix-libcxx-install.patch @@ -2,17 +2,17 @@ 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt -index 2001c09761d9..e17de934534f 100644 +index 9965104cb5b2..0d2a33c6b33c 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 $<TARGET_LINKER_FILE:cxx> -- # after we required CMake 3.0. -- install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}" -+ install(FILES "$<TARGET_LINKER_FILE:cxx_shared>" - DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} - COMPONENT libcxx) - endif() +@@ -372,9 +372,7 @@ endif() + # 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 $<TARGET_LINKER_FILE:cxx> +- # after we required CMake 3.0. +- install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}" ++ install(FILES "$<TARGET_LINKER_FILE:cxx_shared>" + 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 index eb6c75bd6..b544feec0 100644 --- a/ports/llvm/0009-fix-tools-install-path.patch +++ b/ports/llvm/0009-fix-tools-install-path.patch @@ -74,10 +74,10 @@ index ec0702d76f18..9a34a09921b1 100644 endforeach() diff --git a/clang/tools/scan-view/CMakeLists.txt b/clang/tools/scan-view/CMakeLists.txt -index 22edb974bac7..60f69d358fb9 100644 +index dd3d33439299..ded0b5530ad9 100644 --- a/clang/tools/scan-view/CMakeLists.txt +++ b/clang/tools/scan-view/CMakeLists.txt -@@ -22,7 +22,7 @@ if(CLANG_INSTALL_SCANVIEW) +@@ -19,7 +19,7 @@ if(CLANG_INSTALL_SCANVIEW) DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) install(PROGRAMS bin/${BinFile} @@ -100,10 +100,10 @@ index 62f2de0cb15c..38dc821c76de 100644 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 +index ba36a234babf..1197a8d8ff32 100644 --- a/flang/cmake/modules/AddFlang.cmake +++ b/flang/cmake/modules/AddFlang.cmake -@@ -120,7 +120,7 @@ macro(add_flang_tool name) +@@ -119,7 +119,7 @@ macro(add_flang_tool name) install(TARGETS ${name} ${export_to_flangtargets} @@ -113,24 +113,24 @@ index 7fe8b7e9f406..b338dddd0850 100644 if(NOT LLVM_ENABLE_IDE) diff --git a/flang/tools/f18/CMakeLists.txt b/flang/tools/f18/CMakeLists.txt -index f3af6e8312fe..aa58108b332b 100644 +index 2e5350aecdc6..b4ab145846b5 100644 --- a/flang/tools/f18/CMakeLists.txt +++ b/flang/tools/f18/CMakeLists.txt -@@ -58,7 +58,7 @@ endforeach() +@@ -63,12 +63,12 @@ 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) + # This flang shell script will only work in a POSIX shell. + if (NOT WIN32) + file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/flang + DESTINATION ${CMAKE_BINARY_DIR}/bin + FILE_PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE) +- install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/flang DESTINATION bin) ++ install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/flang DESTINATION tools/llvm) + endif() diff --git a/lld/cmake/modules/AddLLD.cmake b/lld/cmake/modules/AddLLD.cmake index 23df41312403..86f4eafeed07 100644 --- a/lld/cmake/modules/AddLLD.cmake @@ -145,7 +145,7 @@ index 23df41312403..86f4eafeed07 100644 if(NOT CMAKE_CONFIGURATION_TYPES) diff --git a/lld/tools/lld/CMakeLists.txt b/lld/tools/lld/CMakeLists.txt -index e6f72fcd3488..0e5a2c81e825 100644 +index 5cff736ff57f..32f43bc1c9be 100644 --- a/lld/tools/lld/CMakeLists.txt +++ b/lld/tools/lld/CMakeLists.txt @@ -21,7 +21,7 @@ target_link_libraries(lld @@ -156,7 +156,7 @@ index e6f72fcd3488..0e5a2c81e825 100644 + RUNTIME DESTINATION tools/llvm) if(NOT LLD_SYMLINKS_TO_CREATE) - set(LLD_SYMLINKS_TO_CREATE lld-link ld.lld ld64.lld wasm-ld) + set(LLD_SYMLINKS_TO_CREATE diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake index 4ed5c647c5d2..cb31901dddbb 100644 --- a/lldb/cmake/modules/AddLLDB.cmake diff --git a/ports/llvm/0010-fix-libffi.patch b/ports/llvm/0010-fix-libffi.patch new file mode 100644 index 000000000..e98825595 --- /dev/null +++ b/ports/llvm/0010-fix-libffi.patch @@ -0,0 +1,16 @@ + llvm/cmake/config-ix.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake +index 818fafbce148..66fc9f509ac7 100644 +--- a/llvm/cmake/config-ix.cmake ++++ b/llvm/cmake/config-ix.cmake +@@ -335,7 +335,7 @@ if( LLVM_ENABLE_FFI ) + message(FATAL_ERROR "libffi includes are not found.") + endif() + +- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) ++ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) + if( NOT FFI_LIBRARY_PATH ) + message(FATAL_ERROR "libffi is not found.") + endif() diff --git a/ports/llvm/0011-fix-libxml2.patch b/ports/llvm/0011-fix-libxml2.patch new file mode 100644 index 000000000..b5deff09f --- /dev/null +++ b/ports/llvm/0011-fix-libxml2.patch @@ -0,0 +1,34 @@ + clang/tools/c-index-test/CMakeLists.txt | 6 +----- + lldb/cmake/modules/LLDBConfig.cmake | 2 +- + 2 files changed, 2 insertions(+), 6 deletions(-) + +diff --git a/clang/tools/c-index-test/CMakeLists.txt b/clang/tools/c-index-test/CMakeLists.txt +index ceef4b086..40b9e9955 100644 +--- a/clang/tools/c-index-test/CMakeLists.txt ++++ b/clang/tools/c-index-test/CMakeLists.txt +@@ -40,11 +40,7 @@ set_target_properties(c-index-test + + # If libxml2 is available, make it available for c-index-test. + if (CLANG_HAVE_LIBXML) +- if ((CMAKE_OSX_SYSROOT) AND (EXISTS ${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR})) +- include_directories(SYSTEM ${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR}) +- else() +- include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR}) +- endif() ++ include_directories(SYSTEM ${LIBXML2_INCLUDE_DIRS}) + target_link_libraries(c-index-test PRIVATE ${LIBXML2_LIBRARIES}) + endif() + +diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake +index 2fdf1502d..beeeeb9b1 100644 +--- a/lldb/cmake/modules/LLDBConfig.cmake ++++ b/lldb/cmake/modules/LLDBConfig.cmake +@@ -214,7 +214,7 @@ if (LLDB_ENABLE_LZMA) + endif() + + if (LLDB_ENABLE_LIBXML2) +- include_directories(${LIBXML2_INCLUDE_DIR}) ++ include_directories(${LIBXML2_INCLUDE_DIRS}) + endif() + + include_directories(BEFORE diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index 356a25bf1..c242f99e4 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -1,4 +1,4 @@ -set(LLVM_VERSION "11.1.0") +set(LLVM_VERSION "12.0.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,18 +6,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO llvm/llvm-project REF llvmorg-${LLVM_VERSION} - SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81 + SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26 HEAD_REF master PATCHES - 0001-add-msvc-options.patch # Fixed in LLVM 12.0.0 0002-fix-install-paths.patch # This patch fixes paths in ClangConfig.cmake, LLVMConfig.cmake, LLDConfig.cmake etc. 0003-fix-openmp-debug.patch 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 + 0010-fix-libffi.patch + 0011-fix-libxml2.patch ) vcpkg_check_features( @@ -43,6 +43,25 @@ list(APPEND FEATURE_OPTIONS -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON ) +# Force enable or disable external libraries +set(llvm_external_libraries + zlib + libxml2 +) +foreach(external_library IN LISTS llvm_external_libraries) + string(TOLOWER "enable-${external_library}" feature_name) + string(TOUPPER "LLVM_ENABLE_${external_library}" define_name) + if(feature_name IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS + -D${define_name}=FORCE_ON + ) + else() + list(APPEND FEATURE_OPTIONS + -D${define_name}=OFF + ) + endif() +endforeach() + # By default assertions are enabled for Debug configuration only. if("enable-assertions" IN_LIST FEATURES) # Force enable assertions for all configurations. @@ -119,9 +138,6 @@ if("libcxxabi" IN_LIST FEATURES) 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) @@ -204,9 +220,6 @@ vcpkg_configure_cmake( -DLLVM_BUILD_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_BUILD_TESTS=OFF - # Disable optional dependencies to libxml2 and zlib. - -DLLVM_ENABLE_LIBXML2=OFF - -DLLVM_ENABLE_ZLIB=OFF # Force TableGen to be built with optimization. This will significantly improve build time. -DLLVM_OPTIMIZED_TABLEGEN=ON "-DLLVM_ENABLE_PROJECTS=${LLVM_ENABLE_PROJECTS}" diff --git a/ports/llvm/vcpkg.json b/ports/llvm/vcpkg.json index 4590e5111..06ef3712b 100644 --- a/ports/llvm/vcpkg.json +++ b/ports/llvm/vcpkg.json @@ -1,6 +1,6 @@ { "name": "llvm", - "version-string": "11.1.0", + "version-string": "12.0.0", "description": "The LLVM Compiler Infrastructure.", "homepage": "https://llvm.org", "supports": "!uwp", @@ -42,9 +42,9 @@ "disable-assertions", "disable-clang-static-analyzer", "enable-bindings", - "enable-rtti", "enable-terminfo", - "enable-threads" + "enable-threads", + "enable-zlib" ] } ] @@ -122,6 +122,12 @@ "libffi" ] }, + "enable-libxml2": { + "description": "Build with LibXml2.", + "dependencies": [ + "libxml2" + ] + }, "enable-rtti": { "description": "Build LLVM with run-time type information." }, @@ -131,6 +137,12 @@ "enable-threads": { "description": "Use threads if available." }, + "enable-zlib": { + "description": "Build with ZLib.", + "dependencies": [ + "zlib" + ] + }, "flang": { "description": "Include Fortran front end.", "dependencies": [ diff --git a/ports/mesa/CONTROL b/ports/mesa/CONTROL deleted file mode 100644 index 8ad3e5474..000000000 --- a/ports/mesa/CONTROL +++ /dev/null @@ -1,32 +0,0 @@ -Source: mesa
-Version: 20.2.2
-Port-Version: 1
-Homepage: https://www.mesa3d.org/
-Description: Mesa - The 3D Graphics Library
-Build-Depends: zlib, zstd, tool-meson
-Default-Features: default-features
-Supports: !(windows&arm)
-
-Feature: default-features
-Description: Platform dependent default features
-Build-Depends: mesa[core,llvm](x64), mesa[core,opengl], mesa[core,gles1], mesa[core,gles2]
-
-Feature: llvm
-Description: Build with llvmpipe
-Build-Depends: llvm[core]
-
-Feature: gles1
-Description: Build support for OpenGL ES 1.x
-Build-Depends: mesa[core]
-
-Feature: gles2
-Description: Build support for OpenGL ES 2.x and 3.x
-Build-Depends: mesa[core]
-
-Feature: opengl
-Description: Build support for OpenGL (all versions)
-Build-Depends: mesa[core]
-
-Feature: egl
-Description: Build support for EGL platform
-Build-Depends: mesa[core]
\ No newline at end of file diff --git a/ports/mesa/dual-osmesa-part2.patch b/ports/mesa/dual-osmesa-part2b.patch index 6d39786d7..6d39786d7 100644 --- a/ports/mesa/dual-osmesa-part2.patch +++ b/ports/mesa/dual-osmesa-part2b.patch diff --git a/ports/mesa/dual-osmesa.patch b/ports/mesa/dual-osmesa.patch deleted file mode 100644 index 8acebe64b..000000000 --- a/ports/mesa/dual-osmesa.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/include/meson.build b/include/meson.build
-index a64d9373a92..22c50eb5eb7 100644
---- a/include/meson.build
-+++ b/include/meson.build
-@@ -89,7 +89,7 @@ if with_egl
- )
- endif
-
--if with_osmesa != 'none'
-+if with_osmesa != []
- install_headers('GL/osmesa.h', subdir : 'GL')
- endif
-
-diff --git a/meson.build b/meson.build
-index 898d025f066..d73818e7ce5 100644
---- a/meson.build
-+++ b/meson.build
-@@ -444,7 +444,7 @@ if with_any_vk and (with_platform_x11 and not with_dri3)
- error('Vulkan drivers require dri3 for X11 support')
- endif
- if with_dri
-- if with_glx == 'disabled' and not with_egl and not with_gbm and with_osmesa != 'classic'
-+ if with_glx == 'disabled' and not with_egl and not with_gbm and not with_osmesa.contains('classic')
- error('building dri drivers require at least one windowing system or classic osmesa')
- endif
- endif
-@@ -1508,8 +1508,8 @@ else
- dep_unwind = null_dep
- endif
-
--if with_osmesa != 'none'
-- if with_osmesa == 'gallium' and not with_gallium_softpipe
-+if with_osmesa != []
-+ if with_osmesa.contains('gallium') and not with_gallium_softpipe
- error('OSMesa gallium requires gallium softpipe or llvmpipe.')
- endif
- if host_machine.system() == 'windows'
-@@ -1710,10 +1710,10 @@ lines = ['',
- with_gles2 ? 'yes' : 'no'),
- ]
-
--if with_osmesa != 'none'
-+if with_osmesa != []
- lines += ''
- suffix = ''
-- if with_osmesa == 'gallium'
-+ if with_osmesa.contains('gallium')
- suffix = '(Gallium)'
- endif
- lines += 'OSMesa: lib' + osmesa_lib_name + suffix
-diff --git a/meson_options.txt b/meson_options.txt
-index 626baf3d5c2..cb3dc3b383f 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -295,9 +295,9 @@ option(
- )
- option(
- 'osmesa',
-- type : 'combo',
-- value : 'none',
-- choices : ['none', 'classic', 'gallium'],
-+ type : 'array',
-+ value : [],
-+ choices : ['classic', 'gallium'],
- description : 'Build OSmesa.'
- )
- option(
-diff --git a/src/mesa/meson.build b/src/mesa/meson.build
-index fa5c54cc6fb..f7b223862fa 100644
---- a/src/mesa/meson.build
-+++ b/src/mesa/meson.build
-@@ -744,7 +744,7 @@ libmesa_gallium = static_library(
- )
-
- subdir('drivers/dri')
--if with_osmesa == 'classic'
-+if with_osmesa.contains('classic')
- subdir('drivers/osmesa')
- endif
- if with_glx == 'xlib'
diff --git a/ports/mesa/portfile.cmake b/ports/mesa/portfile.cmake index 9461dc2c5..0409a61d8 100644 --- a/ports/mesa/portfile.cmake +++ b/ports/mesa/portfile.cmake @@ -1,14 +1,14 @@ # Build-Depends: From X Window PR: zstd, drm (!windows), elfutils (!windows), wayland (!windows), wayland-protocols (!windows), xdamage, xshmfence (!windows), x11, xcb, xfixes, xext, xxf86vm, xrandr, xv, xvmc (!windows), egl-registry, opengl-registry, tool-meson
# Required LLVM modules: LLVM (modules: bitwriter, core, coroutines, engine, executionengine, instcombine, mcdisassembler, mcjit, scalaropts, transformutils) found: YES
-#patches are from https://github.com/pal1000/mesa-dist-win/tree/master/patches
-set(PATCHES dual-osmesa.patch
- dual-osmesa-part2.patch
- swravx512.patch
- )
+# Patches are from https://github.com/pal1000/mesa-dist-win/tree/master/patches
+set(PATCHES
+ # Fix swrAVX512 build
+ swravx512-post-static-link.patch
+)
vcpkg_check_linkage(ONLY_DYNAMIC_CRT)
-IF(VCPKG_TARGET_IS_WINDOWS)
+if(VCPKG_TARGET_IS_WINDOWS)
set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) # some parts of this port can only build as a shared library.
endif()
@@ -16,10 +16,10 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org
OUT_SOURCE_PATH SOURCE_PATH
REPO mesa/mesa
- REF df2977f871fc70ebd6be48c180d117189b5861b5 #v20.2.2
- SHA512 6c51d817fe265ea6405c4e8afbb516f30cf697d00cf39f162473ea8a59c202bcdfbfe4b6f7c4a6fd2d4e98eb4a1604cb5e0a02558338bf415e53fe5421cbfbbe
- HEAD_REF master # branch name
- PATCHES ${PATCHES} #patch name
+ REF mesa-21.1.2
+ SHA512 746ef292dd93ddd23ab34e18e87196db63302defd99357f31ac24876003c75b32cfa8ed38d0292271cd9142a056f6a6549ffcd0f086d0c69c4ff83ac7195188c
+ HEAD_REF master
+ PATCHES ${PATCHES}
)
vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
@@ -115,9 +115,7 @@ list(APPEND MESA_OPTIONS -Dvalgrind=disabled) list(APPEND MESA_OPTIONS -Dglvnd=false)
list(APPEND MESA_OPTIONS -Dglx=disabled)
list(APPEND MESA_OPTIONS -Dgbm=disabled)
-#list(APPEND MESA_OPTIONS -Dosmesa=['gallium','classic']) # classic has compiler errors.
-list(APPEND MESA_OPTIONS -Dosmesa=['gallium'])
-
+list(APPEND MESA_OPTIONS -Dosmesa=true)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
list(APPEND MESA_OPTIONS -Dshared-swr=false)
@@ -160,9 +158,9 @@ endif() list(APPEND MESA_OPTIONS -Dshared-glapi=enabled) #shared GLAPI required when building two or more of the following APIs - opengl, gles1 gles2
-
if(VCPKG_TARGET_IS_WINDOWS)
list(APPEND MESA_OPTIONS -Dplatforms=['windows'])
+ list(APPEND MESA_OPTIONS -Dmicrosoft-clc=disabled)
endif()
vcpkg_configure_meson(
diff --git a/ports/mesa/swravx512.patch b/ports/mesa/swravx512-post-static-link.patch index c1085252f..ac88d9bd7 100644 --- a/ports/mesa/swravx512.patch +++ b/ports/mesa/swravx512-post-static-link.patch @@ -1,17 +1,8 @@ diff --git a/src/gallium/drivers/swr/meson.build b/src/gallium/drivers/swr/meson.build
-index 2fad60365a3..dce7f656d64 100644
+index 11ea7d3f43e..f34e88b1eec 100644
--- a/src/gallium/drivers/swr/meson.build
+++ b/src/gallium/drivers/swr/meson.build
-@@ -249,7 +249,7 @@ endif
-
- if with_swr_arches.contains('knl')
- swr_knl_args = cpp.first_supported_argument(
-- '-march=knl', '-target-cpu=mic-knl', '-xMIC-AVX512',
-+ '-march=knl', '-target-cpu=mic-knl', '-xMIC-AVX512', '/arch:AVX512',
- )
- if swr_knl_args == []
- error('Cannot find KNL support for swr.')
-@@ -274,7 +274,7 @@ endif
+@@ -213,7 +213,7 @@ endif
if with_swr_arches.contains('skx')
swr_skx_args = cpp.first_supported_argument(
@@ -20,3 +11,12 @@ index 2fad60365a3..dce7f656d64 100644 )
if swr_skx_args == []
error('Cannot find SKX support for swr.')
+@@ -252,7 +252,7 @@ endif
+
+ if with_swr_arches.contains('knl')
+ swr_knl_args = cpp.first_supported_argument(
+- '-march=knl', '-target-cpu=mic-knl', '-xMIC-AVX512',
++ '-march=knl', '-target-cpu=mic-knl', '-xMIC-AVX512', '/arch:AVX512',
+ )
+ if swr_knl_args == []
+ error('Cannot find KNL support for swr.')
diff --git a/ports/mesa/vcpkg.json b/ports/mesa/vcpkg.json new file mode 100644 index 000000000..60db1d7a7 --- /dev/null +++ b/ports/mesa/vcpkg.json @@ -0,0 +1,99 @@ +{ + "name": "mesa", + "version": "21.1.2", + "description": "Mesa - The 3D Graphics Library", + "homepage": "https://www.mesa3d.org/", + "supports": "!(windows & arm)", + "dependencies": [ + "tool-meson", + "zlib", + "zstd" + ], + "default-features": [ + "default-features" + ], + "features": { + "default-features": { + "description": "Platform dependent default features", + "dependencies": [ + { + "name": "mesa", + "default-features": false, + "features": [ + "gles1" + ] + }, + { + "name": "mesa", + "default-features": false, + "features": [ + "gles2" + ] + }, + { + "name": "mesa", + "default-features": false, + "features": [ + "opengl" + ] + }, + { + "name": "mesa", + "default-features": false, + "features": [ + "llvm" + ], + "platform": "x64" + } + ] + }, + "egl": { + "description": "Build support for EGL platform", + "dependencies": [ + { + "name": "mesa", + "default-features": false + } + ] + }, + "gles1": { + "description": "Build support for OpenGL ES 1.x", + "dependencies": [ + { + "name": "mesa", + "default-features": false + } + ] + }, + "gles2": { + "description": "Build support for OpenGL ES 2.x and 3.x", + "dependencies": [ + { + "name": "mesa", + "default-features": false + } + ] + }, + "llvm": { + "description": "Build with llvmpipe", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "libclc" + ] + } + ] + }, + "opengl": { + "description": "Build support for OpenGL (all versions)", + "dependencies": [ + { + "name": "mesa", + "default-features": false + } + ] + } + } +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index c3e40ad20..dbf417741 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -826,8 +826,8 @@ live555:x64-windows-static-md=fail live555:x86-windows=fail llgl:arm-uwp=fail llgl:x64-uwp=fail -llvm:arm-uwp=fail llvm:arm64-windows=fail +llvm:arm-uwp=fail llvm:x64-uwp=fail lmdb:arm-uwp=fail lmdb:x64-uwp=fail @@ -894,6 +894,7 @@ memorymodule:x64-osx=fail memorymodule:x64-uwp=fail # Due to static crt. mesa:x64-windows-static=fail +mesa:x64-windows-static-md=fail # Missing dependent libraries. mesa:x64-linux=fail mesa:x64-osx=fail diff --git a/versions/baseline.json b/versions/baseline.json index 6151396a4..b50580025 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2457,7 +2457,7 @@ "port-version": 0 }, "halide": { - "baseline": "11.0.1", + "baseline": "12.0.1", "port-version": 0 }, "happly": { @@ -3777,7 +3777,7 @@ "port-version": 1 }, "llvm": { - "baseline": "11.1.0", + "baseline": "12.0.0", "port-version": 0 }, "lmdb": { @@ -3961,8 +3961,8 @@ "port-version": 0 }, "mesa": { - "baseline": "20.2.2", - "port-version": 1 + "baseline": "21.1.2", + "port-version": 0 }, "meschach": { "baseline": "1.2b-3", diff --git a/versions/h-/halide.json b/versions/h-/halide.json index ba54cd369..9d1bf20db 100644 --- a/versions/h-/halide.json +++ b/versions/h-/halide.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "50e2c4835a57bb4a172c4b82b2a0e0a3077088ab", + "version": "12.0.1", + "port-version": 0 + }, + { "git-tree": "eea72c77e90fcc209eafe9906f8b035ec64af984", "version-string": "11.0.1", "port-version": 0 diff --git a/versions/l-/llvm.json b/versions/l-/llvm.json index fb9e68ce9..843314d7c 100644 --- a/versions/l-/llvm.json +++ b/versions/l-/llvm.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "6597ffba14111050d8e68af4852ea5766c81a78c", + "version-string": "12.0.0", + "port-version": 0 + }, + { "git-tree": "7b30e5aa5227b4af185b967afbe34e84cf8c7638", "version-string": "11.1.0", "port-version": 0 diff --git a/versions/m-/mesa.json b/versions/m-/mesa.json index b28bb72de..aeb14f4b6 100644 --- a/versions/m-/mesa.json +++ b/versions/m-/mesa.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "58f52d4a0724c6d4d393b48e232ca323d8670df6", + "version": "21.1.2", + "port-version": 0 + }, + { "git-tree": "2966b4bb6816c1fa46e65c61f4cb30efb5c8381a", "version-string": "20.2.2", "port-version": 1 |
