summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2013-06-14 21:43:15 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-06-14 21:43:15 +0000
commiteb05b73c3bba21fff55529813109de4bad5ddbd1 (patch)
tree723e2992359a87ace7ec42dddb5fde00c56351ce
parenta92286c64bc25e7ea9f8335789d66be9cea66bfb (diff)
parent5a43d1928da29b4ec7b911fe865ed78ee3c2ca26 (diff)
downloadscrypt-kitkat-cts-release.tar.gz
-rw-r--r--Scrypt-config.mk19
-rwxr-xr-ximport_scrypt.sh11
-rw-r--r--scrypt.config8
3 files changed, 34 insertions, 4 deletions
diff --git a/Scrypt-config.mk b/Scrypt-config.mk
index 30db285..bbe1063 100644
--- a/Scrypt-config.mk
+++ b/Scrypt-config.mk
@@ -37,10 +37,16 @@ common_c_includes := \
arm_c_flags :=
-arm_src_files := \
+arm_src_files :=
+
+arm_exclude_files :=
+
+arm_neon_c_flags :=
+
+arm_neon_src_files := \
lib/crypto/crypto_scrypt-neon.c \
-arm_exclude_files := \
+arm_neon_exclude_files := \
lib/crypto/crypto_scrypt-ref.c \
x86_c_flags :=
@@ -75,6 +81,15 @@ target_c_includes := $(addprefix external/scrypt/,$(common_c_includes)) $(local_
target_src_files := $(common_src_files) $($(target_arch)_src_files)
target_src_files := $(filter-out $($(target_arch)_exclude_files), $(target_src_files))
+# Hacks for ARM NEON support
+ifeq ($(target_arch),arm)
+ifeq ($(ARCH_ARM_HAVE_NEON),true)
+target_c_flags += $(arm_neon_c_flags)
+target_src_files += $(arm_neon_src_files)
+target_src_files := $(filter-out $(arm_neon_exclude_files), $(target_src_files))
+endif
+endif
+
ifeq ($(HOST_OS)-$(HOST_ARCH),linux-x86)
host_arch := x86
else
diff --git a/import_scrypt.sh b/import_scrypt.sh
index 684379d..324eae6 100755
--- a/import_scrypt.sh
+++ b/import_scrypt.sh
@@ -262,7 +262,7 @@ print_defines_in_mk() {
# $1: Target file name. (e.g. Scrypt-config.mk)
function generate_config_mk() {
declare -r output="$1"
- declare -r all_archs="arm x86 x86_64 mips"
+ declare -r all_archs="arm arm_neon x86 x86_64 mips"
echo "Generating $(basename $output)"
(
@@ -324,6 +324,15 @@ target_c_includes := \$(addprefix external/scrypt/,\$(common_c_includes)) \$(loc
target_src_files := \$(common_src_files) \$(\$(target_arch)_src_files)
target_src_files := \$(filter-out \$(\$(target_arch)_exclude_files), \$(target_src_files))
+# Hacks for ARM NEON support
+ifeq (\$(target_arch),arm)
+ifeq (\$(ARCH_ARM_HAVE_NEON),true)
+target_c_flags += \$(arm_neon_c_flags)
+target_src_files += \$(arm_neon_src_files)
+target_src_files := \$(filter-out \$(arm_neon_exclude_files), \$(target_src_files))
+endif
+endif
+
ifeq (\$(HOST_OS)-\$(HOST_ARCH),linux-x86)
host_arch := x86
else
diff --git a/scrypt.config b/scrypt.config
index 13fd4c9..3ccb4d0 100644
--- a/scrypt.config
+++ b/scrypt.config
@@ -44,10 +44,16 @@ lib/crypto/crypto_scrypt-ref.c \
"
SCRYPT_SOURCES_arm="\
-lib/crypto/crypto_scrypt-neon.c \
"
SCRYPT_SOURCES_EXCLUDES_arm="\
+"
+
+SCRYPT_SOURCES_arm_neon="\
+lib/crypto/crypto_scrypt-neon.c \
+"
+
+SCRYPT_SOURCES_EXCLUDES_arm_neon="\
lib/crypto/crypto_scrypt-ref.c \
"