It's currently a bit of a pain to install clang and ld.lld, but keep gcc and ld.bfd as the default compiler/linker. You can't rebuild clang with base gcc and you really want to rebuild it with clang instead of the ports gcc after boostrapping. And overwriting the default compiler/linker links is annoying. Especially on platforms where lld doesn't work yet. The diff below would make my life easier and hopefully get more people involved.
This partly reverts the changes made by jsg@ in Brisbane, but I think we need this if we want clang/lld on more platforms than just arm64. ok? Index: gnu/usr.bin/clang/Makefile.inc =================================================================== RCS file: /cvs/src/gnu/usr.bin/clang/Makefile.inc,v retrieving revision 1.4 diff -u -p -u -p -r1.4 Makefile.inc --- gnu/usr.bin/clang/Makefile.inc 16 Feb 2017 02:08:42 -0000 1.4 +++ gnu/usr.bin/clang/Makefile.inc 15 Mar 2017 20:21:06 -0000 @@ -6,6 +6,9 @@ BOOTSTRAP_CLANG?=no .if ${BOOTSTRAP_CLANG} == "yes" CC= egcc CXX= eg++ +.else +CC= clang +CXX= clang++ .endif DEBUG= Index: gnu/usr.bin/clang/clang/Makefile =================================================================== RCS file: /cvs/src/gnu/usr.bin/clang/clang/Makefile,v retrieving revision 1.6 diff -u -p -u -p -r1.6 Makefile --- gnu/usr.bin/clang/clang/Makefile 24 Jan 2017 08:44:47 -0000 1.6 +++ gnu/usr.bin/clang/clang/Makefile 15 Mar 2017 20:21:06 -0000 @@ -13,15 +13,18 @@ LDADD+= -ltermlib DPADD+= ${LIBTERMLIB} LINKS= ${BINDIR}/clang ${BINDIR}/clang++ \ - ${BINDIR}/clang ${BINDIR}/clang-cpp \ - ${BINDIR}/clang ${BINDIR}/cc \ + ${BINDIR}/clang ${BINDIR}/clang-cpp +MLINKS= clang.1 clang++.1 \ + clang.1 clang-cpp.1 + +.if ${COMPILER_VERSION:L} == "clang" +LINKS+= ${BINDIR}/clang ${BINDIR}/cc \ ${BINDIR}/clang ${BINDIR}/c++ \ ${BINDIR}/clang ${LIBEXECDIR}/cpp -MLINKS= clang.1 clang++.1 \ - clang.1 clang-cpp.1 \ - clang.1 cc.1 \ +MLINKS+=clang.1 cc.1 \ clang.1 c++.1 \ clang.1 cpp.1 +.endif CPPFLAGS+= -I${.CURDIR}/../../../llvm/tools/clang/include Index: gnu/usr.bin/clang/lld/Makefile =================================================================== RCS file: /cvs/src/gnu/usr.bin/clang/lld/Makefile,v retrieving revision 1.6 diff -u -p -u -p -r1.6 Makefile --- gnu/usr.bin/clang/lld/Makefile 24 Jan 2017 08:44:47 -0000 1.6 +++ gnu/usr.bin/clang/lld/Makefile 15 Mar 2017 20:21:07 -0000 @@ -10,7 +10,9 @@ NOMAN= LDADD+= -ltermlib DPADD+= ${LIBTERMLIB} +.if ${COMPILER_VERSION:L} == "clang" LINKS= ${BINDIR}/ld.lld ${BINDIR}/ld +.endif CPPFLAGS+= ${CLANG_INCLUDES} CPPFLAGS+= -I${.CURDIR}/../../../llvm/tools/lld/include