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