Commit graph

13 commits

Author SHA1 Message Date
jlam
841b57441b Merge pkgviews-mk branch into the HEAD by running:
cd pkgsrc/mk
	cvs update -Pd -A
	cvs update -Pd -j pkgviews-mk-base -j pkgviews-mk
2003-09-02 06:59:37 +00:00
jlam
30dae47585 GNU make installed from pkgsrc can always be found as
${LOCALBASE}/bin/gmake.  ${LOCALBASE}/bin/${GNU_PROGRAM_PREFIX}/make
technically works, too, but this covers the (unsupported!!) case where the
user has GNU_PROGRAM_PREFIX="" and has moved the "make" binary directly
over the "gmake" symlink created by pkgsrc (Jeremy Reed reported this
problem on tech-pkg@ because he uses this a a debugging technique to find
out whether GNU make is actually needed by a package or not).
2003-08-27 20:03:44 +00:00
jlam
53001478f3 Cut-n-pasto: s/GREP/GMAKE/ in the GNU make section. (from pkgviews-mk) 2003-08-27 01:58:25 +00:00
jlam
9fbdc941fe Create a symlink from the "make" requested by the package into
${TOOLS_DIR}/bin/make.  If a package wants GNU make, then it should
set:
	USE_GNU_TOOLS+=	make

in the package Makefile.  Allow for USE_GMAKE to continue to work
until we get a chance to sweep through pkgsrc and remove the usage
of this now-redundant variable.

This change allows us to avoid patching makefiles that use a bare
"make" command to invoke sub-make processes.  Idea suggested by
salo@netbsd.org in pkg/22509.
2003-08-26 20:15:23 +00:00
jlam
a8e872425a Avoid circular dependencies if USE_GNU_TOOLS is set unconditionally in
either the environment or in /etc/mk.conf by telling dependencies of the
named GNU tool to ignore any USE_GNU_TOOLS settings when they are built.
2003-08-17 04:06:36 +00:00
jlam
b6231ea0ad If an OS is listed in _TOOLS_REPLACE_OPSYS.<tool>, then we want to make
sure that tool is symlinked into ${TOOLS_DIR}/bin.
2003-08-17 02:03:53 +00:00
grant
bd01fe0985 put SunOS back in _TOOLS_REPLACE_OPSYS.sed. 2003-08-16 23:54:31 +00:00
grant
02cce8b3fe fix small typo: TOOLS_REPLACE -> _TOOLS_REPLACE 2003-08-16 23:49:27 +00:00
jlam
ac0258dd3c Move the hide-tools portion of bsd.buildlink2.mk into tools.mk, and
put the tools in ${WRKDIR}/.tools/bin instead of in ${BUILDLINK_DIR},
and remove the need for buildlink2 to use USE_GNU_TOOLS.  In the
modified USE_GNU_TOOLS implementation, the following implementation-
specific variables have the following meanings:

_TOOLS_REPLACE.<tool>
        means that we want ${AWK}, ${SED}, etc. symlinked into
        ${TOOLS_DIR} as awk, sed, etc.

_TOOLS_NEED_GNU.<tool>
        means that we want to use the pkgsrc version of <tool>
        symlinked info ${TOOLS_DIR} as awk, sed, etc.  If this is
        "YES", then it always trumps _TOOLS_REPLACE.<tool>.

And we want nothing to happen if we're building the pkgsrc GNU tool
itself.  The modified USE_GNU_TOOLS implementation should also
hopefully fix the circular dependency problem.

Create a new target "tools" that is run after "patch" and before
"buildlink" that populates the ${TOOLS_DIR} directory.  This ensures
that it's always run at the right time, instead of relying on
pre-buildlink or pre-configure, which may be cancelled by
NO_BUILDLINK or NO_CONFIGURE.

XXX There is some possible fallout in texinfo.mk with the MAKE_ENV and
XXX CONFIGURE_ENV settings for INSTALL_INFO and MAKEINFO.  It looks
XXX like the MAKE_ENV and CONFIGURE_ENV settings should move from
XXX tools.mk into texinfo.mk, and they no longer need to be
XXX conditional on USE_BUILDLINK2.  I'll leave it to the texinfo.mk
XXX dude (Hi, Stoned!).
2003-08-16 08:50:17 +00:00
grant
ac87db1d30 mark sed on Solaris as having a suitable replacement, eliminating the
circular dependency on GNU sed until this is addressed properly.
2003-08-12 11:39:46 +00:00
grant
679b21fb8f depend on the right version of grep. 2003-08-02 05:07:35 +00:00
grant
46d3d2155b comment: clarify and describe why USE_GNU_TOOLS+= must be used. 2003-08-02 04:49:14 +00:00
grant
850eaa604f handle platforms with broken tools in the base system, such as sed
and awk. as proposed on tech-pkg@, with some changes to set the
appropriate tool variables and handle OSs which provide GNU tools
in the base system (ie. do nothing).

this allows packages or users to force the use of pkgsrc GNU tools
when they are not present in the base system by defining e.g.
USE_GNU_TOOLS="awk sed".

Solaris' sed is marked as incompatible, as even the XPG4 sed is too
limited for a number of packages (especially large ones which use
libtool, as libtool calls blind 'sed'), so GNU sed is always used
on Solaris.
2003-08-02 03:46:34 +00:00