================= Genode tool chain ================= The Genode OS framework depends on the GNU C++ compiler and tool chain. As most GNU compilers shipped with standard Linux distributions include distro-specific patches and configurations, these tools do not meet Genode's special requirements (e.g., thread-local storage configuration). Therefore, there exists a special tool chain adapted to the specific requirements of Genode. Recommended development platform ################################ We use recent [https://www.ubuntu.com/ - Ubuntu] LTS releases on our development hosts. Hence, Genode should always build without trouble on these platforms. Unified tool chain ################## Starting with Genode version 11.11, there is a unified tool chain for all base platforms and supported CPU architectures (x86_32, x86_64, ARM, AARCH64, and RISC-V). For Genode development, we highly recommend the use of the official Genode tool chain. It can be obtained in two ways: as pre-compiled binaries or manually compiled: :Pre-compiled: Our pre-compiled tool chain is runnable on Linux x86_32 and x86_64. The archives for both versions will be extracted to _/usr/local/genode/tool/_. To extract the archive, use the following command: ! sudo tar xPf genode-toolchain--.tar.xz The use of the 'P' option ensures that the tool chain will be installed at the correct absolute path where the build system expects it to reside by default. Please note, Genode OS Framework releases require a Genode tool chain with an equal or next smaller version number. [https://sourceforge.net/projects/genode/files/genode-toolchain/ - Download the pre-compiled tool chain...] :Compile from source: For those of you who prefer compiling the tool chain from source, we provide a tool for downloading, building, and installing the Genode tool chain. You find the tool in Genode's source tree at 'tool/tool_chain'. For usage instructions, just start the tool without arguments. In both cases, the tool chain is installed to _/usr/local/genode/tool/_. This install location is expected by the build system by default. The tools are prefixed with 'genode-x86-', 'genode-arm-', 'genode-riscv-', or 'genode-aarch64-' respectively so that it is safe to add the _/usr/local/genode/tool//bin/_ path to our 'PATH' environment variable (optional). Should you desire to use a different tool chain, create a file called _tools.conf_ in the _etc/_ subdirectory of your build directory where you can define the tool-chain prefix to be used: ! CROSS_DEV_PREFIX = /path/to/your/custom/tool_chain/your-x86-