tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[PATCH] Allow building libc without generating tags
When bootstrapping from scratch, it is nice to avoid dependencies (like ctags/genassym/etc.) that are not strictly needed.
This makefile change introduces a new `MK_LIBC_TAGS` variable, defaulted to `yes`, 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.
For what it's worth, I submitted a similar patch to OpenBSD here: https://marc.info/?l=openbsd-tech&m=171575286706032&w=2 . FreeBSD likewise got rid of libc-specific tags logic in https://cgit.freebsd.org/src/commit/?id=6eb5e456f16fa443b68759a2b7e1029ecbb53db0 , avoiding the necessity of such a patch.
For all BSDs, my use-case is Nixpkgs BSD support https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/bsd which is rapidly maturing.
Thanks,
John
From 62acd447e36d5009d3008e025df72c08690905d5 Mon Sep 17 00:00:00 2001
From: John Ericson <John.Ericson@Obsidian.Systems>
Date: Thu, 20 Jun 2024 15:48:54 -0400
Subject: [PATCH] Allow building libc without generating tags
When bootstrapping from scratch, it is nice to avoid dependencies (like
`ctags`/`genassym`/etc.) that are not strictly needed.
This makefile change introduces a new `MK_LIBC_TAGS` variable, defaulted
to `yes`, 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 | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/libc/Makefile b/lib/libc/Makefile
index f2dab2a090e7..c6aa5e45f959 100644
--- a/lib/libc/Makefile
+++ b/lib/libc/Makefile
@@ -132,7 +132,12 @@ MKREPRO_SED= -e 's;${NETBSDSRCDIR:C/${REGEX_SPECIALS}/\\\\&/g};/usr/src;'
.endif
.if !defined(MLIBDIR) && ${RUMPRUN} != "yes"
+realall: ${SRCS}
+
+.if ${MK_LIBC_TAGS:Uyes} == "yes"
realall: tags
+.endif
+
tags: ${SRCS}
${_MKTARGET_CREATE}
-${TOOL_CTAGS} -f ${.TARGET}.tmp -w ${.ALLSRC:M*.c}
@@ -146,11 +151,14 @@ tags: ${SRCS}
.endif
rm -f ${.TARGET}.tmp
+.if ${MK_LIBC_TAGS:Uyes} == "yes"
FILES= tags
FILESNAME= libc.tags
FILESDIR= /var/db
.endif
+.endif
+
# workaround for I18N stuffs: build singlebyte setlocale() for libc.a,
# multibyte for libc.so. the quirk should be removed when we support
--
2.42.0
Home |
Main Index |
Thread Index |
Old Index