> Date: Mon, 17 Apr 2017 09:26:53 +0200
> From: Landry Breuil <[email protected]>
> Content-Disposition: inline
> List-Owner: <mailto:[email protected]>
> X-Loop: [email protected]
> Sender: [email protected]
> X-CNFS-Analysis: v=2.2 cv=eoad9chX c=1 sm=0 tr=0
> a=A3duGc4wJ8K8BtNzzvyz4A==:117 a=A3duGc4wJ8K8BtNzzvyz4A==:17
> a=kj9zAlcOel0A:10 a=AzvcPWV-tVgA:10 a=8jJFin-u_-39G7b8fh0A:9
> a=CjuIK1q_8ugA:10
> X-Virus-Scanned: by XS4ALL Virus Scanner
> X-XS4ALL-Spam-Score: -0.6 () RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS,
> UNPARSEABLE_RELAY
> X-XS4ALL-Spam: NO
> Envelope-To: [email protected]
>
> On Mon, Apr 17, 2017 at 09:20:21AM +0200, Mark Kettenis wrote:
> > After further discussion it Theo, here is a new version of the diff.
> > It explicitly lists the gcc4 architectures now, introduces BUILD_GCC3
> > and BUILD_GCC4 variables and fixes installation of the c++ headers.
> >
> > Index: gnu/lib/Makefile
> > ===================================================================
> > RCS file: /cvs/src/gnu/lib/Makefile,v
> > retrieving revision 1.20
> > diff -u -p -r1.20 Makefile
> > --- gnu/lib/Makefile 21 Jan 2017 12:40:49 -0000 1.20
> > +++ gnu/lib/Makefile 16 Apr 2017 18:30:53 -0000
> > @@ -6,9 +6,10 @@ SUBDIR+=libiberty libreadline
> > .if make(obj)
> > SUBDIR+=libobjc libstdc++ libstdc++-v3 libsupc++-v3 ../usr.bin/cc/libobjc
> > .else
> > -. if ${COMPILER_VERSION:L} == "gcc3"
> > +. if ${BUILD_GCC3:L} == "yes"
> > SUBDIR+=libobjc libstdc++
> > -. elif ${COMPILER_VERSION:L} == "gcc4"
> > +. endif
> > +. if ${BUILD_GCC4:L} == "gcc4"
>
> Typo here ? Shouldnt this be . if ${BUILD_GCC4:L} == "yes" ?
Yes, well spotted.
Index: gnu/lib/Makefile
===================================================================
RCS file: /cvs/src/gnu/lib/Makefile,v
retrieving revision 1.20
diff -u -p -r1.20 Makefile
--- gnu/lib/Makefile 21 Jan 2017 12:40:49 -0000 1.20
+++ gnu/lib/Makefile 17 Apr 2017 07:45:13 -0000
@@ -6,9 +6,10 @@ SUBDIR+=libiberty libreadline
.if make(obj)
SUBDIR+=libobjc libstdc++ libstdc++-v3 libsupc++-v3 ../usr.bin/cc/libobjc
.else
-. if ${COMPILER_VERSION:L} == "gcc3"
+. if ${BUILD_GCC3:L} == "yes"
SUBDIR+=libobjc libstdc++
-. elif ${COMPILER_VERSION:L} == "gcc4"
+. endif
+. if ${BUILD_GCC4:L} == "yes"
# XXX make sure we build libobjc & libstdc++-v3 from gcc4
SUBDIR+=../usr.bin/cc/libobjc
SUBDIR+=libstdc++-v3 libsupc++-v3
Index: gnu/usr.bin/Makefile
===================================================================
RCS file: /cvs/src/gnu/usr.bin/Makefile,v
retrieving revision 1.58
diff -u -p -r1.58 Makefile
--- gnu/usr.bin/Makefile 20 Feb 2017 01:00:26 -0000 1.58
+++ gnu/usr.bin/Makefile 16 Apr 2017 18:32:43 -0000
@@ -6,11 +6,13 @@
.if make(obj)
SUBDIR+= cc clang gcc
.else
-. if ${COMPILER_VERSION:L} == "gcc3"
+. if ${BUILD_GCC3:L} == "yes"
SUBDIR+= gcc
-. elif ${COMPILER_VERSION:L} == "gcc4"
+. endif
+. if ${BUILD_GCC4:L} == "yes"
SUBDIR+= cc
-. elif ${COMPILER_VERSION:L} == "clang"
+. endif
+. if ${BUILD_CLANG:L} == "yes"
SUBDIR+= clang
. endif
.endif
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 -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 27 Mar 2017 15:56:49 -0000
@@ -2,6 +2,11 @@
LLVM_SRCS?= ${.CURDIR}/../../../llvm
+.if ${COMPILER_VERSION:L} != "clang"
+CC= clang
+CXX= clang++
+.endif
+
BOOTSTRAP_CLANG?=no
.if ${BOOTSTRAP_CLANG} == "yes"
CC= egcc
Index: include/Makefile
===================================================================
RCS file: /cvs/src/include/Makefile,v
retrieving revision 1.218
diff -u -p -r1.218 Makefile
--- include/Makefile 12 Mar 2017 23:28:13 -0000 1.218
+++ include/Makefile 16 Apr 2017 18:38:35 -0000
@@ -42,13 +42,15 @@ RDIRS= ../lib/libcurses ../lib/libedit \
../usr.bin/lex ../gnu/lib/libreadline \
../sys/arch/${MACHINE}
-.if ${COMPILER_VERSION:L} == "gcc3"
+.if ${BUILD_GCC3:L} == "yes"
RDIRS+= ../gnu/usr.bin/gcc ../gnu/lib/libobjc
PRDIRS+= ../gnu/lib/libstdc++
-.elif ${COMPILER_VERSION:L} == "gcc4"
+.endif
+.if ${BUILD_GCC4:L} == "yes"
RDIRS+= ../gnu/usr.bin/cc/libobjc
PRDIRS+= ../gnu/lib/libstdc++-v3 ../gnu/usr.bin/cc/include
-.elif ${COMPILER_VERSION:L} == "clang"
+.endif
+.if ${BUILD_CLANG:L} == "yes"
RDIRS+= ../lib/libcxxabi ../lib/libcxx
.endif
Index: lib/libcompiler_rt/Makefile
===================================================================
RCS file: /cvs/src/lib/libcompiler_rt/Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile
--- lib/libcompiler_rt/Makefile 9 Apr 2017 21:47:05 -0000 1.6
+++ lib/libcompiler_rt/Makefile 16 Apr 2017 18:35:14 -0000
@@ -2,7 +2,12 @@
.include <bsd.own.mk>
-.if ${COMPILER_VERSION:L} == "clang"
+.if ${COMPILER_VERSION:L} != "clang"
+CC= clang
+CXX= clang++
+.endif
+
+.if ${BUILD_CLANG:L} == "yes"
LIB= compiler_rt
NOPIC=
Index: lib/libcxx/Makefile
===================================================================
RCS file: /cvs/src/lib/libcxx/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- lib/libcxx/Makefile 16 Feb 2017 02:08:42 -0000 1.5
+++ lib/libcxx/Makefile 16 Apr 2017 18:35:26 -0000
@@ -2,7 +2,12 @@
.include <bsd.own.mk>
-.if ${COMPILER_VERSION:L} == "clang"
+.if ${COMPILER_VERSION:L} != "clang"
+CC= clang
+CXX= clang++
+.endif
+
+.if ${BUILD_CLANG:L} == "yes"
HDRDIR= ${.CURDIR}/include
SRCDIR= ${.CURDIR}/src
Index: lib/libcxxabi/Makefile
===================================================================
RCS file: /cvs/src/lib/libcxxabi/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- lib/libcxxabi/Makefile 6 Apr 2017 09:28:29 -0000 1.7
+++ lib/libcxxabi/Makefile 16 Apr 2017 18:35:39 -0000
@@ -2,7 +2,12 @@
.include <bsd.own.mk>
-.if ${COMPILER_VERSION:L} == "clang"
+.if ${COMPILER_VERSION:L} != "clang"
+CC= clang
+CXX= clang++
+.endif
+
+.if ${BUILD_CLANG:L} == "yes"
HDRDIR= ${.CURDIR}/include
SRCDIR= ${.CURDIR}/src
Index: share/mk/bsd.own.mk
===================================================================
RCS file: /cvs/src/share/mk/bsd.own.mk,v
retrieving revision 1.182
diff -u -p -r1.182 bsd.own.mk
--- share/mk/bsd.own.mk 18 Dec 2016 17:02:21 -0000 1.182
+++ share/mk/bsd.own.mk 16 Apr 2017 18:27:18 -0000
@@ -15,7 +15,8 @@ SKEY?= yes
# Set `YP' to `yes' to build with support for NIS/YP.
YP?= yes
-CLANG_ARCH=aarch64
+CLANG_ARCH=aarch64 amd64
+GCC4_ARCH=alpha amd64 arm hppa i386 mips64 mips64el powerpc sh sparc64
GCC3_ARCH=m88k
# m88k: ?
@@ -23,12 +24,28 @@ PIE_ARCH=alpha amd64 arm hppa i386 mips6
STATICPIE_ARCH=alpha amd64 arm hppa i386 mips64 mips64el powerpc sh sparc64
.for _arch in ${MACHINE_ARCH}
-.if !empty(CLANG_ARCH:M${_arch})
-COMPILER_VERSION?=clang
-.elif !empty(GCC3_ARCH:M${_arch})
+.if !empty(GCC3_ARCH:M${_arch})
COMPILER_VERSION?=gcc3
-.else
+.elif !empty(GCC4_ARCH:M${_arch})
COMPILER_VERSION?=gcc4
+.elif !empty(CLANG_ARCH:M${_arch})
+COMPILER_VERSION?=clang
+.endif
+
+.if !empty(GCC3_ARCH:M${_arch})
+BUILD_GCC3?=yes
+.else
+BUILD_GCC3?=no
+.endif
+.if !empty(GCC4_ARCH:M${_arch})
+BUILD_GCC4?=yes
+.else
+BUILD_GCC4?=no
+.endif
+.if !empty(CLANG_ARCH:M${_arch})
+BUILD_CLANG?=yes
+.else
+BUILD_CLANG?=no
.endif
.if !empty(STATICPIE_ARCH:M${_arch})