Subject: Re: Can we trim the fat from gcc3, please?
To: Frederick Bruckman <fredb@immanent.net>
From: Todd Vierling <tv@pobox.com>
List: tech-pkg
Date: 06/15/2003 11:48:50
On Sun, 15 Jun 2003, Frederick Bruckman wrote:

: I propose to strip down lang/gcc3 to just the stuff that we need,
: namely, C and C++.

I use the java parts of lang/gcc3.  (I've actually been working on getting
boehm-gc working with pth to make this possible under 1.6.x.)  And Fortran
*is* used by some parts of pkgsrc, so you probaby should include it.

: 1) It hampers the cause of testing gcc-3.3 in advance of it being
: committed to the base NetBSD sources.

FUD, to be sure, but....

: 2) It makes it hard to test and troubleshoot the "gcc3" package
: itself.

Huh?
.
: 3) We're requiring "gcc" or "gcc3" for a few packages already -- for
: the C and C++ front-ends.

So make a "pkgtools/gcc3" stripped down version of it, and let
gcc3.buildlink2.mk work if either version is installed.

: I posted a patch in PR pkg/21848. If folks are already relying on gcc3's
: "gcj", I suppose I could make another package for them, although I'd
: really rather someone else did that. It actually looks to be fairly
: trivial to clone the package with a different "--with-lang".

You haven't even tried using "--with-languages" yet, have you?  (Hint:
Only setting the LANGUAGES env var at "configure" time works properly at
"make" time; this is a known gcc bug.  8-)

: The only hard part will be making sure certain files (such as
: "libiberty.a") don't conflict, and of course, finding a host that can
: actually build it, and a day or two to do so.

Building the Java bits requires building the C and C++ bits in full, so a
"full gcc3" package *will* conflict with a "non-java gcc3" package.
Again, how about a "pkgtools/gcc3"  for the stripped down version and leave
the full version to work as gcc3 "normally" builds?

As an alternative:  Make a Makefile variable such as GCC3_EXTRA_LANGUAGES
that defaults to empty and can be changed in mk.conf to modify what
languages are built for the pkg.  This would be added to the list "c c++
f77" that is put into LANGUAGES when building gcc3.  And since gcc3 already
uses dynamic PLIST generation, you have no problem in creating a proper
PLIST for the requested languages.

-- 
-- Todd Vierling <tv@pobox.com>