Up to [cvs.NetBSD.org] / src / usr.bin / make
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.467 / (download) - annotate - [select for diffs], Sun Mar 10 02:53:37 2024 UTC (5 weeks, 5 days ago) by sjg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.466: +4 -2
lines
Diff to previous 1.466 (colored) to selected 1.176.2.1 (colored)
make: record exit status in GNode SetErrorVars can now set .ERROR_EXIT which allows a .ERROR target to ignore the case of .ERROR_EXIT == 6 which means failure happened elsewhere. Reviewed by:
Revision 1.466 / (download) - annotate - [select for diffs], Fri Mar 1 16:41:42 2024 UTC (7 weeks ago) by sjg
Branch: MAIN
Changes since 1.465: +3 -3
lines
Diff to previous 1.465 (colored) to selected 1.176.2.1 (colored)
make: export target scope values Pass target scope to Var_ReexportVars so that a target process will see the correct values in its env. We must then mark any Global scope variable as unexported so targets without local value get the Global one.
Revision 1.465 / (download) - annotate - [select for diffs], Sun Jan 7 11:39:04 2024 UTC (3 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.464: +4 -11
lines
Diff to previous 1.464 (colored) to selected 1.176.2.1 (colored)
make: clean up comments, constify shell name
Revision 1.464 / (download) - annotate - [select for diffs], Sun Jan 7 01:33:57 2024 UTC (3 months, 1 week ago) by sjg
Branch: MAIN
Changes since 1.463: +3 -3
lines
Diff to previous 1.463 (colored) to selected 1.176.2.1 (colored)
make: more consistent error messages Move %s: progname from Job_CheckCommands to Fatal to avoid is being repeated when Job_CheckCommands is passed Error. This means some errors from var also report progname (and level) which is useful. Reviewed by: rillig
Revision 1.463 / (download) - annotate - [select for diffs], Fri Jan 5 23:22:06 2024 UTC (3 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.462: +12 -26
lines
Diff to previous 1.462 (colored) to selected 1.176.2.1 (colored)
make: miscellaneous cleanups
Revision 1.462 / (download) - annotate - [select for diffs], Fri Dec 29 12:59:43 2023 UTC (3 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.461: +4 -8
lines
Diff to previous 1.461 (colored) to selected 1.176.2.1 (colored)
make: clean up comments No binary change, except for line numbers in assertions.
Revision 1.461 / (download) - annotate - [select for diffs], Tue Dec 19 19:33:39 2023 UTC (4 months ago) by rillig
Branch: MAIN
Changes since 1.460: +20 -34
lines
Diff to previous 1.460 (colored) to selected 1.176.2.1 (colored)
make: clean up comments No binary change, except for line numbers in assertions.
Revision 1.460 / (download) - annotate - [select for diffs], Sun Dec 17 08:53:55 2023 UTC (4 months ago) by rillig
Branch: MAIN
Changes since 1.459: +19 -19
lines
Diff to previous 1.459 (colored) to selected 1.176.2.1 (colored)
make: clean up names of local variables No binary change.
Revision 1.459 / (download) - annotate - [select for diffs], Wed Feb 15 06:52:58 2023 UTC (14 months ago) by rillig
Branch: MAIN
Changes since 1.458: +5 -5
lines
Diff to previous 1.458 (colored) to selected 1.176.2.1 (colored)
make: inline macros for variable names The variable name '.MAKEOVERRIDES' was already used in the non-macro form. No binary change.
Revision 1.458 / (download) - annotate - [select for diffs], Tue Feb 14 21:38:31 2023 UTC (14 months ago) by rillig
Branch: MAIN
Changes since 1.457: +7 -8
lines
Diff to previous 1.457 (colored) to selected 1.176.2.1 (colored)
make: clean up calls to Var_Subst None of the calls to Var_Subst used the return value, and the return value was always VPR_OK. No functional change.
Revision 1.457 / (download) - annotate - [select for diffs], Tue Jan 17 21:35:19 2023 UTC (15 months ago) by christos
Branch: MAIN
Changes since 1.456: +4 -3
lines
Diff to previous 1.456 (colored) to selected 1.176.2.1 (colored)
Accept whitespace between command specifiers @+- like gmake does. New binutils does this.
Revision 1.456 / (download) - annotate - [select for diffs], Mon Oct 10 21:17:25 2022 UTC (18 months, 1 week ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base,
netbsd-10-0-RELEASE,
netbsd-10-0-RC6,
netbsd-10-0-RC5,
netbsd-10-0-RC4,
netbsd-10-0-RC3,
netbsd-10-0-RC2,
netbsd-10-0-RC1,
netbsd-10
Changes since 1.455: +3 -3
lines
Diff to previous 1.455 (colored) to selected 1.176.2.1 (colored)
make: change return type of unlink_file back to int As unlink_file is a wrapper around unlink, use the same encoding for the possible return values as in the wrapped function. This consistency is more important than expressing all possible return values in the return type 'bool'. https://mail-index.netbsd.org/tech-toolchain/2022/10/06/msg004155.html No functional change.
Revision 1.455 / (download) - annotate - [select for diffs], Sat Sep 3 08:41:07 2022 UTC (19 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.454: +9 -15
lines
Diff to previous 1.454 (colored) to selected 1.176.2.1 (colored)
make: untangle output handling in jobs mode, remove redundant braces No functional change.
Revision 1.454 / (download) - annotate - [select for diffs], Sat Sep 3 08:03:27 2022 UTC (19 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.453: +5 -9
lines
Diff to previous 1.453 (colored) to selected 1.176.2.1 (colored)
make: fix handling of null bytes in the output in jobs mode The test job-output-null failed occasionally, depending on the exact timing of the child's write and make's read.
Revision 1.453 / (download) - annotate - [select for diffs], Sat May 7 08:01:20 2022 UTC (23 months, 1 week ago) by rillig
Branch: MAIN
Changes since 1.452: +3 -3
lines
Diff to previous 1.452 (colored) to selected 1.176.2.1 (colored)
make: rename Compat_Run to Compat_MakeAll No functional change.
Revision 1.452 / (download) - annotate - [select for diffs], Sat Feb 12 11:14:48 2022 UTC (2 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.451: +3 -6
lines
Diff to previous 1.451 (colored) to selected 1.176.2.1 (colored)
make: fix echoing of command with '-' in silent target in jobs mode Since job.c 1.83 from 2003-12-20, the command had been echoed even if the target had the attribute '.SILENT'. In sh-flags.exp, each removed 'echo' command is below a target name matching the pattern 'opt-?j????-tgt-??s-cmd-?i?', which means that the target was marked as silent, either through a global '.SILENT' declaration or the command line option '-s' or the attribute '.SILENT' on the target. Reported by Alan Barrett in PR#45356.
Revision 1.451 / (download) - annotate - [select for diffs], Fri Feb 4 23:22:19 2022 UTC (2 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.450: +3 -3
lines
Diff to previous 1.450 (colored) to selected 1.176.2.1 (colored)
make: use unsigned int for line numbers everywhere Previously, some line numbers were stored as signed int while others were stored as size_t. Since line numbers are never negative, use an unsigned type. Since the maximum file size for makefiles is 1 GB (see loadfile), unsigned int is large enough even on 64-bit platforms. Using a single data types reduces the number of type conversions. Using unsigned int improves compatibility with C90 (printf %u instead of %zu), which is needed by bmake, which is derived from usr.bin/make. No functional change.
Revision 1.450 / (download) - annotate - [select for diffs], Sun Jan 30 13:21:08 2022 UTC (2 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.449: +3 -3
lines
Diff to previous 1.449 (colored) to selected 1.176.2.1 (colored)
Make the GNode lineno unsigned to fix lint warning in var.c calling PrintLocation()
Revision 1.449 / (download) - annotate - [select for diffs], Sat Jan 22 18:59:23 2022 UTC (2 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.448: +7 -7
lines
Diff to previous 1.448 (colored) to selected 1.176.2.1 (colored)
make: add missing newline after "cannot continue" message It was wrong of Parse_File to output an unfinished line and hope for some other code to finish it. As demonstrated in the test, PrintOnError did not do that in the case of additional debug output. To keep the overall behavior as close as possible to before, the other callers of PrintOnError now have to pass the newline themselves. Passing strings that start with newlines but don't end with them looked suspicious anyway.
Revision 1.448 / (download) - annotate - [select for diffs], Sat Jan 8 09:53:44 2022 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.447: +5 -8
lines
Diff to previous 1.447 (colored) to selected 1.176.2.1 (colored)
make: remove redundant braces No binary change, except for assertion line numbers.
Revision 1.447 / (download) - annotate - [select for diffs], Fri Jan 7 19:24:27 2022 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.446: +3 -3
lines
Diff to previous 1.446 (colored) to selected 1.176.2.1 (colored)
make: rename and inline Targ_Precious No functional change.
Revision 1.446 / (download) - annotate - [select for diffs], Fri Jan 7 08:28:06 2022 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.445: +4 -10
lines
Diff to previous 1.445 (colored) to selected 1.176.2.1 (colored)
make: reduce code for initializing error handling in shell No functional change.
Revision 1.445 / (download) - annotate - [select for diffs], Mon Dec 27 18:26:22 2021 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.444: +6 -6
lines
Diff to previous 1.444 (colored) to selected 1.176.2.1 (colored)
make: remove unnecessary words from command line options Several years ago, the command line options were individual global variables. The global variable could therefore not be named 'silent' since that would have conflicted with local variables of the same name. After moving the global variable to the namespace 'struct CmdOpts', there is no conflict anymore. There doesn't seem to be any risk of naming collisions for the names 'touch' and 'query'. No functional change.
Revision 1.444 / (download) - annotate - [select for diffs], Mon Dec 27 17:18:57 2021 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.443: +3 -3
lines
Diff to previous 1.443 (colored) to selected 1.176.2.1 (colored)
make: rename eunlink to unlink_file The name eunlink suggested a relation with the similarly named functions emalloc or esnprintf, but that was misleading. Instead, unlink_file works like unlink, except that it refuses to remove an empty directory. No functional change.
Revision 1.443 / (download) - annotate - [select for diffs], Wed Dec 15 12:58:01 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.442: +32 -22
lines
Diff to previous 1.442 (colored) to selected 1.176.2.1 (colored)
make: format comments according to /usr/share/misc/style Assisted by indent(1), with manual corrections due to its many remaining bugs. No functional change.
Revision 1.442 / (download) - annotate - [select for diffs], Wed Dec 15 12:24:13 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.441: +3 -3
lines
Diff to previous 1.441 (colored) to selected 1.176.2.1 (colored)
make: use consistent indentation for statements and continuations No binary change, except for line numbers in assertions in suff.c.
Revision 1.441 / (download) - annotate - [select for diffs], Wed Dec 15 10:04:49 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.440: +4 -4
lines
Diff to previous 1.440 (colored) to selected 1.176.2.1 (colored)
make: change return type of Compat_RunCommand from int to bool The documentation was wrong before since status was not restricted to only 0 or 1. No functional change.
Revision 1.440 / (download) - annotate - [select for diffs], Sun Nov 28 19:51:06 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.439: +3 -3
lines
Diff to previous 1.439 (colored) to selected 1.176.2.1 (colored)
make: convert GNodeFlags from enum into bit-fields Now that Enum_ToString is implemented for each type separately, it's easy to convert them to bit-fields. This gets rid of the magic numbers 12 for CYCLE and 13 for DONECYCLE that left a suspicious gap in the numbers. This gap was not needed since the code didn't make use of the relative ordering of the enum constants. The effects of this conversion are fewer capital letters in the code, smaller scope for the GNode flags, and clearer code especially when setting a flag back to false. One strange thing is that GCC 10.3.0 doesn't optimize GNodeFlags_IsNone to an single bitmasking instruction, at least on x86_64. Instead it generates a testb instruction for each of the flags, even loading bit 8 separately from the others. Clang 12.0.1 knows this optimization though and generates the obvious sequence of movzwl, testl, jz. No functional change.
Revision 1.439 / (download) - annotate - [select for diffs], Sun Nov 28 17:26:07 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.438: +9 -10
lines
Diff to previous 1.438 (colored) to selected 1.176.2.1 (colored)
make: eliminate common subexpressions in DebugFailedJob No functional change.
Revision 1.438 / (download) - annotate - [select for diffs], Sun Nov 28 17:20:39 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.437: +3 -2
lines
Diff to previous 1.437 (colored) to selected 1.176.2.1 (colored)
make: fix memory leak in jobs mode with -de (since today)
Revision 1.437 / (download) - annotate - [select for diffs], Sun Nov 28 00:02:07 2021 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.436: +16 -6
lines
Diff to previous 1.436 (colored) to selected 1.176.2.1 (colored)
make: with the option -de in jobs mode, output expanded commands This helps tracking down the actual cause of build failures in build systems like NetBSD's build.sh that use highly abstracted commands that are mainly defined in terms of variables.
Revision 1.436 / (download) - annotate - [select for diffs], Sun Oct 24 18:45:46 2021 UTC (2 years, 5 months ago) by sjg
Branch: MAIN
Changes since 1.435: +10 -6
lines
Diff to previous 1.435 (colored) to selected 1.176.2.1 (colored)
Do not ignore write failures. We should not ignore failure to write to cmdFILE, meta files and filemon. Reviewed by: rillig
Revision 1.435 / (download) - annotate - [select for diffs], Wed Jun 16 09:47:51 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.434: +11 -2
lines
Diff to previous 1.434 (colored) to selected 1.176.2.1 (colored)
make: fix error handling in jobs mode By using the same error handling code as in the branch for non-empty commands, the behavior is the same again as before 2021-01-29.
Revision 1.434 / (download) - annotate - [select for diffs], Wed Jun 16 03:56:59 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.433: +13 -13
lines
Diff to previous 1.433 (colored) to selected 1.176.2.1 (colored)
make: extract commands-ok check from JobWriteShellCommands This piece of code did not match the function name and thus could not reasonably be expected in that function. In job.c 1.399 from 2021-01-29 I missed exactly this little detail when I added code to skip the apparently unnecessary creation of empty shell files. The code I added only handled the happy case, not the case where the target could not be made. That code path then differed, leading to a much more verbose error message than before. before: don't know how to make ../missing/no-such.o. Stop after: don't know how to make ../missing/no-such.o. Stop ... `../missing/no-such.o' was not built (made BEINGMADE, ...)! `muck' was not built (made DEFERRED, type OP_DEPENDS|...)! `muck' has .ORDER dependency against build-all (made DEFERRED, ...) Thanks to sjg for finding and reproducing this unintended change of behavior.
Revision 1.433 / (download) - annotate - [select for diffs], Wed Jun 16 03:15:47 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.432: +4 -10
lines
Diff to previous 1.432 (colored) to selected 1.176.2.1 (colored)
make: clean up comment for JobStart The parameter 'flags' was renamed in job.c 1.354 from 2020-12-10 without adjusting the documentation. The parameter 'previous' was removed in job.c 1.108 from 2006-03-12, also without adjusting the documentation of JobStart. No functional change.
Revision 1.432 / (download) - annotate - [select for diffs], Tue Apr 27 16:25:46 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
CVS Tags: cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x
Changes since 1.431: +5 -6
lines
Diff to previous 1.431 (colored) to selected 1.176.2.1 (colored)
make: use consistent variable names, types and braces in DebugFailedJob No functional change.
Revision 1.431 / (download) - annotate - [select for diffs], Tue Apr 27 16:23:21 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.430: +3 -3
lines
Diff to previous 1.430 (colored) to selected 1.176.2.1 (colored)
make: remove stray space in -de output in jobs mode In compat mode, having a space in this place makes sense to align the target name with the command. In jobs mode, since each command is listed in a separate line, there is no need for the double space.
Revision 1.430 / (download) - annotate - [select for diffs], Tue Apr 27 15:21:42 2021 UTC (2 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.429: +19 -2
lines
Diff to previous 1.429 (colored) to selected 1.176.2.1 (colored)
Print -de error information when running multiple jobs Problem and patch description from https://reviews.freebsd.org/D29647: When running `make -de` (without any -j flag) bmake prints which command failed. However, when using the -j flag the -de flag is ignored. This can make it rather difficult to determine which command failed in an very parallel build (especially when combined with the -s flag to avoid ridiculously large logfiles). For single-threaded builds we can combine -s with -de to get the failed command but this does not work with -jN (even with -j1). This patch prints the failed shell script with -de in the multiple jobs mode as well. From Alexander Richardson @ FreeBSD
Revision 1.429 / (download) - annotate - [select for diffs], Fri Apr 16 16:49:27 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.428: +39 -35
lines
Diff to previous 1.428 (colored) to selected 1.176.2.1 (colored)
make: use distinct wording for writing to the shell commands file The word 'write' now means to write to the file that holds the shell commands to be run later. The word 'print' is now used exclusively for handling the output of the child commands and printing them to make's stdout. No functional change.
Revision 1.428 / (download) - annotate - [select for diffs], Fri Apr 16 16:10:01 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.427: +5 -5
lines
Diff to previous 1.427 (colored) to selected 1.176.2.1 (colored)
make: align name of jobs_table_dump to the other functions
Revision 1.427 / (download) - annotate - [select for diffs], Thu Apr 15 19:06:42 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.426: +6 -8
lines
Diff to previous 1.426 (colored) to selected 1.176.2.1 (colored)
make: remove type name for the abort status in job handling
Revision 1.426 / (download) - annotate - [select for diffs], Thu Apr 15 18:36:17 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.425: +13 -10
lines
Diff to previous 1.425 (colored) to selected 1.176.2.1 (colored)
make: rename PrintOutput to PrintFilteredOutput to avoid confusion In the default configuration, the function PrintOutput did nothing. Only if the shell has defined an output filter, something happens at all.
Revision 1.425 / (download) - annotate - [select for diffs], Thu Apr 15 18:21:27 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.424: +11 -3
lines
Diff to previous 1.424 (colored) to selected 1.176.2.1 (colored)
make: document two previously unknown bugs in job mode
Revision 1.424 / (download) - annotate - [select for diffs], Sun Apr 4 10:05:08 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.423: +7 -7
lines
Diff to previous 1.423 (colored) to selected 1.176.2.1 (colored)
make: rename a few functions to be more descriptive No functional change.
Revision 1.423 / (download) - annotate - [select for diffs], Sun Apr 4 09:58:51 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.422: +4 -4
lines
Diff to previous 1.422 (colored) to selected 1.176.2.1 (colored)
make: rename ambiguous functions These two functions have counterparts that include the word 'Do' in their name, which is confusing. No functional change.
Revision 1.422 / (download) - annotate - [select for diffs], Sat Apr 3 14:39:02 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.421: +9 -4
lines
Diff to previous 1.421 (colored) to selected 1.176.2.1 (colored)
make: backport to C90 In the past few months I had accidentally used C99 features in the make code. According to tools/README, tools that are used in the build system should restrict themselves to C90. This allows make to build with GCC's options "-pedantic -Wno-system-headers -Dinline= -Wno-error=cast-qual". I didn't notice anyone actively complaining though, I just wanted to see how much work this backporting would be. The identifier __func__ is still used, as in other tools. No functional change.
Revision 1.421 / (download) - annotate - [select for diffs], Sat Apr 3 11:08:40 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.420: +125 -125
lines
Diff to previous 1.420 (colored) to selected 1.176.2.1 (colored)
make: use C99 bool type instead of defining its own No functional change.
Revision 1.420 / (download) - annotate - [select for diffs], Fri Feb 5 22:15:44 2021 UTC (3 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.419: +4 -4
lines
Diff to previous 1.419 (colored) to selected 1.176.2.1 (colored)
Job_TempFile: unlink while signals blocked
Revision 1.419 / (download) - annotate - [select for diffs], Fri Feb 5 19:19:17 2021 UTC (3 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.418: +19 -10
lines
Diff to previous 1.418 (colored) to selected 1.176.2.1 (colored)
Avoid strdup in mkTempFile Require caller to pass a buffer and size if they want the tempfile not unlinked. Add Job_TempFile to handle blocking signals around call to mkTempFile, so that meta_open_filemon can use it in jobs mode.
Revision 1.418 / (download) - annotate - [select for diffs], Fri Feb 5 05:53:40 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.417: +7 -13
lines
Diff to previous 1.417 (colored) to selected 1.176.2.1 (colored)
make: remove unnecessary assignment in Job_Start, clean up comments
Revision 1.417 / (download) - annotate - [select for diffs], Fri Feb 5 05:15:12 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.416: +6 -6
lines
Diff to previous 1.416 (colored) to selected 1.176.2.1 (colored)
make: in the Var_ functions, move the scope to the front This change provides for a more natural reading order in the code. Placing the scope first makes it immediately clear in which context the remaining parameters are interpreted. No functional change.
Revision 1.416 / (download) - annotate - [select for diffs], Thu Feb 4 21:33:13 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.415: +5 -5
lines
Diff to previous 1.415 (colored) to selected 1.176.2.1 (colored)
make: rename some VAR constants to SCOPE The word "context" does not fit perfectly to the variables that are associate with a GNode, as the context is usually something from the outside and the variables are more like properties inherent to the GNode. The term "global context" fits even less. Since the thing where variables are looked up is commonly named a scope, use that term instead. This commit only renames the global variables VAR_GLOBAL, VAR_INTERNAL and VAR_CMDLINE, plus a few very closely related comments. These are: GNode.vars (because of line breaks) GNode_Free (dito) varname-make_print_var_on_error.mk varname-make_print_var_on_error-jobs.mk The debug message in Var_Stats is left as-is since there is no unit test for it yet. The other renamings (variable names "context", "ctxt", as well as further comments) will be done in a follow-up commit.
Revision 1.415 / (download) - annotate - [select for diffs], Wed Feb 3 13:53:12 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.414: +4 -4
lines
Diff to previous 1.414 (colored) to selected 1.176.2.1 (colored)
make: replace Global_AppendExpand with Global_Append All callers with a variable name that is guaranteed to not contain a dollar sign have been converted to call Global_Append instead of the previous Global_AppendExpand. After that, Global_AppendExpand was unused, therefore it was effectively just renamed.
Revision 1.414 / (download) - annotate - [select for diffs], Wed Feb 3 08:08:18 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.413: +3 -3
lines
Diff to previous 1.413 (colored) to selected 1.176.2.1 (colored)
make: replace Global_SetExpand with Global_Set for constant names
Revision 1.413 / (download) - annotate - [select for diffs], Wed Feb 3 08:00:36 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.412: +5 -5
lines
Diff to previous 1.412 (colored) to selected 1.176.2.1 (colored)
make: use shortcut functions Global_SetExpand and Global_AppendExpand There are many places where global variables are set or appended to. To reduce clutter and code size, encode the VAR_GLOBAL in the function name. The word Expand in the function names says that the variable name is expanded. In most of the cases, this is not necessary, but there are no corresponding functions Global_Set or Global_Append yet. Encoding the information whether the name is expanded or not in the function name will make inconsistencies obvious in future manual code reviews. Letting the compiler check this by using different types for unexpanded and expanded variable names is probably not worth the effort. There are still a few bugs to be fixed, such as in SetVar, which expands the variable name twice in a row.
Revision 1.412 / (download) - annotate - [select for diffs], Mon Feb 1 21:09:25 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.411: +5 -5
lines
Diff to previous 1.411 (colored) to selected 1.176.2.1 (colored)
make: indent preprocessor directives consistently As seen in share/misc/style.
Revision 1.411 / (download) - annotate - [select for diffs], Mon Feb 1 21:04:10 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.410: +3 -3
lines
Diff to previous 1.410 (colored) to selected 1.176.2.1 (colored)
make: always use vfork, never fork Before compat.c 1.217, job.c 1.390 and main.c 1.504 from 2020-12-27, the exported make variables were exported from each freshly forked child process. There was no practical difference though between exporting the variables from the parent process or the child process since these two processes share the same address space, except that the forked process is very limited in what it may actually do. This limitation was violated on a regular basis. When an exported variable referred to a variable that used the :sh variable modifier, this led to a fork from within vfork, which is not allowed. Since 2020-12-27, exporting the variables is done from the main process, which prevents this situation from ever occurring. Since that day, there is no need anymore to distinguish between vfork and fork, which removes any need for the macro.
Revision 1.410 / (download) - annotate - [select for diffs], Mon Feb 1 18:55:15 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.409: +7 -7
lines
Diff to previous 1.409 (colored) to selected 1.176.2.1 (colored)
make: remove unused Lst_Destroy The code in job.c that seemed to use it is inside an '#if 0' block.
Revision 1.409 / (download) - annotate - [select for diffs], Mon Feb 1 18:46:38 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.408: +9 -18
lines
Diff to previous 1.408 (colored) to selected 1.176.2.1 (colored)
make: clean up Job_CatchOutput The switch statement was unnecessarily long since every branch needed to be terminated with a break or with a comment explaining that it didn't fall through to the next case label.
Revision 1.408 / (download) - annotate - [select for diffs], Mon Feb 1 18:25:57 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.407: +31 -31
lines
Diff to previous 1.407 (colored) to selected 1.176.2.1 (colored)
make: rename fd-related variables in job.c In job.c 1.330 from 2020-11-28 I had renamed them because of naming collisions. At at time I apparently didn't know exactly what these variables were used for since their new names were incorrect and misleading. Try better names this time.
Revision 1.407 / (download) - annotate - [select for diffs], Mon Feb 1 17:49:29 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.406: +21 -21
lines
Diff to previous 1.406 (colored) to selected 1.176.2.1 (colored)
make: clean up job.c There used to be a time when Job_Init only ran the commands of the special .BEGIN target, but that's several years ago. The 'becomes' for echoTmpl was confusing since it referred to a time where echoTmpl shared the same memory location as errOn, which was really confusing since echoTmpl, as the name says, is a printf template while errOn is a plain string. All this confusion, just to save 4 or 8 bytes of memory, was not worth it. Since shellArgv is only used for freeing it and no code is supposed to ever interpret that memory, rename the variable.
Revision 1.406 / (download) - annotate - [select for diffs], Mon Feb 1 17:10:23 2021 UTC (3 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.405: +3 -3
lines
Diff to previous 1.405 (colored) to selected 1.176.2.1 (colored)
Use sig_atomic_t for caught_sigchld
Revision 1.405 / (download) - annotate - [select for diffs], Sun Jan 31 07:07:53 2021 UTC (3 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.404: +10 -2
lines
Diff to previous 1.404 (colored) to selected 1.176.2.1 (colored)
Reduce unnecessary calls to waitpid Set a flag when we catch SIGCHLD and don't call waitpid if it is not set. Clear it when we call waitpid.
Revision 1.404 / (download) - annotate - [select for diffs], Sat Jan 30 13:12:00 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.403: +3 -10
lines
Diff to previous 1.403 (colored) to selected 1.176.2.1 (colored)
make(1): clean up JobWriteShellCommands
Revision 1.403 / (download) - annotate - [select for diffs], Sat Jan 30 13:02:54 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.402: +14 -20
lines
Diff to previous 1.402 (colored) to selected 1.176.2.1 (colored)
make(1): clean up comments in JobSaveCommands and JobStart
Revision 1.402 / (download) - annotate - [select for diffs], Fri Jan 29 23:45:35 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.401: +6 -4
lines
Diff to previous 1.401 (colored) to selected 1.176.2.1 (colored)
make(1): explain seemingly redundant condition in jobs mode
Revision 1.401 / (download) - annotate - [select for diffs], Fri Jan 29 23:33:24 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.400: +8 -6
lines
Diff to previous 1.400 (colored) to selected 1.176.2.1 (colored)
make(1): remove unnecessary fflush for empty shell files If nothing is done to any file, there is no need to flush stdout. Move the call to each of the remaining branches, except for -t mode, where Job_Touch already takes care of everything.
Revision 1.400 / (download) - annotate - [select for diffs], Fri Jan 29 23:06:41 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.399: +4 -6
lines
Diff to previous 1.399 (colored) to selected 1.176.2.1 (colored)
make(1): rename JobOpenTmpFile to JobWriteShellCommands The old name didn't reflect that the function not only opens the temporary file for writing but also actually writes the shell commands to that file.
Revision 1.399 / (download) - annotate - [select for diffs], Fri Jan 29 22:52:29 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.398: +8 -3
lines
Diff to previous 1.398 (colored) to selected 1.176.2.1 (colored)
make(1): do not create empty shell files in jobs mode In a chain of dependencies such as "all: build; build: do-build", the intermediate targets do not have any commands. In jobs mode, nevertheless, an empty file was created and fed to the shell. This was unnecessary. See jobs-empty-commands.mk. The case of the special command line "...", which was suggested on current-users, is not optimized since it doesn't occur in practice. Suggested by Mateusz Guzik on current-users: https://mail-index.netbsd.org/current-users/2021/01/26/msg040215.html
Revision 1.398 / (download) - annotate - [select for diffs], Tue Jan 19 20:51:46 2021 UTC (3 years, 2 months ago) by rillig
Branch: MAIN
Changes since 1.397: +3 -3
lines
Diff to previous 1.397 (colored) to selected 1.176.2.1 (colored)
make(1): remove do-not-format markers from comments These markers had been used inconsistently. Furthermore the source code had not been formatted automatically before 2020 at all, otherwise there wouldn't have been any trailing whitespace left.
Revision 1.397 / (download) - annotate - [select for diffs], Sun Jan 10 23:59:53 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.396: +6 -6
lines
Diff to previous 1.396 (colored) to selected 1.176.2.1 (colored)
make(1): make a few more bool expressions more precise The previous version of lint(1) from a few hours ago didn't catch all occurrences. And even the current one doesn't catch everything. Function arguments and return types still need some work. The "return quietly" from shouldDieQuietly still implicitly converts from int to _Bool. No functional change.
Revision 1.396 / (download) - annotate - [select for diffs], Sun Jan 10 21:20:46 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.395: +13 -13
lines
Diff to previous 1.395 (colored) to selected 1.176.2.1 (colored)
make(1): consistently use boolean expressions in conditions Most of the make code already followed the style of explicitly writing (ptr != NULL) instead of the shorter (ptr) in conditions. The remaining 50 instances have been found by an experimental, unpublished check in lint(1) that treats bool expressions as incompatible to any other scalar type, just as in Java, C#, Pascal and several other languages. The only unsafe operation on Boolean that is left over is (flags & FLAG), for an enum implementing a bit set. If Boolean is an ordinary integer type (the default), some high bits may get lost. But if Boolean is the same as _Bool (by compiling with -DUSE_C99_BOOLEAN), C99 6.3.1.2 defines that a conversion from any scalar to the type _Bool acts as a comparison to 0, which cannot lose any bits.
Revision 1.395 / (download) - annotate - [select for diffs], Sat Jan 9 16:06:09 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.394: +6 -2
lines
Diff to previous 1.394 (colored) to selected 1.176.2.1 (colored)
make(1): fix lint warnings
Revision 1.394 / (download) - annotate - [select for diffs], Fri Jan 8 21:46:50 2021 UTC (3 years, 3 months ago) by sjg
Branch: MAIN
Changes since 1.393: +3 -3
lines
Diff to previous 1.393 (colored) to selected 1.176.2.1 (colored)
Ensure PrintOnError always reports 'stopped in' on first call. We may still suppress the rest of the noise if shouldDieQuietly says to, but the 'stopped in' output is too important to lose. Avoid repeating it though in the same process. For the case of aborting due to failure detected elsewhere, exit 6 so we have a clue. PR: 55578 Reviewed by:
Revision 1.393 / (download) - annotate - [select for diffs], Fri Jan 8 04:36:44 2021 UTC (3 years, 3 months ago) by sjg
Branch: MAIN
Changes since 1.392: +3 -2
lines
Diff to previous 1.392 (colored) to selected 1.176.2.1 (colored)
Set wantToken when none available. PR: 53285 Reviewed by: gson
Revision 1.392 / (download) - annotate - [select for diffs], Sat Jan 2 20:09:06 2021 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.391: +20 -19
lines
Diff to previous 1.391 (colored) to selected 1.176.2.1 (colored)
make(1): add a few remarks to JobOutput That function is not used in practice. Still, there are a lot of subtle details that can get wrong in that code.
Revision 1.391 / (download) - annotate - [select for diffs], Wed Dec 30 10:03:16 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.390: +30 -16
lines
Diff to previous 1.390 (colored) to selected 1.176.2.1 (colored)
make(1): format multi-line comments
Revision 1.390 / (download) - annotate - [select for diffs], Sun Dec 27 05:16:26 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.389: +4 -4
lines
Diff to previous 1.389 (colored) to selected 1.176.2.1 (colored)
make(1): re-export variables from the actual make process Since make uses vfork if available, re-exporting the variables happens in the address space of the main process anyway, so there is no point in mentioning anything about "our client process" anywhere.
Revision 1.389 / (download) - annotate - [select for diffs], Sun Dec 20 21:07:32 2020 UTC (3 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.388: +5 -5
lines
Diff to previous 1.388 (colored) to selected 1.176.2.1 (colored)
make(1): omit linear search for command in Compat_RunCommand
Revision 1.388 / (download) - annotate - [select for diffs], Tue Dec 15 21:19:47 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.387: +8 -5
lines
Diff to previous 1.387 (colored) to selected 1.176.2.1 (colored)
make(1): format function definitions consistently
Revision 1.387 / (download) - annotate - [select for diffs], Sun Dec 13 20:14:48 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.386: +3 -3
lines
Diff to previous 1.386 (colored) to selected 1.176.2.1 (colored)
make(1): add str_basename to reduce duplicate code The function basename from POSIX has a few unfortunate properties, it is allowed to return a pointer to static memory. This is too unreliable, therefore this trivial own implementation.
Revision 1.386 / (download) - annotate - [select for diffs], Sun Dec 13 02:01:43 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.385: +3 -2
lines
Diff to previous 1.385 (colored) to selected 1.176.2.1 (colored)
make(1): replace *line with line[0] Since a line is not an iterator and since the expression *line typically means "the current element", not "the first character", replacing *line with line[0] more directly expresses the idea of accessing the first character of a string.
Revision 1.385 / (download) - annotate - [select for diffs], Sat Dec 12 18:53:53 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.384: +3 -3
lines
Diff to previous 1.384 (colored) to selected 1.176.2.1 (colored)
make(1): rename Var_ExportVars to Var_ReexportVars
Revision 1.384 / (download) - annotate - [select for diffs], Sat Dec 12 13:13:34 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.383: +16 -9
lines
Diff to previous 1.383 (colored) to selected 1.176.2.1 (colored)
make(1): clean up comments around JobPrintSpecials
Revision 1.383 / (download) - annotate - [select for diffs], Sat Dec 12 12:56:56 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.382: +4 -4
lines
Diff to previous 1.382 (colored) to selected 1.176.2.1 (colored)
make(1): rename ParseRunOptions to ParseCommandFlags
Revision 1.382 / (download) - annotate - [select for diffs], Sat Dec 12 12:54:58 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.381: +19 -25
lines
Diff to previous 1.381 (colored) to selected 1.176.2.1 (colored)
make(1): extract ShellWriter_ErrOn from JobPrintCommand It had been conceptually wrong to modify cmdFlags.echo just to suppress echoing while enabling error checking. Now the code in JobPrintCommand speaks for itself and no longer needs any comments. The few lines at the end have the sole purpose of restoring the default state (echo + errChk) in the shell file.
Revision 1.381 / (download) - annotate - [select for diffs], Sat Dec 12 12:28:06 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.380: +3 -3
lines
Diff to previous 1.380 (colored) to selected 1.176.2.1 (colored)
make(1): fix typo in comment of JobPrintCommand
Revision 1.380 / (download) - annotate - [select for diffs], Sat Dec 12 11:33:10 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.379: +6 -11
lines
Diff to previous 1.379 (colored) to selected 1.176.2.1 (colored)
make(1): make Job_Touch simpler
Revision 1.379 / (download) - annotate - [select for diffs], Sat Dec 12 11:28:29 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.378: +51 -40
lines
Diff to previous 1.378 (colored) to selected 1.176.2.1 (colored)
make(1): split JobFinishDone into smaller functions
Revision 1.378 / (download) - annotate - [select for diffs], Sat Dec 12 11:03:43 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.377: +52 -44
lines
Diff to previous 1.377 (colored) to selected 1.176.2.1 (colored)
make(1): extract JobFinishDone from JobFinish
Revision 1.377 / (download) - annotate - [select for diffs], Sat Dec 12 10:58:13 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.376: +8 -13
lines
Diff to previous 1.376 (colored) to selected 1.176.2.1 (colored)
make(1): clean up comments in JobFinish
Revision 1.376 / (download) - annotate - [select for diffs], Sat Dec 12 10:45:24 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.375: +4 -10
lines
Diff to previous 1.375 (colored) to selected 1.176.2.1 (colored)
make(1): inline ShellWriter_PrintCmd The parameter name escCmd was wrong for the call in JobPrintCommand.
Revision 1.375 / (download) - annotate - [select for diffs], Sat Dec 12 10:40:42 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.374: +28 -27
lines
Diff to previous 1.374 (colored) to selected 1.176.2.1 (colored)
make(1): rename Shell.exitFlag to errFlag Now its name matches the user-visible .SHELL parameter again, reducing a tiny bit of that mapping chaos.
Revision 1.374 / (download) - annotate - [select for diffs], Sat Dec 12 10:21:50 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.373: +21 -14
lines
Diff to previous 1.373 (colored) to selected 1.176.2.1 (colored)
make(1): move Job.xtraced to ShellWriter This flag was placed wrong in the Job since it is only necessary as long as the shell commands are written to the shell file. Resetting it in JobStart and JobExec was completely misguided since that is far away from writing the shell commands; this should have been done in JobPrintCommands instead. The status of this flag doesn't need to be printed in debugging mode since it is controlled by a single command line option (-dx) and does not interact with all the other switches.
Revision 1.373 / (download) - annotate - [select for diffs], Sat Dec 12 10:05:15 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.372: +35 -19
lines
Diff to previous 1.372 (colored) to selected 1.176.2.1 (colored)
make(1): in jobs mode, extract echo control into separate functions This removes the clutter from the code that calls these functions. That code is still complicated enough since it modifies variables it shouldn't.
Revision 1.372 / (download) - annotate - [select for diffs], Sat Dec 12 02:03:36 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.371: +7 -5
lines
Diff to previous 1.371 (colored) to selected 1.176.2.1 (colored)
make(1): make printing of shell commands independent from the job
Revision 1.371 / (download) - annotate - [select for diffs], Sat Dec 12 01:42:33 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.370: +49 -30
lines
Diff to previous 1.370 (colored) to selected 1.176.2.1 (colored)
make(1): in jobs mode, extract writing of shell commands Right now, the test sh-flags.mk demonstrates many variants to configure echoing of the shell commands (-s, .SILENT, '@'), error handling (-i, .IGNORE, '-') and whether the commands are run (-n, -N, .MAKE, .RECURSIVE, '+'). Even more variants are possible by configuring the shell to have error control. None of the built-in shell definitions has error control, so it is unlikely that anybody uses them, but who knows. Being able to configure these details at 3 levels is good, but what makes all this really hard to understand is that some of these switches interact in non-obvious ways. For example, in jobs mode, a single command can change job->ignerr (in JobPrintSpecialsEchoCtl), which will affect all further commands of that job. The goal of this refactoring is to make the code easier to understand by making the switches on the job level constant and by moving all modifications to them to the ShellWriter.
Revision 1.370 / (download) - annotate - [select for diffs], Sat Dec 12 00:33:25 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.369: +5 -6
lines
Diff to previous 1.369 (colored) to selected 1.176.2.1 (colored)
make(1): remove const from function parameters These have been left-overs from refactoring, when these pieces were extracted to separate functions.
Revision 1.369 / (download) - annotate - [select for diffs], Sat Dec 12 00:05:05 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.368: +6 -6
lines
Diff to previous 1.368 (colored) to selected 1.176.2.1 (colored)
make(1): inline Targ_Ignore and Targ_Silent Each of these functions was only used 2 times, and each of these calls used a different part of the whole expression.
Revision 1.368 / (download) - annotate - [select for diffs], Fri Dec 11 22:33:06 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.367: +3 -3
lines
Diff to previous 1.367 (colored) to selected 1.176.2.1 (colored)
make(1): mark strange code that calls exit(signo) In other places, the exit status of make is carefully chosen to be 0 (success), 1 (did not make everything), 2 (other error). Using a signal number is not guaranteed to be consistent among operating systems and is therefore a weird choice.
Revision 1.367 / (download) - annotate - [select for diffs], Fri Dec 11 01:08:51 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.366: +8 -9
lines
Diff to previous 1.366 (colored) to selected 1.176.2.1 (colored)
make(1): document why runIgnImpl is used in jobs mode
Revision 1.366 / (download) - annotate - [select for diffs], Fri Dec 11 00:29:01 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.365: +23 -25
lines
Diff to previous 1.365 (colored) to selected 1.176.2.1 (colored)
make(1): rename shell flags in struct Shell The previous name 'echo' was too unspecific, given that the other fields in the same struct are called echoOff, echoOn, echoTmpl.
Revision 1.365 / (download) - annotate - [select for diffs], Fri Dec 11 00:22:23 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.364: +4 -4
lines
Diff to previous 1.364 (colored) to selected 1.176.2.1 (colored)
make(1): clean up comments for struct Shell
Revision 1.364 / (download) - annotate - [select for diffs], Thu Dec 10 23:54:41 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.363: +45 -41
lines
Diff to previous 1.363 (colored) to selected 1.176.2.1 (colored)
make(1): name Shell fields consistently They are all templates with a single %s placeholder, so embed this unambiguously in the variable name. The previous variable names didn't provide any clue that echoCmd, execIgnore and errExit had a lot in common.
Revision 1.363 / (download) - annotate - [select for diffs], Thu Dec 10 23:36:20 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.362: +21 -24
lines
Diff to previous 1.362 (colored) to selected 1.176.2.1 (colored)
make(1): clean up JobPrintCommand The local variable 'cmd' had been used for both the unexpanded and the expanded command. This in turn had required the parameter to be non-const.
Revision 1.362 / (download) - annotate - [select for diffs], Thu Dec 10 23:12:59 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.361: +11 -17
lines
Diff to previous 1.361 (colored) to selected 1.176.2.1 (colored)
make(1): eliminate global variable numCommands It had only been used in a very small scope. The elimination of Lst_ForEach made it easy to turn this global variable into a local variable.
Revision 1.361 / (download) - annotate - [select for diffs], Thu Dec 10 23:03:00 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.360: +62 -55
lines
Diff to previous 1.360 (colored) to selected 1.176.2.1 (colored)
make(1): extract JobOpenTmpFile from JobStart
Revision 1.360 / (download) - annotate - [select for diffs], Thu Dec 10 22:45:30 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.359: +37 -36
lines
Diff to previous 1.359 (colored) to selected 1.176.2.1 (colored)
make(1): rename RunFlags to CommandFlags Flags of similar names are also available in CmdOpts (global command line options) and Job. The new name CommandFlags emphasizes that these flags apply to the smallest scope possible, which is a single command, as opposed to the whole GNode/Job.
Revision 1.359 / (download) - annotate - [select for diffs], Thu Dec 10 22:34:39 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.358: +27 -25
lines
Diff to previous 1.358 (colored) to selected 1.176.2.1 (colored)
make(1): split Job.errOffOrExecIgnore into separate fields Like errOnOrEcho, these two fields were completely unrelated. One of them expected a %s placeholder, the other didn't.
Revision 1.358 / (download) - annotate - [select for diffs], Thu Dec 10 22:17:37 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.357: +34 -31
lines
Diff to previous 1.357 (colored) to selected 1.176.2.1 (colored)
make(1): split Job.errOnOrEcho into separate fields They have never been related. Furthermore, Job.errOn is really tricky to reach at all. To do that, one has to define a custom shell and set hasErrCtl=true. The manual page has an example for that, but it's probably not use in practice, just like the possibility to use the C shell for all commands.
Revision 1.357 / (download) - annotate - [select for diffs], Thu Dec 10 21:41:35 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.356: +17 -17
lines
Diff to previous 1.356 (colored) to selected 1.176.2.1 (colored)
make(1): negate Job.silent to echo This gets rid of a few explicit negations and an implicit negation in the variable name.
Revision 1.356 / (download) - annotate - [select for diffs], Thu Dec 10 21:33:25 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.355: +35 -38
lines
Diff to previous 1.355 (colored) to selected 1.176.2.1 (colored)
make(1): unpack struct JobFlags The job flags are only used individually.
Revision 1.355 / (download) - annotate - [select for diffs], Thu Dec 10 21:09:58 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.354: +69 -77
lines
Diff to previous 1.354 (colored) to selected 1.176.2.1 (colored)
make(1): rename commandShell to shell The word 'command' was not necessary for understanding the variable.
Revision 1.354 / (download) - annotate - [select for diffs], Thu Dec 10 20:49:11 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.353: +46 -37
lines
Diff to previous 1.353 (colored) to selected 1.176.2.1 (colored)
make(1): split JobFlags into separate fields Having all these flags in a single bitmask makes it harder to see where exactly they can possibly be used since their state could also be modified using the unsuspicious job->flags = 0. Using individual names just leaves the single memset, and that is only used during initialization.
Revision 1.353 / (download) - annotate - [select for diffs], Thu Dec 10 20:14:35 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.352: +10 -11
lines
Diff to previous 1.352 (colored) to selected 1.176.2.1 (colored)
make(1): in JobStart, negate 'noExec' to 'run'
Revision 1.352 / (download) - annotate - [select for diffs], Thu Dec 10 20:10:03 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.351: +3 -3
lines
Diff to previous 1.351 (colored) to selected 1.176.2.1 (colored)
make(1): fix theoretical type mismatch for Job_Touch
Revision 1.351 / (download) - annotate - [select for diffs], Tue Dec 8 21:34:49 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.350: +11 -14
lines
Diff to previous 1.350 (colored) to selected 1.176.2.1 (colored)
make(1): in jobs mode, invert local variable noSpecials to run
Revision 1.350 / (download) - annotate - [select for diffs], Tue Dec 8 20:17:18 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.349: +19 -19
lines
Diff to previous 1.349 (colored) to selected 1.176.2.1 (colored)
make(1): negate RunFlags.silent to become RunFlags.echo This reduces the number of negations in the code.
Revision 1.349 / (download) - annotate - [select for diffs], Tue Dec 8 20:10:24 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.348: +22 -22
lines
Diff to previous 1.348 (colored) to selected 1.176.2.1 (colored)
make(1): move flags errOff into RunFlags.ignerr
Revision 1.348 / (download) - annotate - [select for diffs], Tue Dec 8 20:04:17 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.347: +11 -12
lines
Diff to previous 1.347 (colored) to selected 1.176.2.1 (colored)
make(1): move flag runAlways into RunFlags
Revision 1.347 / (download) - annotate - [select for diffs], Tue Dec 8 19:58:20 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.346: +29 -24
lines
Diff to previous 1.346 (colored) to selected 1.176.2.1 (colored)
make(1): move flag shutUp into struct RunFlags Running a command is controlled by several flags. Instead of passing them around individually, it's easier to have them grouped.
Revision 1.346 / (download) - annotate - [select for diffs], Tue Dec 8 00:50:04 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.345: +60 -65
lines
Diff to previous 1.345 (colored) to selected 1.176.2.1 (colored)
make(1): split JobPrintSpecials into manageable pieces
Revision 1.345 / (download) - annotate - [select for diffs], Tue Dec 8 00:23:30 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.344: +77 -67
lines
Diff to previous 1.344 (colored) to selected 1.176.2.1 (colored)
make(1): extract JobPrintSpecials from JobPrintCommand
Revision 1.344 / (download) - annotate - [select for diffs], Tue Dec 8 00:09:51 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.343: +21 -18
lines
Diff to previous 1.343 (colored) to selected 1.176.2.1 (colored)
make(1): extract InitShellNameAndPath from Shell_Init This gets rid of the ugly "else #endif".
Revision 1.343 / (download) - annotate - [select for diffs], Mon Dec 7 23:59:59 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.342: +4 -6
lines
Diff to previous 1.342 (colored) to selected 1.176.2.1 (colored)
make(1): clean up debug logging
Revision 1.342 / (download) - annotate - [select for diffs], Mon Dec 7 23:53:09 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.341: +36 -33
lines
Diff to previous 1.341 (colored) to selected 1.176.2.1 (colored)
make(1): replace signal handling macros with local functions
Revision 1.341 / (download) - annotate - [select for diffs], Mon Dec 7 23:48:04 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.340: +1857 -1759
lines
Diff to previous 1.340 (colored) to selected 1.176.2.1 (colored)
make(1): indent job.c with tabs instead of spaces
Revision 1.340 / (download) - annotate - [select for diffs], Mon Dec 7 22:55:01 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.339: +18 -31
lines
Diff to previous 1.339 (colored) to selected 1.176.2.1 (colored)
make(1): remove duplicate code for job output
Revision 1.339 / (download) - annotate - [select for diffs], Mon Dec 7 22:47:03 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.338: +16 -14
lines
Diff to previous 1.338 (colored) to selected 1.176.2.1 (colored)
make(1): replace macro MESSAGE with local function The first parameter of the macro was always stdout, and there was no apparent reason to pass anything else there. Let the compiler decide whether to inline this or not, it's not time-critical.
Revision 1.338 / (download) - annotate - [select for diffs], Sun Dec 6 18:13:17 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.337: +20 -30
lines
Diff to previous 1.337 (colored) to selected 1.176.2.1 (colored)
make(1): remove comment decoration
Revision 1.337 / (download) - annotate - [select for diffs], Sat Dec 5 18:15:40 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.336: +3 -3
lines
Diff to previous 1.336 (colored) to selected 1.176.2.1 (colored)
make(1): remove redundant assignments
Revision 1.336 / (download) - annotate - [select for diffs], Sat Dec 5 17:44:22 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.335: +4 -4
lines
Diff to previous 1.335 (colored) to selected 1.176.2.1 (colored)
make(1): remove unused parameter from JobOutput
Revision 1.335 / (download) - annotate - [select for diffs], Fri Dec 4 14:39:56 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.334: +5 -5
lines
Diff to previous 1.334 (colored) to selected 1.176.2.1 (colored)
make(1): use consistent variable names for list nodes
Revision 1.334 / (download) - annotate - [select for diffs], Sun Nov 29 09:27:40 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.333: +4 -4
lines
Diff to previous 1.333 (colored) to selected 1.176.2.1 (colored)
make(1): use space instead of tab for preprocessor directives
Revision 1.333 / (download) - annotate - [select for diffs], Sat Nov 28 19:12:28 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.332: +4 -4
lines
Diff to previous 1.332 (colored) to selected 1.176.2.1 (colored)
make(1): reduce memory allocation for GNode.parents and GNode.children
Revision 1.332 / (download) - annotate - [select for diffs], Sat Nov 28 18:55:52 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.331: +7 -7
lines
Diff to previous 1.331 (colored) to selected 1.176.2.1 (colored)
make(1): remove pointer indirection from GNode.commands Just to save a few memory allocations. No noticeable effect on the performance though.
Revision 1.331 / (download) - annotate - [select for diffs], Sat Nov 28 08:40:05 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.330: +10 -10
lines
Diff to previous 1.330 (colored) to selected 1.176.2.1 (colored)
make(1): rename conflicting global variables called 'error' When compiling make in all-in-one mode, these variable names conflict. They could have been merged into a single variable, but that would have required to make it a global variable for the other modules as well. The parse module has a similar variable called 'fatals'. All these can possibly be merged into a single variable, but not now.
Revision 1.330 / (download) - annotate - [select for diffs], Sat Nov 28 08:31:41 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.329: +26 -26
lines
Diff to previous 1.329 (colored) to selected 1.176.2.1 (colored)
make(1): rename global variables in job.c When compiling make in all-in-one mode, the variable name nfds conflicts with the local variable name nfds in meta_compat_parent. The variable name jobfds was misleading. It has nothing to do with file descriptors, it's just an array of jobs.
Revision 1.329 / (download) - annotate - [select for diffs], Tue Nov 24 18:17:45 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.328: +4 -2
lines
Diff to previous 1.328 (colored) to selected 1.176.2.1 (colored)
make(1): fix error handling for dependency of .END in -k mode Fix one bug, find 4 new ones. All these bugs have been around since 2005-05-08, when dependencies on the .BEGIN, .END and .INTERRUPT nodes were implemented. Before that, checking gn->made == ERROR was appropriate, but adding the dependencies made ABORTED a new possible error value from Compat_Make.
Revision 1.328 / (download) - annotate - [select for diffs], Mon Nov 23 23:41:11 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.327: +11 -11
lines
Diff to previous 1.327 (colored) to selected 1.176.2.1 (colored)
make(1): use comparisons in boolean expressions The generated code stays exactly the same.
Revision 1.327 / (download) - annotate - [select for diffs], Mon Nov 23 20:41:20 2020 UTC (3 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.326: +3 -3
lines
Diff to previous 1.326 (colored) to selected 1.176.2.1 (colored)
make(1): align end-of-line comments with tabs
Revision 1.326 / (download) - annotate - [select for diffs], Mon Nov 16 18:28:27 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.325: +3 -3
lines
Diff to previous 1.325 (colored) to selected 1.176.2.1 (colored)
make(1): use postfix increment where possible
Revision 1.325 / (download) - annotate - [select for diffs], Sat Nov 14 17:04:01 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.324: +17 -35
lines
Diff to previous 1.324 (colored) to selected 1.176.2.1 (colored)
make(1): clean up JobExec, JobStart, JobDoOutput The comments about temporary files for shell output are no longer relevant since the output is always handled via pipes.
Revision 1.324 / (download) - annotate - [select for diffs], Sat Nov 14 16:44:04 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.323: +30 -27
lines
Diff to previous 1.323 (colored) to selected 1.176.2.1 (colored)
make(1): remove indentation in JobOutput
Revision 1.323 / (download) - annotate - [select for diffs], Sat Nov 14 15:58:01 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.322: +9 -10
lines
Diff to previous 1.322 (colored) to selected 1.176.2.1 (colored)
make(1): rename DEFAULT to defaultNode In C, uppercase names are typically used for constants, and this is not a constant.
Revision 1.322 / (download) - annotate - [select for diffs], Sat Nov 14 15:47:35 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.321: +4 -4
lines
Diff to previous 1.321 (colored) to selected 1.176.2.1 (colored)
make(1): use stderr for error message about failed touch Error messages belong on stderr, not stdout. Since at least 1993, stdout had been used for no good reason. Plus, in all these years, nobody ever tested this code path since otherwise the missing newline at the end of the error message would have been obvious. This is a good candidate for the "oldest bug in make" trophy.
Revision 1.321 / (download) - annotate - [select for diffs], Sat Nov 14 14:16:01 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.320: +46 -59
lines
Diff to previous 1.320 (colored) to selected 1.176.2.1 (colored)
make(1): clean up Job_Touch Several more outdated comments were removed. To compensate for that, several new comments mark places where errors are not properly propagated.
Revision 1.320 / (download) - annotate - [select for diffs], Sat Nov 14 13:45:34 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.319: +15 -34
lines
Diff to previous 1.319 (colored) to selected 1.176.2.1 (colored)
make(1): rename JobClose to JobClosePipes, remove confusing comments The comments referred to w_status, which had been there in 1993, but not anymore. Several other details were outdated as well.
Revision 1.319 / (download) - annotate - [select for diffs], Sat Nov 14 13:27:01 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.318: +5 -5
lines
Diff to previous 1.318 (colored) to selected 1.176.2.1 (colored)
make(1): fix grammar: setup -> set up
Revision 1.318 / (download) - annotate - [select for diffs], Sat Nov 14 13:07:39 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.317: +36 -29
lines
Diff to previous 1.317 (colored) to selected 1.176.2.1 (colored)
make(1): replace macro DBPRINTF with JobPrintln This macro had been bad in several ways. Its name started with DB, an unnecessary abbreviation for DEBUG. Many places that used this macro used it with the same format string, "%s\n". This format string can better be expressed in a function name, JobPrintln. Only in a few places was the macro used with different format strings. The one for "set -x" was even forced to arbitrarily separate the argument from the format string in order to match the expected macro parameters. A better choice would have been to use the standard form "%s\n", "set -x" from the beginning. Anyway, that call is calling JobPrintln as well now. The remaining templates are user-specified, and if anyone should ever define a completely custom shell with echo handling and error handling enabled, they will easily crash make when the templates don't contain exactly one %s conversion. That's the responsibility of the user, and it has always been.
Revision 1.317 / (download) - annotate - [select for diffs], Sat Nov 14 12:38:06 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.316: +19 -19
lines
Diff to previous 1.316 (colored) to selected 1.176.2.1 (colored)
make(1): rename JobState to JobStatus The status is only part of the whole state of a job.
Revision 1.316 / (download) - annotate - [select for diffs], Sun Nov 8 15:07:37 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.315: +7 -7
lines
Diff to previous 1.315 (colored) to selected 1.176.2.1 (colored)
make(1): use strict typing in conditions of the form !var
Revision 1.315 / (download) - annotate - [select for diffs], Sun Nov 8 09:34:55 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.314: +4 -3
lines
Diff to previous 1.314 (colored) to selected 1.176.2.1 (colored)
make(1): change return type of Dir_MTime to void Only some callers actually needed the updated time, and because of the many branches, it was difficult to see that the return value was indeed gn->mtime all the time.
Revision 1.314 / (download) - annotate - [select for diffs], Sun Nov 8 01:16:04 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.313: +8 -12
lines
Diff to previous 1.313 (colored) to selected 1.176.2.1 (colored)
make(1): remove unused JOB_IGNDOTS It had been used in 1993 at least, don't know when it was finally removed.
Revision 1.313 / (download) - annotate - [select for diffs], Sun Nov 8 01:07:00 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.312: +9 -10
lines
Diff to previous 1.312 (colored) to selected 1.176.2.1 (colored)
make(1): format source code in JobStart and JobDoOutput
Revision 1.312 / (download) - annotate - [select for diffs], Sun Nov 8 01:00:25 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.311: +10 -10
lines
Diff to previous 1.311 (colored) to selected 1.176.2.1 (colored)
make(1): fix indentation in JobExec
Revision 1.311 / (download) - annotate - [select for diffs], Sun Nov 8 00:54:06 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.310: +3 -3
lines
Diff to previous 1.310 (colored) to selected 1.176.2.1 (colored)
make(1): clean up debug output for running jobs There is no remote anymore, therefore mentioning locally is redundant. It was a bad idea anyway to build format strings that work with parts of words.
Revision 1.310 / (download) - annotate - [select for diffs], Sat Nov 7 21:24:33 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.309: +6 -6
lines
Diff to previous 1.309 (colored) to selected 1.176.2.1 (colored)
make(1): fix type of Job.suspended
Revision 1.309 / (download) - annotate - [select for diffs], Sat Nov 7 20:03:56 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.308: +12 -21
lines
Diff to previous 1.308 (colored) to selected 1.176.2.1 (colored)
make(1): clean up JobStart Initialize the fields in declaration order. Initialize Job.flags in a single assignment.
Revision 1.308 / (download) - annotate - [select for diffs], Sat Nov 7 13:53:12 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.307: +36 -37
lines
Diff to previous 1.307 (colored) to selected 1.176.2.1 (colored)
make(1): fix indentation in JobPrintCommand
Revision 1.307 / (download) - annotate - [select for diffs], Sat Nov 7 10:44:53 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.306: +3 -5
lines
Diff to previous 1.306 (colored) to selected 1.176.2.1 (colored)
make(1): add pp_skip_hspace to skip horizontal whitespace during parsing
Revision 1.306 / (download) - annotate - [select for diffs], Sat Nov 7 10:16:18 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.305: +20 -20
lines
Diff to previous 1.305 (colored) to selected 1.176.2.1 (colored)
make(1): clean up code stylistically * Replace character literal 0 with '\0'. * Replace pointer literal 0 with NULL. * Remove redundant parentheses. * Parentheses in multi-line conditions are not redundant at the beginning of a line. * Replace a few !ptr with ptr == NULL. * Replace a few ptr with ptr != NULL. * Replace (expr & mask) == 0 with !(expr & mask). * Remove redundant braces for blocks in cases where the generated code stays the same. (Assertions further down in the code would get different line numbers.) * Rename parameters in CondParser_String to reflect the data flow. * Replace #ifdef notdef with #if 0. The generated code stays exactly the same, at least with GCC 5.5.0 on NetBSD 8.0 amd64 using the default configuration.
Revision 1.305 / (download) - annotate - [select for diffs], Sat Nov 7 00:06:13 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.304: +3 -3
lines
Diff to previous 1.304 (colored) to selected 1.176.2.1 (colored)
make(1): rename Var_Set_with_flags to Var_SetWithFlags Now that the function is exported from the var module, it should stick to the naming conventions for public functions.
Revision 1.304 / (download) - annotate - [select for diffs], Fri Nov 6 21:20:31 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.303: +4 -4
lines
Diff to previous 1.303 (colored) to selected 1.176.2.1 (colored)
make(1): rename dieQuietly to shouldDieQuietly It was too confusing to have a function named die that doesn't actually die. Plus, the return type int didn't give any clue about what the function actually returns.
Revision 1.303 / (download) - annotate - [select for diffs], Thu Nov 5 17:27:16 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.302: +8 -8
lines
Diff to previous 1.302 (colored) to selected 1.176.2.1 (colored)
make(1): remove redundant parentheses from sizeof operator The parentheses are only needed if the argument is a type, not an expression.
Revision 1.302 / (download) - annotate - [select for diffs], Sun Nov 1 18:45:49 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.301: +3 -3
lines
Diff to previous 1.301 (colored) to selected 1.176.2.1 (colored)
make(1): fix indentation of source code
Revision 1.301 / (download) - annotate - [select for diffs], Sun Nov 1 17:58:17 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.300: +6 -6
lines
Diff to previous 1.300 (colored) to selected 1.176.2.1 (colored)
make(1): rename JobMatchShell to FindShellByName The word 'match' was too unspecific.
Revision 1.300 / (download) - annotate - [select for diffs], Sun Nov 1 17:47:26 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.299: +6 -6
lines
Diff to previous 1.299 (colored) to selected 1.176.2.1 (colored)
make(1): negate NoExecute to GNode_ShouldExecute
Revision 1.299 / (download) - annotate - [select for diffs], Sun Nov 1 17:07:03 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.298: +22 -15
lines
Diff to previous 1.298 (colored) to selected 1.176.2.1 (colored)
make(1): extract EscapeShellDblQuot from JobPrintCommand
Revision 1.298 / (download) - annotate - [select for diffs], Sun Nov 1 16:57:02 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.297: +43 -30
lines
Diff to previous 1.297 (colored) to selected 1.176.2.1 (colored)
make(1): extract ParseRunOptions from JobPrintCommand
Revision 1.297 / (download) - annotate - [select for diffs], Sat Oct 31 11:54:33 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.296: +3 -5
lines
Diff to previous 1.296 (colored) to selected 1.176.2.1 (colored)
make(1): do not look up local variables like .TARGET anywhere else Nobody defines a global variable named .TARGET since that would have many unpredictable effects, applying to all targets at once. Nobody defines an environment variable named .TARGET since that's against the naming conventions for environment variables and would have the same effect. Because of this, there is no point looking up the variables that are local to a GNode anywhere else. This means they cannot come from the environment and thus their value doesn't need to be freed after use, which makes the code simpler. The newly added accessor functions in make.h refer to external functions, but since that header is not used anywhere outside of usr.bin/make, it doesn't matter. Between 2020-08-25 and 2020-10-30, that header had been referenced by usr.bin/xinstall.
Revision 1.296 / (download) - annotate - [select for diffs], Fri Oct 30 20:30:44 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.295: +3 -3
lines
Diff to previous 1.295 (colored) to selected 1.176.2.1 (colored)
make(1): change char * to void * in Var_Value The only purpose of the parameter freeIt is to free the memory associated with the return value. To do this, no pointer arithmetic is needed. Therefore, change to a void pointer, to catch accidental use of that pointer.
Revision 1.295 / (download) - annotate - [select for diffs], Fri Oct 30 15:39:17 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.294: +3 -3
lines
Diff to previous 1.294 (colored) to selected 1.176.2.1 (colored)
make(1): fix indentation in source code
Revision 1.294 / (download) - annotate - [select for diffs], Fri Oct 30 07:19:30 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.293: +3 -3
lines
Diff to previous 1.293 (colored) to selected 1.176.2.1 (colored)
make(1): rename VAR_CMD to VAR_CMDLINE Since make has to do with both the command line and child commands, the former name was confusing.
Revision 1.293 / (download) - annotate - [select for diffs], Mon Oct 26 23:28:52 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.292: +2 -5
lines
Diff to previous 1.292 (colored) to selected 1.176.2.1 (colored)
make(1): remove "Results: none" from the documentation of void functions
Revision 1.292 / (download) - annotate - [select for diffs], Mon Oct 26 23:19:17 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.291: +7 -7
lines
Diff to previous 1.291 (colored) to selected 1.176.2.1 (colored)
make(1): use proper enum constants for aborting, instead of 0
Revision 1.291 / (download) - annotate - [select for diffs], Mon Oct 26 22:51:56 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.290: +4 -4
lines
Diff to previous 1.290 (colored) to selected 1.176.2.1 (colored)
make(1): remove unnecessary double negation in Job_ParseShell
Revision 1.290 / (download) - annotate - [select for diffs], Mon Oct 26 21:34:10 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.289: +17 -17
lines
Diff to previous 1.289 (colored) to selected 1.176.2.1 (colored)
make(1): group the command line options and arguments By having a single struct that holds all command line options and arguments, it is easy to see in the code when such a command line argument is modified. It also cleans up the namespace since the command line options don't follow a common naming style. Having them in a struct also means that there is a single place for putting the documentation, not two as before. The struct also suggests to extract the initialization code out of main, which is still too large, having more than 400 lines of code and covering far too many topics.
Revision 1.289 / (download) - annotate - [select for diffs], Mon Oct 26 20:11:02 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.288: +5 -7
lines
Diff to previous 1.288 (colored) to selected 1.176.2.1 (colored)
make(1): fix comments in job.c
Revision 1.288 / (download) - annotate - [select for diffs], Sun Oct 25 22:05:00 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.287: +4 -4
lines
Diff to previous 1.287 (colored) to selected 1.176.2.1 (colored)
make(1): fix typos in job.c comments
Revision 1.287 / (download) - annotate - [select for diffs], Sun Oct 25 21:51:48 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.286: +8 -8
lines
Diff to previous 1.286 (colored) to selected 1.176.2.1 (colored)
make(1): add GNode_Path to access the path of a GNode
Revision 1.286 / (download) - annotate - [select for diffs], Sun Oct 25 21:34:52 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.285: +16 -8
lines
Diff to previous 1.285 (colored) to selected 1.176.2.1 (colored)
make(1): refactor JobDeleteTarget Splitting the many conditions into separate pieces makes the code more understandable.
Revision 1.285 / (download) - annotate - [select for diffs], Sun Oct 25 20:34:05 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.284: +6 -8
lines
Diff to previous 1.284 (colored) to selected 1.176.2.1 (colored)
make(1): inline macro STATIC It was a leftover from the remote code, which was removed on 2006-03-11.
Revision 1.284 / (download) - annotate - [select for diffs], Sun Oct 25 20:29:51 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.283: +9 -15
lines
Diff to previous 1.283 (colored) to selected 1.176.2.1 (colored)
make(1): convert result of JobStart from macros to enum Right now the result is not used by any code.
Revision 1.283 / (download) - annotate - [select for diffs], Sun Oct 25 20:24:25 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.282: +9 -6
lines
Diff to previous 1.282 (colored) to selected 1.176.2.1 (colored)
make(1): convert abort reason macros to enum
Revision 1.282 / (download) - annotate - [select for diffs], Sun Oct 25 20:19:06 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.281: +36 -34
lines
Diff to previous 1.281 (colored) to selected 1.176.2.1 (colored)
make(1): invert condition in Job_CheckCommands, reduce indentation
Revision 1.281 / (download) - annotate - [select for diffs], Sun Oct 25 20:15:56 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.280: +51 -50
lines
Diff to previous 1.280 (colored) to selected 1.176.2.1 (colored)
make(1): reduce indentation in Job_CheckCommands
Revision 1.280 / (download) - annotate - [select for diffs], Sun Oct 25 20:14:08 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.279: +10 -4
lines
Diff to previous 1.279 (colored) to selected 1.176.2.1 (colored)
make(1): split and invert complex condition in Job_CheckCommands
Revision 1.279 / (download) - annotate - [select for diffs], Sun Oct 25 20:09:28 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.278: +8 -8
lines
Diff to previous 1.278 (colored) to selected 1.176.2.1 (colored)
make(1): inline error message This saves a variable, and since bmake needs to adhere to C90, this variable declaration prevents refactoring the code.
Revision 1.278 / (download) - annotate - [select for diffs], Sun Oct 25 19:57:43 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.277: +11 -11
lines
Diff to previous 1.277 (colored) to selected 1.176.2.1 (colored)
make(1): clean up API comment in job.c
Revision 1.277 / (download) - annotate - [select for diffs], Fri Oct 23 18:36:09 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.276: +3 -3
lines
Diff to previous 1.276 (colored) to selected 1.176.2.1 (colored)
make(1): negate OP_NOP and rename it to GNode_IsTarget
Revision 1.276 / (download) - annotate - [select for diffs], Fri Oct 23 17:05:40 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.275: +50 -47
lines
Diff to previous 1.275 (colored) to selected 1.176.2.1 (colored)
make(1): rename Shell fields Some of them should have been in an anonymous union, or should just kept as separate fields. There is only a small, fixed number of shells, therefore it doesn't make sense to squeeze two completely separate meanings into a single field just because that field happens to have a fitting data type.
Revision 1.275 / (download) - annotate - [select for diffs], Fri Oct 23 16:45:34 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.274: +37 -34
lines
Diff to previous 1.274 (colored) to selected 1.176.2.1 (colored)
make(1): describe the Shell fields by topic Describing each field in isolation does not help to understand how these fields work together.
Revision 1.274 / (download) - annotate - [select for diffs], Fri Oct 23 16:00:23 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.273: +16 -7
lines
Diff to previous 1.273 (colored) to selected 1.176.2.1 (colored)
make(1): add field names in declaration of DEFSHELL_CUSTOM
Revision 1.273 / (download) - annotate - [select for diffs], Fri Oct 23 15:54:17 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.272: +5 -13
lines
Diff to previous 1.272 (colored) to selected 1.176.2.1 (colored)
make(1): remove unused null shell
Revision 1.272 / (download) - annotate - [select for diffs], Fri Oct 23 15:19:51 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.271: +56 -27
lines
Diff to previous 1.271 (colored) to selected 1.176.2.1 (colored)
make(1): decorate shell declarations with field names Without these names, the declarations were hard to read, even though they were already grouped into lines. This grouping was inconsistent though and the many string literals were hard to tell apart.
Revision 1.271 / (download) - annotate - [select for diffs], Fri Oct 23 07:14:32 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.270: +3 -3
lines
Diff to previous 1.270 (colored) to selected 1.176.2.1 (colored)
make(1): convert JobState and JobFlags to enum types Both GCC and Clang complained when JobFindPid had its parameter "status" as an int. Strangely both compilers complained about a comparison between unsigned and signed int, even though enums are defined to be int, not unsigned.
Revision 1.270 / (download) - annotate - [select for diffs], Fri Oct 23 05:27:33 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.269: +20 -23
lines
Diff to previous 1.269 (colored) to selected 1.176.2.1 (colored)
make(1): move handling of the "..." command to JobPrintCommands Over there, the current list node is known and thus doesn't need to be searched again.
Revision 1.269 / (download) - annotate - [select for diffs], Fri Oct 23 05:18:18 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.268: +22 -14
lines
Diff to previous 1.268 (colored) to selected 1.176.2.1 (colored)
make(1): remove void pointers from JobPrintCommand
Revision 1.268 / (download) - annotate - [select for diffs], Thu Oct 22 05:50:02 2020 UTC (3 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.267: +4 -4
lines
Diff to previous 1.267 (colored) to selected 1.176.2.1 (colored)
make(1): remove redundant type casts This mainly affects the void pointers in callback functions for lists. These had been necessary once when the parameter type was still ClientData instead of void pointer.
Revision 1.267 / (download) - annotate - [select for diffs], Mon Oct 19 23:43:55 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.266: +6 -6
lines
Diff to previous 1.266 (colored) to selected 1.176.2.1 (colored)
make(1): clean up headers, no functional change
Revision 1.266 / (download) - annotate - [select for diffs], Mon Oct 19 23:07:22 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.265: +63 -2
lines
Diff to previous 1.265 (colored) to selected 1.176.2.1 (colored)
make(1): move struct Shell from job.h to job.c This type is only needed in job.c.
Revision 1.265 / (download) - annotate - [select for diffs], Sun Oct 18 13:02:10 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.264: +3 -3
lines
Diff to previous 1.264 (colored) to selected 1.176.2.1 (colored)
make(1): rename Lst_Init to Lst_New For the other types such as HashTable and Buffer, the Init function does not allocate the memory for the structure itself, it only fills it.
Revision 1.264 / (download) - annotate - [select for diffs], Sun Oct 18 07:46:04 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.263: +20 -36
lines
Diff to previous 1.263 (colored) to selected 1.176.2.1 (colored)
make(1): replace execError with execDie All calls to this function were followed by _exit(1).
Revision 1.263 / (download) - annotate - [select for diffs], Sat Oct 17 21:32:30 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.262: +3 -3
lines
Diff to previous 1.262 (colored) to selected 1.176.2.1 (colored)
make(1): normalize initialization and cleanup of the modules
Revision 1.262 / (download) - annotate - [select for diffs], Tue Oct 6 16:39:23 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.261: +4 -14
lines
Diff to previous 1.261 (colored) to selected 1.176.2.1 (colored)
make(1): remove macro FILENO This macro was obviously wrong since it would have converted file numbers above 127 to very large numbers, close to 2^32. The fact that it didn't blow up at all is that this macro was only ever given the file descriptor 4 as an argument, which can well be represented as a char, be it signed or unsigned. And this is how the story goes: In Job_Init, two jobs are started. The server job allocates file descriptors 15 and above. The childExitJob is created next, and the pipe that it creates is [3, 4]. Using F_DUPFD, fd 3 is mapped to fd 5, and fd 3 is closed. After that, fd 4 is mapped to fd 3 (which had just been closed), and fd 4 is closed. After this initialization, file descriptors 0, 1, 2, 3 and 5 are taken. This leaves a gap at file descriptor 4, and this gap is filled whenever cmdFILE is created. Because of this particular order of events, the macro is not necessary. If it should ever become necessary on platforms like the old SunOS, the parameter minfd for JobCreatePipe should be increased to 5, which would leave the file descriptors 3 and 4 to be used by stdio streams. On 1995-11-03, when the macro was added, SunOS must have been in its very early development. In Solaris 8 (released in January 2000), FILE._file is already an unsigned char, therefore the seeming need for this macro must have been due to an older version, probably from the 2.x series of SunOS.
Revision 1.261 / (download) - annotate - [select for diffs], Mon Oct 5 21:37:07 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.260: +23 -23
lines
Diff to previous 1.260 (colored) to selected 1.176.2.1 (colored)
make(1): prepare job.c, main.c, parse.c, suff.c for WARNS=6 In job.c, GCC 5 complains about the macro FILENO that it has type unsigned int, which is then passed as the argument of dup2, which expects a simple int. Maybe this workaround from 1995 is not necessary anymore, or maybe it is but can be restricted to the few affected platforms. This leaves meta.c and the filemon files to be converted. I didn't do them since they are not well covered by the unit tests.
Revision 1.260 / (download) - annotate - [select for diffs], Mon Oct 5 19:27:47 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.259: +9 -17
lines
Diff to previous 1.259 (colored) to selected 1.176.2.1 (colored)
make(1): revert previous commit It had accidentally reverted all the work from the past few days.
Revision 1.259 / (download) - annotate - [select for diffs], Mon Oct 5 19:24:29 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.258: +17 -9
lines
Diff to previous 1.258 (colored) to selected 1.176.2.1 (colored)
make(1): fix double-free bug in -DCLEANUP mode (since 2020-10-02) The bug had been introduced with dir.c 1.155 on 2020-10-02 22:20:25. In that commit, openDirectories was replaced with a combination of a list with a hash table, for more efficient lookup by name. Upon cleanup, OpenDirs_Done is called, which in turn called Dir_ClearPath. Dir_ClearPath takes full ownership of the given list and empties it. This was no problem before since afterwards the list was empty and calling Lst_Free just frees the remaining list pointer. With OpenDirs, this list was combined with a hash table, and the hash table contains the list nodes, assuming that the OpenDirs functions have full ownership of both the list and the hash table. This assumption was generally correct, except for the one moment during cleanup where full ownership of the list was passed to Dir_ClearPath, while the hash table still contained pointers to the (now freed) list nodes. This by itself was not a problem since the hash table would be freed afterwards. But as part of Dir_ClearPath, OpenDirs_Remove was called, which looked up the freed directory by name and now found the freed list node, trying to free it again. Boom. Fixed by replacing the call to Dir_ClearPath with code that only frees the directories, without giving up control over the list.
Revision 1.258 / (download) - annotate - [select for diffs], Sun Oct 4 16:50:37 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.257: +4 -8
lines
Diff to previous 1.257 (colored) to selected 1.176.2.1 (colored)
make(1): remove dead code from JobOutput
Revision 1.257 / (download) - annotate - [select for diffs], Sat Oct 3 21:19:54 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.256: +4 -6
lines
Diff to previous 1.256 (colored) to selected 1.176.2.1 (colored)
make(1): use consistent pattern for parsing whitespace The pp and cpp in the function names stand for "parsing position" and "const parsing position".
Revision 1.256 / (download) - annotate - [select for diffs], Sat Oct 3 15:28:37 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.255: +3 -3
lines
Diff to previous 1.255 (colored) to selected 1.176.2.1 (colored)
make(1): fix shell definition for csh The bug has been there since at least 1993-03-21. This is strong evidence that nobody has ever used the csh in parallel mode.
Revision 1.255 / (download) - annotate - [select for diffs], Sat Oct 3 15:00:57 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.254: +4 -6
lines
Diff to previous 1.254 (colored) to selected 1.176.2.1 (colored)
make(1): inline Str_FindSubstring in JobOutput
Revision 1.254 / (download) - annotate - [select for diffs], Thu Oct 1 22:42:00 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.253: +2 -15
lines
Diff to previous 1.253 (colored) to selected 1.176.2.1 (colored)
make(1): remove redundant function prototypes
Revision 1.253 / (download) - annotate - [select for diffs], Mon Sep 28 23:31:18 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.252: +3 -3
lines
Diff to previous 1.252 (colored) to selected 1.176.2.1 (colored)
make(1): replace Lst_Open with direct iteration
Revision 1.252 / (download) - annotate - [select for diffs], Mon Sep 28 23:13:57 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.251: +5 -5
lines
Diff to previous 1.251 (colored) to selected 1.176.2.1 (colored)
make(1): replace += 1 with ++ and -= 1 with -- Just for visual consistency. The generated code stays exactly the same.
Revision 1.251 / (download) - annotate - [select for diffs], Mon Sep 28 22:23:35 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.250: +14 -16
lines
Diff to previous 1.250 (colored) to selected 1.176.2.1 (colored)
make(1): make debug logging simpler This avoids referring to the debug_file variable in many places where this implementation detail is not necessary.
Revision 1.250 / (download) - annotate - [select for diffs], Mon Sep 28 20:46:11 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.249: +21 -47
lines
Diff to previous 1.249 (colored) to selected 1.176.2.1 (colored)
make(1): make debugging code shorter
Revision 1.249 / (download) - annotate - [select for diffs], Mon Sep 28 00:06:36 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.248: +10 -6
lines
Diff to previous 1.248 (colored) to selected 1.176.2.1 (colored)
make(1): split Job.jobPipe into 2 separate fields Just because these file descriptors have to be in an array when they are created is not reason enough to keep this array and a few access macros in the Job struct. It's better to have separate fields, as they can be documented independently.
Revision 1.248 / (download) - annotate - [select for diffs], Sun Sep 27 23:56:25 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.247: +6 -6
lines
Diff to previous 1.247 (colored) to selected 1.176.2.1 (colored)
make(1): in JobCreatePipe, use descriptive field names
Revision 1.247 / (download) - annotate - [select for diffs], Sun Sep 27 23:52:02 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.246: +8 -8
lines
Diff to previous 1.246 (colored) to selected 1.176.2.1 (colored)
make(1): fix indentation in JobCreatePipe
Revision 1.246 / (download) - annotate - [select for diffs], Sun Sep 27 21:35:16 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.245: +113 -110
lines
Diff to previous 1.245 (colored) to selected 1.176.2.1 (colored)
make(1): normalize whitespace in source code There is no more space tab. Either only tabs or only spaces or tabs followed by spaces, but not spaces followed by tabs.
Revision 1.245 / (download) - annotate - [select for diffs], Sun Sep 27 19:13:46 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.244: +30 -30
lines
Diff to previous 1.244 (colored) to selected 1.176.2.1 (colored)
make(1): reduce line noise in Job_ParseShell The generated code is exactly the same.
Revision 1.244 / (download) - annotate - [select for diffs], Sun Sep 27 19:06:47 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.243: +38 -38
lines
Diff to previous 1.243 (colored) to selected 1.176.2.1 (colored)
make(1): fix indentation in Job_ParseShell
Revision 1.243 / (download) - annotate - [select for diffs], Sun Sep 27 11:14:03 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.242: +72 -311
lines
Diff to previous 1.242 (colored) to selected 1.176.2.1 (colored)
make(1): clean up comments in job.c and make.c
Revision 1.242 / (download) - annotate - [select for diffs], Sat Sep 26 17:39:45 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.241: +3 -3
lines
Diff to previous 1.241 (colored) to selected 1.176.2.1 (colored)
make(1): revert migration from Lst_ForEachUntil to Lst_ForEach There is a crucial difference between these functions, in that Lst_ForEachUntil can cope with a few concurrent modifications while iterating over the list. This is something that Lst_ForEach doesn't do. This difference led to a crash very early in NetBSD's build.sh.
Revision 1.241 / (download) - annotate - [select for diffs], Sat Sep 26 17:15:20 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.240: +5 -5
lines
Diff to previous 1.240 (colored) to selected 1.176.2.1 (colored)
make(1): inline and remove LstNode_Prev and LstNode_Next These functions made the code larger than necessary. The prev and next fields are published intentionally since navigating in a doubly-linked list is simple to do and there is no need to wrap this in a layer of function calls, not even syntactically. (On the execution level, the function calls had been inlined anyway.)
Revision 1.240 / (download) - annotate - [select for diffs], Sat Sep 26 16:55:58 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.239: +3 -3
lines
Diff to previous 1.239 (colored) to selected 1.176.2.1 (colored)
make(1): replace a few Lst_ForEachUntil with simpler Lst_ForEach
Revision 1.239 / (download) - annotate - [select for diffs], Sat Sep 26 16:00:12 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.238: +4 -5
lines
Diff to previous 1.238 (colored) to selected 1.176.2.1 (colored)
make(1): clean up API for finding and creating GNodes The previous API had complicated rules for the cases in which the single function returned NULL or what it did. The flags for that function were confusing since passing TARG_NOHASH would create a new node even though TARG_CREATE was not included in that bit mask. Splitting the function into 3 separate functions avoids this confusion. It also reveals several places where the complicated API led to unreachable code. Such code has been removed.
Revision 1.238 / (download) - annotate - [select for diffs], Fri Sep 25 06:20:44 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.237: +10 -7
lines
Diff to previous 1.237 (colored) to selected 1.176.2.1 (colored)
make(1): document details on why JobRun runs .END in compat mode
Revision 1.237 / (download) - annotate - [select for diffs], Thu Sep 24 07:11:29 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.236: +5 -5
lines
Diff to previous 1.236 (colored) to selected 1.176.2.1 (colored)
make(1): rename Lst_ForEach to Lst_ForEachUntil Since the callback function returns a terminating condition, this is not really a foreach loop. Many of the calls to Lst_ForEachUntil don't make use of the terminating condition, and several don't modify the list structurally, which means they don't need this complicated implementation. In a follow-up commit, Lst_ForEach will be added back with a much simpler implementation that iterates over the list naively, without a terminating condition and without taking the iteration state from Lst_Open/Lst_Next/Lst_Close into account. The migration to this simpler implementation will be done step by step since each callback function needs to be examined closely.
Revision 1.236 / (download) - annotate - [select for diffs], Wed Sep 23 07:30:12 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.235: +20 -36
lines
Diff to previous 1.235 (colored) to selected 1.176.2.1 (colored)
make(1): merge duplicate code for delayed commands
Revision 1.235 / (download) - annotate - [select for diffs], Wed Sep 23 03:06:38 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.234: +10 -25
lines
Diff to previous 1.234 (colored) to selected 1.176.2.1 (colored)
make(1): fix assertion failure in -j mode with .END node There had been two separate global variables for the .END node, and in parallel mode, only the one in jobs.c was initialized. The code in JobRun heads over to Compat_Make without calling Compat_Run first, which left the variable ENDNode uninitialized.
Revision 1.234 / (download) - annotate - [select for diffs], Tue Sep 22 20:19:46 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.233: +12 -7
lines
Diff to previous 1.233 (colored) to selected 1.176.2.1 (colored)
make(1): prepare Var_Subst for proper error handling Returning a VarParseResult instead of a string makes it possible to let the error bubble up, until it reaches the main expression.
Revision 1.233 / (download) - annotate - [select for diffs], Mon Sep 21 17:44:25 2020 UTC (3 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.232: +3 -3
lines
Diff to previous 1.232 (colored) to selected 1.176.2.1 (colored)
make(1): add specific typedefs for lists These typedefs are only intended to help human readers, they do not provide any type-safety. They also make the pointers explicit, which had been hidden before by the typedef for Lst and LstNode. Typing a few '*' is less work than finding out which of the many types are pointers and which aren't. In meta.c, the variable "ln" served two completely different purposes, which have been split again. Register allocation is the job of the compiler, not of the human source code reader.
Revision 1.232 / (download) - annotate - [select for diffs], Sun Sep 13 15:15:51 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.231: +5 -14
lines
Diff to previous 1.231 (colored) to selected 1.176.2.1 (colored)
make(1): clean up RCSID blocks These blocks mostly consisted of redundant structure, following the same #ifndef pattern over and over, with only minimal variation. It's easier to maintain if the common structure is only written once and encapsulated in a macro. To avoid "defined but unused" warnings from GCC in the case where MAKE_NATIVE is not defined, I had to add volatile. Adding MAKE_ATTR_UNUSED alone would not preserve the rcsid variable in the resulting binary.
Revision 1.231 / (download) - annotate - [select for diffs], Sat Sep 12 15:03:40 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.230: +4 -4
lines
Diff to previous 1.230 (colored) to selected 1.176.2.1 (colored)
make(1): fix name and prototype of Compat_RunCommand By convention, exported identifiers are written with underscore. The prototype of an exported function must not use void * just because it is used in Lst_ForEach. This is an implementation detail and must remain so.
Revision 1.230 / (download) - annotate - [select for diffs], Fri Sep 11 17:32:36 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.229: +5 -6
lines
Diff to previous 1.229 (colored) to selected 1.176.2.1 (colored)
make(1): add wrappers around ctype.h functions This avoids casting the argument to unsigned char, and to cast the result of toupper/tolower back to char.
Revision 1.229 / (download) - annotate - [select for diffs], Fri Sep 11 04:32:39 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.228: +8 -8
lines
Diff to previous 1.228 (colored) to selected 1.176.2.1 (colored)
make(1): replace *a->b with a->b[0] This allows the code to be read strictly from left to right. In most places this style was already used.
Revision 1.228 / (download) - annotate - [select for diffs], Mon Sep 7 05:32:12 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.227: +8 -31
lines
Diff to previous 1.227 (colored) to selected 1.176.2.1 (colored)
make(1): clean up comments in job.c
Revision 1.227 / (download) - annotate - [select for diffs], Sun Aug 30 19:56:02 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.226: +8 -4
lines
Diff to previous 1.226 (colored) to selected 1.176.2.1 (colored)
make(1): replace brk_string with Str_Words The API is much simpler, and there is less detail that is exposed by default and fewer punctuation to type on the caller's side. To see that there is some memory to be freed, one would have to look into the struct. Having part of the return value as the actual return value and the rest in output parameters was unnecessarily asymmetrical.
Revision 1.226 / (download) - annotate - [select for diffs], Sun Aug 30 13:53:02 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.225: +3 -5
lines
Diff to previous 1.225 (colored) to selected 1.176.2.1 (colored)
make(1): remove ineffective malloc_options variable According to jemalloc(3), the variable must be called _malloc_options, with a leading underscore, to have an effect. Renaming the variable indeed enables the option. There's not much point having this variable around though, since it neither detects a trivial double-free nor freeing an invalid pointer in the following code snippet: char *asdf = bmake_malloc(10); fprintf(stderr, "%c\n", *asdf); free(asdf + 8); free(asdf); free(asdf); exit(1); Instead, it just crashes with a segmentation fault.
Revision 1.225 / (download) - annotate - [select for diffs], Sun Aug 30 11:12:05 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.224: +4 -4
lines
Diff to previous 1.224 (colored) to selected 1.176.2.1 (colored)
make(1): rename Lst_Memeber to Lst_FindDatum The new name nicely aligns with Lst_Find and Lst_FindFrom.
Revision 1.224 / (download) - annotate - [select for diffs], Sat Aug 29 12:20:17 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.223: +12 -12
lines
Diff to previous 1.223 (colored) to selected 1.176.2.1 (colored)
make(1): remove ReturnStatus, SUCCESS and FAILURE These are used in so few places now that it is easier to use a simple Boolean for them.
Revision 1.223 / (download) - annotate - [select for diffs], Sat Aug 29 10:41:12 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.222: +4 -4
lines
Diff to previous 1.222 (colored) to selected 1.176.2.1 (colored)
make(1): rename LstNode functions to match their type
Revision 1.222 / (download) - annotate - [select for diffs], Sat Aug 29 10:35:03 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.221: +13 -39
lines
Diff to previous 1.221 (colored) to selected 1.176.2.1 (colored)
make(1): clean up indentation, comments and variable scope in job.c
Revision 1.221 / (download) - annotate - [select for diffs], Fri Aug 28 20:23:20 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.220: +5 -6
lines
Diff to previous 1.220 (colored) to selected 1.176.2.1 (colored)
make(1): remove unused variable not_parallel The variable malloc_options seems unused as well, but the manual page for jemalloc(3) mentions it.
Revision 1.220 / (download) - annotate - [select for diffs], Fri Aug 28 04:48:57 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.219: +16 -16
lines
Diff to previous 1.219 (colored) to selected 1.176.2.1 (colored)
make(1): remove trailing 'S' from names of Lst functions The migration from null-passing Lst functions to argument-checking Lst functions is completed. There were 2 surprises: The targets list may be NULL, and in Dir_AddDir, the path may be NULL. The latter case is especially surprising since that function turns into an almost-nop in that case. This is another case where probably 2 independent functions have been squeezed into a single function. This may be improved in a follow-up commit. All other lists were fine. They were always defined and thus didn't need much work.
Revision 1.219 / (download) - annotate - [select for diffs], Thu Aug 27 19:15:35 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.218: +8 -8
lines
Diff to previous 1.218 (colored) to selected 1.176.2.1 (colored)
make(1): migrate Lst_IsEmpty to Lst_IsEmptyS
Revision 1.218 / (download) - annotate - [select for diffs], Thu Aug 27 07:00:29 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.217: +4 -4
lines
Diff to previous 1.217 (colored) to selected 1.176.2.1 (colored)
make(1): migrate Lst_Succ to Lst_SuccS
Revision 1.217 / (download) - annotate - [select for diffs], Thu Aug 27 06:53:57 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.216: +5 -5
lines
Diff to previous 1.216 (colored) to selected 1.176.2.1 (colored)
make(1): migrate Lst_ForEach to Lst_ForEachS Most lists are always valid. Only the "targets" variable may be null in some cases, probably.
Revision 1.216 / (download) - annotate - [select for diffs], Thu Aug 27 06:31:46 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.215: +8 -8
lines
Diff to previous 1.215 (colored) to selected 1.176.2.1 (colored)
make(1): migrate Lst_ForEachFrom to Lst_ForEachFromS
Revision 1.215 / (download) - annotate - [select for diffs], Sun Aug 23 18:26:35 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.214: +5 -5
lines
Diff to previous 1.214 (colored) to selected 1.176.2.1 (colored)
make(1): make brk_string return size_t for the number of words
Revision 1.214 / (download) - annotate - [select for diffs], Sat Aug 22 21:42:38 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.213: +3 -7
lines
Diff to previous 1.213 (colored) to selected 1.176.2.1 (colored)
make(1): clean up headers Remove redundant headers that are already included by "make.h". Make <assert.h> available to all compilation units that use "make.h".
Revision 1.213 / (download) - annotate - [select for diffs], Sat Aug 22 19:30:58 2020 UTC (3 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.212: +4 -3
lines
Diff to previous 1.212 (colored) to selected 1.176.2.1 (colored)
Add .SHELL as read-only variable The .SHELL variable represents the shellPath used to run scripts. Reviewed by: rillig, christos
Revision 1.212 / (download) - annotate - [select for diffs], Sat Aug 22 15:43:32 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.211: +5 -5
lines
Diff to previous 1.211 (colored) to selected 1.176.2.1 (colored)
make(1): require argument of Lst_Member to be non-null Since the lists don't contain null pointers, it doesn't make sense to search for a null pointer. All calls but one already had obviously non-null arguments. The one remaining call using targ->suff has been guarded for now. The code for Lst_Member became much simpler than before. Partly because the old code had an extra condition for circular lists, which are not used by make.
Revision 1.211 / (download) - annotate - [select for diffs], Sat Aug 22 13:28:20 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.210: +4 -4
lines
Diff to previous 1.210 (colored) to selected 1.176.2.1 (colored)
make(1): convert remaining Lst_AtEnd to the stricter Lst_Append The general-purpose list library that is included in make allows to call Lst_AtEnd for invalid lists, silently ignoring this programming error. This is a flexibility that make doesn't need. Another unneeded "feature" is that list items can theoretically be null pointers. This doesn't make sense as well and is therefore not needed by make. These programming errors are now caught early by assertions.
Revision 1.210 / (download) - annotate - [select for diffs], Sat Aug 22 11:35:00 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.209: +4 -4
lines
Diff to previous 1.209 (colored) to selected 1.176.2.1 (colored)
make(1): replace "(void)Lst_AtEnd" with stricter "Lst_AppendS" This change ensures that there is actually something added to the list. Lst_AtEnd had silently skipped the addition if the list was invalid (null pointer), which was not intended in these cases. The "(void)" is assumed to mean "I know that this cannot fail", while it could also mean "I don't care whether something actually happened". Running "./build.sh -j6 tools" still succeeds after this change, therefore chances are very low that this change breaks anything. If there is any change, it's an obvious assertion failure. There is no silent change in behavior though.
Revision 1.209 / (download) - annotate - [select for diffs], Sat Aug 22 09:51:57 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.208: +5 -5
lines
Diff to previous 1.208 (colored) to selected 1.176.2.1 (colored)
make(1): fix constness of shellArgv This is needed to build with -DCLEANUP, which apparently nobody did for the last 17 years, or at least since -Werror was introduced.
Revision 1.208 / (download) - annotate - [select for diffs], Sat Aug 22 08:01:34 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.207: +3 -4
lines
Diff to previous 1.207 (colored) to selected 1.176.2.1 (colored)
make(1): remove form feeds in the code
Revision 1.207 / (download) - annotate - [select for diffs], Fri Aug 21 02:20:47 2020 UTC (3 years, 7 months ago) by rillig
Branch: MAIN
Changes since 1.206: +4 -4
lines
Diff to previous 1.206 (colored) to selected 1.176.2.1 (colored)
make(1): remove unused code for circular lists The list library had probably been imported from a general-purpose library that also supported circular lists. These are not used by make though. After replacing Lst_Init(FALSE) with Lst_Init(), only a single call to Lst_Init remained with a non-constant argument, and that was in Lst_Concat, which was to be expected.
Revision 1.206 / (download) - annotate - [select for diffs], Mon Aug 10 19:53:19 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.205: +4 -4
lines
Diff to previous 1.205 (colored) to selected 1.176.2.1 (colored)
make(1): replace str_concat with str_concat2 and str_concat3 The new functions have a simpler interface, and str_concat3 is even more general-purpose, since the middle string is no longer required to be exactly of length 1.
Revision 1.205 / (download) - annotate - [select for diffs], Sat Aug 1 14:47:49 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.204: +8 -8
lines
Diff to previous 1.204 (colored) to selected 1.176.2.1 (colored)
make(1): use consistent indentation in source code Tabs for multiples of 8, then spaces. The usage string has been kept as-is since the spaces there are indentional and do influence the output.
Revision 1.204 / (download) - annotate - [select for diffs], Sat Aug 1 09:55:00 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.203: +4 -4
lines
Diff to previous 1.203 (colored) to selected 1.176.2.1 (colored)
make(1): avoid calls to free(3) in the common case of a NULL pointer
Revision 1.203 / (download) - annotate - [select for diffs], Tue Jul 28 16:42:22 2020 UTC (3 years, 8 months ago) by rillig
Branch: MAIN
Changes since 1.202: +6 -6
lines
Diff to previous 1.202 (colored) to selected 1.176.2.1 (colored)
make(1): remove dead code from Var_Subst The first parameter from Var_Subst had been a literal NULL in all cases. These have been fixed using this command: sed -i 's|Var_Subst(NULL, |Var_Subst(|' *.c The one remaining case was not found because the "NULL," was followed by a line break instead of a space. The removed code probably wouldn't have worked as expected anyway. Expanding a single variable to a literal string would have led to unexpected behavior for cases like ${VAR:M${pattern}}, in case pattern would contain an unescaped ':' itself.
Revision 1.202 / (download) - annotate - [select for diffs], Sun Jul 19 12:26:17 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.201: +6 -6
lines
Diff to previous 1.201 (colored) to selected 1.176.2.1 (colored)
make(1): rename Varf_Flags to VarEvalFlags In var.c there are lots of different flag types. To make any accidental mixture obvious, each flag group gets its own prefix. The only flag group that is visible outside of var.c is concerned with evaluating variables, therefore the "e", which replaces the former "f" that probably just meant "flag".
Revision 1.201 / (download) - annotate - [select for diffs], Fri Jul 3 08:13:23 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.200: +19 -19
lines
Diff to previous 1.200 (colored) to selected 1.176.2.1 (colored)
make(1): remove trailing whitespace
Revision 1.200 / (download) - annotate - [select for diffs], Fri Jul 3 08:02:55 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.199: +11 -11
lines
Diff to previous 1.199 (colored) to selected 1.176.2.1 (colored)
make(1): remove redundant parentheses around return values
Revision 1.199 / (download) - annotate - [select for diffs], Thu Jul 2 15:47:38 2020 UTC (3 years, 9 months ago) by rillig
Branch: MAIN
Changes since 1.198: +7 -7
lines
Diff to previous 1.198 (colored) to selected 1.176.2.1 (colored)
make(1): remove useless parameter from Var_Set The enum corresponding to this int parameter is only defined in var.c, which makes it impractical for the outside to set this parameter to anything but 0. On x86_64, this reduces the size of the resulting executable by 5 kB.
Revision 1.198 / (download) - annotate - [select for diffs], Fri Jun 19 21:17:48 2020 UTC (3 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.197: +10 -7
lines
Diff to previous 1.197 (colored) to selected 1.176.2.1 (colored)
Avoid unnecessary noise when sub-make or sibling dies When analyzing a build log, the first 'stopped' output from make, is the end of interesting output. Normally when a build fails deep down in a parallel build the log ends with many blockes of error output from make, with all but the fist being unhelpful. We add a function dieQuietly() which will return true if we should supress the error output from make. If the failing node was a sub-make, we want to die quietly. Also when we read an abort token we call dieQuietly telling we want to die quietly. This behavior is suppressed by -dj or setting .MAKE.DIE_QUIETLY=no Reviewed by: christos
Revision 1.195.2.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:16 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.195: +65 -7
lines
Diff to previous 1.195 (colored) next main 1.196 (colored) to selected 1.176.2.1 (colored)
Merge changes from current as of 20200406
Revision 1.197 / (download) - annotate - [select for diffs], Thu Feb 6 01:13:19 2020 UTC (4 years, 2 months ago) by sjg
Branch: MAIN
CVS Tags: phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406,
is-mlppp-base,
is-mlppp
Changes since 1.196: +8 -8
lines
Diff to previous 1.196 (colored) to selected 1.176.2.1 (colored)
Fix meta_compat mode. We need to call meta_job_output() from meta_compat_parent() Also, the need for extra fds for meta mode only applies when using filemon_ktrace.c. Since we hope to see more interfaces like that, test for USE_FILEMON_DEV being not defined. Reviewed by: riastradh
Revision 1.196 / (download) - annotate - [select for diffs], Sun Jan 19 19:42:32 2020 UTC (4 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.195: +65 -7
lines
Diff to previous 1.195 (colored) to selected 1.176.2.1 (colored)
Reimplement make(1) meta mode without filemon(4).
Revision 1.192.2.1 / (download) - annotate - [select for diffs], Mon May 21 04:36:18 2018 UTC (5 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.192: +3 -4
lines
Diff to previous 1.192 (colored) next main 1.193 (colored) to selected 1.176.2.1 (colored)
Sync with HEAD
Revision 1.195 / (download) - annotate - [select for diffs], Sun May 13 22:13:28 2018 UTC (5 years, 11 months ago) by sjg
Branch: MAIN
CVS Tags: phil-wifi-base,
phil-wifi-20191119,
phil-wifi-20190609,
pgoyette-compat-20190127,
pgoyette-compat-20190118,
pgoyette-compat-1226,
pgoyette-compat-1126,
pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906,
pgoyette-compat-0728,
pgoyette-compat-0625,
pgoyette-compat-0521,
netbsd-9-base,
netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1,
netbsd-9
Branch point for: phil-wifi
Changes since 1.194: +3 -4
lines
Diff to previous 1.194 (colored) to selected 1.176.2.1 (colored)
Just skip polling job token pipe. The sigchld pipe ensures no busy wait. PR: 53285 Reviewed by:
Revision 1.194 / (download) - annotate - [select for diffs], Sun May 13 12:10:36 2018 UTC (5 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.193: +3 -4
lines
Diff to previous 1.193 (colored) to selected 1.176.2.1 (colored)
PR/53285: Andreas Gustafsson: Build times tripled with make/job.c 1.193 Revert previous: 2018.05.12.15.14.49/bracket.db:build_wall_time=4896.09 2018.05.12.18.17.04/bracket.db:build_wall_time=16268.98
Revision 1.193 / (download) - annotate - [select for diffs], Sat May 12 18:17:04 2018 UTC (5 years, 11 months ago) by sjg
Branch: MAIN
Changes since 1.192: +7 -6
lines
Diff to previous 1.192 (colored) to selected 1.176.2.1 (colored)
Skip setting wantToken. polling the job token pipe adds a lot of overhead for little gain. For now, just leave wantToken=0 And avoid busy waiting when no tokens are available and no jobs are running. Reviewed by: christos
Revision 1.192 / (download) - annotate - [select for diffs], Thu Feb 8 09:05:21 2018 UTC (6 years, 2 months ago) by dholland
Branch: MAIN
CVS Tags: pgoyette-compat-base,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.191: +4 -4
lines
Diff to previous 1.191 (colored) to selected 1.176.2.1 (colored)
Typos.
Revision 1.191 / (download) - annotate - [select for diffs], Thu Jul 20 19:29:54 2017 UTC (6 years, 9 months ago) by sjg
Branch: MAIN
Changes since 1.190: +3 -8
lines
Diff to previous 1.190 (colored) to selected 1.176.2.1 (colored)
Make compat.c handle SIGINT etc more like job.c If there is a running child, pass the signal on, and wait for it to exit before we self-terminate. Reviewed by: christos
Revision 1.187.2.1 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:35 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.187: +35 -13
lines
Diff to previous 1.187 (colored) next main 1.188 (colored) to selected 1.176.2.1 (colored)
Sync with HEAD
Revision 1.188.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:14 2017 UTC (7 years ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.188: +35 -13
lines
Diff to previous 1.188 (colored) next main 1.189 (colored) to selected 1.176.2.1 (colored)
Sync with HEAD
Revision 1.190 / (download) - annotate - [select for diffs], Sun Apr 16 21:23:43 2017 UTC (7 years ago) by riastradh
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-20170426,
perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
netbsd-8-base,
netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1,
netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1,
netbsd-8,
matt-nb8-mediatek-base,
matt-nb8-mediatek,
bouyer-socketcan-base1
Changes since 1.189: +4 -3
lines
Diff to previous 1.189 (colored) to selected 1.176.2.1 (colored)
Plug memory leak in JobPrintCommand. CID 978366
Revision 1.189 / (download) - annotate - [select for diffs], Sun Apr 16 20:57:14 2017 UTC (7 years ago) by riastradh
Branch: MAIN
Changes since 1.188: +34 -13
lines
Diff to previous 1.188 (colored) to selected 1.176.2.1 (colored)
Check fcntl return values out of paranoia. CID 975277 CID 975278
Revision 1.188 / (download) - annotate - [select for diffs], Fri Aug 26 23:28:39 2016 UTC (7 years, 7 months ago) by dholland
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320,
pgoyette-localcount-20170107,
pgoyette-localcount-20161104,
localcount-20160914,
bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.187: +25 -9
lines
Diff to previous 1.187 (colored) to selected 1.176.2.1 (colored)
Add a .DELETE_ON_ERROR: magic target that causes *failed* targets as well as *interrupted* targets to be deleted. The name and behavior of the variable matches gmake. Also fix a glitch in newline output on error in compat mode that I discovered while doing it. Closes PR 51376.
Revision 1.187 / (download) - annotate - [select for diffs], Thu May 12 20:28:34 2016 UTC (7 years, 11 months ago) by sjg
Branch: MAIN
CVS Tags: pgoyette-localcount-base,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726
Branch point for: pgoyette-localcount
Changes since 1.186: +8 -4
lines
Diff to previous 1.186 (colored) to selected 1.176.2.1 (colored)
Propagate errors from filemon. If we encounter errors producing a .meta file, we should not consider the target completed successfully.
Revision 1.186 / (download) - annotate - [select for diffs], Thu Feb 18 18:29:14 2016 UTC (8 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.185: +6 -6
lines
Diff to previous 1.185 (colored) to selected 1.176.2.1 (colored)
Collapse the 3 boolean parameter to 1 flags parameter. No functional change.
Revision 1.185 / (download) - annotate - [select for diffs], Sun Jan 17 17:45:21 2016 UTC (8 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.184: +7 -11
lines
Diff to previous 1.184 (colored) to selected 1.176.2.1 (colored)
remove free NULL checks (Tilman Sauerbeck)
Revision 1.184 / (download) - annotate - [select for diffs], Sun Jan 17 15:32:38 2016 UTC (8 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.183: +3 -4
lines
Diff to previous 1.183 (colored) to selected 1.176.2.1 (colored)
provide missing FD_CLOEXEC for the havenots.
Revision 1.183 / (download) - annotate - [select for diffs], Sun Jan 17 15:30:23 2016 UTC (8 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.182: +8 -8
lines
Diff to previous 1.182 (colored) to selected 1.176.2.1 (colored)
Use FD_CLOEXEC (Tilman Sauerbeck)
Revision 1.182 / (download) - annotate - [select for diffs], Sat Jan 9 00:55:17 2016 UTC (8 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.181: +6 -6
lines
Diff to previous 1.181 (colored) to selected 1.176.2.1 (colored)
Preserve $$ in := assignments.. FOO=\$$CRAP BAR:=${FOO} all: echo ${FOO} echo ${BAR}
Revision 1.181 / (download) - annotate - [select for diffs], Sun Oct 11 04:51:24 2015 UTC (8 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.180: +7 -6
lines
Diff to previous 1.180 (colored) to selected 1.176.2.1 (colored)
Add Boolean wantit to Var_Parse and Var_Subst wantit will be FALSE when we are just consuming to discard in which case we skip "expensive" things like Cmd_Exec. Reviewed by: christos
Revision 1.180 / (download) - annotate - [select for diffs], Thu Apr 16 13:31:03 2015 UTC (9 years ago) by joerg
Branch: MAIN
Changes since 1.179: +15 -7
lines
Diff to previous 1.179 (colored) to selected 1.176.2.1 (colored)
Explain what max is and handle i reaching it again.
Revision 1.179 / (download) - annotate - [select for diffs], Thu Apr 16 11:39:23 2015 UTC (9 years ago) by joerg
Branch: MAIN
Changes since 1.178: +7 -15
lines
Diff to previous 1.178 (colored) to selected 1.176.2.1 (colored)
Don't use memcpy for overlapping ranges. Simplify, memmove is good enough to skip empty ranges.
Revision 1.178 / (download) - annotate - [select for diffs], Thu Apr 9 18:21:01 2015 UTC (9 years ago) by sjg
Branch: MAIN
Changes since 1.177: +4 -4
lines
Diff to previous 1.177 (colored) to selected 1.176.2.1 (colored)
jobs mode handles '-' very differently to compat mode, but this is not reflected in make.1 Also fix handling to match the behavior described in the comment of JobPrintCommand (only matters if shell sets hasErrCtl). A better long term solution is needed since the current behavior is sub-optimal wrt '-' and different from all other makes. Reviewed by: christos
Revision 1.163.2.3 / (download) - annotate - [select for diffs], Wed Aug 20 00:05:00 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.163.2.2: +24 -2
lines
Diff to previous 1.163.2.2 (colored) to branchpoint 1.163 (colored) next main 1.164 (colored) to selected 1.176.2.1 (colored)
Rebase to HEAD as of a few days ago.
Revision 1.176.2.1 / (download) - annotate - [selected], Sun Aug 10 06:58:27 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.176: +4 -4
lines
Diff to previous 1.176 (colored) next main 1.177 (colored)
Rebase.
Revision 1.177 / (download) - annotate - [select for diffs], Wed Jul 16 15:33:41 2014 UTC (9 years, 9 months ago) by christos
Branch: MAIN
CVS Tags: tls-maxphys-base,
tls-earlyentropy-base,
netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-nhusb,
netbsd-7-base,
netbsd-7-2-RELEASE,
netbsd-7-1-RELEASE,
netbsd-7-1-RC2,
netbsd-7-1-RC1,
netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE,
netbsd-7-1,
netbsd-7-0-RELEASE,
netbsd-7-0-RC3,
netbsd-7-0-RC2,
netbsd-7-0-RC1,
netbsd-7-0-2-RELEASE,
netbsd-7-0-1-RELEASE,
netbsd-7-0,
netbsd-7
Changes since 1.176: +4 -4
lines
Diff to previous 1.176 (colored) to selected 1.176.2.1 (colored)
PR/48367: David A. Holland: Mark possible submake nodes so that we can avoid closing the job pipe on exec for them in order to make recursive makes work in parallel.
Revision 1.160.2.3 / (download) - annotate - [select for diffs], Thu May 22 11:42:45 2014 UTC (9 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.160.2.2: +120 -58
lines
Diff to previous 1.160.2.2 (colored) to branchpoint 1.160 (colored) next main 1.161 (colored) to selected 1.176.2.1 (colored)
sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
Revision 1.176 / (download) - annotate - [select for diffs], Sun Aug 4 16:48:15 2013 UTC (10 years, 8 months ago) by sjg
Branch: MAIN
CVS Tags: yamt-pagecache-base9,
riastradh-xf86-video-intel-2-7-1-pre-2-21-15,
riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.175: +4 -3
lines
Diff to previous 1.175 (colored) to selected 1.176.2.1 (colored)
Move the call to Job_SetPrefix() to Job_Init() so that makefiles have had a chance to set .MAKE.JOB.PREFIX
Revision 1.175 / (download) - annotate - [select for diffs], Tue Jul 30 19:09:57 2013 UTC (10 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.174: +4 -4
lines
Diff to previous 1.174 (colored) to selected 1.176.2.1 (colored)
Allow an empty .MAKE.JOB.PREFIX to supress output of --- job --- tokens
Revision 1.174 / (download) - annotate - [select for diffs], Fri Jul 5 22:14:56 2013 UTC (10 years, 9 months ago) by sjg
Branch: MAIN
CVS Tags: riastradh-drm2-base2,
riastradh-drm2-base1,
riastradh-drm2-base,
riastradh-drm2
Changes since 1.173: +24 -3
lines
Diff to previous 1.173 (colored) to selected 1.176.2.1 (colored)
If commandShell hasErrCtl is true, set shellErrFlag for use by CompatRunCommand() so that behavior in jobs and compat mode remains consistent.
Revision 1.163.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:29:00 2013 UTC (10 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.163.2.1: +53 -25
lines
Diff to previous 1.163.2.1 (colored) to branchpoint 1.163 (colored) to selected 1.176.2.1 (colored)
resync from head
Revision 1.173 / (download) - annotate - [select for diffs], Wed Jun 5 03:59:43 2013 UTC (10 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.172: +14 -12
lines
Diff to previous 1.172 (colored) to selected 1.176.2.1 (colored)
JobCreatePipe: do fcntl() *after* any fiddling of fd's to avoid leaking descriptors. Job_ServerStart: set closed on exec for jp_0 and jp_1.
Revision 1.172 / (download) - annotate - [select for diffs], Tue Mar 5 22:01:43 2013 UTC (11 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: agc-symver-base,
agc-symver
Changes since 1.171: +40 -16
lines
Diff to previous 1.171 (colored) to selected 1.176.2.1 (colored)
Add a .STALE special target that gets invoked when dependency files contain stail entries.
Revision 1.171 / (download) - annotate - [select for diffs], Tue Mar 5 02:04:10 2013 UTC (11 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.170: +5 -5
lines
Diff to previous 1.170 (colored) to selected 1.176.2.1 (colored)
Keep track of the location where a dependency is defined, so we can report about it.
Revision 1.170 / (download) - annotate - [select for diffs], Tue Feb 26 00:45:27 2013 UTC (11 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.169: +5 -3
lines
Diff to previous 1.169 (colored) to selected 1.176.2.1 (colored)
PR/45042: Thomas Cort: HAVE_foo for setrlimit(2) and setpgid(2)
Revision 1.163.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:30:36 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.163: +47 -35
lines
Diff to previous 1.163 (colored) to selected 1.176.2.1 (colored)
resync with head
Revision 1.169 / (download) - annotate - [select for diffs], Wed Feb 6 16:36:01 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: dholland-make-base
Changes since 1.168: +35 -22
lines
Diff to previous 1.168 (colored) to selected 1.176.2.1 (colored)
fix broken logic: - poll can return EINTR, it is not restartable like read/write - check poll return - it does not make sense to check readyfd() is nready < 0 - check read return - always call Job_CatchChildren, it is harmless - short circuit scanning of the poll array if we got all the ready descriptors
Revision 1.168 / (download) - annotate - [select for diffs], Sat Feb 2 15:24:08 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.167: +5 -5
lines
Diff to previous 1.167 (colored) to selected 1.176.2.1 (colored)
tools build is non-c-99
Revision 1.167 / (download) - annotate - [select for diffs], Sat Feb 2 15:12:25 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.166: +5 -5
lines
Diff to previous 1.166 (colored) to selected 1.176.2.1 (colored)
avoid the long shadow of i
Revision 1.166 / (download) - annotate - [select for diffs], Sat Feb 2 15:11:48 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.165: +5 -4
lines
Diff to previous 1.165 (colored) to selected 1.176.2.1 (colored)
Don't wait forever for output from a child job.
Revision 1.165 / (download) - annotate - [select for diffs], Sat Jan 26 15:52:59 2013 UTC (11 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.164: +18 -10
lines
Diff to previous 1.164 (colored) to selected 1.176.2.1 (colored)
Check read and write errors to avoid warnings from linux. XXX: Should we print an error and exit instead?
Revision 1.164 / (download) - annotate - [select for diffs], Fri Jan 25 02:01:10 2013 UTC (11 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.163: +3 -13
lines
Diff to previous 1.163 (colored) to selected 1.176.2.1 (colored)
Remove Check_Cwd - it is no longer needed.
Revision 1.160.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 19:00:21 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.160.2.1: +15 -9
lines
Diff to previous 1.160.2.1 (colored) to branchpoint 1.160 (colored) to selected 1.176.2.1 (colored)
sync with head
Revision 1.163 / (download) - annotate - [select for diffs], Tue Jul 3 21:03:40 2012 UTC (11 years, 9 months ago) by sjg
Branch: MAIN
CVS Tags: yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.162: +10 -4
lines
Diff to previous 1.162 (colored) to selected 1.176.2.1 (colored)
An X!= command, can cause Shell_Init() to be called before Job_ParseShell(). Job_ParseShell() should call Shell_Init() again if needed to ensure shellPath is correct.
Revision 1.162 / (download) - annotate - [select for diffs], Tue Jun 12 19:21:50 2012 UTC (11 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.161: +8 -8
lines
Diff to previous 1.161 (colored) to selected 1.176.2.1 (colored)
Replace __dead, __unused and the various printf format attributes with versions prefixed by MAKE_ATTR_* to avoid modifying the implementation namespace. Make sure they are available in all places using nonints.h to fix bootstrap on Linux.
Revision 1.160.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:09:35 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.160: +4 -4
lines
Diff to previous 1.160 (colored) to selected 1.176.2.1 (colored)
sync with head
Revision 1.161 / (download) - annotate - [select for diffs], Sat Apr 7 18:29:08 2012 UTC (12 years ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base5,
yamt-pagecache-base4
Changes since 1.160: +4 -4
lines
Diff to previous 1.160 (colored) to selected 1.176.2.1 (colored)
Remove recheck hackery that caused extra stats, and explicitly ask for recheck when needed. Before it used to be the case that we could only use the cached entry once. Once the cached entry was used, we removed it from the cache. Now it is kept forever.
Revision 1.160 / (download) - annotate - [select for diffs], Fri Sep 16 15:38:03 2011 UTC (12 years, 7 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
netbsd-6-base,
netbsd-6-1-RELEASE,
netbsd-6-1-RC4,
netbsd-6-1-RC3,
netbsd-6-1-RC2,
netbsd-6-1-RC1,
netbsd-6-1-5-RELEASE,
netbsd-6-1-4-RELEASE,
netbsd-6-1-3-RELEASE,
netbsd-6-1-2-RELEASE,
netbsd-6-1-1-RELEASE,
netbsd-6-1,
netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-6-RELEASE,
netbsd-6-0-5-RELEASE,
netbsd-6-0-4-RELEASE,
netbsd-6-0-3-RELEASE,
netbsd-6-0-2-RELEASE,
netbsd-6-0-1-RELEASE,
netbsd-6-0,
netbsd-6,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus
Branch point for: yamt-pagecache
Changes since 1.159: +6 -6
lines
Diff to previous 1.159 (colored) to selected 1.176.2.1 (colored)
Use __dead consistently. If it doesn't exist, define it away.
Revision 1.159 / (download) - annotate - [select for diffs], Sun Aug 28 03:54:07 2011 UTC (12 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.158: +6 -3
lines
Diff to previous 1.158 (colored) to selected 1.176.2.1 (colored)
In meta mode, we create .meta files for most targets. These capture all the interesting data - useful for debugging. In such cases there is no need to replicate commands in the build log. Rather than run the entire build .SILENT, allow meta mode to set that flag per target iff a .meta file is created. Normal behavior is retained for targets where no .meta file is created, ensuring that no build data is lost.
Revision 1.158 / (download) - annotate - [select for diffs], Sun Aug 14 13:06:09 2011 UTC (12 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.157: +6 -18
lines
Diff to previous 1.157 (colored) to selected 1.176.2.1 (colored)
- remove gcc-4.5 warnings - simplify job printing code - document non-literal format strings
Revision 1.157 / (download) - annotate - [select for diffs], Mon Aug 1 02:13:21 2011 UTC (12 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.156: +5 -4
lines
Diff to previous 1.156 (colored) to selected 1.176.2.1 (colored)
Don't attempt to touch special targets; make -t would create .END in every directory.
Revision 1.156 / (download) - annotate - [select for diffs], Thu Mar 31 06:28:42 2011 UTC (13 years ago) by sjg
Branch: MAIN
CVS Tags: cherry-xenmp-base,
cherry-xenmp
Changes since 1.155: +9 -9
lines
Diff to previous 1.155 (colored) to selected 1.176.2.1 (colored)
We must now call meta_job_finish() after meta_job_error() so that .ERROR_META_FILE is captured.
Revision 1.141.2.1 / (download) - annotate - [select for diffs], Sun Nov 21 18:45:00 2010 UTC (13 years, 5 months ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE,
netbsd-5-2-RC1,
netbsd-5-2-3-RELEASE,
netbsd-5-2-2-RELEASE,
netbsd-5-2-1-RELEASE,
netbsd-5-2,
matt-nb5-pq3-base,
matt-nb5-pq3
Changes since 1.141: +8 -7
lines
Diff to previous 1.141 (colored) next main 1.142 (colored) to selected 1.176.2.1 (colored)
Pull up following revision(s) (requested by dholland in ticket #1433): usr.bin/make/job.c: revision 1.152 PR/43643: David A. Holland: dash prefix broken with make -j As the comment says in JobPrintJob set JOB_IGNERR with - commands. Fix whitespace so that the output is consistent, although there are two separate execution logic implementations (command.c, job.c)
Revision 1.155 / (download) - annotate - [select for diffs], Mon Sep 13 15:36:57 2010 UTC (13 years, 7 months ago) by sjg
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2
Changes since 1.154: +29 -3
lines
Diff to previous 1.154 (colored) to selected 1.176.2.1 (colored)
Add meta.c which implements "meta" mode for make. In this mode, a .meta file is created for each target, capturing the expanded commands used, any command output, and if filemon(9) is available, a record of system calls which are of interest. Not enabled unless USE_META=yes is set when building make. Also, if FILEMON_H exists, meta.c will be compiled to use filemon(9).
Revision 1.154 / (download) - annotate - [select for diffs], Sat Aug 7 21:28:40 2010 UTC (13 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.153: +4 -3
lines
Diff to previous 1.153 (colored) to selected 1.176.2.1 (colored)
In jobs mode, if we cannot make a target we die without any further clue. Call PrintOnError() before DieHorribly().
Revision 1.153 / (download) - annotate - [select for diffs], Sat Aug 7 06:44:08 2010 UTC (13 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.152: +52 -34
lines
Diff to previous 1.152 (colored) to selected 1.176.2.1 (colored)
wait[pid]() is called in several places. If we encounter an error and run the .ERROR target, we may reap a pid which jobs is waiting for. Ensure that we cleanup so that make isn't left waiting for an already deceased child.
Revision 1.124.2.1 / (download) - annotate - [select for diffs], Wed Aug 4 11:04:59 2010 UTC (13 years, 8 months ago) by bouyer
Branch: netbsd-4
Changes since 1.124: +8 -7
lines
Diff to previous 1.124 (colored) next main 1.125 (colored) to selected 1.176.2.1 (colored)
Pull up following revision(s) (requested by dholland in ticket #1401): usr.bin/make/job.c: revision 1.152 via patch PR/43643: David A. Holland: dash prefix broken with make -j As the comment says in JobPrintJob set JOB_IGNERR with - commands. Fix whitespace so that the output is consistent, although there are two separate execution logic implementations (command.c, job.c)
Revision 1.152 / (download) - annotate - [select for diffs], Tue Jul 20 16:39:27 2010 UTC (13 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.151: +8 -7
lines
Diff to previous 1.151 (colored) to selected 1.176.2.1 (colored)
PR/43643: David A. Holland: dash prefix broken with make -j As the comment says in JobPrintJob set JOB_IGNERR with - commands. Fix whitespace so that the output is consistent, although there are two separate execution logic implementations (command.c, job.c)
Revision 1.151 / (download) - annotate - [select for diffs], Thu Jun 17 03:36:05 2010 UTC (13 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.150: +7 -4
lines
Diff to previous 1.150 (colored) to selected 1.176.2.1 (colored)
JobFinish: call PrintOnError if we detected an error we are not ignoring. This gives the .ERROR target a chance to run at the first sign of trouble.
Revision 1.150 / (download) - annotate - [select for diffs], Thu Jun 3 15:40:15 2010 UTC (13 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.149: +8 -8
lines
Diff to previous 1.149 (colored) to selected 1.176.2.1 (colored)
We have required sigaction() for quite a while. Use bmake_signal() - a wrapper around sigaction() rather than signal() to ensure that signals are handled consistently.
Revision 1.149 / (download) - annotate - [select for diffs], Fri Apr 23 00:18:50 2010 UTC (14 years ago) by sjg
Branch: MAIN
Changes since 1.148: +4 -4
lines
Diff to previous 1.148 (colored) to selected 1.176.2.1 (colored)
On darwin at least, vfork() fails in child of vfork(). It probably shouldn't work anyway, so avoid this. We use the macro vFork() - a function seems to cause problems and is unnecessary overhead.
Revision 1.148 / (download) - annotate - [select for diffs], Thu Apr 22 19:11:17 2010 UTC (14 years ago) by sjg
Branch: MAIN
Changes since 1.147: +4 -24
lines
Diff to previous 1.147 (colored) to selected 1.176.2.1 (colored)
Just because $TMPDIR is set does not mean it is valid. Add a central function for creating temp files so we have one place to audit. Reviewed by: dh
Revision 1.147 / (download) - annotate - [select for diffs], Wed Apr 7 00:11:27 2010 UTC (14 years ago) by sjg
Branch: MAIN
Changes since 1.146: +7 -7
lines
Diff to previous 1.146 (colored) to selected 1.176.2.1 (colored)
Add: .error "message" .warning "message" based on FreeBSD implementation. add .info while were at it. .ERROR: a target to run on error. We pass the failing GNode to PrintOnError so it can set .ERROR_TARGET. .MAKE.MAKEFILE_PREFERENCE As a means to control make's list of prefered makefile names. (Default: "makefile Makefile") .MAKE.DEPENDFILE Names the file to read dependencies from (Default ".depend") .MAKE.MODE Processed after all makefiles are read. Can put make into "compat" mode (more to come). Fix: compat.c: Error code should not be sent to debug_file. Make_DoAllVar: use DONE_ALLSRC to avoid processing a node multiple times. ReadMakefile: we can simply use doing_depend to control setting MAKEFILE.
Revision 1.146 / (download) - annotate - [select for diffs], Fri Jun 26 01:26:32 2009 UTC (14 years, 9 months ago) by sjg
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.145: +6 -5
lines
Diff to previous 1.145 (colored) to selected 1.176.2.1 (colored)
JobExec: child of vfork must not empty the sigset_t that parent will restore. Use a separate mask.
Revision 1.144.2.1 / (download) - annotate - [select for diffs], Wed May 13 19:19:56 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.144: +27 -8
lines
Diff to previous 1.144 (colored) next main 1.145 (colored) to selected 1.176.2.1 (colored)
Sync with HEAD. Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
Revision 1.145 / (download) - annotate - [select for diffs], Sat Apr 11 09:41:18 2009 UTC (15 years ago) by apb
Branch: MAIN
CVS Tags: jym-xensuspend-nbase,
jym-xensuspend-base
Changes since 1.144: +27 -8
lines
Diff to previous 1.144 (colored) to selected 1.176.2.1 (colored)
Honour the TMPDIR environment variable instead of always using /tmp as a place to store temporary files.
Revision 1.144 / (download) - annotate - [select for diffs], Fri Jan 23 21:26:30 2009 UTC (15 years, 2 months ago) by dsl
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.143: +7 -7
lines
Diff to previous 1.143 (colored) to selected 1.176.2.1 (colored)
Change 'ClientData' to 'void *' so that relevant parameters can be made 'const void *'.
Revision 1.143 / (download) - annotate - [select for diffs], Fri Dec 19 22:03:41 2008 UTC (15 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.142: +7 -3
lines
Diff to previous 1.142 (colored) to selected 1.176.2.1 (colored)
if brk_string fail, so do we.
Revision 1.142 / (download) - annotate - [select for diffs], Sat Dec 13 15:19:29 2008 UTC (15 years, 4 months ago) by dsl
Branch: MAIN
Changes since 1.141: +14 -14
lines
Diff to previous 1.141 (colored) to selected 1.176.2.1 (colored)
Use NULL instead of -1 cast to the relavant type (usually via NIL). This was a suggestion from christos - so blame him if there is a deep reason for using -1 :-)
Revision 1.141 / (download) - annotate - [select for diffs], Wed Oct 29 15:37:08 2008 UTC (15 years, 5 months ago) by sjg
Branch: MAIN
CVS Tags: netbsd-5-base,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
netbsd-5-1-5-RELEASE,
netbsd-5-1-4-RELEASE,
netbsd-5-1-3-RELEASE,
netbsd-5-1-2-RELEASE,
netbsd-5-1-1-RELEASE,
netbsd-5-1,
netbsd-5-0-RELEASE,
netbsd-5-0-RC4,
netbsd-5-0-RC3,
netbsd-5-0-RC2,
netbsd-5-0-RC1,
netbsd-5-0-2-RELEASE,
netbsd-5-0-1-RELEASE,
netbsd-5-0,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20101231,
matt-nb5-mips64-premerge-20091211,
matt-nb5-mips64-k15,
matt-nb5-mips64,
matt-nb4-mips64-k7-u2a-k9b
Branch point for: netbsd-5
Changes since 1.140: +6 -4
lines
Diff to previous 1.140 (colored) to selected 1.176.2.1 (colored)
If Parse_Error is called after curFile is invalid, set it to a dummy to avoid seg-fault. Also the NULL filename will cause ParseVErrorInternal to skip trying to report file and line number info. If CondToken is called outside the context of a .if etc, variables in the expression being parsed will already be expanded, so allow for an unqouted number to jump us back into the compare logic. This allows ${${SomeNumber:U42} > 0:?True:False} to work anywhere. Job_Finish should process postCommands if it has commands or children.
Revision 1.140 / (download) - annotate - [select for diffs], Mon Oct 6 22:09:21 2008 UTC (15 years, 6 months ago) by joerg
Branch: MAIN
CVS Tags: matt-mips64-base2
Changes since 1.139: +8 -8
lines
Diff to previous 1.139 (colored) to selected 1.176.2.1 (colored)
Don't use emalloc and friends directly, but call them consistently bmake_malloc and friends. Implement them via macros for the native case and provide fallback implementations otherwise. Avoid polluting the namespace by not defining enomem globally. Don't bother to provide strdup and strndup, they were only used for the estrdup and estrndup comapt code. This addresses the presence of emalloc in system libraries on A/UX and resulted strange issues as reported by Timothy E. Larson.
Revision 1.124.8.3 / (download) - annotate - [select for diffs], Sun Mar 23 00:49:02 2008 UTC (16 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.124.8.2: +4 -4
lines
Diff to previous 1.124.8.2 (colored) to branchpoint 1.124 (colored) next main 1.125 (colored) to selected 1.176.2.1 (colored)
sync with HEAD
Revision 1.139 / (download) - annotate - [select for diffs], Fri Feb 15 21:29:50 2008 UTC (16 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base4,
yamt-pf42-base3,
yamt-pf42-base2,
yamt-pf42-base,
yamt-pf42,
wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
wrstuden-revivesa,
mjf-devfs2-base,
mjf-devfs2,
matt-armv6-nbase,
keiichi-mipv6-nbase,
keiichi-mipv6-base,
keiichi-mipv6,
hpcarm-cleanup-nbase,
hpcarm-cleanup-base
Changes since 1.138: +57 -69
lines
Diff to previous 1.138 (colored) to selected 1.176.2.1 (colored)
back all changes out until I fix it properly.
Revision 1.138 / (download) - annotate - [select for diffs], Fri Feb 15 20:08:11 2008 UTC (16 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: christos-broken
Changes since 1.137: +6 -5
lines
Diff to previous 1.137 (colored) to selected 1.176.2.1 (colored)
Improve dh's fix: - make sure i is initialized - don't subtract 1 in comparison, add 1 to the other side
Revision 1.137 / (download) - annotate - [select for diffs], Fri Feb 15 08:55:31 2008 UTC (16 years, 2 months ago) by dholland
Branch: MAIN
Changes since 1.136: +15 -13
lines
Diff to previous 1.136 (colored) to selected 1.176.2.1 (colored)
Avoid SIGSEGV caused by signed/unsigned mismatch. (hi xtos)
Revision 1.136 / (download) - annotate - [select for diffs], Thu Feb 14 22:11:20 2008 UTC (16 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.135: +54 -45
lines
Diff to previous 1.135 (colored) to selected 1.176.2.1 (colored)
- use pid_t/size_t as appropriate instead of int. - use %ld to print pids. - fix a bit of lint. - WARNS=4
Revision 1.135 / (download) - annotate - [select for diffs], Sat Jan 19 06:52:14 2008 UTC (16 years, 3 months ago) by sjg
Branch: MAIN
Changes since 1.134: +4 -4
lines
Diff to previous 1.134 (colored) to selected 1.176.2.1 (colored)
Implement -dl (aka LOUD) to override '@' at the start of script lines. Based on supplied patch. PR: 37202
Revision 1.124.8.2 / (download) - annotate - [select for diffs], Wed Jan 9 02:00:47 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.124.8.1: +9 -3
lines
Diff to previous 1.124.8.1 (colored) to branchpoint 1.124 (colored) to selected 1.176.2.1 (colored)
sync with HEAD
Revision 1.134 / (download) - annotate - [select for diffs], Fri Dec 21 20:32:24 2007 UTC (16 years, 4 months ago) by dsl
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.133: +9 -3
lines
Diff to previous 1.133 (colored) to selected 1.176.2.1 (colored)
If make can't find a rule to create a file it needs to satisfy a rule that came from .depend then just output a message and contine.
Revision 1.124.8.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:35:59 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.124: +61 -22
lines
Diff to previous 1.124 (colored) to selected 1.176.2.1 (colored)
sync with HEAD
Revision 1.133 / (download) - annotate - [select for diffs], Sun Oct 14 20:22:53 2007 UTC (16 years, 6 months ago) by apb
Branch: MAIN
CVS Tags: cube-autoconf-base,
cube-autoconf
Changes since 1.132: +36 -17
lines
Diff to previous 1.132 (colored) to selected 1.176.2.1 (colored)
Make it easier for the build environment (such as a configure script) to override the default shell: * Rename _BASENAME_DEFSHELL to DEFSHELL_CUSTOM, because it's no longer always a basename, it might be a full path; * Rename DEFSHELL to DEFSHELL_INDEX, because it's actually an index into an array; * Provide symbolic names for the possible values if DEFSHELL_INDEX; * Document how the build environment may set DEFSHELL_INDEX or DEFSHELL_CUSTOM to choose the default shell; * Move the fallback definition of DEFSHELL_INDEX from config.h to job.c, because it's used only in job.c. Discussed with sjg.
Revision 1.132 / (download) - annotate - [select for diffs], Sat Oct 13 20:01:33 2007 UTC (16 years, 6 months ago) by apb
Branch: MAIN
Changes since 1.131: +4 -5
lines
Diff to previous 1.131 (colored) to selected 1.176.2.1 (colored)
Revert to revision 1.128. Now that the Var* functions no longer try to write into const strings, it's safe to pass a truly constant string to Var_Subst.
Revision 1.131 / (download) - annotate - [select for diffs], Sat Oct 13 08:58:48 2007 UTC (16 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.130: +4 -4
lines
Diff to previous 1.130 (colored) to selected 1.176.2.1 (colored)
The 'job_prefix' string can be static but not const 'hi xtos'.
Revision 1.130 / (download) - annotate - [select for diffs], Fri Oct 12 23:07:04 2007 UTC (16 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.129: +4 -4
lines
Diff to previous 1.129 (colored) to selected 1.176.2.1 (colored)
improve on previous
Revision 1.129 / (download) - annotate - [select for diffs], Fri Oct 12 22:49:36 2007 UTC (16 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.128: +5 -4
lines
Diff to previous 1.128 (colored) to selected 1.176.2.1 (colored)
Var_Subst() seems to write into its input string! So we do need a copy.
Revision 1.128 / (download) - annotate - [select for diffs], Fri Oct 12 21:47:25 2007 UTC (16 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.127: +5 -6
lines
Diff to previous 1.127 (colored) to selected 1.176.2.1 (colored)
Remove tmp[] buffer and strncpy() call.
Revision 1.127 / (download) - annotate - [select for diffs], Thu Oct 11 21:19:28 2007 UTC (16 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.126: +12 -8
lines
Diff to previous 1.126 (colored) to selected 1.176.2.1 (colored)
If _BASENAME_DEFSHELL is defined, it might be a full path, in which case we should not prepend _PATH_DEFSHELLDIR.
Revision 1.126 / (download) - annotate - [select for diffs], Fri Oct 5 15:27:45 2007 UTC (16 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.125: +9 -7
lines
Diff to previous 1.125 (colored) to selected 1.176.2.1 (colored)
Add the ability to .export variables to the environment.
Revision 1.125 / (download) - annotate - [select for diffs], Mon Oct 1 22:14:09 2007 UTC (16 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.124: +20 -5
lines
Diff to previous 1.124 (colored) to selected 1.176.2.1 (colored)
Add the ability to tweak the token output before targets in job mode. Eg. .MAKE.JOB.PREFIX=${.newline}---${.MAKE:T}[${.MAKE.PID}] would produce ---make[1234] target ---
Revision 1.124 / (download) - annotate - [select for diffs], Fri Oct 27 21:00:19 2006 UTC (17 years, 5 months ago) by dsl
Branch: MAIN
CVS Tags: wrstuden-fixsa-newbase,
wrstuden-fixsa-base-1,
wrstuden-fixsa-base,
wrstuden-fixsa,
netbsd-4-base,
netbsd-4-0-RELEASE,
netbsd-4-0-RC5,
netbsd-4-0-RC4,
netbsd-4-0-RC3,
netbsd-4-0-RC2,
netbsd-4-0-RC1,
netbsd-4-0-1-RELEASE,
netbsd-4-0,
matt-mips64-base,
matt-mips64,
hpcarm-cleanup
Branch point for: netbsd-4,
matt-armv6
Changes since 1.123: +10 -10
lines
Diff to previous 1.123 (colored) to selected 1.176.2.1 (colored)
Since 'ClientData' is 'void *', nuke almost all the (ClientData) casts.
Revision 1.123 / (download) - annotate - [select for diffs], Sun Oct 15 08:38:21 2006 UTC (17 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.122: +26 -38
lines
Diff to previous 1.122 (colored) to selected 1.176.2.1 (colored)
Output all debug trace output through 'debug_file' defaulting to 'stdout'. (Almost all the debug output went there, but some went to stderr.) Split the parsing of -d (debug flags) out into its own routine. Allow the output filename to be changed by specifying -dF<file> to create a log file, or -dF+<file> to append to it. <file> may be stdout or stderr. Also change so that -d-<flags> acts on <flags> locally but doesn't copy them to MAKEFLAGS so they aren't inherited by child makes. I'm not 100% happy with the command line syntax for the above, so they are currently undocumented.
Revision 1.122 / (download) - annotate - [select for diffs], Wed Oct 11 07:01:44 2006 UTC (17 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.121: +93 -113
lines
Diff to previous 1.121 (colored) to selected 1.176.2.1 (colored)
There is no need to resize the pollfd array, it can only ever have 2+maxJobs entries, so allocate at startup. Use an 'int jobPipe[2]' within the job structure, and create pipes directly into it. Common up the code that creates all the pipes - making them all non-block on the read side in the process. Call Job_CatchChildren() directly from Job_CatchOutput() so that it only gets called when a child actually exits. NB: Something causes a 'pregnant pause' if (for example) you call 'nbmake obj' in src/tools. Introduced between netbsd 3 and 4.
Revision 1.121 / (download) - annotate - [select for diffs], Mon Oct 9 20:44:35 2006 UTC (17 years, 6 months ago) by apb
Branch: MAIN
Changes since 1.120: +35 -11
lines
Diff to previous 1.120 (colored) to selected 1.176.2.1 (colored)
Allow make(1) to be built with something other than "sh" as the shell. To use this, build with -D_PATH_DEFSHELLDIR=\"/path/to/dir\" -D_BASENAME_DEFSHELL=\"shell\". * Change the order of entries in shells[]. Now DEFSHELL defaults to 0, and shells[0] describes the default shell. This will be "sh" in the usual case. * If _BASENAME_DEFSHELL is defined, insert an additional entry above "sh" in the shells[] array, making this new entry shells[0]. The new entry is assumed to refer to an sh-compatible shell with a non-standard name. (Tested using _PATH_DEFSHELLDIR="/usr/pkg/bin" and _BASENAME_DEFSHELL="bash".) * In the shells[] entry for "sh", test defined(MAKE_NATIVE) && defined(__NetBSD__) to decide whether we can use the "q" flag. OK sjg, christos
Revision 1.120 / (download) - annotate - [select for diffs], Mon Oct 9 14:36:41 2006 UTC (17 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.119: +163 -240
lines
Diff to previous 1.119 (colored) to selected 1.176.2.1 (colored)
Rip out the code for the undocumented -P (don't use pipes for command output) option. I'm sure it is baggage from the past.
Revision 1.119 / (download) - annotate - [select for diffs], Mon Oct 9 13:49:59 2006 UTC (17 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.118: +12 -39
lines
Diff to previous 1.118 (colored) to selected 1.176.2.1 (colored)
Rip out the code for not 'USE_PGRP', I can't imagine it being useful! My guess is that it is compat code for before the pgrp stuff was added.
Revision 1.118 / (download) - annotate - [select for diffs], Mon Oct 9 13:40:11 2006 UTC (17 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.117: +44 -70
lines
Diff to previous 1.117 (colored) to selected 1.176.2.1 (colored)
Instead of trying to report all the 'job suspended' and 'job resumed' messages whan make itself is suspended (ie by ^Z) before make actually suspends, supress the messages during this sequence. This means we don't care that they would be output after the suspend and we can stop attempting to reap child status from withing the signal handler (which doesn't work for recursive parallel makes). The code simplification means that we can remove much of the code that blocked signals - since the signal handlers (expect that for ^C and friends) now do almost no work.
Revision 1.117 / (download) - annotate - [select for diffs], Fri Sep 29 19:38:48 2006 UTC (17 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.116: +23 -4
lines
Diff to previous 1.116 (colored) to selected 1.176.2.1 (colored)
Reap any dead children that we have at startup. If there are any undead ones set a flag so we don't report the 'Child (pid) not in table' message when they die - it is impossible to (portably) find the childrens pids. This happens when make is run as 'make -f- ... <<EOF' and the shell uses a child of (what will be) make to write the data into a pipe.
Revision 1.116 / (download) - annotate - [select for diffs], Sat Sep 23 20:51:28 2006 UTC (17 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.115: +189 -251
lines
Diff to previous 1.115 (colored) to selected 1.176.2.1 (colored)
Complete revamp of the way make handles job control signals. - Send each type of signal to its own handler. - Only call JobFinish when a process exits, in particular don't 'fake up' 'exitstatus' for jobs being continued, nor call it for suspends. - When a job is stopped, use an entire variable to remember the fact, so we know we need to send a SIGCONT. Don't change any other state. - In order to report '*** [job3] Suspended' before we suspend ourselves we have to call waitpid() from the signal handler - where we don't want to process job termination events. Save the exit status and process later. The code now handles: - jobs that suspend themselves - jobs exiting while suspended - jobs that don't actually suspend at all Hoewever it still does printfs() from the signal handler, and I haven't yet stopped it thrashing the signal mask.
Revision 1.115 / (download) - annotate - [select for diffs], Fri Sep 22 21:55:52 2006 UTC (17 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.114: +11 -9
lines
Diff to previous 1.114 (colored) to selected 1.176.2.1 (colored)
Fix build on 64 bit systems. Remove now-unecessary temporary local.
Revision 1.114 / (download) - annotate - [select for diffs], Fri Sep 22 19:07:09 2006 UTC (17 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.113: +89 -80
lines
Diff to previous 1.113 (colored) to selected 1.176.2.1 (colored)
Replace the two lists 'job_list' (previously 'jobs') and 'stoppedJobs' with a table that is malloced with 'maxJobs' entries. Add a 'job_state' field to the Job type that exactly follows which of the old lists the job was on (or not). Change all the code that scanned the lists to scan the array. No logic changes in this commit. (Soon we'll no longer need to lock out signals for the changes to job statuses that are done from signal handlers now that there is no linked list.)
Revision 1.113 / (download) - annotate - [select for diffs], Thu Sep 21 19:56:05 2006 UTC (17 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.112: +20 -20
lines
Diff to previous 1.112 (colored) to selected 1.176.2.1 (colored)
Rename the variable 'jobs' to 'job_list' in preparation for making it an array.
Revision 1.112 / (download) - annotate - [select for diffs], Thu Jun 29 22:01:17 2006 UTC (17 years, 9 months ago) by rillig
Branch: MAIN
CVS Tags: abandoned-netbsd-4-base,
abandoned-netbsd-4
Changes since 1.111: +21 -7
lines
Diff to previous 1.111 (colored) to selected 1.176.2.1 (colored)
Fixed the bug reported in PR 33866, which is that the :Q operator does not handle newlines correctly. Ok'ed by christos.
Revision 1.111 / (download) - annotate - [select for diffs], Fri Mar 31 21:05:34 2006 UTC (18 years ago) by dsl
Branch: MAIN
CVS Tags: chap-midi-nbase,
chap-midi-base,
chap-midi
Changes since 1.110: +12 -56
lines
Diff to previous 1.110 (colored) to selected 1.176.2.1 (colored)
There is no need to count jobs and job tokens. If we don't create the job pipe, use the '-j n' option to limit the number of tokens we will remove from the pipe.
Revision 1.110 / (download) - annotate - [select for diffs], Wed Mar 15 20:33:19 2006 UTC (18 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.109: +14 -16
lines
Diff to previous 1.109 (colored) to selected 1.176.2.1 (colored)
nJobs and jobTokensRunning are both counting the same thing. Kill nJobs and just use the count of tokens in use. Don't eat job tokens when we are ignoring errors.
Revision 1.109 / (download) - annotate - [select for diffs], Mon Mar 13 20:35:09 2006 UTC (18 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.108: +9 -16
lines
Diff to previous 1.108 (colored) to selected 1.176.2.1 (colored)
JOB_FIRST is always set (since we only execute the shell once for every target). Nuke it.
Revision 1.108 / (download) - annotate - [select for diffs], Sun Mar 12 20:14:56 2006 UTC (18 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.107: +15 -21
lines
Diff to previous 1.107 (colored) to selected 1.176.2.1 (colored)
Remove the 'never non-NULL' 'previous' argument to JobStart. Looks like it was intended as a minor (and pointless) optimisation to remove a free() malloc() pair. Make he comment about the stoppedJobs list more correct.
Revision 1.107 / (download) - annotate - [select for diffs], Sun Mar 12 19:14:51 2006 UTC (18 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.106: +51 -147
lines
Diff to previous 1.106 (colored) to selected 1.176.2.1 (colored)
It isn't possibly to execute any part of job.c that references compatMake when it is 'true'. So delete the unexecutable code.
Revision 1.106 / (download) - annotate - [select for diffs], Sat Mar 11 17:18:00 2006 UTC (18 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.105: +68 -631
lines
Diff to previous 1.105 (colored) to selected 1.176.2.1 (colored)
Remove most of the code seemed to be there to support 'remote jobs'. It isn't clear that it ever worked, if it did it has almost certainly bitrotted in the last 12 years. I'm not even sure all the required components were present. I suspect it was written to attempt to use a 'farm' of diskless sun3s. In any case the apparant random assignment fo jobs to other systems doesn't actually seem like a good idea! Things like 'distcc' han be used to help slow systems run native builds. Removing this code also simplifies make, and should let me speed up some of its processing - without worrying about bitrotting it further.
Revision 1.105 / (download) - annotate - [select for diffs], Wed Mar 8 22:11:48 2006 UTC (18 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.104: +14 -9
lines
Diff to previous 1.104 (colored) to selected 1.176.2.1 (colored)
Avoid calling JobRestartJobs() from the SIGCONT signal handler, instead push a byte through the (now badly named) exit_pipe and call JobRestartJobs() from the main code path when poll() wakes up. Part of a plan to remove JobSigLock() and the zillions of system calls it does.
Revision 1.104 / (download) - annotate - [select for diffs], Sat Feb 11 20:58:53 2006 UTC (18 years, 2 months ago) by dsl
Branch: MAIN
Changes since 1.103: +6 -6
lines
Diff to previous 1.103 (colored) to selected 1.176.2.1 (colored)
Actually SIG_DFL the correct signal (not SIGINT every time) just prior to exec'ing a program in the child.
Revision 1.103 / (download) - annotate - [select for diffs], Sun Jan 22 19:54:55 2006 UTC (18 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.102: +10 -8
lines
Diff to previous 1.102 (colored) to selected 1.176.2.1 (colored)
Make .NOTPARALLEL stop the job engine issuing more than one token (instead of trying to de-jobify the make. You can now put .NOTPARALLEL in a submake of a recursive make (where it is using a job-token pipe from the outer make and have it only run a single job. You can also specify .NOTPARRALEL in the root makefile of a large recursive make and have the submakes run multiple commands. Add some diagnostics printfs (enabled with -dp) to the parser.
Revision 1.102 / (download) - annotate - [select for diffs], Sat Jan 21 19:18:37 2006 UTC (18 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.101: +37 -36
lines
Diff to previous 1.101 (colored) to selected 1.176.2.1 (colored)
Check the 'job_pipe' for the error token 'E' before every job, including the first one for each make. This significantly speeds up the detection of errors in other branches of the make (ie those running in a different make process). The cost of reading and writing a byte from the pipe should be insignificant. Defer replacing job tokens until we've decided there is an error. If we detect an error in another branch of the make, then call Fatal(), setting 'aborting' and failing to return a token leads to infinite loops. Now parallel makes actually stop with the failing command on the screen.
Revision 1.101 / (download) - annotate - [select for diffs], Wed Jan 4 21:31:55 2006 UTC (18 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.100: +31 -38
lines
Diff to previous 1.100 (colored) to selected 1.176.2.1 (colored)
When a parallel make job completes, always put the job token back into the job_pipe and collect another one for the next job. If we are aborting, remove all the 'normal' job tokens and add an 'error' one. If we get an 'error' token, remove any other tokens, re-insert the error token and exit (with error 'cos that is easier). Add the current pid to some of the DEBUG(JOB) traces. Combined effect is that parallel makes actually stop some fairly shortly after an error, rather than running on long enough to fill the scrollback.
Revision 1.100 / (download) - annotate - [select for diffs], Wed Jan 4 21:25:03 2006 UTC (18 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.99: +13 -4
lines
Diff to previous 1.99 (colored) to selected 1.176.2.1 (colored)
F_DUPFD the job_pipe fds onto higher numbers (>15) to make it less likely that they will get closed in a complex recursive parallel make.
Revision 1.99 / (download) - annotate - [select for diffs], Wed Jan 4 20:56:05 2006 UTC (18 years, 3 months ago) by dsl
Branch: MAIN
Changes since 1.98: +5 -5
lines
Diff to previous 1.98 (colored) to selected 1.176.2.1 (colored)
If -s (silent) is specified, don't output the target name before target output in parallel makes. After all with -s you wouldn't know the command for a non-parallel make. Makes (sic) the output of parallel NetBSD build fathomable.
Revision 1.98 / (download) - annotate - [select for diffs], Mon Aug 8 16:42:54 2005 UTC (18 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.97: +15 -15
lines
Diff to previous 1.97 (colored) to selected 1.176.2.1 (colored)
From Max Okumoto: - Remove casts to NULL. - Remove space between cast and object.
Revision 1.97 / (download) - annotate - [select for diffs], Fri Aug 5 00:53:18 2005 UTC (18 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.96: +12 -12
lines
Diff to previous 1.96 (colored) to selected 1.176.2.1 (colored)
More KNF cleanups from Max Okumoto
Revision 1.96 / (download) - annotate - [select for diffs], Mon Jul 25 22:55:58 2005 UTC (18 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.95: +152 -152
lines
Diff to previous 1.95 (colored) to selected 1.176.2.1 (colored)
Whitespace KNF cleanup from Max Okumoto
Revision 1.95 / (download) - annotate - [select for diffs], Wed Jun 29 19:59:42 2005 UTC (18 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.94: +5 -4
lines
Diff to previous 1.94 (colored) to selected 1.176.2.1 (colored)
Don't apply .DEFAULT commands to special targets (.BEGIN, .END, .INTERRUPT).
Revision 1.94 / (download) - annotate - [select for diffs], Fri Jun 17 19:25:20 2005 UTC (18 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.93: +5 -4
lines
Diff to previous 1.93 (colored) to selected 1.176.2.1 (colored)
Add new debugging option '-dn' which will leave the scripts fed into make on -j jobs in /tmp for debugging purposes. Add a note to the man page that this could cause problems if run a lot (due to the number of files created)
Revision 1.93 / (download) - annotate - [select for diffs], Thu Jun 16 18:07:45 2005 UTC (18 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.92: +6 -5
lines
Diff to previous 1.92 (colored) to selected 1.176.2.1 (colored)
If the line being passed to the shell is a blank line and we're not in compat mode, use the ignErr template for the command as shell doesn't like an empty construct of the form { } || <something>. Fixes build breakage on cats distrib where a command ends up expanding to nothing.
Revision 1.92 / (download) - annotate - [select for diffs], Sun May 8 04:19:12 2005 UTC (18 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.91: +4 -4
lines
Diff to previous 1.91 (colored) to selected 1.176.2.1 (colored)
Don't complain that we cannot make .END.
Revision 1.91 / (download) - annotate - [select for diffs], Sun May 8 00:38:47 2005 UTC (18 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.90: +40 -26
lines
Diff to previous 1.90 (colored) to selected 1.176.2.1 (colored)
Now that dependencies in .BEGIN, .END, and .INTERRUPT work, allow them.
Revision 1.90 / (download) - annotate - [select for diffs], Tue May 3 22:58:14 2005 UTC (18 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.89: +4 -4
lines
Diff to previous 1.89 (colored) to selected 1.176.2.1 (colored)
Mark the interrupt job as special so that when we hit ^C with -j and we have a .INTERRUPT target we don't print "token botch".
Revision 1.89 / (download) - annotate - [select for diffs], Wed Feb 16 15:11:52 2005 UTC (19 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-3-base,
netbsd-3-1-RELEASE,
netbsd-3-1-RC4,
netbsd-3-1-RC3,
netbsd-3-1-RC2,
netbsd-3-1-RC1,
netbsd-3-1-1-RELEASE,
netbsd-3-1,
netbsd-3-0-RELEASE,
netbsd-3-0-RC6,
netbsd-3-0-RC5,
netbsd-3-0-RC4,
netbsd-3-0-RC3,
netbsd-3-0-RC2,
netbsd-3-0-RC1,
netbsd-3-0-3-RELEASE,
netbsd-3-0-2-RELEASE,
netbsd-3-0-1-RELEASE,
netbsd-3-0,
netbsd-3
Changes since 1.88: +8 -8
lines
Diff to previous 1.88 (colored) to selected 1.176.2.1 (colored)
PR/29203, PR/29204: Max Okumoto: KNF changes to make [no functional changes]
Revision 1.88 / (download) - annotate - [select for diffs], Mon Jan 31 22:41:43 2005 UTC (19 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.87: +12 -7
lines
Diff to previous 1.87 (colored) to selected 1.176.2.1 (colored)
PR/22559: Valeriy E. Ushakov: make -j can execute commands in wrong directory (not in the obj dir). Fixed by detecting when we cd, and cd'ing back.
Revision 1.87 / (download) - annotate - [select for diffs], Thu Jul 1 20:38:09 2004 UTC (19 years, 9 months ago) by jmc
Branch: MAIN
Changes since 1.86: +5 -13
lines
Diff to previous 1.86 (colored) to selected 1.176.2.1 (colored)
Change to use __unused instead and provide a compat definition in make.h if not already defined from cdefs.h
Revision 1.86 / (download) - annotate - [select for diffs], Thu Jul 1 04:39:30 2004 UTC (19 years, 9 months ago) by jmc
Branch: MAIN
Changes since 1.85: +11 -3
lines
Diff to previous 1.85 (colored) to selected 1.176.2.1 (colored)
Add some checks for gcc around a few function declarations and note the unused variables. Also fix a few other warnings that PR#22118 shows when trying to compile bmake on non-NetBSD hosts
Revision 1.83.2.2 / (download) - annotate - [select for diffs], Mon May 10 15:52:47 2004 UTC (19 years, 11 months ago) by tron
Branch: netbsd-2-0
CVS Tags: netbsd-2-base,
netbsd-2-1-RELEASE,
netbsd-2-1-RC6,
netbsd-2-1-RC5,
netbsd-2-1-RC4,
netbsd-2-1-RC3,
netbsd-2-1-RC2,
netbsd-2-1-RC1,
netbsd-2-1,
netbsd-2-0-RELEASE,
netbsd-2-0-RC5,
netbsd-2-0-RC4,
netbsd-2-0-RC3,
netbsd-2-0-RC2,
netbsd-2-0-RC1,
netbsd-2-0-3-RELEASE,
netbsd-2-0-2-RELEASE,
netbsd-2-0-1-RELEASE,
netbsd-2
Changes since 1.83.2.1: +19 -6
lines
Diff to previous 1.83.2.1 (colored) to branchpoint 1.83 (colored) next main 1.84 (colored) to selected 1.176.2.1 (colored)
Pull up revision 1.85 (requested by sjg in ticket #282): Remove use of sh -e when running in compat mode. Its not posix compliant and serves very little purpose. With this change compat and jobs modes are consistent wrt how they treat each line of a script. Add support for the '+' command line prefix as required by posix. Lines prefixed with '+' are executed even when -n is given. [Actually posix says they should also be done for -q and -t] PR: Reviewed by: jmc
Revision 1.83.2.1 / (download) - annotate - [select for diffs], Mon May 10 15:42:23 2004 UTC (19 years, 11 months ago) by tron
Branch: netbsd-2-0
Changes since 1.83: +4 -4
lines
Diff to previous 1.83 (colored) to selected 1.176.2.1 (colored)
Pull up revision 1.84 (requested by sjg in ticket #282): Simplify build, no functional changes. Instead of adding MAKE_BOOTSTRAP for hosted environments, i.e., when you want things simple, instead add MAKE_NATIVE to get those hugely important features like __RCSID(). It's now possible to build make on some hosts with: cc *.c */*.c
Revision 1.85 / (download) - annotate - [select for diffs], Fri May 7 08:12:15 2004 UTC (19 years, 11 months ago) by sjg
Branch: MAIN
Changes since 1.84: +19 -6
lines
Diff to previous 1.84 (colored) to selected 1.176.2.1 (colored)
Remove use of sh -e when running in compat mode. Its not posix compliant and serves very little purpose. With this change compat and jobs modes are consistent wrt how they treat each line of a script. Add support for the '+' command line prefix as required by posix. Lines prefixed with '+' are executed even when -n is given. [Actually posix says they should also be done for -q and -t] PR: Reviewed by: jmc
Revision 1.84 / (download) - annotate - [select for diffs], Fri May 7 00:04:38 2004 UTC (19 years, 11 months ago) by ross
Branch: MAIN
Changes since 1.83: +4 -4
lines
Diff to previous 1.83 (colored) to selected 1.176.2.1 (colored)
Simplify build, no functional changes. Instead of adding MAKE_BOOTSTRAP for hosted environments, i.e., when you want things simple, instead add MAKE_NATIVE to get those hugely important features like __RCSID(). It's now possible to build make on some hosts with: cc *.c */*.c
Revision 1.83 / (download) - annotate - [select for diffs], Sat Dec 20 00:18:22 2003 UTC (20 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.82: +77 -25
lines
Diff to previous 1.82 (colored) to selected 1.176.2.1 (colored)
Fixes for PR#18573 (make -j not stopping correctly on error). Using -e in sh/ksh to stop on error doesn't work with grouped commands. At least for any SUSE compliant sh(1). Instead, extend the Shell struct and add errOut which provides a template to use to check error status from commands.
Revision 1.82 / (download) - annotate - [select for diffs], Thu Aug 7 11:14:51 2003 UTC (20 years, 8 months ago) by agc
Branch: MAIN
Changes since 1.81: +34 -3
lines
Diff to previous 1.81 (colored) to selected 1.176.2.1 (colored)
Move UCB-licensed code from 4-clause to 3-clause licence. Patches provided by Joel Baker in PR 22365, verified by myself.
Revision 1.81 / (download) - annotate - [select for diffs], Fri Aug 1 00:39:52 2003 UTC (20 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.80: +39 -24
lines
Diff to previous 1.80 (colored) to selected 1.176.2.1 (colored)
Allow .SHELL: to control the shell used by compat mode too. Add a shell spec for ksh - a nice portable posix shell. Document .SHELL:
Revision 1.80 / (download) - annotate - [select for diffs], Wed Jul 16 07:16:24 2003 UTC (20 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.79: +5 -5
lines
Diff to previous 1.79 (colored) to selected 1.176.2.1 (colored)
backout. make(1) either uses strcpy() to malloc'ed region (enough size), or function signature prohibits us from using strlcpy().
Revision 1.79 / (download) - annotate - [select for diffs], Tue Jul 15 05:39:28 2003 UTC (20 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.78: +4 -4
lines
Diff to previous 1.78 (colored) to selected 1.176.2.1 (colored)
strlcpy (fixed)
Revision 1.78 / (download) - annotate - [select for diffs], Tue Jul 15 05:38:24 2003 UTC (20 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.77: +5 -5
lines
Diff to previous 1.77 (colored) to selected 1.176.2.1 (colored)
strlcpy
Revision 1.77 / (download) - annotate - [select for diffs], Mon Jul 14 18:19:12 2003 UTC (20 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.76: +17 -16
lines
Diff to previous 1.76 (colored) to selected 1.176.2.1 (colored)
Pass WARNS=3
Revision 1.76 / (download) - annotate - [select for diffs], Tue Apr 8 17:46:59 2003 UTC (21 years ago) by christos
Branch: MAIN
Changes since 1.75: +4 -4
lines
Diff to previous 1.75 (colored) to selected 1.176.2.1 (colored)
PR/1523: Chris Demetriou: don't count a library as built, if there is no way to build it.
Revision 1.75 / (download) - annotate - [select for diffs], Mon Dec 9 01:23:53 2002 UTC (21 years, 4 months ago) by gson
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.74: +4 -3
lines
Diff to previous 1.74 (colored) to selected 1.176.2.1 (colored)
When JobExec() was called from JobRestartJobs() via JobRestart(), it executed the make job with sigprocmask(SIG_BLOCK) in effect for a number of signals including SIGCHLD. This caused recursive submakes of the make process in question not to receive SIGCHLDs when their jobs exited. This was a second, independent cause of bin/18895 in addition to the race condition already fixed. Fixed by unblocking all signals before executing the job.
Revision 1.74 / (download) - annotate - [select for diffs], Tue Nov 26 05:30:01 2002 UTC (21 years, 4 months ago) by enami
Branch: MAIN
Changes since 1.73: +5 -5
lines
Diff to previous 1.73 (colored) to selected 1.176.2.1 (colored)
Call fcntl() on the right file descriptors.
Revision 1.73 / (download) - annotate - [select for diffs], Sat Nov 16 22:22:23 2002 UTC (21 years, 5 months ago) by gson
Branch: MAIN
Changes since 1.72: +98 -57
lines
Diff to previous 1.72 (colored) to selected 1.176.2.1 (colored)
Fixed race condition that would cause make -j to pause for five seconds if a SIGCHLD arrived while make was not blocked in poll(), by making the SIGCHLD handler write to a pipe included in the poll. Avoided the need to implement a duplicate fix for the USE_SELECT case by emulating poll() in terms of select() when USE_SELECT is defined. Fixes bin/18895.
Revision 1.72 / (download) - annotate - [select for diffs], Sat Jun 15 18:24:56 2002 UTC (21 years, 10 months ago) by wiz
Branch: MAIN
Changes since 1.71: +167 -144
lines
Diff to previous 1.71 (colored) to selected 1.176.2.1 (colored)
Remove !__STDC__ stuff, de-__P(), ANSIfy, and de-register.
Revision 1.71 / (download) - annotate - [select for diffs], Mon Apr 15 12:45:33 2002 UTC (22 years ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-6-base,
netbsd-1-6-RELEASE,
netbsd-1-6-RC3,
netbsd-1-6-RC2,
netbsd-1-6-RC1,
netbsd-1-6-PATCH002-RELEASE,
netbsd-1-6-PATCH002-RC4,
netbsd-1-6-PATCH002-RC3,
netbsd-1-6-PATCH002-RC2,
netbsd-1-6-PATCH002-RC1,
netbsd-1-6-PATCH002,
netbsd-1-6-PATCH001-RELEASE,
netbsd-1-6-PATCH001-RC3,
netbsd-1-6-PATCH001-RC2,
netbsd-1-6-PATCH001-RC1,
netbsd-1-6-PATCH001,
netbsd-1-6
Changes since 1.70: +5 -4
lines
Diff to previous 1.70 (colored) to selected 1.176.2.1 (colored)
PR/16361: J. Mallett: make(1)'s job.c does not properly initialise postCommands
Revision 1.70 / (download) - annotate - [select for diffs], Mon Mar 18 13:32:36 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.69: +16 -17
lines
Diff to previous 1.69 (colored) to selected 1.176.2.1 (colored)
Fix some of the syntax errors (in unused code) and layout glitches.
Revision 1.69 / (download) - annotate - [select for diffs], Mon Mar 18 13:28:25 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.68: +124 -58
lines
Diff to previous 1.68 (colored) to selected 1.176.2.1 (colored)
Block signals during Lst_Open/Lst_Close list traverals and in JobExec while setting up a child process. This prevents the major sources of list inconsistencies that may result from doing list manipulations from a signal handler. XXX - all Lst_*() operations are at risk; look for ways to avoid touching so much global state from the signal handlers.
Revision 1.68 / (download) - annotate - [select for diffs], Mon Mar 18 12:28:07 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.67: +10 -13
lines
Diff to previous 1.67 (colored) to selected 1.176.2.1 (colored)
Fix signal-handling bogons in JobPassSig(): - don't block the signal we're about to send to ourselves to take the default action for - restore the signal handler for the current signal - remove duplicate sigprocmask() call As a result, restoring the SIGTSTP handler in JobContinueSig() is no longer necessary.
Revision 1.67 / (download) - annotate - [select for diffs], Mon Mar 18 08:23:33 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.66: +13 -11
lines
Diff to previous 1.66 (colored) to selected 1.176.2.1 (colored)
JobInterrupt(): don't try to unlink JOIN or PHONY targets.
Revision 1.66 / (download) - annotate - [select for diffs], Mon Mar 18 07:54:33 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.65: +26 -28
lines
Diff to previous 1.65 (colored) to selected 1.176.2.1 (colored)
Remove bogons from JobMatchShell()
Revision 1.65 / (download) - annotate - [select for diffs], Fri Mar 15 15:54:41 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.64: +12 -15
lines
Diff to previous 1.64 (colored) to selected 1.176.2.1 (colored)
Job_ParseShell(): fix keyword counting error.
Revision 1.64 / (download) - annotate - [select for diffs], Thu Mar 14 16:08:38 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.63: +20 -12
lines
Diff to previous 1.63 (colored) to selected 1.176.2.1 (colored)
JobExec(): don't use Punt() in the child; it can't possibly DTRT, and will also mess up the parents variables. Instead, use execError() for all error paths in the child code.
Revision 1.63 / (download) - annotate - [select for diffs], Thu Mar 14 08:07:55 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.62: +7 -6
lines
Diff to previous 1.62 (colored) to selected 1.176.2.1 (colored)
Job_AbortAll(): add missing Lst_Close().
Revision 1.62 / (download) - annotate - [select for diffs], Wed Mar 13 17:46:03 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.61: +5 -4
lines
Diff to previous 1.61 (colored) to selected 1.176.2.1 (colored)
JobInterrupt(): add missing and fix a misplaced Lst_Close().
Revision 1.61 / (download) - annotate - [select for diffs], Wed Mar 13 17:43:31 2002 UTC (22 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.60: +22 -15
lines
Diff to previous 1.60 (colored) to selected 1.176.2.1 (colored)
Add the job's name to the `*** Error/Suspended/Continuing' informational output. Useful when doing, e.g. a `make -j42'
Revision 1.60 / (download) - annotate - [select for diffs], Mon Mar 4 00:34:35 2002 UTC (22 years, 1 month ago) by enami
Branch: MAIN
Changes since 1.59: +5 -6
lines
Diff to previous 1.59 (colored) to selected 1.176.2.1 (colored)
We don't want token while we're aborting. Otherwise, make spins wasting cpu.
Revision 1.59 / (download) - annotate - [select for diffs], Sun Feb 10 12:01:59 2002 UTC (22 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.58: +4 -4
lines
Diff to previous 1.58 (colored) to selected 1.176.2.1 (colored)
Fix for previous: JobRestart() return value check was reversed.
Revision 1.58 / (download) - annotate - [select for diffs], Fri Feb 8 17:44:23 2002 UTC (22 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.57: +12 -9
lines
Diff to previous 1.57 (colored) to selected 1.176.2.1 (colored)
JobRestartJobs() should cease scheduling stopped jobs if the maximum number of running jobs limit has been reached, otherwise an infinite loop is the result. Give JobStart() a return value to report this condition.
Revision 1.57 / (download) - annotate - [select for diffs], Fri Feb 8 17:31:38 2002 UTC (22 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.56: +4 -3
lines
Diff to previous 1.56 (colored) to selected 1.176.2.1 (colored)
JobStart(): if there no commands to execute for a node, set its status to MADE before calling Make_Update(). This is necessary to complete all rules associated with sources on an .ORDER dependency.
Revision 1.56 / (download) - annotate - [select for diffs], Wed Feb 6 16:20:25 2002 UTC (22 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.55: +3 -10
lines
Diff to previous 1.55 (colored) to selected 1.176.2.1 (colored)
JobPrintCommand: avoid stale pointers on a node's command list. The debugging value of the code that did this is limited, so drop it altogether.
Revision 1.55 / (download) - annotate - [select for diffs], Tue Oct 16 18:06:29 2001 UTC (22 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.54: +4 -3
lines
Diff to previous 1.54 (colored) to selected 1.176.2.1 (colored)
When attempting to chdir to .CURDIR because Check_Cwd_Cmd says we need to make sure that the dir actually exists. In compat mode the corresponding chdir simply fails and all is well - the issue only arises when playing tricky games with the value of .CURDIR. Reviewed: christos
Revision 1.54 / (download) - annotate - [select for diffs], Mon Aug 20 12:00:55 2001 UTC (22 years, 8 months ago) by wiz
Branch: MAIN
Changes since 1.53: +4 -4
lines
Diff to previous 1.53 (colored) to selected 1.176.2.1 (colored)
precede, not preceed.
Revision 1.53 / (download) - annotate - [select for diffs], Tue Jul 24 05:06:40 2001 UTC (22 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.52: +4 -4
lines
Diff to previous 1.52 (colored) to selected 1.176.2.1 (colored)
Print out errno when vfork fails.
Revision 1.52 / (download) - annotate - [select for diffs], Tue Jul 3 18:08:50 2001 UTC (22 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.51: +4 -4
lines
Diff to previous 1.51 (colored) to selected 1.176.2.1 (colored)
add .USEBEFORE Attribute
Revision 1.51 / (download) - annotate - [select for diffs], Tue Jun 12 23:36:17 2001 UTC (22 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.50: +4 -4
lines
Diff to previous 1.50 (colored) to selected 1.176.2.1 (colored)
Add 4th arg (flags) to Var_Set so that VarLoopExpand can tell it not to export interator variables when using context VAR_CMD. Reviewed: christos
Revision 1.50 / (download) - annotate - [select for diffs], Mon Jun 11 04:20:32 2001 UTC (22 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.49: +3 -4
lines
Diff to previous 1.49 (colored) to selected 1.176.2.1 (colored)
Revert Job_CatchOutput() change; it adds a considerable delay to make, and it is not clear what problem it is trying to fix.
Revision 1.49 / (download) - annotate - [select for diffs], Fri Jun 1 20:33:37 2001 UTC (22 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.48: +12 -3
lines
Diff to previous 1.48 (colored) to selected 1.176.2.1 (colored)
A number of semi-related changes. 1. make -dx turns on DEBUG_SHELL which causes sh -x to be used where possible. 2. PrintOnError() is now called when make is stopping due to an error. This routine reports the curdir and the value of any variables listed in MAKE_PRINT_VAR_ON_ERROR. 3. Variables set via command line, are propagated to child-makes via MAKEFLAGS. This behaviour appears to be necessary for POSIX (according to the GNU folk anyway). 4. Do not reset MAKEFILE when reading ".depend" as this rather eliminates the usefulness of ${MAKEFILE}. 5. Added ${.newline} as a simple means of being able to include \n in the result of a :@ loop expansion. 6. Set ${MAKE_VERSION} if defined. Need to come up with a useful value. Reviewed: christos
Revision 1.48 / (download) - annotate - [select for diffs], Tue May 29 17:37:52 2001 UTC (22 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.47: +6 -6
lines
Diff to previous 1.47 (colored) to selected 1.176.2.1 (colored)
better error messages on exec* failures. From Simon Burge.
Revision 1.47 / (download) - annotate - [select for diffs], Tue May 1 03:27:50 2001 UTC (22 years, 11 months ago) by sommerfeld
Branch: MAIN
Changes since 1.46: +37 -5
lines
Diff to previous 1.46 (colored) to selected 1.176.2.1 (colored)
bin/12734: fix SIGTSTP/SIGCONT handling. - install SIGCONT handler which reestablishes SIGTSTP handler and then calls JobRestartJobs() to restart all the suspended jobs. - when SIGTSTP is handled, call JobCatchChildren() so *** Suspended messages get printed before make stops rather than after.
Revision 1.46 / (download) - annotate - [select for diffs], Wed Jan 10 15:54:00 2001 UTC (23 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.45: +9 -7
lines
Diff to previous 1.45 (colored) to selected 1.176.2.1 (colored)
PR/11800: Chris Demetriou: Add -W flag to exit on parse warnings. While I am here, s/make:.*"/%s:\1", progname/
Revision 1.45 / (download) - annotate - [select for diffs], Mon Jan 1 15:47:38 2001 UTC (23 years, 3 months ago) by sommerfeld
Branch: MAIN
Changes since 1.44: +9 -8
lines
Diff to previous 1.44 (colored) to selected 1.176.2.1 (colored)
Delete forceSerial; just use compatMake for that. Add -N flag to *really* not execute any commands (useful when using the -d flags to debug usr/src/Makefile) Document -N Update documentation of -n to mention that it still executes commands for targets marked .MAKE so that the -N/-n distinction is clear.
Revision 1.44 / (download) - annotate - [select for diffs], Sat Dec 30 16:38:22 2000 UTC (23 years, 3 months ago) by sommerfeld
Branch: MAIN
Changes since 1.43: +17 -16
lines
Diff to previous 1.43 (colored) to selected 1.176.2.1 (colored)
Include token counts in trace output. Don't let tokensFree go negative.
Revision 1.43 / (download) - annotate - [select for diffs], Sat Dec 30 15:58:34 2000 UTC (23 years, 3 months ago) by sommerfeld
Branch: MAIN
Changes since 1.42: +8 -4
lines
Diff to previous 1.42 (colored) to selected 1.176.2.1 (colored)
Fix token accounting for .BEGIN/.END jobs
Revision 1.42 / (download) - annotate - [select for diffs], Sat Dec 30 14:21:22 2000 UTC (23 years, 3 months ago) by sommerfeld
Branch: MAIN
Changes since 1.41: +18 -13
lines
Diff to previous 1.41 (colored) to selected 1.176.2.1 (colored)
Avoid token leaks when aborting after an error.
Revision 1.41 / (download) - annotate - [select for diffs], Sat Dec 30 02:51:21 2000 UTC (23 years, 3 months ago) by sommerfeld
Branch: MAIN
Changes since 1.40: +31 -5
lines
Diff to previous 1.40 (colored) to selected 1.176.2.1 (colored)
Do lazy token release - don't return tokens to the pipe unless we're waiting for something or we're done.
Revision 1.40 / (download) - annotate - [select for diffs], Sat Dec 30 02:05:20 2000 UTC (23 years, 3 months ago) by sommerfeld
Branch: MAIN
Changes since 1.39: +185 -94
lines
Diff to previous 1.39 (colored) to selected 1.176.2.1 (colored)
Add a token-passing scheme to allow a recursive make to successfully use -j; all make's in a recursive build cooperate to limit the total number of jobs, using a token-passing scheme. The current token passing algorithm is similar to the one implemented by gmake; there is a single pipe which is inherited through the entire process hierarchy; tokens are obtained by reading a byte from the "read end" of the pipe, and are returned by writing them to the "write end". This exact algorithm is likely to change in the future. Implementation details: - Use the new trace facility to allow measurement of the effectiveness of different token-passing schemes - Get a token in MakeStartJobs(), return it in Make_Update() - Eliminate Job_Full() and the jobFull global since they are redundant with token system. - Add an "internal" -J option (to pass the token pipe fd's down to submakes) and a -T option for tracing. - Change how compatMake is forced so that -j means something when inherited by submakes. - When waiting for a token, poll the token-passing pipe as well as the output pipes of existing jobs.
Revision 1.39 / (download) - annotate - [select for diffs], Tue Dec 5 21:57:20 2000 UTC (23 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.38: +12 -24
lines
Diff to previous 1.38 (colored) to selected 1.176.2.1 (colored)
Make the fds[] realloc O(n). Also make the rethreading a lot simpler.
Revision 1.38 / (download) - annotate - [select for diffs], Tue Dec 5 15:28:55 2000 UTC (23 years, 4 months ago) by sommerfeld
Branch: MAIN
Changes since 1.37: +9 -7
lines
Diff to previous 1.37 (colored) to selected 1.176.2.1 (colored)
Make clearfd() take O(1) time instead of O(N) by moving only the last job in the arrays to the hole made by the now-dead job. No measureable performance difference for -j4, but the code is simpler this way.
Revision 1.37 / (download) - annotate - [select for diffs], Tue Dec 5 15:20:10 2000 UTC (23 years, 4 months ago) by sommerfeld
Branch: MAIN
Changes since 1.36: +35 -4
lines
Diff to previous 1.36 (colored) to selected 1.176.2.1 (colored)
correct performance regression of recent change from select() to poll() for parallel make: - Make the poll() code behave more like the select() code: sleep for a bit waiting for output rather than busy-wait (eww). - Install a no-op SIGCHLD handler so that poll/select wake up early (with -1/EINTR) when a child exits. - Change the default sleep time from 500ms to 5 seconds since we now wake up promptly when a child exits.
Revision 1.36 / (download) - annotate - [select for diffs], Mon Dec 4 17:45:17 2000 UTC (23 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.35: +69 -36
lines
Diff to previous 1.35 (colored) to selected 1.176.2.1 (colored)
mycroft did not like my O(n^2) lookup algorithm, so I made things much more complicated.
Revision 1.35 / (download) - annotate - [select for diffs], Sun Dec 3 02:19:32 2000 UTC (23 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.34: +98 -12
lines
Diff to previous 1.34 (colored) to selected 1.176.2.1 (colored)
1. switch to using poll by default; can be overriden by compiling with -DUSE_SELECT 2. make sure that we don't overrun our allocated fd_set if USE_SELECT is defined
Revision 1.34 / (download) - annotate - [select for diffs], Sun Dec 3 01:27:03 2000 UTC (23 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.33: +23 -16
lines
Diff to previous 1.33 (colored) to selected 1.176.2.1 (colored)
1. the tfile patch was incorrect. If we are doing multiple jobs, we try to open tfile many times, passing bad strings to mkstemp 2. remove extra semicolon after the MESSAGE macro 3. more error checking 4. be more careful about setting things to NULL after freeing. 5. fix a comment that does not apply anymore
Revision 1.33 / (download) - annotate - [select for diffs], Thu Apr 20 11:23:25 2000 UTC (24 years ago) by sjg
Branch: MAIN
CVS Tags: netbsd-1-5-base,
netbsd-1-5-RELEASE,
netbsd-1-5-PATCH003,
netbsd-1-5-PATCH002,
netbsd-1-5-PATCH001,
netbsd-1-5-BETA2,
netbsd-1-5-BETA,
netbsd-1-5-ALPHA2,
netbsd-1-5,
minoura-xpg4dl-base,
minoura-xpg4dl
Changes since 1.32: +8 -4
lines
Diff to previous 1.32 (colored) to selected 1.176.2.1 (colored)
Changes to make MAKEOBJDIRPREFIX useful. Firstly, we ignore getenv("PWD") if MAKEOBJDIRPREFIX is set so that we always get the same value for .CURDIR regardless of how make was invoked. Second, when executing a command we check if it is ${.MAKE} or ${.MAKE:T} without a preceeding chdir, if so we insert a chdir(${.CURDIR}) so that the Makefile will be found by the child make. Note that this behaviour is dissabled if MAKEOBJDIRPREFIX is not set or if NOCHECKMAKECHDIR is set. See the comments in main.c for more detail. With these two changes, one can successfully build usr/src using MAKEOBJDIRPREFIX allowing the src to be mounted from a CD-ROM.
Revision 1.25.2.2 / (download) - annotate - [select for diffs], Sun Jan 23 13:35:44 2000 UTC (24 years, 3 months ago) by he
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-PATCH003,
netbsd-1-4-PATCH002
Changes since 1.25.2.1: +68 -61
lines
Diff to previous 1.25.2.1 (colored) to branchpoint 1.25 (colored) next main 1.26 (colored) to selected 1.176.2.1 (colored)
Pull up revisions 1.26-1.31 (requested by christos): Several fixes: o SystemV portability o Avoid non-portable use of 'sh -q' o Job control fixes when USE_PGRP is in use o Fix stack overflow bugs, use snprintf (fixes PR#8259) o Don't bother freeing mem right before exit() o Be caseful when creating temporary files, to avoid security problem.
Revision 1.25.2.1 / (download) - annotate - [select for diffs], Sun Jan 23 12:02:26 2000 UTC (24 years, 3 months ago) by he
Branch: netbsd-1-4
Changes since 1.25: +3 -6
lines
Diff to previous 1.25 (colored) to selected 1.176.2.1 (colored)
Pull up revision 1.32 (requested by mycroft): Always do the errno indirection hack, so that non-threaded libraries get the right errno value when linked with -lpthread. This means "always include <errno.h> and never declare errno yourself".
Revision 1.32 / (download) - annotate - [select for diffs], Fri Jan 21 17:08:35 2000 UTC (24 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.31: +3 -6
lines
Diff to previous 1.31 (colored) to selected 1.176.2.1 (colored)
Nuke `extern int errno;' in code we compile with -Wstrict-prototypes. We get the correct definition from errno.h.
Revision 1.31 / (download) - annotate - [select for diffs], Wed Jan 19 23:39:37 2000 UTC (24 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.30: +13 -21
lines
Diff to previous 1.30 (colored) to selected 1.176.2.1 (colored)
Create temporary files carefully, to avoid security problems. Idea borrowed from the botched FreeBSD implementation...
Revision 1.30 / (download) - annotate - [select for diffs], Wed Sep 15 08:43:22 1999 UTC (24 years, 7 months ago) by mycroft
Branch: MAIN
CVS Tags: wrstuden-devbsize-base,
wrstuden-devbsize-19991221,
wrstuden-devbsize,
comdex-fall-1999-base,
comdex-fall-1999
Changes since 1.29: +5 -3
lines
Diff to previous 1.29 (colored) to selected 1.176.2.1 (colored)
Don't bother iterating through all the data structures to free(3) everything right before exiting. (The code is still present, `#ifdef CLEANUP', in case someone needs it...)
Revision 1.29 / (download) - annotate - [select for diffs], Sat Sep 4 04:21:28 1999 UTC (24 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.28: +10 -8
lines
Diff to previous 1.28 (colored) to selected 1.176.2.1 (colored)
PR/8259: Chris Demetriou: Fix stack overflow bugs exposed by the glibc-2.1.1 Makefile. Use snprintf everywhere.
Revision 1.28 / (download) - annotate - [select for diffs], Fri Jul 16 05:38:20 1999 UTC (24 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.27: +46 -40
lines
Diff to previous 1.27 (colored) to selected 1.176.2.1 (colored)
Fix extreme brokeness with job control that appeared when we set USE_PGRP.
Revision 1.27 / (download) - annotate - [select for diffs], Tue Jul 6 14:02:56 1999 UTC (24 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.26: +9 -4
lines
Diff to previous 1.26 (colored) to selected 1.176.2.1 (colored)
Regular bourne shells don't have the -q option (from Chuck Cranor)
Revision 1.26 / (download) - annotate - [select for diffs], Mon May 3 09:49:55 1999 UTC (24 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.25: +4 -4
lines
Diff to previous 1.25 (colored) to selected 1.176.2.1 (colored)
killpg(pgrp, sig) == kill(-pgrp, sig) in the sysv case.
Revision 1.25 / (download) - annotate - [select for diffs], Thu Feb 4 00:40:55 1999 UTC (25 years, 2 months ago) by cjs
Branch: MAIN
CVS Tags: netbsd-1-4-base,
netbsd-1-4-RELEASE,
netbsd-1-4-PATCH001
Branch point for: netbsd-1-4
Changes since 1.24: +4 -4
lines
Diff to previous 1.24 (colored) to selected 1.176.2.1 (colored)
When giving the -v option to /bin/sh, also give the new -q option so that the execution of $ENV isn't printed with every job that's started.
Revision 1.24 / (download) - annotate - [select for diffs], Fri Nov 6 23:31:09 1998 UTC (25 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.23: +5 -5
lines
Diff to previous 1.23 (colored) to selected 1.176.2.1 (colored)
- full prototypes - more conservative printf - char -> unsigned char
Revision 1.23 / (download) - annotate - [select for diffs], Sun Nov 1 03:07:34 1998 UTC (25 years, 5 months ago) by itohy
Branch: MAIN
Changes since 1.22: +4 -3
lines
Diff to previous 1.22 (colored) to selected 1.176.2.1 (colored)
Reduced memory leaks. I found some more leaks, but are not in inside of iterations.
Revision 1.21.2.1 / (download) - annotate - [select for diffs], Fri May 8 06:12:06 1998 UTC (25 years, 11 months ago) by mycroft
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-PATCH003-CANDIDATE2,
netbsd-1-3-PATCH003-CANDIDATE1,
netbsd-1-3-PATCH003-CANDIDATE0,
netbsd-1-3-PATCH003,
netbsd-1-3-PATCH002
Changes since 1.21: +69 -42
lines
Diff to previous 1.21 (colored) next main 1.22 (colored) to selected 1.176.2.1 (colored)
Sync with trunk, per request of christos.
Revision 1.22 / (download) - annotate - [select for diffs], Thu Mar 26 19:20:36 1998 UTC (26 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.21: +69 -42
lines
Diff to previous 1.21 (colored) to selected 1.176.2.1 (colored)
PR/5210: Hauke Fath: make core dumps with .SHELL Unfortunately this revealed a deeper problem with the brk_string code. To fix it: - remove sharing of the buffer between brk_string invocations - change the semantics of brk_string so that the argument array starts with 0, and return the buffer where the strings are stored
Revision 1.21 / (download) - annotate - [select for diffs], Sun Sep 28 03:31:05 1997 UTC (26 years, 6 months ago) by lukem
Branch: MAIN
CVS Tags: netbsd-1-3-base,
netbsd-1-3-RELEASE,
netbsd-1-3-PATCH001,
netbsd-1-3-BETA
Branch point for: netbsd-1-3
Changes since 1.20: +6 -2
lines
Diff to previous 1.20 (colored) to selected 1.176.2.1 (colored)
wrap #include <sys/cdefs.h>, __RCSID(...) stuff in #ifndef MAKE_BOOTSTRAP
Revision 1.20 / (download) - annotate - [select for diffs], Mon Aug 25 19:31:58 1997 UTC (26 years, 8 months ago) by kleink
Branch: MAIN
Changes since 1.19: +4 -4
lines
Diff to previous 1.19 (colored) to selected 1.176.2.1 (colored)
Lseek(2) usage cleanup: the use of L_SET/L_INCR/L_XTND is deprecated, use SEEK_SET/SEEK_CUR/SEEK_END instead.
Revision 1.19 / (download) - annotate - [select for diffs], Tue Jul 1 21:17:24 1997 UTC (26 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.18: +3 -2
lines
Diff to previous 1.18 (colored) to selected 1.176.2.1 (colored)
Add WARNS=1 RCSID police
Revision 1.18 / (download) - annotate - [select for diffs], Tue May 6 23:51:30 1997 UTC (26 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.17: +5 -5
lines
Diff to previous 1.17 (colored) to selected 1.176.2.1 (colored)
Make sure `-n' is actually disabled for targets with the .MAKE attribute.
Revision 1.17 / (download) - annotate - [select for diffs], Tue May 6 20:57:47 1997 UTC (26 years, 11 months ago) by mycroft
Branch: MAIN
Changes since 1.16: +3 -3
lines
Diff to previous 1.16 (colored) to selected 1.176.2.1 (colored)
Don't touch .PHONY targets.
Revision 1.14.4.1 / (download) - annotate - [select for diffs], Sun Jan 26 05:51:39 1997 UTC (27 years, 2 months ago) by rat
Branch: netbsd-1-2
CVS Tags: netbsd-1-2-PATCH001
Changes since 1.14: +123 -121
lines
Diff to previous 1.14 (colored) next main 1.15 (colored) to selected 1.176.2.1 (colored)
Update make(1) from trunk, by request from Christos Zoulas. Fixes many bugs.
Revision 1.1.1.2 / (download) - annotate - [select for diffs] (vendor branch), Sat Dec 28 04:41:04 1996 UTC (27 years, 3 months ago) by tls
Branch: WFJ-920714,
CSRG
CVS Tags: lite-2
Changes since 1.1.1.1: +91 -62
lines
Diff to previous 1.1.1.1 (colored) to selected 1.176.2.1 (colored)
Import 4.4BSD-Lite2 sources onto CSRG branch (already merged at head)
Revision 1.16 / (download) - annotate - [select for diffs], Wed Nov 6 17:59:08 1996 UTC (27 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.15: +122 -120
lines
Diff to previous 1.15 (colored) to selected 1.176.2.1 (colored)
- Merge in FreeBSD and Lite2 changes. - Fix bug where a non-archive target with a .a suffix would always be considered to be out of date, since it does not have a TOC.
Revision 1.15 / (download) - annotate - [select for diffs], Wed May 29 15:28:05 1996 UTC (27 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.14: +3 -3
lines
Diff to previous 1.14 (colored) to selected 1.176.2.1 (colored)
Fix bug where make will always exit with 0, even when one or more parallel jobs failed. (Only affects parallel make code)
Revision 1.14 / (download) - annotate - [select for diffs], Sun Feb 4 22:20:42 1996 UTC (28 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-2-base,
netbsd-1-2-RELEASE,
netbsd-1-2-BETA
Branch point for: netbsd-1-2
Changes since 1.13: +17 -10
lines
Diff to previous 1.13 (colored) to selected 1.176.2.1 (colored)
fix pr/1421 and pr/1997
Revision 1.13 / (download) - annotate - [select for diffs], Wed Nov 22 17:40:09 1995 UTC (28 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.12: +45 -24
lines
Diff to previous 1.12 (colored) to selected 1.176.2.1 (colored)
Updates for POSIX/SVR4 compiling: arch.c: Don't require ranlib stuff. Not everybody has it. dir.c: SunOS-4 != Solaris; change #ifdef sun to #if sun && !__svr4__ job.c, compat.c: Don't use 'union wait', use int and the W*() macros. main.c: Check for uname() == -1; some unames return > 0... util.c, job.c: Add signal() with BSD semantics for svr4, don't use bsd sigmask and friends.
Revision 1.12 / (download) - annotate - [select for diffs], Thu Nov 2 23:54:48 1995 UTC (28 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.11: +952 -545
lines
Diff to previous 1.11 (colored) to selected 1.176.2.1 (colored)
Minor: - ${.PREFIX} should never contain a full pathname - Fixed gcc -Wall warnings Major: - compatMake is now FALSE. This means that we are now running in full pmake mode: * rules on dependency lines can be executed in parallel and or out of sequence: foo: bar baz can fire the rule for baz before the rule for bar is fired. To enforce bar to be fired before baz, another rule needs to be added. [bar: baz] * adjacent shell commands in a target are now executed by a single invocation of the shell, not one invocation of the shell per line (compatMake can be turned off using the -B flag) - The -j flag now works... I.e. make -j 4 will fork up to four jobs in parallel when it can. The target name is printed before each burst of output caused by the target execution as '--- target ---', when j > 1 - I have changed all the Makefiles so that they work with make -j N, and I have tested the whole netbsd by: 'make -j 4 cleandir; make -j 4 depend; make -j 4; make -j 4 install' - I have not compiled or tested this version of make with -DREMOTE.
Revision 1.11 / (download) - annotate - [select for diffs], Wed Sep 27 18:44:40 1995 UTC (28 years, 6 months ago) by jtc
Branch: MAIN
CVS Tags: netbsd-1-1-base,
netbsd-1-1-RELEASE,
netbsd-1-1-PATCH001,
netbsd-1-1
Changes since 1.10: +5 -5
lines
Diff to previous 1.10 (colored) to selected 1.176.2.1 (colored)
Update lseek() constants: L_SET -> SEEK_SET And add off_t cast to offset argument.
Revision 1.10 / (download) - annotate - [select for diffs], Wed Jun 14 15:19:21 1995 UTC (28 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.9: +7 -2
lines
Diff to previous 1.9 (colored) to selected 1.176.2.1 (colored)
- $NetBSD$ rcsids - Fixed so that .[A-Z]* targets that do not match keywords are ignored as Posix mandates - Added .PHONY target keyword
Revision 1.9 / (download) - annotate - [select for diffs], Sat Dec 24 16:54:28 1994 UTC (29 years, 4 months ago) by cgd
Branch: MAIN
Changes since 1.8: +2 -2
lines
Diff to previous 1.8 (colored) to selected 1.176.2.1 (colored)
a few casts, for peace and quiet.
Revision 1.8 / (download) - annotate - [select for diffs], Fri Nov 25 19:16:48 1994 UTC (29 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.7: +2 -2
lines
Diff to previous 1.7 (colored) to selected 1.176.2.1 (colored)
Don't remove targets when the -n flag is given and make is interrupted. (From Keith Bostic)
Revision 1.7 / (download) - annotate - [select for diffs], Thu Jun 16 18:50:08 1994 UTC (29 years, 10 months ago) by jtc
Branch: MAIN
CVS Tags: netbsd-1-0-base,
netbsd-1-0-RELEASE,
netbsd-1-0-PATCH1,
netbsd-1-0-PATCH06,
netbsd-1-0-PATCH05,
netbsd-1-0-PATCH04,
netbsd-1-0-PATCH03,
netbsd-1-0-PATCH02,
netbsd-1-0-PATCH0,
netbsd-1-0
Changes since 1.6: +2 -2
lines
Diff to previous 1.6 (colored) to selected 1.176.2.1 (colored)
Christos' fix for quoting variable extraction properly.
Revision 1.6 / (download) - annotate - [select for diffs], Mon Jun 6 22:45:29 1994 UTC (29 years, 10 months ago) by jtc
Branch: MAIN
Changes since 1.5: +31 -23
lines
Diff to previous 1.5 (colored) to selected 1.176.2.1 (colored)
Fixes from Christos Zoulas, who used purify, objectcenter and testcenter to find memory leaks and illegal memory accesses.
Revision 1.5 / (download) - annotate - [select for diffs], Sat Mar 5 00:34:48 1994 UTC (30 years, 1 month ago) by cgd
Branch: MAIN
Changes since 1.4: +64 -50
lines
Diff to previous 1.4 (colored) to selected 1.176.2.1 (colored)
fixes/improvements from Christos Zoulas <christos@deshaw.com>.
Revision 1.4 / (download) - annotate - [select for diffs], Thu Jan 13 21:01:51 1994 UTC (30 years, 3 months ago) by jtc
Branch: MAIN
Changes since 1.3: +3 -1
lines
Diff to previous 1.3 (colored) to selected 1.176.2.1 (colored)
Include appropriate header files to bring prototypes into scope.
Revision 1.3 / (download) - annotate - [select for diffs], Sun Aug 1 18:11:48 1993 UTC (30 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.2: +2 -8
lines
Diff to previous 1.2 (colored) to selected 1.176.2.1 (colored)
Add RCS identifiers.
Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 21 18:04:42 1993 UTC (31 years, 1 month ago) by cgd
Branch: MAIN
CVS Tags: patchkit-0-2-2,
netbsd-alpha-1,
netbsd-0-9-base,
netbsd-0-9-RELEASE,
netbsd-0-9-BETA,
netbsd-0-9-ALPHA2,
netbsd-0-9-ALPHA,
netbsd-0-9,
netbsd-0-8
Changes since 1.1: +14 -2
lines
Diff to previous 1.1 (colored) to selected 1.176.2.1 (colored)
after 0.2.2 "stable" patches applied
Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sun Mar 21 09:45:37 1993 UTC (31 years, 1 month ago) by cgd
Branch: WFJ-920714,
CSRG
CVS Tags: WFJ-386bsd-01
Changes since 1.1: +0 -0
lines
Diff to previous 1.1 (colored) to selected 1.176.2.1 (colored)
initial import of 386bsd-0.1 sources
Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (31 years, 1 month ago) by cgd
Branch: MAIN
Diff to selected 1.176.2.1 (colored)
Initial revision