freebsd-dev/share/mk
Jessica Clarke 91d7edd549 Generalise libcompat to be a list rather than a single option
Whilst the kernel can support any number of COMPAT_FOO, world can only
build a single libfoo. Upstream this isn't such an issue, since the only
option is lib32 anyway, but downstreams, such as CheriBSD, may wish to
support multiple at the same time. Thus, adjust the top-level Makefiles
to turn _LIBCOMPAT into a _LIBCOMPATS list that gets iterated over, and
adjust bsd.compat.mk to support this use-case.

For the normal NEED_COMPAT/WANT_COMPAT case, LIBCOMPATFOO remain set and
refer to the requested compat's, preserving the current interface. For
the top-level Makefiles those variables are no longer set (since there
is no longer "the" compat) and only the per-compat ones are available.

Reviewed by:	brooks, jhb, imp
Differential Revision:	https://reviews.freebsd.org/D40571
2023-06-28 00:10:49 +01:00
..
atf.test.mk testing: move atf-pytest-wrapper to /usr/libexec 2022-06-26 13:25:47 +00:00
auto.obj.mk
bsd.arch.inc.mk
bsd.clang-analyze.mk
bsd.compat.mk Generalise libcompat to be a list rather than a single option 2023-06-28 00:10:49 +01:00
bsd.compiler.mk Enable -ftrivial-auto-var-init flags for gcc >= 12 2023-05-23 19:44:45 +02:00
bsd.confs.mk Ensure the stage_* targets we use exist 2023-04-18 20:19:11 -07:00
bsd.cpu.mk share/mk/bsd.cpu.mk: drop -mno-powerpc64 2023-06-24 22:01:47 +02:00
bsd.crunchgen.mk
bsd.dep.mk Remove more quotes around Makefile .error/.warn/.info strings. 2022-02-04 15:59:53 -08:00
bsd.dirs.mk
bsd.doc.mk
bsd.dtb.mk
bsd.endian.mk Remove more quotes around Makefile .error/.warn/.info strings. 2022-02-04 15:59:53 -08:00
bsd.files.mk pkgbase: Do not override packages for FILES 2023-02-08 08:50:16 +01:00
bsd.incs.mk
bsd.info.mk
bsd.init.mk
bsd.kmod.mk Add some more local.*.mk includes 2022-12-06 10:49:54 -08:00
bsd.lib.mk Assemble .s to .o using cc, not as 2023-06-25 22:03:19 -04:00
bsd.libnames.mk Put OPIE to rest. 2022-10-02 03:37:29 +02:00
bsd.linker.mk Remove more quotes around Makefile .error/.warn/.info strings. 2022-02-04 15:59:53 -08:00
bsd.links.mk
bsd.man.mk
bsd.mkopt.mk Warn about nonfunctional WITHOUT options 2023-06-20 13:58:58 -07:00
bsd.nls.mk
bsd.obj.mk
bsd.opts.mk Add some more local.*.mk includes 2022-12-06 10:49:54 -08:00
bsd.own.mk Use 'mixed' links for 'hard' links by default. 2023-02-27 10:19:00 -07:00
bsd.port.mk
bsd.port.options.mk
bsd.port.post.mk
bsd.port.pre.mk
bsd.port.subdir.mk
bsd.prog.mk Update -ftrivial-auto-var-init flags for clang >= 16 2023-05-23 19:44:45 +02:00
bsd.progs.mk
bsd.README share/mk: Remove obsolete reference to LINTLIBDIR 2022-03-28 19:43:03 +01:00
bsd.sanitizer.mk bsd.sanitizer.mk: Fix a typo in a comment 2022-11-01 09:18:34 +01:00
bsd.snmpmod.mk
bsd.subdir.mk make: Don't print as many ==> and -- xxx -- lines in meta mode 2022-10-29 10:13:54 -06:00
bsd.suffixes-posix.mk
bsd.suffixes.mk Assemble .s to .o using cc, not as 2023-06-25 22:03:19 -04:00
bsd.symver.mk bmake 20230123 gives us .SYSPATH 2023-04-22 18:15:31 -07:00
bsd.sys.mk bsd.sys.mk: Add NO_WUNUSED_BUT_SET_VARIABLE helper variable. 2023-06-20 12:36:15 -07:00
bsd.sysdir.mk Add some more local.*.mk includes 2022-12-06 10:49:54 -08:00
bsd.test.mk
dirdeps-options.mk Update meta mode makefiles 2023-04-16 18:40:53 -07:00
dirdeps-targets.mk Update dirdeps.mk et al to 20211212 versions 2021-12-18 13:37:07 -08:00
dirdeps.mk dirdeps.mk allow for TARGET_SPEC_VARS.host 2023-05-15 13:25:10 -07:00
gendirdeps.mk Update meta.sys.mk and related local*mk 2023-04-20 20:38:53 -07:00
googletest.test.inc.mk
googletest.test.mk
host-target.mk
install-new.mk
jobs.mk jobs.mk report JOB_ARGS log and JOB_LOG_START 2023-04-27 13:40:44 -07:00
kmod.opts.mk
local.autodep.mk Avoid breaking crunchgen with meta stats 2023-04-18 20:25:33 -07:00
local.dirdeps-options.mk Allow site.*.mk to augment local.*.mk and src.*.mk 2022-12-07 11:30:35 -08:00
local.dirdeps.mk local.dirdeps.mk no qual for PSEUDO_MACHINE_LIST 2023-05-13 14:06:20 -07:00
local.gendirdeps.mk Update meta.sys.mk and related local*mk 2023-04-20 20:38:53 -07:00
local.init.mk Simplify building host tools during DIRDEPS_BUILD 2023-04-22 12:01:49 -07:00
local.meta.sys.env.mk Move more DIRDEPS_BUILD settings 2023-05-12 17:40:37 -07:00
local.sys.dirdeps.env.mk Move MACHINE/MACHINE_ARCH handling to sys.machine.mk 2023-05-13 08:15:49 -07:00
local.sys.dirdeps.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
local.sys.env.mk Move MACHINE/MACHINE_ARCH handling to sys.machine.mk 2023-05-13 08:15:49 -07:00
local.sys.mk Set MK_host_egacy=yes earlier 2023-04-25 00:26:35 -07:00
Makefile Install the recently added posix.mk file 2022-04-12 13:05:55 -07:00
meta2deps.py Update meta mode makefiles 2023-04-16 18:40:53 -07:00
meta2deps.sh Update meta mode makefiles 2023-04-16 18:40:53 -07:00
meta.autodep.mk Update meta mode makefiles 2023-04-16 18:40:53 -07:00
meta.stage.mk Update meta mode makefiles 2023-04-16 18:40:53 -07:00
meta.subdir.mk
meta.sys.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
netbsd-tests.test.mk Remove more quotes around Makefile .error/.warn/.info strings. 2022-02-04 15:59:53 -08:00
plain.test.mk
src.init.linux.mk Simplify building host tools during DIRDEPS_BUILD 2023-04-22 12:01:49 -07:00
src.init.mk Simplify building host tools during DIRDEPS_BUILD 2023-04-22 12:01:49 -07:00
src.libnames.mk libtacplus: Allow additional AV pairs to be configured. 2023-06-13 16:08:08 +00:00
src.lua.mk
src.opts.mk Remove WITHOUT_{CAPSICUM,CASPER} options 2023-06-19 17:23:09 -07:00
src.sys.env.mk Allow site.*.mk to augment local.*.mk and src.*.mk 2022-12-07 11:30:35 -08:00
src.sys.mk
src.sys.obj.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
src.tools.mk
stage-install.sh
suite.test.mk
sys.dependfile.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
sys.dirdeps.mk sys.dirdeps.mk we do want to override OBJTOP 2023-05-14 09:50:03 -07:00
sys.machine.mk Move MACHINE/MACHINE_ARCH handling to sys.machine.mk 2023-05-13 08:15:49 -07:00
sys.mk Move DIRDEPS_BUILD settings to sys.dirdeps.mk 2023-05-11 16:15:04 -07:00
tap.test.mk
version_gen.awk spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00