New Build System Ready for Integration
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Nov 28 08:10:07 UTC 2019
Hello,
the new build system is now ready for integration. You find the latest
documentation here:
https://ftp.rtems.org/pub/rtems/people/sebh/user.pdf
https://ftp.rtems.org/pub/rtems/people/sebh/eng.pdf
You can review the new build system for RTEMS BSPs here:
git clone git://git.rtems.org/sebh/rtems.git
cd rtems
git checkout --track origin/build
The new build system builds all BSPs and all tests (including the Ada
tests). I tested the build on OpenSUSE 15.1, MinGW64, MSYS2, and FreeBSD
12.1.
The build specification consists of
find spec -name '*.yml' -and -not -name .doorstop.yml | wc
2011 2011 136959
YAML files. From these only 18 have hand-crafted content:
grep -r 'build-type: script' spec/ | sort
spec/build/bsps/powerpc/motorola_powerpc/RTEMS-BUILD-BSP-POWERPC-MOTOROLAPOWERPC-BOOT.yml:build-type:
script
spec/build/bsps/powerpc/motorola_powerpc/RTEMS-BUILD-BSP-POWERPC-MOTOROLAPOWERPC-QEMUFAKEROM.yml:build-type:
script
spec/build/bsps/powerpc/mvme5500/RTEMS-BUILD-BSP-POWERPC-MVME5500-START.yml:build-type:
script
spec/build/bsps/powerpc/RTEMS-BUILD-BSP-POWERPC-MOTLD.yml:build-type: script
spec/build/bsps/RTEMS-BUILD-BSP-LINKCMDS.yml:build-type: script
spec/build/cpukit/RTEMS-BUILD-CPUKIT-VCKEY.yml:build-type: script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-DL01.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-DL02.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-DL04.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-DL05.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-DL06.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-DL07.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-DL08.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-DL09.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-DL10.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-MGHTTPD01.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-TAR01.yml:build-type:
script
spec/build/testsuites/libtests/RTEMS-BUILD-TEST-LIB-TAR02.yml:build-type:
script
So, more than 99% of the build specification is done through standard
items. The attached script can be used to load the content of all items
into a standard Python data structure (dictionaries, lists, strings,
integers). The next person doing a new build system will have a much
easier task, no more parsing of Makefile.am, configure.ac, *.cfg, and
*.tcfg files.
My proposed next steps are:
1. I push the source and documentation patches next Monday to the main
repositories.
2. I make it harder to use the existing build system. I add a
--I-only-want-to-compare-results-with-the-new-build-system" to the
top-level configure script. If this option is not present, then the
build stops with an error. This basically disables the normal use.
3. I create a new ticket with a build system conversion checklist.
4. We announce a four month period in which we keep the old build system
in the sources. Everyone is encouraged to test the new build system with
the help of the checklist. The new build system should be used, fixed
and improved.
5. If the new build system shows satisfactory results after the testing
period, we remove the old one.
--
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dump.py
Type: text/x-python
Size: 1998 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20191128/9bd3d7aa/attachment-0001.py>
More information about the devel
mailing list