summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2023-02-07 16:02:47 -0600
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-02-09 08:52:36 +0100
commitcb375249c59bf7542c4115668dcfbcd7d50d41de (patch)
treef52273a69161b447342bdecac64cbfe26b8fee3b
parentuser/hosts/posix.rst: Update Ubuntu instructions to 22.x (diff)
downloadrtems-docs-cb375249c59bf7542c4115668dcfbcd7d50d41de.tar.bz2
eng: Add ObjectsItem details
This adds a section on adding ObjectsItems.
-rw-r--r--eng/build-system.rst29
-rw-r--r--eng/req/items.rst8
2 files changed, 35 insertions, 2 deletions
diff --git a/eng/build-system.rst b/eng/build-system.rst
index 6974aa8..89d27b2 100644
--- a/eng/build-system.rst
+++ b/eng/build-system.rst
@@ -489,3 +489,32 @@ 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 (for example 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 19e8726..35cde23 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