ppigazzini and Disservin
e3a5c40f05
feat(build): use lld for clang if available
...
Also simplify the CI.
closes https://github.com/official-stockfish/Stockfish/pull/6592
No functional change
2026-02-08 15:22:06 +01:00
ppigazzini and Joost VandeVondele
3ee16a1d8e
refactor(scripts): improve get_native_properties.sh
...
Improve `get_native_properties.sh` with a refreshed implementation.
The new version covers all Makefile ARCH variants and keeps the
script interface stable while improving portability and CPU feature
detection across supported platforms. Drop the asset file name to
avoid coupling outputs to a specific artifact naming scheme.
Refs: https://github.com/ppigazzini/get-native-properties (includes a
testing framework)
closes https://github.com/official-stockfish/Stockfish/pull/6552
No functional change.
2026-02-04 17:58:55 +01:00
ppigazzini and Joost VandeVondele
0317c6ccec
build: rename WINE_PATH to RUN_PREFIX for wrapper execution
...
WINE_PATH started as a Wine-specific knob, but it’s now used more generally
as a command prefix to run the built engine under wrappers
like Intel SDE, qemu-user, etc.
- Add RUN_PREFIX as the supported “run wrapper/prefix” variable in Makefile
- Set WINE_PATH as a deprecated alias
- Update CI and scripts to use RUN_PREFIX
closes https://github.com/official-stockfish/Stockfish/pull/6500
No functional change
2026-01-01 16:06:25 +01:00
ppigazzini and Disservin
d92e6b458a
chore(ci): bump runner to macos-15
...
closes https://github.com/official-stockfish/Stockfish/pull/6475
No functional change
2025-12-21 15:43:32 +01:00
ppigazzini and Joost VandeVondele
e3adfaf8fc
build & ci: update to NDK r27c API level 29
...
Update to the latest LTS version NDK r27c (27.2.12479018),
the previous NDK are unsupported by Google, see:
https://developer.android.com/ndk/downloads
A build with NDK r27c and API level < 29 returns this error:
"executable's TLS segment is underaligned: alignment is 8 (skew 0), needs to be at least 64 for ARM64 Bionic"
Update the API level to 29 to use the native ELF LTS and avoid the error:
https://android.googlesource.com/platform/bionic/+/HEAD/docs/elf-tls.md
https://android.googlesource.com/platform/bionic/+/HEAD/android-changes-for-ndk-developers.md#elf-tls-available-for-api-level-29
A dynamic link build of Stockfish uses these libraries:
ldd stockfish-android-armv8-dynamic-api35
libm.so => /system/lib64/libm.so
libdl.so => /system/lib64/libdl.so
libc.so => /system/lib64/libc.so
ld-android.so => /system/lib64/ld-android.so
ld-android.so : the dynamic linker used by Android (on Linux is named ld-linux.so),
responsible for loading and linking shared libraries into an executable at runtime.
libdl.so : interface/library layer that provides function for dynamic loading,
relies on the underlying functionality provided by the dynamic linker
libm.so : math library for Android
libc.so : standard C library for Android
References:
Doc for native (C/C++) API
https://developer.android.com/ndk/guides/stable_apis
C libraries (libc, libm, libdl):
https://developer.android.com/ndk/guides/stable_apis#c_library
Bionic changes with API levels:
https://android.googlesource.com/platform/bionic/+/HEAD/docs/status.md
NDK r27c build system:
https://android.googlesource.com/platform/ndk/+/ndk-r27-release/docs/BuildSystemMaintainers.md
CI: Update to NDK r27c (27.2.12479018), the default version in GitHub runner,
to switch to a recent clang 18.
A PGO build requires static linking, because the NDK doesn't ship
the Android loaders (linker/linker64), see:
https://groups.google.com/g/android-ndk/c/3Ep6zD3xxSY
The API level should not be an issue when distributing a static build,
use the API 29, the oldest one not affected by the LTS alignement issue.
closes https://github.com/official-stockfish/Stockfish/pull/6081
No functional change
2025-05-25 21:28:53 +02:00
ppigazzini and Joost VandeVondele
e03898b57c
ci: add tests and artifacts for windows-11-arm
...
integrate armv8 and armv8-dotprod builds on windows-11-arm in ci, creating the corresponding artifacts.
Correct Makefile to drop warnings when providing a CXX, add MINGW ARM64 to get_native_properties.sh
fixes https://github.com/official-stockfish/Stockfish/issues/5640
closes https://github.com/official-stockfish/Stockfish/pull/6078
No functional change
2025-05-21 07:29:57 +02:00
ppigazzini and Joost VandeVondele
4423c8eefa
Return stockfish-macos-m1-apple-silicon.tar
...
https://github.com/ [ppigazzini/stockfish-downloader now uses the official SF script for POSIX systems.
closes https://github.com/official-stockfish/Stockfish/pull/5789
No functional change
2025-01-18 20:56:23 +01:00
ppigazzini and Disservin
8724503d9c
Simplify the code to get the native flags
...
closes https://github.com/official-stockfish/Stockfish/pull/4908
No functional change
2023-12-10 23:18:21 +01:00
ppigazzini and Disservin
0ff2ea6549
Update GitHub workflows
...
- Use the latest version of the actions
- Use commit hash for actions from little providers
- Update Intel SDE to 9.27
closes https://github.com/official-stockfish/Stockfish/pull/4900
No functional change
2023-12-04 11:27:28 +01:00
ppigazzini and Disservin
796d9df643
Check compiler for docker builds in CI
...
closes https://github.com/official-stockfish/Stockfish/pull/4739
No functional change
2023-08-13 11:47:52 +02:00
ppigazzini and Stéphane Nicolet
4c43e1e27c
Add new CPU archs in CI Tests workflow
...
Add CPU archs: armv8-dotprod, riscv64 and ppc64le.
The last two archs are built using QEMU multiarch docker container.
References:
https://docs.docker.com/build/building/multi-platform/
https://github.com/docker/setup-buildx-action
https://github.com/docker/setup-qemu-action
https://github.com/tonistiigi/binfmt
https://stackoverflow.com/questions/72444103/what-does-running-the-multiarch-qemu-user-static-does-before-building-a-containe
closes https://github.com/official-stockfish/Stockfish/pull/4718
No functional change
2023-08-06 21:17:33 +02:00
ppigazzini and Joost VandeVondele
e87e103ca9
Remove leftover braces for if conditional in CI
...
closes https://github.com/official-stockfish/Stockfish/pull/4660
No functional change
2023-07-03 20:17:14 +02:00
ppigazzini
ca5d9a5ff0
Extract bench according to wiki instructions
...
- loop through the commits starting from the latest one
- read the bench value from the last match, if any, of the template
in the commit body text
closes https://github.com/official-stockfish/Stockfish/pull/4627
No functional change
2023-07-03 19:07:06 +02:00
ppigazzini and Joost VandeVondele
9a2d50eccc
Make posix and msys2 shells consistent in CI
...
In CI, it is typical for the process to halt immediately when an error
is encountered. However, with our `shell: bash {0}` configuration,
the process continues despite errors for posix shells.
This commit updates the behavior of posix and msys2 shells to ensure
consistency in terms of pipeline exit codes and stop conditions.
We adopt the most appropriate default behavior as recommended
by the GitHub documentation.
Update the code that searches for the bench value in the git log:
- to be compatible with the new shell settings
- to retry the value from the first line that contains
only the template and spaces/tabs/newlines
see also
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference
https://github.com/msys2/setup-msys2/blob/main/main.js
closes https://github.com/official-stockfish/Stockfish/pull/4653
No functional change
2023-07-02 10:32:36 +02:00
ppigazzini and Joost VandeVondele
5fe1fa0210
GitHub Actions: install NDK once and clean up yaml
...
Use Ubuntu 22.04 as runner for NDK to avoid a qemu bug with `profile-build`
closes https://github.com/official-stockfish/Stockfish/pull/4280
No functional change
2022-12-12 08:17:52 +01:00
ppigazzini and Joost VandeVondele
aa603cfeeb
GitHub Action: upload ARM artifacts
...
And some clean up in other files.
closes https://github.com/official-stockfish/Stockfish/pull/4269
No functional change
2022-12-09 16:54:43 +01:00
ppigazzini and Joost VandeVondele
9fc203a3d0
Set the right PATH for ARM compiler and build tests in CI
...
Fix for the GitHub upgrade:
https://github.com/actions/runner-images/issues/5879
that broke our ARM workflows because it changed the value of
the ANDROID_NDK_HOME variable referenced in our PATH.
closes https://github.com/official-stockfish/Stockfish/pull/4267
No functional change
2022-12-08 20:36:52 +01:00
ppigazzini and Joost VandeVondele
d54b85b4bd
Restore NDKv21 for GitHub Actions
...
GitHub updated the versions of NDK installed on the Actions runners
breaking the ARM tests.
Restore the NDKv21 using the GitHub suggested mitigation, see:
https://github.com/actions/virtual-environments/issues/5595
closes https://github.com/official-stockfish/Stockfish/pull/4077
No functional change
2022-06-16 07:03:52 +02:00
ppigazzini and Joost VandeVondele
2da1d1bf57
Add ARM NDK to Github Actions matrix
...
- set the variable only for the required tests to keep simple the yml file
- use NDK 21.x until will be fixed the Stockfish static build problem
with NDK 23.x
- set the test for armv7, armv7-neon, armv8 builds:
- use armv7a-linux-androideabi21-clang++ compiler for armv7 armv7-neon
- enforce a static build
- silence the Warning for the unused compilation flag "-pie" with
the static build, otherwise the Github workflow stops
- use qemu to bench the build and get the signature
Many thanks to @pschneider1968 that made all the hard work with NDK :)
closes https://github.com/official-stockfish/Stockfish/pull/3924
No functional change
2022-02-20 22:56:11 +01:00
ppigazzini and Joost VandeVondele
e178a09c47
Drop sse from target "x86-32"
...
have maximal compatibility on legacy target arch, now supporting AMD Athlon
The old behavior can anyway be selected by the user if needed, for example
make -j profile-build ARCH=x86-32 sse=yes
fixes #3904
closes https://github.com/official-stockfish/Stockfish/pull/3918
No functional change
2022-02-05 07:33:34 +01:00
ppigazzini and Joost VandeVondele
67062637f4
Improve Makefile for Windows native builds
...
A Windows Native Build (WNB) can be done:
- on Windows, using a recent mingw-w64 g++/clang compiler
distributed by msys2, cygwin and others
- on Linux, using mingw-w64 g++ to cross compile
Improvements:
- check for a WNB in a proper way and set a variable to simplify the code
- set the proper EXE for a WNB
- use the proper name for the mingw-w64 clang compiler
- use the static linking for a WNB
- use wine to make a PGO cross compile on Linux (also with Intel SDE)
- enable the LTO build for mingw-w64 g++ compiler
- set `lto=auto` to use the make's job server, if available, or otherwise
to fall back to autodetection of the number of CPU threads
- clean up all the temporary LTO files saved in the local directory
Tested on:
- msys2 MINGW64 (g++), UCRT64 (g++), MINGW32 (g++), CLANG64 (clang)
environments
- cygwin mingw-w64 g++
- Ubuntu 18.04 & 21.10 mingw-w64 PGO cross compile (also with Intel SDE)
closes #3891
No functional change
2022-01-19 22:26:20 +01:00
ppigazzini and Joost VandeVondele
48bf1a386f
Add msys2 Clang x86_64 to GitHub Action matrix
...
Also use Windows Server 2022 virtual environment for msys2 builds.
closes https://github.com/official-stockfish/Stockfish/pull/3893
No functional change
2022-01-19 19:21:10 +01:00
ppigazzini and Joost VandeVondele
f30f231cbf
Use "pedantic" flag also for mingw
...
This will avoid to run in fishtest a test where the linux machines exit from
the building process and only the windows machines run the test.
See:
https://tests.stockfishchess.org/tests/view/61122d732a8a49ac5be79996
https://github.com/SFisGOD/Stockfish/commit/4e422577d6ebd1f6ecf606189190b8f6fb03f6c9#comments
closes https://github.com/official-stockfish/Stockfish/pull/3671
No functional change.
2021-08-27 07:49:26 +02:00
ppigazzini and Stéphane Nicolet
44f56e04e2
Update Readme.md
...
Update fishtest server URL, fix a broken wiki link, fix a typo.
2020-01-04 21:54:20 +01:00
ppigazzini and Marco Costalba
f5d3f0ded6
Update AUTHORS for SF8
...
And format top contriutor (space instead of tabs, proper Unix
line endings).
2016-11-06 10:28:17 +01:00
ppigazzini and Joona Kiiski
d4af15f682
Update AUTHORS and copyright notice
...
No functional change
Resolves #555
2016-01-02 09:43:51 +00:00