Avoids big stack size for standard builds.
script:
# Check perft of large-board version
- - make clean && make -j2 ARCH=x86-64 largeboards=yes debug=yes build && ../tests/perft.sh largeboard
+ - make clean && make -j2 ARCH=x86-64 largeboards=yes all=yes debug=yes build && ../tests/perft.sh largeboard
- ./stockfish bench xiangqi > /dev/null 2>&1
- ./stockfish bench shogi > /dev/null 2>&1
- ./stockfish bench capablanca > /dev/null 2>&1
- ./stockfish bench sittuyin > /dev/null 2>&1
- - make clean && make -j2 ARCH=x86-32 largeboards=yes debug=yes build && ../tests/perft.sh largeboard
+ - make clean && make -j2 ARCH=x86-32 largeboards=yes all=yes debug=yes build && ../tests/perft.sh largeboard
#
# Obtain bench reference from git log
- git log HEAD | grep "\b[Bb]ench[ :]\+[0-9]\{7\}" | head -n 1 | sed "s/[^0-9]*\([0-9]*\).*/\1/g" > git_sig
### 2.1. General and architecture defaults
largeboards = no
+all = no
precomputedmagics = yes
optimize = yes
debug = no
endif
endif
+# Enable all variants, even heavyweight ones like amazons
+ifneq ($(all),no)
+ CXXFLAGS += -DALLVARS
+endif
+
ifeq ($(COMP),)
COMP=gcc
endif
@echo "make build ARCH=x86-64 COMP=clang"
@echo "make profile-build ARCH=x86-64-bmi2 COMP=gcc COMPCXX=g++-4.8"
@echo ""
- @echo "Version for large boards (only GCC and mingw, 64-bit required): "
+ @echo "Version for large boards: "
@echo ""
@echo "make build ARCH=x86-64 COMP=gcc largeboards=yes"
@echo ""
+ @echo "Include all variants: "
+ @echo ""
+ @echo "make build ARCH=x86-64 largeboards=yes all=yes"
+ @echo ""
.PHONY: help build profile-build strip install clean objclean profileclean \
constexpr int SQUARE_BITS = 6;
#endif
+#ifdef ALLVARS
constexpr int MAX_MOVES = 4096;
+#else
+constexpr int MAX_MOVES = 1024;
+#endif
constexpr int MAX_PLY = 246;
/// A move needs 16 bits to be stored
"pPpPpPpPpP/PpPpPpPpPp/pPpPpPpPpP/PpPpPpPpPp/pPpPpPpPpP w 0 1";
return v;
}
+#ifdef ALLVARS
// Game of the Amazons
// https://en.wikipedia.org/wiki/Game_of_the_Amazons
Variant* amazons_variant() {
v->arrowGating = true;
return v;
}
+#endif
Variant* xiangqi_variant() {
Variant* v = minixiangqi_variant();
v->pieceToCharTable = "PN.R.AB..K.C..........pn.r.ab..k.c..........";
add("grand", grand_variant());
add("shako", shako_variant());
add("clobber10", clobber10_variant());
+#ifdef ALLVARS
add("amazons", amazons_variant());
+#endif
add("xiangqi", xiangqi_variant());
add("manchu", manchu_variant());
add("supply", supply_variant());