From dd91100779d702182c37f0c1217c0d2e1b750037 Mon Sep 17 00:00:00 2001 From: Peter Osterlund Date: Tue, 21 Oct 2014 19:46:10 +0000 Subject: [PATCH] DroidFish: Build native code for all platforms supported by the NDK. --- DroidFish/build_copy_exe.xml | 5 ++++- DroidFish/jni/Application.mk | 2 +- DroidFish/jni/stockfish/bitboard.cpp | 4 ++-- DroidFish/jni/stockfish/bitboard.h | 4 ++-- DroidFish/jni/stockfish/types.h | 2 +- DroidFish/src/org/petero/droidfish/engine/EngineUtil.java | 5 ++++- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/DroidFish/build_copy_exe.xml b/DroidFish/build_copy_exe.xml index b8fce74..dcff08f 100644 --- a/DroidFish/build_copy_exe.xml +++ b/DroidFish/build_copy_exe.xml @@ -1,9 +1,12 @@ + - + + + diff --git a/DroidFish/jni/Application.mk b/DroidFish/jni/Application.mk index 1a8fc48..74ee949 100644 --- a/DroidFish/jni/Application.mk +++ b/DroidFish/jni/Application.mk @@ -1,4 +1,4 @@ -APP_ABI := armeabi armeabi-v7a x86 mips +APP_ABI := all APP_STL := gnustl_static APP_OPTIM := release NDK_TOOLCHAIN_VERSION := 4.8 diff --git a/DroidFish/jni/stockfish/bitboard.cpp b/DroidFish/jni/stockfish/bitboard.cpp index b3dbd00..844e1d0 100644 --- a/DroidFish/jni/stockfish/bitboard.cpp +++ b/DroidFish/jni/stockfish/bitboard.cpp @@ -283,8 +283,8 @@ namespace { occupancy[size] = b; reference[size] = sliding_attack(deltas, s, b); - if (HasPext) - attacks[s][_pext_u64(b, masks[s])] = reference[size]; + // if (HasPext) + // attacks[s][_pext_u64(b, masks[s])] = reference[size]; size++; b = (b - masks[s]) & masks[s]; diff --git a/DroidFish/jni/stockfish/bitboard.h b/DroidFish/jni/stockfish/bitboard.h index 6a1755b..3a48c7f 100644 --- a/DroidFish/jni/stockfish/bitboard.h +++ b/DroidFish/jni/stockfish/bitboard.h @@ -243,8 +243,8 @@ FORCE_INLINE unsigned magic_index(Square s, Bitboard occ) { Bitboard* const Magics = Pt == ROOK ? RMagics : BMagics; unsigned* const Shifts = Pt == ROOK ? RShifts : BShifts; - if (HasPext) - return unsigned(_pext_u64(occ, Masks[s])); + // if (HasPext) + // return unsigned(_pext_u64(occ, Masks[s])); if (Is64Bit) return unsigned(((occ & Masks[s]) * Magics[s]) >> Shifts[s]); diff --git a/DroidFish/jni/stockfish/types.h b/DroidFish/jni/stockfish/types.h index de0723f..911e580 100644 --- a/DroidFish/jni/stockfish/types.h +++ b/DroidFish/jni/stockfish/types.h @@ -57,7 +57,7 @@ #if defined(USE_PEXT) # include // Header for _pext_u64() intrinsic #else -# define _pext_u64(b, m) (0) +//# define _pext_u64(b, m) (0) #endif # if !defined(NO_PREFETCH) && (defined(__INTEL_COMPILER) || defined(_MSC_VER)) diff --git a/DroidFish/src/org/petero/droidfish/engine/EngineUtil.java b/DroidFish/src/org/petero/droidfish/engine/EngineUtil.java index df07948..d63817c 100644 --- a/DroidFish/src/org/petero/droidfish/engine/EngineUtil.java +++ b/DroidFish/src/org/petero/droidfish/engine/EngineUtil.java @@ -40,8 +40,11 @@ public class EngineUtil { public static String internalStockFishName() { String abi = Build.CPU_ABI; if (!abi.equals("x86") && + !abi.equals("x86_64") && !abi.equals("armeabi-v7a") && - !abi.equals("mips")) + !abi.equals("arm64-v8a") && + !abi.equals("mips") && + !abi.equals("mips64")) abi = "armeabi"; // Unknown ABI, assume original ARM return "stockfish-" + abi; }