Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Jul 2016 10:23:22 -0700
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, sbruno@FreeBSD.org, Ed Maste <emaste@freebsd.org>
Subject:   Re: svn commit: r300349 - head
Message-ID:  <170a5233-9625-52b9-aaf7-840be1a5ce9d@FreeBSD.org>
In-Reply-To: <201605210132.u4L1W75d033196@repo.freebsd.org>
References:  <201605210132.u4L1W75d033196@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5/20/16 6:32 PM, Bryan Drewery wrote:
> Author: bdrewery
> Date: Sat May 21 01:32:07 2016
> New Revision: 300349
> URL: https://svnweb.freebsd.org/changeset/base/300349
> 
> Log:
>   Enable and utilize WITHOUT_CROSS_COMPILER logic for external CC.
>   
>   This is a NOP.
>   

It turns out it isn't a NOP!

>   Reviewed by:	brooks, bapt
>   Sponsored by:	EMC / Isilon Storage Division
>   Differential Revision:	https://reviews.freebsd.org/D6354
> 
> Modified:
>   head/Makefile.inc1
> 
> Modified: head/Makefile.inc1
> ==============================================================================
> --- head/Makefile.inc1	Sat May 21 01:32:04 2016	(r300348)
> +++ head/Makefile.inc1	Sat May 21 01:32:07 2016	(r300349)
> @@ -91,6 +91,12 @@ X${BINUTIL}?=	${CROSS_BINUTILS_PREFIX}${
>  X${BINUTIL}?=	${${BINUTIL}}
>  .endif
>  .endfor
> +# If a full path to an external cross compiler is given, don't build
> +# a cross compiler.
> +.if ${XCC:N${CCACHE_BIN}:M/*}
> +MK_CROSS_COMPILER=	no
> +.endif

Now MK_CROSS_COMPILER=no is set.

> +
>  .include <bsd.compiler.mk>		# don't depend on src.opts.mk doing it
>  .include "share/mk/src.opts.mk"	
>  

src.opts.mk has:

.if ${MK_CROSS_COMPILER} == "no"
MK_BINUTILS_BOOTSTRAP:= no
MK_CLANG_BOOTSTRAP:= no
MK_ELFTOOLCHAIN_BOOTSTRAP:= no
MK_GCC_BOOTSTRAP:= no
.endif

So binutils and elftoolchain don't get built.  In my SYSTEM_COMPILER
commit r300354 I had intended that binutils and elftoolchain continue to
build as they lack version checks like were added for the compiler.

I'll get some sort of fix in today for this.


> @@ -454,7 +460,7 @@ BFLAGS+=	-B${CROSS_BINUTILS_PREFIX}
>  .endif
>  
>  # External compiler needs sysroot and target flags.
> -.if ${XCC:N${CCACHE_BIN}:M/*} || ${MK_CROSS_COMPILER} == "no"
> +.if ${MK_CROSS_COMPILER} == "no"
>  .if !defined(CROSS_BINUTILS_PREFIX) || !exists(${CROSS_BINUTILS_PREFIX})
>  BFLAGS+=	-B${WORLDTMP}/usr/bin
>  .endif
> @@ -478,7 +484,7 @@ XCFLAGS+=	-target ${TARGET_TRIPLE}
>  .endif
>  XCFLAGS+=	--sysroot=${WORLDTMP}
>  .else
> -.endif # ${XCC:M/*} || ${MK_CROSS_COMPILER} == "no"
> +.endif # ${MK_CROSS_COMPILER} == "no"
>  
>  .if !empty(BFLAGS)
>  XCFLAGS+=	${BFLAGS}
> @@ -1714,9 +1720,7 @@ _elftctools=	lib/libelftc \
>  		usr.bin/elfcopy
>  .endif
>  
> -# If an full path to an external cross compiler is given, don't build
> -# a cross compiler.
> -.if ${XCC:N${CCACHE_BIN}:M/*} == "" && ${MK_CROSS_COMPILER} != "no"
> +.if ${MK_CROSS_COMPILER} != "no"
>  .if ${MK_CLANG_BOOTSTRAP} != "no"
>  _clang=		usr.bin/clang
>  _clang_libs=	lib/clang
> 


-- 
Regards,
Bryan Drewery



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?170a5233-9625-52b9-aaf7-840be1a5ce9d>