Commit graph

498 commits

Author SHA1 Message Date
jlam
4d60064932 Reorder the loop so that we can never get into an infinite loop. We
now pass every line we don't need to process directly through to
msgfmt.  This fixes building pt_BR.po in libgnomedb where all of the
lines end with "^M" and this script wasn't properly detecting a blank
line as a result.
2006-04-15 04:41:08 +00:00
jlam
c5dba803cb Modify the loop so that the statements and comment lines can be
interspersed.
2006-04-15 04:32:02 +00:00
jlam
32cd3f09b7 Replace a re-used regular expression with a constant. 2006-04-15 01:36:40 +00:00
jlam
1c39903d14 Drop all msgstr[N] translations besides msgstr[0] and msgstr[1] because
those translations can have no corresponding msgid anchor in the old
PO file format.  This allows all of the *.po files in gnome-vfs2 to
build correctly into *.mo files.
2006-04-14 22:37:38 +00:00
jlam
b770e349e6 Whitespace changes for proper indentation. 2006-04-14 22:23:25 +00:00
jlam
fb96576317 Remove debugging code so that we actually invoke msgfmt. 2006-04-14 22:21:04 +00:00
jlam
65abd7dc11 Avoid using the awk input loop and use our own while loop in a BEGIN
statement.  While here fix processing of *.po files containing obsolete
statements by preserving them for msgfmt to handle.  Also use a few
more constants to make the code more maintainable and readable.
2006-04-14 22:16:33 +00:00
jlam
46ac1a79cc Support a --debug flag that dumps the output of the awk script to a
*.debug file.
2006-04-14 14:40:34 +00:00
jlam
0be006d1fe Now that I understand why we strip "#~" from the head of lines, strip
it consistently whenever we read a new line of input throughout the
script.  Note that this was actually broken in the original msgfmt.pl
script as well.
2006-04-14 14:06:54 +00:00
jlam
4fd6588dbf Use the correct cat command. 2006-04-14 13:49:17 +00:00
jlam
018313ec9e Document the puzzling line that strips "#~" from the start of lines.
Explanation provided by jmmv in private email.
2006-04-14 13:43:23 +00:00
jlam
0107cd1802 Add TNF copyright to file as suggested by jmmv in private email. 2006-04-14 13:40:07 +00:00
jlam
35c719b4c3 Do a bit more error-checking -- if no input file is specified, just run
the msgfmt command to get the right error message and return code.
2006-04-13 19:41:22 +00:00
jlam
d0f812f4cb Move the gettext tools handling to mk/tools/gettext.mk. We ensure
that we use the pkgsrc versions of xgettext and gettext if we're also
using the pkgsrc version of msgfmt.
2006-04-13 19:24:29 +00:00
jlam
fe289f4c72 Rename msgfmt.mk to gettext.mk. The rest of the gettext tool handling
will be moved here from replace.mk shortly.
2006-04-13 18:45:01 +00:00
jlam
0f4967eb59 Overhaul the way packages can ask for "msgfmt". If a package needs
msgfmt, then it should set the following in the package Makefile:

	USE_TOOLS+=	msgfmt

To deal with message files that use the "msgid_plural" statement,
which isn't supported in NetBSD<=3.x and also in gettext<=0.10.35, we
determine if the built-in "msgfmt" is sufficiently new enough to
understand "msgid_plural".  If it isn't, then we use the msgfmt.sh
script to transform the msgid_plural statements to an equivalent
construct that's understood by older msgfmt tools.

The msgfmt.sh script is a straightforward translation of the original
perl script msgfmt.pl script by Julio M. Merino Vidal into shell and
awk, which are more lightweight dependencies than perl.

We remove the USE_MSGFMT_PLURALS bits in gettext-lib/builtin.mk as they
are made obsolete by the new code in mk/tools/msgfmt.mk.

BUILD_USE_MSGFMT is still supported but will be removed in a separate
commit.
2006-04-13 16:35:57 +00:00
jlam
75228d481d If the package doesn't ask makeinfo, create a broken makeinfo tool
that will return non-zero if invoked as "makeinfo --version", but will
touch the output file if invoked blindly.  This should workaround some
stupidity in the way that automake-generated Makefiles try to determine
when and how to rebuild info files.
2006-04-07 14:52:55 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
jlam
766f664aef Teach the tools framework about "texi2html". 2006-03-19 23:40:07 +00:00
jlam
ac1b7b84dd Teach the tools framework about "makedepend", supplied by the imake
packages.
2006-03-16 22:31:59 +00:00
minskim
732edfe9b5 Teach the tools framework about Darwin's tclsh and wish. 2006-03-08 21:18:43 +00:00
jlam
2d8270de7f Teach the tools framework how to supply a pkgsrc version of install-info
if a native one isn't available.  We ensure that the "install-info"
tool in the tools directory is a no-op since the real info file
registration is handled by the INSTALL/DEINSTALL script in
pkgsrc/mk/pkginstall/install-info.
2006-03-06 05:25:45 +00:00
jlam
ee70645e5a It's probably "/bin/makeinfo", not "/usr/bin/makeinfo". 2006-03-05 18:12:52 +00:00
jlam
6e0c050321 * Teach the tools framework how to supply the pkgsrc version of
makeinfo if no native makeinfo executable exists.  Honor TEXINFO_REQD
  when determining whether the native makeinfo can be used.

* Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo.

* Get rid of all the "split" argument deduction for makeinfo since
  the PLIST module already handles varying numbers of split info files
  correctly.

NOTE: Platforms that have "makeinfo" in the base system should check
      that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are
      correct.
2006-03-05 16:27:22 +00:00
rillig
c68eda5945 Instead of passing only the path to the tools to CONFIGURE_ARGS, pass
the complete command. This fixes problems when EGREP is defined as "grep
-E" instead of "egrep".
2006-02-21 17:39:32 +00:00
wiz
177382d089 Fix typo in type1inst depends line. 2006-02-17 19:31:33 +00:00
reed
b7ba80cac2 DragonFly has native /usr/bin/gtar so add TOOLS_PLATFORM.gtar. 2006-02-15 20:02:30 +00:00
jlam
aba46732d5 Teach the tools framework about various gettext-tools: gettext, msgfmt,
and xgettext.  These are supplied by devel/gettext-tools if not present
in the base system.
2006-02-11 00:23:24 +00:00
jlam
63b6d811e1 Actually heed the value of IMAKE if it is set by the user. 2006-01-28 00:32:31 +00:00
jlam
a43daa0f30 unzip uses UNZIP as a special environment variable to denote the options
to pass to unzip.  While this is stupid, it's still the reality, so we
must not set UNZIP in the environment when calling unzip.  Rename "UNZIP"
to "UNZIP_CMD" to point to the path to the unzip binary.
2006-01-21 14:40:31 +00:00
tron
422b96cdc7 (At least) Mac OS X Tiger comes with a fine working "tbl" command. 2006-01-16 21:50:46 +00:00
jlam
7a25bc452c Fix a typo that was causing imake, mkdirhier and xmkmf to not be created
as tools in the tools directory.
2006-01-12 19:26:02 +00:00
jlam
3c30c2b533 Re-implement some code that was lost in revision 1.144 so that IMAKE may
be overridden to point to the path of the imake binary to use.
2006-01-12 18:29:03 +00:00
jlam
228eeacad9 Teach the tools framework about the ``ksh'' tool, provided by the
shells/pdksh package if it doesn't exist on the base system.
2006-01-09 18:32:52 +00:00
jlam
4593519ecc Teach the tools framework about "gsoelim", which is the soelim tool from
a groff distribution.
2006-01-08 23:00:00 +00:00
jlam
ff83ba02a2 Consolidate groff-supplied tools into one section. 2006-01-08 22:09:05 +00:00
jlam
91abe4f16b Teach the tools framework about ttmkfdir and type1inst. 2005-12-28 22:41:27 +00:00
jlam
3608385513 Whitespace changes to align with other sections. 2005-12-28 22:26:50 +00:00
jlam
f4717afe89 Consolidate xmkmf with the other "imake" tools. 2005-12-28 22:21:19 +00:00
reed
7c96304247 For the x11-clients section, use "XFree86-clients" instead of
"imake" for the TOOLS_PREFIX (for the XFree86-clients provided tool).

(Asked about on tech-pkg and jlam said to commit.)
2005-12-28 16:46:38 +00:00
reed
bbb8d7bfe7 Add makepsres to _TOOLS.x11-clients.
(makepsres used for lyx install for example.)
2005-12-28 04:24:37 +00:00
jlam
6156dddfc7 If bison is used, always pass YACC="bison -y". This should fix
PR pkg/31493, where YACC="bison" was wrongly being passed to the
configure script.
2005-12-22 18:55:41 +00:00
joerg
479de5b14d Add mkdirhier to the tools provided by an imake package.
Move the code down to the X11 clients handling as suggested by jlam@.
2005-12-22 14:49:10 +00:00
wiz
40b2ba02ff Desupport the various ghostscript*x11* packages (replaced by x11 option). 2005-12-09 20:32:22 +00:00
rillig
999f8b6e04 Applied all quoting fixes found by "pkglint --autofix". 2005-12-05 22:07:07 +00:00
joerg
d9c8d8f5ad xmessage is another X11 client used by other programs. 2005-12-03 21:03:47 +00:00
wiz
1189c2f0ed Remove NO_X11 handling completely -- it is not referenced anywhere
else in pkgsrc.
2005-12-01 18:38:45 +00:00
wiz
0f14d10fce Remove support for obsolete USE_CUPS variable.
Fix NO_X11 handling according to my guess how it should behave
(instead of being a clause with no effect).
2005-12-01 18:25:27 +00:00
joerg
a68b97b857 Add iceauth as x11-client tool, used by x11/xfce4-session. 2005-12-01 15:02:22 +00:00
rillig
86d2fdd58a The make(1) of NetBSD 1.6.2 gets confused by complicated conditionals
involving undefined variables. Added a work-around by splitting up the
conditionals.

Fixes PR 32206.
2005-12-01 09:24:09 +00:00
jlam
ec87e5b5a9 Teach the tools framework about gs, pdftops and pstopdf, which can be
supplied by one of several Ghostscript packages.  The minimum required
version of Ghostscript can be specified in GHOSTSCRIPT_REQD, which
defaults to "6.01".
2005-11-28 06:06:16 +00:00
jlam
43471231f2 Fix a copy-and-paste bug that probably caused some tools to not be
created on platforms lacking "coreutils", "grep", or "diffutils".
2005-11-28 05:39:20 +00:00
jlam
b49397bb19 Teach the tools framework about wish and tclsh, and set WISH and TCLSH
accordingly for packages that need it.
2005-11-08 23:06:38 +00:00
jlam
0b3f4b2593 Teach the tools framework how to replace mkfontdir and mkfontscale
using an X11 clients package.
2005-11-08 17:41:26 +00:00
jlam
f00b513900 Consolidate blocks for tools that were supplied by the same package into
a loop so that it's easier to maintain and add new tools.
2005-11-08 17:38:52 +00:00
tv
312e7c87c7 Add "soelim", also part of groff if replacement is needed. 2005-11-08 03:36:13 +00:00
jlam
72750fdc87 Teach the tools framework about "sleep" which can be provided by the
sysutils/coreutils package.
2005-11-04 20:02:01 +00:00
jlam
f41a58b8a8 Add a GNU variable for byacc so configure scripts will use YACC=byacc. 2005-11-04 19:28:33 +00:00
jlam
5d8e462fec Add 'printf' and 'byacc' variables corresponding to the new tools in
replace.mk.
2005-11-04 19:27:13 +00:00
jschauma
92854abe05 If we're using devel/patch, then we know that we can create backup files
and how, so set this.
Fixes problems observed under (at least) IRIX, where otherwise a call to

gpatch ${_PATCH_BACKUP_ARG} .orig <patch

would fail, as ${_PATCH_BACKUP_ARG} would be the empty string.
2005-10-30 17:32:07 +00:00
tv
b293149e37 Bump up awk's (fixed) record size limit, to something more modern.
(The inbuilt 3k limit is too low for some pkgsrc work.)
2005-10-24 17:36:42 +00:00
schwarz
a0fe98b535 modification to increase imake handling flexibility for IRIX (in particular
with respect to IRIX 5).
Changes approved by jschauma and recht.
2005-10-16 19:38:05 +00:00
jlam
2f774b2802 Teach the tools framework about ``printf'', which can be replaced by the
printf in sysutils/coreutils.
2005-10-12 16:28:29 +00:00
reed
1200615919 x11/imake was changed to x11/XFree86-imake. Also package name
changed to XFree86-imake.
2005-10-10 17:22:05 +00:00
heinz
dd8790a049 The replacement script for UnixWare's buggy "mkdir" command needs the "-p"
switch, like all the other "mkdir" definitions in tools.<platform>.mk.
2005-10-09 20:19:26 +00:00
tv
694fe08fc2 The Interix-supplied gawk is horribly broken; use classical awk.
(This might mean fixing up some packages that assume awk >= nawk/gawk.  :)
2005-10-05 16:10:20 +00:00
jmmv
193eca4140 Check for PKG_DEVELOPER in the same way as we do in other places.
Should fix problems if the variable is undefined.
2005-10-01 14:30:15 +00:00
jmmv
6abb86357f Generate a log file in the work directory with all calls to pkg-config so
that we can later use them to sanity check the package dependencies.
Requires pkg-config 0.19nb1 to work but does no harm with older versions.
2005-10-01 12:55:20 +00:00
jlam
1403b1ed13 Teach the tools framework about "byacc", which is a Berkeley-compatible
YACC.  This should be used by packages that require NOT using bison
(maybe because bison can't handle the .y file) but still need a yacc.
2005-09-20 03:50:18 +00:00
dmcmahill
6f5f8ba3a3 Do not define gtar to be the same as ${LOCALBASE}/bin/tar
since the latter is not GNU tar.  Fixes some extract problems
on solaris and others where a buggy distfile needs GNU tar.
No effect on NetBSD.  Discussed with jlam.
2005-09-13 04:24:35 +00:00
dmcmahill
700971659f revert to /usr/bin/tr per an email from Grant. Seems /usr/xpg4/bin/tr
has enough problems of its own.
2005-08-30 00:32:46 +00:00
reed
61928204d0 Support BSD/OS 5.0 also as some tools are in new locations.
Thank you, T. M. Pederson. This is PR #31081.
2005-08-28 01:43:56 +00:00
reed
290a112e1d Make sure file exists before defining TOOLS_PLATFORM.mktemp. 2005-08-26 05:41:39 +00:00
dmcmahill
410296adc6 use /usr/xpg4/bin/tr instead of /usr/bin/tr 2005-08-23 12:52:59 +00:00
jlam
151a84db64 Turn the location of the *.pc files in which the pkg-config wrapper will
look into a private variable _PKG_CONFIG_LIBDIR.  This variable should
*NOT* be settable by the user.
2005-08-16 13:32:00 +00:00
jlam
7820875fff Remove the abuse of buildlink that was pkg-config/buildlink3.mk. That
file's sole purpose was to provide a dependency on pkg-config and set
some environment variables.  Instead, turn pkg-config into a "tool"
in the tools framework, where the pkg-config wrapper automatically
adds PKG_CONFIG_LIBDIR to the environment before invoking the real
pkg-config.

For all package Makefiles that included pkg-config/buildlink3.mk, remove
that inclusion and replace it with USE_TOOLS+=pkg-config.
2005-08-10 20:56:10 +00:00
jlam
1a4f92a3d5 Fix a cut-and-paste bug. 2005-08-10 06:08:48 +00:00
jlam
3bb5f20078 No version of FreeBSD has /usr/bin/shlock. 2005-08-10 02:57:32 +00:00
xtraeme
a386e5f916 Set TOOLS_PLATFORM.shlock only if exists the binary on /usr/bin,
reported by Lars Nordlund via tech-pkg@.
2005-08-08 21:43:35 +00:00
jlam
86f9268481 Update lang/perl5 to 5.8.7. Changes from version 5.8.6 include updates
for many "core" modules, UTF-8 and Unicode bugfixes, and ithreads
bugfixes.

The major changes are in the pkgsrc infrastructure to handle Perl and
Perl modules.  All pkgsrc-installed Perl modules are now installed in
"vendor" directories, and the perl interpreter has been modifed to
search for libraries in the following order: site, vendor, perl.  The
Perl library is stored in a directory that is named for the Perl ABI
version associated with the Perl release, so any updates of Perl to
newer versions can be done "in-place" as long as Perl ABI version
remains the same.  All Perl scripts and man pages are stored in
locations that won't conflict between site, vendor, and perl modules,
and a new utility perllink(1) now manages symlinks to those scripts
and man pages under the usual ${LOCALBASE}/bin and ${LOCALBASE}/man/man1.

PERL5_SITEPREFIX may be set to the prefix where local, site-specific
modules will be installed, e.g. PERL5_SITEPREFIX=/usr/local.  Note
that modules installed here are completely unmanaged by pkgsrc.

Update the buildlink and tool dependencies on perl to require perl>=5.8.7
to reflect the new locations for Perl modules and the Perl shared
library.
2005-08-06 06:18:44 +00:00
grant
1420457a5e Solaris may have tbl(1) from the SUNWdoc package. avoids unnecessary
dependency on groff just for tbl(1) when available in the base system.

also, add .if exists() around nroff(1) because SUNWdoc is optional.
2005-07-31 05:24:52 +00:00
seb
b33a847bf3 No need to define TOOLS_PLATFORM.gtar for Darwin and Linux,
it is correctly defined in tools.Darwin.mk and tools.Linux.mk.
2005-07-30 00:38:56 +00:00
jlam
4e9386339e Provide a "pod2man" tool used by some packages to build man pages.
Based on suggestion by Matthias Drochner.
2005-07-26 20:00:50 +00:00
jlam
1465d7a6cc We only need to recognize TOOLS_IGNORE.* in the case where the tool
is pkgsrc-supplied.  In other cases, e.g. using the system tool,
falling back toS the system tool, etc., we should still create wrappers
and set "TOOL" variables.
2005-07-25 21:51:19 +00:00
jlam
11577c4d6a There is a new variable TOOLS_VALUE_GNU.<tool> for each tool that is the
value passed via the shell environment to the GNU configure script for
each of the "GNU" variables names for the tool.  It defaults to the full
path to the real tool so that these may be safely embedded in scripts
and config files.

One exception is the value for YACC when we use bison.  In that case,
pass YACC="bison -y" to the configure script so that we will invoke
bison in yacc-compatibility mode.
2005-07-19 04:18:51 +00:00
jlam
c6bbbf9c86 Whitespace fix. 2005-07-19 03:01:13 +00:00
jlam
4f9ec32e34 Avoid trailing spaces in TOOLS_<TOOL> values if TOOLS_ARGS.* is empty. 2005-07-18 21:40:55 +00:00
jlam
6f766967b6 Export a new variable TOOLS_CMDLINE_<TOOL> that holds the full command
line (path and arguments) needed to run the real tool.

Modify TOOLS_<TOOL> to hold only the path to the real tool.

Modify falcons-eye/Makefile and qt3-libs/Makefile.common to use
TOOLS_CMDLINE_YACC instead of TOOLS_YACC to that they'll use "bison -y".
2005-07-18 02:33:27 +00:00
jlam
056c186787 Rename variable: TOOLS_CMDLINE.<tool> => TOOLS_SCRIPT.<tool> to better
reflect the possible variable contents.
2005-07-17 23:19:04 +00:00
jlam
eb1a0153f2 Back out previous... the value will be exported in a different way. 2005-07-17 22:12:08 +00:00
jlam
af0d1a3145 Export a new variable "TOOLS_<TOOL>_PATH" that holds only the path to the
tool.  This variable is defined if <TOOL> is defined for that tool (see
tools/defaults.mk) and TOOLS_PATH.<tool> is set.
2005-07-17 22:07:49 +00:00
jlam
2f9e01f9ca Rename the following variables for brevity:
TOOLS_REAL_CMD.<tool>		=> TOOLS_PATH.<tool>
	TOOLS_REAL_ARGS.<tool>		=> TOOLS_ARGS.<tool>
	TOOLS_REAL_CMDLINE.<tool>	=> TOOLS_CMDLINE.<tool>
2005-07-17 21:36:24 +00:00
jlam
84e1bc1cb5 Redo workaround in revision 1.111. We now use a loop to copy one list
to another.  This appears to fix whatever hidden bug a bit more
completely.  "make show-var VARNAME=RM" in pkgsrc/x11/kdepim3 no longer
returns an empty value.

XXX I still have no idea why this "fixes" the problem.  I can't seem to
XXX create a test case that exposes this problem.
2005-07-17 20:51:04 +00:00
jlam
b563e8eb9b There is still one small but important distinction between some of the
tools listed in USE_TOOLS -- some of them are required by the pkgsrc
infrastructure in variable assignment statements that look like:

    VARIABLE!=	${AWK} ...

These tools are actually *required* by pkgsrc to be installed on the
system before it can even work (bootstrap situation).  For these tools,
only override the "TOOL" name representing the tool if we're really
using the pkgsrc version of the tool.

We accomplish this by adding a new :pkgsrc modifier that is appended
to these tools listed in USE_TOOLS.  We also list these tools in
bsd.prefs.mk so that all packages pick them up fairly early on.
2005-07-16 22:33:18 +00:00
jlam
e6ab9808fa Changing := to = here fixes a bug seen in x11-links where _USE_TOOLS
was empty.

XXX I have no idea why this fixes the problem.
2005-07-16 05:34:59 +00:00
jlam
3e474a90d8 Get rid of USE_PERL5. The new way to express needing the Perl executable
around at either build-time or at run-time is:

	USE_TOOLS+=	perl		# build-time
	USE_TOOLS+=	perl:run	# run-time

Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
2005-07-16 01:19:06 +00:00
jlam
e26a9ed756 Drop support for TOOLS_DEPMETHOD.<tool>. The new way to specify a
run-time dependency (DEPENDS) on a tool is to append a ":run" modifier
to the tool name, e.g.,

	USE_TOOLS+=	perl:run

Tools without modifiers or with an explicit ":build" modifier will
cause build dependencies (BUILD_DEPENDS) on those tools to be added.
This makes the notation a bit more compact.
2005-07-15 20:14:02 +00:00
jlam
bf9129c41e Drop distinction between PKGSRC_USE_TOOLS and USE_TOOLS by making
PKGSRC_USE_TOOLS go away.  There is now only a single USE_TOOLS variable
that specifies all of the tools we need to build/run the package.
2005-07-15 18:27:48 +00:00
jlam
7ab7ea45ee "imake" may be defined in PKGSRC_USE_TOOLS instead of USE_TOOLS, so add
any IMAKE_TOOLS in that case as well.
2005-07-08 13:43:47 +00:00
jlam
222936ee6b MacOS X 10.[34] have /usr/bin/shlock (from <schmonz>). 2005-07-07 21:29:11 +00:00
minskim
1766fa83af Fix another typo (TOOLS_READ_CMD -> TOOLS_REAL_CMD). 2005-06-24 21:21:31 +00:00
minskim
b27f349884 Fix a typo. 2005-06-24 21:17:01 +00:00
jlam
73e8531006 Teach the tools framework about csh, and replace with tcsh if necessary. 2005-06-24 20:59:59 +00:00
jlam
237d39908a Create TOOLS_LDCONFIG and LDCONFIG variables that contain the actual
command that can be embedded into packages.  Calling a bare "ldconfig"
will still call the one in the tools directory, which always does the
right thing.
2005-06-24 20:40:53 +00:00
jlam
aa8ce0eb27 Remove unused variable _TOOLS_VARNAME.ldconfig. 2005-06-24 20:33:52 +00:00
minskim
36a63b2df7 Darwin may have bzcat. 2005-06-24 20:15:06 +00:00
minskim
317318f0f0 Support bash as a tool, so that packages containing bash scripts
(e.g. graphics/netpbm) use native bash if available.
2005-06-24 19:39:10 +00:00
jlam
c2fb31ba79 Drop the perl-5.6.x package from pkgsrc. Remove lang/perl58 and update
lang/perl5 to perl-5.8.6nb4.  Modify packages that referred to
lang/perl58 to point to lang/perl5 instead.
2005-06-24 06:43:43 +00:00
jlam
df8c47b2f2 Note locations for native diff tools. 2005-06-23 20:45:34 +00:00
jlam
805d6d300a Teach the tools framework about "diff". 2005-06-23 20:39:39 +00:00
jlam
9b5d98e50b "cmp" can be "gcmp" if we use the one from pkgsrc. 2005-06-23 20:35:55 +00:00
jlam
7357eef2ae The OpenBSD chgrp and chown can be in different places depending on the
OpenBSD release, so check for the right location.
2005-06-17 20:58:58 +00:00
jlam
873398634f Pull out the LS and TR definitions from algae/Makefile and place them
in tools/defaults.mk where they can be more widely used.
2005-06-17 17:05:18 +00:00
jlam
c49a0c735b PERL_PATH is also a common GNU configure script variable for the path to
the perl interpreter.
2005-06-17 16:24:51 +00:00
grant
3bfb445a35 provide defaults for bzcat and tbl to avoid unnecessary build
dependencies on archivers/bzip2 and textproc/groff when they are
available in the base system.
2005-06-16 04:30:46 +00:00
jlam
226567f45c Make IMAKE_TOOLS into a publicly-readable variable so that it can be
used by pkgtools/xpkgwedge.
2005-06-14 07:12:23 +00:00
jlam
9a2b543ac3 Remove unnecessary .undef lines after .for loops as the loop variables
are automatically undefined after the loop exits.
2005-06-11 05:22:03 +00:00
jlam
d9ac2e54e4 Force an autoconf "cache" override for tools that are likely to be
shell builtins, e.g. echo, false, test, true, since those tools don't
have a full path.
2005-06-10 20:53:54 +00:00
jlam
816e616b23 Add another common name for the GNU configure variable name used for the
"env" tool.
2005-06-07 16:57:37 +00:00
jlam
034f0336eb Add a few more GNU configure variable names that are commonly used.
Also, some configure scripts use "ENV" to represent the path to the
"env" tool, which is probably bad since ENV has a special meaning to
/bin/sh.  To workaround this, set ac_cv_path_ENV.
2005-06-07 16:33:12 +00:00
jlam
c55f2fb319 Teach the tools framework about mktemp. Replace explicit tests for
mktemp with USE_TOOLS+=mktemp in the samba packages.
2005-06-03 22:54:44 +00:00
jlam
dd2b1cf653 Teach the tools framework about bdftopcf and remove
x11-clients.buildlink3.mk.  Packages that need bdftopcf should say:

	USE_TOOLS+=	bdftopcf
2005-06-03 21:11:06 +00:00
jlam
493a44f926 Back out previous change, and correct the surrounding check -- we need
to see if _USE_TOOLS contains "perl", not USE_TOOLS.
2005-06-02 21:03:32 +00:00
tron
286d96e77f Test whether "_TOOLS_USE_PKGSRC.perl" is defined before checking its value.
This makes "make fetch-list" in "pkgsrc/meta-pkgs/kde3" work again.
2005-06-02 09:31:25 +00:00
jlam
fcb7da800b Remove mk/autoconf.mk and mk/automake.mk and replace their usage with
USE_TOOLS and any of "autoconf", "autoconf213", "automake" or
"automake14".  Also, we don't need to call the auto* tools via
${ACLOCAL}, ${AUTOCONF}, etc., since the tools framework takes care
to symlink the correct tool to the correct name, so we can just use
aclocal, autoconf, etc.
2005-06-01 20:07:59 +00:00
jlam
05db0b4f12 Turn IMAKE_MAKE into a public variable that may be set via /etc/mk.conf. 2005-06-01 18:14:23 +00:00
jlam
72f6164581 Teach the tools framework about nroff. 2005-05-26 21:46:13 +00:00
jlam
780794d4c1 Work around brokenness in GNU configure scripts generated by autoconf-2.59a
-- the checks for grep and egrep are broken because when passed GREP
and EGREP in the environment, the script causes GREP and EGREP to be
set to empty strings, which causes GNU configure scripts to hang or
break.  Pass the real paths to grep and egrep through using ac_cv_path_GREP
and ac_cv_path_EGREP as well to avoid the brokenness.  This fixes the
build of textproc/gsed.
2005-05-23 17:07:22 +00:00
jlam
19ef841612 Teach the tools framework about "flex" so that packages can specify
that they require flex instead of any old lex.
2005-05-23 01:20:50 +00:00
jlam
163b6e6c2b Remove USE_TBL from pkgsrc and replace with USE_TOOLS+=tbl. 2005-05-22 21:04:41 +00:00
jlam
ea6e7a716b Don't add "INSTALL" to CONFIGURE_ENV as bsd.pkg.mk adds special values
for INSTALL by itself during the configure stage.  This fixes problems
with GNU configure scripts using the wrong value of INSTALL.
2005-05-22 20:58:27 +00:00
jlam
585534220c Remove USE_GNU_TOOLS and replace with the correct USE_TOOLS definitions:
USE_GNU_TOOLS	-> USE_TOOLS
	awk		-> gawk
	m4		-> gm4
	make		-> gmake
	sed		-> gsed
	yacc		-> bison
2005-05-22 20:07:36 +00:00
minskim
9e8f5af260 Do not enable _IMAKE_TOOLS unless imake is used. Otherwise, packages
would always be built with gmake on Linux.
2005-05-22 05:21:15 +00:00
jlam
63e891437c Some packages want to embed the path to the perl tool in scripts but
don't want to depend on perl, e.g. devel/cvs.  Provide values for
TOOLS_PERL5 and PERL5 even if the package doesn't ask for the perl
tool.
2005-05-22 02:30:53 +00:00
jlam
ce40410af8 The path to perl is now passed via CONFIGURE_ENV as of revision 1.9 of
mk/tools/replace.mk.
2005-05-22 02:05:24 +00:00
jlam
b3ff0bed40 Allow a tool to be passed to GNU configure scripts under more than
one name.
2005-05-22 01:56:27 +00:00
jlam
edef76fb93 Add a few more tools for GNU configure scripts: grep, env, xmkmf. 2005-05-22 01:53:55 +00:00
jlam
5792714269 For packages that use GNU configure scripts, pass the real command
paths for the tools that the package uses through the shell environment.
We do this since these paths may be hardcoded into package scripts,
and if they're not pre-specified, then they'll be searched for in the
PATH, which would find the ones in ${TOOLS_DIR}.

The variable names that GNU configure scripts expect are named in
_TOOLS_VARNAME_GNU.* for the various tools.
2005-05-21 23:09:36 +00:00
jlam
3b3b871622 Grammar 101 -- sentences should end in a period. 2005-05-21 04:53:17 +00:00
jlam
6cb4436e71 Add TNF copyright to the new tools framework makefiles. 2005-05-21 04:46:52 +00:00
jlam
62acf70ba6 Only add the autoconf tool if the user also requested automake. This
avoids making autoconf required by every package in pkgsrc.
2005-05-20 03:08:45 +00:00
jlam
5a4310c9a2 Move the PLIST_SUBST lines that substitute for PERL5_* variables from
perl5/module.mk into tools/perl.mk so that the substitution occurs for
all packages that use perl.
2005-05-20 03:00:16 +00:00
jlam
169a6feefa Properly quote dependency to avoid creating garbage files in the pkgsrc
tree.
2005-05-20 02:57:23 +00:00
jlam
53e42fcf42 Based on the value of ${AUTOCONF_REQD}, choose the right autoconf tool
to use.  This fixes packages that want automake-1.4, but autoconf-2.50.
2005-05-20 02:40:23 +00:00
jlam
28e2995cd1 We can only use the subst.mk framework if the files are relative to
${WRKSRC}.  Just directly create the msgfmt wrapper in the proper
target.  Also, note that the msgfmt handling should eventually migrate
to the tools framework so that build dependencies and binary paths are
correct.
2005-05-19 20:08:44 +00:00
jlam
10b0f8d012 Merge most of imake.mk into replace.mk and leave imake.mk to contain
the extra bits required by packages that use imake/xmkmf.  This
consolidates most of the replacement tools handling into replace.mk.
2005-05-19 05:27:25 +00:00
jlam
0e05f46639 Merge most of perl.mk into replace.mk and leave perl.mk to contain
the extra bits required by packages that use perl.  This causes
PKGSRC_USE_TOOLS+=perl to work properly.
2005-05-19 03:52:23 +00:00
jlam
2046497558 Properly deal with case where TOOL_DEPENDS.* is a list of values by
iterating over each dependency in the list.
2005-05-19 02:27:38 +00:00
jlam
d6f6120540 Goal: Remove USE_PERL5 from pkgsrc.
Plan:
	(1) Change USE_PERL5=build into USE_TOOLS+=perl.
	(2) Change all other USE_PERL5 into including perl5/buildlink3.mk.

Possibly, for packages that don't actually build anything with perl,
but merely require it for the perl interpreter, we can instead do:

	USE_TOOLS+=		perl
	TOOLS_DEPMETHOD.perl=	DEPENDS

but this is more verbose than simply including the perl5/buildlink3.mk
file.

Move the PERL5_REQD computation into a lang/perl5/version.mk file,
and only do the USE_PERL5 logic in bsd.pkg.use.mk if we're not using
the new tools framework.  This consolidates all of the perl-handling
into two places -- lang/perl5 and mk/tools/perl.mk.
2005-05-18 22:42:07 +00:00
jlam
5a008c838b Use nawk as the default "awk" replacement since it has no dependencies
and is still strong enough for pkgsrc use.
2005-05-18 05:31:55 +00:00
jlam
d17d2e4a4f perl.mk was moved from being included by bsd.tools.mk to replace.mk.
Since replace.mk has its own loop to add dependencies, we can remove
the one from perl.mk.
2005-05-18 03:14:01 +00:00
jlam
8c1f92916b Move perl handling into replace.mk. We now can specify USE_TOOLS+=perl
to note that we need the perl binary and the associated PERL5 and
TOOLS_PERL5 variable definitions.
2005-05-17 18:34:45 +00:00
jlam
f009001837 In the autoconf213 case, the AUTO* variables should point to the
TOOLS_CMD.* variables for the -2.13 variants.  Otherwise, they're
empty, which causes errors for packages that use ${AUTOCONF}.
2005-05-16 18:54:06 +00:00
jlam
a77257ee11 USE_GNU_TOOLS+=m4 should translate to USE_TOOLS+=gm4 to get the same
meaning.
2005-05-16 18:35:30 +00:00
jlam
e87497f3c3 Don't have USE_TOOLS+=imake replace USE_IMAKE. Rather let the former
specify that imake is used by the package, while the latter triggers
the special do-configure process.
2005-05-16 18:01:12 +00:00
jlam
3966d98d38 Treat USE_GNU_TOOLS+=yacc the same as USE_TOOLS+=bison, since there is
the implication that the system yacc(1) is not good enough anyway.
2005-05-16 16:28:54 +00:00
jlam
2338cbae27 Change the EXTRACT_USING_PAX defined/undefined option into a EXTRACT_USING
which can take multiple values -- "pax" or "gtar".  The default value
of EXTRACT_USING is "pax", which more closely matches reality since
before, we were using bootstrap "tar" for ${GTAR} and it was actually
pax-as-tar.  Also, stop pretending pax-as-tar from the bootstrap kit
or on NetBSD is GNU tar.  Lastly, in bsd.pkg.extract.mk, note whether
we need "pax" or "gtar" depending on what we need to extract the
distfiles.
2005-05-16 03:04:44 +00:00
jlam
bff1867aa9 Don't forcibly set XMKMF -- allow the package to override it if necessary. 2005-05-15 23:27:44 +00:00
jlam
0582157fdb Asking the tools framework for "bison" now provides two distinct tools:
"bison" and "bison-yacc".  bison is just a symlink to the real bison,
but "bison-yacc" provides a "yacc" in ${TOOLS_DIR} that does "bison
-y".  This allows the tools framework to provide everything that a
package might look for when asking for "bison" and avoids relying on
the bison being available in the PATH.
2005-05-15 23:20:38 +00:00
jlam
94ed41f339 In the tools framework, check that the directory doesn't exist before
creating it in case ${MKDIR} can't handle that situation.
2005-05-15 22:53:57 +00:00
jlam
f6bb82897e MAKE_PROGRAM:T isn't necessary... we can just call "make", and the PATH
is already properly constructed to call the one in ${TOOLS_DIR}, which
symlinks to the correct make tools.  From rillig@ in private mail.
2005-05-15 22:50:53 +00:00
jlam
2205e39726 Linux xargs is probably GNU xargs, so we need to invoke it with "-r".
From schwarz@ in private mail.
2005-05-15 22:37:46 +00:00
jlam
2e18822098 gzip-base installs "zcat" not "gzcat". 2005-05-15 22:34:43 +00:00
jlam
f680604f3c We want to check if we're in gzip-base to avoid circular dependencies on
gzip.
2005-05-15 22:33:08 +00:00
jlam
4298b295a5 gzip and gunzip don't exist on IRIX 5 so wrap then in existence checks.
Ditto for mailx.  Lastly, /usr/bsd/zcat isn't gzcat (doesn't understand
gzipped files), so don't use it as a gzcat replacement.  Changes from
Georg Schwarz in private email.
2005-05-15 22:31:50 +00:00
jlam
75b0b9c5cc If we're using xpkgwedge, we need to force using pkgxmkmf so that we
pick up the xpkgwedge imake config files.
2005-05-15 18:37:44 +00:00
jlam
2adc6c7d19 Old versions of pax-as-tar don't do the right thing when invoked as
"gtar".  Force the gtar in the tools directory to be a wrapper script
so that we invoke the (possibly) pax-as-tar as "tar".
2005-05-15 03:27:20 +00:00
jlam
29988e2252 Make TOOLS_REAL_CMDLINE_DFLT.<tool> into a publicly-readable value. 2005-05-15 03:09:52 +00:00
jlam
2f3b9ec6f2 Make implementation match documentation for when a wrapper is created and
when a symlink is created.
2005-05-15 01:17:05 +00:00
jlam
e78c6207f3 BUILDLINK_DEPENDS.* can be lists, so iterate over the lists when creating
a proper BUILD_DEPENDS or DEPENDS list.
2005-05-14 21:38:18 +00:00
jlam
8dba6226e7 Consider ${TAR} differently from ${GTAR}. Currently, mark pkgsrc down
as needing both (no impact since they're both satisfied by the tar
binary installed by the bootstrap kit).  There's some funniness in
the extraction code where we check for pax or GNU tar that needs to
be resolved.  Remove the TAR=${GTAR} hack since it's no longer needed
after these changes.

XXX Later, a sweep needs to be made to see where we actually need GTAR
XXX and where we only need TAR, probably triggered by whether we call it
XXX with the "z" option or not.  Packages that need GTAR should explicitly
XXX add USE_TOOLS+=gtar to the package Makefile.
2005-05-14 21:15:07 +00:00
jlam
42d411e6b9 Temporarily define TAR here until I figure out a better way to deal
with TAR vs. GTAR.  This fixes pkg_install not being created with a
tar command.
2005-05-14 20:05:05 +00:00
jlam
e692366547 The mk/tools/defaults.mk is included by bsd.prefs.mk, so it must include
other files without making assumptions about the location of the top of
the pkgsrc tree.  This fixes problems with running "make bulk-cache"
in /usr/pkgsrc (PR pkg/30288).
2005-05-14 19:01:14 +00:00
rillig
31952ae630 Typo: if exists /bin/gzip, use /bin/gzip (not /usr/bin/gzip). 2005-05-14 10:19:36 +00:00
rillig
064ca17fa9 Fixed a typo: now using /usr/sbin/gzcat, like in platform/IRIX.mk. 2005-05-14 10:17:10 +00:00
rillig
1eddab530b Fixed a typo when looking for /usr/bin/cmp. 2005-05-14 10:14:29 +00:00
jlam
214611316d Compute the installation prefix for every tool specified so that the
"TOOL" variables defined by replace.mk, e.g. AWK, GREP, SED, TRUE,
etc., can be used immediately after bsd.tools.mk is included.
2005-05-14 05:57:43 +00:00
rillig
6c2804ebbe Fixed typo in finding grep(1). 2005-05-14 01:25:19 +00:00
rillig
fb358b0e89 Fixed two obvious typos that leaded to syntax errors. 2005-05-14 01:04:37 +00:00
jlam
ec7c68e97c Teach the new tools framework about lha, unrar, unzip, and unzoo and
modify bsd.pkg.extract.mk to use them.  As a side-effect, we stop
hardcoding ${LOCALBASE} as the install prefix for these tools so this
becomes more pkgviews-friendly.
2005-05-13 22:08:20 +00:00
jlam
b17ddaa794 Don't condtionally set the "TOOL" variables... set them explicitly. Also
fix variable name in the case where we're using the pkgsrc tool, since
we were referencing the wrong variable.
2005-05-13 21:57:13 +00:00
rillig
ca96c47d1e Fixed a typo in the comment. 2005-05-13 21:00:12 +00:00
minskim
a96a4d2bc8 if-if-endif -> if-elif-endif 2005-05-13 19:53:08 +00:00
jlam
1ee9760a81 Teach the new tools framework more about perl. We include perl5/vars.mk
in mk/tools/perl.mk since many packages expect to be able to use the
variables defined in vars.mk, but those variables can only be defined
if PERL5 is correctly defined, and that is only true after it is set
here.
2005-05-12 21:03:46 +00:00
jlam
a136d7cc68 Observe the following:
VAR=	a
	PTR=	VAR
	${PTR}?= b

Given these definitions, ${VAR} == "b" (unintuitively).  We can work
around this by doing:

	VAR=	a
	PTR=	VAR
	.for _v_ in ${PTR}
	${_v_}?= b
	.endfor

In this case, ${VAR} == "a" (as expected).

Use the second form of assignment in this changeset so that the expected
behavior happens for the "TOOL" name variables.  This fixes "recursively
defined" errors for some of the "TOOL" variables when the pkgsrc tool
replaces the system-supplied one.
2005-05-12 03:57:40 +00:00
jlam
0dbd0c0762 Rename MAKE_VARS to MAKEVARS so that it more closely resembles
"MAKEFLAGS".  Both "MAKEVARS" and "MAKEFLAGS" affect the package-level
make process, not the software's own make process.
2005-05-11 22:08:18 +00:00
jlam
5e67c262e4 Needing automake implies needing autoconf. Match the version requirements
outlined in mk/automake.mk.
2005-05-11 20:21:32 +00:00
jlam
840f6f2978 Rewrite so that we avoid needing to check the value of TOOLS_REAL_CMD.*
within make.  This allows us to use EVAL_PREFIX to locate the installation
prefix for autoconf and automake, which is more pkgviews-friendly.  In any
case, this implementation is a lot simpler anyway.
2005-05-11 20:09:44 +00:00
jlam
bb022af73a Use EVAL_PREFIX to be pkgviews-friendly. 2005-05-11 19:42:17 +00:00
jlam
0536415df7 Rewrite logic that defines the targets that create the tools under
${TOOLS_DIR} so that we avoid inspecting various variables during the
top-level make invocation -- rather, we defer inspection until the
target is actually made.  This allows TOOLS_REAL_CMDLINE.*,
TOOLS_REAL_CMD.*, and TOOLS_REAL_ARGS.* to be defined after bsd.tools.mk
is included and still affect the creation of the tools under ${TOOLS_DIR}.
2005-05-11 08:41:50 +00:00
jlam
62c0222458 Don't forget to pass the rest of the command-line arguments "$@" to
the command, or else the wrapper will ignore all of its arguments.
This fixes the rpcgen script to actually work.
2005-05-11 05:44:58 +00:00
jlam
52a8db644e Fix the makeinfo wrapper to actually accept arguments by fixing the
value of TOOLS_REAL_CMDLINE.makeinfo.  In this case, we split MAKEINFO
into the command and the arguments, and allow the default command line
to be constructed.
2005-05-11 05:43:48 +00:00
jlam
a03def662e Define the "TOOL" names for the tools to be the same as the "TOOLS_TOOL"
names if the former are undefined.  This allows the "TOOL" names, e.g.
GMAKE, YACC, etc., to be used by package Makefiles for simplicity.
2005-05-11 05:05:03 +00:00
jlam
029735c838 It's actually /usr/contrib/bin/gawk. 2005-05-10 21:15:22 +00:00
jlam
fb1593ba8b Split out ldconfig handling from the USE_TOOLS processing in replace.mk.
This makes more sense since there is never going to be a pkgsrc
replacement for ldconfig.  We now always create an ldconfig tool in
${TOOLS_DIR} that either calls the system-supplied one if it exists,
or is a no-op.
2005-05-10 20:14:27 +00:00
jlam
ef1665c54f Remove conditional expression from tools.*.mk files. Strip handling has
moved to its own file, and we only need to define TOOLS_PLATFORM.strip
if it actually exists on the system.
2005-05-10 19:56:51 +00:00
jlam
137ec423f9 Split out "strip" from the USE_TOOLS processing in replace.mk. Instead,
we create a "strip" tool unconditionally, and make it either a no-op or
the real thing depending on the whether we want unstripped files or not.
2005-05-10 19:52:30 +00:00
jlam
f97b83c30b TOOLS_CREATE has replaced TOOLS_{SYMLINK,WRAP}. 2005-05-10 19:34:02 +00:00
jlam
e8fbc39538 Fix typo in comment. 2005-05-10 19:25:06 +00:00
jlam
dfb5ed0037 Make a distinction between the tools that pkgsrc needs and the tools
that a package needs.  Tools that pkgsrc needs are listed in
PKGSRC_USE_TOOLS, and tools that a package needs on top of that are
listed in USE_TOOLS.

Define "TOOL" variables, e.g. SED, AWK, MKDIR, etc.  for each of the
tools that pkgsrc needs, and "TOOLS_TOOL" variables, e.g.  TOOLS_SED,
TOOLS_AWK, TOOLS_MKDIR, etc. for each of the tools that a package
needs.  These variables contain the full command line to the real
command and arguments needed to invoke the tool.
2005-05-10 19:06:58 +00:00
jlam
7aa40022bd TOOLS_ALIASES.<tool> can be set to the list of names that should also be
created under ${TOOLS_DIR} that invoke <tool>, e.g.

	TOOLS_ALIASES.gawk=	awk

The example above causes the "gawk" tool to be added to ${TOOLS_DIR} as
both "gawk" and "awk".
2005-05-10 18:42:59 +00:00
jlam
1e0343b80b Remove redundant variable definitions that simply match their defaults. 2005-05-09 02:43:06 +00:00
jlam
525b3f42ce Replace TOOLS_WRAP and TOOLS_SYMLINK with TOOLS_CREATE, and let the tools
framework figure out by itself whether a wrapper or a symlink should be
created based on the real command and any arguments that may need to be
invoked.
2005-05-09 01:11:58 +00:00
jlam
61da5414f3 Rename TOOLS_ARGS.* to TOOLS_REAL_ARGS.* to follow naming convention for
other TOOLS_* variables relating to the real command executed.
2005-05-09 00:13:03 +00:00
jlam
90726c6163 IRIX and Interix use the install-sh script from bootstrap as their install
tool.  This is handled directly within bootstrap.mk, so remove these
unnecessary definitions.
2005-05-05 18:59:25 +00:00
jlam
05f46273d6 Interix has /bin/strip. 2005-05-05 18:47:00 +00:00
jlam
e04b9022ad Back out previous change as it was accidentally committed with some other
changes.
2005-05-04 06:44:45 +00:00
jlam
91092c5789 Teach the new tools framework about ${STRIP}, which is used in some
packages to strip installed executables.  If INSTALL_UNSTRIPPED ==
"yes", then we create a "strip" wrapper in ${TOOLS_DIR} that just
calls ${TRUE} by considering ${TRUE} the system-supplied strip command.
2005-05-04 06:42:43 +00:00
jlam
87e59af8e3 If we're using the tools from the packages, set TOOLS_REAL_CMD.*
unconditionally so they will correctly refer to the packages' tools.
2005-05-04 06:25:59 +00:00
jlam
110ac816ee Create a wrapper instead of a symlink if TOOLS_REAL_CMD.<tool> isn't an
absolute path.
2005-05-04 04:46:48 +00:00
jlam
dbbc7d55d0 Darwin has /usr/bin/lex and /usr/bin/yacc according to:
http://darwinsource.opendarwin.org/10.3/pbx_jamfiles-237/commands.jam
2005-05-03 21:06:14 +00:00
jlam
3f770348b7 Teach the new tools framework about INSTALL and set the appropriate
default value for each platform.  Currently, the replacement tools
comes from sysutils/coreutils, but where there is no native BSD install
program, bootstrap-pkgsrc should probably be made to provide an install
shell script as an alternative, and mk/tools/bootstrap.mk should be
amended accordingly.

Also remove one use of ${TYPE} in pkgsrc (bsd.pkg.mk) under the new tools
framework.
2005-05-03 20:41:53 +00:00
jlam
5562cbeeef GNU xargs must be invoked with "-r" so that we don't run the command at
all if the stdin is empty.
2005-05-03 17:14:14 +00:00
jlam
8861b6ba02 Teach the new tools framework about MAIL_CMD. We use mail/nail as a
"mail" replacement in case TOOLS_PLATFORM.mail is empty.
2005-05-03 16:30:34 +00:00
jlam
0c14b578db When using the pkgsrc versions of gzip/gunzip, also invoke them with
the same set of arguments that the system-supplied gzip/gunzip would
use.
2005-05-03 15:17:26 +00:00
jlam
b26519d8a4 * Push the imake- and xmkmf-handling into the new tools framework.
* Get rid of an explicit check for ${_IMAKE_MAKE} == ${GMAKE} in
  bsd.pkg.mk to check for whether we need to depend on gmake or not.
  Instead, we now note in Linux.mk that packages that need imake will
  also need to use gmake by setting _IMAKE_TOOLS+=gmake.

* Push the definition of MAKE_PROGRAM from bsd.pkg.mk into make.mk where
  it's closer to related code.
2005-05-02 21:10:02 +00:00
jlam
157b5ae130 If we only define the "TOOL" variable if the real command exists, then
the "TOOL" variables won't be properly defined for the top-leve make
after returning from making the install-depends target if we're using
the pkgsrc-supplied tool.  Define the "TOOL" variable unconditionally
instead.
2005-05-02 06:36:29 +00:00
jlam
37d5689ed6 Teach the new tools framework about ldconfig. This must be provided by
tools.${OPSYS}.mk, so at the very worst, it must be set to "true".
2005-05-02 04:42:08 +00:00
jlam
5333a4a7a3 Include perl.mk to make sure the perl symlink is created. 2005-05-02 04:35:59 +00:00
jlam
1a165c6528 PERL5 shouldn't be recursively defined. 2005-05-02 04:33:53 +00:00
jlam
96c5deea72 Teach the new tools framework about USE_TOOLS+=bzcat. 2005-05-02 02:50:33 +00:00
jlam
c368f44eea Split replace.mk into two parts, one of which is included by bsd.prefs.mk
to provide "TOOL" definitions for tools used by a top-level make process
(usually because it uses them in a != variable definition).  This allows
USE_TOOLS to be defined before bsd.prefs.mk is included by a package
Makefile, where USE_TOOLS lists the additional (non-default) tools that
are required to build the package.

Also, drop the fallback to existing "TOOL" definitions because we now
have TOOLS_PLATFORM.* for each platform in pkgsr/mk/tools/tools.*.mk.
2005-04-30 04:35:54 +00:00
jlam
c76976cd01 Only set the "TOOL" variable if one has been associated with the tool. 2005-04-28 17:40:52 +00:00
jlam
b69b10dd11 coreutils.mk has been merged into replace.mk 2005-04-28 17:37:06 +00:00
jlam
99661424ef Merge coreutils.mk into replace.mk. Also remove the "coreutils" option
to USE_TOOLS and replace it with the names of the various tools we're
getting from coreutils, e.g. "mv", "mkdir", "rm", etc.
2005-04-28 17:35:48 +00:00
jlam
f0f9780186 Note the "[" is natively available everywhere (usually as a shell builtin). 2005-04-28 17:30:24 +00:00
jlam
f3cd319177 Remove unused variable _TOOLS_REPLACE_LIST. 2005-04-28 16:00:58 +00:00
jlam
2df0e6ccee whitespace changes to simplify merging with coreutils.mk. 2005-04-28 15:55:12 +00:00
jlam
26cfc5a79c We only need to loop over the tools that we say we're going to use. 2005-04-28 15:51:10 +00:00
jlam
38b0a624c8 Create _USE_TOOLS, a sanitized versino of USE_TOOLS that removes the
tools that are overridden by superseding ones.  Use it in place of
USE_TOOLS in most places.  This fixes the situation where we can
depend on the tool that overridden, e.g. USE_TOOLS= gawk awk.
2005-04-28 15:47:43 +00:00
jlam
a6262466a1 Correct the PKGPATH for gsed. 2005-04-28 04:00:15 +00:00
jlam
25ba4810c5 Split out the tools from the same package into separate clauses so that
you can specify wanting individual tools from that package.
2005-04-28 03:57:39 +00:00
jlam
efc8bca44c Define TOOLS_DEPENDS.* to be the dependency that will be added, and
filter out dependencies that have already been added.
2005-04-28 03:01:11 +00:00
jlam
9a3f617848 Rename TOOLS_DEPENDS.* to TOOLS_DEPMETHOD.* to roughly match the
buildlink terminology for the same concept.
2005-04-28 02:10:56 +00:00
jlam
40d8579c95 Correct the fallback value of FALSE. 2005-04-27 20:54:08 +00:00
jlam
b762bacaf6 Remove redundant checks. 2005-04-27 20:53:44 +00:00
jlam
3f1445a6b6 Don't bother testing whether the target file is excutable. Let's just
trust the user.
2005-04-27 20:52:29 +00:00
jlam
a32275413e Define tools that we use within the tools framework itself. 2005-04-27 20:35:01 +00:00
jlam
c2cfecc642 Clarify why we want the perl symlink. 2005-04-27 17:59:09 +00:00
jlam
f909ffbadd Linux doesn't seem have lex as part of the base system, so don't bother
with the check.
2005-04-27 17:46:26 +00:00
jlam
6f10b02051 Split out the perl handling to a separate file, since we always use the
pkgsrc perl, and it isn't really like any of the other tools that we
replace based on a system-/pkgsrc-supplied distinction.
2005-04-27 17:29:06 +00:00
jlam
bb78ec6884 Handle cases where pkgsrc bootstrap installs tools, e.g. pax, tar, sed.
Where bootstrap installs these tools, they should be considered system-
supplied since pkgsrc won't be providing replacements for them.

bootstrap.mk encapulates the information from the bootstrap script.  It
should eventually go away after the bootstrap script has been taught to
write out the correct TOOLS_PLATFORM.* entries to the example mk.conf
file.
2005-04-27 17:15:13 +00:00
jlam
1f5fbfd47d Rename PLATFORM_TOOLS.* to TOOLS_PLATFORM.* to bring the variable names
under the same namespace as the other parts of the new tools framework.
2005-04-27 16:52:28 +00:00
jlam
c8a17ff550 Remove conflict between bison and yacc... now "bison" simply overrides
"yacc" when both are specified.  Also add comments to note other
instances where we override other tools: gsed & sed, gawk & awk, gm4 & m4.
2005-04-27 16:41:11 +00:00
jlam
7c19bbbfb7 cmp should be a symlink, not a wrapper. 2005-04-27 16:29:45 +00:00
jlam
05bb461206 Teach replace.mk about awk, m4, and sed when the GNU versions aren't
required.
2005-04-27 16:28:19 +00:00
jlam
7b2de543a7 Get rid of the _TOOLS_USE_PLATFORM.* table as the information has now
been placed in the various tools.${OPSYS}.mk files using PLATFORM_TOOL.*
definitions.
2005-04-27 16:02:08 +00:00
jlam
d99af8f1af BSD/OS supplies an mtree. 2005-04-27 16:00:14 +00:00
jlam
26d935adf2 Note lex if it's present on the system. 2005-04-27 15:59:57 +00:00
jlam
5ac75286c8 The BSDs all have lex, tbl, and yacc in the base system. 2005-04-27 15:59:25 +00:00