Message ID | 1460744841-78382-2-git-send-email-roger.pau@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> Roger Pau Monne <roger.pau@citrix.com> 04/15/16 8:27 PM >>> >Previously HOSTCC was always hardcoded to gcc So what is the goal here? Be able to build on a gcc-free system? Or else, how does it matter what compiler build elements get built with? >--- a/Config.mk >+++ b/Config.mk >@@ -36,7 +36,6 @@ CONFIG_$(XEN_OS) := y >SHELL ?= /bin/sh > ># Tools to run on system hosting the build >-HOSTCC = gcc >HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer >HOSTCFLAGS += -fno-strict-aliasing > >@@ -50,8 +49,10 @@ DESTDIR ?= / >clang ?= n >ifeq ($(clang),n) >gcc := y >+HOSTCC = gcc >else >gcc := n >+HOSTCC = clang >endif In particular I wonder what this means for cross builds, where someone may have installed e.g. only a cross variant of clang. That said, I'm not really opposed to the change (as it seems to be at least an incremental improvement), I only wonder whether some more thought (and change) is needed here. Jan
On Sun, Apr 17, 2016 at 02:03:28PM -0600, Jan Beulich wrote: > >>> Roger Pau Monne <roger.pau@citrix.com> 04/15/16 8:27 PM >>> > >Previously HOSTCC was always hardcoded to gcc > > So what is the goal here? Be able to build on a gcc-free system? Or else, how > does it matter what compiler build elements get built with? Exactly. Newish FreeBSD versions (>=10 IIRC) only have clang in the base system. > >--- a/Config.mk > >+++ b/Config.mk > >@@ -36,7 +36,6 @@ CONFIG_$(XEN_OS) := y > >SHELL ?= /bin/sh > > > ># Tools to run on system hosting the build > >-HOSTCC = gcc > >HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer > >HOSTCFLAGS += -fno-strict-aliasing > > > >@@ -50,8 +49,10 @@ DESTDIR ?= / > >clang ?= n > >ifeq ($(clang),n) > >gcc := y > >+HOSTCC = gcc > >else > >gcc := n > >+HOSTCC = clang > >endif > > In particular I wonder what this means for cross builds, where someone may > have installed e.g. only a cross variant of clang. Right, I think this should be ?= instead of =, so if a user has HOSTCC set in the build environment the build system doesn't overwrite it. > That said, I'm not really opposed to the change (as it seems to be at least an > incremental improvement), I only wonder whether some more thought (and > change) is needed here. IMHO, I think using ?= should at least be more correct, or if anyone has a better suggestion I'm happy to implement it. Roger.
>>> Roger Pau Monné <roger.pau@citrix.com> 04/20/16 4:51 PM >>> >On Sun, Apr 17, 2016 at 02:03:28PM -0600, Jan Beulich wrote: >> >>> Roger Pau Monne <roger.pau@citrix.com> 04/15/16 8:27 PM >>> >> >@@ -50,8 +49,10 @@ DESTDIR ?= / >> >clang ?= n >> >ifeq ($(clang),n) >> >gcc := y >> >+HOSTCC = gcc >> >else >> >gcc := n >> >+HOSTCC = clang >> >endif >> >> In particular I wonder what this means for cross builds, where someone may >> have installed e.g. only a cross variant of clang. > >Right, I think this should be ?= instead of =, so if a user has HOSTCC set >in the build environment the build system doesn't overwrite it. > >> That said, I'm not really opposed to the change (as it seems to be at least an >> incremental improvement), I only wonder whether some more thought (and >> change) is needed here. > >IMHO, I think using ?= should at least be more correct, or if anyone has a >better suggestion I'm happy to implement it. Yes, that would at least eliminate some of my (admittedly vague) concerns. Jan
diff --git a/Config.mk b/Config.mk index bfab893..deaa768 100644 --- a/Config.mk +++ b/Config.mk @@ -36,7 +36,6 @@ CONFIG_$(XEN_OS) := y SHELL ?= /bin/sh # Tools to run on system hosting the build -HOSTCC = gcc HOSTCFLAGS = -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer HOSTCFLAGS += -fno-strict-aliasing @@ -50,8 +49,10 @@ DESTDIR ?= / clang ?= n ifeq ($(clang),n) gcc := y +HOSTCC = gcc else gcc := n +HOSTCC = clang endif
Previously HOSTCC was always hardcoded to gcc Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- Cc: Ian Jackson <ian.jackson@eu.citrix.com> Cc: Jan Beulich <jbeulich@suse.com> Cc: Keir Fraser <keir@xen.org> Cc: Tim Deegan <tim@xen.org> --- Config.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)