Subject: Re: MAKE_PROGRAM and tools.mk
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.ORG>
From: Julien T. Letessier <mezis@users.sourceforge.net>
List: tech-pkg
Date: 08/28/2003 15:04:20
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig0E2F3CC51A4B2841E627D47D
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Greg A. Woods wrote:

> Hmmm.... but it seems only rarely would such tools be all required
> together, at least on NetBSD (and of course linux, but maybe more often
> on the likes of Solaris and other pkgsrc target platforms).

That's why tools.mk only links the tools required by USE_GNU_TOOLS in 
${TOOLS_DIR}. Besides, the pkgsrc versions of the tools will only be 
pulled in if the OS doesn't have them.

> I don't have any huge objection to using all the GNU tools together to
> build stuff that needs to use one of more of them for whatever reason
> (other than the fact that generally they run slower and occupy a heck of
> a lot more VM :-), though I think it's more elegant to be explicit about
> which special tools are needed to build somethign (and on which host
> platforms).  It also seems that documenting exactly what tools are
> needed, and why, and where, seems to be prudent for pkgsrc.

That's the idea -- originally tools.mk was written by Grant in response 
to pkg/17776, which addressed the issue of Solaris' 'grep' not beeing 
good enough.

IMO a proper use of tools.mk is the following:

.include "../../mk/tools.mk"

.if ${OPSYS} == "SunOS"
# Sun's "sed" cant' handle enough command-line arguments
USE_GNU_TOOLS+=	sed
.endif

Does this seem prudent enough?

> Besides, if you've got to change all occurances of USE_GMAKE into
> USE_GNU_TOOLS+=make then you've only wasted everyone's time and energy
> for zero gain.  Just leave USE_GMAKE alone and hide the magic to
> implement it in the one place it's necessary. 

Well, it'd be easy enough to search-and-replace instances of USE_GMAKE 
throughout pkgsrc. Leaving it alone and hiding the magic away is 
cleaner, but perhaps we should add some flavor of

WARNING: USE_GMAKE is deprecated. Use tools.mk instead, see Package.txt 
for details.

when a package says USE_GMAKE?

> Thanks very much for the explanation!

No problem. I didn't want you to think this shiny new wheel part of 
pkgsrc was junk :)

Cheerio,
-- 
Julien T. Letessier
Solarpack Project
http://solarpack.sourceforge.net

()  ascii ribbon campaign - against html mail & vCards
/\                        - against microsoft attachments

Key fingerprint = F1A3 C564 09FE 07A6 0327  7474 0F9F 5594 F657 9673

--------------enig0E2F3CC51A4B2841E627D47D
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAj9N/dwACgkQD59VlPZXlnM3MACgmJKsiKHuAHgHlR0WHkyKC+BJ
pyEAn0BxMvTtxyTFByuyIOgfljUHNW7q
=Fs6d
-----END PGP SIGNATURE-----

--------------enig0E2F3CC51A4B2841E627D47D--