aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYalingFang <fangyaling@loongson.cn>2024-01-05 08:14:12 +0000
committerYalingFang <fangyaling@loongson.cn>2024-01-05 08:14:12 +0000
commit88d074c0e0a27c1655362f3cd894bf436148ee83 (patch)
treeb7e7233509c0ebb273d0ac8b28e6a2aa34b9d539
parentMerge pull request #9050 (diff)
downloadmonero-88d074c0e0a27c1655362f3cd894bf436148ee83.tar.xz
Add support for Loongarch
-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 99baba2ba..335391d16 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -335,6 +335,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()
@@ -744,7 +749,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")
@@ -754,6 +759,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 b35cf5e97..b124054d9 100644
--- a/contrib/depends/packages/openssl.mk
+++ b/contrib/depends/packages/openssl.mk
@@ -38,6 +38,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 6fe4618ae..d8c7dc926 100644
--- a/contrib/depends/toolchain.cmake.in
+++ b/contrib/depends/toolchain.cmake.in
@@ -144,6 +144,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")