From b14fd1fcba610cdabde9e2ee5e502774a444502d Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Wed, 20 May 2015 18:21:38 +1000 Subject: Add a README for using waf. --- README.waf | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 README.waf diff --git a/README.waf b/README.waf new file mode 100644 index 00000000..31dd05c1 --- /dev/null +++ b/README.waf @@ -0,0 +1,70 @@ +RTEMS LibBSD Waf +~~~~~~~~~~~~~~~~ + +You can find the Waf project here: + + http://code.google.com/p/waf/ + +Simple instructions on How to set up Waf is here: + + https://ftp.rtems.org/pub/rtems/people/chrisj/rtl/rtems-linker/waf.html + +These instructions show you how to build and install RTEMS Tools, RTEMS kernel +for your BSP in separate paths. Using separate paths for the tools and BSPs +lets you manage what you have installed. If you are happy with a single path +you can just the same path in each stage. + +We will build an ARM Realview PBX A9 QEMU BSP (arm/realview_pbx_a9_qemu). + +Steps +----- + +1. Build and install the tools. In this example the path is + /opt/rtems/4.11/tools: + + $ cd rtems-source-builder/rtems + $ ../souce-builder/sb-set-builder \ + --prefix=/opt/rtems/4.11/tools 4.11/rtems-arm + +2. Build and install the RTEMS Board Support Packages (BSP) you want to use. In + this example the path is /opt/rtems/4.11/bsps: + + $ mkdir realview_pbx_a9_qemu + $ cd realview_pbx_a9_qemu + $ ../rtems-4.11/configure \ + --target=arm-rtems4.11 --prefix=/opt/rtems/4.11/bsps \ + --disable-networking --enable-rtemsbsp=realview_pbx_a9_qemu + $ make + $ make install + +3. Populate the git submodule: + + $ rtems-libbsd + $ git submodule init + $ git submodule update + +5. Configure with your specific settings. In this case the path to the tools + and RTEMS are provided on the command line and so do not need to be in your + path or environment [1]: + + $ waf configure --rtems=/opt/rtems/4.11/bsps \ + --rtems-tools=/opt/rtems/4.11/tools \ + --rtems-bsps=arm/realview_pbx_a9_qemu + + You can use '--rtems-archs=arm,sparc,i386' or + '--rtems-bsps=arm/realview_pbx_a9_qemu,sparc/sis,i386/pc586' to build for + more than BSP at a time. + +6. Build and install: + + $ waf + $ waf install + +[1] It is good practice to keep your environment as empty as possible. Setting + paths to tools or specific values to configure or control a build is + dangerous because settings can leak between different builds and change + what you expect a build to do. The waf tool used here lets you specify on + the command line the tools and RTEMS paths and this is embedded in waf's + configuration information. If you have a few source trees working at any + one time with different tool sets or configurations you can easly move + between them safe in the knowledge that one build will not infect another. -- cgit v1.2.3