public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH 0/8] Fix BUILD_* family of variables
@ 2016-08-23  7:25 Jérémy Rosen
  2016-08-23  7:25 ` [PATCH 1/8] [autotools] export CCLD_FOR_BUILD Jérémy Rosen
                   ` (7 more replies)
  0 siblings, 8 replies; 37+ messages in thread
From: Jérémy Rosen @ 2016-08-23  7:25 UTC (permalink / raw)
  To: openembedded-core

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"

---

All the patches haven't been pushed upstream yet, but I would be interested on
feedback on the actual work.

It would also 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):
  [autotools] export CCLD_FOR_BUILD
  [cross] export CC family from BUILD_* for cross compilers
  [rpm] force a configure before make distclean
  [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

 meta/classes/autotools.bbclass                                                                                            |  2 ++
 meta/classes/cross.bbclass                                                                                                | 12 ++++++++++++
 meta/classes/sanity.bbclass                                                                                               | 14 +++++++-------
 meta/recipes-core/busybox/busybox.inc                                                                                     |  5 +++++
 meta/recipes-core/busybox/busybox/0001-Allow-overriding-of-host-compiler-names.patch                                      | 27 +++++++++++++++++++++++++++
 meta/recipes-core/glibc/glibc/0001-locale-fix-hard-coded-reference-to-gcc-E.patch                                         | 23 +++++++++++++++++++++++
 meta/recipes-core/glibc/glibc_2.24.bb                                                                                     |  6 ++----
 meta/recipes-devtools/rpm/rpm_5.4.16.bb                                                                                   |  2 +-
 meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc                                                             |  7 ++++++-
 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-Allow-overriding-host-compiler-name-from-environment.patch | 32 ++++++++++++++++++++++++++++++++
 meta/recipes-kernel/linux/linux-yocto.inc                                                                                 |  4 ++++
 meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch                     | 32 ++++++++++++++++++++++++++++++++
 12 files changed, 153 insertions(+), 13 deletions(-)
 create mode 100644 meta/recipes-core/busybox/busybox/0001-Allow-overriding-of-host-compiler-names.patch
 create mode 100644 meta/recipes-core/glibc/glibc/0001-locale-fix-hard-coded-reference-to-gcc-E.patch
 create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-Allow-overriding-host-compiler-name-from-environment.patch
 create mode 100644 meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch

-- 
git-series 0.8.9


^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2016-08-25 13:27 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-23  7:25 [PATCH 0/8] Fix BUILD_* family of variables Jérémy Rosen
2016-08-23  7:25 ` [PATCH 1/8] [autotools] export CCLD_FOR_BUILD Jérémy Rosen
2016-08-24  0:50   ` Khem Raj
2016-08-24 11:05     ` Jérémy Rosen
2016-08-24 11:28       ` Jérémy Rosen
2016-08-24 19:56         ` Burton, Ross
2016-08-25 12:40           ` Jérémy Rosen
2016-08-25 13:27             ` Burton, Ross
2016-08-23  7:25 ` [PATCH 2/8] [cross] export CC family from BUILD_* for cross compilers Jérémy Rosen
2016-08-23 13:34   ` Peter Kjellerstedt
2016-08-23 14:46   ` Burton, Ross
2016-08-23 14:49     ` Jérémy Rosen
2016-08-23  7:25 ` [PATCH 3/8] [rpm] force a configure before make distclean Jérémy Rosen
2016-08-23 16:54   ` Burton, Ross
2016-08-23 17:16     ` Mark Hatle
2016-08-24  7:44       ` Jérémy Rosen
2016-08-24 14:13         ` Mark Hatle
2016-08-24 14:17           ` Jérémy Rosen
2016-08-24 14:42             ` Mark Hatle
2016-08-23  7:25 ` [PATCH 4/8] [linux-yocto] allow overriding compiler name in KConfig Jérémy Rosen
2016-08-23 13:36   ` Bruce Ashfield
2016-08-23 13:41     ` Bruce Ashfield
2016-08-23 13:48       ` Jérémy Rosen
2016-08-23 13:43     ` Jérémy Rosen
2016-08-23  7:25 ` [PATCH 5/8] [linux-libc-headers] " Jérémy Rosen
2016-08-23 13:39   ` Bruce Ashfield
2016-08-24  1:06     ` Khem Raj
2016-08-24  7:45       ` Jérémy Rosen
2016-08-23  7:25 ` [PATCH 6/8] [busybox] " Jérémy Rosen
2016-08-23  7:25 ` [PATCH 7/8] [sanity] fix hardcoded references to gcc Jérémy Rosen
2016-08-23 14:53   ` Burton, Ross
2016-08-23 15:11     ` Burton, Ross
2016-08-23 15:40       ` Jérémy Rosen
2016-08-24  7:47         ` Jérémy Rosen
2016-08-23  7:25 ` [PATCH 8/8] [glibc] remove hard-coded reference to gcc -E Jérémy Rosen
2016-08-23 14:03   ` Burton, Ross
2016-08-23 14:04     ` Jérémy Rosen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox