Rewrite the Readme!#20
Conversation
|
@slipher I would like to know the current status of this sentence:
|
e9c7c22 to
2c986ac
Compare
| - `src/trusted/`: Source code that's used only by trusted code | ||
| - `src/untrusted/`: Source code that's used only by untrusted code | ||
| - `tests/common/`: Source code for examples and tests. | ||
| - `../third_party/`: Third-party source code and binaries that aren't part of |
There was a problem hiding this comment.
I guess we can delete this ../third_party mention. The first purpose of the fork was to not require things outside this repository.
2c986ac to
0ef9a4e
Compare
Oh that's out of date indeed. NaCl targets work great. You can built NaCl targets, including the IRT, and test everything together. That's why I complain that using CMake is a regression, since it can't handle the multiple toolchains working in concert. I have verified that Linux stuff generally works and tests pass on the |
|
I haven't tested Windows or Mac yet. But I know that |
|
|
||
| ## Dependencies | ||
|
|
||
| - LLVM (must be installed in `/usr/bin`) |
There was a problem hiding this comment.
@slipher do we still need LLVM be in /usr/bin/?
There was a problem hiding this comment.
I suggest to rewrite this line as GCC or Clang.
There was a problem hiding this comment.
Yes the LLVM location is still hard-coded. GCC just needs to be in the PATH. And with the other PR LLVM is now optional.
There was a problem hiding this comment.
Also the way to use GCC is by putting --no-clang in the command line.
Great.
CMake can totally use a different toolchain per The reason why my CMake implementation doesn't care about IRT right now is that the first goal is to give the ability to build native trusted binaries from Dæmon's IRT can be downloaded for now, built with SCons in advance. I'm not excluding the opportunity to build the IRT too, but this is not needed to reach the minimal valuable product which is to make the native loader binary buildable with CMake with the exact same ease we do with the engine itself. It's totally on purpose that IRT isn't cared about yet, that's a selling point: I don't want the IRT topic to hold back the CMake implementation. The fact the current CMake implementation doesn't build the IRT should not be used against the CMake implementation. It would be holding it back because of the special effort made to not hold it back. I don't mind that tests remain implemented in SCons forever, run by a CI or something. |
| - LLVM (must be installed in /usr/bin) | ||
| # Native Client loader | ||
|
|
||
| This project makes possible to rebuild the Native Client loader for usage with the [Dæmon game engine](https://github.com/DaemonEngine/Daemon). The Dæmon engine is the open-source game engine powering the [Unvanquished game](https://unvanquished.net). The Dæmon engine uses Native Client to securely and portably run downloadable compiled games. |
There was a problem hiding this comment.
The very long lines are annoying.
|
|
||
| Native Client is a sandboxing technology by Google, it was used by Chrome extensions and Chrome apps. | ||
|
|
||
| Google publicly annouced [in May of 2017](https://www.tomshardware.com/news/chrome-deprecates-pnacl-embraces-webassembly%2C34583.html) the (then-)upcoming deprecation and abandonment of Native Client technologies in favor of WebAssembly, and announced the actual deprecation [in 2020](https://developer.chrome.com/deprecated). But Google also [supported](https://developer.chrome.com/docs/native-client) the Native Client-powered ChromeOS 138 [until July of 2025](https://support.google.com/chrome/a/answer/10314655) and as such continued developpement of some Native Client technologies. |
There was a problem hiding this comment.
The last link isn't very useful. It goes to a list of all release notes without giving any clue which version I'm supposed to look at.
|
|
||
| - [github.com/DaemonEngine/native_client/issues/13](https://github.com/DaemonEngine/native_client/issues/13) | ||
|
|
||
| This fork brings edits to enable the building of NaCl without the Chromium |
There was a problem hiding this comment.
This could use a more prominent billing, like in the first paragraph. The fact it can be built without gclient or any other Chromium repos.
|
|
||
| ## Build the NaCl loader and boostrap loader | ||
|
|
||
| ```sh |
There was a problem hiding this comment.
We can mention the other possible architectures are x86 and arm.
| * `tools/`: Utilities such as the plug-in installer. | ||
| - `COPYING NOTICE README.md RELEASE_NOTES documentation/`: Documentation, | ||
| release, and license information. | ||
| - `SConstruct scons.bat scons scons-out/ site_scons/`: Build-related files. |
There was a problem hiding this comment.
scons (+ scons.bat I guess) could be dropped as we no longer use a vendored scons, just the scons command normally installed. Though ./scons still works apparently.
Google will no longer update it, we fully adopt this!
This is now our Readme!