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 <lan...@openbsd.org>
> > Content-Disposition: inline
> > List-Owner: <mailto:owner-t...@openbsd.org>
> > X-Loop: tech@openbsd.org
> > Sender: owner-t...@openbsd.org
> > 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: mark.kette...@xs4all.nl
> > 
> > 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})
> 

Reply via email to