aboutsummaryrefslogtreecommitdiff
path: root/contrib/bmake/mk/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bmake/mk/ChangeLog')
-rw-r--r--contrib/bmake/mk/ChangeLog563
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