Subject: Re: Usage of USE_TOOLS
To: None <tech-pkg@NetBSD.org>
From: Roland Illig <rillig@NetBSD.org>
List: tech-pkg
Date: 11/20/2007 00:48:04
Min Sik Kim wrote:
> The USE_TOOLS definition is used both internally by pkgsrc and also
> for individual packages to define what commands are needed for
> building  a package (like BUILD_DEPENDS) or for later run-time of an
> installed packaged (such as DEPENDS). If the native system provides
> an adequate tool, then in many cases, a pkgsrc package will not be
> used.

The confusion gets clear when we consider cross-compiling SPARC packages 
(target platform) on i386 (native platform). There are many types of 
dependencies:

USE_TOOLS: tools for the native platform. References to these tools 
should not end up in the package binary, unless the paths are the same. 
(XXX: How can this be checked?)

BOOTSTRAP_DEPENDS: Packages for the native platform that must be 
installed when building the package.


DEPENDS: Packages for the target platform that are needed at runtime and 
when building the package.

BUILD_DEPENDS: Packages for the target platform that must be installed 
when the package is built. They are not needed for running the package 
later.

BUILDLINK_DEPENDS: Packages for the target platform whose files must be 
available to the compilers and linker when building a package.


I hope that these definitions meet everyone's view and that the correct 
types of dependencies will be used by all pkgsrc packages in the 
not-too-far future. Currently they aren't.

Roland