genode/tool
Norman Feske 253097314c Add unified build directories to create_builddir
This patch makes the benefit of the recently introduced unified Genode
ABI available to developers by enabling the use of multiple kernels from
within a single build directory. The create_builddir tool has gained a
new set of kernel-agnostic platform arguments such as x86_32, or panda.
Most build targets within directories are in principle compatible with
all kernels that support the selected hardware platform. To execute a
scenario via the run tool, one has to select the kernel to use by
setting the 'KERNEL' argument in the build configuration
(etc/build.conf). Alternatively, the 'KERNEL' can be specified as
command-line argument of the Genode build system, e.g.:

  make run/log KERNEL=nova

This allows us to easily switch from one kernel to another without
rebuilding any Genode component except for the very few kernel-specific
ones.

The new version of the 'create_builddir' tool is still compatible with
the old version. The old kernel-specific build directories can still be
created. However, those variants will eventually be removed.

Note that the commit removes the 'ports-foc' repository from the
generated 'build.conf' files. As this is only meaningful for 'foc',
I did not want to include it in the list of regular repositories (as
visible in a 'x86_32' build directory). Hence, the repository must
now be manually added in order to use L4Linux.

Issue #2190
2017-01-13 13:05:44 +01:00
..
boot sel4: add "norelocate" option to bender 2016-08-10 11:07:50 +02:00
builddir Add unified build directories to create_builddir 2017-01-13 13:05:44 +01:00
patches tool_chain/cxx: use '__cxa_demangle()' for exception names 2016-05-23 15:52:50 +02:00
ports prepare_port: prefix git clone output 2016-03-07 12:34:43 +01:00
run Remove redundant boot modules from boot image 2016-12-23 16:52:09 +01:00
abi_symbols Genode application binary interface (ABI) 2016-12-23 16:50:28 +01:00
autopilot autopilot: always add '--autopilot' run option 2016-08-31 17:08:14 +02:00
autopilot.list nic_router: new user interface and optimizations 2016-11-30 13:38:05 +01:00
beautify Imported Genode release 11.11 2011-12-22 16:19:25 +01:00
create_builddir Add unified build directories to create_builddir 2017-01-13 13:05:44 +01:00
create_grub2 create_grub2: ext2 default parameters for image 2015-03-13 12:17:26 +01:00
create_iso create_iso: remove outdated help message 2016-10-21 12:39:33 +02:00
create_uboot create_uboot: support for hw_usb_armory 2015-11-29 18:17:03 +01:00
cxx_to_html Tool cxx_to_html to convert C++ source to HTML 2012-01-08 14:09:47 +01:00
download_hashver Hash verification tool 2013-06-10 10:44:09 +02:00
download_sigver GPG signature verification tool 2013-06-10 10:44:09 +02:00
fix_include_ifndef tool/fix_include_ifndef: consider license header 2014-01-27 18:54:05 +01:00
grub2-head.img create_grub2: ext2 default parameters for image 2015-03-13 12:17:26 +01:00
link.h tool_chain: cleanup 2015-05-26 09:39:49 +02:00
parse_cxx Improvements of parse_cxx tool 2015-04-09 16:04:45 +02:00
README tool: remove old ports tool remains 2016-08-29 17:29:35 +02:00
rump tool: kill all children of rump tool 2016-10-21 12:39:33 +02:00
rump_cgdconf tool: wrapper script for rumpkernel tools 2014-05-27 11:14:45 +02:00
tool_chain tool_chain: use 'pkg-config' for library checks 2016-05-23 15:52:50 +02:00
tool_chain_binutils_patches.inc riscv: tool chain 2016-02-16 14:38:02 +01:00
tool_chain_gcc_patches.inc tool_chain: cleanup 2015-05-26 09:39:49 +02:00
tool_chain_gdb_patches.inc tool_chain: use real patches 2014-05-14 16:08:00 +02:00
tool_chain_rump tools: strip rumpkernel based tools 2014-08-28 12:35:56 +02:00

This directory contains tools for managing and using the source code
of Genode.

:'create_builddir'

  The 'create_builddir' tool provides a convenient way to create build
  directories for different platforms. Its usage information is printed when
  starting the tool without arguments.

:'builddir/':

  This directory contains a Makefile template and configuration snippets used
  by the 'create_builddir' tool.

:'tool_chain':

  This tool downloads, builds, and installs the tool chain needed to build the
  Genode OS Framework. For getting usage information, start the tool without
  arguments.

:'create_iso':

  This simple tool helps to build bootable ISO images from your build of
  Genode. For getting usage information, start the tool without arguments.

:'create_grub2':

  This tool prepares a partitioned disk image with GRUB2 as boot
  loader.

:'grub2-head.img':

  This file is the head part of a partioned disk image including an
  installation of GRUB2 as boot loader. GRUB2 is available from
  http://www.gnu.org/software/grub/ and in major Linux distributions.
  Steps to reproduce the image creation can be found in
  'create_grub2'.

:'beautify':

  Beautify is a coding-style checking tool that analyzes source code for its
  adherence to Genode's coding style as described in 'doc/coding_style.txt'.
  Whenever possible, the tool tries to fix the issues and outputs a corrected
  file.  Some corrections, however, require human interaction.  In this case,
  the tool stops the analysis with an error.

:'parse_cxx':

  This tool is a C++ parser used as front-end for Beautify.

:'cxx_to_html':

  This tool converts a C++ source file to a HTML view to be used for the API
  documentation at the genode.org website. It relies on 'parse_cxx' to do the
  actual C++ parsing.

:'fix_include_ifndef':

  This tool helps with assigning consistent include guards to header files.

:'boot':

  This directory contains boot-loader files needed to create boot images.

:'autopilot':

  Autopilot is a tool for the automatic execution of run scripts among multiple
  base platforms.