summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
authorAntonin Godard <antonin.godard@bootlin.com>2025-03-31 17:04:47 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-04-03 16:28:34 +0100
commit91a76d21095389c13f31542dde79d0edd3eedd7b (patch)
treeaeeb7e3a7f2a7b8c0d8d9146de4b032800161cc5 /documentation
parent5ccea18374503ea311cf04461116a1d8c36cd67b (diff)
downloadpoky-91a76d21095389c13f31542dde79d0edd3eedd7b.tar.gz
ref-manual/variables.rst: add missing documentation for BUILD_* variables
These toolchain variables are used in a native context. Some of the BUILD_* variables missed documentation. Also, some of the base commands were also not there so document them. Some of existing BUILD_* variable documentation were missing the note about their usage in a native context, so add it too so that all BUILD_* variables are documented the same way. [YOCTO #15719] Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> (From yocto-docs rev: e42d49218945a030f300dbb608e7cfb0611f5733) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> (cherry picked from commit 87103afa1cb6690e9aaa87ca1f23e45eaaa359ac) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r--documentation/ref-manual/variables.rst250
1 files changed, 230 insertions, 20 deletions
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 97ab215fff..dce812d204 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -995,55 +995,165 @@ system and gives an overview of their function and contents.
995 variable is a useful pointer in case a bug in the software being 995 variable is a useful pointer in case a bug in the software being
996 built needs to be manually reported. 996 built needs to be manually reported.
997 997
998 :term:`BUILD_AR`
999 Specifies the architecture-specific :manpage:`archiver <ar(1)>` for the
1000 build host, and its default definition is derived in part from
1001 :term:`BUILD_PREFIX`::
1002
1003 BUILD_AR = "${BUILD_PREFIX}ar"
1004
1005 When building a :ref:`ref-classes-native` recipe, :term:`AR` is set to the
1006 value of this variable by default.
1007
1008 The :term:`BUILD_AR` variable should not be set manually, and is rarely
1009 used in recipes as :term:`AR` contains the appropriate value depending on
1010 the context (native or target recipes). Exception be made for target
1011 recipes that need to use the :manpage:`archiver <ar(1)>` from the build
1012 host at some point during the build.
1013
998 :term:`BUILD_ARCH` 1014 :term:`BUILD_ARCH`
999 Specifies the architecture of the build host (e.g. ``i686``). The 1015 Specifies the architecture of the build host (e.g. ``i686``). The
1000 OpenEmbedded build system sets the value of :term:`BUILD_ARCH` from the 1016 OpenEmbedded build system sets the value of :term:`BUILD_ARCH` from the
1001 machine name reported by the ``uname`` command. 1017 machine name reported by the ``uname`` command.
1002 1018
1019 :term:`BUILD_AS`
1020 Specifies the architecture-specific :manpage:`assembler <as(1)>` for the
1021 build host, and its default definition is derived in part from
1022 :term:`BUILD_PREFIX`::
1023
1024 BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
1025
1026 When building a :ref:`ref-classes-native` recipe, :term:`AS` is set to the
1027 value of this variable by default.
1028
1029 The :term:`BUILD_AS` variable should not be set manually, and is rarely
1030 used in recipes as :term:`AS` contains the appropriate value depending on
1031 the context (native or target recipes). Exception be made for target
1032 recipes that need to use the :manpage:`assembler <as(1)>` from the build
1033 host at some point during the build.
1034
1003 :term:`BUILD_AS_ARCH` 1035 :term:`BUILD_AS_ARCH`
1004 Specifies the architecture-specific assembler flags for the build 1036 Specifies the architecture-specific assembler flags for the build
1005 host. By default, the value of :term:`BUILD_AS_ARCH` is empty. 1037 host. By default, the value of :term:`BUILD_AS_ARCH` is empty.
1006 1038
1039 :term:`BUILD_CC`
1040 Specifies the architecture-specific C compiler for the build host,
1041 and its default definition is derived in part from :term:`BUILD_PREFIX`
1042 and :term:`BUILD_CC_ARCH`::
1043
1044 BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
1045
1046 When building a :ref:`ref-classes-native` recipe, :term:`CC` is set to the
1047 value of this variable by default.
1048
1049 The :term:`BUILD_CC` variable should not be set manually, and is rarely
1050 used in recipes as :term:`CC` contains the appropriate value depending on
1051 the context (native or target recipes). Exception be made for target
1052 recipes that need to use the compiler from the build host at some point
1053 during the build.
1054
1007 :term:`BUILD_CC_ARCH` 1055 :term:`BUILD_CC_ARCH`
1008 Specifies the architecture-specific C compiler flags for the build 1056 Specifies the architecture-specific C compiler flags for the build
1009 host. By default, the value of :term:`BUILD_CC_ARCH` is empty. 1057 host. By default, the value of :term:`BUILD_CC_ARCH` is empty.
1010 1058
1011 :term:`BUILD_CCLD` 1059 :term:`BUILD_CCLD`
1012 Specifies the linker command to be used for the build host when the C 1060 Specifies the :manpage:`linker <ld(1)>` command to be used for the build
1013 compiler is being used as the linker. By default, :term:`BUILD_CCLD` 1061 host when the C compiler is being used as the linker, and its default
1014 points to GCC and passes as arguments the value of 1062 definition is derived in part from :term:`BUILD_PREFIX` and
1015 :term:`BUILD_CC_ARCH`, assuming 1063 :term:`BUILD_CC_ARCH`::
1016 :term:`BUILD_CC_ARCH` is set. 1064
1065 BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
1066
1067 When building a :ref:`ref-classes-native` recipe, :term:`CCLD` is set to
1068 the value of this variable by default.
1069
1070 The :term:`BUILD_CCLD` variable should not be set manually, and is rarely
1071 used in recipes as :term:`CCLD` contains the appropriate value depending on
1072 the context (native or target recipes). Exception be made for target
1073 recipes that need to use the :manpage:`linker <ld(1)>` from the build host
1074 at some point during the build.
1017 1075
1018 :term:`BUILD_CFLAGS` 1076 :term:`BUILD_CFLAGS`
1019 Specifies the flags to pass to the C compiler when building for the 1077 Specifies the flags to pass to the C compiler when building for the
1020 build host. When building in the ``-native`` context, 1078 build host. When building a :ref:`ref-classes-native` recipe,
1021 :term:`CFLAGS` is set to the value of this variable by 1079 :term:`CFLAGS` is set to the value of this variable by
1022 default. 1080 default.
1023 1081
1082 :term:`BUILD_CPP`
1083 Specifies the C preprocessor command (to both the C and the C++ compilers)
1084 when building for the build host, and its default definition is derived in
1085 part from :term:`BUILD_PREFIX` and :term:`BUILD_CC_ARCH`::
1086
1087 BUILD_CPP = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} -E"
1088
1089 When building a :ref:`ref-classes-native` recipe, :term:`CPP` is set to
1090 the value of this variable by default.
1091
1092 The :term:`BUILD_CPP` variable should not be set manually, and is rarely
1093 used in recipes as :term:`CPP` contains the appropriate value depending on
1094 the context (native or target recipes). Exception be made for target
1095 recipes that need to use the preprocessor from the build host at some
1096 point during the build.
1097
1024 :term:`BUILD_CPPFLAGS` 1098 :term:`BUILD_CPPFLAGS`
1025 Specifies the flags to pass to the C preprocessor (i.e. to both the C 1099 Specifies the flags to pass to the C preprocessor (i.e. to both the C
1026 and the C++ compilers) when building for the build host. When 1100 and the C++ compilers) when building for the build host. When
1027 building in the ``-native`` context, :term:`CPPFLAGS` 1101 building in the ``-native`` context, :term:`CPPFLAGS`
1028 is set to the value of this variable by default. 1102 is set to the value of this variable by default.
1029 1103
1104 :term:`BUILD_CXX`
1105 Specifies the architecture-specific C++ compiler for the build host,
1106 and its default definition is derived in part from :term:`BUILD_PREFIX`
1107 and :term:`BUILD_CC_ARCH`::
1108
1109 BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
1110
1111 When building a :ref:`ref-classes-native` recipe, :term:`CXX` is set to
1112 the value of this variable by default.
1113
1114 The :term:`BUILD_CXX` variable should not be set manually, and is rarely
1115 used in recipes as :term:`CXX` contains the appropriate value depending on
1116 the context (native or target recipes). Exception be made for target
1117 recipes that need to use the C++ compiler from the build host at some
1118 point during the build.
1119
1030 :term:`BUILD_CXXFLAGS` 1120 :term:`BUILD_CXXFLAGS`
1031 Specifies the flags to pass to the C++ compiler when building for the 1121 Specifies the flags to pass to the C++ compiler when building for the
1032 build host. When building in the ``-native`` context, 1122 build host. When building a :ref:`ref-classes-native` recipe,
1033 :term:`CXXFLAGS` is set to the value of this variable 1123 :term:`CXXFLAGS` is set to the value of this variable
1034 by default. 1124 by default.
1035 1125
1036 :term:`BUILD_FC` 1126 :term:`BUILD_FC`
1037 Specifies the Fortran compiler command for the build host. By 1127 Specifies the Fortran compiler command for the build host, and its default
1038 default, :term:`BUILD_FC` points to Gfortran and passes as arguments the 1128 definition is derived in part from :term:`BUILD_PREFIX` and
1039 value of :term:`BUILD_CC_ARCH`, assuming 1129 :term:`BUILD_CC_ARCH`::
1040 :term:`BUILD_CC_ARCH` is set. 1130
1131 BUILD_FC = "${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
1132
1133 When building a :ref:`ref-classes-native` recipe, :term:`FC` is set to the
1134 value of this variable by default.
1135
1136 The :term:`BUILD_FC` variable should not be set manually, and is rarely
1137 used in recipes as :term:`FC` contains the appropriate value depending on
1138 the context (native or target recipes). Exception be made for target
1139 recipes that need to use the Fortran compiler from the build host at some
1140 point during the build.
1041 1141
1042 :term:`BUILD_LD` 1142 :term:`BUILD_LD`
1043 Specifies the linker command for the build host. By default, 1143 Specifies the linker command for the build host, and its default
1044 :term:`BUILD_LD` points to the GNU linker (ld) and passes as arguments 1144 definition is derived in part from :term:`BUILD_PREFIX` and
1045 the value of :term:`BUILD_LD_ARCH`, assuming 1145 :term:`BUILD_LD_ARCH`::
1046 :term:`BUILD_LD_ARCH` is set. 1146
1147 BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
1148
1149 When building a :ref:`ref-classes-native` recipe, :term:`LD` is set to the
1150 value of this variable by default.
1151
1152 The :term:`BUILD_LD` variable should not be set manually, and is rarely
1153 used in recipes as :term:`LD` contains the appropriate value depending on
1154 the context (native or target recipes). Exception be made for target
1155 recipes that need to use the linker from the build host at some point
1156 during the build.
1047 1157
1048 :term:`BUILD_LD_ARCH` 1158 :term:`BUILD_LD_ARCH`
1049 Specifies architecture-specific linker flags for the build host. By 1159 Specifies architecture-specific linker flags for the build host. By
@@ -1051,10 +1161,58 @@ system and gives an overview of their function and contents.
1051 1161
1052 :term:`BUILD_LDFLAGS` 1162 :term:`BUILD_LDFLAGS`
1053 Specifies the flags to pass to the linker when building for the build 1163 Specifies the flags to pass to the linker when building for the build
1054 host. When building in the ``-native`` context, 1164 host. When building a :ref:`ref-classes-native` recipe,
1055 :term:`LDFLAGS` is set to the value of this variable 1165 :term:`LDFLAGS` is set to the value of this variable
1056 by default. 1166 by default.
1057 1167
1168 :term:`BUILD_NM`
1169 Specifies the architecture-specific utility to list symbols from object
1170 files for the build host, and its default definition is derived in part
1171 from :term:`BUILD_PREFIX`::
1172
1173 BUILD_NM = "${BUILD_PREFIX}nm"
1174
1175 When building a :ref:`ref-classes-native` recipe, :term:`NM` is set to the
1176 value of this variable by default.
1177
1178 The :term:`BUILD_NM` variable should not be set manually, and is rarely
1179 used in recipes as :term:`NM` contains the appropriate value depending on
1180 the context (native or target recipes). Exception be made for target
1181 recipes that need to use the utility from the build host at some point
1182 during the build.
1183
1184 :term:`BUILD_OBJCOPY`
1185 Specifies the architecture-specific utility to copy object files for the
1186 build host, and its default definition is derived in part from
1187 :term:`BUILD_PREFIX`::
1188
1189 BUILD_OBJCOPY = "${BUILD_PREFIX}objcopy"
1190
1191 When building a :ref:`ref-classes-native` recipe, :term:`OBJCOPY` is set
1192 to the value of this variable by default.
1193
1194 The :term:`BUILD_OBJCOPY` variable should not be set manually, and is
1195 rarely used in recipes as :term:`OBJCOPY` contains the appropriate value
1196 depending on the context (native or target recipes). Exception be made for
1197 target recipes that need to use the utility from the build host at some
1198 point during the build.
1199
1200 :term:`BUILD_OBJDUMP`
1201 Specifies the architecture-specific utility to display object files
1202 information for the build host, and its default definition is derived in
1203 part from :term:`BUILD_PREFIX`::
1204
1205 BUILD_OBJDUMP = "${BUILD_PREFIX}objdump"
1206
1207 When building a :ref:`ref-classes-native` recipe, :term:`OBJDUMP` is set
1208 to the value of this variable by default.
1209
1210 The :term:`BUILD_OBJDUMP` variable should not be set manually, and is
1211 rarely used in recipes as :term:`OBJDUMP` contains the appropriate value
1212 depending on the context (native or target recipes). Exception be made for
1213 target recipes that need to use the utility from the build host at some
1214 point during the build.
1215
1058 :term:`BUILD_OPTIMIZATION` 1216 :term:`BUILD_OPTIMIZATION`
1059 Specifies the optimization flags passed to the C compiler when 1217 Specifies the optimization flags passed to the C compiler when
1060 building for the build host or the SDK. The flags are passed through 1218 building for the build host or the SDK. The flags are passed through
@@ -1075,11 +1233,53 @@ system and gives an overview of their function and contents.
1075 build system uses the :term:`BUILD_PREFIX` value to set the 1233 build system uses the :term:`BUILD_PREFIX` value to set the
1076 :term:`TARGET_PREFIX` when building for :ref:`ref-classes-native` recipes. 1234 :term:`TARGET_PREFIX` when building for :ref:`ref-classes-native` recipes.
1077 1235
1236 :term:`BUILD_RANLIB`
1237 Specifies the architecture-specific utility to generate indexes for
1238 archives for the build host, and its default definition is derived in part
1239 from :term:`BUILD_PREFIX`::
1240
1241 BUILD_RANLIB = "${BUILD_PREFIX}ranlib -D"
1242
1243 When building a :ref:`ref-classes-native` recipe, :term:`RANLIB` is set to
1244 the value of this variable by default.
1245
1246 The :term:`BUILD_RANLIB` variable should not be set manually, and is
1247 rarely used in recipes as :term:`RANLIB` contains the appropriate value
1248 depending on the context (native or target recipes). Exception be made for
1249 target recipes that need to use the utility from the build host at some
1250 point during the build.
1251
1252 :term:`BUILD_READELF`
1253 Specifies the architecture-specific utility to display information about
1254 ELF files for the build host, and its default definition is derived in
1255 part from :term:`BUILD_PREFIX`::
1256
1257 BUILD_READELF = "${BUILD_PREFIX}readelf"
1258
1259 When building a :ref:`ref-classes-native` recipe, :term:`READELF` is set
1260 to the value of this variable by default.
1261
1262 The :term:`BUILD_READELF` variable should not be set manually, and is
1263 rarely used in recipes as :term:`READELF` contains the appropriate value
1264 depending on the context (native or target recipes). Exception be made for
1265 target recipes that need to use the utility from the build host at some
1266 point during the build.
1267
1078 :term:`BUILD_STRIP` 1268 :term:`BUILD_STRIP`
1079 Specifies the command to be used to strip debugging symbols from 1269 Specifies the command to be used to strip debugging symbols from binaries
1080 binaries produced for the build host. By default, :term:`BUILD_STRIP` 1270 produced for the build host, and its default definition is derived in part
1081 points to 1271 from :term:`BUILD_PREFIX`::
1082 ``${``\ :term:`BUILD_PREFIX`\ ``}strip``. 1272
1273 BUILD_STRIP = "${BUILD_PREFIX}strip"
1274
1275 When building a :ref:`ref-classes-native` recipe, :term:`STRIP` is set to
1276 the value of this variable by default.
1277
1278 The :term:`BUILD_STRIP` variable should not be set manually, and is
1279 rarely used in recipes as :term:`STRIP` contains the appropriate value
1280 depending on the context (native or target recipes). Exception be made for
1281 target recipes that need to use the utility from the build host at some
1282 point during the build.
1083 1283
1084 :term:`BUILD_SYS` 1284 :term:`BUILD_SYS`
1085 Specifies the system, including the architecture and the operating 1285 Specifies the system, including the architecture and the operating
@@ -1284,6 +1484,10 @@ system and gives an overview of their function and contents.
1284 :term:`CC` 1484 :term:`CC`
1285 The minimal command and arguments used to run the C compiler. 1485 The minimal command and arguments used to run the C compiler.
1286 1486
1487 :term:`CCLD`
1488 The minimal command and arguments used to run the linker when the C
1489 compiler is being used as the linker.
1490
1287 :term:`CFLAGS` 1491 :term:`CFLAGS`
1288 Specifies the flags to pass to the C compiler. This variable is 1492 Specifies the flags to pass to the C compiler. This variable is
1289 exported to an environment variable and thus made visible to the 1493 exported to an environment variable and thus made visible to the
@@ -2839,6 +3043,9 @@ system and gives an overview of their function and contents.
2839 :term:`FAKEROOTNOENV` 3043 :term:`FAKEROOTNOENV`
2840 See :term:`bitbake:FAKEROOTNOENV` in the BitBake manual. 3044 See :term:`bitbake:FAKEROOTNOENV` in the BitBake manual.
2841 3045
3046 :term:`FC`
3047 The minimal command and arguments used to run the Fortran compiler.
3048
2842 :term:`FEATURE_PACKAGES` 3049 :term:`FEATURE_PACKAGES`
2843 Defines one or more packages to include in an image when a specific 3050 Defines one or more packages to include in an image when a specific
2844 item is included in :term:`IMAGE_FEATURES`. 3051 item is included in :term:`IMAGE_FEATURES`.
@@ -7368,6 +7575,9 @@ system and gives an overview of their function and contents.
7368 ":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the 7575 ":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the
7369 BitBake User Manual for additional information on tasks and dependencies. 7576 BitBake User Manual for additional information on tasks and dependencies.
7370 7577
7578 :term:`READELF`
7579 The minimal command and arguments to run :manpage:`readelf <readelf(1)>`.
7580
7371 :term:`RECIPE_MAINTAINER` 7581 :term:`RECIPE_MAINTAINER`
7372 This variable defines the name and e-mail address of the maintainer of a 7582 This variable defines the name and e-mail address of the maintainer of a
7373 recipe. Such information can be used by human users submitted changes, 7583 recipe. Such information can be used by human users submitted changes,