aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>2020-04-07 05:17:22 +0800
committerGitHub <noreply@github.com>2020-04-06 14:17:22 -0700
commit6283a51112ed7bb1a3da46d9f181c075118a836e (patch)
treed4b0c70429ba26cb9d5f480e48e0798c423f38b2
parentf2023a7f35bf25dc8b1f289f34e9e6e6283a5f21 (diff)
downloadvcpkg-6283a51112ed7bb1a3da46d9f181c075118a836e.tar.gz
vcpkg-6283a51112ed7bb1a3da46d9f181c075118a836e.zip
[libffi] Support arm/arm64 (#10485)
* [libffi] Support arm/arm64 * [libffi] Use VCPKG_TARGET_ARCHITECTURE to determine triplet * [libffi] Use VCPKG_TARGET_ARCHITECTURE in CMakeLists.txt * update baseline * re-trigger ci test
-rw-r--r--ports/libffi/CMakeLists.txt8
-rw-r--r--ports/libffi/CONTROL5
-rw-r--r--ports/libffi/portfile.cmake12
-rw-r--r--scripts/ci.baseline.txt1
4 files changed, 12 insertions, 14 deletions
diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt
index cbaa70b05..b8b70db5d 100644
--- a/ports/libffi/CMakeLists.txt
+++ b/ports/libffi/CMakeLists.txt
@@ -21,13 +21,13 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM")
set(TARGET ARM)
elseif(CMAKE_SYSTEM_NAME MATCHES "BSD" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
set(TARGET X86_FREEBSD)
-elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM")
+elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
set(TARGET ARM_WIN32)
-elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")
+elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(TARGET ARM_WIN64)
-elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
+elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
set(TARGET X86_WIN32)
-elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND CMAKE_SIZEOF_VOID_P EQUAL 8)
+elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(TARGET X86_WIN64)
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
set(TARGET X86_DARWIN)
diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL
index 50b50a7c9..70e108a73 100644
--- a/ports/libffi/CONTROL
+++ b/ports/libffi/CONTROL
@@ -1,5 +1,4 @@
Source: libffi
-Version: 3.3
+Version: 3.3-1
Homepage: https://github.com/libffi/libffi
-Description: Portable, high level programming interface to various calling conventions
-Supports: !arm \ No newline at end of file
+Description: Portable, high level programming interface to various calling conventions \ No newline at end of file
diff --git a/ports/libffi/portfile.cmake b/ports/libffi/portfile.cmake
index b6549022c..7209ce8d6 100644
--- a/ports/libffi/portfile.cmake
+++ b/ports/libffi/portfile.cmake
@@ -23,13 +23,13 @@ vcpkg_copy_pdbs()
vcpkg_fixup_cmake_targets()
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
-file(READ ${CURRENT_PACKAGES_DIR}/include/ffi.h FFI_H)
-string(REPLACE " *know* they are going to link with the static library. */"
-" *know* they are going to link with the static library. */
+ vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/ffi.h
+ " *know* they are going to link with the static library. */"
+ " *know* they are going to link with the static library. */
#define FFI_BUILDING
-" FFI_H "${FFI_H}")
-file(WRITE ${CURRENT_PACKAGES_DIR}/include/ffi.h "${FFI_H}")
+"
+ )
endif()
-file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index 25a6d8730..801a5a58e 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -749,7 +749,6 @@ libfabric:x64-linux=fail
libfabric:x64-osx=fail
libfabric:x64-uwp=fail
libfabric:x64-windows=ignore
-libffi:arm-uwp=fail
libfreenect2:arm64-windows=fail
libgd:x64-linux=ignore
libgit2:arm64-windows=fail