From 45533863966ee6e6776c033381800f649425fb6c Mon Sep 17 00:00:00 2001 From: Antonin Godard Date: Mon, 31 Mar 2025 17:04:47 +0200 Subject: 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 (From yocto-docs rev: f16a641086a7c3546b599a5996c4f7a6db04967e) Signed-off-by: Antonin Godard (cherry picked from commit 87103afa1cb6690e9aaa87ca1f23e45eaaa359ac) Signed-off-by: Antonin Godard Signed-off-by: Richard Purdie --- documentation/ref-manual/variables.rst | 250 ++++++++++++++++++++++++++++++--- 1 file changed, 230 insertions(+), 20 deletions(-) (limited to 'documentation') diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index ab41482988..02a4d7b8fd 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst @@ -978,55 +978,165 @@ system and gives an overview of their function and contents. variable is a useful pointer in case a bug in the software being built needs to be manually reported. + :term:`BUILD_AR` + Specifies the architecture-specific :manpage:`archiver ` for the + build host, and its default definition is derived in part from + :term:`BUILD_PREFIX`:: + + BUILD_AR = "${BUILD_PREFIX}ar" + + When building a :ref:`ref-classes-native` recipe, :term:`AR` is set to the + value of this variable by default. + + The :term:`BUILD_AR` variable should not be set manually, and is rarely + used in recipes as :term:`AR` contains the appropriate value depending on + the context (native or target recipes). Exception be made for target + recipes that need to use the :manpage:`archiver ` from the build + host at some point during the build. + :term:`BUILD_ARCH` Specifies the architecture of the build host (e.g. ``i686``). The OpenEmbedded build system sets the value of :term:`BUILD_ARCH` from the machine name reported by the ``uname`` command. + :term:`BUILD_AS` + Specifies the architecture-specific :manpage:`assembler ` for the + build host, and its default definition is derived in part from + :term:`BUILD_PREFIX`:: + + BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}" + + When building a :ref:`ref-classes-native` recipe, :term:`AS` is set to the + value of this variable by default. + + The :term:`BUILD_AS` variable should not be set manually, and is rarely + used in recipes as :term:`AS` contains the appropriate value depending on + the context (native or target recipes). Exception be made for target + recipes that need to use the :manpage:`assembler ` from the build + host at some point during the build. + :term:`BUILD_AS_ARCH` Specifies the architecture-specific assembler flags for the build host. By default, the value of :term:`BUILD_AS_ARCH` is empty. + :term:`BUILD_CC` + Specifies the architecture-specific C compiler for the build host, + and its default definition is derived in part from :term:`BUILD_PREFIX` + and :term:`BUILD_CC_ARCH`:: + + BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}" + + When building a :ref:`ref-classes-native` recipe, :term:`CC` is set to the + value of this variable by default. + + The :term:`BUILD_CC` variable should not be set manually, and is rarely + used in recipes as :term:`CC` contains the appropriate value depending on + the context (native or target recipes). Exception be made for target + recipes that need to use the compiler from the build host at some point + during the build. + :term:`BUILD_CC_ARCH` Specifies the architecture-specific C compiler flags for the build host. By default, the value of :term:`BUILD_CC_ARCH` is empty. :term:`BUILD_CCLD` - Specifies the linker command to be used for the build host when the C - compiler is being used as the linker. By default, :term:`BUILD_CCLD` - points to GCC and passes as arguments the value of - :term:`BUILD_CC_ARCH`, assuming - :term:`BUILD_CC_ARCH` is set. + Specifies the :manpage:`linker ` command to be used for the build + host when the C compiler is being used as the linker, and its default + definition is derived in part from :term:`BUILD_PREFIX` and + :term:`BUILD_CC_ARCH`:: + + BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}" + + When building a :ref:`ref-classes-native` recipe, :term:`CCLD` is set to + the value of this variable by default. + + The :term:`BUILD_CCLD` variable should not be set manually, and is rarely + used in recipes as :term:`CCLD` contains the appropriate value depending on + the context (native or target recipes). Exception be made for target + recipes that need to use the :manpage:`linker ` from the build host + at some point during the build. :term:`BUILD_CFLAGS` Specifies the flags to pass to the C compiler when building for the - build host. When building in the ``-native`` context, + build host. When building a :ref:`ref-classes-native` recipe, :term:`CFLAGS` is set to the value of this variable by default. + :term:`BUILD_CPP` + Specifies the C preprocessor command (to both the C and the C++ compilers) + when building for the build host, and its default definition is derived in + part from :term:`BUILD_PREFIX` and :term:`BUILD_CC_ARCH`:: + + BUILD_CPP = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} -E" + + When building a :ref:`ref-classes-native` recipe, :term:`CPP` is set to + the value of this variable by default. + + The :term:`BUILD_CPP` variable should not be set manually, and is rarely + used in recipes as :term:`CPP` contains the appropriate value depending on + the context (native or target recipes). Exception be made for target + recipes that need to use the preprocessor from the build host at some + point during the build. + :term:`BUILD_CPPFLAGS` Specifies the flags to pass to the C preprocessor (i.e. to both the C and the C++ compilers) when building for the build host. When building in the ``-native`` context, :term:`CPPFLAGS` is set to the value of this variable by default. + :term:`BUILD_CXX` + Specifies the architecture-specific C++ compiler for the build host, + and its default definition is derived in part from :term:`BUILD_PREFIX` + and :term:`BUILD_CC_ARCH`:: + + BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}" + + When building a :ref:`ref-classes-native` recipe, :term:`CXX` is set to + the value of this variable by default. + + The :term:`BUILD_CXX` variable should not be set manually, and is rarely + used in recipes as :term:`CXX` contains the appropriate value depending on + the context (native or target recipes). Exception be made for target + recipes that need to use the C++ compiler from the build host at some + point during the build. + :term:`BUILD_CXXFLAGS` Specifies the flags to pass to the C++ compiler when building for the - build host. When building in the ``-native`` context, + build host. When building a :ref:`ref-classes-native` recipe, :term:`CXXFLAGS` is set to the value of this variable by default. :term:`BUILD_FC` - Specifies the Fortran compiler command for the build host. By - default, :term:`BUILD_FC` points to Gfortran and passes as arguments the - value of :term:`BUILD_CC_ARCH`, assuming - :term:`BUILD_CC_ARCH` is set. + Specifies the Fortran compiler command for the build host, and its default + definition is derived in part from :term:`BUILD_PREFIX` and + :term:`BUILD_CC_ARCH`:: + + BUILD_FC = "${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}" + + When building a :ref:`ref-classes-native` recipe, :term:`FC` is set to the + value of this variable by default. + + The :term:`BUILD_FC` variable should not be set manually, and is rarely + used in recipes as :term:`FC` contains the appropriate value depending on + the context (native or target recipes). Exception be made for target + recipes that need to use the Fortran compiler from the build host at some + point during the build. :term:`BUILD_LD` - Specifies the linker command for the build host. By default, - :term:`BUILD_LD` points to the GNU linker (ld) and passes as arguments - the value of :term:`BUILD_LD_ARCH`, assuming - :term:`BUILD_LD_ARCH` is set. + Specifies the linker command for the build host, and its default + definition is derived in part from :term:`BUILD_PREFIX` and + :term:`BUILD_LD_ARCH`:: + + BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}" + + When building a :ref:`ref-classes-native` recipe, :term:`LD` is set to the + value of this variable by default. + + The :term:`BUILD_LD` variable should not be set manually, and is rarely + used in recipes as :term:`LD` contains the appropriate value depending on + the context (native or target recipes). Exception be made for target + recipes that need to use the linker from the build host at some point + during the build. :term:`BUILD_LD_ARCH` Specifies architecture-specific linker flags for the build host. By @@ -1034,10 +1144,58 @@ system and gives an overview of their function and contents. :term:`BUILD_LDFLAGS` Specifies the flags to pass to the linker when building for the build - host. When building in the ``-native`` context, + host. When building a :ref:`ref-classes-native` recipe, :term:`LDFLAGS` is set to the value of this variable by default. + :term:`BUILD_NM` + Specifies the architecture-specific utility to list symbols from object + files for the build host, and its default definition is derived in part + from :term:`BUILD_PREFIX`:: + + BUILD_NM = "${BUILD_PREFIX}nm" + + When building a :ref:`ref-classes-native` recipe, :term:`NM` is set to the + value of this variable by default. + + The :term:`BUILD_NM` variable should not be set manually, and is rarely + used in recipes as :term:`NM` contains the appropriate value depending on + the context (native or target recipes). Exception be made for target + recipes that need to use the utility from the build host at some point + during the build. + + :term:`BUILD_OBJCOPY` + Specifies the architecture-specific utility to copy object files for the + build host, and its default definition is derived in part from + :term:`BUILD_PREFIX`:: + + BUILD_OBJCOPY = "${BUILD_PREFIX}objcopy" + + When building a :ref:`ref-classes-native` recipe, :term:`OBJCOPY` is set + to the value of this variable by default. + + The :term:`BUILD_OBJCOPY` variable should not be set manually, and is + rarely used in recipes as :term:`OBJCOPY` contains the appropriate value + depending on the context (native or target recipes). Exception be made for + target recipes that need to use the utility from the build host at some + point during the build. + + :term:`BUILD_OBJDUMP` + Specifies the architecture-specific utility to display object files + information for the build host, and its default definition is derived in + part from :term:`BUILD_PREFIX`:: + + BUILD_OBJDUMP = "${BUILD_PREFIX}objdump" + + When building a :ref:`ref-classes-native` recipe, :term:`OBJDUMP` is set + to the value of this variable by default. + + The :term:`BUILD_OBJDUMP` variable should not be set manually, and is + rarely used in recipes as :term:`OBJDUMP` contains the appropriate value + depending on the context (native or target recipes). Exception be made for + target recipes that need to use the utility from the build host at some + point during the build. + :term:`BUILD_OPTIMIZATION` Specifies the optimization flags passed to the C compiler when building for the build host or the SDK. The flags are passed through @@ -1058,11 +1216,53 @@ system and gives an overview of their function and contents. build system uses the :term:`BUILD_PREFIX` value to set the :term:`TARGET_PREFIX` when building for :ref:`ref-classes-native` recipes. + :term:`BUILD_RANLIB` + Specifies the architecture-specific utility to generate indexes for + archives for the build host, and its default definition is derived in part + from :term:`BUILD_PREFIX`:: + + BUILD_RANLIB = "${BUILD_PREFIX}ranlib -D" + + When building a :ref:`ref-classes-native` recipe, :term:`RANLIB` is set to + the value of this variable by default. + + The :term:`BUILD_RANLIB` variable should not be set manually, and is + rarely used in recipes as :term:`RANLIB` contains the appropriate value + depending on the context (native or target recipes). Exception be made for + target recipes that need to use the utility from the build host at some + point during the build. + + :term:`BUILD_READELF` + Specifies the architecture-specific utility to display information about + ELF files for the build host, and its default definition is derived in + part from :term:`BUILD_PREFIX`:: + + BUILD_READELF = "${BUILD_PREFIX}readelf" + + When building a :ref:`ref-classes-native` recipe, :term:`READELF` is set + to the value of this variable by default. + + The :term:`BUILD_READELF` variable should not be set manually, and is + rarely used in recipes as :term:`READELF` contains the appropriate value + depending on the context (native or target recipes). Exception be made for + target recipes that need to use the utility from the build host at some + point during the build. + :term:`BUILD_STRIP` - Specifies the command to be used to strip debugging symbols from - binaries produced for the build host. By default, :term:`BUILD_STRIP` - points to - ``${``\ :term:`BUILD_PREFIX`\ ``}strip``. + Specifies the command to be used to strip debugging symbols from binaries + produced for the build host, and its default definition is derived in part + from :term:`BUILD_PREFIX`:: + + BUILD_STRIP = "${BUILD_PREFIX}strip" + + When building a :ref:`ref-classes-native` recipe, :term:`STRIP` is set to + the value of this variable by default. + + The :term:`BUILD_STRIP` variable should not be set manually, and is + rarely used in recipes as :term:`STRIP` contains the appropriate value + depending on the context (native or target recipes). Exception be made for + target recipes that need to use the utility from the build host at some + point during the build. :term:`BUILD_SYS` Specifies the system, including the architecture and the operating @@ -1258,6 +1458,10 @@ system and gives an overview of their function and contents. :term:`CC` The minimal command and arguments used to run the C compiler. + :term:`CCLD` + The minimal command and arguments used to run the linker when the C + compiler is being used as the linker. + :term:`CFLAGS` Specifies the flags to pass to the C compiler. This variable is exported to an environment variable and thus made visible to the @@ -2793,6 +2997,9 @@ system and gives an overview of their function and contents. :term:`FAKEROOTNOENV` See :term:`bitbake:FAKEROOTNOENV` in the BitBake manual. + :term:`FC` + The minimal command and arguments used to run the Fortran compiler. + :term:`FEATURE_PACKAGES` Defines one or more packages to include in an image when a specific item is included in :term:`IMAGE_FEATURES`. @@ -7114,6 +7321,9 @@ system and gives an overview of their function and contents. ":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the BitBake User Manual for additional information on tasks and dependencies. + :term:`READELF` + The minimal command and arguments to run :manpage:`readelf `. + :term:`RECIPE_MAINTAINER` This variable defines the name and e-mail address of the maintainer of a recipe. Such information can be used by human users submitted changes, -- cgit v1.2.3-54-g00ecf