Documentation update

This commit is contained in:
Leon Styhre 2024-08-10 16:36:23 +02:00
parent 7353f04e66
commit 3defff515d
3 changed files with 47 additions and 1 deletions

View file

@ -50,6 +50,7 @@
* Added the HarfBuzz library as a dependency * Added the HarfBuzz library as a dependency
* Added the ICU library as a dependency * Added the ICU library as a dependency
* Removed support for NetBSD and OpenBSD * Removed support for NetBSD and OpenBSD
* Added experimental support for building on Haiku
* Updated SDL to 2.30.5 on Android, Windows, macOS and the Linux AppImage builds * Updated SDL to 2.30.5 on Android, Windows, macOS and the Linux AppImage builds
* Added some extra compiler checking options when building with AddressSanitizer or UndefinedBehaviorSanitizer * Added some extra compiler checking options when building with AddressSanitizer or UndefinedBehaviorSanitizer

View file

@ -21,6 +21,8 @@ Nils Bonenberger
Weestuarty\ Weestuarty\
**French**\ **French**\
Fredy27 (neuromancer974)\ Fredy27 (neuromancer974)\
**Polish**\
kycho\
**Portuguese (Brazil)**\ **Portuguese (Brazil)**\
MrVictorFull\ MrVictorFull\
**Romanian**\ **Romanian**\

View file

@ -80,10 +80,16 @@ pkg install llvm-devel git pkgconf cmake gettext harfbuzz icu sdl2 ffmpeg freeim
Clang/LLVM and curl should already be included in the base OS installation. Clang/LLVM and curl should already be included in the base OS installation.
Note that there is a strange issue specifically on FreeBSD 14.1 where the rlottie library refuses to build. This can be resolved by the following workaround:
```
echo > external/rlottie/format
```
It's not clear yet whether this is a compiler bug or some other issue.
**Cloning and compiling ES-DE** **Cloning and compiling ES-DE**
To clone the source repository, run the following: To clone the source repository, run the following:
``` ```
git clone https://gitlab.com/es-de/emulationstation-de.git git clone https://gitlab.com/es-de/emulationstation-de.git
``` ```
@ -408,6 +414,43 @@ This is similar to the regular AppImage but does not build with the BUNDLED_CERT
Both _appimagetool_ and _linuxdeploy_ are required for the build process but they will be downloaded automatically by the script if they don't exist. So to force an update to the latest build tools, delete these two AppImages prior to running the build script. Both _appimagetool_ and _linuxdeploy_ are required for the build process but they will be downloaded automatically by the script if they don't exist. So to force an update to the latest build tools, delete these two AppImages prior to running the build script.
## Building on Haiku
Note that support for Haiku is very experimental, for example the video player and PDF viewers don't work and multiple workarounds are necessary to get ES-DE to build at all. Only R1/beta4 has been tested. Hopefully R1/beta5 will improve things so that full application functionality can be achieved.
Use pkgman to install the required dependencies:
```
pkgman install cmake gettext harfbuzz_devel freeimage_devel pugixml_devel libsdl2_devel libgit2_devel freetype_devel ffmpeg
```
To clone the ES-DE source repository, run the following:
```
git clone https://gitlab.com/es-de/emulationstation-de.git
```
Due to package issues with R1/beta4 you need to manually clone the repositories for curl and FFmpeg to get the necessary header files to build ES-DE:
```
cd emulationstation-de
cd external
git clone https://github.com/curl/curl.git
cd curl
git checkout curl-7_85_0
cd ..
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg
git checkout n5.1.6
./configure --enable-gpl --enable-shared
cd ../..
```
Following the above you can go ahead and build ES-DE:
```
cmake .
make -j8
```
Note that there is no Haiku packaging support, you'll need to run ES-DE from the build directory. As well very few systems and emulators are currently supported. There is also no 3D acceleration available in Haiku so performance in ES-DE will likely be quite lacklustre. Consider the Haiku build a proof of concept port at this moment in time.
## Building on macOS ## Building on macOS
ES-DE for macOS is built using Clang/LLVM which is the default compiler for this operating system. It's pretty straightforward to build software on this OS. The main problem is that there is no native package manager, but as there are several third party package managers available, this can be partly compensated for. The use of one of them, [Homebrew](https://brew.sh), is detailed below. ES-DE for macOS is built using Clang/LLVM which is the default compiler for this operating system. It's pretty straightforward to build software on this OS. The main problem is that there is no native package manager, but as there are several third party package managers available, this can be partly compensated for. The use of one of them, [Homebrew](https://brew.sh), is detailed below.