Improve section about cross compilation in tips-tricks.md

Title and text must be more general, but still be specific about
cases which we know to work.
This commit is contained in:
katjav 2020-01-09 12:56:50 +01:00
parent df9eb41d68
commit f087faf441

View file

@ -3,14 +3,13 @@ pd-lib-builder cheatsheet
# Creating special builds # Creating special builds
## cross-compiling on linux x86_64 for other platforms ## building for non-native platform
Using pd-lib-builder >=0.6.0 we can define variable `PLATFORM` to specify a Using pd-lib-builder >=0.6.0 we can define variable `PLATFORM` to specify a
target triplet for cross-compilation. Example to build W32 binaries (assuming target triplet for cross-compilation. Assuming a W32 package for Pd is unzipped
package `mingw-w64` is installed and a W32 package for Pd is unzipped into a into path `${PDWIN32}`, to build for Windows 32 bit:
path `${PDWIN32}`:
make PLATFORM=x86_64-w64-mingw32 PDDIR="${PDWIN32}" make PLATFORM=i686-w64-mingw32 PDDIR="${PDWIN32}"
#### older pd-lib-builder versions #### older pd-lib-builder versions
@ -22,16 +21,18 @@ instead override variables `system`, `target.arch`, `CC` and / or `CXX`,
#### toolchains #### toolchains
Cross toolchains for relevant platforms in Debian Buster (install g++ To build for non-native OS and/or architecture you need a cross toolchain. On
with dependencies for a given platform to get the whole tool chain): Linux such toolchains are relatively easy to get. For example Debian Buster
amd64 provides them for the following platforms (install g++ with dependencies
for a given platform to get the whole toolchain):
- `arm-linux-gnueabihf` - `arm-linux-gnueabihf`
- `aarch64-linux-gnu` - `aarch64-linux-gnu`
- `i686-linux-gnu` - `i686-linux-gnu`
- `i686-w64-mingw32` and `x86_64-w64-mingw32` (install `mingw-w64`) - `i686-w64-mingw32` and `x86_64-w64-mingw32` (install `mingw-w64`)
OSX/MacOS cross tool chains are not distributed by Debian. Use project Cross toolchains for OSX/MacOS are not generally distributed. Project
`osxcross` from Thomas Poechtraeger to create the tools. `osxcross` from Thomas Poechtraeger can create them for Linux.
## building double-precision externals ## building double-precision externals