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 <[email protected]>
@@ -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