Commit Graph

507 Commits

Author SHA1 Message Date
wiz 8114895bf3 Bump date for previous; use macros for marking up
the dollar sign.
2003-12-26 23:22:31 +00:00
jmc 31e37b335f Note that variable expansion can occur within SYSV style = substitions. 2003-12-26 23:18:18 +00:00
jmc 3eb499682d Support variable expansions inside of SYSV style = substitutions. Better matches
expectations (and some cases of historical behavior I've found). Also fixes
PR#3865
2003-12-26 23:13:32 +00:00
jmc c7c6bf2bbd Don't assume startc is always {, set delim to endc when separating the args to
the ? test.
2003-12-26 08:03:06 +00:00
jmc 1664a90985 Fixes for PR#18573 (make -j not stopping correctly on error).
Using -e in sh/ksh to stop on error doesn't work with grouped commands. At
least for any SUSE compliant sh(1). Instead, extend the Shell struct and add
errOut which provides a template to use to check error status from commands.
2003-12-20 00:18:22 +00:00
jmc be1cdb8652 When looking for a makefile and curdir != objdir (i.e. working inside of an
objdir) try opening the file from curdir and if that fails try from objdir.
This way .depend files get picked up via their full path names rather than
just .depend so vars like PARSEDIR, PARSEFILE are then set correctly. This
fixes PR#13289 reporting incorrect pathnames for .depends with errors in
them
2003-12-18 22:36:18 +00:00
wiz 15dcc3baa6 Drop trailing spaces. 2003-12-07 20:48:25 +00:00
dsl 2bd419cb33 Add back 'on error' that got deleted by mistake. 2003-12-07 20:46:44 +00:00
dsl 7da2fe51b3 Add a -Dg3 which outputs the 'input graph' only on error exit.
Lets you see the wood for the trees...
2003-12-07 20:30:28 +00:00
dsl eceb7dddfb Don't create targets if dependant files marked .OPTIONAL are missing. 2003-11-14 22:32:44 +00:00
lukem a2f8083d5d Add some subsections in the VARIABLE ASSIGNMENTS section.
In the "modifier description" list, show each modifier with the leading `:'.
Rationale: it's hard to search for modifiers without it, and we already do
the same thing in the -options and .makecommands lists.  I now find it much
easier to find the description for a modifier in the man page.
2003-11-07 01:01:46 +00:00
lukem 171d653219 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
    	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
    	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 00:12:41 +00:00
jmc 89996408fa Fixes from PR#23210 to eliminate use of asprintf which makes cross building
on non-NetBSD hosts work again
2003-10-23 15:58:29 +00:00
jdolecek e9a93e256b properly dottify .\" comments; this fixes output of [range] paragraph 2003-10-09 16:56:06 +00:00
sjg d388dcd1a3 Implement :[] modifier to allow picking a range of words out of a variable.
Also :tW and a W flag to :C and :S to allow treating value as a single word.
Add unit tests for the above, and fix some corner cases.
Based on patches supplied by Alan Barrett <apb@cequrux.com>
2003-09-27 21:29:37 +00:00
jmmv 6c008dec3b Add the 'e' debug flag (i.e., '-d e'): when enabled, show the "target
failed" and "command failed" messages added recently.  These introduce
too much noise when debugging some kind of problems, specially in pkgsrc.
2003-09-10 18:04:22 +00:00
jmmv 328ce86893 Document the '-d f' flag. 2003-09-10 08:44:31 +00:00
lukem f741d2d094 when displaying the 'Failed command:', collapse runs of whitespace in the
command to a single space.   suggested by David Laight in private mail.
2003-09-09 16:16:02 +00:00
drochner 1a9a16338e Remove some code which makes file lookup rely on the fact that
the first two directory entries are "." and "..".
This behaviour is not required by applicable standards, and
actually not provided by "coda".
Now we get the "." and ".." into the per-directiry hash tables,
but this should not hurt.
2003-09-09 14:44:35 +00:00
lukem 16cddad1c8 don't free cmdStart too early, as cmd points somewhere in there and we
may want cmd for error messages.
should fix [bin/22705] from itojun@
2003-09-08 23:54:54 +00:00
sjg 435f6fef84 Make empty() consider an undefined variable as empty,
rather than throw a syntax error.
2003-09-06 06:52:08 +00:00
wiz 91f2a1b827 Whitespace nits. 2003-09-05 06:55:46 +00:00
sjg 9ab525fdf0 Allow -V '${FOO}' to print the expanded version of FOO.
A side effect of adding and removing a -E option for the above is that
the cases in MainParseArgs are now ordered correctly?
2003-09-05 06:52:11 +00:00
lukem 5bb8036aeb Also display failed target. Given
printf "all:\n\ttrue\n\t@false\n" | make -f -
the error output now looks like:
	*** Failed target:  all
	*** Failed command: false
	*** Error code 1
instead of just
	*** Error code 1

XXX: add this support for  make -j  builds.
2003-09-02 23:40:11 +00:00
lukem ea878e8983 display the command that failed.
this is useful if the command-line had been suppressed.
2003-09-02 12:17:40 +00:00
sjg a41eaef46a Hook make unit-tests into regress 2003-08-08 06:42:38 +00:00
agc 89aaa1bb64 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
2003-08-07 11:13:06 +00:00
sjg 3dfdacc170 Avoid \a as a test of invalid separator, since if we make ksh the default
shell, we get different results.  \x seems safe.
2003-08-01 04:57:20 +00:00
sjg 86b9a219d4 Fix for TEST_MAKE from Alan Barrett 2003-08-01 03:55:59 +00:00
sjg 3716ad7f49 Allow .SHELL: to control the shell used by compat mode too.
Add a shell spec for ksh - a nice portable posix shell.
Document .SHELL:
2003-08-01 00:39:52 +00:00
scw bc25d2ab5f Const poisoning. 2003-07-31 13:48:11 +00:00
sjg 1ebbf35953 Test behavior of commandline variable assignments. 2003-07-31 00:46:15 +00:00
sjg 82cba16bce A couple of other places where delim should be set 2003-07-29 09:06:29 +00:00
sjg b806b12f2d First bug picked up by the unit tests - delim wasn't always initialized.
Avoid putting '\' in test case script lines since shell's like that on
SunOS insist on interpreting them.
2003-07-29 08:44:41 +00:00
sjg e3cd1dc68c Use single quotes to protect everything from shell's that might
alter the results.
2003-07-29 08:16:01 +00:00
sjg 6b9a4c9477 Regardless of the name of TEST_MAKE, force it to make in test.exp
to avoid needless failures.
2003-07-29 06:35:09 +00:00
sjg db7ca3c993 Fix parsing bug for :ts - patch from Alan Barrett <apb@cequrux.com>
Also add simple unit-test jig (regress/usr.bin/make will use it too)
but having it local here makes inclusion in bmake simpler.
2003-07-28 22:52:10 +00:00
mrg 8c66a01dc4 build var.c with -Wno-cast-qual - gcc3.3 complains about VarWordCompare() 2003-07-26 16:04:29 +00:00
sjg 59b1f67a11 Fix merge problem with ts modifier and const correctness.
Need to pass nstr to VarModify.
2003-07-23 18:06:46 +00:00
wiz aeb7902476 Bump date for tu addition; drop trailing space; sort a bit. 2003-07-16 11:34:16 +00:00
itojun a5450bcac9 backout. make(1) either uses strcpy() to malloc'ed region (enough size),
or function signature prohibits us from using strlcpy().
2003-07-16 07:16:24 +00:00
itojun 06ded73d5a we can't use snprintf here, as sizeof(pathname) is unknown 2003-07-16 07:11:29 +00:00
itojun bd8e1178ee strlcpy (fixed) 2003-07-15 05:39:28 +00:00
itojun 885eddc2ed strlcpy 2003-07-15 05:38:24 +00:00
sjg 8186ad8ad9 Fix a couple of missing UNCONST's that hit bmake. 2003-07-14 21:13:48 +00:00
sjg f1cf540a8d Add a :ts[c] modifier to allow controlling the separator used between
words in a variable expansion.  If 'c' is omitted no separator is used.
2003-07-14 20:39:20 +00:00
christos 6a7d20bb25 Pass WARNS=3 2003-07-14 18:19:11 +00:00
wiz 95ad95491e Fix two minor whitespace problems. 2003-07-14 08:55:18 +00:00
wiz 664b3c96d5 Misc mdoc fixes (mostly quoting). 2003-06-26 18:21:45 +00:00
matt 78735dbbe5 For a library, only check in cmtime (children's modification) if there are
children.  This prevents spurious out-of-date failures when you have a
rules checking for a library's existance (and no children).
2003-06-02 21:49:00 +00:00