Commit Graph

58 Commits

Author SHA1 Message Date
sjg
23f46b06a5 Merge bmake-20180512
Skip polling job token pipe,
better handle sysV style includes with variables.
2018-05-19 00:26:00 +00:00
mmacy
b175926a96 Revert accidentally commited local change to bmake to prevent debilitating
excess system time from poor API usage.

Approved by:	sbruno@
2018-05-10 17:57:46 +00:00
mmacy
68b801ac97 Add simple preempt safe epoch API
Read locking is over used in the kernel to guarantee liveness. This API makes
it easy to provide livenes guarantees without atomics.

Includes epoch_test kernel module to stress test the API.

Documentation will follow initial use case.

Test case and improvements to preemption handling in response to discussion
with mjg@

Reviewed by:	imp@, shurd@
Approved by:	sbruno@
2018-05-10 17:55:24 +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
b5947f6254 Import bmake-20170720
Includes fix for compat handling of interrupts.
2017-07-24 04:38:05 +00:00
sjg
aa8f1c64d4 Import bmake-20170711 2017-07-15 21:19:27 +00:00
sjg
268db6c1ac Merge bmake-20170510
No-op change other than version update.
2017-05-10 22:45:05 +00:00
sjg
6bd7f2ed42 Ensure buf2 is in scope 2017-05-10 22:24:09 +00:00
sjg
c025b0421d Str_Match: fix closure tests for [^] and add unit-test. 2017-04-21 22:19:13 +00:00
sjg
50b4b1b520 Merge bmake-20170420 2017-04-21 00:45:44 +00:00
sjg
ca115694b7 Update to bmake 20170413 2017-04-15 01:44:45 +00:00
sjg
e10343a5ee Do not consider using -C arg "as is" for .CURDIR unless it starts with /.
Reported by:    bdrewery
2017-03-11 20:28:31 +00:00
sjg
80c8228969 Merge bmake-20170301 2017-03-06 23:02:33 +00:00
sjg
3e96c033f9 Merge bmake-20161212 2016-12-19 23:38:07 +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
1d2026b19b Merge bmake-20151220
Fixed clearing suffixes impact on null suffix
2015-12-25 16:19:21 +00:00
sjg
f25d8749d4 Merge bmake-20151201 2015-12-08 01:29:07 +00:00
sjg
175e2b18f6 ParseTrackInput: do not access beyond end of buffer.
Reviewed by:	dim
2015-11-26 00:26:23 +00:00
sjg
a1cf517b97 Merge bmake 20151020 2015-10-23 17:38:01 +00:00
emaste
31cff11378 Update meta2deps example after i386-elf to i386 rename 2015-07-02 14:44:30 +00:00
sjg
d1ba9a9c79 Merge bmake-20150606
Only change to bmake is man page - document .OBJDIR target.
We also get latest dirdeps.mk and friends.
> Description of fields to fill in above:                     76 columns --|
> PR:                       If a GNATS PR is affected by the change.
> Differential Revision:    https://reviews.freebsd.org/D### (*full* phabric URL needed).
> Submitted by:             If someone else sent in the change.
> Reviewed by:              If someone else reviewed your modification.
> Approved by:              If you needed approval for this commit.
> Obtained from:            If the change is from a third party.
> MFC after:                N [day[s]|week[s]|month[s]].  Request a reminder email.
> MFH:                      Ports tree branch name.  Request approval for merge.
> Relnotes:                 Set to 'yes' for mention in release notes.
> Security:                 Vulnerability reference (one per line) or description.
> Sponsored by:             If the change was sponsored by an organization.
> Empty fields above will be automatically removed.

_M   contrib/bmake
M    contrib/bmake/ChangeLog
M    contrib/bmake/Makefile
M    contrib/bmake/bmake.1
M    contrib/bmake/bmake.cat1
M    contrib/bmake/make.1
M    contrib/bmake/mk/ChangeLog
M    contrib/bmake/mk/dirdeps.mk
M    contrib/bmake/mk/gendirdeps.mk
M    contrib/bmake/mk/install-mk
M    contrib/bmake/mk/meta.stage.mk
M    contrib/bmake/mk/meta.sys.mk
M    contrib/bmake/mk/mkopt.sh
M    contrib/bmake/targ.c
M    usr.bin/bmake/Makefile
2015-06-11 04:00:22 +00:00
sjg
bc53a56c01 Merge bmake-20150505 improve detection of malformed conditionals. 2015-05-10 22:03:59 +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
8a8bdedf35 Update to bmake-20140620
Main change is detection of malformed variable references.

Reviewed by:	obrien
2014-07-08 22:27:50 +00:00
sjg
27d4724b6a Portmgr no longer need the UL hack.
Reviewed by: obrien
2014-05-27 18:39:13 +00:00
sjg
a327d8d253 Merge bmake-20140101 from vendor 2014-01-27 17:47:21 +00:00
sjg
962f1bc0ee Don't SEGV when Hash_Table is uninitialized 2013-11-14 00:29:48 +00:00
sjg
09420c2c42 Avoid SEGV when passed NULL for list 2013-11-14 00:06:44 +00:00
sjg
6f3c292c36 Fix Fx syntax.
PR: 182269
Approved by: re@
2013-09-27 17:42:23 +00:00
sjg
8e87a06e3b If MAKE_JOB_ERROR_TOKEN is set to false, do not put an error token ("E")
into the job queue.
This avoids closing down an entire build on failure of one branch.
Probably has no use outside the context of universe/tinderbox.

Reviewed by:	obrien
2013-09-06 02:55:51 +00:00
sjg
61d13f6983 Merge bmake-20130904 2013-09-05 15:57:26 +00:00
sjg
171d876173 Pay attention to errCheck!
PR:		181715
2013-09-01 18:59:09 +00:00
sjg
42d7c6c92f Add .MAKE.ALWAYS_PASS_JOB_QUEUE knob (default yes)
for backwards compatability.
2013-08-16 18:47:18 +00:00
sjg
0e7402e046 ParseGetLine: don't treat a zero byte as end of buffer if P_end says it isn't.
Consume up to next newline, and issue a parse warning.
If no newline found before P_end, carry on as before.
2013-08-10 21:31:35 +00:00
sjg
5d2437d56f Move the call to Job_SetPrefix() to Job_Init() so that
makefiles have had a chance to set .MAKE.JOB.PREFIX
2013-08-04 07:10:16 +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
8bd3e4dfa2 Fix use after free bug.
Parse_SetInput:
curFile->fname was using the buffer passed to it - which ReadMakefile frees.
This change makes the comment in ParseEOF about leaking curFile->fname true.
2013-06-18 19:35:51 +00:00
sjg
5d26938b1d Update to bmake-20130604 to fix file descriptor leak. 2013-06-05 16:12:50 +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
a636b85dc3 Fix wildcard srcs for phony targets 2013-05-18 13:24:53 +00:00
sjg
e51b2aaaf8 Match what is in netbsd. 2013-05-18 13:15:19 +00:00