fe271bdb43cf88ee129d94c0e286fe618fd28e89
16 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
fe271bdb43 |
Import bmake-20260313
Intersting/relevant changes since bmake-20251111 ChangeLog since bmake-20251111 2026-03-12 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20260313 Merge with NetBSD make, pick up o make: ensure .MAKE.SAVE_DOLLARS is initialized so makefiles like sys.vars.mk can test its value to know how to deal with macros that need to save '$' during ':='. * Makefile: default MAKE_SAVE_DOLLARS_DEFAULT to "no" for traditional behavior. 2026-03-10 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20260310 Merge with NetBSD make, pick up o unit-tests ensure TEST_MAKE is absolute path and tests that make symlink for ${MAKE} can run in parallel. 2026-03-03 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20260303 Merge with NetBSD make, pick up o job.c: MaybeSubMake: Look for expansion of ${.MAKE} and if necessary its basename, and only match if at start of line or preceded by space. 2026-02-28 Simon J Gerraty <sjg@beast.crufty.net> * Makefile: mark ${PROG} and ${OBJS} as .META MaybeSubMake will otherwise mistake them for sub-makes * VERSION (_MAKE_VERSION): 20260301 Merge with NetBSD make, pick up o job.c: MaybeSubMake: skip control chars [@+-] at start of line when checking for ${MAKE} 2026-02-22 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20260222 o mk file update 2026-02-16 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20260216 Merge with NetBSD make, pick up o minor cleanups 2026-02-10 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20260210 Merge with NetBSD make, pick up o document that multiple variables can be set on command line. o move MaybeSubMake to job.c so it can be called on expanded commands for more accuracy and less overhead. o main.c: set .MAKE.VERSION as read-only. * unit-tests/opt-{chdir,where-am-i}.mk: use MAKEOBJDIRPREFIX=/ to avoid tripping over an unreadable /usr/obj 2026-02-04 Simon J Gerraty <sjg@beast.crufty.net> * unit-tests/varname-make_stack_trace.mk: for FreeBSD and similar set .MAKE.ALWAYS_PASS_JOB_QUEUE=no to ensure we get the expected errors. * VERSION (_MAKE_VERSION): 20260202 Merge with NetBSD make, pick up o on error avoid duplicate stack trace to stderr 2026-01-11 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20260111 Merge with NetBSD make, pick up o var.c: add explicit check for empty re as not all regex libs throw an error as expected, in this case. 2026-01-10 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20260110 Merge with NetBSD make, pick up o minor cleanups mk/ChangeLog since bmake-20251111 2026-03-12 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20260313 * sys.vars.mk: use .MAKE.VERSION M_type can simply use '$x' 2026-02-22 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20260222 * dirdeps.mk, sys.mk: add dependent option UPDATE_DIRDEPS_CACHE/DIRDEPS_CACHE. It can be useful to use -DWITHOUT_UPDATE_DIRDEPS_CACHE to temporarily treat dynamic DIRDEPS_CACHE as static. 2026-01-10 Simon J Gerraty <sjg@beast.crufty.net> * meta.autodep.mk (${_DEPENDFILE}): add .NOMETA 2026-01-08 Simon J Gerraty <sjg@beast.crufty.net> * rust.mk: better accommodation for RUST_LIBS. Set RUST_{LIBS,PROGS}_CARGO_BUILD_OUTPUT_LIST to simplify staging. 2025-12-08 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20251207 * sys.vars.mk: replace MAKE_POSIX_SHELL usage with isPOSIX_SHELL Using ${isPOSIX_SHELL:U:Nfalse} provides a boolean for make and ${isPOSIX_SHELL:Ufalse} does the same for target scripts. Both will be false if isPOSIX_SHELL is not set or set to false. This has the advantage that if only POSIX shells are expected sys.mk (or something it includes) can simply do isPOSIX_SHELL?=: |
||
|
|
638c66de4a |
Import bmake-20251111
Intersting/relevant changes since bmake-20250804 ChangeLog since bmake-20250804 2025-11-15 Simon J Gerraty <sjg@beast.crufty.net> * boot-strap: unset more things from env and save a copy to env.out for debugging. 2025-11-12 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20251111 Merge with NetBSD make, pick up o var.c: add :sh1 which only evaluates command on first reference. 2025-11-11 Simon J Gerraty <sjg@beast.crufty.net> * configure.in: Force filemon=no for Cygwin and MINGW64_NT 2025-11-10 Simon J Gerraty <sjg@beast.crufty.net> * unit-tests/Makefile: handle MINGW64_NT mark some tests broken, filter others as per Cygwin. 2025-10-23 Simon J Gerraty <sjg@beast.crufty.net> * make.1: document MAKE_VERSION. 2025-10-22 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20251022 * configure.in: Add a check that lua is version 5.2 or later if not we want to skip running check-expect.lua 2025-09-16 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20250916 Merge with NetBSD make, pick up o var.c: avoid compiler warning from hexdigits mk/ChangeLog since bmake-20250804 2025-11-18 Simon J Gerraty <sjg@beast.crufty.net> * sys.vars.mk: set MAKE_POSIX_SHELL to 1 if .SHELL is POSIX, 0 if not. set isPOSIX_SHELL for use in target scripts. * meta.stage.mk: set MAKE_POSIX_SHELL if needed. * install-new.mk: use ${isPOSIX_SHELL:Ufalse} to see if we can avoid running 'expr'. * install-new.mk: Allow use of cp or mv - controlled by CPMV_OP (default mv). 2025-11-13 Simon J Gerraty <sjg@beast.crufty.net> * sys.vars.mk: add M_sh1 so we can handle older bmake that does not support :sh1 2025-11-11 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20251111 * meta2deps.sh: reset some vars for each new meta file set meta_file to path of meta file. If meta2deps appears in DEBUG_SH set -x. 2025-09-16 Simon J Gerraty <sjg@beast.crufty.net> * options.mk: Add OPTIONS_DEFAULT_DEPENDENT_REQUIRED of the form OPTION/REQUIRED[/VALUE] if OPTION is $VALUE (default is "yes"), then REQUIRED must be too. We add OPTIONS_DEFAULT_DEPENDENT_REQUIRED (sans any /{yes,no}) to OPTIONS_DEFAULT_DEPENDENT so DEPENDENT/REQUIRED follow the same processing. Also add OPTIONS_FORCED_VALUES of the form OPTION/{yes,no} we add any OPTIONS_FORCED_NO and OPTIONS_FORCED_YES before processing. Simplify the processing of OPTIONS_DEFAULT_VALUES and OPTIONS_DEFAULT_DEPENDENT by splitting the tuples and use two iterator variables in the .for loops. 2025-08-09 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20250808 * replace sjg license with just BSD-2-Clause SPDX tag |
||
|
|
397f57656d |
Import bmake-20250308
Intersting/relevant changes since bmake-20250125 ChangeLog since bmake-20250125 2025-03-08 Simon J Gerraty <sjg@beast.crufty.net> * bsd.after-import.mk: by default generate makefiles closer to BSD style. * VERSION (_MAKE_VERSION): 20250308 Merge with NetBSD make, pick up o clean up comments and code for parallel mode o job.c: avoid SIGPIPE for children, call Job_Wait befor abort. 2025-02-27 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20250225 Merge with NetBSD make, pick up o job.c: reliably remove targets on interrupt, by passing signal to children first. mk/ChangeLog since bmake-20250125 2025-03-14 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20250314 * meta.stage.mk: StageFiles --subdir: preserve the dir part of each file under $dest 2025-03-12 Simon J Gerraty <sjg@beast.crufty.net> * meta.autodep.mk: do a better job of handling MAKESYSPATH in GENDIRDEPS_ENV. If we have MAKE_VERSION >= 20230123 we can just use .SYSPATH, otherwise it is a bit more complicated. |
||
|
|
5ad769f660 |
Import bmake-20250125
Intersting/relevant changes since bmake-20240711 ChangeLog since bmake-20240711 2025-01-25 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20250125 Merge with NetBSD make, sync up below change. * unit-tests/Makefile: remove $TMPDIR via .END to avoid failure in test on NFS - since the temp file for the target script is open and thus gets renamed by the server rather than removed. 2025-01-20 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20250120 Merge with NetBSD make, pick up o use FORK_FUNCTION so it can be forced to fork when doing coverage. o main.c: avoid memory allocation in error path after exec failure. 2025-01-16 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20250116 Merge with NetBSD make, pick up o clarify that undefined expressions are allowed in dependencies o simplify code for evaluating the '!=' variable assignment 2025-01-11 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20250111 Merge with NetBSD make, pick up o replace "Malformed conditional" with "Variable is undefined" when appropriate 2025-01-10 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20250110 Merge with NetBSD make, pick up o job.c: remove some unnecessary layers in job handling o unit-tests: test expressions based on undefined variables 2025-01-01 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20250101 Merge with NetBSD make, pick up o var.c: reduce pointer indirections when unexporting a variable 2024-12-12 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20241212 * mk/ updates 2024-11-24 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20241124 Merge with NetBSD make, pick up o var.c: fix confusing error message when overriding a read-only variable 2024-11-22 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20241122 Merge with NetBSD make, pick up o unit-tests/Makefile: optimize running of tests skip extra cat in 99% of cases. 2024-11-15 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20241114 Merge with NetBSD make, pick up o make.1: note that MAKEOBJPREFIX should be absolute path also that it can be set via makefile if suitable care taken. 2024-11-10 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20241110 Merge with NetBSD make, pick up o make: allow .../ (search here and above) in .MAKE.MAKEFILE_PREFERENCE and -f argument. 2024-11-03 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20241101 Merge with NetBSD make, pick up o parse.c: report filename:linenumber in parse debug output 2024-09-21 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240921 Merge with NetBSD make, pick up o make.1: Only list the defaults for MAKEFILE_PREFERENCE once. * Makefile: use genfiles.mk to generate ${MAN} so that it can be tuned for local site. Ensure MAN is defined before including Makefile.inc * Makefile: use MK_GEN_MAN to make it easier to control whether we generate ${MAN} 2024-09-16 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240909 * arch.c: fix NetBSD PR 58597 2024-09-01 Simon J Gerraty <sjg@beast.crufty.net> * Makefile: use SUBDIR.${MK_TESTS} so that we skip unit-tests for obj and clean when FreeBSD is building WITHOUT_TESTS * VERSION (_MAKE_VERSION): 20240901 Merge with NetBSD make, pick up o reduce line length in error messages o var.c: simplify printing of an evaluation stack element 2024-08-29 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240828 Merge with NetBSD make, pick up o add more context to error message about recursive variables o treat recursive variables non-fatally - continue parsing to end of makefile 2024-08-12 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240808 Merge with NetBSD make, pick up o improve some error messages for better clarify and readability 2024-07-22 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240722 Merge with NetBSD make, pick up o job.c: remove dead code 2024-07-21 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240720 Merge with NetBSD make, pick up o compat.c: do not run commands that have parse or evaluation errors. o var.c: remove wrong error message about an undefined variable mk/ChangeLog since bmake-20240711 2025-01-10 Simon J Gerraty <sjg@beast.crufty.net> * rust.mk: use RUST_LIBS and RUST_PROGS 2025-01-01 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20250101 * use W flag to :S and :C rather than :tW 2024-12-16 Simon J Gerraty <sjg@beast.crufty.net> * rust.mk: add RUSTFLAGS if needed 2024-12-12 Simon J Gerraty <sjg@beast.crufty.net> * init.mk (OBJS_SRCS_FILTER): apply this as ${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD. 2024-12-03 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20241202 * setopts.sh: needed by newlog.sh 2024-11-22 Simon J Gerraty <sjg@beast.crufty.net> * meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it easier to add things like 'env' when debugging. * install-mk (MK_VERSION): 20241122 * rust.mk: rename CARGO* to RUST_CARGO* so I don't feel like this makefile should be renamed to cargo.mk 2024-11-11 Simon J Gerraty <sjg@beast.crufty.net> * dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and DIRDEP_USE_EPILOGUE to _DIRDEP_USE 2024-10-30 Simon J Gerraty <sjg@beast.crufty.net> * meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to .BEGIN target. 2024-10-27 Simon J Gerraty <sjg@beast.crufty.net> * options.mk: add support for DEBUG_OPTIONS (similar to DEBUG_DIRDEPS) to allow us to see where options get set. Eg. DEBUG_OPTIONS="STAGING*" gives: bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no) bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes) bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes) bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no) * own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk) 2024-10-26 Simon J Gerraty <sjg@beast.crufty.net> * rust.mk: add some documentation and support for staging 2024-10-25 Simon J Gerraty <sjg@beast.crufty.net> * rust.mk: a means of integrating Rust projects into a larger build. 2024-10-18 Simon J Gerraty <sjg@beast.crufty.net> * dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found STATIC_DIRDEPS_CACHE, report its relative path. 2024-09-30 Simon J Gerraty <sjg@beast.crufty.net> * dirdeps.mk: tweak the debug message for "Loading" a Makefile.depend file, always report what the actual makefile is with the DIRDEP it is for. Remove the redundant "Looking" message. 2024-09-26 Simon J Gerraty <sjg@beast.crufty.net> * meta2deps.py: when raising AssertionError include meta file name with $SB trimmed if possible. 2024-09-23 Simon J Gerraty <sjg@beast.crufty.net> * meta2deps.py: replace assert() with raise AssertionError when we detect missing eXits, to ensure a meaningful message gets into log. 2024-09-21 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20240921 * FILES: add genfiles.mk 2024-09-20 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20240920 * cython.mk: Get PYTHON_VERSION from PYTHON 2024-08-31 Simon J Gerraty <sjg@beast.crufty.net> * subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*} and handle subdir with '-' in its name. 2024-08-23 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20240820 * links.mk: Allow a filter to be applied to SYMLINKS etc. It is up to [BUILD_][SYM]LINKS_FILTER to do something sane. Also only claim we are making a symlink if the value changed. |
||
|
|
a6b892e1c7 |
Import bmake-20240309
Intersting/relevant changes since bmake-20240108 ChangeLog since bmake-20240108 2024-03-10 Simon J Gerraty <sjg@beast.crufty.net> * boot-strap: tests can take a long time; use a cookie to skip them if bmake has not been updated since tests last ran successfully. * Makefile: Cygwin handles MANTARGET man * unit-tests/Makefile: set BROKEN_TESTS for Cygwin 2024-03-09 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240309 Merge with NetBSD make, pick up o set .ERROR_EXIT to the exit status of .ERROR_TARGET this allows a .ERROR target to ignore the case of .ERROR_EXIT==6 which just means that the build actually failed somewhere else. 2024-03-04 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240303 * var.c: on IRIX we need both inttypes.h and stdint.h 2024-03-01 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240301 Merge with NetBSD make, pick up o export variables with value from target scope when appropriate. 2024-02-12 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240212 Merge with NetBSD make, pick up o remove unneeded conditional-compilation toggles INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB, GMAKEEXPORT NO_REGEX and SUNSHCMD * configure.in: add check for regex.h * var.c: replace use of NO_REGEX with HAVE_REGEX_H 2024-02-04 Simon J Gerraty <sjg@beast.crufty.net> * VERSION (_MAKE_VERSION): 20240204 Merge with NetBSD make, pick up o var.c: fix some lint (-dL) mode parsing issues 2024-02-02 Simon J Gerraty <sjg@beast.crufty.net> * VERSION: (_MAKE_VERSION): 20240202 Merge with NetBSD make, pick up o make.1: note that arg to :D and :U can be empty o var.c: $$ is not a parse error when .MAKE.SAVE_DOLLARS=no mk/ChangeLog since bmake-20240108 2024-03-09 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20240309 * meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not want to save the .ERROR_META_FILE 2024-02-20 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20240220 * sys.dirdeps.mk, dirdeps-targets.mk, init.mk: do not set .MAIN: dirdeps in sys.dirdeps.mk dirdeps-targets.mk will do that for top-level builds and init.mk will do it for others. This allows a Makefile which has no need of 'dirdeps' to set .MAIN for itself and "just work". 2024-02-18 Simon J Gerraty <sjg@beast.crufty.net> * bsd.*.mk: for makefiles that get a bsd. symlink, use _this in multiple inclusion tags since .PARSEFILE will not DTRT when such a makefile is included directly by Makefile and automatically (without bsd. prefix). Since we cannot guarantee that our sys.mk will be used, we provide a default _this in each makefile that gets a bsd. prefix such that the value is the same regardless of bsd. prefix. * subdir.mk: drop the !target guard on $SUBDIR_TARGETS 2024-02-12 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20240212 * SPDX-License-Identifier: BSD-2-Clause Add SPDX-License-Identifier to inidicate that I consider my copyright on any of these makefiles equivalent to BSD-2-Clause * autoconf.mk: allow for configure.ac as currently recommended * subdir.mk: support @auto which is replaced with each subdir that has a [Mm]akefile. * subdir.mk: include local.subdir.mk if it exists. * subdir.mk: rework to handle .WAIT 2024-02-11 Simon J Gerraty <sjg@beast.crufty.net> * subdir.mk: _SUBDIRUSE report the target we are entering subdirs for. 2024-02-10 Simon J Gerraty <sjg@beast.crufty.net> * prog.mk: treat empty SRCS the same as undefined 2024-02-02 Simon J Gerraty <sjg@beast.crufty.net> * Avoid undefined errors in lint (-dL) mode * man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7) 2024-01-28 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20240128 * FILES: add ccm.dep.mk for C++ modules add suffixes.mk for common location for generic SUFFIX rules. * auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk replace OBJ_EXTENSIONS with OBJ_SUFFIXES * autodep.mk: leverage CXX_SUFFIXES for __depsrcs and update style (spaces around = etc) * init.mk: add OBJS_SRCS_FILTER to filter SRCS when setting OBJS * meta2deps.py: handle multiple ./ embedded in path better. |
||
|
|
3e39ce563b |
Import bmake-20230622
Relevant/interesting changes:
o optimize string matching for ':M' and ':N'
o warn about malformed patterns in ':M', ':N' and '.if make(...)'
o allow guards to be targets as well as variables
The guard targets may include variable references like
__${.PARSEDIR:tA}/${.PARSEFILE}__
o optimization for makefiles protected from multiple-inclusion
skip even opening the file after first include.
o var.c: do not allow delete of readOnly variable
o parse.c: .break takes no args
|
||
|
|
51d8a8b4ac |
Import bmake-20230414
Relevant/interesting changes:
* make.1: document seemingly unexplained Error code 6.
o compat.c: CompatDeleteTarget skip .PHONY targets to be
consistent with JobDeleteTarget.
o job.c: fix memory leak in handling sysv :from=to modifiers
o unit tests for .MAKE.META.IGNORE_{FILTER,PATHS,PATTERNS}
o var.c: fix parsing of unevaluated subexpressions with
unbalanced '{}'
o cond.c: reduce complexity of evaluating expressions
|
||
|
|
2e36ab2363 |
Import bmake-20230126
Relevant/interesting changes (see ChangeLog for more):
o variables like .newline and .MAKE.{GID,PID,PPID,UID}
should be read-only.
o .[NO]READONLY: for control of read-only variables
o .SYSPATH: for controlling the path searched for makefiles
o allow for white-space between command specifiers @+-
o add more details to warning 'Extra targets ignored'
o make.1: sync list of built-in variables with reality
sort list of built-in variables
o cond.c: add more details to error message for numeric comparison
o job.c: fix handling of null bytes in output
o Allow .break to terminate a .for loop early
o var.c: fix out-of-bounds errors when parsing
o fix exit status for '-q' (since 1994)
|
||
|
|
535c59a6a9 |
Import bmake-20220208
* unit-tests/Makefile: disable opt-debug-x-trace on Linux if there is any chance we have dash as .SHELL * meta.c: use a variable to hold command line to be filtered to avoid any side effects from content of command line. |
||
|
|
2935fe8237 |
Import bmake-20211212
Relevant changes see ChangeLog for details:
Add support for ${.SUFFIXES} as read-only variable.
Fix memory leak in cond.c
Punt on write errors - ENOSPC etc.
Lots of code refactoring, rework to reduce memory allocations.
More unit-tests.
|
||
|
|
302da1a3d3 |
Import bmake-20201101
Lots of new unit-tests increase code coverage. Lots of refactoring, cleanup and simlpification to reduce code size. Fixes for Bug 223564 and 245807 Updates to dirdeps.mk and meta2deps.py |
||
|
|
6bbc783f48 |
Import bmake-20200902
Lots of code refactoring, simplification and cleanup. Lots of new unit-tests providing much higher code coverage. All courtesy of rillig at netbsd. Other significant changes: o new read-only variable .SHELL which provides the path of the shell used to run scripts (as defined by the .SHELL target). o new debug option -dl: LINT mode, does the equivalent of := for all variable assignments so that file and line number are reported for variable parse errors. |
||
|
|
b897d72a5a |
Import 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
|
||
|
|
2358deb654 |
Import bmake-20180222
From ChangeLog
* VERSION: 20180222
Merge with NetBSD make, pick up
o parse.c: avoid calling sysconf for every call to loadfile
* VERSION: 20180218
Merge with NetBSD make, pick up
o var.c: Var_Set handle NULL value anytime.
* VERSION: 20180212
Merge with NetBSD make, pick up
o parse.c: do not treat .info as warning with -W
* VERSION: 20171207
Merge with NetBSD make, pick up
o var.c: Var_Append use Var_Set if var not previously set
so that VAR_CMD is handled correctly.
Add a suitable unit-test.
* VERSION: 20171126
* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
since AC_TRY_COMPILE puts input inside main()
which upsets modern compilers.
* VERSION: 20171118
Merge with NetBSD make, pick up
o var.c: do not append to variable set on command line
add unit-test to catch this.
|
||
|
|
60a7ffecc7 | Import bmake-20170301 | ||
|
|
b9b4b0cc41 |
Import bmake-20161212
From ChangeLog 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> * Makefile (_MAKE_VERSION): 20161212 Merge with NetBSD make, pick up o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> * Makefile (_MAKE_VERSION): 20161209 Merge with NetBSD make, pick up o main.c: cleanup setting of .OBJDIR o parse.c: avoid coredump from (var)=val 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> * Makefile (_MAKE_VERSION): 20161126 Merge with NetBSD make, pick up o make.c: Make_OODate: report src node name if path not set 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> * Makefile (_MAKE_VERSION): 20160926 Merge with NetBSD make, pick up o support for .DELETE_ON_ERROR: (remove targets that fail) 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> * Makefile MAN: tweak .Dt to match ${PROG} mk/ChangeLog 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> * install-mk (MK_VERSION): 20161212 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, rather than when we detect pid change. 2016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> * install-mk (MK_VERSION): 20161207 * meta.stage.mk: add stage_as_and_symlink for staging packages. We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able to use foo.tgz to reference the latest staged version - so we make foo.tgz a symlink to it. Using a target to do both operations ensures we stay in sync. 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> * install-mk (MK_VERSION): 20161126 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk so it can add dependencies. 2016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE do that they can influence the result correctly. * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 2016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> * dirdeps.mk: remove dependence on jot (normal situations anyway). Before we read another Makefile.depend* set DEP_* vars from _DEP_TARGET_SPEC in case it uses any of them with := When bootstrapping, trim any ,* from extention of chosen _src Makefile.depend* to get the machine value we subst for. 2016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to DEP_SKIP_DIR and DEP_DIRDEPS_FILTER * sys.mk: extract some bits to sys.{debug,vars}.mk for easier re-use by others. 2016-09-23 Simon Gerraty <sjg@sjg-mba13> * lib.mk: Use ${PICO} for extension for PIC objects. default to .pico (like NetBSD) safe on case insensitive filesystem. 2016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default |