Commit Graph

29 Commits

Author SHA1 Message Date
Simon J. Gerraty
5bcb74248e Update to bmake-20140620
Main change is detection of malformed variable references.

Reviewed by:	obrien
2014-07-08 22:27:50 +00:00
Warner Losh
47e496fd5d Add .../share/mk to the default system make path. This will fix the
problem with broken in-tree builds (which are used far more
pervasively than I'd known outside the tree). However, weird results
may now happen if at any point in the tree above you there happens to
be a directory that has subdirectory of share/mk, as unpredictable
results will follow. This was considered the lessor of the two evils,
at least for now. In the future this will be removed again when the
underlying issues are resolved.
2014-05-23 00:20:44 +00:00
Warner Losh
0629d5e958 Makefile.inc is also included by the tests subdirectory, which results
in SUBDIRS having tests added to it, which fails. Work around this by
checking to make sure tests exists before adding it to subdirs and
work to get the generated file fixed so we can rename Makefile.inc to
something else so it isn't automatically included by subdirs...
2014-05-15 15:45:45 +00:00
Warner Losh
a3438dfc9b Undo changes to the generated Makefile. Move tests directory to proper
location, including updating the test to work in the more-fragile
fmake -> bmake bootstrap environment.
2014-05-15 01:27:24 +00:00
Julio Merino
5ae59dec60 Move old fmake tests into bmake and hook them to the build.
This first step is mostly to prevent the code from rotting even further
and to ensure these do not get wiped when fmake's code is removed from
the tree.

These tests are currently being skipped because they detect the underlying
make is not fmake and thus disable themselves -- and the reason is that
some of the tests fail, possibly due to legitimate bugs.  Enabling them to
run against bmake will come separately.

Lastly, it would be ideal if these tests were fed upstream but they are
not ready for that yet.  In the interim, just put them under usr.bin/bmake/
while we sort things out.  The existence of a different unit-tests directory
within here makes me feel less guilty about this.

Change confirmed working with a clean amd64 build.
2014-05-14 18:43:13 +00:00
Warner Losh
f0e845794d Fix the upgrade path for fmake by allowing the include of src.opts.mk
to fail and falling back on the conservative testing of variables
already in place. This should stop the tide of tinderbox mail.
2014-05-06 14:33:18 +00:00
Stefan Eßer
cb3d295629 Revert r265436, since it is not the correct fix. 2014-05-06 14:01:48 +00:00
Stefan Eßer
05071052ab Fix include statement to accept src.opts.mk from a source directory
instead of from /usr/share/mk.

I'm not sure that this will let buildworld complete on a system with
no installed src.opts.mk (make buildworld is still running), but the
tinderbox builds are all failing earlyon without this patch.
2014-05-06 12:31:17 +00:00
Warner Losh
d03127447d Remove support for WITHOUT_BMAKE. bmake is now the only make that can
build world, so it is the only make we build or install. fmake is
still in the tree, but disconnected, and upgrades from older systems
that still have bmake has not been removed, but its state has not been
tested (it should work given how minimal the work to upgrade to bmake
is).
2014-05-06 04:22:37 +00:00
Warner Losh
c6063d0da8 Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.
2014-05-06 04:22:01 +00:00
Simon J. Gerraty
0dede8b0ba Merge bmake-20140101 from vendor 2014-01-27 17:47:21 +00:00
Simon J. Gerraty
ed03145ec8 Stick to traditional DEFAULT_SYS_PATH (/usr/share/mk)
Reviewed by:	obrien
Approved by:	re
2013-09-10 23:31:38 +00:00
Simon J. Gerraty
1bbe5942b5 Merge bmake-20130904 2013-09-05 15:57:26 +00:00
Simon J. Gerraty
84efbe96f1 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
Simon J. Gerraty
51ee2c1cc6 Merge bmake-20130730
Main feature of interest is .MAKE.JOB.PREFIX=
to suppress --- job --- tokens.
2013-08-02 06:25:28 +00:00
Simon J. Gerraty
74d2e02b85 Update to bmake-20130604 to fix file descriptor leak. 2013-06-05 16:12:50 +00:00
Simon J. Gerraty
52d8625616 Sync with upstream version (20130520) that includes same fixes made last week. 2013-05-20 22:51:11 +00:00
Simon J. Gerraty
3c1c0edeef Per the comment, we cannot rely on bsd.own.mk
we could be on an old system that knows noting of MK_BMAKE
or on an almost up to date one that is defaulting it to "no"
neither of which will work.
2013-05-17 22:18:27 +00:00
Simon J. Gerraty
8ebb983529 We really need to get the bsd.own.mk from this tree so the
correct options are set.
Also defined NO_PWD_OVERRIDE to match behavior of fmake.
2013-05-17 19:37:16 +00:00
Xin LI
f26784139f guard against MK_SHARED_TOOLCHAIN not being defined. 2013-05-16 22:35:33 +00:00
Xin LI
ac2c0328ca Similar to r250719: guard against MK_BMAKE not being defined. 2013-05-16 22:25:17 +00:00
Simon J. Gerraty
1748de26cb Update to bmake-20130330 2013-04-02 21:31:11 +00:00
Simon J. Gerraty
4639b85868 Missed adding Makefile.config and unit-tests/Makefile should
allow FreeBSD make to do 'obj'.

Approved by:	marcel (mentor)
2013-02-04 17:41:17 +00:00
Simon J. Gerraty
3cbdda60ff Merge bmake-20130123
Approved by:	marcel (mentor)
2013-02-01 22:55:27 +00:00
Simon J. Gerraty
59a02420d8 Merge bmake-20121111
Also pay attention to MK_SHARED_TOOLCHAIN.

Approved by:	marcel (mentor)
2012-11-16 01:37:25 +00:00
Simon J. Gerraty
93036677b5 Merge bmake-20121010
Approved by:	marcel (mentor)
2012-10-25 23:18:05 +00:00
Marcel Moolenaar
21eb01cbce Fix a bootstrapping problem where the first bmake (built by FreeBSD's
make) ended up being built with -DFORCE_MACHINE. This broke the lib32
built for amd64 & powerpc64.
This fix is comes with the next import of bmake, but is committed here
and now to minimize the exposure to the bug.

Submitted by:	Simon Gerraty <sjg@juniper.net>
2012-10-19 19:56:17 +00:00
David E. O'Brien
22ddf6d447 Obey the value of "MK_BMAKE". 2012-10-16 15:43:16 +00:00
Marcel Moolenaar
d4d90f10bc Add bmake to the build and allow it to be installed as make(1) instead
of FreeBSD's make by setting WITH_BMAKE.  The WITH_BMAKE build makes it
easy for people to switch while working out the kinks -- think ports
tree here.  The option will be removed in due time.

Submitted by:	Simon Gerraty (sjg@juniper.net)
2012-10-06 19:19:21 +00:00