On Mon, Apr 17, 2017 at 10:04:47AM +0200, Mark Kettenis wrote:
> > 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.
The logic in Makefile.cross which uses CLANG_ARCH should be reordered to
match bsd.own.mk or it will set COMPILER_VERSION=clang for amd64 though
that could come later.
ok jsg@
>
> 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})
>