#
304489 |
|
19-Aug-2016 |
bdrewery |
MFS r304144:
MFC r303964:
PROGS: Support INTERNALPROG.prog=yes to not install it.
Approved by: re (gjb)
|
#
304489 |
|
19-Aug-2016 |
bdrewery |
MFS r304144:
MFC r303964:
PROGS: Support INTERNALPROG.prog=yes to not install it.
Approved by: re (gjb) |
#
303975 |
|
11-Aug-2016 |
gjb |
Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, and rename it to RC1.
Update __FreeBSD_version.
Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and the dvd1.iso packages population.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
302408 |
|
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
298012 |
|
14-Apr-2016 |
ngie |
Add DEBUG_FLAGS to PROG_VARS and STRIP to PROG_OVERRIDE_VARS
This will allow the variables [*] to be overridden on a per-PROG basis, which is useful when controlling "stripping" behavior for some tests that require debug symbols or to be unstripped
DEBUG_FLAGS (similar to CFLAGS) supports appending, whereas STRIP is an override
*: Due to how STRIP is defined in bsd.own.mk (in addition to bsd.lib.mk and bsd.prog.mk), and the fact that bsd.test.mk pulls in bsd.own.mk first, overriding STRIP doesn't work today.
A follow up commit is pending to "rectify" this after additional testing is done.
Discussed with: bdrewery MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
297456 |
|
31-Mar-2016 |
bdrewery |
We don't support DPLIBS.
Sponsored by: EMC / Isilon Storage Division
|
#
297282 |
|
26-Mar-2016 |
bdrewery |
We don't have a CPPFLAGS, COPTS or CPUFLAGS.
Sponsored by: EMC / Isilon Storage Division
|
#
296555 |
|
09-Mar-2016 |
bdrewery |
DIRDEPS_BUILD+PROGS: Fix staging not respecting (BINDIR|PROGNAME)[._]${PROG}.
Observed in tests/sys/kern.
Sponsored by: EMC / Isilon Storage Division
|
#
296553 |
|
09-Mar-2016 |
bdrewery |
PROGS: Track child meta files.
This will allow Makefile.depend to properly capture all dependencies. It is not 100% optimal but works. Other options would be to use *.meta here which would include too much or to keep a Makefile.depend per PROG and include it from the main Makefile.depend which would not be straight forward.
Sponsored by: EMC / Isilon Storage Division
|
#
296122 |
|
26-Feb-2016 |
bdrewery |
Move PROGS logic to proper place and remove redundant and unneeded logic.
- bsd.progs.mk is safe to include regardless of PROGS/PROGS_CXX/SCRIPTS being set. - bsd.progs.mk includes bsd.prog.mk always and will bring in bsd.files.mk and bsd.obj.mk. - DIRDEPS_BUILD: There's no need for _SKIP_BUILD or _SKIP_STAGING as the PROGS were implicitly being built by the staging dependency anyway. This was also preventing other objects from building if they were not part of the staging sets. - DIRDEPS_BUILD: This fixes PROGS without bsd.test.mk not staging.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
296121 |
|
26-Feb-2016 |
bdrewery |
DIRDEPS_BUILD: Fix some things building in MAKELEVEL0.
For PROGS this was recursing twice since MAKELEVEL0 is for 'dirdeps' which then really builds in a sub-make.
Sponsored by: EMC / Isilon Storage Division
|
#
296000 |
|
24-Feb-2016 |
bdrewery |
PROGS: Only the main process will install INCS.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
295994 |
|
24-Feb-2016 |
bdrewery |
PROGS: Remove the 'build one' optimization since it breaks 'build multiple'
Given PROG1 PROG2, 'make PROG1' would work but 'make PROG1 PROG2' would not. Just build them as normal in a sub-make to avoid any issues.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
295976 |
|
24-Feb-2016 |
bdrewery |
PROGS: Only recurse on called targets like done for SUBDIR in r291635.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
294873 |
|
27-Jan-2016 |
bdrewery |
Set a value for _RECURSING_PROGS for debugging.
MFC after: 3 days Sponsored by: EMC / Isilon Storage Division
|
#
291340 |
|
25-Nov-2015 |
bdrewery |
Follow-up r291338 to handle .d, .y and .l files better as well.
X-MFC-With: r291338 MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
291338 |
|
25-Nov-2015 |
bdrewery |
Fix the "common object" handling to not depend on ".o" if SRCS only contains headers.
This resulted in 'don't know how to make .o.' errors after the changes in r289286.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
290870 |
|
15-Nov-2015 |
ngie |
Add NO_WERROR and WARNS to PROG_OVERRIDE_VARS for bsd.prog.mk compatibility
MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
290181 |
|
30-Oct-2015 |
ngie |
Unbreak bsd.progs.mk with PROGS (but not PROGS_CXX) and when invoking the "one of many" targets, e.g. `make hello_world`, where hello_world is a C program
Tested with: PROGS and PROGS_CXX MFC after: 1 week X-MFC with: r289289 Sponsored by: EMC / Isilon Storage Division
|
#
289669 |
|
21-Oct-2015 |
bdrewery |
Fix building in a directory with SUBDIRs and SUBDIR_PARALLEL.
The SUBDIR_PARALLEL feature uses a .for dir in ${SUBDIR} loop. The old code here for recursing was setting SUBDIR= as a make *argument*. The SUBDIR= replacement was not actually handled until after the .for loop was unrolled. This could be seen with a '.info ${SUBDIR} ${dir}' inside of the loop which showed an empty ${SUBDIR} and a set ${dir}. Setting NO_SUBIDR= before calling ${MAKE} as an *environment* variable handles the case fine and is a more proper mechanism for disabling subdir handling.
This could be seen with 'make -C tests/sys/kern -j15 SUBDIR_PARALLEL=yes'.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
289289 |
|
14-Oct-2015 |
bdrewery |
Fix support for building a PROG_CXX, and PROG, directly.
For example in lib/atf/libatf-c++/tests/detail it is now possible to run 'make application_test'. This was intended to worked for PROGS, but lacked support for PROGS_CXX.
Also fix redefining the main PROG target to recurse. This isn't needed since the main process is setting PROG/PROG_CXX to handle it directly via bsd.prog.mk.
MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
|
#
289286 |
|
14-Oct-2015 |
bdrewery |
Follow-up r288218 by ensuring common objects are built before recursing.
Some example where this is a problem: lib/atf/libatf-c++/tests/Makefile:SRCS.${_T}= ${_T}.cpp test_helpers.cpp lib/atf/libatf-c++/tests/detail/Makefile:SRCS.${_T}= ${_T}.cpp test_helpers.cpp lib/atf/libatf-c/tests/Makefile:SRCS.${_T}= ${_T}.c test_helpers.c lib/atf/libatf-c/tests/detail/Makefile:SRCS.${_T}= ${_T}.c test_helpers.c lib/libpam/libpam/tests/Makefile:SRCS.${test} = ${test}.c ${COMMONSRC}
A similar change may be needed for FILES, SCRIPTS, or INCS, but for now stay with just SRCS.
Reported by: rodrigc MFC after: 3 weeks X-MFC-With: r288218 Sponsored by: EMC / Isilon Storage Division
|
#
289085 |
|
09-Oct-2015 |
bapt |
Add a new bsd.confs.mk similar to bsd.files.mk or bsd.incs.mk
It defines a CONFS variable for all files supposed to be installed as a configuration file and handle as such
|
#
288218 |
|
25-Sep-2015 |
bdrewery |
PROGS: Let the parent run the children in parallel.
This seems to work fine.
MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
|
#
288201 |
|
25-Sep-2015 |
bdrewery |
Don't recurse with cleanobj.
bsd.obj.mk handles the needs fine. When an objdir exists it will just rm -Rf the objdir. When it does not exist though it will call 'clean' and 'cleandepend', which properly recurse in bsd.progs.mk.
MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
|
#
288160 |
|
24-Sep-2015 |
bdrewery |
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
|
#
288158 |
|
23-Sep-2015 |
bdrewery |
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
|
#
284288 |
|
11-Jun-2015 |
sjg |
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.
|
#
281503 |
|
13-Apr-2015 |
ngie |
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
|
#
281055 |
|
04-Apr-2015 |
bapt |
Do not install scripts multiple time when using bsd.progs.mk
|
#
276317 |
|
27-Dec-2014 |
ngie |
Add LIBADD to PROG_VARS, similar to DPADD/LDADD
|
#
274079 |
|
04-Nov-2014 |
ngie |
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)
|
#
273873 |
|
30-Oct-2014 |
jmmv |
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.
|
#
273186 |
|
16-Oct-2014 |
markj |
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
|
#
272917 |
|
10-Oct-2014 |
ngie |
Add LDFLAGS to PROG_VARS so it can be overridden on a per-PROG basis
MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
272055 |
|
24-Sep-2014 |
ngie |
Improve bsd.progs.mk compatibility with bsd.prog.mk
1. Do not install FILES/SCRIPTS multiple times if PROGS is specified; this is already handled via bsd.prog.mk when it's called recursively (PR: 191055, 191955). 2. Some variables, like BINDIR and PROGNAME, default to a value if unset whereas others get appended to, like CFLAGS. Add support for the former case (PR: 191056) 3. Make "checkdpadd" and "clean" available targets for recursive execution.
Reviewed by: marcel, sjg Phabric: D822 PR: 191055, 191056, 191955 MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
|
#
259209 |
|
11-Dec-2013 |
jmmv |
Make bsd.progs.mk work in directories with SCRIPTS but no PROGS.
This change fixes some cases where bsd.progs.mk would fail to handle directories with SCRIPTS but no PROGS. In particular, "install" did not handle such scripts nor dependent files when bsd.subdir.mk was added to the mix.
This is "make tinderbox" clean.
Reviewed by: freebsd-testing Approved by: rpaulo (mentor)
|
#
258330 |
|
19-Nov-2013 |
sjg |
Need to also test for defined(${v}_${PROG})
|
#
258095 |
|
13-Nov-2013 |
sjg |
Allow this to work with fmake Based on patch from Garret Cooper.
|
#
249770 |
|
22-Apr-2013 |
sjg |
Pass more variables to bsd.prog.mk and only append to already defined variables.
Submitted by: Garrett Cooper
|
#
242710 |
|
07-Nov-2012 |
sjg |
Latest progs.mk from crufty.net for ATF
Approved by: marcel (mentor)
|
#
241823 |
|
22-Oct-2012 |
marcel |
Add ATF to the build. This is may be a bit rought around the egdes, but committing it helps to get everyone on the same page and makes sure we make progress.
Tinderbox breakages that are the result of this commit are entirely the committer's fault -- in other words: buildworld testing on amd64 only.
Credits follow:
Submitted by: Garrett Cooper <yanegomi@gmail.com> Sponsored by: Isilon Systems Based on work by: keramida@ Thanks to: gnn@, mdf@, mlaier@, sjg@ Special thanks to: keramida@
|