#
98e67009 |
| 24-Sep-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r288126 through r288196.
|
#
538c8eea |
| 24-Sep-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Document bsd.progs.mk and add more variables overrides.
BINGRP BINMODE BINOWN LINKS MLINKS PROGNAME.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
abb02fa2 |
| 24-Sep-2015 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Fix most cases of bsd.progs.mk running duplicate or missing commands.
This mostly fixes an interaction with bsd.test.mk with PROGS and SCRIPTS. This was most notable with 'make clean' and 'make inst
Fix most cases of bsd.progs.mk running duplicate or missing commands.
This mostly fixes an interaction with bsd.test.mk with PROGS and SCRIPTS. This was most notable with 'make clean' and 'make install', which r281055 and r272055 attempted to address but were inadequate.
It also addresses similar issues in bsd.progs.mk when not using bsd.test.mk.
This also fixes cases of NOT running commands in the parent when using bsd.progs.mk: - 'make clean' was not run for the main process for Makefiles which had both FILES and SUBDIR but no PROGS or SCRIPTS. This usually was just a leftover Kyuafile.auto. One such example is usr.bin/bmake/tests/sysmk/t1/2. - 'make obj' was not running in the current directory with bsd.test.mk due to early inclusion of bsd.subdir.mk. This was not really a problem due to the SUBDIRS using 'mkdir -p' for their objdirs.
There were subtle bugs causing this wrong behavior: 1. bsd.progs.mk needs to set SCRIPTS to empty when recursing to avoid the sub-makes from installing, cleaning or building the SCRIPTS; only the parent make should be doing this. r281055 effectively did the same but wasn't enough. 2. CLEANFILES may contain (especially from *.test.mk) files which only the parent should clean, such as from FILES and SCRIPTS. To resolve sub-makes also cleaning these, reset CLEANFILES and CLEANDIRS in the children before including bsd.prog.mk. A tempting alternative would be to only handle CLEANFILES in the parent but then the child bsd.prog.mk CLEANFILES of per-PROGS wouldn't be setup. 3. bsd.subdir.mk was included too soon in bsd.test.mk. It needs to be included after bsd.prog.mk as the SCRIPTS logic is short-circuitted if 'install:' is already defined (which bsd.subdir.mk does). There is actually no need to include bsd.subdir.mk from bsd.test.mk as bsd.prog.mk and bsd.obj.mk will do so in the proper order. The description in r257095 covers this for FILES and was fixed differently, though changing the handling of target(install) in bsd.prog.mk may make sense after more research. 4. bsd.progs.mk had extra logic to handle recursing SCRIPTS if PROGS was empty, which isn't its business to be doing. SCRIPTS is handled fine by bsd.prog.mk. This mostly reverts and reworks the fix in r259209 and partially reverts r272055. 5. bsd.progs.mk has no need to depend 'all:' on SCRIPTS and FILES. These are handled by bsd.prog.mk/bsd.files.mk fine. This also partially reverts r272055. 6. bsd.progs.mk was not drop-in safe for bsd.prog.mk. Move the PROGS check from r273186 to allow it to be used safely.
Specific tested cases: SCRIPTS:no PROGS:no FILES:yes SUBDIR:yes usr.bin/bmake/tests/sysmk/t1/2
SCRIPTS:yes PROGS:no FILES:yes SUBDIR:no usr.bin/bmake/tests/sysmk/t1/2/1
SCRIPTS:yes PROGS:yes FILES:yes SUBDIR:yes lib/libthr/tests
SCRIPTS:yes PROGS:no FILES:yes SUBDIR:no usr.bin/yacc/tests libexec/atf/atf-sh/tests
A full buildworld/installworld/clean comparison with mtree was also done. The only relevant difference was the new fixed behavior of removing Kyuafile.auto from the objdir in 'clean'.
Converting SCRIPTS to be a special case FILES group will make this less fragile and is being explored.
One known remaining issue is 'cleandepend' removing the tags files for every recursive call.
Note that the 'make clean' command runs for the CURDIR last, which can make it appear to run multiple times when cleaning in tests/, but each command is for a SUBDIR returning up the chain. This is purely bsd.subdir.mk behavior.
PR: 191055 PR: 191955 MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
show more ...
|
Revision tags: release/10.2.0 |
|
#
416ba5c7 |
| 22-Jun-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Catch up with HEAD (r280229-r284686).
|
#
76aeda8a |
| 20-Jun-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r284188 through r284643.
|
#
dad2fb7e |
| 15-Jun-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from head
|
#
ab21b9ab |
| 11-Jun-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Do not override variables on command line that build needs to change.
It is sufficient to explicitly set DEPENDFILE in env for each sub-make.
|
#
f5374544 |
| 10-Jun-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Building on fmake is no longer possible so removed tests for bmake.
|
#
58073855 |
| 30-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Do not override variables on command line that build needs to change.
It is sufficient to explicitly set DEPENDFILE in env for each sub-make.
|
#
b17ff922 |
| 26-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge from head
|
#
92f7db0f |
| 13-Apr-2015 |
Enji Cooper <ngie@FreeBSD.org> |
Revert r281055 as it breaks installing test scripts in the mixed PROGS/SCRIPT case
Repro is as follows:
% sudo pkg install -y kyua % sudo rm -Rf /usr/tests % sudo make hier % (cd lib/libthr/tests/;
Revert r281055 as it breaks installing test scripts in the mixed PROGS/SCRIPT case
Repro is as follows:
% sudo pkg install -y kyua % sudo rm -Rf /usr/tests % sudo make hier % (cd lib/libthr/tests/; make obj; make depend; make all; sudo make install) % (cd /usr/tests/lib/libthr; kyua list)
Failure seen in Jenkins build starting here: https://jenkins.freebsd.org/job/FreeBSD_HEAD-tests2/927/
Pointyhat to: bapt
show more ...
|
#
ae9b09c6 |
| 04-Apr-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Do not install scripts multiple time when using bsd.progs.mk
|
#
579e668d |
| 18-Mar-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Prevent targets being run twice for SCRIPTS
|
#
d899be7d |
| 19-Jan-2015 |
Glen Barber <gjb@FreeBSD.org> |
Reintegrate head: r274132-r277384
Sponsored by: The FreeBSD Foundation
|
#
8f0ea33f |
| 13-Jan-2015 |
Glen Barber <gjb@FreeBSD.org> |
Reintegrate head revisions r273096-r277147
Sponsored by: The FreeBSD Foundation
|
#
a4ed7276 |
| 03-Jan-2015 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead @ r276594
|
#
eca4d50a |
| 28-Dec-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r274961 through r276342.
|
#
0f1f7f67 |
| 27-Dec-2014 |
Enji Cooper <ngie@FreeBSD.org> |
Add LIBADD to PROG_VARS, similar to DPADD/LDADD
|
#
9268022b |
| 19-Nov-2014 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge from head@274682
|
Revision tags: release/10.1.0 |
|
#
5c9ef378 |
| 04-Nov-2014 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Sync to HEAD@r274095.
|
#
068ebf32 |
| 04-Nov-2014 |
Enji Cooper <ngie@FreeBSD.org> |
Import proper fix for misc/49356 (/usr/include/atf-c/config.h) after atf-c/config.h was removed from the build
Pointyhat to: me (again, for not running make delete-old after running test builds)
|
#
30175d76 |
| 30-Oct-2014 |
Julio Merino <jmmv@FreeBSD.org> |
Use the right depend file for each program.
bsd.progs.mk generates a separate depend file for every program being built, but then it does not properly tell each submake to use those individual files
Use the right depend file for each program.
bsd.progs.mk generates a separate depend file for every program being built, but then it does not properly tell each submake to use those individual files. Properly propagate the depend file to use.
Discovered while preparing the update of atf to 0.21 and noticing that the test programs were not being relinked to the new library.
This change is "make tinderbox" clean.
show more ...
|
#
867b5960 |
| 20-Oct-2014 |
Neel Natu <neel@FreeBSD.org> |
IFC @r273206
|
#
cfcdd438 |
| 16-Oct-2014 |
Mark Johnston <markj@FreeBSD.org> |
Don't define rules based on PROGS if PROGS is empty.
Reviewed by: sjg, ngie MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
2a382033 |
| 14-Oct-2014 |
Glen Barber <gjb@FreeBSD.org> |
Reintegrate head@r273095
Sponsored by: The FreeBSD Foundation
|