aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Bique <bique.alexandre@gmail.com>2021-07-23 00:50:52 +0200
committerGitHub <noreply@github.com>2021-07-22 15:50:52 -0700
commit8886d85ad0215a7f30459f5a3c495a0f7c4d6a88 (patch)
tree41194e8bc998af5ef427ae52ed9746bfa63d8185
parent16aeda9c214e7eaac314e5977f4204c1ba5a645f (diff)
downloadvcpkg-8886d85ad0215a7f30459f5a3c495a0f7c4d6a88.tar.gz
vcpkg-8886d85ad0215a7f30459f5a3c495a0f7c4d6a88.zip
[llvm] improve cross compilation (#18770)
-rw-r--r--ports/llvm/portfile.cmake30
-rw-r--r--ports/llvm/vcpkg.json1
-rw-r--r--versions/baseline.json2
-rw-r--r--versions/l-/llvm.json5
4 files changed, 35 insertions, 3 deletions
diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake
index c242f99e4..37c1c5f19 100644
--- a/ports/llvm/portfile.cmake
+++ b/ports/llvm/portfile.cmake
@@ -187,13 +187,13 @@ set(known_llvm_targets
BPF
Hexagon
Lanai
- Mips
+ Mips
MSP430
NVPTX
PowerPC
RISCV
Sparc
- SystemZ
+ SystemZ
WebAssembly
X86
XCore
@@ -211,11 +211,37 @@ vcpkg_find_acquire_program(PYTHON3)
get_filename_component(PYTHON3_DIR ${PYTHON3} DIRECTORY)
vcpkg_add_to_path(${PYTHON3_DIR})
+if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "${VCPKG_DETECTED_CMAKE_SYSTEM_PROCESSOR}")
+ # TODO: support more targets and OS
+ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ if(VCPKG_TARGET_IS_OSX)
+ list(APPEND CROSS_OPTIONS -DLLVM_HOST_TRIPLE=arm64-apple-darwin20.3.0)
+ list(APPEND CROSS_OPTIONS -DLLVM_DEFAULT_TARGET_TRIPLE=arm64-apple-darwin20.3.0)
+ elseif(VCPKG_TARGET_IS_WINDOWS)
+ list(APPEND CROSS_OPTIONS -DLLVM_HOST_TRIPLE=arm64-pc-win32)
+ list(APPEND CROSS_OPTIONS -DLLVM_DEFAULT_TARGET_TRIPLE=arm64-pc-win32)
+
+ # Remove if PR #16111 is merged
+ list(APPEND CROSS_OPTIONS -DCMAKE_CROSSCOMPILING=ON)
+ list(APPEND CROSS_OPTIONS -DCMAKE_SYSTEM_PROCESSOR:STRING=ARM64)
+ list(APPEND CROSS_OPTIONS -DCMAKE_SYSTEM_NAME:STRING=Windows)
+ endif()
+ list(APPEND CROSS_OPTIONS -DLLVM_TARGET_ARCH=AArch64)
+ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ if(VCPKG_TARGET_IS_OSX)
+ list(APPEND CROSS_OPTIONS -DLLVM_HOST_TRIPLE=x86_64-apple-darwin20.3.0)
+ list(APPEND CROSS_OPTIONS -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-apple-darwin20.3.0)
+ endif()
+ list(APPEND CROSS_OPTIONS -DLLVM_TARGET_ARCH=X86)
+ endif()
+endif()
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/llvm
PREFER_NINJA
OPTIONS
${FEATURE_OPTIONS}
+ ${CROSS_OPTIONS}
-DLLVM_INCLUDE_EXAMPLES=OFF
-DLLVM_BUILD_EXAMPLES=OFF
-DLLVM_INCLUDE_TESTS=OFF
diff --git a/ports/llvm/vcpkg.json b/ports/llvm/vcpkg.json
index 06ef3712b..2c5061af6 100644
--- a/ports/llvm/vcpkg.json
+++ b/ports/llvm/vcpkg.json
@@ -1,6 +1,7 @@
{
"name": "llvm",
"version-string": "12.0.0",
+ "port-version": 1,
"description": "The LLVM Compiler Infrastructure.",
"homepage": "https://llvm.org",
"supports": "!uwp",
diff --git a/versions/baseline.json b/versions/baseline.json
index e66f7f6e2..45bda6dc7 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3818,7 +3818,7 @@
},
"llvm": {
"baseline": "12.0.0",
- "port-version": 0
+ "port-version": 1
},
"lmdb": {
"baseline": "0.9.24",
diff --git a/versions/l-/llvm.json b/versions/l-/llvm.json
index 843314d7c..7cb28d85e 100644
--- a/versions/l-/llvm.json
+++ b/versions/l-/llvm.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "3d801bd12386ff6ab31ec0a27c3f45e23242a470",
+ "version-string": "12.0.0",
+ "port-version": 1
+ },
+ {
"git-tree": "6597ffba14111050d8e68af4852ea5766c81a78c",
"version-string": "12.0.0",
"port-version": 0