Date: Mon, 27 Jan 2014 17:14:39 -0800 From: John-Mark Gurney <jmg@funkthat.com> To: Brooks Davis <brooks@freebsd.org> Cc: hackers@freebsd.org Subject: Re: make buildkernel figure out compiler type.. Message-ID: <20140128011439.GV13704@funkthat.com> In-Reply-To: <20140127172842.GE8857@lor.one-eyed-alien.net> References: <20140124200141.GE75135@funkthat.com> <20140127172842.GE8857@lor.one-eyed-alien.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Brooks Davis wrote this message on Mon, Jan 27, 2014 at 11:28 -0600:
> On Fri, Jan 24, 2014 at 12:01:42PM -0800, John-Mark Gurney wrote:
> > When I was building armeb, I would often specify the correct compiler
> > on buildtools/kernel-tools, but then when I went to buildkernel, I
> > would forget... So, I figured out if we just drop COMPILER_TYPE from
> > KMAKEENV, the right magic will be executed to figure out which of
> > clang/gcc should be used...
> >
> > $ svn diff Makefile.inc1
> > Index: Makefile.inc1
> > ===================================================================
> > --- Makefile.inc1 (revision 260499)
> > +++ Makefile.inc1 (working copy)
> > @@ -451,7 +451,7 @@ IMAKE_MTREE= MTREE_CMD="nmtree ${MTREEFLAGS}"
> > .endif
> >
> > # kernel stage
> > -KMAKEENV= ${WMAKEENV}
> > +KMAKEENV= ${WMAKEENV:NCOMPILER_TYPE=*}
> > KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME}
> >
> > #
> >
> > Comments?
>
> If COMPILER_TYPE isn't set then every submake will need to figure out
> which compiler is in use. That's not too expensive for a build without
> modules, but is potentially quite expensive with, hence the passing of
> COMPILER_TYPE. I'm not convinced the tradeoff is worth it for a little
> edge-case user convenience.
Interestingly, I decided to try to test this out, and I couldn't measure
a performance difference between the two.. This was using a "make
buildkernel -j 8" on amd64 which builds all the modules and I couldn't
measure a performance difference between the two...
After seeing an output of make -dA, I doubt executing a couple more
commands will really make that much of a measurable difference... Also,
won't it be set once at the top? If not, why don't we export
COMPILER_TYPE when we set it, then that'd solve your issue? right?
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140128011439.GV13704>
