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