mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-06-03 21:55:10 +08:00
74 lines
2.5 KiB
Plaintext
74 lines
2.5 KiB
Plaintext
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 rtems_waf git submodule:
|
|
|
|
$ rtems-libbsd
|
|
$ git submodule init
|
|
$ git submodule update rtems_waf
|
|
|
|
Note, make sure you specify 'rtems_waf' or the FreeBSD kernel source will be
|
|
cloned.
|
|
|
|
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.
|