mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-06-07 18:32:47 +08:00
[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
This commit is contained in:
parent
75beef03d6
commit
c482408411
@ -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]
|
|
||||||
|
|
@ -8,25 +8,27 @@ set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
|||||||
vcpkg_from_github(
|
vcpkg_from_github(
|
||||||
OUT_SOURCE_PATH SOURCE_PATH
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
REPO halide/Halide
|
REPO halide/Halide
|
||||||
REF 85c1b91c47ce15aab0d9502d955e48615f3bcee0 # v11.0.1
|
REF 5dabcaa9effca1067f907f6c8ea212f3d2b1d99a # v12.0.1
|
||||||
SHA512 3bfdf9fc82d56d099cf74b6683c0017724c1c4ae791e824f5ef3b4d4c1dcb52dd5adddb740ccf6b073b71fcbb748238f42040071ddb64c155f8fdc2709b8121d
|
SHA512 5ab44703850885561337e23d8b538a5adfe1611e24e8daa4a1313756b4f9dfeb54e89bf8400d46a3340c00234402681b4f44ba3ed5322027fd6cb5dfbd525acd
|
||||||
HEAD_REF release/11.x
|
HEAD_REF release/12.x
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
vcpkg_check_features(
|
||||||
target-aarch64 TARGET_AARCH64
|
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||||
target-amdgpu TARGET_AMDGPU
|
FEATURES
|
||||||
target-arm TARGET_ARM
|
target-aarch64 TARGET_AARCH64
|
||||||
target-d3d12compute TARGET_D3D12COMPUTE
|
target-amdgpu TARGET_AMDGPU
|
||||||
target-hexagon TARGET_HEXAGON
|
target-arm TARGET_ARM
|
||||||
target-metal TARGET_METAL
|
target-d3d12compute TARGET_D3D12COMPUTE
|
||||||
target-mips TARGET_MIPS
|
target-hexagon TARGET_HEXAGON
|
||||||
target-nvptx TARGET_NVPTX
|
target-metal TARGET_METAL
|
||||||
target-opencl TARGET_OPENCL
|
target-mips TARGET_MIPS
|
||||||
target-opengl TARGET_OPENGL
|
target-nvptx TARGET_NVPTX
|
||||||
target-powerpc TARGET_POWERPC
|
target-opencl TARGET_OPENCL
|
||||||
target-riscv TARGET_RISCV
|
target-opengl TARGET_OPENGL
|
||||||
target-x86 TARGET_X86
|
target-powerpc TARGET_POWERPC
|
||||||
|
target-riscv TARGET_RISCV
|
||||||
|
target-x86 TARGET_X86
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_configure_cmake(
|
vcpkg_configure_cmake(
|
||||||
@ -43,7 +45,7 @@ vcpkg_configure_cmake(
|
|||||||
-DHALIDE_INSTALL_CMAKEDIR=share/${PORT}
|
-DHALIDE_INSTALL_CMAKEDIR=share/${PORT}
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_install_cmake()
|
vcpkg_install_cmake(ADD_BIN_TO_PATH)
|
||||||
|
|
||||||
vcpkg_copy_tools(
|
vcpkg_copy_tools(
|
||||||
TOOL_NAMES
|
TOOL_NAMES
|
||||||
|
202
ports/halide/vcpkg.json
Normal file
202
ports/halide/vcpkg.json
Normal file
@ -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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -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:
|
|
@ -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
|
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
|
--- a/openmp/runtime/src/CMakeLists.txt
|
||||||
+++ b/openmp/runtime/src/CMakeLists.txt
|
+++ b/openmp/runtime/src/CMakeLists.txt
|
||||||
@@ -136,7 +136,7 @@ libomp_get_ldflags(LIBOMP_CONFIGURED_LDFLAGS)
|
@@ -157,7 +157,7 @@ else()
|
||||||
add_library(omp ${LIBOMP_LIBRARY_KIND} ${LIBOMP_SOURCE_FILES})
|
endif()
|
||||||
|
|
||||||
set_target_properties(omp PROPERTIES
|
set_target_properties(omp PROPERTIES
|
||||||
- PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_LIB_FILE}"
|
- PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_LIB_FILE}"
|
||||||
@ -11,7 +14,7 @@ index 81275c0483d..61468e048ec 100644
|
|||||||
LINK_FLAGS "${LIBOMP_CONFIGURED_LDFLAGS}"
|
LINK_FLAGS "${LIBOMP_CONFIGURED_LDFLAGS}"
|
||||||
LINKER_LANGUAGE ${LIBOMP_LINKER_LANGUAGE}
|
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
|
# 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)
|
add_library(ompimp STATIC ${LIBOMP_GENERATED_IMP_LIB} kmp_import.cpp)
|
||||||
set_target_properties(ompimp PROPERTIES
|
set_target_properties(ompimp PROPERTIES
|
||||||
|
@ -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});
|
|
||||||
+}
|
|
||||||
|
|
@ -2,17 +2,17 @@
|
|||||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
|
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
|
--- a/libcxx/src/CMakeLists.txt
|
||||||
+++ b/libcxx/src/CMakeLists.txt
|
+++ b/libcxx/src/CMakeLists.txt
|
||||||
@@ -364,9 +364,7 @@ if (LIBCXX_INSTALL_LIBRARY)
|
@@ -372,9 +372,7 @@ endif()
|
||||||
# NOTE: This install command must go after the cxx install command otherwise
|
# NOTE: This install command must go after the cxx install command otherwise
|
||||||
# it will not be executed after the library symlinks are installed.
|
# it will not be executed after the library symlinks are installed.
|
||||||
if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
|
if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT)
|
||||||
- # Replace the libc++ filename with $<TARGET_LINKER_FILE:cxx>
|
- # Replace the libc++ filename with $<TARGET_LINKER_FILE:cxx>
|
||||||
- # after we required CMake 3.0.
|
- # after we required CMake 3.0.
|
||||||
- install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
- install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||||
+ install(FILES "$<TARGET_LINKER_FILE:cxx_shared>"
|
+ install(FILES "$<TARGET_LINKER_FILE:cxx_shared>"
|
||||||
DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR}
|
DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR}
|
||||||
COMPONENT libcxx)
|
COMPONENT libcxx)
|
||||||
endif()
|
endif()
|
||||||
|
@ -74,10 +74,10 @@ index ec0702d76f18..9a34a09921b1 100644
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
diff --git a/clang/tools/scan-view/CMakeLists.txt b/clang/tools/scan-view/CMakeLists.txt
|
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
|
--- a/clang/tools/scan-view/CMakeLists.txt
|
||||||
+++ b/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})
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
|
||||||
list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
|
list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
|
||||||
install(PROGRAMS bin/${BinFile}
|
install(PROGRAMS bin/${BinFile}
|
||||||
@ -100,10 +100,10 @@ index 62f2de0cb15c..38dc821c76de 100644
|
|||||||
|
|
||||||
add_custom_target(hmaptool ALL DEPENDS ${Depends})
|
add_custom_target(hmaptool ALL DEPENDS ${Depends})
|
||||||
diff --git a/flang/cmake/modules/AddFlang.cmake b/flang/cmake/modules/AddFlang.cmake
|
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
|
--- a/flang/cmake/modules/AddFlang.cmake
|
||||||
+++ b/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}
|
install(TARGETS ${name}
|
||||||
${export_to_flangtargets}
|
${export_to_flangtargets}
|
||||||
@ -113,24 +113,24 @@ index 7fe8b7e9f406..b338dddd0850 100644
|
|||||||
|
|
||||||
if(NOT LLVM_ENABLE_IDE)
|
if(NOT LLVM_ENABLE_IDE)
|
||||||
diff --git a/flang/tools/f18/CMakeLists.txt b/flang/tools/f18/CMakeLists.txt
|
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
|
--- a/flang/tools/f18/CMakeLists.txt
|
||||||
+++ b/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})
|
add_custom_target(module_files ALL DEPENDS ${MODULE_FILES})
|
||||||
|
|
||||||
-install(TARGETS f18 DESTINATION bin)
|
-install(TARGETS f18 DESTINATION bin)
|
||||||
+install(TARGETS f18 DESTINATION tools/llvm)
|
+install(TARGETS f18 DESTINATION tools/llvm)
|
||||||
|
|
||||||
set(FLANG_INTRINSIC_MODULES_DIR ${FLANG_BINARY_DIR}/include/flang)
|
# This flang shell script will only work in a POSIX shell.
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/flang.sh.in ${CMAKE_BINARY_DIR}/tools/flang/bin/flang @ONLY)
|
if (NOT WIN32)
|
||||||
@@ -68,4 +68,4 @@ set(FLANG_INTRINSIC_MODULES_DIR ${CMAKE_INSTALL_PREFIX}/include/flang)
|
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/flang
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/flang.sh.in ${FLANG_BINARY_DIR}/bin/flang-install.sh @ONLY)
|
DESTINATION ${CMAKE_BINARY_DIR}/bin
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/f18_version.h.in ${CMAKE_CURRENT_BINARY_DIR}/f18_version.h @ONLY)
|
FILE_PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE)
|
||||||
|
- install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/flang DESTINATION bin)
|
||||||
-install(PROGRAMS ${FLANG_BINARY_DIR}/bin/flang-install.sh DESTINATION bin RENAME flang PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE)
|
+ install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/flang DESTINATION tools/llvm)
|
||||||
+install(PROGRAMS ${FLANG_BINARY_DIR}/bin/flang-install.sh DESTINATION tools/llvm RENAME flang PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE)
|
endif()
|
||||||
diff --git a/lld/cmake/modules/AddLLD.cmake b/lld/cmake/modules/AddLLD.cmake
|
diff --git a/lld/cmake/modules/AddLLD.cmake b/lld/cmake/modules/AddLLD.cmake
|
||||||
index 23df41312403..86f4eafeed07 100644
|
index 23df41312403..86f4eafeed07 100644
|
||||||
--- a/lld/cmake/modules/AddLLD.cmake
|
--- a/lld/cmake/modules/AddLLD.cmake
|
||||||
@ -145,7 +145,7 @@ index 23df41312403..86f4eafeed07 100644
|
|||||||
|
|
||||||
if(NOT CMAKE_CONFIGURATION_TYPES)
|
if(NOT CMAKE_CONFIGURATION_TYPES)
|
||||||
diff --git a/lld/tools/lld/CMakeLists.txt b/lld/tools/lld/CMakeLists.txt
|
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
|
--- a/lld/tools/lld/CMakeLists.txt
|
||||||
+++ b/lld/tools/lld/CMakeLists.txt
|
+++ b/lld/tools/lld/CMakeLists.txt
|
||||||
@@ -21,7 +21,7 @@ target_link_libraries(lld
|
@@ -21,7 +21,7 @@ target_link_libraries(lld
|
||||||
@ -156,7 +156,7 @@ index e6f72fcd3488..0e5a2c81e825 100644
|
|||||||
+ RUNTIME DESTINATION tools/llvm)
|
+ RUNTIME DESTINATION tools/llvm)
|
||||||
|
|
||||||
if(NOT LLD_SYMLINKS_TO_CREATE)
|
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
|
diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake
|
||||||
index 4ed5c647c5d2..cb31901dddbb 100644
|
index 4ed5c647c5d2..cb31901dddbb 100644
|
||||||
--- a/lldb/cmake/modules/AddLLDB.cmake
|
--- a/lldb/cmake/modules/AddLLDB.cmake
|
||||||
|
16
ports/llvm/0010-fix-libffi.patch
Normal file
16
ports/llvm/0010-fix-libffi.patch
Normal file
@ -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()
|
34
ports/llvm/0011-fix-libxml2.patch
Normal file
34
ports/llvm/0011-fix-libxml2.patch
Normal file
@ -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
|
@ -1,4 +1,4 @@
|
|||||||
set(LLVM_VERSION "11.1.0")
|
set(LLVM_VERSION "12.0.0")
|
||||||
|
|
||||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||||
|
|
||||||
@ -6,18 +6,18 @@ vcpkg_from_github(
|
|||||||
OUT_SOURCE_PATH SOURCE_PATH
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
REPO llvm/llvm-project
|
REPO llvm/llvm-project
|
||||||
REF llvmorg-${LLVM_VERSION}
|
REF llvmorg-${LLVM_VERSION}
|
||||||
SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
|
SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
|
||||||
HEAD_REF master
|
HEAD_REF master
|
||||||
PATCHES
|
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.
|
0002-fix-install-paths.patch # This patch fixes paths in ClangConfig.cmake, LLVMConfig.cmake, LLDConfig.cmake etc.
|
||||||
0003-fix-openmp-debug.patch
|
0003-fix-openmp-debug.patch
|
||||||
0004-fix-dr-1734.patch
|
0004-fix-dr-1734.patch
|
||||||
0005-fix-tools-path.patch
|
0005-fix-tools-path.patch
|
||||||
0006-workaround-msvc-bug.patch # Fixed in LLVM 12.0.0
|
|
||||||
0007-fix-compiler-rt-install-path.patch
|
0007-fix-compiler-rt-install-path.patch
|
||||||
0008-fix-libcxx-install.patch
|
0008-fix-libcxx-install.patch
|
||||||
0009-fix-tools-install-path.patch
|
0009-fix-tools-install-path.patch
|
||||||
|
0010-fix-libffi.patch
|
||||||
|
0011-fix-libxml2.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_check_features(
|
vcpkg_check_features(
|
||||||
@ -43,6 +43,25 @@ list(APPEND FEATURE_OPTIONS
|
|||||||
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
|
-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.
|
# By default assertions are enabled for Debug configuration only.
|
||||||
if("enable-assertions" IN_LIST FEATURES)
|
if("enable-assertions" IN_LIST FEATURES)
|
||||||
# Force enable assertions for all configurations.
|
# Force enable assertions for all configurations.
|
||||||
@ -119,9 +138,6 @@ if("libcxxabi" IN_LIST FEATURES)
|
|||||||
list(APPEND LLVM_ENABLE_PROJECTS "libcxxabi")
|
list(APPEND LLVM_ENABLE_PROJECTS "libcxxabi")
|
||||||
endif()
|
endif()
|
||||||
if("libunwind" IN_LIST FEATURES)
|
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")
|
list(APPEND LLVM_ENABLE_PROJECTS "libunwind")
|
||||||
endif()
|
endif()
|
||||||
if("lld" IN_LIST FEATURES)
|
if("lld" IN_LIST FEATURES)
|
||||||
@ -204,9 +220,6 @@ vcpkg_configure_cmake(
|
|||||||
-DLLVM_BUILD_EXAMPLES=OFF
|
-DLLVM_BUILD_EXAMPLES=OFF
|
||||||
-DLLVM_INCLUDE_TESTS=OFF
|
-DLLVM_INCLUDE_TESTS=OFF
|
||||||
-DLLVM_BUILD_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.
|
# Force TableGen to be built with optimization. This will significantly improve build time.
|
||||||
-DLLVM_OPTIMIZED_TABLEGEN=ON
|
-DLLVM_OPTIMIZED_TABLEGEN=ON
|
||||||
"-DLLVM_ENABLE_PROJECTS=${LLVM_ENABLE_PROJECTS}"
|
"-DLLVM_ENABLE_PROJECTS=${LLVM_ENABLE_PROJECTS}"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "llvm",
|
"name": "llvm",
|
||||||
"version-string": "11.1.0",
|
"version-string": "12.0.0",
|
||||||
"description": "The LLVM Compiler Infrastructure.",
|
"description": "The LLVM Compiler Infrastructure.",
|
||||||
"homepage": "https://llvm.org",
|
"homepage": "https://llvm.org",
|
||||||
"supports": "!uwp",
|
"supports": "!uwp",
|
||||||
@ -42,9 +42,9 @@
|
|||||||
"disable-assertions",
|
"disable-assertions",
|
||||||
"disable-clang-static-analyzer",
|
"disable-clang-static-analyzer",
|
||||||
"enable-bindings",
|
"enable-bindings",
|
||||||
"enable-rtti",
|
|
||||||
"enable-terminfo",
|
"enable-terminfo",
|
||||||
"enable-threads"
|
"enable-threads",
|
||||||
|
"enable-zlib"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -122,6 +122,12 @@
|
|||||||
"libffi"
|
"libffi"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"enable-libxml2": {
|
||||||
|
"description": "Build with LibXml2.",
|
||||||
|
"dependencies": [
|
||||||
|
"libxml2"
|
||||||
|
]
|
||||||
|
},
|
||||||
"enable-rtti": {
|
"enable-rtti": {
|
||||||
"description": "Build LLVM with run-time type information."
|
"description": "Build LLVM with run-time type information."
|
||||||
},
|
},
|
||||||
@ -131,6 +137,12 @@
|
|||||||
"enable-threads": {
|
"enable-threads": {
|
||||||
"description": "Use threads if available."
|
"description": "Use threads if available."
|
||||||
},
|
},
|
||||||
|
"enable-zlib": {
|
||||||
|
"description": "Build with ZLib.",
|
||||||
|
"dependencies": [
|
||||||
|
"zlib"
|
||||||
|
]
|
||||||
|
},
|
||||||
"flang": {
|
"flang": {
|
||||||
"description": "Include Fortran front end.",
|
"description": "Include Fortran front end.",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
|
@ -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]
|
|
@ -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'
|
|
@ -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
|
# 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
|
# 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
|
# Patches are from https://github.com/pal1000/mesa-dist-win/tree/master/patches
|
||||||
set(PATCHES dual-osmesa.patch
|
set(PATCHES
|
||||||
dual-osmesa-part2.patch
|
# Fix swrAVX512 build
|
||||||
swravx512.patch
|
swravx512-post-static-link.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
vcpkg_check_linkage(ONLY_DYNAMIC_CRT)
|
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.
|
set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) # some parts of this port can only build as a shared library.
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -16,10 +16,10 @@ vcpkg_from_gitlab(
|
|||||||
GITLAB_URL https://gitlab.freedesktop.org
|
GITLAB_URL https://gitlab.freedesktop.org
|
||||||
OUT_SOURCE_PATH SOURCE_PATH
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
REPO mesa/mesa
|
REPO mesa/mesa
|
||||||
REF df2977f871fc70ebd6be48c180d117189b5861b5 #v20.2.2
|
REF mesa-21.1.2
|
||||||
SHA512 6c51d817fe265ea6405c4e8afbb516f30cf697d00cf39f162473ea8a59c202bcdfbfe4b6f7c4a6fd2d4e98eb4a1604cb5e0a02558338bf415e53fe5421cbfbbe
|
SHA512 746ef292dd93ddd23ab34e18e87196db63302defd99357f31ac24876003c75b32cfa8ed38d0292271cd9142a056f6a6549ffcd0f086d0c69c4ff83ac7195188c
|
||||||
HEAD_REF master # branch name
|
HEAD_REF master
|
||||||
PATCHES ${PATCHES} #patch name
|
PATCHES ${PATCHES}
|
||||||
)
|
)
|
||||||
vcpkg_find_acquire_program(PYTHON3)
|
vcpkg_find_acquire_program(PYTHON3)
|
||||||
get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY)
|
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 -Dglvnd=false)
|
||||||
list(APPEND MESA_OPTIONS -Dglx=disabled)
|
list(APPEND MESA_OPTIONS -Dglx=disabled)
|
||||||
list(APPEND MESA_OPTIONS -Dgbm=disabled)
|
list(APPEND MESA_OPTIONS -Dgbm=disabled)
|
||||||
#list(APPEND MESA_OPTIONS -Dosmesa=['gallium','classic']) # classic has compiler errors.
|
list(APPEND MESA_OPTIONS -Dosmesa=true)
|
||||||
list(APPEND MESA_OPTIONS -Dosmesa=['gallium'])
|
|
||||||
|
|
||||||
|
|
||||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||||
list(APPEND MESA_OPTIONS -Dshared-swr=false)
|
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
|
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)
|
if(VCPKG_TARGET_IS_WINDOWS)
|
||||||
list(APPEND MESA_OPTIONS -Dplatforms=['windows'])
|
list(APPEND MESA_OPTIONS -Dplatforms=['windows'])
|
||||||
|
list(APPEND MESA_OPTIONS -Dmicrosoft-clc=disabled)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
vcpkg_configure_meson(
|
vcpkg_configure_meson(
|
||||||
|
@ -1,17 +1,8 @@
|
|||||||
diff --git a/src/gallium/drivers/swr/meson.build b/src/gallium/drivers/swr/meson.build
|
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
|
--- a/src/gallium/drivers/swr/meson.build
|
||||||
+++ b/src/gallium/drivers/swr/meson.build
|
+++ b/src/gallium/drivers/swr/meson.build
|
||||||
@@ -249,7 +249,7 @@ endif
|
@@ -213,7 +213,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
|
|
||||||
|
|
||||||
if with_swr_arches.contains('skx')
|
if with_swr_arches.contains('skx')
|
||||||
swr_skx_args = cpp.first_supported_argument(
|
swr_skx_args = cpp.first_supported_argument(
|
||||||
@ -20,3 +11,12 @@ index 2fad60365a3..dce7f656d64 100644
|
|||||||
)
|
)
|
||||||
if swr_skx_args == []
|
if swr_skx_args == []
|
||||||
error('Cannot find SKX support for swr.')
|
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.')
|
99
ports/mesa/vcpkg.json
Normal file
99
ports/mesa/vcpkg.json
Normal file
@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -826,8 +826,8 @@ live555:x64-windows-static-md=fail
|
|||||||
live555:x86-windows=fail
|
live555:x86-windows=fail
|
||||||
llgl:arm-uwp=fail
|
llgl:arm-uwp=fail
|
||||||
llgl:x64-uwp=fail
|
llgl:x64-uwp=fail
|
||||||
llvm:arm-uwp=fail
|
|
||||||
llvm:arm64-windows=fail
|
llvm:arm64-windows=fail
|
||||||
|
llvm:arm-uwp=fail
|
||||||
llvm:x64-uwp=fail
|
llvm:x64-uwp=fail
|
||||||
lmdb:arm-uwp=fail
|
lmdb:arm-uwp=fail
|
||||||
lmdb:x64-uwp=fail
|
lmdb:x64-uwp=fail
|
||||||
@ -894,6 +894,7 @@ memorymodule:x64-osx=fail
|
|||||||
memorymodule:x64-uwp=fail
|
memorymodule:x64-uwp=fail
|
||||||
# Due to static crt.
|
# Due to static crt.
|
||||||
mesa:x64-windows-static=fail
|
mesa:x64-windows-static=fail
|
||||||
|
mesa:x64-windows-static-md=fail
|
||||||
# Missing dependent libraries.
|
# Missing dependent libraries.
|
||||||
mesa:x64-linux=fail
|
mesa:x64-linux=fail
|
||||||
mesa:x64-osx=fail
|
mesa:x64-osx=fail
|
||||||
|
@ -2457,7 +2457,7 @@
|
|||||||
"port-version": 0
|
"port-version": 0
|
||||||
},
|
},
|
||||||
"halide": {
|
"halide": {
|
||||||
"baseline": "11.0.1",
|
"baseline": "12.0.1",
|
||||||
"port-version": 0
|
"port-version": 0
|
||||||
},
|
},
|
||||||
"happly": {
|
"happly": {
|
||||||
@ -3777,7 +3777,7 @@
|
|||||||
"port-version": 1
|
"port-version": 1
|
||||||
},
|
},
|
||||||
"llvm": {
|
"llvm": {
|
||||||
"baseline": "11.1.0",
|
"baseline": "12.0.0",
|
||||||
"port-version": 0
|
"port-version": 0
|
||||||
},
|
},
|
||||||
"lmdb": {
|
"lmdb": {
|
||||||
@ -3961,8 +3961,8 @@
|
|||||||
"port-version": 0
|
"port-version": 0
|
||||||
},
|
},
|
||||||
"mesa": {
|
"mesa": {
|
||||||
"baseline": "20.2.2",
|
"baseline": "21.1.2",
|
||||||
"port-version": 1
|
"port-version": 0
|
||||||
},
|
},
|
||||||
"meschach": {
|
"meschach": {
|
||||||
"baseline": "1.2b-3",
|
"baseline": "1.2b-3",
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
{
|
{
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "50e2c4835a57bb4a172c4b82b2a0e0a3077088ab",
|
||||||
|
"version": "12.0.1",
|
||||||
|
"port-version": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"git-tree": "eea72c77e90fcc209eafe9906f8b035ec64af984",
|
"git-tree": "eea72c77e90fcc209eafe9906f8b035ec64af984",
|
||||||
"version-string": "11.0.1",
|
"version-string": "11.0.1",
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
{
|
{
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "6597ffba14111050d8e68af4852ea5766c81a78c",
|
||||||
|
"version-string": "12.0.0",
|
||||||
|
"port-version": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"git-tree": "7b30e5aa5227b4af185b967afbe34e84cf8c7638",
|
"git-tree": "7b30e5aa5227b4af185b967afbe34e84cf8c7638",
|
||||||
"version-string": "11.1.0",
|
"version-string": "11.1.0",
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
{
|
{
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "58f52d4a0724c6d4d393b48e232ca323d8670df6",
|
||||||
|
"version": "21.1.2",
|
||||||
|
"port-version": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"git-tree": "2966b4bb6816c1fa46e65c61f4cb30efb5c8381a",
|
"git-tree": "2966b4bb6816c1fa46e65c61f4cb30efb5c8381a",
|
||||||
"version-string": "20.2.2",
|
"version-string": "20.2.2",
|
||||||
|
Loading…
Reference in New Issue
Block a user