diff options
Diffstat (limited to 'contrib/bmake/mk/ChangeLog')
-rw-r--r-- | contrib/bmake/mk/ChangeLog | 563 |
1 files changed, 563 insertions, 0 deletions
diff --git a/contrib/bmake/mk/ChangeLog b/contrib/bmake/mk/ChangeLog index f73c4fb68c6b..c37feedf4353 100644 --- a/contrib/bmake/mk/ChangeLog +++ b/contrib/bmake/mk/ChangeLog @@ -1,3 +1,566 @@ +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. + +2024-01-05 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20240105 + * dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same + limits on command line length, so skip export of lists to env. + +2023-12-24 Simon J Gerraty <sjg@beast.crufty.net> + + * man.mk: add logic for staging man pages + +2023-11-28 Simon J Gerraty <sjg@beast.crufty.net> + + * jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating + point. This keeps JOB_MAX numeric incase another makefile does + comparisons. + +2023-11-04 Simon J Gerraty <sjg@beast.crufty.net> + + * dpadd.mk: add support for DPLIBS_QUALIFIER_LIST + + * gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES + +2023-10-03 Simon J Gerraty <sjg@beast.crufty.net> + + * compiler.mk (COMPILER_VERSION): clang at least is into + double digit major versions. + +2023-10-02 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20231001 + + * set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD + + * lib.mk (cleanlib): use LD_solink so we remove all the right files. + Use -Wl for -soname since we now default to linking with CC + We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking + with CC. + +2023-09-24 Simon J Gerraty <sjg@beast.crufty.net> + + * init.mk (QUALIFIED_VAR_LIST): Add SRCS + +2023-09-09 Simon J Gerraty <sjg@beast.crufty.net> + + * jobs.mk (JOB_MAX): use -jC if we can + we actually use JOB_MAX_C which defaults to 1.33C + +2023-08-18 Simon J Gerraty <sjg@beast.crufty.net> + + * now_utc: %s only works with :localtime + +2023-07-14 Simon J Gerraty <sjg@beast.crufty.net> + + * install-sh: ignore -c as claimed and only insist on + a directory for destination when more than one file to copy. + + * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and + ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) + +2023-07-13 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230711 + + * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible + install(1) + + * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: + set INSTALL to install-sh rather than pathname that may not exist + (yet). + +2023-07-07 Simon J Gerraty <sjg@beast.crufty.net> + + * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE + normally this is empty - for the default target, but there are + use-cases where we might set it to something else. + +2023-07-04 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230704 + + * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output + when DEBUG_DIRDEPS is in effect. + Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n + can greatly improve readability. + +2023-05-25 Simon J Gerraty <sjg@beast.crufty.net> + + * meta.autodep.mk (beforegendirdeps): allow tasks to be done + at END but before gendirdeps + +2023-05-22 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230522 + + * host-target.mk: deal with garbage from uname -m on + Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH + these days so just leave it be. + For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get + arm64 and x86_64 in HOST_TARGET. + +2023-05-15 Simon J Gerraty <sjg@beast.crufty.net> + + * sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older + versions of bmake. + + * dirdeps.mk (TARGET_SPEC_VARS.host): + While *most* projects need only DEP_MACHINE for host, + there is always an exception. So we allow for + TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. + The default will *just work* for most projects. + We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC + based on DEP_MACHINE. + Allow for M_dep_qual_fixes.host to be different too + and take care to apply the right set. + +2023-05-14 Simon J Gerraty <sjg@beast.crufty.net> + + * sys.dirdeps.mk: we *do* want to override OBJTOP + and if MAKEOBJDIR was not in env as we want it; + put it there - carefully. + Ensure OBJROOT ends in / or - (/ preferred) + Add more comments to explain what/why. + +2023-05-13 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230512 + + * dirdeps.mk: take care not to qualify "host" dirdeps + + * sys.dirdeps.mk (OBJTOP): must use ?= + +2023-05-10 Simon J Gerraty <sjg@beast.crufty.net> + + * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" + suppress processing of .depend + +2023-05-09 Simon J Gerraty <sjg@beast.crufty.net> + + * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP + + * meta.sys.mk sys.dirdeps.mk: + originally DIRDEPS_BUILD and META_MODE were the same thing, + but META_MODE is useful by itself. + Move things from meta.sys.mk which actually pertain to + DIRDEPS_BUILD to sys.dirdeps.mk + +2023-05-04 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230504 May the Forth be with you + + * dirdeps.mk: as with meta.sys.mk we treat "host" as special. + DEP_TARGET_SPEC is just ${DEP_MACHINE} + + * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at + level > 0 since these are often refered to in Makefile.depend* + +2023-04-26 Simon J Gerraty <sjg@beast.crufty.net> + + * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and + anything in ${JOB_LOG_START} + + * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} + or a scripts subdir before searching $PATH. + + * FILES: include newlog.sh for jobs.mk + +2023-04-20 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230420 + + * lib.mk: include LDFLAGS and LDADD when linking shared libs + + * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc + via local.meta.sys.mk rather than local.gendirdeps.mk + so DEP_* variables can be set at level 1+ to avoid syntax errors + when used in conditionals in manually maintained Makefile.depend + files. + + * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines + +2023-04-18 Simon J Gerraty <sjg@beast.crufty.net> + + * dirdeps.mk: check we were not included by + Makefile.depend.options as the result is bad. + +2023-04-14 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230414 + + * meta.sys.mk: since we have :range we can put the logic for + processing TARGET_SPEC from env here. + + * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including + local.dirdeps-missing.mk, also improve debug output. + + * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC + we need to use :M*[/.]* same as for when actually setting DIRDEPS + from the targets on command line. + +2023-04-12 Simon J Gerraty <sjg@beast.crufty.net> + + * Add jobs.mk + +2023-03-21 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230321 + + * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter + STAGE_LIBS for SHLIB_LINKS. + + * autoconf.mk: add .WAIT after config.status + +2023-02-17 Simon J Gerraty <sjg@beast.crufty.net> + + * sys.vars.mk: add M_Index to report the index of a word in a list. + +2023-02-15 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230215 + + * warnings.mk: allow better control of -Werror + allow -Wno-error or similar to be added if + WARNINGS_SET < WERROR_SET + account for COMPILER_TYPE + +2023-01-29 Simon J Gerraty <sjg@beast.crufty.net> + + * autoconf.mk: hook config.status to beforebuild. + + * whats.mk: what*.c is NOTMAIN + +2023-01-27 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230127 + control umask so directories are created with suitable mode. + +2023-01-20 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230120 + + * sys.vars.mk: add M_On and M_Onr also cleanup to be more + consistent wrt testing MAKE_VERSION + +2023-01-12 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20230112 + + * meta2deps.{py,sh}: assert if filemon data is truncated + we should see the '# Bye bye' record - assert if we do not. + +2022-09-09 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220909 + + * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings + +2022-09-06 Simon J Gerraty <sjg@beast.crufty.net> + + * dirdeps-options.mk: explain the need to use + ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to + ${TARGET_SPEC_VAR} + +2022-09-03 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220903 + + * M_cmpv handle more than 3 dots and clear leading 0's + +2022-07-20 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220720 + + * prog.mk: handle PROG_CXX for more than just NetBSD + +2022-06-20 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220620 + + * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER + rather than just suffix rules + +2022-04-23 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220422 + + * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" + do not capture any local depends in Makefile.depend + +2022-03-25 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220323 + * posix.mk: default rules for .POSIX: + +2022-03-17 Simon J Gerraty <sjg@beast.crufty.net> + + * sys/*.mk: remove l from ARFLAGS + +2022-03-14 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220314 + + * dirdeps-options.mk: allow options to be per RELDIR + try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed + with ${DEP_RELDIR}. + +2022-02-14 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220214 + + * cc-wrap.mk: fix :@ modifier + +2022-02-06 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220206 + + * cc-wrap.mk: docuement how CCACHE etc might be set for + maximum flexibility + +2022-02-05 Simon J Gerraty <sjg@beast.crufty.net> + + * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT + +2022-02-04 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220204 + + * host-target.mk: use .MAKE.OS if available + +2022-02-02 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220202 + + * cc-wrap.mk: allow other entries in CC_WRAP_FILTER + We add our filter on extensions last, so prior filters + can apply to the whole value of .IMPSRC + +2022-02-01 Simon J Gerraty <sjg@beast.crufty.net> + + * cc-wrap.mk: take advantage of target local variables to + wrap compilers like CC CXX with wrappers like ccache distcc etc + +2022-01-28 Simon J Gerraty <sjg@beast.crufty.net> + + * meta2deps: we do not expect any trace data for setid apps + +2022-01-26 Simon J Gerraty <sjg@beast.crufty.net> + + * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed + to sub-make using DIRDEPS_CACHE + +2022-01-07 Simon J Gerraty <sjg@beast.crufty.net> + + * dirdeps.mk: use _cache_script to minimize the number of shells + forked when generating dirdeps.cache + +2022-01-02 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20220101 + + * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. + If initial DIRDEPS are from command line, create the target + _dirdeps_cmdline as an indication. + +2022-01-01 Simon J Gerraty <sjg@beast.crufty.net> + + * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD + at top-level only some targets are allowed at level 0, + for leaf makefiles only the default (all) target is restricted + +2021-12-28 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20211228 + + * meta2deps.py: filemon on Linux is not as reliable as we might + like, we do not want to update DIRDEPS if filemon output is + incomplete. Track pids that we 'E'xec and make sure we see an + e'X'it for each one. Throw an error if we are missing any 'X' + records. + +2021-12-12 Simon J Gerraty <sjg@beast.crufty.net> + + * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. + + * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON + is something else. + + * meta.autodep.mk: we can now reference ${.SUFFIXES} + + * meta2deps.py: derive a list of dirdep extensions from + TARGET_SPEC to trim from dirdeps. + + * dirdeps.mk: flip the computation of qualified vs unqualified + dirdeps - it is much simpler to check for unqualified first. + +2021-12-11 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20211212 + + * auto.dep.mk: rearrange so that the trivial implementation + for recent bmake is more obvious. + +2021-12-07 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20211207 + + * Ensure guard targets are .NOTMAIN + + * meta.sys.mk: check for nofilemon support when we skip level 0 + + * auto.dep.mk: make this usable in meta mode + for platforms that cannot use meta.autodep.mk + + * meta2deps.py: avoid confusion if MACHINE and another + TARGET_SPEC_VAR have same value. + +2021-11-27 Simon J Gerraty <sjg@beast.crufty.net> + + * dirdeps.mk: when building dirdeps.cache, minimize the amount of + data put into env, by stripping ${SRCTOP}/ from each entry. + A long sandbox name can double the amount of memory consumed and + in extreme cases cause failure. + While we are at it, strip ${SRCTOP}/ from a lot of the debug output. + +2021-11-11 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20211111 + + * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail + so fallback to cp if necessary. + +2021-10-30 Simon J Gerraty <sjg@beast.crufty.net> + + * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year + old cmt2doc.pl + +2021-10-24 Simon J Gerraty <sjg@beast.crufty.net> + + * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} + as the symlink (rare) + +2021-10-16 Simon J Gerraty <sjg@beast.crufty.net> + + * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not + been read, throw an error after running configure telling user to + restart. + +2021-10-13 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20211011 + + * Add support for SCO_SV + +2021-10-01 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20211001 + + * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more + flexibility + +2021-09-13 Simon J Gerraty <sjg@beast.crufty.net> + + * options.mk (describe-options): print options and their values + and optional description + +2021-09-11 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20210911 + + * options.mk (show-options): print options and their values + +2021-09-08 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20210909 + + * lib.mk: apply patch from <daniel@octaforge.org> + to fix shared libs on Linux + +2021-08-08 Simon J Gerraty <sjg@beast.crufty.net> + + * install-mk (MK_VERSION): 20210808 + + * options.mk: issue warning for WITH_*=no + 2021-06-16 Simon J Gerraty <sjg@beast.crufty.net> * install-mk (MK_VERSION): 20210616 |