aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2024-07-16 18:30:56 -0400
committerluigi1111 <luigi1111w@gmail.com>2024-07-16 18:30:56 -0400
commit38067711e2d068b6c62dd1a54145346a28feb0a5 (patch)
tree80a26581ada5eb6ddb8f7fd1c691329b0ea46ce0
parentMerge pull request #8619 (diff)
parentAdd support for Loongarch (diff)
downloadmonero-38067711e2d068b6c62dd1a54145346a28feb0a5.tar.xz
Merge pull request #9114
88d074c Add support for Loongarch (YalingFang)
-rw-r--r--CMakeLists.txt9
-rw-r--r--contrib/depends/packages/openssl.mk1
-rw-r--r--contrib/depends/toolchain.cmake.in4
3 files changed, 13 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6ffdaeb55..f9d43aa55 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -338,6 +338,11 @@ set(RISCV 1)
set(RISCV32 1)
endif()
+if(ARCH_ID STREQUAL "loongarch64")
+set(LOONGARCH 1)
+set(LOONGARCH64 1)
+endif()
+
if(WIN32 OR ARM OR PPC64LE OR PPC64 OR PPC)
set(OPT_FLAGS_RELEASE "-O2")
else()
@@ -747,7 +752,7 @@ else()
message(STATUS "AES support explicitly disabled")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_AES")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNO_AES")
- elseif(NOT ARM AND NOT PPC64LE AND NOT PPC64 AND NOT PPC AND NOT S390X AND NOT RISCV)
+ elseif(NOT ARM AND NOT PPC64LE AND NOT PPC64 AND NOT PPC AND NOT S390X AND NOT RISCV AND NOT LOONGARCH)
message(STATUS "AES support enabled")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maes")
@@ -757,6 +762,8 @@ else()
message(STATUS "AES support not available on s390x")
elseif(RISCV)
message(STATUS "AES support not available on RISC-V")
+ elseif(LOONGARCH)
+ message(STATUS "AES support not available on LOONGARCH")
elseif(ARM6)
message(STATUS "AES support not available on ARMv6")
elseif(ARM7)
diff --git a/contrib/depends/packages/openssl.mk b/contrib/depends/packages/openssl.mk
index a9734029d..8c9727fa7 100644
--- a/contrib/depends/packages/openssl.mk
+++ b/contrib/depends/packages/openssl.mk
@@ -41,6 +41,7 @@ $(package)_config_opts_arm_android=--static android-arm
$(package)_config_opts_aarch64_android=--static android-arm64
$(package)_config_opts_aarch64_darwin=darwin64-arm64-cc
$(package)_config_opts_riscv64_linux=linux-generic64
+$(package)_config_opts_loongarch64_linux=linux-generic64
$(package)_config_opts_mipsel_linux=linux-generic32
$(package)_config_opts_mips_linux=linux-generic32
$(package)_config_opts_powerpc_linux=linux-generic32
diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in
index fc502c596..50eaaa593 100644
--- a/contrib/depends/toolchain.cmake.in
+++ b/contrib/depends/toolchain.cmake.in
@@ -147,6 +147,10 @@ if(ARCHITECTURE STREQUAL "riscv64")
set(ARCH_ID "riscv64")
set(ARCH "rv64gc")
endif()
+if(ARCHITECTURE STREQUAL "loongarch64")
+ set(ARCH_ID "loongarch64")
+ set(ARCH "loongarch")
+endif()
if(ARCHITECTURE STREQUAL "i686")
SET(ARCH_ID "i386")