mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2025-12-12 17:12:40 +01:00
DroidFish: Build native code for all platforms supported by the NDK.
This commit is contained in:
@@ -1,9 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<project default="copy_stockfish" name="Copy stockfish executables to assets">
|
<project default="copy_stockfish" name="Copy stockfish executables to assets">
|
||||||
<target name="copy_stockfish">
|
<target name="copy_stockfish">
|
||||||
|
<copy file="${basedir}/libs/arm64-v8a/stockfish" tofile="${basedir}/assets/stockfish-arm64-v8a"/>
|
||||||
<copy file="${basedir}/libs/armeabi/stockfish" tofile="${basedir}/assets/stockfish-armeabi"/>
|
<copy file="${basedir}/libs/armeabi/stockfish" tofile="${basedir}/assets/stockfish-armeabi"/>
|
||||||
<copy file="${basedir}/libs/armeabi-v7a/stockfish" tofile="${basedir}/assets/stockfish-armeabi-v7a"/>
|
<copy file="${basedir}/libs/armeabi-v7a/stockfish" tofile="${basedir}/assets/stockfish-armeabi-v7a"/>
|
||||||
<copy file="${basedir}/libs/x86/stockfish" tofile="${basedir}/assets/stockfish-x86"/>
|
|
||||||
<copy file="${basedir}/libs/mips/stockfish" tofile="${basedir}/assets/stockfish-mips"/>
|
<copy file="${basedir}/libs/mips/stockfish" tofile="${basedir}/assets/stockfish-mips"/>
|
||||||
|
<copy file="${basedir}/libs/mips64/stockfish" tofile="${basedir}/assets/stockfish-mips64"/>
|
||||||
|
<copy file="${basedir}/libs/x86/stockfish" tofile="${basedir}/assets/stockfish-x86"/>
|
||||||
|
<copy file="${basedir}/libs/x86_64/stockfish" tofile="${basedir}/assets/stockfish-x86_64"/>
|
||||||
</target>
|
</target>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
APP_ABI := armeabi armeabi-v7a x86 mips
|
APP_ABI := all
|
||||||
APP_STL := gnustl_static
|
APP_STL := gnustl_static
|
||||||
APP_OPTIM := release
|
APP_OPTIM := release
|
||||||
NDK_TOOLCHAIN_VERSION := 4.8
|
NDK_TOOLCHAIN_VERSION := 4.8
|
||||||
|
|||||||
@@ -283,8 +283,8 @@ namespace {
|
|||||||
occupancy[size] = b;
|
occupancy[size] = b;
|
||||||
reference[size] = sliding_attack(deltas, s, b);
|
reference[size] = sliding_attack(deltas, s, b);
|
||||||
|
|
||||||
if (HasPext)
|
// if (HasPext)
|
||||||
attacks[s][_pext_u64(b, masks[s])] = reference[size];
|
// attacks[s][_pext_u64(b, masks[s])] = reference[size];
|
||||||
|
|
||||||
size++;
|
size++;
|
||||||
b = (b - masks[s]) & masks[s];
|
b = (b - masks[s]) & masks[s];
|
||||||
|
|||||||
@@ -243,8 +243,8 @@ FORCE_INLINE unsigned magic_index(Square s, Bitboard occ) {
|
|||||||
Bitboard* const Magics = Pt == ROOK ? RMagics : BMagics;
|
Bitboard* const Magics = Pt == ROOK ? RMagics : BMagics;
|
||||||
unsigned* const Shifts = Pt == ROOK ? RShifts : BShifts;
|
unsigned* const Shifts = Pt == ROOK ? RShifts : BShifts;
|
||||||
|
|
||||||
if (HasPext)
|
// if (HasPext)
|
||||||
return unsigned(_pext_u64(occ, Masks[s]));
|
// return unsigned(_pext_u64(occ, Masks[s]));
|
||||||
|
|
||||||
if (Is64Bit)
|
if (Is64Bit)
|
||||||
return unsigned(((occ & Masks[s]) * Magics[s]) >> Shifts[s]);
|
return unsigned(((occ & Masks[s]) * Magics[s]) >> Shifts[s]);
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
#if defined(USE_PEXT)
|
#if defined(USE_PEXT)
|
||||||
# include <immintrin.h> // Header for _pext_u64() intrinsic
|
# include <immintrin.h> // Header for _pext_u64() intrinsic
|
||||||
#else
|
#else
|
||||||
# define _pext_u64(b, m) (0)
|
//# define _pext_u64(b, m) (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# if !defined(NO_PREFETCH) && (defined(__INTEL_COMPILER) || defined(_MSC_VER))
|
# if !defined(NO_PREFETCH) && (defined(__INTEL_COMPILER) || defined(_MSC_VER))
|
||||||
|
|||||||
@@ -40,8 +40,11 @@ public class EngineUtil {
|
|||||||
public static String internalStockFishName() {
|
public static String internalStockFishName() {
|
||||||
String abi = Build.CPU_ABI;
|
String abi = Build.CPU_ABI;
|
||||||
if (!abi.equals("x86") &&
|
if (!abi.equals("x86") &&
|
||||||
|
!abi.equals("x86_64") &&
|
||||||
!abi.equals("armeabi-v7a") &&
|
!abi.equals("armeabi-v7a") &&
|
||||||
!abi.equals("mips"))
|
!abi.equals("arm64-v8a") &&
|
||||||
|
!abi.equals("mips") &&
|
||||||
|
!abi.equals("mips64"))
|
||||||
abi = "armeabi"; // Unknown ABI, assume original ARM
|
abi = "armeabi"; // Unknown ABI, assume original ARM
|
||||||
return "stockfish-" + abi;
|
return "stockfish-" + abi;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user