diff options
| author | xyb <xyb@xyb.name> | 2020-09-05 10:45:48 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-05 10:45:48 -0700 |
| commit | fdac1fc5aa36e8edeb9f358f0fad041de2626215 (patch) | |
| tree | 56cdf5ea8aa709b27b2ea8c989af3c0b3f000117 /ports | |
| parent | bd8af0789804dad0f76dced3f837845f086350c5 (diff) | |
| download | vcpkg-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')
| -rw-r--r-- | ports/boost-build/CONTROL | 2 | ||||
| -rw-r--r-- | ports/boost-build/portfile.cmake | 4 | ||||
| -rw-r--r-- | ports/boost-modular-build-helper/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | ports/boost-modular-build-helper/CONTROL | 2 | ||||
| -rw-r--r-- | ports/boost-modular-build-helper/boost-modular-build.cmake | 20 | ||||
| -rw-r--r-- | ports/libffi/CMakeLists.txt | 18 | ||||
| -rw-r--r-- | ports/libffi/CONTROL | 2 |
7 files changed, 36 insertions, 14 deletions
diff --git a/ports/boost-build/CONTROL b/ports/boost-build/CONTROL index 8b4c5e161..036631336 100644 --- a/ports/boost-build/CONTROL +++ b/ports/boost-build/CONTROL @@ -1,6 +1,6 @@ Source: boost-build
Version: 1.73.0
-Port-Version: 3
+Port-Version: 4
Homepage: https://github.com/boostorg/build
Description: Boost.Build
Build-Depends: boost-uninstall
\ No newline at end of file diff --git a/ports/boost-build/portfile.cmake b/ports/boost-build/portfile.cmake index 9b06d0074..bad139ac2 100644 --- a/ports/boost-build/portfile.cmake +++ b/ports/boost-build/portfile.cmake @@ -2,9 +2,7 @@ include(vcpkg_common_functions) set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
-if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "s390x")
- return()
-elseif(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW")
+if(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW")
return()
endif()
diff --git a/ports/boost-modular-build-helper/CMakeLists.txt b/ports/boost-modular-build-helper/CMakeLists.txt index 629e01f6d..852430dc9 100644 --- a/ports/boost-modular-build-helper/CMakeLists.txt +++ b/ports/boost-modular-build-helper/CMakeLists.txt @@ -37,6 +37,8 @@ endif() if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "s390x")
list(APPEND B2_OPTIONS architecture=s390x)
+elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ list(APPEND B2_OPTIONS architecture=arm)
else()
list(APPEND B2_OPTIONS architecture=x86)
endif()
diff --git a/ports/boost-modular-build-helper/CONTROL b/ports/boost-modular-build-helper/CONTROL index 601b286e0..b39ec5f42 100644 --- a/ports/boost-modular-build-helper/CONTROL +++ b/ports/boost-modular-build-helper/CONTROL @@ -1,4 +1,4 @@ Source: boost-modular-build-helper
Version: 1.73.0
-Port-Version: 4
+Port-Version: 5
Build-Depends: boost-uninstall
\ No newline at end of file diff --git a/ports/boost-modular-build-helper/boost-modular-build.cmake b/ports/boost-modular-build-helper/boost-modular-build.cmake index b0952e0ac..26784ed26 100644 --- a/ports/boost-modular-build-helper/boost-modular-build.cmake +++ b/ports/boost-modular-build-helper/boost-modular-build.cmake @@ -18,7 +18,13 @@ function(boost_modular_build) # Todo: this serves too similar a purpose as vcpkg_find_acquire_program()
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
- set(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/../x64-linux/tools/boost-build")
+ if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64")
+ set(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/../arm64-linux/tools/boost-build")
+ else()
+ set(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/../x64-linux/tools/boost-build")
+ endif()
+ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "armv7l")
+ set(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/../arm-linux/tools/boost-build")
elseif(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW")
get_filename_component(BOOST_BUILD_PATH "${CURRENT_INSTALLED_DIR}/../x86-windows/tools/boost-build" ABSOLUTE)
elseif(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "s390x")
@@ -29,9 +35,17 @@ function(boost_modular_build) if(NOT EXISTS "${BOOST_BUILD_PATH}")
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
- message(FATAL_ERROR "The x64 boost-build tools must be installed to build arm64 for Linux. Please run `vcpkg install boost-build:x64-linux`.")
+ if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64")
+ message(FATAL_ERROR "The arm64 boost-build tools must be installed to build arm64 for Linux. Please run `vcpkg install boost-build:arm64-linux`.")
+ else()
+ message(FATAL_ERROR "The x64 boost-build tools must be installed to build arm64 for Linux. Please run `vcpkg install boost-build:x64-linux`.")
+ endif()
else()
- message(FATAL_ERROR "The x86 boost-build tools must be installed to build for non-x86/x64 platforms. Please run `vcpkg install boost-build:x86-windows`.")
+ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "armv7l")
+ message(FATAL_ERROR "The arm boost-build tools must be installed to build arm64 for Linux. Please run `vcpkg install boost-build:arm-linux`.")
+ else()
+ message(FATAL_ERROR "The x86 boost-build tools must be installed to build for non-x86/x64 platforms. Please run `vcpkg install boost-build:x86-windows`.")
+ endif()
endif()
endif()
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
|
