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

Reply via email to