@@ -95,10 +95,10 @@ for more details.
9595
9696### [ GitHub Actions] ( https://github.com/ )
9797 - 20 parallel runners on Linux/Windows (5 runners on MacOS)
98- - Ubuntu 16/ 18/20, MacOS 10.15 , Windows Server 2016/ 2019/2022
98+ - Ubuntu 18/20/22 , MacOS 11/12 , Windows Server 2019/2022
9999 - Compile natively on Linux (gcc, clang)
100100 - Compile natively on MacOS (clang)
101- - Compile natively on Windows (gcc/MinGW, Visual Studio 2017/ 2019/2022)
101+ - Compile natively on Windows (gcc/MinGW, Visual Studio 2019/2022)
102102 - Cross-compile for Windows 32bit and 64bit using MinGW and WINE
103103 - Cross-compile for RTEMS 4.9 and 4.10 (pc386, Base >= 3.15)
104104 - Cross-compile for RTEMS 5 (10 BSPs, Base >= 7.0.5.1)
@@ -283,8 +283,8 @@ Feel free to suggest more default settings using a Pull Request.
283283
284284## RTEMS
285285
286- Setting `RTEMS` to the RTEMS version number (` 4.9`, ` 4.10` or `5`)
287- enables cross-compiling to RTEMS on supported CI services.
286+ Cross-compiling to RTEMS versions 4.9, 4.10 or 5 is supported
287+ on supported CI services. For configuration see below .
288288Tests can also be run cross-platform, using `qemu`.
289289
290290The RTEMS 5 builds now include most of the BSPs with configuration in Base:
@@ -301,26 +301,37 @@ The RTEMS 5 builds now include most of the BSPs with configuration in Base:
301301- xilinx_zynq_a9_qemu w/ libbsd
302302
303303Build configuration [can be found here][ref.rtems5build].
304- Set `RTEMS_TARGET` to configure the EPICS target architecture and
305- `RSB_BUILD` to select the RTEMS toolchain release name/data from
304+ Set `RSB_BUILD` to select the RTEMS toolchain release name/data from
306305https://github.com/mdavidsaver/rsb/releases.
307306
308- RTEMS 5 builds need to be switched to a newer ubuntu version
307+ RTEMS 5 builds need to be switched to ubuntu version >= 20
309308(aka. **os: ubuntu-20.04** with GitHub Actions,
310309**dist: focal** with Travis-CI or
311310**image: ubuntu:focal** with GitLab CI/CD).
312311
313- ## LINUX_CROSS
314-
315- Setting the `LINUX_CROSS_<name>` environment variable enables cross-compiling
316- to Linux for the provided target. The value of the environment variable should
317- be the compiler prefix to be used.
318-
319- For example, to cross-compile for linux-arm with hard floating points
320-
321- - ensure you have the `g++-arm-linux-gnueabihf` package installed, if your CI
322- is on Ubuntu or Debian
323- - set the environment variable `LINUX_CROSS_arm=arm-linux-gnueabihf`
312+ ## Cross Compilation
313+
314+ Setting the `CI_CROSS_TARGETS` environment variable enables cross-compiling
315+ from Linux to the provided targets architectures.
316+ The value of the environment variable must contain the EPICS architecture
317+ and - depending on the target - may contain additional information like
318+ the compiler prefix to be used or the version of the target OS.
319+
320+ Multiple cross-targets can be added to the `CI_CROSS_TARGETS` variable
321+ by separating them with a colon (`:`) character.
322+
323+ For example, possible values are:
324+
325+ - linux-aarch64
326+ - linux-arm@arm-linux-gnueabi
327+ - linux-arm@arm-linux-gnueabihf
328+ - linux-ppc
329+ - linux-ppc64
330+ - win32-x86-mingw
331+ - windows-x64-mingw
332+ 333+ 334+ - RTEMS-pc686-qemu@5
324335
325336## Debugging
326337
0 commit comments