summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include/rtems/rtems/attr.h
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-12-23 18:18:56 +1100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-01-25 08:45:26 +0100
commit2afb22b7e1ebcbe40373ff7e0efae7d207c655a9 (patch)
tree44759efe9374f13200a97e96d91bd9a2b7e5ce2a /cpukit/rtems/include/rtems/rtems/attr.h
parentMAINTAINERS: Add myself to Write After Approval. (diff)
downloadrtems-2afb22b7e1ebcbe40373ff7e0efae7d207c655a9.tar.bz2
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.
Diffstat (limited to 'cpukit/rtems/include/rtems/rtems/attr.h')
-rw-r--r--cpukit/rtems/include/rtems/rtems/attr.h191
1 files changed, 0 insertions, 191 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/attr.h b/cpukit/rtems/include/rtems/rtems/attr.h
deleted file mode 100644
index 7e8fa4818a..0000000000
--- a/cpukit/rtems/include/rtems/rtems/attr.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/**
- * @file rtems/rtems/attr.h
- *
- * @defgroup ClassicAttributes Attributes
- *
- * @ingroup ClassicRTEMS
- * @brief Object Attributes Handler
- *
- * This include file contains all information about the Object Attributes
- * Handler.
- */
-
-/* COPYRIGHT (c) 1989-2008.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_RTEMS_ATTR_H
-#define _RTEMS_RTEMS_ATTR_H
-
-#include <rtems/score/basedefs.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup ClassicAttributes Attributes
- *
- * @ingroup ClassicRTEMS
- *
- * This encapsulates functionality which defines and manages the
- * set of Classic API object attributes.
- */
-/**@{*/
-
-/**
- * This defines the type used to contain Classic API attributes. These
- * are primarily used when creating objects.
- */
-typedef uint32_t rtems_attribute;
-
-/** This is the default value for an attribute set. */
-
-#define RTEMS_DEFAULT_ATTRIBUTES 0x00000000
-
-/**
- * This is the attribute constant to indicate local resource.
- */
-#define RTEMS_LOCAL 0x00000000
-
-/**
- * This is the attribute constant to indicate global resource.
- */
-#define RTEMS_GLOBAL 0x00000002
-
-/**
- * This is the attribute constant which reflects that blocking
- * tasks will be managed using FIFO discipline.
- */
-#define RTEMS_FIFO 0x00000000
-
-/**
- * This is the attribute constant which reflects that blocking
- * tasks will be managed using task priority discipline.
- */
-#define RTEMS_PRIORITY 0x00000004
-
-/******************** RTEMS Task Specific Attributes *********************/
-
-/**
- * This attribute constant indicates that the task will not use the
- * floating point hardware. If the architecture permits it, then
- * the FPU will be disabled when the task is executing.
- */
-#define RTEMS_NO_FLOATING_POINT 0x00000000
-
-/**
- * This attribute constant indicates that the task will use the
- * floating point hardware. There will be a floating point
- * context associated with this task.
- */
-#define RTEMS_FLOATING_POINT 0x00000001
-
-/***************** RTEMS Semaphore Specific Attributes ********************/
-
-/**
- * This is the mask for the attribute bits associated with the
- * Classic API Semaphore Manager.
- */
-#define RTEMS_SEMAPHORE_CLASS 0x00000030
-
-/**
- * This attribute constant indicates that the Classic API Semaphore
- * instance created will be a counting semaphore.
- */
-#define RTEMS_COUNTING_SEMAPHORE 0x00000000
-
-/**
- * This attribute constant indicates that the Classic API Semaphore
- * instance created will be a proper binary semaphore or mutex.
- */
-#define RTEMS_BINARY_SEMAPHORE 0x00000010
-
-/**
- * This attribute constant indicates that the Classic API Semaphore
- * instance created will be a simple binary semaphore.
- */
-#define RTEMS_SIMPLE_BINARY_SEMAPHORE 0x00000020
-
-/**
- * This attribute constant indicates that the Classic API Semaphore
- * instance created will NOT use the Priority Inheritance Protocol.
- */
-#define RTEMS_NO_INHERIT_PRIORITY 0x00000000
-
-/**
- * This attribute constant indicates that the Classic API Semaphore
- * instance created will use the Priority Inheritance Protocol.
- *
- * @note The semaphore instance must be a binary semaphore.
- */
-#define RTEMS_INHERIT_PRIORITY 0x00000040
-
-/**
- * This attribute constant indicates that the Classic API Semaphore
- * instance created will NOT use the Priority Ceiling Protocol.
- */
-#define RTEMS_NO_PRIORITY_CEILING 0x00000000
-
-/**
- * This attribute constant indicates that the Classic API Semaphore
- * instance created will use the Priority Ceiling Protocol.
- *
- * @note The semaphore instance must be a binary semaphore.
- */
-#define RTEMS_PRIORITY_CEILING 0x00000080
-
-/**
- * This attribute constant indicates that the Classic API Semaphore instance
- * created will NOT use the Multiprocessor Resource Sharing Protocol.
- */
-#define RTEMS_NO_MULTIPROCESSOR_RESOURCE_SHARING 0x00000000
-
-/**
- * This attribute constant indicates that the Classic API Semaphore instance
- * created will use the Multiprocessor Resource Sharing Protocol.
- *
- * @note The semaphore instance must be a binary semaphore.
- */
-#define RTEMS_MULTIPROCESSOR_RESOURCE_SHARING 0x00000100
-
-/******************** RTEMS Barrier Specific Attributes ********************/
-
-/**
- * This attribute constant indicates that the Classic API Barrier
- * instance created will use an automatic release protocol.
- */
-#define RTEMS_BARRIER_AUTOMATIC_RELEASE 0x00000010
-
-/**
- * This attribute constant indicates that the Classic API Barrier
- * instance created will use the manual release protocol.
- */
-#define RTEMS_BARRIER_MANUAL_RELEASE 0x00000000
-
-/**************** RTEMS Internal Task Specific Attributes ****************/
-
-/**
- * This attribute constant indicates that the task was created
- * by the application using normal Classic API methods.
- */
-#define RTEMS_APPLICATION_TASK 0x00000000
-
-/**
- * This attribute constant indicates that the task was created
- * by RTEMS as a support task.
- */
-#define RTEMS_SYSTEM_TASK 0x00008000
-
-/**@}*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-/* end of include file */