Download raw body.
[PATCH] Allow building libc without generating tags
Why?
I don't see any point to this choice. It is a mandatory file produced by
libc build and install.
John Ericson <git@JohnEricson.me> 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
>
[PATCH] Allow building libc without generating tags