2
0
Эх сурвалжийг харах

Fix Linux/X11 build on ARMs.

bruvzg 7 жил өмнө
parent
commit
ce64c2a32e

+ 1 - 1
drivers/unix/os_unix.cpp

@@ -244,7 +244,7 @@ OS::TimeZoneInfo OS_Unix::get_time_zone_info() const {
 
 
 void OS_Unix::delay_usec(uint32_t p_usec) const {
 void OS_Unix::delay_usec(uint32_t p_usec) const {
 
 
-	struct timespec rem = { p_usec / 1000000, (p_usec % 1000000) * 1000 };
+	struct timespec rem = { static_cast<time_t>(p_usec / 1000000), static_cast<long>((p_usec % 1000000) * 1000) };
 	while (nanosleep(&rem, &rem) == EINTR) {
 	while (nanosleep(&rem, &rem) == EINTR) {
 	}
 	}
 }
 }

+ 2 - 3
modules/webm/libvpx/SCsub

@@ -263,7 +263,7 @@ if env["platform"] == 'uwp':
         webm_cpu_x86 = True
         webm_cpu_x86 = True
 else:
 else:
     import platform
     import platform
-    is_x11_or_server_arm = ((env["platform"] == 'x11' or env["platform"] == 'server') and platform.machine().startswith('arm'))
+    is_x11_or_server_arm = ((env["platform"] == 'x11' or env["platform"] == 'server') and (platform.machine().startswith('arm') or platform.machine().startswith('aarch')))
     is_ios_x86 = (env["platform"] == 'iphone' and env["ios_sim"])
     is_ios_x86 = (env["platform"] == 'iphone' and env["ios_sim"])
     is_android_x86 = (env["platform"] == 'android' and env["android_arch"] == 'x86')
     is_android_x86 = (env["platform"] == 'android' and env["android_arch"] == 'x86')
     if is_android_x86:
     if is_android_x86:
@@ -337,7 +337,6 @@ if webm_cpu_arm:
 if webm_simd_optimizations == False:
 if webm_simd_optimizations == False:
     print("WebM SIMD optimizations are disabled. Check if your CPU architecture, CPU bits or platform are supported!")
     print("WebM SIMD optimizations are disabled. Check if your CPU architecture, CPU bits or platform are supported!")
 
 
-
 env_libvpx.add_source_files(env.modules_sources, libvpx_sources)
 env_libvpx.add_source_files(env.modules_sources, libvpx_sources)
 if webm_cpu_x86:
 if webm_cpu_x86:
     is_clang_or_gcc = ('gcc' in env["CC"]) or ('clang' in env["CC"]) or ("OSXCROSS_ROOT" in os.environ)
     is_clang_or_gcc = ('gcc' in env["CC"]) or ('clang' in env["CC"]) or ("OSXCROSS_ROOT" in os.environ)
@@ -379,5 +378,5 @@ elif webm_cpu_arm:
         env_libvpx.add_source_files(env.modules_sources, libvpx_sources_arm_neon_armasm_ms)
         env_libvpx.add_source_files(env.modules_sources, libvpx_sources_arm_neon_armasm_ms)
     elif env["platform"] == 'iphone':
     elif env["platform"] == 'iphone':
         env_libvpx.add_source_files(env.modules_sources, libvpx_sources_arm_neon_gas_apple)
         env_libvpx.add_source_files(env.modules_sources, libvpx_sources_arm_neon_gas_apple)
-    elif not env["android_arch"] == 'arm64v8':
+    elif (is_x11_or_server_arm and cpu_bits == '32') or (env["platform"] == 'android' and not env["android_arch"] == 'arm64v8'):
         env_libvpx.add_source_files(env.modules_sources, libvpx_sources_arm_neon_gas)
         env_libvpx.add_source_files(env.modules_sources, libvpx_sources_arm_neon_gas)