The NetBSD Project

CVS log for src/usr.bin/make/job.c

[BACK] Up to [cvs.NetBSD.org] / src / usr.bin / make

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.177 / (download) - annotate - [select for diffs], Wed Jul 16 15:33:41 2014 UTC (5 weeks, 6 days ago) by christos
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base, netbsd-7, HEAD
Changes since 1.176: +4 -4 lines
Diff to previous 1.176 (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.176 / (download) - annotate - [select for diffs], Sun Aug 4 16:48:15 2013 UTC (12 months, 3 weeks 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)

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 (12 months, 3 weeks ago) by sjg
Branch: MAIN
Changes since 1.174: +4 -4 lines
Diff to previous 1.174 (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 (13 months, 3 weeks 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)

If commandShell hasErrCtl is true, set shellErrFlag for use by
CompatRunCommand() so that behavior in jobs and compat mode
remains consistent.

Revision 1.173 / (download) - annotate - [select for diffs], Wed Jun 5 03:59:43 2013 UTC (14 months, 3 weeks ago) by sjg
Branch: MAIN
Changes since 1.172: +14 -12 lines
Diff to previous 1.172 (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 (17 months, 3 weeks 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)

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 (17 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.170: +5 -5 lines
Diff to previous 1.170 (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 (18 months ago) by christos
Branch: MAIN
Changes since 1.169: +5 -3 lines
Diff to previous 1.169 (colored)

PR/45042: Thomas Cort: HAVE_foo for setrlimit(2) and setpgid(2)

Revision 1.169 / (download) - annotate - [select for diffs], Wed Feb 6 16:36:01 2013 UTC (18 months, 2 weeks ago) by christos
Branch: MAIN
CVS Tags: dholland-make-base
Changes since 1.168: +35 -22 lines
Diff to previous 1.168 (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 (18 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.167: +5 -5 lines
Diff to previous 1.167 (colored)

tools build is non-c-99

Revision 1.167 / (download) - annotate - [select for diffs], Sat Feb 2 15:12:25 2013 UTC (18 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.166: +5 -5 lines
Diff to previous 1.166 (colored)

avoid the long shadow of i

Revision 1.166 / (download) - annotate - [select for diffs], Sat Feb 2 15:11:48 2013 UTC (18 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.165: +5 -4 lines
Diff to previous 1.165 (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 (19 months ago) by christos
Branch: MAIN
Changes since 1.164: +18 -10 lines
Diff to previous 1.164 (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 (19 months ago) by sjg
Branch: MAIN
Changes since 1.163: +3 -13 lines
Diff to previous 1.163 (colored)

Remove Check_Cwd - it is no longer needed.

Revision 1.163 / (download) - annotate - [select for diffs], Tue Jul 3 21:03:40 2012 UTC (2 years, 1 month 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)

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 (2 years, 2 months ago) by joerg
Branch: MAIN
Changes since 1.161: +8 -8 lines
Diff to previous 1.161 (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.161 / (download) - annotate - [select for diffs], Sat Apr 7 18:29:08 2012 UTC (2 years, 4 months 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)

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 (2 years, 11 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-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-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)

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 (3 years ago) by sjg
Branch: MAIN
Changes since 1.158: +6 -3 lines
Diff to previous 1.158 (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 (3 years ago) by christos
Branch: MAIN
Changes since 1.157: +6 -18 lines
Diff to previous 1.157 (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 (3 years ago) by christos
Branch: MAIN
Changes since 1.156: +5 -4 lines
Diff to previous 1.156 (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 (3 years, 4 months 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)

We must now call meta_job_finish() after meta_job_error()
so that .ERROR_META_FILE is captured.

Revision 1.155 / (download) - annotate - [select for diffs], Mon Sep 13 15:36:57 2010 UTC (3 years, 11 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)

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 (4 years ago) by sjg
Branch: MAIN
Changes since 1.153: +4 -3 lines
Diff to previous 1.153 (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 (4 years ago) by sjg
Branch: MAIN
Changes since 1.152: +52 -34 lines
Diff to previous 1.152 (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.152 / (download) - annotate - [select for diffs], Tue Jul 20 16:39:27 2010 UTC (4 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.151: +8 -7 lines
Diff to previous 1.151 (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 (4 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.150: +7 -4 lines
Diff to previous 1.150 (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 (4 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.149: +8 -8 lines
Diff to previous 1.149 (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 (4 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.148: +4 -4 lines
Diff to previous 1.148 (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 (4 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.147: +4 -24 lines
Diff to previous 1.147 (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 (4 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.146: +7 -7 lines
Diff to previous 1.146 (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 (5 years, 2 months ago) by sjg
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.145: +6 -5 lines
Diff to previous 1.145 (colored)

JobExec: child of vfork must not empty the sigset_t that parent will
restore.  Use a separate mask.

Revision 1.145 / (download) - annotate - [select for diffs], Sat Apr 11 09:41:18 2009 UTC (5 years, 4 months 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)

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 (5 years, 7 months ago) by dsl
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.143: +7 -7 lines
Diff to previous 1.143 (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 (5 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.142: +7 -3 lines
Diff to previous 1.142 (colored)

if brk_string fail, so do we.

Revision 1.142 / (download) - annotate - [select for diffs], Sat Dec 13 15:19:29 2008 UTC (5 years, 8 months ago) by dsl
Branch: MAIN
Changes since 1.141: +14 -14 lines
Diff to previous 1.141 (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 (5 years, 9 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-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)

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 (5 years, 10 months ago) by joerg
Branch: MAIN
CVS Tags: matt-mips64-base2
Changes since 1.139: +8 -8 lines
Diff to previous 1.139 (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.139 / (download) - annotate - [select for diffs], Fri Feb 15 21:29:50 2008 UTC (6 years, 6 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)

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 (6 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: christos-broken
Changes since 1.137: +6 -5 lines
Diff to previous 1.137 (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 (6 years, 6 months ago) by dholland
Branch: MAIN
Changes since 1.136: +15 -13 lines
Diff to previous 1.136 (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 (6 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.135: +54 -45 lines
Diff to previous 1.135 (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 (6 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.134: +4 -4 lines
Diff to previous 1.134 (colored)

Implement -dl (aka LOUD) to override '@' at the start of script lines.
Based on supplied patch.

PR: 37202

Revision 1.134 / (download) - annotate - [select for diffs], Fri Dec 21 20:32:24 2007 UTC (6 years, 8 months ago) by dsl
Branch: MAIN
CVS Tags: matt-armv6-base
Changes since 1.133: +9 -3 lines
Diff to previous 1.133 (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.133 / (download) - annotate - [select for diffs], Sun Oct 14 20:22:53 2007 UTC (6 years, 10 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)

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 (6 years, 10 months ago) by apb
Branch: MAIN
Changes since 1.131: +4 -5 lines
Diff to previous 1.131 (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 (6 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.130: +4 -4 lines
Diff to previous 1.130 (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 (6 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.129: +4 -4 lines
Diff to previous 1.129 (colored)

improve on previous

Revision 1.129 / (download) - annotate - [select for diffs], Fri Oct 12 22:49:36 2007 UTC (6 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.128: +5 -4 lines
Diff to previous 1.128 (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 (6 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.127: +5 -6 lines
Diff to previous 1.127 (colored)

Remove tmp[] buffer and strncpy() call.

Revision 1.127 / (download) - annotate - [select for diffs], Thu Oct 11 21:19:28 2007 UTC (6 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.126: +12 -8 lines
Diff to previous 1.126 (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 (6 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.125: +9 -7 lines
Diff to previous 1.125 (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 (6 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.124: +20 -5 lines
Diff to previous 1.124 (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 (7 years, 10 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)

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 (7 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.122: +26 -38 lines
Diff to previous 1.122 (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 (7 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.121: +93 -113 lines
Diff to previous 1.121 (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 (7 years, 10 months ago) by apb
Branch: MAIN
Changes since 1.120: +35 -11 lines
Diff to previous 1.120 (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 (7 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.119: +163 -240 lines
Diff to previous 1.119 (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 (7 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.118: +12 -39 lines
Diff to previous 1.118 (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 (7 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.117: +44 -70 lines
Diff to previous 1.117 (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 (7 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.116: +23 -4 lines
Diff to previous 1.116 (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 (7 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.115: +189 -251 lines
Diff to previous 1.115 (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 (7 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.114: +11 -9 lines
Diff to previous 1.114 (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 (7 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.113: +89 -80 lines
Diff to previous 1.113 (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 (7 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.112: +20 -20 lines
Diff to previous 1.112 (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 (8 years, 1 month 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)

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 (8 years, 4 months 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)

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 (8 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.109: +14 -16 lines
Diff to previous 1.109 (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 (8 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.108: +9 -16 lines
Diff to previous 1.108 (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 (8 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.107: +15 -21 lines
Diff to previous 1.107 (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 (8 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.106: +51 -147 lines
Diff to previous 1.106 (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 (8 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.105: +68 -631 lines
Diff to previous 1.105 (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 (8 years, 5 months ago) by dsl
Branch: MAIN
Changes since 1.104: +14 -9 lines
Diff to previous 1.104 (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 (8 years, 6 months ago) by dsl
Branch: MAIN
Changes since 1.103: +6 -6 lines
Diff to previous 1.103 (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 (8 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.102: +10 -8 lines
Diff to previous 1.102 (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 (8 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.101: +37 -36 lines
Diff to previous 1.101 (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 (8 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.100: +31 -38 lines
Diff to previous 1.100 (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 (8 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.99: +13 -4 lines
Diff to previous 1.99 (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 (8 years, 7 months ago) by dsl
Branch: MAIN
Changes since 1.98: +5 -5 lines
Diff to previous 1.98 (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 (9 years ago) by christos
Branch: MAIN
Changes since 1.97: +15 -15 lines
Diff to previous 1.97 (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 (9 years ago) by christos
Branch: MAIN
Changes since 1.96: +12 -12 lines
Diff to previous 1.96 (colored)

More KNF cleanups from Max Okumoto

Revision 1.96 / (download) - annotate - [select for diffs], Mon Jul 25 22:55:58 2005 UTC (9 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.95: +152 -152 lines
Diff to previous 1.95 (colored)

Whitespace KNF cleanup from Max Okumoto

Revision 1.95 / (download) - annotate - [select for diffs], Wed Jun 29 19:59:42 2005 UTC (9 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.94: +5 -4 lines
Diff to previous 1.94 (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 (9 years, 2 months ago) by jmc
Branch: MAIN
Changes since 1.93: +5 -4 lines
Diff to previous 1.93 (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 (9 years, 2 months ago) by jmc
Branch: MAIN
Changes since 1.92: +6 -5 lines
Diff to previous 1.92 (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 (9 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.91: +4 -4 lines
Diff to previous 1.91 (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 (9 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.90: +40 -26 lines
Diff to previous 1.90 (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 (9 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.89: +4 -4 lines
Diff to previous 1.89 (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 (9 years, 6 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)

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 (9 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.87: +12 -7 lines
Diff to previous 1.87 (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 (10 years, 1 month ago) by jmc
Branch: MAIN
Changes since 1.86: +5 -13 lines
Diff to previous 1.86 (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 (10 years, 1 month ago) by jmc
Branch: MAIN
Changes since 1.85: +11 -3 lines
Diff to previous 1.85 (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.85 / (download) - annotate - [select for diffs], Fri May 7 08:12:15 2004 UTC (10 years, 3 months ago) by sjg
Branch: MAIN
Changes since 1.84: +19 -6 lines
Diff to previous 1.84 (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 (10 years, 3 months ago) by ross
Branch: MAIN
Changes since 1.83: +4 -4 lines
Diff to previous 1.83 (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 (10 years, 8 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)

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 (11 years ago) by agc
Branch: MAIN
Changes since 1.81: +34 -3 lines
Diff to previous 1.81 (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 (11 years ago) by sjg
Branch: MAIN
Changes since 1.80: +39 -24 lines
Diff to previous 1.80 (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 (11 years, 1 month ago) by itojun
Branch: MAIN
Changes since 1.79: +5 -5 lines
Diff to previous 1.79 (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 (11 years, 1 month ago) by itojun
Branch: MAIN
Changes since 1.78: +4 -4 lines
Diff to previous 1.78 (colored)

strlcpy (fixed)

Revision 1.78 / (download) - annotate - [select for diffs], Tue Jul 15 05:38:24 2003 UTC (11 years, 1 month ago) by itojun
Branch: MAIN
Changes since 1.77: +5 -5 lines
Diff to previous 1.77 (colored)

strlcpy

Revision 1.77 / (download) - annotate - [select for diffs], Mon Jul 14 18:19:12 2003 UTC (11 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.76: +17 -16 lines
Diff to previous 1.76 (colored)

Pass WARNS=3

Revision 1.76 / (download) - annotate - [select for diffs], Tue Apr 8 17:46:59 2003 UTC (11 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.75: +4 -4 lines
Diff to previous 1.75 (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 (11 years, 8 months ago) by gson
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.74: +4 -3 lines
Diff to previous 1.74 (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 (11 years, 9 months ago) by enami
Branch: MAIN
Changes since 1.73: +5 -5 lines
Diff to previous 1.73 (colored)

Call fcntl() on the right file descriptors.

Revision 1.73 / (download) - annotate - [select for diffs], Sat Nov 16 22:22:23 2002 UTC (11 years, 9 months ago) by gson
Branch: MAIN
Changes since 1.72: +98 -57 lines
Diff to previous 1.72 (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 (12 years, 2 months ago) by wiz
Branch: MAIN
Changes since 1.71: +167 -144 lines
Diff to previous 1.71 (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 (12 years, 4 months 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)

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 (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.69: +16 -17 lines
Diff to previous 1.69 (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 (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.68: +124 -58 lines
Diff to previous 1.68 (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 (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.67: +10 -13 lines
Diff to previous 1.67 (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 (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.66: +13 -11 lines
Diff to previous 1.66 (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 (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.65: +26 -28 lines
Diff to previous 1.65 (colored)

Remove bogons from JobMatchShell()

Revision 1.65 / (download) - annotate - [select for diffs], Fri Mar 15 15:54:41 2002 UTC (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.64: +12 -15 lines
Diff to previous 1.64 (colored)

Job_ParseShell(): fix keyword counting error.

Revision 1.64 / (download) - annotate - [select for diffs], Thu Mar 14 16:08:38 2002 UTC (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.63: +20 -12 lines
Diff to previous 1.63 (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 (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.62: +7 -6 lines
Diff to previous 1.62 (colored)

Job_AbortAll(): add missing Lst_Close().

Revision 1.62 / (download) - annotate - [select for diffs], Wed Mar 13 17:46:03 2002 UTC (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.61: +5 -4 lines
Diff to previous 1.61 (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 (12 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.60: +22 -15 lines
Diff to previous 1.60 (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 (12 years, 5 months ago) by enami
Branch: MAIN
Changes since 1.59: +5 -6 lines
Diff to previous 1.59 (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 (12 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.58: +4 -4 lines
Diff to previous 1.58 (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 (12 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.57: +12 -9 lines
Diff to previous 1.57 (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 (12 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.56: +4 -3 lines
Diff to previous 1.56 (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 (12 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.55: +3 -10 lines
Diff to previous 1.55 (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 (12 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.54: +4 -3 lines
Diff to previous 1.54 (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 (13 years ago) by wiz
Branch: MAIN
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored)

precede, not preceed.

Revision 1.53 / (download) - annotate - [select for diffs], Tue Jul 24 05:06:40 2001 UTC (13 years, 1 month ago) by matt
Branch: MAIN
Changes since 1.52: +4 -4 lines
Diff to previous 1.52 (colored)

Print out errno when vfork fails.

Revision 1.52 / (download) - annotate - [select for diffs], Tue Jul 3 18:08:50 2001 UTC (13 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.51: +4 -4 lines
Diff to previous 1.51 (colored)

add .USEBEFORE Attribute

Revision 1.51 / (download) - annotate - [select for diffs], Tue Jun 12 23:36:17 2001 UTC (13 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.50: +4 -4 lines
Diff to previous 1.50 (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 (13 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.49: +3 -4 lines
Diff to previous 1.49 (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 (13 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.48: +12 -3 lines
Diff to previous 1.48 (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 (13 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.47: +6 -6 lines
Diff to previous 1.47 (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 (13 years, 3 months ago) by sommerfeld
Branch: MAIN
Changes since 1.46: +37 -5 lines
Diff to previous 1.46 (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 (13 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.45: +9 -7 lines
Diff to previous 1.45 (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 (13 years, 7 months ago) by sommerfeld
Branch: MAIN
Changes since 1.44: +9 -8 lines
Diff to previous 1.44 (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 (13 years, 7 months ago) by sommerfeld
Branch: MAIN
Changes since 1.43: +17 -16 lines
Diff to previous 1.43 (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 (13 years, 7 months ago) by sommerfeld
Branch: MAIN
Changes since 1.42: +8 -4 lines
Diff to previous 1.42 (colored)

Fix token accounting for .BEGIN/.END jobs

Revision 1.42 / (download) - annotate - [select for diffs], Sat Dec 30 14:21:22 2000 UTC (13 years, 7 months ago) by sommerfeld
Branch: MAIN
Changes since 1.41: +18 -13 lines
Diff to previous 1.41 (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 (13 years, 8 months ago) by sommerfeld
Branch: MAIN
Changes since 1.40: +31 -5 lines
Diff to previous 1.40 (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 (13 years, 8 months ago) by sommerfeld
Branch: MAIN
Changes since 1.39: +185 -94 lines
Diff to previous 1.39 (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 (13 years, 8 months ago) by mycroft
Branch: MAIN
Changes since 1.38: +12 -24 lines
Diff to previous 1.38 (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 (13 years, 8 months ago) by sommerfeld
Branch: MAIN
Changes since 1.37: +9 -7 lines
Diff to previous 1.37 (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 (13 years, 8 months ago) by sommerfeld
Branch: MAIN
Changes since 1.36: +35 -4 lines
Diff to previous 1.36 (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 (13 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.35: +69 -36 lines
Diff to previous 1.35 (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 (13 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.34: +98 -12 lines
Diff to previous 1.34 (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 (13 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.33: +23 -16 lines
Diff to previous 1.33 (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 (14 years, 4 months 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)

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.32 / (download) - annotate - [select for diffs], Fri Jan 21 17:08:35 2000 UTC (14 years, 7 months ago) by mycroft
Branch: MAIN
Changes since 1.31: +3 -6 lines
Diff to previous 1.31 (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 (14 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.30: +13 -21 lines
Diff to previous 1.30 (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 (14 years, 11 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)

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 (14 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.28: +10 -8 lines
Diff to previous 1.28 (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 (15 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.27: +46 -40 lines
Diff to previous 1.27 (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 (15 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.26: +9 -4 lines
Diff to previous 1.26 (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 (15 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.25: +4 -4 lines
Diff to previous 1.25 (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 (15 years, 6 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)

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 (15 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.23: +5 -5 lines
Diff to previous 1.23 (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 (15 years, 9 months ago) by itohy
Branch: MAIN
Changes since 1.22: +4 -3 lines
Diff to previous 1.22 (colored)

Reduced memory leaks.
I found some more leaks, but are not in inside of iterations.

Revision 1.22 / (download) - annotate - [select for diffs], Thu Mar 26 19:20:36 1998 UTC (16 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.21: +69 -42 lines
Diff to previous 1.21 (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 (16 years, 11 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)

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 (17 years ago) by kleink
Branch: MAIN
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (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 (17 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.18: +3 -2 lines
Diff to previous 1.18 (colored)

Add WARNS=1
RCSID police

Revision 1.18 / (download) - annotate - [select for diffs], Tue May 6 23:51:30 1997 UTC (17 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.17: +5 -5 lines
Diff to previous 1.17 (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 (17 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

Don't touch .PHONY targets.

Revision 1.16 / (download) - annotate - [select for diffs], Wed Nov 6 17:59:08 1996 UTC (17 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.15: +122 -120 lines
Diff to previous 1.15 (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 (18 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.14: +3 -3 lines
Diff to previous 1.14 (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 (18 years, 6 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)

fix pr/1421 and pr/1997

Revision 1.13 / (download) - annotate - [select for diffs], Wed Nov 22 17:40:09 1995 UTC (18 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.12: +45 -24 lines
Diff to previous 1.12 (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 (18 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.11: +952 -545 lines
Diff to previous 1.11 (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 (18 years, 11 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)

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 (19 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.9: +7 -2 lines
Diff to previous 1.9 (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 (19 years, 8 months ago) by cgd
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

a few casts, for peace and quiet.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Nov 25 19:16:48 1994 UTC (19 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (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 (20 years, 2 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)

Christos' fix for quoting variable extraction properly.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Jun 6 22:45:29 1994 UTC (20 years, 2 months ago) by jtc
Branch: MAIN
Changes since 1.5: +31 -23 lines
Diff to previous 1.5 (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 (20 years, 5 months ago) by cgd
Branch: MAIN
Changes since 1.4: +64 -50 lines
Diff to previous 1.4 (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 (20 years, 7 months ago) by jtc
Branch: MAIN
Changes since 1.3: +3 -1 lines
Diff to previous 1.3 (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 (21 years, 1 month ago) by mycroft
Branch: MAIN
Changes since 1.2: +2 -8 lines
Diff to previous 1.2 (colored)

Add RCS identifiers.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 21 18:04:42 1993 UTC (21 years, 5 months 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)

after 0.2.2 "stable" patches applied

Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (21 years, 5 months ago) by cgd
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>