Waf branch - Waf / Build [5/6]
Amar Takhar
amar at rtems.org
Fri Feb 6 07:04:21 UTC 2015
This explains the tool used to build RTEMS,
You can download a copy of waf here:
http://ftp.waf.io/pub/release/waf-1.8.5
It is a stand alone binary it will self-extract wherever you put it. Waf is
intended to be distributed with software it is *not* designed for installing in
an OS. Any RTEMS tarballs we make will have this binary in it. For Git users
will be on their own to get it.
Use:
waf -h
To get a list of help there are many custom commands. You can use the 'waf'
command anywhere in the source tree it will find itself.
The parent script to build are called 'wscript'. For architectures look in
c/wscript_<arch>
Some handy commands:
List BSPs
waf config --list
List targets:
waf list
There is also a list_host and list_<bsp>. Remember you can have multiple BSPs
building at once so some commands will duplicate as you add more BSPs.
There is also a 'step' feature. You can build a single file by going:
waf step_host --files=file1.c,file2.c
A step can also be a target if you want to work on a whole library or feature.
This lets you work on specific files and ignore the rest of the build. Waf is
fast but repetitive work will go even faster.
There are missing bits that I have not gone into such as rtems-tool, rtems-test
and rtems-cc.
The only BSP that is currently working that I have checked is sparc/erc32. Last
year I had all 168 working we currently stand at 190. I need to go through and
update every single BSP and get them building if there is a BSP you would like
to try that is not working please let me know and I will fix it. The order in
which they are fixed does not matter to me. :)
There are many other changes that have been done in this branch such as the
'include' move. These will be discussed in the following email. (6/6)
Amar.
More information about the devel
mailing list