diff options
-rw-r--r-- | documentation/ref-manual/ref-variables.xml | 78 |
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><recipename>.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><mydistro>.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-<recipename>="f4 f5" | ||
3877 | </literallayout> | ||
3878 | Or, you can just amended the variable: | ||
3879 | <literallayout class='monospaced'> | ||
3880 | PACKAGECONFIG_append_pn-<recipename> = " f4" | ||
3881 | </literallayout></para></listitem> | ||
3882 | </itemizedlist> | ||
3883 | </para> | ||
3830 | </glossdef> | 3884 | </glossdef> |
3831 | </glossentry> | 3885 | </glossentry> |
3832 | 3886 | ||