summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/ref-manual/ref-variables.xml78
1 files changed, 66 insertions, 12 deletions
diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml
index b3a9f8577c..0dcef35704 100644
--- a/documentation/ref-manual/ref-variables.xml
+++ b/documentation/ref-manual/ref-variables.xml
@@ -3774,20 +3774,29 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
3774 <para> 3774 <para>
3775 This variable provides a means of enabling or disabling 3775 This variable provides a means of enabling or disabling
3776 features of a recipe on a per-recipe basis. 3776 features of a recipe on a per-recipe basis.
3777 <filename>PACKAGECONFIG</filename> blocks are defined
3778 in recipes when you specify features and then arguments
3779 that define feature behaviors.
3780 Here is the basic block structure:
3781 <literallayout class='monospaced'>
3782 PACKAGECONFIG ??= "f1 f2 f3 ..."
3783 PACKAGECONFIG[f1] = "--with-f1,--without-f1,build-deps-f1,rt-deps-f1"
3784 PACKAGECONFIG[f2] = "--with-f2,--without-f2,build-deps-f2,rt-deps-f2"
3785 PACKAGECONFIG[f3] = "--with-f3,--without-f3,build-deps-f3,rt-deps-f3"
3786 </literallayout>
3777 The <filename>PACKAGECONFIG</filename> 3787 The <filename>PACKAGECONFIG</filename>
3778 variable itself specifies a space-separated list of the 3788 variable itself specifies a space-separated list of the
3779 features to enable. 3789 features to enable.
3780 The features themselves are specified as flags on the 3790 Following the features, you can determine the behavior of
3781 <filename>PACKAGECONFIG</filename> variable. 3791 each feature by providing up to four order-dependent
3782 You can provide up to four arguments, which are separated by 3792 arguments, which are separated by commas.
3783 commas, to determine the behavior of each feature
3784 when it is enabled or disabled.
3785 You can omit any argument you like but must retain the 3793 You can omit any argument you like but must retain the
3786 separating commas. 3794 separating commas.
3787 The arguments specify the following: 3795 The order is important and specifies the following:
3788 <orderedlist> 3796 <orderedlist>
3789 <listitem><para>Extra arguments 3797 <listitem><para>Extra arguments
3790 that should be added to the configure script argument list 3798 that should be added to the configure script
3799 argument list
3791 (<link linkend='var-EXTRA_OECONF'><filename>EXTRA_OECONF</filename></link>) 3800 (<link linkend='var-EXTRA_OECONF'><filename>EXTRA_OECONF</filename></link>)
3792 if the feature is enabled.</para></listitem> 3801 if the feature is enabled.</para></listitem>
3793 <listitem><para>Extra arguments 3802 <listitem><para>Extra arguments
@@ -3806,14 +3815,16 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
3806 </para> 3815 </para>
3807 3816
3808 <para> 3817 <para>
3809 Consider the following example taken from the 3818 Consider the following
3819 <filename>PACKAGECONFIG</filename> block taken from the
3810 <filename>librsvg</filename> recipe. 3820 <filename>librsvg</filename> recipe.
3811 In this example the feature is <filename>croco</filename>, which 3821 In this example the feature is <filename>croco</filename>,
3812 has three arguments that determine the feature's behavior. 3822 which has three arguments that determine the feature's
3813 <literallayout class='monospaced'> 3823 behavior.
3824 <literallayout class='monospaced'>
3814 PACKAGECONFIG ??= "croco" 3825 PACKAGECONFIG ??= "croco"
3815 PACKAGECONFIG[croco] = "--with-croco,--without-croco,libcroco" 3826 PACKAGECONFIG[croco] = "--with-croco,--without-croco,libcroco"
3816 </literallayout> 3827 </literallayout>
3817 The <filename>--with-croco</filename> and 3828 The <filename>--with-croco</filename> and
3818 <filename>libcroco</filename> arguments apply only if 3829 <filename>libcroco</filename> arguments apply only if
3819 the feature is enabled. 3830 the feature is enabled.
@@ -3827,6 +3838,49 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
3827 added to the configure script rather than 3838 added to the configure script rather than
3828 <filename>--with-croco</filename>. 3839 <filename>--with-croco</filename>.
3829 </para> 3840 </para>
3841
3842 <para>
3843 The basic <filename>PACKAGECONFIG</filename> structure
3844 previously described holds true regardless of whether you
3845 are creating a block or changing a block.
3846 When creating a block, use the structure inside your
3847 recipe.
3848 </para>
3849
3850 <para>
3851 If you want to change an existing
3852 <filename>PACKAGECONFIG</filename> block, you can do so
3853 one of two ways:
3854 <itemizedlist>
3855 <listitem><para><emphasis>Append file:</emphasis>
3856 Create an append file named
3857 <filename>&lt;recipename&gt;.bbappend</filename> in your
3858 layer and override the value of
3859 <filename>PACKAGECONFIG</filename>.
3860 You can either completely override the variable:
3861 <literallayout class='monospaced'>
3862 PACKAGECONFIG="f4 f5"
3863 </literallayout>
3864 Or, you can just amended the variable:
3865 <literallayout class='monospaced'>
3866 PACKAGECONFIG_append = " f4"
3867 </literallayout></para></listitem>
3868 <listitem><para><emphasis>Configuration file:</emphasis>
3869 This method is identical to changing the block
3870 through an append file except you edit your
3871 <filename>local.conf</filename> or
3872 <filename>&lt;mydistro&gt;.conf</filename> file.
3873 As with append files previously described,
3874 you can either completely override the variable:
3875 <literallayout class='monospaced'>
3876 PACKAGECONFIG_pn-&lt;recipename&gt;="f4 f5"
3877 </literallayout>
3878 Or, you can just amended the variable:
3879 <literallayout class='monospaced'>
3880 PACKAGECONFIG_append_pn-&lt;recipename&gt; = " f4"
3881 </literallayout></para></listitem>
3882 </itemizedlist>
3883 </para>
3830 </glossdef> 3884 </glossdef>
3831 </glossentry> 3885 </glossentry>
3832 3886