Module Name:    src
Committed By:   rillig
Date:           Wed Feb  7 06:43:02 UTC 2024

Modified Files:
        src/usr.bin/make: arch.c config.h main.c parse.c suff.c var.c

Log Message:
make: remove unneeded conditional-compilation toggles

The toggles INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB,
GMAKEEXPORT and SUNSHCMD are no longer needed, they were unconditionally
set.

The toggle NO_REGEX was configurable from the command line, but
disabling it would result in various error messages about the unknown
':C' modifier.

OK sjg@.


To generate a diff of this commit:
cvs rdiff -u -r1.214 -r1.215 src/usr.bin/make/arch.c
cvs rdiff -u -r1.28 -r1.29 src/usr.bin/make/config.h
cvs rdiff -u -r1.609 -r1.610 src/usr.bin/make/main.c
cvs rdiff -u -r1.716 -r1.717 src/usr.bin/make/parse.c
cvs rdiff -u -r1.377 -r1.378 src/usr.bin/make/suff.c
cvs rdiff -u -r1.1098 -r1.1099 src/usr.bin/make/var.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.214 src/usr.bin/make/arch.c:1.215
--- src/usr.bin/make/arch.c:1.214	Sun Nov 19 22:50:11 2023
+++ src/usr.bin/make/arch.c	Wed Feb  7 06:43:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: arch.c,v 1.214 2023/11/19 22:50:11 rillig Exp $	*/
+/*	$NetBSD: arch.c,v 1.215 2024/02/07 06:43:02 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.214 2023/11/19 22:50:11 rillig Exp $");
+MAKE_RCSID("$NetBSD: arch.c,v 1.215 2024/02/07 06:43:02 rillig Exp $");
 
 typedef struct List ArchList;
 typedef struct ListNode ArchListNode;
@@ -978,11 +978,7 @@ Arch_FindLib(GNode *gn, SearchPath *path
 	gn->path = Dir_FindFile(libName, path);
 	free(libName);
 
-#ifdef LIBRARIES
 	Var_Set(gn, TARGET, gn->name);
-#else
-	Var_Set(gn, TARGET, GNode_Path(gn));
-#endif
 }
 
 /* ARGSUSED */

Index: src/usr.bin/make/config.h
diff -u src/usr.bin/make/config.h:1.28 src/usr.bin/make/config.h:1.29
--- src/usr.bin/make/config.h:1.28	Fri Dec 11 22:53:08 2020
+++ src/usr.bin/make/config.h	Wed Feb  7 06:43:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: config.h,v 1.28 2020/12/11 22:53:08 rillig Exp $	*/
+/*	$NetBSD: config.h,v 1.29 2024/02/07 06:43:02 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -73,20 +73,6 @@
  */
 
 /*
- * INCLUDES
- * LIBRARIES
- *	These control the handling of the .INCLUDES and .LIBS variables.
- *
- *	If INCLUDES is defined, the .INCLUDES variable will be filled
- *	from the search paths of those suffixes which are marked by
- *	.INCLUDES dependency lines. Similarly for LIBRARIES and .LIBS.
- *
- *	See varname-dot-include.mk and varname-dot-libs.mk for more details.
- */
-#define INCLUDES
-#define LIBRARIES
-
-/*
  * LIBSUFF
  *	Is the suffix used to denote libraries and is used by the Suff module
  *	to find the search path on which to seek any -l<xx> targets.
@@ -108,40 +94,6 @@
  */
 #define RECHECK
 
-/*
- * POSIX
- *	Adhere to the POSIX 1003.2 draft for the make(1) program.
- *	- Use MAKEFLAGS instead of MAKE to pick arguments from the
- *	  environment.
- */
-#define POSIX
-
-/*
- * SYSVINCLUDE
- *	Recognize system V like include directives [include "filename"]
- *	(required by POSIX 2018)
- * SYSVVARSUB
- *	Recognize system V like ${VAR:x=y} variable substitutions
- *	(required by POSIX 2018)
- */
-#define SYSVINCLUDE
-#define SYSVVARSUB
-
-/*
- * GMAKEEXPORT
- *	Recognize gmake like variable export directives [export <VAR>=<VALUE>]
- */
-#define GMAKEEXPORT
-
-/*
- * SUNSHCMD
- *	Recognize SunOS and Solaris:
- *		VAR :sh= CMD	# Assign VAR to the command substitution of CMD
- *		${VAR:sh}	# Return the command substitution of the value
- *				# of ${VAR}
- */
-#define SUNSHCMD
-
 #if defined(MAKE_NATIVE) && !defined(__ELF__)
 # ifndef RANLIBMAG
 #  define RANLIBMAG "__.SYMDEF"

Index: src/usr.bin/make/main.c
diff -u src/usr.bin/make/main.c:1.609 src/usr.bin/make/main.c:1.610
--- src/usr.bin/make/main.c:1.609	Sun Jan  7 01:33:57 2024
+++ src/usr.bin/make/main.c	Wed Feb  7 06:43:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.609 2024/01/07 01:33:57 sjg Exp $	*/
+/*	$NetBSD: main.c,v 1.610 2024/02/07 06:43:02 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.609 2024/01/07 01:33:57 sjg Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.610 2024/02/07 06:43:02 rillig Exp $");
 #if defined(MAKE_NATIVE)
 __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
 	    "The Regents of the University of California.  "
@@ -1418,20 +1418,11 @@ main_Init(int argc, char **argv)
 #endif
 	Dir_Init();
 
-#ifdef POSIX
 	{
 		char *makeflags = explode(getenv("MAKEFLAGS"));
 		Main_ParseArgLine(makeflags);
 		free(makeflags);
 	}
-#else
-	/*
-	 * First snag any flags out of the MAKE environment variable.
-	 * (Note this is *not* MAKEFLAGS since /bin/make uses that and it's
-	 * in a different format).
-	 */
-	Main_ParseArgLine(getenv("MAKE"));
-#endif
 
 	if (getcwd(curdir, MAXPATHLEN) == NULL) {
 		(void)fprintf(stderr, "%s: getcwd: %s.\n",
@@ -2123,13 +2114,8 @@ Main_ExportMAKEFLAGS(bool first)
 	    "${.MAKEFLAGS} ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}",
 	    SCOPE_CMDLINE, VARE_WANTRES);
 	/* TODO: handle errors */
-	if (flags[0] != '\0') {
-#ifdef POSIX
+	if (flags[0] != '\0')
 		setenv("MAKEFLAGS", flags, 1);
-#else
-		setenv("MAKE", flags, 1);
-#endif
-	}
 }
 
 char *

Index: src/usr.bin/make/parse.c
diff -u src/usr.bin/make/parse.c:1.716 src/usr.bin/make/parse.c:1.717
--- src/usr.bin/make/parse.c:1.716	Sun Jan  7 11:39:04 2024
+++ src/usr.bin/make/parse.c	Wed Feb  7 06:43:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: parse.c,v 1.716 2024/01/07 11:39:04 rillig Exp $	*/
+/*	$NetBSD: parse.c,v 1.717 2024/02/07 06:43:02 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.716 2024/01/07 11:39:04 rillig Exp $");
+MAKE_RCSID("$NetBSD: parse.c,v 1.717 2024/02/07 06:43:02 rillig Exp $");
 
 /* Detects a multiple-inclusion guard in a makefile. */
 typedef enum {
@@ -167,9 +167,7 @@ typedef enum ParseSpecial {
 	SP_PARALLEL,	/* .PARALLEL; not mentioned in the manual page */
 	SP_PATH,	/* .PATH or .PATH.suffix */
 	SP_PHONY,	/* .PHONY */
-#ifdef POSIX
 	SP_POSIX,	/* .POSIX; not mentioned in the manual page */
-#endif
 	SP_PRECIOUS,	/* .PRECIOUS */
 	SP_READONLY,	/* .READONLY */
 	SP_SHELL,	/* .SHELL */
@@ -289,9 +287,7 @@ static const struct {
     { ".PARALLEL",	SP_PARALLEL,	OP_NONE },
     { ".PATH",		SP_PATH,	OP_NONE },
     { ".PHONY",		SP_PHONY,	OP_PHONY },
-#ifdef POSIX
     { ".POSIX",		SP_POSIX,	OP_NONE },
-#endif
     { ".PRECIOUS",	SP_PRECIOUS,	OP_PRECIOUS },
     { ".READONLY",	SP_READONLY,	OP_NONE },
     { ".RECURSIVE",	SP_ATTRIBUTE,	OP_MAKE },
@@ -1305,7 +1301,6 @@ HandleDependencySourcesEmpty(ParseSpecia
 	case SP_SYSPATH:
 		ClearPaths(special, paths);
 		break;
-#ifdef POSIX
 	case SP_POSIX:
 		if (posix_state == PS_NOW_OR_NEVER) {
 			/*
@@ -1317,7 +1312,6 @@ HandleDependencySourcesEmpty(ParseSpecia
 			IncludeFile("posix.mk", true, false, true);
 		}
 		break;
-#endif
 	default:
 		break;
 	}
@@ -1699,7 +1693,6 @@ AdjustVarassignOp(const char *name, cons
 
 	} else {
 		type = VAR_NORMAL;
-#ifdef SUNSHCMD
 		while (op > name && ch_isspace(op[-1]))
 			op--;
 
@@ -1707,7 +1700,6 @@ AdjustVarassignOp(const char *name, cons
 			op -= 3;
 			type = VAR_SHELL;
 		}
-#endif
 	}
 
 	va.varname = bmake_strsedup(name, nameEnd < op ? nameEnd : op);
@@ -1769,12 +1761,10 @@ Parse_IsVar(const char *p, VarAssign *ou
 
 		if (ch == '\0')
 			return false;
-#ifdef SUNSHCMD
 		if (ch == ':' && p[0] == 's' && p[1] == 'h') {
 			p += 2;
 			continue;
 		}
-#endif
 		if (ch == '=')
 			eq = p - 1;
 		else if (*p == '=' &&
@@ -2201,7 +2191,6 @@ IsInclude(const char *dir, bool sysv)
 }
 
 
-#ifdef SYSVINCLUDE
 /* Check if the line is a SYSV include directive. */
 static bool
 IsSysVInclude(const char *line)
@@ -2257,9 +2246,7 @@ ParseTraditionalInclude(char *line)
 
 	free(all_files);
 }
-#endif
 
-#ifdef GMAKEEXPORT
 /* Parse "export <variable>=<value>", and actually export it. */
 static void
 ParseGmakeExport(char *line)
@@ -2290,7 +2277,6 @@ ParseGmakeExport(char *line)
 	setenv(variable, value, 1);
 	free(value);
 }
-#endif
 
 /*
  * When the end of the current file or .for loop is reached, continue reading
@@ -2907,20 +2893,16 @@ ParseLine(char *line)
 		return;
 	}
 
-#ifdef SYSVINCLUDE
 	if (IsSysVInclude(line)) {
 		ParseTraditionalInclude(line);
 		return;
 	}
-#endif
 
-#ifdef GMAKEEXPORT
 	if (strncmp(line, "export", 6) == 0 && ch_isspace(line[6]) &&
 	    strchr(line, ':') == NULL) {
 		ParseGmakeExport(line);
 		return;
 	}
-#endif
 
 	if (Parse_VarAssign(line, true, SCOPE_GLOBAL))
 		return;

Index: src/usr.bin/make/suff.c
diff -u src/usr.bin/make/suff.c:1.377 src/usr.bin/make/suff.c:1.378
--- src/usr.bin/make/suff.c:1.377	Fri Jan  5 23:22:06 2024
+++ src/usr.bin/make/suff.c	Wed Feb  7 06:43:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: suff.c,v 1.377 2024/01/05 23:22:06 rillig Exp $	*/
+/*	$NetBSD: suff.c,v 1.378 2024/02/07 06:43:02 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.377 2024/01/05 23:22:06 rillig Exp $");
+MAKE_RCSID("$NetBSD: suff.c,v 1.378 2024/02/07 06:43:02 rillig Exp $");
 
 typedef List SuffixList;
 typedef ListNode SuffixListNode;
@@ -856,15 +856,11 @@ Suff_ExtendPaths(void)
 	for (ln = sufflist.first; ln != NULL; ln = ln->next) {
 		Suffix *suff = ln->datum;
 		if (!Lst_IsEmpty(&suff->searchPath->dirs)) {
-#ifdef INCLUDES
 			if (suff->include)
 				SearchPath_AddAll(includesPath,
 				    suff->searchPath);
-#endif
-#ifdef LIBRARIES
 			if (suff->library)
 				SearchPath_AddAll(libsPath, suff->searchPath);
-#endif
 			SearchPath_AddAll(suff->searchPath, &dirSearchPath);
 		} else {
 			SearchPath_Free(suff->searchPath);

Index: src/usr.bin/make/var.c
diff -u src/usr.bin/make/var.c:1.1098 src/usr.bin/make/var.c:1.1099
--- src/usr.bin/make/var.c:1.1098	Sun Feb  4 10:03:10 2024
+++ src/usr.bin/make/var.c	Wed Feb  7 06:43:02 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.1098 2024/02/04 10:03:10 rillig Exp $	*/
+/*	$NetBSD: var.c,v 1.1099 2024/02/07 06:43:02 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -124,10 +124,8 @@
  */
 
 #include <sys/stat.h>
-#ifndef NO_REGEX
 #include <sys/types.h>
 #include <regex.h>
-#endif
 #include <errno.h>
 #include <inttypes.h>
 #include <limits.h>
@@ -139,7 +137,7 @@
 #include "metachar.h"
 
 /*	"@(#)var.c	8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: var.c,v 1.1098 2024/02/04 10:03:10 rillig Exp $");
+MAKE_RCSID("$NetBSD: var.c,v 1.1099 2024/02/07 06:43:02 rillig Exp $");
 
 /*
  * Variables are defined using one of the VAR=value assignments.  Their
@@ -1344,7 +1342,6 @@ ModifyWord_Root(Substring word, SepBuf *
 	SepBuf_AddRange(buf, word.start, end);
 }
 
-#ifdef SYSVVARSUB
 struct ModifyWord_SysVSubstArgs {
 	GNode *scope;
 	Substring lhsPrefix;
@@ -1384,7 +1381,6 @@ ModifyWord_SysVSubst(Substring word, Sep
 
 	FStr_Done(&rhs);
 }
-#endif
 
 static const char *
 Substring_Find(Substring haystack, Substring needle)
@@ -1462,7 +1458,6 @@ nosub:
 	SepBuf_AddSubstring(buf, word);
 }
 
-#ifndef NO_REGEX
 /* Print the error caused by a regcomp or regexec call. */
 static void
 RegexError(int reerr, const regex_t *pat, const char *str)
@@ -1570,7 +1565,6 @@ ok:
 	if (*wp != '\0')
 		SepBuf_AddStr(buf, wp);
 }
-#endif
 
 
 struct ModifyWord_LoopArgs {
@@ -2888,8 +2882,6 @@ ApplyModifier_Subst(const char **pp, Mod
 	return AMR_OK;
 }
 
-#ifndef NO_REGEX
-
 /* :C,from,to, */
 static ApplyModifierResult
 ApplyModifier_Regex(const char **pp, ModChain *ch)
@@ -2948,8 +2940,6 @@ done:
 	return AMR_OK;
 }
 
-#endif
-
 /* :Q, :q */
 static ApplyModifierResult
 ApplyModifier_Quote(const char **pp, ModChain *ch)
@@ -3593,7 +3583,6 @@ ApplyModifier_Unique(const char **pp, Mo
 	return AMR_OK;
 }
 
-#ifdef SYSVVARSUB
 /* Test whether the modifier has the form '<lhs>=<rhs>'. */
 static bool
 IsSysVModifier(const char *p, char startc, char endc)
@@ -3665,9 +3654,7 @@ done:
 	FStr_Done(&rhs);
 	return AMR_OK;
 }
-#endif
 
-#ifdef SUNSHCMD
 /* :sh */
 static ApplyModifierResult
 ApplyModifier_SunShell(const char **pp, ModChain *ch)
@@ -3690,7 +3677,6 @@ ApplyModifier_SunShell(const char **pp, 
 
 	return AMR_OK;
 }
-#endif
 
 /*
  * In cases where the evaluation mode and the definedness are the "standard"
@@ -3772,10 +3758,8 @@ ApplyModifier(const char **pp, ModChain 
 		return ApplyModifier_Words(pp, ch);
 	case '_':
 		return ApplyModifier_Remember(pp, ch);
-#ifndef NO_REGEX
 	case 'C':
 		return ApplyModifier_Regex(pp, ch);
-#endif
 	case 'D':
 	case 'U':
 		return ApplyModifier_Defined(pp, ch);
@@ -3808,10 +3792,8 @@ ApplyModifier(const char **pp, ModChain 
 		return ApplyModifier_Range(pp, ch);
 	case 'S':
 		return ApplyModifier_Subst(pp, ch);
-#ifdef SUNSHCMD
 	case 's':
 		return ApplyModifier_SunShell(pp, ch);
-#endif
 	case 'T':
 		return ApplyModifier_WordFunc(pp, ch, ModifyWord_Tail);
 	case 't':
@@ -3900,12 +3882,10 @@ ApplySingleModifier(const char **pp, Mod
 
 	res = ApplyModifier(&p, ch);
 
-#ifdef SYSVVARSUB
 	if (res == AMR_UNKNOWN) {
 		assert(p == mod);
 		res = ApplyModifier_SysV(&p, ch);
 	}
-#endif
 
 	if (res == AMR_UNKNOWN) {
 		/*

Reply via email to