HEADS UP: Latest round of bsd.*.mk changes

Ade Lovett ade at FreeBSD.org
Wed Feb 4 02:37:00 PST 2004


On Wed, 2004-02-04 at 00:27, Kris Kennaway wrote:
> On Wed, Feb 04, 2004 at 10:12:00AM +0200, Andy Fawcett wrote:
> > yes=LIB_DEPENDS
> > build=BUILD_DEPENDS
> > run=RUN_DEPENDS (not sure if any ports use it as a runtime dep only)
> 
> That seems unnecessary, as well as being a departure from convention.

Convention is made to be broken, code almost identical to this is done
to handle the hairy libtool/autoconf/automake stuff, where sometimes it
is just as important for a run-time dependency to be kept automagically
up-to-date as a shlib version bump.

I would therefore suggest an extension:

	USE_<thing> = <what> [ ':' <version> ]

	<what> = YES	(port dependent default, usually 'lib' below)
		 build	(add to BUILD_DEPENDS)
		 run	(add to RUN_DEPENDS)
		 lib	(add to LIB_DEPENDS)
		 conf	('lib' + extra code in 'configure' step)

	<version>, if present, merely sets a make(1) variable
	_useversion_<thing>= <version>
	for port-specific magic.
		 
> What's wrong with continuing to BUILD_DEPENDS on the gettext port?

Once set to USE_GETTEXT= build, presumably one would be less likely to
ever have to touch that part of the dependent port Makefile, and to
remain in sync with the rest of the tree - something which I have
learned the hard way, trying to keep the libtool stuff up with the rapid
number of commits to the tree, and then having to verify no more odd
cases snuck in.

The above also has the opportunity to stamp out the ever increasing use
of <something>_VER= ... variables.

Of course, no-one is forcing anybody to actually use (sic) it.  The good
old fashioned way is right there too.

Abstracting out repeated code, particularly that which references ports
used by a large percentage of the tree, is a good thing, and should be
encouraged.


> USE_GETTEXT was added to deal with shared library bumps, which are not
> an issue for these ports.

I contend that they are an issue.  If USE_GETTEXT= build was in place
before the whole .12/.13 thing, it could have been changed in ONE place,
rather than two large commits across the tree.  Whether it would have
been any more or less broken is an entirely different issue, the more
extensive use of these variables that is made, the easier it becomes to
manage.

-aDe




More information about the freebsd-ports mailing list