diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
index b3e7dd8d9e..862a6bddfe 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
@@ -652,6 +652,51 @@
after the "inherit" statement.
+
+
+ If necessary, it is possible to inherit a class
+ conditionally by using
+ a variable expression after the inherit
+ statement.
+ Here is an example:
+
+ inherit ${VARNAME}
+
+ If VARNAME is going to be set, it needs
+ to be set before the inherit statement
+ is parsed.
+ One way to achieve a conditional inherit in this case is to use
+ overrides:
+
+ VARIABLE = ""
+ VARIABLE_someoverride = "myclass"
+
+
+
+
+ Another method is by using anonymous Python.
+ Here is an example:
+
+ python () {
+ if condition == value:
+ d.setVar('VARIABLE', 'myclass')
+ else:
+ d.setVar('VARIABLE', '')
+ }
+
+
+
+
+ Alternatively, you could use an in-line Python expression
+ in the following form:
+
+ inherit ${@'classname' if condition else ''}
+ inherit ${@functionname(params)}
+
+ In all cases, if the expression evaluates to an empty
+ string, the statement does not trigger a syntax error
+ because it becomes a no-op.
+