diff --git a/README.md b/README.md index e011831e3..e24f101e8 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,13 @@ This project makes possible to rebuild Native Client for usage with the [Dæmon game engine](https://github.com/DaemonEngine/Daemon). Chromium development tools are **NOT** required to build. +Target & compiler|Build status|Target & compiler|Build status +-|-|-|- +Linux amd64 GCC|[![Build Status](https://img.shields.io/github/check-runs/DaemonEngine/native_client/master?nameFilter=Linux%20amd64%20GCC)](https://github.com/DaemonEngine/native_client/actions/workflows/build_test.yml?query=branch%3Amaster)|Windows amd64 MSVC|[![Build Status](https://img.shields.io/github/check-runs/DaemonEngine/native_client/master?nameFilter=Windows%20amd64%20MSVC)](https://github.com/DaemonEngine/native_client/actions/workflows/build_test.yml?query=branch%3Amaster) +Linux amd64 Clang|[![Build Status](https://img.shields.io/github/check-runs/DaemonEngine/native_client/master?nameFilter=Linux%20amd64%20Clang)](https://github.com/DaemonEngine/native_client/actions/workflows/build_test.yml?query=branch%3Amaster)|Windows i686 MSVC|[![Build Status](https://img.shields.io/github/check-runs/DaemonEngine/native_client/master?nameFilter=Windows%20i686%20MSVC)](https://github.com/DaemonEngine/native_client/actions/workflows/build_test.yml?query=branch%3Amaster) +Linux i686 GCC|[![Build Status](https://img.shields.io/github/check-runs/DaemonEngine/native_client/master?nameFilter=Linux%20i686%20GCC)](https://github.com/DaemonEngine/native_client/actions/workflows/build_test.yml?query=branch%3Amaster)|Windows amd64 MinGW|[![Build Status](https://img.shields.io/github/check-runs/DaemonEngine/native_client/master?nameFilter=Windows%20amd64%20MinGW)](https://github.com/DaemonEngine/native_client/actions/workflows/build_test.yml?query=branch%3Amaster) +Linux armhf GCC|[![Build Status](https://img.shields.io/github/check-runs/DaemonEngine/native_client/master?nameFilter=Linux%20armhf%20GCC)](https://github.com/DaemonEngine/native_client/actions/workflows/build_test.yml?query=branch%3Amaster)|macOS amd64 AppleClang|[![Build Status](https://img.shields.io/github/check-runs/DaemonEngine/native_client/master?nameFilter=macOS%20amd64%20AppleClang)](https://github.com/DaemonEngine/native_client/actions/workflows/build_test.yml?query=branch%3Amaster) + Native Client (also known as NaCl) is a sandboxing technology by Google. It was used by Chrome extensions and Chrome apps. The Dæmon engine is the open-source game engine powering the [Unvanquished game](https://unvanquished.net), @@ -50,14 +57,15 @@ Many of the original project pages are no longer available. Some documentation a ## Status -Linux amd64: Well-tested, everything works -Linux i686: Builds -Linux armhf: Well-tested, debugger support incomplete, platform qualification issues -Linux arm64: Well-tested, can run armhf version well if CPU supports 32-bit programs -MacOS amd64: All tests passed on a CI bot. Probably everything works fine. Debugger untested -MacOS arm64: Well-tested, runs via Rosetta (so a couple obscure x86 features are not usable for client code), no debugger -Windows amd64: Well-tested, everything works -Windows i686: Builds, lightly tested +- Linux amd64: Well-tested, everything works +- Linux i686: Builds +- Linux armhf: Well-tested, debugger support incomplete, platform qualification issues +- Linux arm64: Well-tested, can run armhf version well if CPU supports 32-bit programs +- MacOS amd64: All tests passed on a CI bot. Probably everything works fine. Debugger untested +- MacOS arm64: Well-tested, runs via Rosetta (so a couple obscure x86 features are not usable for client code), no debugger +- Windows amd64: Well-tested, everything works +- Windows i686: Builds, lightly tested + ## Dependencies - SCons @@ -101,6 +109,7 @@ scons --mode=opt-host platform=x86-64 werror=0 sel_ldr On Linux, add `--no-clang` to use GCC instead of Clang. + ### Build the IRT (C runtime 'dynamic library' used by NaCl code) This requires the Saigo NaCl toolchain. You can provide it by either @@ -150,6 +159,7 @@ python -m SCons --mode=nacl,opt-windows --no-clang saigo=1 werror=0 mingw_dir=C: When using MinGW, you must pass `mingw=1` and `--no-clang`. You can locate the toolchain by either passing `mingw_dir=...` or putting it in the PATH. MinGW only works with `platform=x86_64`. + ### ARM testing There are some special build system features that facilitate testing for the @@ -170,6 +180,7 @@ This is useful but there are many tests that it cannot run, for example because spawning multiple process. Also it is important to test on a full machine to exercise the arcane kernel interactions such as `longjmp`ing out of a signal handler. + #### Running tests on a different machine than they were built To test on an emulated or slow ARM machine, you can build the binaries on another system first and then copy everything to the test machine. You need to copy both the build system files and