dev-cpp/abseil-cpp: Fix building on ARM{32,64} CPUs without crypto extension.

Closes: https://bugs.gentoo.org/778926
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
This commit is contained in:
Arfrever Frehtes Taifersar Arahesis
2021-04-01 20:03:39 -07:00
committed by Georgy Yakovlev
parent 1a9940d0ac
commit 619cfe3dae
2 changed files with 28 additions and 2 deletions
@@ -0,0 +1,16 @@
--- /absl/random/internal/randen_hwaes.cc
+++ /absl/random/internal/randen_hwaes.cc
@@ -50,8 +50,11 @@
(defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO))
#define ABSL_RANDEN_HWAES_IMPL 1
-#elif ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \
- (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9)
+// When ABSL_ARCH_ARM_NO_CRYPTO is defined, then ARM CPU without
+// crypto extension is assumed.
+#elif !defined(ABSL_ARCH_ARM_NO_CRYPTO) && \
+ (ABSL_RANDOM_INTERNAL_AES_DISPATCH && !defined(__APPLE__) && \
+ (defined(__GNUC__) && __GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 9))
// ...or, on GCC, we can use an ASM directive to
// instruct the assember to allow crypto instructions.
#define ABSL_RANDEN_HWAES_IMPL 1