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