Module Name: src Committed By: rillig Date: Sun Jul 7 07:50:58 UTC 2024
Modified Files: src/usr.bin/make: arch.c dir.c dir.h job.c job.h main.c make.h parse.c str.c str.h suff.c Log Message: make: only generate code for cleanup functions in CLEANUP mode To generate a diff of this commit: cvs rdiff -u -r1.220 -r1.221 src/usr.bin/make/arch.c cvs rdiff -u -r1.294 -r1.295 src/usr.bin/make/dir.c cvs rdiff -u -r1.48 -r1.49 src/usr.bin/make/dir.h cvs rdiff -u -r1.479 -r1.480 src/usr.bin/make/job.c cvs rdiff -u -r1.79 -r1.80 src/usr.bin/make/job.h cvs rdiff -u -r1.628 -r1.629 src/usr.bin/make/main.c cvs rdiff -u -r1.340 -r1.341 src/usr.bin/make/make.h cvs rdiff -u -r1.732 -r1.733 src/usr.bin/make/parse.c cvs rdiff -u -r1.104 -r1.105 src/usr.bin/make/str.c cvs rdiff -u -r1.19 -r1.20 src/usr.bin/make/str.h cvs rdiff -u -r1.381 -r1.382 src/usr.bin/make/suff.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/make/arch.c diff -u src/usr.bin/make/arch.c:1.220 src/usr.bin/make/arch.c:1.221 --- src/usr.bin/make/arch.c:1.220 Fri Jul 5 05:11:25 2024 +++ src/usr.bin/make/arch.c Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: arch.c,v 1.220 2024/07/05 05:11:25 rillig Exp $ */ +/* $NetBSD: arch.c,v 1.221 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -126,7 +126,7 @@ #include "config.h" /* "@(#)arch.c 8.2 (Berkeley) 1/2/94" */ -MAKE_RCSID("$NetBSD: arch.c,v 1.220 2024/07/05 05:11:25 rillig Exp $"); +MAKE_RCSID("$NetBSD: arch.c,v 1.221 2024/07/07 07:50:57 rillig Exp $"); typedef struct List ArchList; typedef struct ListNode ArchListNode; @@ -949,18 +949,18 @@ Arch_Init(void) Lst_Init(&archives); } +#ifdef CLEANUP /* Clean up the archives module. */ void Arch_End(void) { -#ifdef CLEANUP ArchListNode *ln; for (ln = archives.first; ln != NULL; ln = ln->next) ArchFree(ln->datum); Lst_Done(&archives); -#endif } +#endif bool Arch_IsLib(GNode *gn) Index: src/usr.bin/make/dir.c diff -u src/usr.bin/make/dir.c:1.294 src/usr.bin/make/dir.c:1.295 --- src/usr.bin/make/dir.c:1.294 Fri May 31 05:50:11 2024 +++ src/usr.bin/make/dir.c Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: dir.c,v 1.294 2024/05/31 05:50:11 rillig Exp $ */ +/* $NetBSD: dir.c,v 1.295 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -132,7 +132,7 @@ #include "job.h" /* "@(#)dir.c 8.2 (Berkeley) 1/2/94" */ -MAKE_RCSID("$NetBSD: dir.c,v 1.294 2024/05/31 05:50:11 rillig Exp $"); +MAKE_RCSID("$NetBSD: dir.c,v 1.295 2024/07/07 07:50:57 rillig Exp $"); /* * A search path is a list of CachedDir structures. A CachedDir has in it the @@ -511,13 +511,11 @@ FreeCachedTable(HashTable *tbl) free(hi.entry->value); HashTable_Done(tbl); } -#endif /* Clean up the directories module. */ void Dir_End(void) { -#ifdef CLEANUP CachedDir_Assign(&cur, NULL); CachedDir_Assign(&dot, NULL); CachedDir_Assign(&dotLast, NULL); @@ -525,8 +523,8 @@ Dir_End(void) OpenDirs_Done(&openDirs); FreeCachedTable(&mtimes); FreeCachedTable(&lmtimes); -#endif } +#endif /* * We want ${.PATH} to indicate the order in which we will actually Index: src/usr.bin/make/dir.h diff -u src/usr.bin/make/dir.h:1.48 src/usr.bin/make/dir.h:1.49 --- src/usr.bin/make/dir.h:1.48 Sun May 19 20:09:40 2024 +++ src/usr.bin/make/dir.h Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: dir.h,v 1.48 2024/05/19 20:09:40 sjg Exp $ */ +/* $NetBSD: dir.h,v 1.49 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -80,7 +80,9 @@ typedef struct CachedDir CachedDir; void Dir_Init(void); void Dir_InitCur(const char *); void Dir_InitDot(void); +#ifdef CLEANUP void Dir_End(void); +#endif void Dir_SetPATH(void); void Dir_SetSYSPATH(void); bool Dir_HasWildcards(const char *) MAKE_ATTR_USE; Index: src/usr.bin/make/job.c diff -u src/usr.bin/make/job.c:1.479 src/usr.bin/make/job.c:1.480 --- src/usr.bin/make/job.c:1.479 Fri Jul 5 05:11:25 2024 +++ src/usr.bin/make/job.c Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: job.c,v 1.479 2024/07/05 05:11:25 rillig Exp $ */ +/* $NetBSD: job.c,v 1.480 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -141,7 +141,7 @@ #include "trace.h" /* "@(#)job.c 8.2 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: job.c,v 1.479 2024/07/05 05:11:25 rillig Exp $"); +MAKE_RCSID("$NetBSD: job.c,v 1.480 2024/07/07 07:50:57 rillig Exp $"); /* * A shell defines how the commands are run. All commands for a target are @@ -2585,14 +2585,14 @@ Job_Finish(void) return job_errors; } +#ifdef CLEANUP /* Clean up any memory used by the jobs module. */ void Job_End(void) { -#ifdef CLEANUP free(shell_freeIt); -#endif } +#endif /* * Waits for all running jobs to finish and returns. Index: src/usr.bin/make/job.h diff -u src/usr.bin/make/job.h:1.79 src/usr.bin/make/job.h:1.80 --- src/usr.bin/make/job.h:1.79 Fri Jun 28 15:20:57 2024 +++ src/usr.bin/make/job.h Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: job.h,v 1.79 2024/06/28 15:20:57 rillig Exp $ */ +/* $NetBSD: job.h,v 1.80 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -196,7 +196,9 @@ void Job_Make(GNode *); void Job_Init(void); bool Job_ParseShell(char *) MAKE_ATTR_USE; int Job_Finish(void); +#ifdef CLEANUP void Job_End(void); +#endif void Job_Wait(void); void Job_AbortAll(void); void Job_TokenReturn(void); Index: src/usr.bin/make/main.c diff -u src/usr.bin/make/main.c:1.628 src/usr.bin/make/main.c:1.629 --- src/usr.bin/make/main.c:1.628 Sat Jul 6 21:35:48 2024 +++ src/usr.bin/make/main.c Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.628 2024/07/06 21:35:48 rillig Exp $ */ +/* $NetBSD: main.c,v 1.629 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -111,7 +111,7 @@ #include "trace.h" /* "@(#)main.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: main.c,v 1.628 2024/07/06 21:35:48 rillig Exp $"); +MAKE_RCSID("$NetBSD: main.c,v 1.629 2024/07/07 07:50:57 rillig Exp $"); #if defined(MAKE_NATIVE) __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 " "The Regents of the University of California. " @@ -1584,15 +1584,21 @@ main_CleanUp(void) #ifdef USE_META meta_finish(); #endif +#ifdef CLEANUP Suff_End(); +#endif Var_End(); Targ_End(); +#ifdef CLEANUP Arch_End(); Parse_End(); Dir_End(); Job_End(); +#endif Trace_End(); +#ifdef CLEANUP Str_Intern_End(); +#endif } /* Determine the exit code. */ Index: src/usr.bin/make/make.h diff -u src/usr.bin/make/make.h:1.340 src/usr.bin/make/make.h:1.341 --- src/usr.bin/make/make.h:1.340 Fri Jul 5 05:11:25 2024 +++ src/usr.bin/make/make.h Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: make.h,v 1.340 2024/07/05 05:11:25 rillig Exp $ */ +/* $NetBSD: make.h,v 1.341 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -788,7 +788,9 @@ extern char **environ; /* arch.c */ void Arch_Init(void); +#ifdef CLEANUP void Arch_End(void); +#endif bool Arch_ParseArchive(char **, GNodeList *, GNode *); void Arch_Touch(GNode *); @@ -860,7 +862,9 @@ bool GetBooleanExpr(const char *, bool); /* parse.c */ void Parse_Init(void); +#ifdef CLEANUP void Parse_End(void); +#endif void PrintLocation(FILE *, bool, const GNode *); void PrintStackTrace(bool); @@ -878,7 +882,9 @@ void Parse_GuardEndif(void); /* suff.c */ void Suff_Init(void); +#ifdef CLEANUP void Suff_End(void); +#endif void Suff_ClearSuffixes(void); bool Suff_IsTransform(const char *) MAKE_ATTR_USE; Index: src/usr.bin/make/parse.c diff -u src/usr.bin/make/parse.c:1.732 src/usr.bin/make/parse.c:1.733 --- src/usr.bin/make/parse.c:1.732 Thu Jul 4 17:47:53 2024 +++ src/usr.bin/make/parse.c Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.732 2024/07/04 17:47:53 rillig Exp $ */ +/* $NetBSD: parse.c,v 1.733 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -105,7 +105,7 @@ #include "pathnames.h" /* "@(#)parse.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: parse.c,v 1.732 2024/07/04 17:47:53 rillig Exp $"); +MAKE_RCSID("$NetBSD: parse.c,v 1.733 2024/07/07 07:50:57 rillig Exp $"); /* Detects a multiple-inclusion guard in a makefile. */ typedef enum { @@ -2974,11 +2974,11 @@ Parse_Init(void) HashTable_Init(&guards); } +#ifdef CLEANUP /* Clean up the parsing module. */ void Parse_End(void) { -#ifdef CLEANUP HashIter hi; Lst_DoneFree(&targCmds); @@ -2995,8 +2995,8 @@ Parse_End(void) free(guard); } HashTable_Done(&guards); -#endif } +#endif /* Populate the list with the single main target to create, or error out. */ Index: src/usr.bin/make/str.c diff -u src/usr.bin/make/str.c:1.104 src/usr.bin/make/str.c:1.105 --- src/usr.bin/make/str.c:1.104 Sat Jul 6 10:36:23 2024 +++ src/usr.bin/make/str.c Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: str.c,v 1.104 2024/07/06 10:36:23 rillig Exp $ */ +/* $NetBSD: str.c,v 1.105 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -71,7 +71,7 @@ #include "make.h" /* "@(#)str.c 5.8 (Berkeley) 6/1/90" */ -MAKE_RCSID("$NetBSD: str.c,v 1.104 2024/07/06 10:36:23 rillig Exp $"); +MAKE_RCSID("$NetBSD: str.c,v 1.105 2024/07/07 07:50:57 rillig Exp $"); static HashTable interned_strings; @@ -408,13 +408,13 @@ Str_Intern_Init(void) HashTable_Init(&interned_strings); } +#ifdef CLEANUP void Str_Intern_End(void) { -#ifdef CLEANUP HashTable_Done(&interned_strings); -#endif } +#endif /* Return a canonical instance of str, with unlimited lifetime. */ const char * Index: src/usr.bin/make/str.h diff -u src/usr.bin/make/str.h:1.19 src/usr.bin/make/str.h:1.20 --- src/usr.bin/make/str.h:1.19 Fri Jan 5 21:56:55 2024 +++ src/usr.bin/make/str.h Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: str.h,v 1.19 2024/01/05 21:56:55 rillig Exp $ */ +/* $NetBSD: str.h,v 1.20 2024/07/07 07:50:57 rillig Exp $ */ /* Copyright (c) 2021 Roland Illig <ril...@netbsd.org> @@ -333,5 +333,7 @@ char *str_concat3(const char *, const ch StrMatchResult Str_Match(const char *, const char *); void Str_Intern_Init(void); +#ifdef CLEANUP void Str_Intern_End(void); +#endif const char *Str_Intern(const char *); Index: src/usr.bin/make/suff.c diff -u src/usr.bin/make/suff.c:1.381 src/usr.bin/make/suff.c:1.382 --- src/usr.bin/make/suff.c:1.381 Fri Jul 5 05:11:25 2024 +++ src/usr.bin/make/suff.c Sun Jul 7 07:50:57 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: suff.c,v 1.381 2024/07/05 05:11:25 rillig Exp $ */ +/* $NetBSD: suff.c,v 1.382 2024/07/07 07:50:57 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -115,7 +115,7 @@ #include "dir.h" /* "@(#)suff.c 8.4 (Berkeley) 3/21/94" */ -MAKE_RCSID("$NetBSD: suff.c,v 1.381 2024/07/05 05:11:25 rillig Exp $"); +MAKE_RCSID("$NetBSD: suff.c,v 1.382 2024/07/07 07:50:57 rillig Exp $"); typedef List SuffixList; typedef ListNode SuffixListNode; @@ -2041,11 +2041,11 @@ Suff_Init(void) Suff_ClearSuffixes(); } +#ifdef CLEANUP /* Clean up the suffixes module. */ void Suff_End(void) { -#ifdef CLEANUP SuffixListNode *ln; for (ln = sufflist.first; ln != NULL; ln = ln->next) @@ -2057,8 +2057,8 @@ Suff_End(void) if (nullSuff != NULL) Suffix_Free(nullSuff); Lst_Done(&transforms); -#endif } +#endif static void