Waf branch - Overview [2/6]

Chris Johns chrisj at rtems.org
Fri Feb 6 23:23:09 UTC 2015


On 6/02/2015 6:03 pm, Amar Takhar wrote:
> This email covers a brief overview of how to build the branch and some details.
> It handy for 'trying it out' without getting too far into the details.

Thanks for the email(s) and thank you for taking on such a massive task. 
It is impressive. Some comments follow.

>
> Here is the timing for the build at the moment:
>
> verm at peach# waf config --bsp sparc/sis --prefix /mnt/devel/rtems/prefix/rtems
> --path-tools /mnt/devel/rtems/tools/bin/
> 'config' finished successfully (0.026s)
>
> verm at peach# waf configure
> 'configure' finished successfully (4.034s)
>
> verm at peach# waf -j 14
> 'build' finished successfully (16.204s)
>
>    note: the above is 1,337 objects.
>
> verm at peach# waf -j 14 --enable-tests
> 'build' finished successfully (13.414s)
>
>    note: the above is 881 targets.
>
>  From a clone we have: 0.026 + 4.034 + 16.204 + 13.414 = 33.678s.
>
> That is 2,218 targets including all test binaries.
>
> There is a simple sanity check I hacked in if you want to try it:
>
> verm at peach# waf hello
>
> BUILDING: sparc/sis
> /mnt/devel/rtems/tools/bin/sparc-rtems4.11-gcc -I/mnt/devel/rtems/commit/include
> -I/mnt/devel/rtems/commit/build/sparc/sis/include
> -I/mnt/devel/rtems/commit/build/sparc/sis/include/rtems -DHAVE_CONFIG_H
> -D__rtems_sparc_sis__ -mcpu=cypress -o /tmp/hello
> testsuites/samples/hello/init.c -specs
> /mnt/devel/rtems/commit/build/sparc/sis/gcc_spec
> -L/mnt/devel/rtems/commit/build/sparc/sis/cpukit/
> -L/mnt/devel/rtems/commit/build/sparc/sis/c/ -Wl,-start-group -lrtemscpu
> -lrtemsbsp -lc -lgcc -Wl,-end-group
> 'hello' finished successfully (0.183s)
>
> This actually uses another tool called rtems-config which I will get into below.
>

I checked out the repo and ran the commands on a FreeBSD box and 
obtained similar results. It is very nice. The performance is brilliant 
and I am sure this is a better experience all around for RTEMS users. I 
did need to update my waf to the one you talk about in later emails.

I wanted to try the build on a Zynq board but I could not find the BSP. 
I found the 'waf config --list' command and saw there are 164 BSP 
listed. The current master repo's rtems-bsp command lists 193. What is 
the status of your tree and the master repo ?

I also found when I attempted to run 'waf config' again an error report 
was made about deleting config.cfg. I am use to building a number of 
BSPs from a single source check out and having the build around while I 
sort out issues. I saw comments about moving configs after the source 
reorg, is this related ?

>
> There are three branches on the repository:
>
>    waf     - main waf branch (use this!)
>    fix     - fixes to source code.
>    include - the mega include change.
>
>
> You can get the source via:
>
>    git clone git://git.rtems.org/amar/waf.git
>
> The tools used are the standard ones built using the RSB.  This means you can
> test the waf branch without needing to rebuild your tools.  This will only get
> better with your help and feedback.
>
> This is a big change to how we will all develop and use RTEMS.  We have outgrown
> the current build system, there is a huge amount for the community to digest
> with this and other changes coming down the line.
>
> I hope you are all willing to work with me to make this a reality for RTEMS.
>

How would you like us to submit changes to get them merged into your repo ?

Chris



More information about the devel mailing list