Subject: Re: CVS commit: pkgsrc/lang/gcc3
To: Matthias Drochner <>
From: Todd Vierling <>
List: tech-pkg
Date: 07/03/2003 11:28:44
On Thu, 3 Jul 2003, Matthias Drochner wrote:

: I thought about an extra pkg, which does more or less:
: configure --enable-languages="java"
: (cd ${WRKSRC}/gcc && make java)
: (cd ${WRKSRC} && make all-target-libjava)

This typically requires building all of the C and C++ backends without major
hackery (more than just libiberty.a and xgcc -- be my guest and try it 8-).

: > pkgsrc needs Fortran support
: This would work the same way, with "f77" and "libf2c",
: respectively.

pkgsrc needs Fortran support *by default*, because there are indeed Fortran
packages in pkgsrc.  Unless you have already made this special external
package, and it works, and is committed into pkgsrc, and you've made the
necessary changes to buildlink2 to find the special external package, please
revert the change.

BTW, what about Ada?  Objective-C?

If you really want to go the multi-pkg route, please take an approach
somewhat like this:

* Back out this change to make the "gcc" package build the whole thing.
  (Hell, if you go down this road, I'm personally amenable to disabling
  *only* Java until the conversion process is complete.)

* Make gcc-c, gcc-c++, gcc-f77, gcc-java, gcc-ada, gcc-objc packages for
  each language.  Hackery aside, the necessary dependencies will be:

    gcc-c++ -> gcc-c
    gcc-f77 -> gcc-c
    gcc-java -> gcc-c, gcc-c++
    gcc-ada -> gcc-c
    gcc-objc -> gcc-c

* Create necessary buildlink2 fragments to find the specific subpackage
  (gcc-c, gcc-c++, gcc-f77) where needed to build things in pkgsrc.

* Then, once all of the above packages are committed with CONFLICTS set to
  "gcc-[0-9]*", change "gcc" to be just a meta-package of the above.

-- Todd Vierling <>