Universal builds for Android armv8 and compatibility with older compilers

- We add a new path for supporting universal builds without #embed . `xxd` causes the compiler to run out of memory, so instead we embed it as a string literal created at compile time.
    - This file is created in `net.sh`, and only if `--embed-dir` isn't supported + we are doing a universal build.
    - This was necessary because Android NDK seems to not support embed, idk why
- A couple other Makefile tweaks were necessary for the Android path.
- While we're at it, remove the non-universal arm64 windows and android binaries.

closes https://github.com/official-stockfish/Stockfish/pull/6827

No functional change
This commit is contained in:
anematode
2026-05-19 18:39:06 +02:00
committed by Joost VandeVondele
parent 319d61effd
commit 24abab9f6c
11 changed files with 63 additions and 96 deletions
+11 -3
View File
@@ -2,7 +2,15 @@
#include "../evaluate.h"
extern const unsigned char gEmbeddedNNUEData[] = {
#embed EvalFileDefaultName
extern const unsigned char gEmbeddedNNUEData[] =
#ifdef __has_embed
{
#embed EvalFileDefaultName
};
extern const unsigned int gEmbeddedNNUESize = sizeof(gEmbeddedNNUEData);
const unsigned int padding = 0;
#else
#include "network_dump.inc"
;
const unsigned int padding = 1; // trailing NUL byte
#endif
extern const unsigned int gEmbeddedNNUESize = sizeof(gEmbeddedNNUEData) - padding;