no-preinstall: Ready for final review
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Jan 18 16:35:01 UTC 2018
v1 of the commit message:
Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step. It copied
header files from arbitrary locations into the build tree. The header files
were included via the -Bsome/build/tree/path GCC command line option.
This has at least five problems:
* The make preinstall step itself needs time and disk space.
* Errors in header files show up in the build tree copy. This makes it hard
for editors to open the right file to fix the error.
* There is no clear relationship between source and build tree header files.
This makes an audit of the build process difficult.
* The visibility of all header files in the build tree makes it difficult to
enforce API barriers. For example it is discouraged to use BSP-specifics in
the cpukit.
* An introduction of a new build system is difficult.
This patch removes the make preinstall step. All installed header files are
moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be
the target architecture, e.g. arm, powerpc, sparc, etc. Let
@RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq,
etc.
The new cpukit include directories are:
* cpukit/include
* cpukit/score/cpu/@RTEMS_CPU@/include
* cpukit/libnetworking
The new BSP include directories are:
* bsps/include
* bsps/@RTEMS_CPU@/include
* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include
There are build tree include directories for generated files.
More information about the devel
mailing list