[PATCH rtems-docs] eng: Add ObjectsItem details
Kinsey Moore
kinsey.moore at oarcorp.com
Tue Feb 7 15:52:01 UTC 2023
This adds a section on adding ObjectsItems and some details to the
definition regarding multiple inclusions.
---
eng/build-system.rst | 28 ++++++++++++++++++++++++++++
eng/req/items.rst | 8 ++++++--
2 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/eng/build-system.rst b/eng/build-system.rst
index 6974aa8..22cdd5a 100644
--- a/eng/build-system.rst
+++ b/eng/build-system.rst
@@ -489,3 +489,31 @@ Add a link to the new library item using a relative UID:
links:
- role: build-dependency
uid: libnew
+
+Add an Object
+-------------
+
+Build objects logically separate relatively independent segments of
+functionality (i.e. a device driver, an architecture-dependent feature, etc.).
+Let *new* be the name of the new object. You can add the new object with:
+
+.. code-block:: none
+
+ $ vi spec/build/cpukit/objnew.yml
+
+Define the attributes of your new object according to
+:ref:`SpecTypeBuildObjectsItemType`.
+
+Edit corresponding group item:
+
+.. code-block:: none
+
+ $ vi spec/build/cpukit/grp.yml
+
+Add a link to the new objects item using a relative UID:
+
+.. code-block:: yaml
+
+ links:
+ - role: build-dependency
+ uid: objnew
diff --git a/eng/req/items.rst b/eng/req/items.rst
index e718605..5210b4c 100644
--- a/eng/req/items.rst
+++ b/eng/req/items.rst
@@ -649,8 +649,12 @@ Build Objects Item Type
This type refines the :ref:`SpecTypeBuildItemType` through the ``build-type``
attribute if the value is ``objects``. This set of attributes specifies a set
-of object files used to build static libraries or test programs. All explicit
-attributes shall be specified. The explicit attributes for this type are:
+of object files used to build static libraries or test programs. Objects Items
+must not be included on multiple paths through the build dependency graph with
+identical build options. Violating this can cause race conditions in the build
+system due to duplicate installs and multiple instances of build tasks. All
+explicit attributes shall be specified. The explicit attributes for this type
+are:
cflags
The attribute value shall be a list. Each list element shall be a
--
2.30.2
More information about the devel
mailing list