From: "Theo de Raadt" Subject: Re: [PATCH] Allow building libc without generating tags To: John Ericson Cc: tech@openbsd.org Date: Wed, 15 May 2024 00:29:16 -0600 Why? I don't see any point to this choice. It is a mandatory file produced by libc build and install. John Ericson wrote: > When bootstrapping from scratch, it is nice to avoid dependencies (like > `ctags`) that are not strictly needed. > > This makefile change introduces a new `LIBC_TAGS` variable, defaulted to > `y` (i.e. "yes": do build tags, just like today), to control whether > `make all` / `make install` should build/install (respectively) the tags. > > The underlying rules for tags can still be run regardless of the choice > of variable. > --- > lib/libc/Makefile | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/lib/libc/Makefile b/lib/libc/Makefile > index 4bb4b67fcbb..9cfae207130 100644 > --- a/lib/libc/Makefile > +++ b/lib/libc/Makefile > @@ -26,7 +26,14 @@ SYMBOL_LISTS= ${LIBCSRCDIR}/Symbols.list \ > LIBCSRCDIR=${.CURDIR} > .include "${LIBCSRCDIR}/Makefile.inc" > > +all: ${SRCS} > + > +LIBC_TAGS ?= yes > +.if ${LIBC_TAGS} == "yes" > all: tags > +beforeinstall: install_tags > +.endif > + > tags: ${SRCS} > ctags -w ${.ALLSRC:M*.c} > egrep "^SYSENTRY(.*)|^ENTRY(.*)|^FUNC(.*)|^SYSCALL(.*)" \ > @@ -34,7 +41,8 @@ tags: ${SRCS} > sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \ > >> tags; sort -o tags tags > > -beforeinstall: > +.PHONY: install_tags > +install_tags: > ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 tags \ > ${DESTDIR}/var/db/lib${LIB}.tags > > -- > 2.42.0 >