aboutsummaryrefslogtreecommitdiff
path: root/ports/libffi
diff options
context:
space:
mode:
authorxyb <xyb@xyb.name>2020-09-05 10:45:48 -0700
committerGitHub <noreply@github.com>2020-09-05 10:45:48 -0700
commitfdac1fc5aa36e8edeb9f358f0fad041de2626215 (patch)
tree56cdf5ea8aa709b27b2ea8c989af3c0b3f000117 /ports/libffi
parentbd8af0789804dad0f76dced3f837845f086350c5 (diff)
downloadvcpkg-fdac1fc5aa36e8edeb9f358f0fad041de2626215.tar.gz
vcpkg-fdac1fc5aa36e8edeb9f358f0fad041de2626215.zip
Add community triple arm64-linux and arm-linux. (#11880)
Verify the following command on both 32 bits and 64 bits OS on Raspberry pi 3. ./bootstrap-vcpkg.sh ./vcpkg install boost
Diffstat (limited to 'ports/libffi')
-rw-r--r--ports/libffi/CMakeLists.txt18
-rw-r--r--ports/libffi/CONTROL2
2 files changed, 14 insertions, 6 deletions
diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt
index d7c741859..693fcc935 100644
--- a/ports/libffi/CMakeLists.txt
+++ b/ports/libffi/CMakeLists.txt
@@ -11,7 +11,7 @@ endif()
# config variables for ffi.h.in
set(VERSION 3.3)
-set(KNOWN_PROCESSORS x86 x86_64 AMD64 ARM ARM64 i386)
+set(KNOWN_PROCESSORS x86 x86_64 AMD64 ARM ARM64 i386 armv7l aarch64)
if(NOT CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_PROCESSORS)
message(FATAL_ERROR "Unknown processor: ${CMAKE_SYSTEM_PROCESSOR}")
@@ -19,6 +19,10 @@ endif()
if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM")
set(TARGET ARM)
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "armv7l")
+ set(TARGET ARM)
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
+ set(TARGET ARM64)
elseif(CMAKE_SYSTEM_NAME MATCHES "BSD" AND CMAKE_SIZEOF_VOID_P EQUAL 4)
set(TARGET X86_FREEBSD)
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
@@ -50,9 +54,9 @@ set(FFI_EXEC_TRAMPOLINE_TABLE 0)
configure_file(include/ffi.h.in ${CMAKE_BINARY_DIR}/include/ffi.h)
file(COPY ${FFI_CONFIG_FILE} DESTINATION ${CMAKE_BINARY_DIR})
-if ("${TARGET}" STREQUAL "ARM_WIN64")
+if ("${TARGET}" STREQUAL "ARM_WIN64" OR "${TARGET}" STREQUAL "ARM64")
file(COPY src/aarch64/ffitarget.h DESTINATION ${CMAKE_BINARY_DIR}/include)
-elseif ("${TARGET}" STREQUAL "ARM_WIN32")
+elseif ("${TARGET}" STREQUAL "ARM_WIN32" OR "${TARGET}" STREQUAL "ARM")
file(COPY src/arm/ffitarget.h DESTINATION ${CMAKE_BINARY_DIR}/include)
else()
file(COPY src/x86/ffitarget.h DESTINATION ${CMAKE_BINARY_DIR}/include)
@@ -72,11 +76,11 @@ set(FFI_SOURCES
src/prep_cif.c
src/types.c)
-if ("${TARGET}" STREQUAL "ARM_WIN64")
+if ("${TARGET}" STREQUAL "ARM_WIN64" OR "${TARGET}" STREQUAL "ARM64")
set(FFI_SOURCES
${FFI_SOURCES}
src/aarch64/ffi.c)
-elseif("${TARGET}" STREQUAL "ARM_WIN32")
+elseif("${TARGET}" STREQUAL "ARM_WIN32" OR "${TARGET}" STREQUAL "ARM")
set(FFI_SOURCES
${FFI_SOURCES}
src/arm/ffi.c)
@@ -162,8 +166,12 @@ elseif("${TARGET}" STREQUAL "X86_WIN64")
add_assembly(src/x86/win64_intel.S)
elseif("${TARGET}" STREQUAL "ARM_WIN32")
add_assembly(src/arm/sysv_msvc_arm32.S)
+elseif("${TARGET}" STREQUAL "ARM")
+ add_assembly(src/arm/sysv.S)
elseif("${TARGET}" STREQUAL "ARM_WIN64")
add_assembly(src/aarch64/win64_armasm.S)
+elseif("${TARGET}" STREQUAL "ARM64")
+ add_assembly(src/aarch64/sysv.S)
else()
message(FATAL_ERROR "Target not implemented")
endif()
diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL
index a5d4c2094..6f1154eda 100644
--- a/ports/libffi/CONTROL
+++ b/ports/libffi/CONTROL
@@ -1,5 +1,5 @@
Source: libffi
Version: 3.3
-Port-Version: 4
+Port-Version: 5
Homepage: https://github.com/libffi/libffi
Description: Portable, high level programming interface to various calling conventions