aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2017-10-15 18:37:14 +0200
committerRiccardo Spagni <ric@spagni.net>2017-10-15 18:37:14 +0200
commit1740f0a13ecc6de21059cf02e844d38f3b7b0798 (patch)
tree9dfcec869bc315f87859a7dc71c9d3285be59dd3
parentMerge pull request #2582 (diff)
parentFix building with -DARCH=default -DNO_AES=ON (diff)
downloadmonero-1740f0a13ecc6de21059cf02e844d38f3b7b0798.tar.xz
Merge pull request #2583
27fdaaa4 Fix building with -DARCH=default -DNO_AES=ON (moneromooo-monero)
-rw-r--r--CMakeLists.txt6
-rw-r--r--src/crypto/slow-hash.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d432646cb..4c99473a9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -454,7 +454,11 @@ else()
option(NO_AES "Explicitly disable AES support" ${NO_AES})
- if(NOT NO_AES AND NOT ARM AND NOT PPC64LE)
+ if(NO_AES)
+ 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)
message(STATUS "AES support enabled")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maes")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -maes")
diff --git a/src/crypto/slow-hash.c b/src/crypto/slow-hash.c
index b92b6e6c3..cc234713b 100644
--- a/src/crypto/slow-hash.c
+++ b/src/crypto/slow-hash.c
@@ -47,7 +47,7 @@
extern int aesb_single_round(const uint8_t *in, uint8_t*out, const uint8_t *expandedKey);
extern int aesb_pseudo_round(const uint8_t *in, uint8_t *out, const uint8_t *expandedKey);
-#if defined(__x86_64__) || (defined(_MSC_VER) && defined(_WIN64))
+#if !defined NO_AES && (defined(__x86_64__) || (defined(_MSC_VER) && defined(_WIN64)))
// Optimised code below, uses x86-specific intrinsics, SSE2, AES-NI
// Fall back to more portable code is down at the bottom
@@ -645,7 +645,7 @@ void cn_slow_hash(const void *data, size_t length, char *hash)
extra_hashes[state.hs.b[0] & 3](&state, 200, hash);
}
-#elif defined(__arm__) || defined(__aarch64__)
+#elif !defined NO_AES && (defined(__arm__) || defined(__aarch64__))
void slow_hash_allocate_state(void)
{
// Do nothing, this is just to maintain compatibility with the upgraded slow-hash.c