[OE-core] [PATCH v2 0/8] Fix BUILD_* family of variables

Jérémy Rosen jeremy.rosen at smile.fr
Mon Sep 12 15:19:20 UTC 2016


Any news ?


On 07/09/2016 11:08, Jérémy Rosen wrote:
> The BUILD_* family of variables allow the user to specify the name of the host
> compiler to use at build time. This feature is particularly important for long
> term maintainance. Future versions of gcc might not be compatible with old
> yocto distributions and we can't assume that "gcc" is the correct name for the
> compiler.
>
> This problem is already an issue with Jethro which can't be compiled on a
> machine wher gcc-6 is the default compiler. pkgconfig-native will refuse to
> compile because it uses -Werror and gcc-6 has new warnings compared to gcc-5
>
> This patch serie fixes multiple hard-coded references to gcc in various recipes
> and build infrastructure
>
> This patch was tested by building core-image-minimal for qemu-x86_64 with a
> directory with the following content added to the PATH
>
>   g++ -> /bin/false
>   gcc -> /bin/false
>   myg++ -> /usr/bin/g++
>   mygcc -> /usr/bin/gcc
>
> And the following variables added to local.conf
>
> export BUILD_CC = "mygcc"
> export BUILD_CXX = "myg++"
> export BUILD_CPP = "mygcc -E"
> export BUILD_CCLD = "mygcc"
>
> ---
> V2
> * rewording in some commits messages
> * no need for a patch to KConfig, use OE_RUNMAKE_FLAGS instead
> * change all patch titles to use : in the short commit message
> * rpm : manually remove files instead of calling make distclean
> * libpcre : explicitely set CCLD_FOR_BUILD in the recipe since it's the only
>    recipe using it.
> * glibc patch has been submited upstream
>
> It would be interesting to modify yocto's builders to use the BUILD_*
> variable in order to have some early warning wrt gcc polution in recipes, but
> seeing the various recipes I had to patch, I would expect such a change to
> trigger a high number of build failures.
>
> Jérémy Rosen (8):
>    cross: export CC family from BUILD_* for cross compilers
>    linux-yocto: allow overriding compiler name in KConfig
>    linux-libc-headers: allow overriding compiler name in KConfig
>    busybox: allow overriding compiler name in KConfig
>    sanity: fix hardcoded references to gcc
>    glibc: remove hard-coded reference to gcc -E
>    rpm: manually cleanup sysck
>    libpcre: explicitely specify CCLD_FOR_BUILD for this recipe
>
>   meta/classes/cross.bbclass                                                        | 12 ++++++++++++
>   meta/classes/kernel.bbclass                                                       |  1 +
>   meta/classes/sanity.bbclass                                                       | 14 +++++++-------
>   meta/recipes-core/busybox/busybox.inc                                             |  2 +-
>   meta/recipes-core/glibc/glibc/0001-locale-fix-hard-coded-reference-to-gcc-E.patch | 39 +++++++++++++++++++++++++++++++++++++++
>   meta/recipes-core/glibc/glibc_2.24.bb                                             |  3 ++-
>   meta/recipes-devtools/rpm/rpm_5.4.16.bb                                           |  2 +-
>   meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc                     |  2 ++
>   meta/recipes-support/libpcre/libpcre_8.39.bb                                      |  2 ++
>   9 files changed, 67 insertions(+), 10 deletions(-)
>   create mode 100644 meta/recipes-core/glibc/glibc/0001-locale-fix-hard-coded-reference-to-gcc-E.patch
>




More information about the Openembedded-core mailing list