Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 May 2002 13:59:53 +0300
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        "David O'Brien" <obrien@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src Makefile.inc1 src/gnu/lib Makefile src/gnu/usr.bin Makefile src/gnu/usr.bin/cc Makefile
Message-ID:  <20020517105953.GC75925@sunbay.com>
In-Reply-To: <20020516115207.B67791@dragon.nuxi.com>
References:  <200205151629.g4FGTj062213@freefall.freebsd.org> <20020515150513.A14077@dragon.nuxi.com> <20020516055741.GA26715@sunbay.com> <20020516014650.A41621@dragon.nuxi.com> <20020516103848.GA65503@sunbay.com> <20020516115207.B67791@dragon.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Thu, May 16, 2002 at 11:52:07AM -0700, David O'Brien wrote:
> On Thu, May 16, 2002 at 01:38:48PM +0300, Ruslan Ermilov wrote:
> > > Yes I did look at the diffs.  What C++ compiler do we have that is named 
> > > "c++" other than the system one?  Certainly none of the GCC ports I
> > > 
> > Obviously I just added _more_ variants for the external C++ compiler.
> 
> Tell me which compiler?  I don't want "in theory", I want "real world".
> 
> 1. You are backing out my changeds from only 5 days ago w/o asking me to
>    explain them.  
>    
> 2. The bit you show as an example is only part of your change.  You
>    totally backed out some of my changes:
> 
>    +# $FreeBSD: /c/ncvs/src/Makefile.inc1,v 1.277 2002/05/15 16:29:44 ru Exp $
>    -.if ${CXX} == "c++"
>    -NO_CXX=        yes
>    -.endif
> 
>    +# $FreeBSD: /c/ncvs/src/gnu/lib/Makefile,v 1.37 2002/05/15 16:29:45 ru Exp $
>    -.if ${CXX:T} == "c++"
>    -NO_CXX=        yes
>    -.endif
> 
>    +# $FreeBSD: /c/ncvs/src/gnu/usr.bin/cc/Makefile,v 1.30 2002/05/15 16:29:45 ru Exp $
>    [you removed c++, c++filt, and doc from the build]
>     
> 
> I do not think you understand the issues here.  Since discussing things
> is now dangerous as hell around here.  I am going to simply ask core to
> have you back out your commit under "Big List of Rules" #6.
> 
If anyone really listens to this, we're currently working with -core on
resolving the issue.

> > > > in a normal bootstrapping sequence no special hacks are necessary.
> > > 
> > > Gperf is written in C++.  If you have no system C++ compiler and CXX is
> > > set to its stock value; how are you going to build gperf?  We experience
> > > this in the Sparc64 world where we never had a 2.95 system compiler.
> > 
> > If that's the case, you want to cross-compile the sparc64 world (or only
> > gperf) using say i386 version of the sparc64 cross-compiler.  
> 
> How is that going to help??  A C++ support libraries that does not exist
> on the i386 or sparc64 natively, will some how pop out of the build?
> 
They _do_ exist on 4.x.  A 4.x i386 host can build "gperf" that can later
be used to build cc1plus for sparc64.

> > I fail to
> > see how the check of whether "gperf" is in the PATH (the check is as
> > simple as for kldxref(8) in sys/modules/Makefile) helps you to proceed.
> 
> Because if gperf is not in the path, cc1plus should not be built.
> I could just disconnect cc1plus from the build, but then it could
> atrophy.
> 
Fine, then it would be logical to use the same test in cc/Makefile as
in Makefile.inc1.  Specifically:

%%%
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/cc/Makefile,v
retrieving revision 1.32
diff -u -r1.32 Makefile
--- Makefile	17 May 2002 05:41:47 -0000	1.32
+++ Makefile	17 May 2002 08:44:49 -0000
@@ -10,7 +10,10 @@
 .endif
 
 .if !defined(NO_CXX)
-SUBDIR+= cc1plus c++ c++filt
+.if ${CXX} != "c++"		# gperf is not built by Makefile.inc1
+SUBDIR+= cc1plus
+.endif
+SUBDIR+= c++ c++filt
 .if !defined(NO_COLLECT2)
 #SUBDIR+= collect2
 .endif
%%%

> > "Cross compiling is next step to porting", to quote Terry.
> 
> We are *ALREADY* self hosting.  On your i386 box "rm /usr/bin/gperf",
> remove any CXX settings you have; and try to build world.
> 
This will now break buildworld, as you have requested me to back out
gnu/usr.bin/cc/Makefile,v 1.30 changes.  :-)


Cheers,
-- 
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)

iD8DBQE85OKpUkv4P6juNwoRAiEAAKCD7Feunztehbq0KMFQN1vMyOUvrgCfYDtT
5HupuRkHss5//2s5VovqOQk=
=7rYw
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020517105953.GC75925>