[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