Waf branch - Overview [2/6]
Sebastian Huber
sebastian.huber at embedded-brains.de
Sun Feb 8 08:40:50 UTC 2015
On 06/02/15 08:03, 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 your great work in the background.
>
>
> 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 tested it on a five year old low budget laptop with an up to date
openSUSE and it worked out of the box.
I updated the timing page (2m with waf and 14m with the current build
system):
https://devel.rtems.org/wiki/waf/Timing
>
>
> 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.
I would like to work with this build system as soon as possible. There
are some open issues, but I am sure we can fix them on the fly. I guess
the first step is to do the RTEMS 4.11 branch.
One issue I found is that the test are not re-built in case the
librtemscpu.a changes, e.g.
sh at linux-p471:~/git-rtems-waf (waf) > touch
./build/sparc/sis/cpukit/librtemscpu.a
sh at linux-p471:~/git-rtems-waf (waf) > ~/Downloads/waf-1.8.5/waf -j 2
--enable-tests
--- building host ---
Waf: Entering directory `/home/sh/git-rtems-waf/build/host'
Waf: Leaving directory `/home/sh/git-rtems-waf/build/host'
--- building sparc/sis ---
Waf: Entering directory `/home/sh/git-rtems-waf/build/sparc/sis'
--- building sparc/sis tests ---
Waf: Leaving directory `/home/sh/git-rtems-waf/build/sparc/sis'
'build' finished successfully (1.338s)
This feature is also present in the current build system and is a great
annoyance while developing RTEMS.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list