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>