Tremendous effort by both of you, thank you for spear-heading this now. Will there be user-visible changes resulting from this process?
On Tue, Dec 12, 2017 at 4:41 PM, Chris Johns <chr...@rtems.org> wrote: > Hello, > > Over the past few weeks there has been work to remove the preinstall process > from the build system. The catalyst for this is ticket #3083 [1] Joel and > others > reported on Linux systems. What started as an investigation has turned into > something concrete. > > The recent changes I made to the build system to improve the build speed on > multi-core hardware has exposed an issue on Linux where parallel preinstalling > of a header file is detected by Linux's `install` tool and reported as an > error. > This does not happen on FreeBSD so I did not and do not see the issue. The fix > for this is complex and fragile and so it was decided to remove the preinstall > phase from the build system. > > It has been our intention to remove preinstall with the change to a waf build > system. We have brought this forward to happen before the 5.1 release to aid > back porting of fixes post this release. > > Removing preinstall requires moving header files that are preinstalled to a > location in the repo that matches the preinstall structure. The exported API > headers become "what you see is what you get" and this benefits those auditing > RTEMS and how it is built. The include paths in the repo will be: > > cpukit/include > cpukit/score/cpu/@RTEMS_CPU@/include > bsps/include > bsps/@RTEMS_CPU@/include > bsps/@RTEMS_CPU@/@RTEMS_BSP@/include > > and in the build tree: > > cpukit/include > bsp/include > > The work is happening in 3 separate parts: > > 1. Moving the headers in the repo. > 2. Updating the build system. > 3. Fixing the existing source. > > I have the header move ready, there are 1747 git moves. This work required > capturing the preinstall data from ampolish3 and processing it to create a > shell > script to do the move. There will be a commit for each include path in the > repo. > > Updating the build system currently touches around 300 files without removing > the preinstall.am files or adding new automake support to install the API > headers when running `make install`. > > Fixing the source has been active and visible with Sebastian (thank you) > working > to clean up the issues found. This work is on going as we uncover problems > masked by preinstalling. Once this task is complete we will push the build > system and move changes. > > This is a substantial change and churn within the repo and I ask for your > patience and understanding as we complete this task. I should highlight the > changes within the actual code base are relatively small. > > Thanks > Chris > > [1] https://devel.rtems.org/ticket/3083 > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel