One supported mechanism to simplify feature set customization for recipes is PACKAGECONFIG. It provides a way to enable and disable the recipe features. For example, say the recipe has the following configuration:
PACKAGECONFIG ?= "feature1"
PACKAGECONFIG[feature1] = "--enable-feature1,--disablefeature1, feature1depends"
PACKAGECONFIG[feature2] = "--enable-feature2,--disablefeature2, feature2depends"
The recipe has two features, feature1 and feature2. For each configuration option, there is a string to define how to enable the feature on autoconf, how to disable the feature on autoconf, and the new dependencies in case the option is enabled.
We can create a .bbappend file that expands the PACKAGECONFIG variable's default value to enable feature2 as well, as shown here:
PACKAGECONFIG += "feature2"...