source: rtems/bsps/arm/csb337/include/bits.h @ 2afb22b

Last change on this file since 2afb22b was 2afb22b, checked in by Chris Johns <chrisj@…>, on 12/23/17 at 07:18:56

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

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

Update #3254.

  • Property mode set to 100644
File size: 1.2 KB
2 * Bit position definitions
3 *
4 * Copyright (c) 2002 by Cogent Computer Systems
5 * Written by Mike Kelly <>
6 *
7 *  The license and distribution terms for this file may be
8 *  found in the file LICENSE in this distribution or at
9 *
10 */
11#ifndef __BITS_H__
12#define __BITS_H__
14#define BIT0                            0x00000001
15#define BIT1                            0x00000002
16#define BIT2                            0x00000004
17#define BIT3                            0x00000008
18#define BIT4                            0x00000010
19#define BIT5                            0x00000020
20#define BIT6                            0x00000040
21#define BIT7                            0x00000080
22#define BIT8                            0x00000100
23#define BIT9                            0x00000200
24#define BIT10                           0x00000400
25#define BIT11                           0x00000800
26#define BIT12                           0x00001000
27#define BIT13                           0x00002000
28#define BIT14                           0x00004000
29#define BIT15                           0x00008000
30#define BIT16                           0x00010000
31#define BIT17                           0x00020000
32#define BIT18                           0x00040000
33#define BIT19                           0x00080000
34#define BIT20                           0x00100000
35#define BIT21                           0x00200000
36#define BIT22                           0x00400000
37#define BIT23                           0x00800000
38#define BIT24                           0x01000000
39#define BIT25                           0x02000000
40#define BIT26                           0x04000000
41#define BIT27                           0x08000000
42#define BIT28                           0x10000000
43#define BIT29                           0x20000000
44#define BIT30                           0x40000000
45#define BIT31                           0x80000000
47#endif /* __BITS_H__ */
Note: See TracBrowser for help on using the repository browser.