[Dev docs] Steer people more strongly towards koxtoolchain (#6727)

* Steer people more strongly towards koxtoolchain

And stop mentioning blatantly broken/outdated stuff

* Add macOS to the list

Also, put 'em in hierarchical order, and link to the main build docs for
the native emulator.
reviewable/pr6729/r1
NiLuJe 4 years ago committed by GitHub
parent e169b34577
commit f0f0cfd167
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -4,7 +4,6 @@ KOReader is available for multiple platforms. Here are instructions to build ins
These instructions are intended for a Linux OS. MacOS and Windows users are suggested to develop in a Linux VM.
## Prerequisites
This instructions asume that you [have a development environment ready to run](Building.md) KOReader. If not then please install common prerequisites first.
@ -27,13 +26,7 @@ If you want to use your own installed tools please make sure that you have the *
Cross compile toolchains are available for Ubuntu users through these commands:
##### Kindle and Cervantes
```
sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
```
##### Kobo and Ubuntu Touch
##### Ubuntu Touch
```
sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
@ -46,13 +39,16 @@ block you from building. Remove them if you get the following ld error
/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lglib-2.0
```
**NOTE 2:** In the specific case of Cervantes, Kindle & Kobo targets, while we make some effort to support these Linaro/Ubuntu TCs,
they do *not* exactly target the proper devices. While your build will go fine, this may lead to runtime failure.
As time goes by, and/or the more bleeding-edge your distro is, the greater the risk for mismatch gets.
Thankfully, we have a distribution-agnostic solution for you: [koxtoolchain](https://github.com/koreader/koxtoolchain)!
This will allow you to build the *exact* same TCs used to build the nightlies, thanks to the magic of [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng). These are also included precompiled in the Docker images for the respective targets.
##### e-Ink devices (e.g., Kindle, Kobo, Cervantes, reMarkable, PocketBook)
**NOTE:** While, for some targets (specifically, Cervantes, Kindle & Kobo), we make *some* effort to support Linaro/Ubuntu TCs,
they do *not* exactly target the proper devices. While your build *may* go fine, this will *probably* lead to runtime failure.
As time goes by, and/or the more bleeding-edge your distro is, the greater the risk for mismatch gets.
Which means, that, unless you are *very* sure you know what you're doing, you'll want to use the exact same TCs we do, ones that target their respective platforms properly.
We have a distribution-agnostic solution to make that mostly painless: [koxtoolchain](https://github.com/koreader/koxtoolchain)!
This will allow you to build the *exact* same TCs used to build the nightlies, thanks to the magic of [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng). These are also included precompiled in the Docker images for the respective targets.
**NOTE 3:** The vendor toolchain will be downloaded automatically by `./kodev release pocketbook`
### Additional packages
@ -83,15 +79,13 @@ Ubuntu users can install it with:
sudo apt-get install click
```
**NOTE**: The Ubuntu Touch build won't start anymore, and none of the currently active developers have any physical devices. Please visit [#4960](
https://github.com/koreader/koreader/issues/4960) if you want to help.
**NOTE**: The Ubuntu Touch build won't start anymore, and none of the currently active developers have any physical devices. Please visit [#4960](https://github.com/koreader/koreader/issues/4960) if you want to help.
The Ubuntu Touch builds are therefore no longer published under releases on GitHub, but they are still available from [the nightly build server](http://build.koreader.rocks/download/nightly/).
## Building
You can check out our [nightlybuild script][nb-script] to see how to build a
package from scratch.
You can check out our [nightlybuild script][nb-script] to see how to build a package from scratch.
### Android
@ -105,13 +99,11 @@ package from scratch.
ANDROID_ARCH=x86 ./kodev release android
```
### Cervantes
### Desktop Linux
```
./kodev release cervantes
```
#### Emulator
### Desktop Linux
See [Building](https://github.com/koreader/koreader/blob/master/doc/Building.md).
#### AppImage (x86_64)
@ -137,34 +129,54 @@ ANDROID_ARCH=x86 ./kodev release android
./kodev release debian-armhf
```
### Kindle
### Desktop macOS
```
./kodev release macos
```
### e-Ink devices
#### Cervantes
```
./kodev release cervantes
```
#### Kindle
```
./kodev release kindle
```
### Kobo
#### Kobo
```
./kodev release kobo
```
### Pocketbook
#### Pocketbook
```
./kodev release pocketbook
```
### Ubuntu Touch
#### reMarkable
```
./kodev release ubuntu-touch
./kodev release remarkable
```
### Embedded Linux devices
#### Ubuntu Touch
```
./kodev release ubuntu-touch
```
## Porting to a new target.
See [Porting.md](Porting.md)
[nb-script]:https://gitlab.com/koreader/nightly-builds/blob/master/build_release.sh

Loading…
Cancel
Save