commit: d25e172b16fa3c59f6868dc164bc6dcc801c4fc2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Sun Dec 29 07:59:28 2019 +0000 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> CommitDate: Wed Jan 29 07:58:26 2020 +0000 URL: https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=d25e172b
general-concepts/dependencies: Document BDEPEND Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> general-concepts/dependencies/text.xml | 48 ++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/general-concepts/dependencies/text.xml b/general-concepts/dependencies/text.xml index 32feff1..8deca1f 100644 --- a/general-concepts/dependencies/text.xml +++ b/general-concepts/dependencies/text.xml @@ -11,17 +11,61 @@ provided by <c>emerge</c>. </p> </body> +<section> +<title>CHOST vs CBUILD</title> +<body> + +<p> +In order to avoid ambiguity, we use the following terms to indicate different +systems when cross-compiling: +</p> + +<dl> + <dt>CBUILD</dt> + <dd> + The system on which the build is performed. Dependencies that apply + to the CBUILD system can be executed during build time. When + cross-compiling, they are not installed into the system being built. + </dd> + + <dt>CHOST</dt> + <dd> + The system on which the package is going to be executed. When + cross-compiling, dependencies applying to CHOST can not be executed. + </dd> +</dl> + +<p> +When not cross-compiling, CBUILD and CHOST have the same value and both classes +of dependencies are merged. +</p> + +</body> +</section> + <section> <title>Build Dependencies</title> <body> <p> -The <c>DEPEND</c> ebuild variable should specify any dependencies which are -required to unpack, patch, compile or install the package (but see +Build dependencies are used to specify any dependencies that are required +to unpack, patch, compile, test or install the package (but see <uri link="::general-concepts/dependencies#Implicit System Dependency"/> for exemptions). </p> +<p> +Starting with EAPI 7, build dependencies are split into two variables: +<c>BDEPEND</c> and <c>DEPEND</c>. <c>BDEPEND</c> specifies dependencies +applicable to CBUILD, i.e. programs that need to be executed during the build, +e.g. <c>virtual/pkgconfig</c>. <c>DEPEND</c> specifies dependencies for CHOST, +i.e. packages that need to be found on built system, e.g. libraries and headers. +</p> + +<p> +In earlier EAPIs, all build dependencies are placed in <c>DEPEND</c>. +</p> + </body> </section>
