defining dependencies for ports

Alex Zbyslaw xfb52 at dial.pipex.com
Mon Jul 17 16:19:19 UTC 2006


mike wrote:

> Thanks for the responses.  This is /exactly/ why I'm using ports 
> instead of packages, because I want to have things compiled with my 
> options.  However, the reason for my original post was that I'm having 
> a hard time customizing this, for java/Eclipse specifically.  I try 
> "make config" but it doesn't show anything.  So how do I go about 
> cutting out or changing some of the dependencies that I don't want if 
> there are no OPTIONS defined?
> And I can't find where these dependencies are even defined in this 
> case.  I grep everything in /usr/ports/java/eclipse and don't see 
> references to most of the dependencies.  Where are they defined if not 
> in the BUILD_DEPENDS, etc. variables of the Makefile?
>
What options you get for any port do depend on what the maintainer chose 
to put in.  If there is some option that eclipse itself has, but the 
port does not, then contacting the maintainer is where I might start.

Looking thought the eclipse Makefile you see things like:

.if defined(WITH_MOTIF)

or

.if !defined(WITHOUT_MOZILLA)

which tell you what is going to be looked for when the port is 
compiled.  Is that what you meant by dependencies?

So if using plain make you say something like "make WITH_MOTIF=1" or 
"make WITHOUT_MOZILLA=1".

Using portupgrade, you can add these to the MAKE_ARGS for java/eclipse 
in pkgtools.conf and have them used automatically every time you recompile.

Or there is

BUILD_DEPENDS=  ant:${PORTSDIR}/devel/apache-ant \
                zip:${PORTSDIR}/archivers/zip

but usually they are not optional for a reason!

What, specifically, were you trying to do?

Not every port supports "make config" unfortunately.  I haven't done 
enough port hacking to know how easy it is to add this to any port, but 
can't believe it's that hard - of course, hard depends on your 
experience!  Comparing to a port which *does* support make config 
(mozilla, samba3, portupgrade) may help you do it for yourself; the 
Porters Handbook on the website may also have helpful info.

hth,

--Alex




More information about the freebsd-questions mailing list