I can confirm it builds, got some warnings though (speaking of dependency hell - python3 required to build?!
- what's wrong with a plain makefile?):
warnings seem to be mostly related to a format string, perhaps my mingw is old or maybe that's actually because it uses the old msvcrt.dll, which probably doesn't support %zu (either way the format string warnings seem like a total nonsense)
Code: Select all
In file included from src/engine.c:37:
src/engine.h:41:1: warning: padding struct size to alignment boundary [-Wpadded]
} Engine;
^
In file included from src/game.h:18,
from src/game.c:17:
src/engine.h:41:1: warning: padding struct size to alignment boundary [-Wpadded]
} Engine;
^
In file included from src/main.c:18:
src/engine.h:41:1: warning: padding struct size to alignment boundary [-Wpadded]
} Engine;
^
src/main.c: In function 'thread_start':
src/main.c:118:36: warning: unknown conversion type character 'z' in format [-Wformat=]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
^
src/main.c:118:43: warning: unknown conversion type character 'z' in format [-Wformat=]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
^
src/main.c:118:48: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'size_t' {aka 'long long unsigned int'} [-Wformat=]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
~^ ~~~~~~~
%I64d
src/main.c:118:54: warning: format '%s' expects argument of type 'char *', but argument 4 has type 'size_t' {aka 'long long unsigned int'} [-Wformat=]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
~^ ~~~~~
%I64d
src/main.c:118:16: warning: too many arguments for format [-Wformat-extra-args]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/main.c:118:36: warning: unknown conversion type character 'z' in format [-Wformat=]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
^
src/main.c:118:43: warning: unknown conversion type character 'z' in format [-Wformat=]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
^
src/main.c:118:48: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'size_t' {aka 'long long unsigned int'} [-Wformat=]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
~^ ~~~~~~~
%I64d
src/main.c:118:54: warning: format '%s' expects argument of type 'char *', but argument 4 has type 'size_t' {aka 'long long unsigned int'} [-Wformat=]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
~^ ~~~~~
%I64d
src/main.c:118:16: warning: too many arguments for format [-Wformat-extra-args]
printf("[%d] Started game %zu of %zu (%s vs %s)\n", w->id, idx + 1, count,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/main.c:139:37: warning: unknown conversion type character 'z' in format [-Wformat=]
printf("[%d] Finished game %zu (%s vs %s): %s {%s}\n", w->id, idx + 1,
^
src/main.c:139:42: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'size_t' {aka 'long long unsigned int'} [-Wformat=]
printf("[%d] Finished game %zu (%s vs %s): %s {%s}\n", w->id, idx + 1,
~^ ~~~~~~~
%I64d
src/main.c:139:16: warning: too many arguments for format [-Wformat-extra-args]
printf("[%d] Finished game %zu (%s vs %s): %s {%s}\n", w->id, idx + 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/main.c:139:37: warning: unknown conversion type character 'z' in format [-Wformat=]
printf("[%d] Finished game %zu (%s vs %s): %s {%s}\n", w->id, idx + 1,
^
src/main.c:139:42: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'size_t' {aka 'long long unsigned int'} [-Wformat=]
printf("[%d] Finished game %zu (%s vs %s): %s {%s}\n", w->id, idx + 1,
~^ ~~~~~~~
%I64d
src/main.c:139:16: warning: too many arguments for format [-Wformat-extra-args]
printf("[%d] Finished game %zu (%s vs %s): %s {%s}\n", w->id, idx + 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
the resulting binary is small, but seems to depend on libwinpthread-1.dll (who said dependency hell again?), which I'm pretty sure won't be available out-of-the box, probably comes with mingw, I don't know, but it runs for me
EDIT: to be fair, libwinpthread-1.dll is 57kb without additional dependencies, so still waay better than cutechess-cli's 6MB Qt5Core
anyway - the test works, got a single game but no pgn output, which probably requires an additional argument
so will probably wait for a stable release and switch from cutechess-cli, but I don't feel like replacing something that works well for me at the moment
thanks anyway