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@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@peach# waf configure
'configure' finished successfully (4.034s)
verm@peach# waf -j 14
'build' finished successfully (16.204s)
note: the above is 1,337 objects.
verm@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@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@linux-p471:~/git-rtems-waf (waf) > touch
./build/sparc/sis/cpukit/librtemscpu.a
sh@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.hu...@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel