Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Feb 2019 11:45:58 -0800 (PST)
From:      "Rodney W. Grimes" <freebsd-rwg@pdx.rh.CN85.dnsmgr.net>
To:        John Baldwin <jhb@freebsd.org>
Cc:        "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org>, freebsd@bdragon.rtk0.net
Subject:   Re: External GCC Update
Message-ID:  <201902221945.x1MJjwlE026969@pdx.rh.CN85.dnsmgr.net>
In-Reply-To: <e8d1431f-cf99-1986-7f23-6ff0f4cd8314@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> I was recently able to install base/binutils and base/gcc into an amd64 VM
> and do a self-hosted build and install.  Some of the port patches have been
> committed from this, but I have some source patches before the final ports
> patches can be finished.
> 
> The source patches are here:
> https://github.com/bsdjhb/freebsd/compare/master...base_gcc

Phabricator?

> They do a couple of things I'd like some feedback on:
> 
> 1) MK_GDB no longer depends on MK_BINUTILS so that /usr/libexec/gdb can
>    still be built/installed when WITHOUT_BINUTILS=yes is true
> 
> 2) WITH_BASE_GCC and WITH_BASE_BINUTILS knobs can be set in src.conf to
>    ensure that 'make delete-old' doesn't delete files installed by the
>    base/* packages if you also set WITHOUT_BINUTILS=yes, and similar
>    knobs (because you don't want to build/install the ones from src)
> 
> 3) I add support for an /etc/src.conf.d dir that can hold files that get
>    treated as if they are part of /etc/src.conf.  The current patch on
>    github for this only fixes world and not yet kern.pre.mk and probably
>    needs the most review if we want to go forward with this route.  With
>    this, I plan to have the base/* packages install suitable files in this
>    dir that disable build of the src-based components and also set
>    WITH_BASE_<foo> to make sure 'delete-old' DTRT.

This last one should probably be broke out and also discussed on -arch,
it effects more than just the tool chain.

> The file for base/binutils would be:
> 
> CROSS_BINUTILS_PREFIX=/usr/bin/
> WITH_BASE_BINUTILS=yes
> WITHOUT_BINUTILS=yes
> WITHOUT_LLD_IS_LD=yes
> 
> The file for base/gcc would be:
> 
> XCC=/usr/bin/cc
> XCXX=/usr/bin/c++
> XCPP=/usr/bin/cpp
> X_COMPILER_TYPE=gcc
> WITH_BASE_GCC=yes
> WITHOUT_GCC=yes
> WITHOUT_CLANG_IS_CC=yes
> 
> Thoughts?
> 
> -- 
> John Baldwin
-- 
Rod Grimes                                                 rgrimes@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201902221945.x1MJjwlE026969>