Commit Graph

26 Commits

Author SHA1 Message Date
sjg
11cd73a60e Update to bmake-20200710
Key changes include reduced noise at end of failed build log
and avoid evaluation of unnecessary terms in conditionals.
In META MODE; a target flagged .META is out-of-date if meta file
is missing

MFC after:      1 week
2020-07-12 01:11:48 +00:00
sjg
e8b5ce9fcc Revert r363031 2020-07-09 03:46:07 +00:00
sjg
5f6f23ca75 Update to bmake-20200704
Key changes include reduced noise at end of failed build log
and avoid evaluation of unnecessary terms in conditionals.

MFC after:	1 week
2020-07-08 21:20:12 +00:00
sjg
897ced70e6 Merge bmake-20200517
Changes since 20181221 are mostly portability related
hence the large gap in versions imported.

There are however some bug fixes, and a rework of filemon handling.
In NetBSD make/filemon/filemon_ktrace.c allows use of fktrace
and elimination of filemon(4) which has not had the TLC it needs.

FreeBSD filemon(4) is in much better shape, so bmake/filemon/filemon_dev.c
allows use of that, with a bit less overhead than the ktrace model.

Summary of changes from ChangeLog

	o str.c: empty string does not match % pattern
	  plus unit-test changes
	o var.c: import handling of old sysV style modifier using '%'
	o str.c: refactor brk_string
	o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
	  a blank command is perfectly valid.
	o meta.c: meta_oodate, check for corrupted meta file
	  earlier and more often.
	* meta.c: meta_compat_parent check for USE_FILEMON
	  patch from Soeren Tempel
	o meta.c: fix compat mode, need to call meta_job_output()
	o job.c: extra fds for meta mode not needed if using filemon_dev
	o meta.c: avoid passing NULL to filemon_*() when meta_needed()
	  returns FALSE.
	o filemon/filemon_{dev,ktrace}.c: allow selection of
	  filemon implementation.  filemon_dev.c uses the kernel module
	  while filemon_ktrace.c leverages the fktrace api available in
	  NetBSD.  filemon_ktrace.c can hopefully form the basis for
	  adding support for other tracing mechanisms such as strace on
	  Linux.
	o meta.c: when target is out-of-date per normal make rules
	  record value of .OODATE in meta file.
	o parse.c: don't pass NULL to realpath(3)
	  some versions cannot handle it.
	o parse.c: ParseDoDependency: free paths rather than assert

plus more unit-tests
2020-05-20 22:25:46 +00:00
sjg
490c4b4d3b Update to bmake-201802222
Fixes segfault in Var_Set if val is NULL
Don't treat .info as warning with -W
2018-03-02 01:53:50 +00:00
sjg
45e8767adb Update to bmake-20171028
Ignore empty MAKEOBJDIR[PREFIX]

Reported by:	bdrewery
2017-11-02 20:08:00 +00:00
sjg
aa8f1c64d4 Import bmake-20170711 2017-07-15 21:19:27 +00:00
sjg
80c8228969 Merge bmake-20170301 2017-03-06 23:02:33 +00:00
sjg
5847e2cf8e Update to bmake-20170818
This version has some new knobs for dealing with troublesome targets
in meta mode.
2016-09-09 01:09:39 +00:00
bdrewery
c3a4dbd1d2 Flush every line when using meta mode and no -j or with -B.
Otherwise the output is buffered and it appears that make is stuck on something
long-running.  This problem is not present with -j as it uses different
code that was already flushing.

Discussed with:	sjg
Approved by:	re (blanket, META_MODE)
Sponsored by:	EMC / Isilon Storage Division
2016-06-29 22:54:01 +00:00
sjg
52110ae283 meta_oodate: set needOODATE if oodate due to missing .meta file.
Reviewed by:	bdrewery
Approved by:	re
2016-06-14 23:52:32 +00:00
sjg
40b0d2c4e5 Merge bmake-20160606
o dir.c: extend mtimes cache to others via cached_stat()
2016-06-08 17:51:21 +00:00
sjg
b63d9399ea Import bmake-20160604
Performace improvements for meta mode.
2016-06-05 20:26:16 +00:00
sjg
38da92cdf3 Merge bmake-20160512 2016-05-20 17:35:39 +00:00
sjg
44636d2ebb Update to bmake-20160315
Archive member handling works again
meta mode, treat missing reads as for writes.

Update dirdeps.mk - much improved startup time.
Update meta.stage.mk - avoid ln when chmod required.
2016-03-18 20:03:09 +00:00
sjg
218c7825fe Merge bmake-20160307 2016-03-11 01:35:39 +00:00
sjg
f25d8749d4 Merge bmake-20151201 2015-12-08 01:29:07 +00:00
sjg
a1cf517b97 Merge bmake 20151020 2015-10-23 17:38:01 +00:00
sjg
af117d16cb Merge bmake-20150418
PR: 199486
2015-04-21 04:40:38 +00:00
sjg
41a580aa36 Make sure that -- filemon is at start of a line, so that
it is found as expected.
2015-03-13 02:54:46 +00:00
sjg
a327d8d253 Merge bmake-20140101 from vendor 2014-01-27 17:47:21 +00:00
sjg
ff765cb371 Merge bmake-20130730
Main feature of interest is .MAKE.JOB.PREFIX=
to suppress --- job --- tokens.
2013-08-02 06:25:28 +00:00
sjg
4cdc15c1f7 Sync with upstream version (20130520) that includes same fixes made last week. 2013-05-20 22:51:11 +00:00
sjg
e2bb503df7 Update to bmake-20130330 2013-04-02 21:31:11 +00:00
sjg
f817112dff Merge bmake-20130123
Approved by:	marcel (mentor)
2013-02-01 22:55:27 +00:00
marcel
22657893cf Merge bmake-20120831 from vendor/NetBSD/bmake/dist.
Provenance: ftp://ftp.netbsd.org/pub/NetBSD/misc/sjg
2012-10-03 00:41:46 +00:00