[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 8 of 8] xen: add "clang=y" option to build Xen with clang/llvm instead of gcc
On Mon, 2011-03-07 at 11:26 +0000, Tim Deegan wrote: > # HG changeset patch > # User Tim Deegan <Tim.Deegan@xxxxxxxxxx> > # Date 1299496871 0 > # Node ID d91e6a8d36ad3dbf89f42264334baec0cb37063f > # Parent 804007170cf03ea832022e2d589507a3bc0505dc > xen: add "clang=y" option to build Xen with clang/llvm instead of gcc. > > Tested with svn snapshot of clang and llvm from 17 February 2011. > Only x86_64 hypervisor builds (make dist-xen clang=y) are supported > and I haven't even begun to look at cross-compiling. > > Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx> > > diff -r 804007170cf0 -r d91e6a8d36ad Config.mk > --- a/Config.mk Mon Mar 07 11:21:11 2011 +0000 > +++ b/Config.mk Mon Mar 07 11:21:11 2011 +0000 > @@ -148,6 +148,13 @@ CFLAGS += -Wall -Wstrict-prototypes > # result of any casted expression causes a warning. > CFLAGS += -Wno-unused-value > > +ifeq ($(clang),y) > +# Clang complains about macros that expand to 'if ( ( foo == bar ) > ) ...' > +CFLAGS += -Wno-parentheses > +# And is over-zealous with the printf format lint > +CFLAGS += -Wno-format > +endif Is it worth arranging for "gcc := y" when clang is not enabled? Then a whole bunch of this sort of thing devolves into the CFLAGS-$(a-particular-cc) += -Wfoo pattern. > + > $(call cc-option-add,HOSTCFLAGS,HOSTCC,-Wdeclaration-after-statement) > $(call cc-option-add,CFLAGS,CC,-Wdeclaration-after-statement) > > diff -r 804007170cf0 -r d91e6a8d36ad config/StdGNU.mk > --- a/config/StdGNU.mk Mon Mar 07 11:21:11 2011 +0000 > +++ b/config/StdGNU.mk Mon Mar 07 11:21:11 2011 +0000 > @@ -1,6 +1,11 @@ > AS = $(CROSS_COMPILE)as > +ifeq ($(clang),y) > +LD = $(CROSS_COMPILE)gold > +CC = $(CROSS_COMPILE)clang > +else > LD = $(CROSS_COMPILE)ld > CC = $(CROSS_COMPILE)gcc > +endif > CPP = $(CC) -E > AR = $(CROSS_COMPILE)ar > RANLIB = $(CROSS_COMPILE)ranlib LD-$(clang) = ... LD-$(gcc) = ... LD := $(LD-y) ? > @@ -69,5 +74,8 @@ ifneq ($(debug),y) > CFLAGS += -O2 -fomit-frame-pointer > else > # Less than -O1 produces bad code and large stack frames > -CFLAGS += -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls > +CFLAGS += -O1 -fno-omit-frame-pointer > +ifneq ($(clang),y) > +CFLAGS += -fno-optimize-sibling-calls CFLAGS-$(gcc) += ... etc etc Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |