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
 | 
			
		||||
    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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user