Subject: Re: USE_TOOLS=imake versus USE_IMAKE
To: Mark Davies <mark@mcs.vuw.ac.nz>
From: Johnny C. Lam <jlam@pkgsrc.org>
List: tech-pkg
Date: 11/30/2007 14:55:37
Mark Davies wrote:
> On Friday 30 November 2007 23:31:46 Joerg Sonnenberger wrote:
>> On Thu, Nov 29, 2007 at 11:17:27PM -0600, Jeremy C. Reed wrote:
>>> I see USE_TOOLS supports imake, itools, xmkmf, makedepend, and
>>> mkdirhier.
>>>
>>> Some packages use that and some use USE_IMAKE. USE_IMAKE is
>>> documented.
>>>
>>> When to use what?
>> USE_IMAKE is older and was necessary in the pre-modular days to
>> turn some magic processing on. I don't think it has a valid use
>> anymore, but it should be checked that all magic remains.
> 
> Isn't the distinction that:
> 
> USE_TOOLS+=imake (or xmkmf ...) means that the package uses that tool 
> in the build at some point.
> 
> USE_IMAKE means that the package uses imake at the configure stage to 
> do the configuration (and mk/configure/configure.mk calls it).
> 
> USE_IMAKE implies USE_TOOLS+=imake but not the other way round.

What I had in mind when I made imake and xmkmf into tools in the tools 
framework is:

USE_TOOLS+=imake means the package uses the tool during "some part of 
the build", whether that be the configure stage or the build stage or 
whatever.  Some packages have GNU configure scripts that (inexplicably) 
call imake or xmkmf for some (stupid) reasons known only to the authors.

USE_IMAKE means that the package uses the *.cf files to build Makefiles 
in the configure stage that are used in the build and install phases. 
These types of packages are "X11" packages that rely on those silly *.cf 
files for path information.

USE_IMAKE does imply USE_TOOLS+=imake while the converse is not true.

	Cheers,

	-- Johnny C. Lam