Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Feb 2019 11:00:34 -0800
From:      John Baldwin <jhb@FreeBSD.org>
To:        "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org>
Cc:        freebsd@bdragon.rtk0.net
Subject:   External GCC Update
Message-ID:  <e8d1431f-cf99-1986-7f23-6ff0f4cd8314@FreeBSD.org>

next 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

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.

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

                                                                            



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e8d1431f-cf99-1986-7f23-6ff0f4cd8314>