commit
d12352d568
3
.github/workflows/flutter-build.yml
vendored
3
.github/workflows/flutter-build.yml
vendored
@ -1225,6 +1225,9 @@ jobs:
|
||||
|
||||
- name: Install vcpkg dependencies
|
||||
run: |
|
||||
pushd $VCPKG_ROOT
|
||||
git apply "$OLDPWD/res/vcpkg/0001-Extend-crosscompiling-efforts-to-other-architectures.patch"
|
||||
popd
|
||||
$VCPKG_ROOT/vcpkg install --triplet arm-linux --x-install-root="$VCPKG_ROOT/installed"
|
||||
shell: bash
|
||||
|
||||
|
@ -0,0 +1,53 @@
|
||||
From 4f03e584befa8ccee59eb6e8556a11d968f1785f Mon Sep 17 00:00:00 2001
|
||||
From: Vasyl Gello <vasek.gello@gmail.com>
|
||||
Date: Mon, 13 Nov 2023 05:30:49 +0000
|
||||
Subject: [PATCH] Extend crosscompiling efforts to other architectures
|
||||
|
||||
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
|
||||
---
|
||||
scripts/toolchains/linux.cmake | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/scripts/toolchains/linux.cmake b/scripts/toolchains/linux.cmake
|
||||
index f19940b..f22c710 100644
|
||||
--- a/scripts/toolchains/linux.cmake
|
||||
+++ b/scripts/toolchains/linux.cmake
|
||||
@@ -13,7 +13,7 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
|
||||
string(APPEND VCPKG_LINKER_FLAGS " -m32")
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
|
||||
set(CMAKE_SYSTEM_PROCESSOR armv7l CACHE STRING "")
|
||||
- if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
||||
+ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
if(NOT DEFINED CMAKE_CXX_COMPILER)
|
||||
set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")
|
||||
endif()
|
||||
@@ -25,12 +25,12 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_ASM-ATT_COMPILER)
|
||||
set(CMAKE_ASM-ATT_COMPILER "arm-linux-gnueabihf-as")
|
||||
- endif()
|
||||
- message(STATUS "Cross compiling arm on host x86_64, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
+ endif()
|
||||
+ message(STATUS "Cross compiling arm on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
endif()
|
||||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
set(CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "")
|
||||
- if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
||||
+ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
|
||||
if(NOT DEFINED CMAKE_CXX_COMPILER)
|
||||
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")
|
||||
endif()
|
||||
@@ -42,8 +42,8 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_ASM-ATT_COMPILER)
|
||||
set(CMAKE_ASM-ATT_COMPILER "aarch64-linux-gnu-as")
|
||||
- endif()
|
||||
- message(STATUS "Cross compiling arm64 on host x86_64, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
+ endif()
|
||||
+ message(STATUS "Cross compiling arm64 on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
@ -130,9 +130,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
endif()
|
||||
|
||||
else()
|
||||
vcpkg_find_acquire_program(YASM)
|
||||
get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)
|
||||
vcpkg_add_to_path(${YASM_EXE_PATH})
|
||||
yasm_tool_helper(APPEND_TO_PATH)
|
||||
|
||||
set(OPTIONS "--disable-examples --disable-tools --disable-docs --disable-unit-tests --enable-pic")
|
||||
|
||||
@ -169,12 +167,17 @@ else()
|
||||
include("${cmake_vars_file}")
|
||||
|
||||
# Set environment variables for configure
|
||||
set(ENV{CC} ${VCPKG_DETECTED_CMAKE_C_COMPILER})
|
||||
set(ENV{CXX} ${VCPKG_DETECTED_CMAKE_CXX_COMPILER})
|
||||
set(ENV{AR} ${VCPKG_DETECTED_CMAKE_AR})
|
||||
set(ENV{LD} ${VCPKG_DETECTED_CMAKE_LINKER})
|
||||
set(ENV{RANLIB} ${VCPKG_DETECTED_CMAKE_RANLIB})
|
||||
set(ENV{STRIP} ${VCPKG_DETECTED_CMAKE_STRIP})
|
||||
if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "([^\/]*-)gcc$")
|
||||
message(STATUS "Cross-building for ${TARGET_TRIPLET} with ${CMAKE_MATCH_1}")
|
||||
set(ENV{CROSS} ${CMAKE_MATCH_1})
|
||||
else()
|
||||
set(ENV{CC} ${VCPKG_DETECTED_CMAKE_C_COMPILER})
|
||||
set(ENV{CXX} ${VCPKG_DETECTED_CMAKE_CXX_COMPILER})
|
||||
set(ENV{AR} ${VCPKG_DETECTED_CMAKE_AR})
|
||||
set(ENV{LD} ${VCPKG_DETECTED_CMAKE_LINKER})
|
||||
set(ENV{RANLIB} ${VCPKG_DETECTED_CMAKE_RANLIB})
|
||||
set(ENV{STRIP} ${VCPKG_DETECTED_CMAKE_STRIP})
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_MINGW)
|
||||
if(LIBVPX_TARGET_ARCH STREQUAL "x86")
|
||||
@ -184,16 +187,6 @@ else()
|
||||
endif()
|
||||
elseif(VCPKG_TARGET_IS_LINUX)
|
||||
set(LIBVPX_TARGET "${LIBVPX_TARGET_ARCH}-linux-gcc")
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm AND NOT VCPKG_DETECTED_CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL arm)
|
||||
message(STATUS "Cross-building for arm-linux with arm-linux-gnueabihf")
|
||||
set(ENV{CROSS} "arm-linux-gnueabihf-")
|
||||
unset(ENV{CC})
|
||||
unset(ENV{CXX})
|
||||
unset(ENV{AR})
|
||||
unset(ENV{LD})
|
||||
unset(ENV{RANLIB})
|
||||
unset(ENV{STRIP})
|
||||
endif()
|
||||
elseif(VCPKG_TARGET_IS_ANDROID)
|
||||
set(LIBVPX_TARGET "generic-gnu")
|
||||
# Settings
|
||||
@ -255,7 +248,7 @@ else()
|
||||
message(STATUS "Building libvpx for Release")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND
|
||||
${BASH} --noprofile --norc -c "make -j"
|
||||
${BASH} --noprofile --norc -c "make -j${VCPKG_CONCURRENCY}"
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
|
||||
LOGNAME build-${TARGET_TRIPLET}-rel
|
||||
)
|
||||
@ -288,7 +281,7 @@ else()
|
||||
message(STATUS "Building libvpx for Debug")
|
||||
vcpkg_execute_required_process(
|
||||
COMMAND
|
||||
${BASH} --noprofile --norc -c "make -j"
|
||||
${BASH} --noprofile --norc -c "make -j${VCPKG_CONCURRENCY}"
|
||||
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg"
|
||||
LOGNAME build-${TARGET_TRIPLET}-dbg
|
||||
)
|
||||
|
@ -5,14 +5,22 @@
|
||||
"homepage": "https://github.com/webmproject/libvpx",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake-get-vars",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-msbuild",
|
||||
"host": true,
|
||||
"platform": "windows"
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-get-vars",
|
||||
"host": true
|
||||
"name": "yasm",
|
||||
"host": true,
|
||||
"features": [
|
||||
"tools"
|
||||
],
|
||||
"platform": "!(windows & !mingw)"
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
|
@ -5,7 +5,6 @@ vcpkg_from_github(
|
||||
SHA512 86df35cd62ebf3551b2739effb8f818d635656d91d386d7d600a424a92c4c0d6bfbc3986f1ec6cf4950910ac87b28dc9640b9df3b9a6a5a75eb37ae71782b72e
|
||||
HEAD_REF master
|
||||
PATCHES fix-pkgconfig-version.patch
|
||||
reinstate-opus-use-neon.patch
|
||||
)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
@ -24,10 +23,11 @@ else()
|
||||
set(STACK_PROTECTOR ON)
|
||||
endif()
|
||||
|
||||
# Fix build on mingw arm{,64}-* and arm-linux
|
||||
if(VCPKG_TARGET_ARCHITECTURE MATCHES "^(ARM|arm)")
|
||||
list(APPEND ADDITIONAL_OPUS_OPTIONS "-DOPUS_USE_NEON=OFF") # for version 1.3.1 (remove for future Opus release)
|
||||
list(APPEND ADDITIONAL_OPUS_OPTIONS "-DOPUS_DISABLE_INTRINSICS=ON") # for HEAD (and future Opus release)
|
||||
if((VCPKG_TARGET_IS_MINGW AND VCPKG_TARGET_ARCHITECTURE MATCHES "^arm") OR
|
||||
(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") OR
|
||||
(VCPKG_TARGET_IS_ANDROID AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_CMAKE_CONFIGURE_OPTIONS MATCHES "ANDROID_ARM_NEON"))
|
||||
message(STATUS "Disabling ARM NEON and intrinsics on ${TARGET_TRIPLET}")
|
||||
list(APPEND ADDITIONAL_OPUS_OPTIONS "-DOPUS_DISABLE_INTRINSICS=ON -DCOMPILER_SUPPORTS_NEON=OFF") # for HEAD (and future Opus release)
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 9d824cd..8ff44a0 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -467,7 +467,7 @@ if(NOT OPUS_DISABLE_INTRINSICS)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
- if(COMPILER_SUPPORT_NEON)
|
||||
+ if(COMPILER_SUPPORT_NEON AND OPUS_USE_NEON)
|
||||
if(OPUS_MAY_HAVE_NEON)
|
||||
if(RUNTIME_CPU_CAPABILITY_DETECTION)
|
||||
message(STATUS "OPUS_MAY_HAVE_NEON enabling runtime detection")
|
Loading…
Reference in New Issue
Block a user