Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates-src > by-pkgid > a30fdb9491d265058e211af983eb06e1 > files > 1

avidemux-2.7.1-1.mga6.src.rpm

From 965e547d10d1d4652b0324ed2a7a737643971170 Mon Sep 17 00:00:00 2001
From: Pascal Terjan <pterjan@google.com>
Date: Mon, 12 Nov 2018 12:51:09 +0000
Subject: [PATCH] Add support for Arm64

---
 cmake/admDetermineSystem.cmake                | 11 +++++++++--
 cmake/cmake_compile_check/cpu_arm64_check.cpp | 10 ++++++++++
 2 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 cmake/cmake_compile_check/cpu_arm64_check.cpp

diff --git a/cmake/admDetermineSystem.cmake b/cmake/admDetermineSystem.cmake
index 3382ec709..110f1f110 100644
--- a/cmake/admDetermineSystem.cmake
+++ b/cmake/admDetermineSystem.cmake
@@ -2,6 +2,7 @@
 #  ADM_BIG_ENDIAN  - big endian CPU detected
 #  ADM_BSD_FAMILY  - BSD family operating system was detected
 #  ADM_CPU_ARMEL   - ARM (min ARCH5) el
+#  ADM_CPU_ARM64   - ARM v8 CPU was detected
 #  ADM_CPU_64BIT   - 64-bit CPU was detected
 #  ADM_CPU_X86     - x86 CPU architecture was detected
 #  ADM_CPU_X86_32  - x86 32-bit CPU architecture was detected
@@ -70,13 +71,19 @@ IF(NOT MSVC)
                         PERFORM_SYSTEM_TEST(cpu_armel_check.cpp "ARM EL" ARMEL_SUPPORTED)
                         IF(ARMEL_SUPPORTED)
                                 SET(ADM_CPU_ARMEL 1)
+                        ELSE (ARMEL_SUPPORTED)
+                                PERFORM_SYSTEM_TEST(cpu_arm64_check.cpp "ARM64" ARM64_SUPPORTED)
+
+                                IF(ARM64_SUPPORTED)
+                                        set(ADM_CPU_ARM64 1)
+                                endif(ARM64_SUPPORTED)
                         ENDIF(ARMEL_SUPPORTED)
 	        ENDIF (X86_32_SUPPORTED)
         ENDIF (X86_64_SUPPORTED)
 
-        IF (NOT ADM_CPU_X86_32 AND NOT ADM_CPU_X86_64 AND NOT ADM_CPU_ARMEL)
+        IF (NOT ADM_CPU_X86_32 AND NOT ADM_CPU_X86_64 AND NOT ADM_CPU_ARMEL AND NOT ADM_CPU_ARM64)
 	        MESSAGE(FATAL_ERROR "CPU not supported")
-        ENDIF (NOT ADM_CPU_X86_32 AND NOT ADM_CPU_X86_64 AND NOT ADM_CPU_ARMEL)
+        ENDIF (NOT ADM_CPU_X86_32 AND NOT ADM_CPU_X86_64 AND NOT ADM_CPU_ARMEL AND NOT ADM_CPU_ARM64)
 
         TEST_BIG_ENDIAN(CMAKE_WORDS_BIGENDIAN)
 
diff --git a/cmake/cmake_compile_check/cpu_arm64_check.cpp b/cmake/cmake_compile_check/cpu_arm64_check.cpp
new file mode 100644
index 000000000..c8981318e
--- /dev/null
+++ b/cmake/cmake_compile_check/cpu_arm64_check.cpp
@@ -0,0 +1,10 @@
+void foo(void)
+{
+
+	asm volatile ("mov x27,x28 " : : );
+}
+
+int main(int a, char **b)
+{
+	return 0;
+}
-- 
2.19.1.930.g4563a0d9d0-goog