]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Merge bmake-20200517
authorSimon J. Gerraty <sjg@FreeBSD.org>
Wed, 20 May 2020 22:25:46 +0000 (22:25 +0000)
committerSimon J. Gerraty <sjg@FreeBSD.org>
Wed, 20 May 2020 22:25:46 +0000 (22:25 +0000)
commit49caa483b3fafffd9cf5197eb30e8bb235aa7410
tree9ee636872e19ac361f51f9f97990c7fa142c2fb6
parent4f98ffdd1da28744fbcf31d3d818fc17ea30cb5e
parentb897d72a5adf5cfad8c79f90e155bae99bdde48c
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
78 files changed:
contrib/bmake/ChangeLog
contrib/bmake/FILES
contrib/bmake/Makefile
contrib/bmake/Makefile.config.in
contrib/bmake/VERSION
contrib/bmake/arch.c
contrib/bmake/boot-strap
contrib/bmake/bsd.after-import.mk
contrib/bmake/compat.c
contrib/bmake/config.h.in
contrib/bmake/configure
contrib/bmake/configure.in
contrib/bmake/filemon/filemon.h
contrib/bmake/filemon/filemon_dev.c
contrib/bmake/filemon/filemon_ktrace.c
contrib/bmake/job.c
contrib/bmake/make-bootstrap.sh.in
contrib/bmake/make.1
contrib/bmake/make.h
contrib/bmake/meta.c
contrib/bmake/meta.h
contrib/bmake/mk/ChangeLog
contrib/bmake/mk/FILES
contrib/bmake/mk/autodep.mk
contrib/bmake/mk/compiler.mk
contrib/bmake/mk/dirdeps-targets.mk
contrib/bmake/mk/dirdeps.mk
contrib/bmake/mk/doc.mk
contrib/bmake/mk/dpadd.mk
contrib/bmake/mk/gendirdeps.mk
contrib/bmake/mk/init.mk
contrib/bmake/mk/install-mk
contrib/bmake/mk/lib.mk
contrib/bmake/mk/meta.stage.mk
contrib/bmake/mk/meta.sys.mk
contrib/bmake/mk/meta2deps.py
contrib/bmake/mk/options.mk
contrib/bmake/mk/sys.mk
contrib/bmake/mk/sys.vars.mk
contrib/bmake/mk/sys/AIX.mk
contrib/bmake/mk/sys/Darwin.mk
contrib/bmake/mk/sys/Generic.mk
contrib/bmake/mk/sys/HP-UX.mk
contrib/bmake/mk/sys/IRIX.mk
contrib/bmake/mk/sys/Linux.mk
contrib/bmake/mk/sys/NetBSD.mk
contrib/bmake/mk/sys/OSF1.mk
contrib/bmake/mk/sys/OpenBSD.mk
contrib/bmake/mk/sys/SunOS.mk
contrib/bmake/mk/sys/UnixWare.mk
contrib/bmake/mk/whats.mk
contrib/bmake/nonints.h
contrib/bmake/parse.c
contrib/bmake/str.c
contrib/bmake/unit-tests/Makefile
contrib/bmake/unit-tests/Makefile.config.in
contrib/bmake/unit-tests/cond-late.exp
contrib/bmake/unit-tests/cond-late.mk
contrib/bmake/unit-tests/dollar.exp
contrib/bmake/unit-tests/dollar.mk
contrib/bmake/unit-tests/escape.mk
contrib/bmake/unit-tests/forloop.exp
contrib/bmake/unit-tests/forloop.mk
contrib/bmake/unit-tests/include-main.exp
contrib/bmake/unit-tests/include-main.mk
contrib/bmake/unit-tests/include-sub.mk
contrib/bmake/unit-tests/include-subsub.mk
contrib/bmake/unit-tests/modorder.mk
contrib/bmake/unit-tests/sysv.exp
contrib/bmake/unit-tests/sysv.mk
contrib/bmake/unit-tests/varmod-edge.exp
contrib/bmake/unit-tests/varmod-edge.mk
contrib/bmake/util.c
contrib/bmake/var.c
usr.bin/bmake/Makefile
usr.bin/bmake/Makefile.config
usr.bin/bmake/Makefile.depend
usr.bin/bmake/config.h