summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/technical-details.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/ref-manual/technical-details.xml')
-rw-r--r--documentation/ref-manual/technical-details.xml45
1 files changed, 40 insertions, 5 deletions
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml
index 558af87d91..9bb09fb948 100644
--- a/documentation/ref-manual/technical-details.xml
+++ b/documentation/ref-manual/technical-details.xml
@@ -984,12 +984,14 @@
984 984
985 <para> 985 <para>
986 The OpenEmbedded build system automatically adds common types of 986 The OpenEmbedded build system automatically adds common types of
987 runtime dependencies between packages, which means you do not need to 987 runtime dependencies between packages, which means that you do not
988 explicitly declare the packages using 988 need to explicitly declare the packages using
989 <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>. 989 <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>.
990 Two automatic mechanisms exist (<filename>shlibdeps</filename> and 990 Three automatic mechanisms exist (<filename>shlibdeps</filename>,
991 <filename>pcdeps</filename>) that handle shared libraries and 991 <filename>pcdeps</filename>, and <filename>depchains</filename>) that
992 package configuration (pkg-config) modules, respectively. 992 handle shared libraries, package configuration (pkg-config) modules,
993 and <filename>-dev</filename> and <filename>-dbg</filename> packages,
994 respectively.
993 For other types of runtime dependencies, you must manually declare 995 For other types of runtime dependencies, you must manually declare
994 the dependencies. 996 the dependencies.
995 <itemizedlist> 997 <itemizedlist>
@@ -1071,6 +1073,39 @@
1071 dependencies between <filename>-dev</filename> packages. 1073 dependencies between <filename>-dev</filename> packages.
1072 </note> 1074 </note>
1073 </para></listitem> 1075 </para></listitem>
1076 <listitem><para>
1077 <filename>depchains</filename>:
1078 If a package <filename>foo</filename> depends on a package
1079 <filename>bar</filename>, then <filename>foo-dev</filename>
1080 and <filename>foo-dbg</filename> are also made to depend on
1081 <filename>bar-dev</filename> and <filename>bar-dbg</filename>,
1082 respectively.
1083 Taking the <filename>-dev</filename> packages as an example,
1084 the <filename>bar-dev</filename> package might provide
1085 headers and shared library symlinks needed by
1086 <filename>foo-dev</filename>, which shows the need
1087 for a dependency between the packages.</para>
1088
1089 <para>The dependencies added by <filename>depchains</filename>
1090 are in the form of
1091 <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>.
1092 <note>
1093 By default, <filename>foo-dev</filename> also has an
1094 <filename>RDEPENDS</filename>-style dependency on
1095 <filename>foo</filename>, because the default value of
1096 <filename>RDEPENDS_${PN}-dev</filename> (set in
1097 <filename>bitbake.conf</filename>) includes
1098 "${PN}".
1099 </note></para>
1100
1101 <para>To ensure that the dependency chain is never broken,
1102 <filename>-dev</filename> and <filename>-dbg</filename>
1103 packages are always generated by default, even if the packages
1104 turn out to be empty.
1105 See the
1106 <link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>
1107 variable for more information.
1108 </para></listitem>
1074 </itemizedlist> 1109 </itemizedlist>
1075 </para> 1110 </para>
1076 1111