Commit Graph

11 Commits

Author SHA1 Message Date
Chris Johns
2afb22b7e1 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 seven 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.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

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.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00
Sebastian Huber
3f575da2f2 Remove obsolete network header files
Update #3254.
2017-12-07 07:23:59 +01:00
Sebastian Huber
1157cb598f sys/endian.h: Document FreeBSD origin 2017-01-23 07:57:07 +01:00
Sebastian Huber
505eb557f0 sys/uio.h: Update to FreeBSD head 2015-12-03 2016-10-26 14:05:49 +02:00
Sebastian Huber
868cd24dcd score: Use Newlib provided <machine/endian.h> 2016-05-30 08:11:39 +02:00
Sebastian Huber
8708900e53 Provide dummy <sys/priority.h>
Required by new network stack.
2015-11-18 09:22:48 +01:00
Sebastian Huber
b2ee119f7a sys/endian.h: Fix 16-bit int problems 2014-12-15 08:27:32 +01:00
Sebastian Huber
a2b68952b1 Add <sys/endian.h> 2014-11-20 10:30:20 +01:00
Joel Sherrill
bb679b3111 Move <memory.h> and <sys/uio.h> to non-networking directory
These two header files were installed from libnetworking even
when networking was disabled. This patch moves them to a
non-networking location and updates uio.h to match the FreeBSD 8.x
source being used for the USB stack and TCP/IP stack upgrade.

 - cpukit/include/memory.h
   Move from cpukit/libnetworking/memory.h. No changes

 - cpukit/include/sys/uio.h
   Move from cpukit/libnetworking/sys/uio.h. Replace with FreeBSD 8.x version.

 - cpukit/include/sys/_iovec.h
   New. FreeBSD 8.x file supporting <sys/uio.h>.

 - cpukit/Makefile.am
   Reflect movement of <memory.h> and <sys/uio.h>.

 - cpukit/preinstall.am
   Regenerate

 - cpukit/libnetworking/nfs/bootp_subr.c
   Eliminate use of uio_procp field no longer in FreeBSD structure. This
   field was set and never read so eliminating the set has no impact.
2013-01-23 13:38:04 -06:00
Joel Sherrill
9b4422a251 Remove All CVS Id Strings Possible Using a Script
Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines
  next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
  contain CVS Ids
+ If the processing left a blank line at the top of
  a file, it was removed.
2012-05-11 08:44:13 -05:00
Ralf Corsepius
0bff7f84c8 New. 2009-02-20 16:12:53 +00:00