1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# This file defines AMD Features that can be added as EXTRA_IMAGE_FEATURES to
# different machines based on what is supported on a machine (MACHINE_FEATURES)
# and which additional features a user is requesting through EXTRA_IMAGE_FEATURES.
# This gives a broad flexibility and control over packages being installed on a
# machine for any image without needing to create bbappends for all the images
# that are to be supported.
#
# > Each feature can contain packages and packagegroups as its components.
# > Feature components can be dependent on DISTRO, EXTRA_IMAGE_FEATURES, or any
# variable in general other than a particular image's related variable so most
# things should be based on global configs rather than image configs.
# e.g.: Components of "amd-feature-graphics" may be dependent on "graphics" as
# an EXTRA_IMAGE_FEATURE. Some packages may only be included for a specific
# DISTRO. Some packages may only be installed if user allows them in local.conf etc.
# > Each machine must add the requested features to EXTRA_IMAGE_FEATURES in its
# own machine config file regardless of the image being built, if that particular
# feature is not handled in the common fragments.
# > Each machine can also override feature components in its own machine config
# when adding the feature to EXTRA_IMAGE_FEATURES. e.g.: A feature may be added
# to a specific machine with minimal (or extended) packages based on requirement.
#
# Features are classified as:
#
# * amd-misc-pkgs : Intended for Platform Specific Packages, Common Packages to be added to all machines, etc.
# * amd-feature-multimedia : Multimedia packages (it does not depend on graphics because a machine may not have a GUI but could play videos and sounds from console)
# * amd-feature-graphics : Graphics packages
# * amd-feature-networking : Networking packages
# * amd-feature-debug-profile : Debugging and Profiling tools
# * <add more features here> : <feature summary>
GSTREAMER_PKGS ?= " \
${@bb.utils.contains("EXTRA_IMAGE_FEATURES", "graphics", "gstreamer1.0-meta-x11-base", "", d)} \
${@bb.utils.contains("MACHINE_FEATURES", "alsa", "gstreamer1.0-meta-audio", "", d)} \
gstreamer1.0-meta-debug \
gstreamer1.0-meta-video \
${@bb.utils.contains("EXTRA_IMAGE_FEATURES", "graphics", "gstreamer1.0-omx", "", d)} \
${@bb.utils.contains("EXTRA_IMAGE_FEATURES", "graphics", "gstreamer1.0-vaapi", "", d)} \
"
VULKAN_PKGS ?= ""
CODEXL_PKGS ?= ""
DPDK_PKGS ?= ""
# Additional packages can be added to the following feature specific
# variables from each machine's config file
AMD_PLATFORM_SPECIFIC_PKGS ?= ""
AMD_FEATURE_MULTIMEDIA_PKGS ?= ""
AMD_FEATURE_GRAPHICS_PKGS ?= ""
AMD_FEATURE_NETWORKING_PKGS ?= ""
AMD_FEATURE_DEBUG_PROFILE_PKGS ?= ""
FEATURE_PACKAGES_amd-misc-pkgs = "\
bc \
${AMD_PLATFORM_SPECIFIC_PKGS} \
"
FEATURE_PACKAGES_amd-feature-multimedia = "\
${@bb.utils.contains("DISTRO", "mel", "${GSTREAMER_PKGS}", "", d)} \
${AMD_FEATURE_MULTIMEDIA_PKGS} \
"
FEATURE_PACKAGES_amd-feature-graphics = "\
${@bb.utils.contains("INCLUDE_VULKAN", "yes", "${VULKAN_PKGS}", "", d)} \
${AMD_FEATURE_GRAPHICS_PKGS} \
"
FEATURE_PACKAGES_amd-feature-graphics_append_amdgpu = " ${@bb.utils.contains("EXTRA_IMAGE_FEATURES", "graphics", "mesa-demos", "", d)}"
FEATURE_PACKAGES_amd-feature-graphics_append_radeon = " ${@bb.utils.contains("EXTRA_IMAGE_FEATURES", "graphics", "mesa-demos", "", d)}"
FEATURE_PACKAGES_amd-feature-networking = "\
${@bb.utils.contains("DISTRO", "mel", "${DPDK_PKGS} strongswan", "", d)} \
${AMD_FEATURE_NETWORKING_PKGS} \
"
FEATURE_PACKAGES_amd-feature-debug-profile = "\
${@bb.utils.contains("INCLUDE_CODEXL", "yes", "${CODEXL_PKGS}", "", d)} \
${AMD_FEATURE_DEBUG_PROFILE_PKGS} \
"
|