The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.33 / (download) - annotate - [select for diffs], Tue Oct 1 05:37:17 2013 UTC (6 months, 2 weeks ago) by sjg
Branch: MAIN
CVS Tags: tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, HEAD
Changes since 1.32: +61 -18 lines
Diff to previous 1.32 (colored)

meta_oodate: 'L'ink and 'M'ove entries need extra processing.
The src of a Link should be treated as a file Read
while the target a file Written.
The src of a Move is like a file Deleted
and the target like a file Written.

Revision 1.32 / (download) - annotate - [select for diffs], Tue Jun 25 00:20:54 2013 UTC (9 months, 3 weeks ago) by sjg
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Changes since 1.31: +26 -19 lines
Diff to previous 1.31 (colored)

Add .MAKE.META.IGNORE_PATHS to facilitate local additions to the paths
which should be ignored by meta_oodate().

Revision 1.31 / (download) - annotate - [select for diffs], Mon Jun 24 21:16:02 2013 UTC (9 months, 3 weeks ago) by sjg
Branch: MAIN
Changes since 1.30: +5 -1 lines
Diff to previous 1.30 (colored)

Ignore any files in /proc/

Revision 1.30 / (download) - annotate - [select for diffs], Thu May 16 21:56:56 2013 UTC (11 months ago) by sjg
Branch: MAIN
CVS Tags: tls-maxphys-base
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored)

New compiler doesn't like foo()

Revision 1.29 / (download) - annotate - [select for diffs], Sun Mar 31 05:49:51 2013 UTC (12 months, 2 weeks ago) by sjg
Branch: MAIN
Changes since 1.28: +14 -12 lines
Diff to previous 1.28 (colored)

Refine the effect of .OODATE on command comparison.
Rather than apply it to the whole script, just the current command line
is affected.   This allows a trick like ${.OODATE:M.NOMETA_CMP}
to cause command comparison to be supressed for one command only.

Revision 1.28 / (download) - annotate - [select for diffs], Sat Mar 23 23:39:47 2013 UTC (12 months, 3 weeks ago) by sjg
Branch: MAIN
Changes since 1.27: +2 -1 lines
Diff to previous 1.27 (colored)

After removing an entry from missingFiles,
set ln=NULL after Lst_Remove() to make it clear we won't use it
after this point.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Mar 23 05:31:29 2013 UTC (12 months, 3 weeks ago) by sjg
Branch: MAIN
CVS Tags: agc-symver-base, agc-symver
Changes since 1.26: +18 -2 lines
Diff to previous 1.26 (colored)

If built with filemon support, set .MAKE.PATH_FILEMON to _PATH_FILEMON
so that makefiles can test for it.

Revision 1.26 / (download) - annotate - [select for diffs], Sat Jan 19 04:23:37 2013 UTC (14 months, 4 weeks ago) by sjg
Branch: MAIN
CVS Tags: yamt-pagecache-base8, dholland-make-base
Changes since 1.25: +14 -12 lines
Diff to previous 1.25 (colored)

meta_oodate: rename ignoreOODATE to needOODATE.
if target uses ${.OODATE} in its script;
1. we canno compare commands
2. if we decide it is out-of-date .OODATE must not be empty.
   The only option is to set it to .ALLSRC

Revision 1.25 / (download) - annotate - [select for diffs], Wed Jun 27 17:22:58 2012 UTC (21 months, 3 weeks ago) by sjg
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

gcc 4.2 doesn't like externs inside functions

Revision 1.24 / (download) - annotate - [select for diffs], Wed Sep 21 14:30:47 2011 UTC (2 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, 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.23: +2 -2 lines
Diff to previous 1.23 (colored)

PR/45383: Henning Petersen: Swapped lseek args

Revision 1.23 / (download) - annotate - [select for diffs], Fri Sep 2 16:26:21 2011 UTC (2 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.22: +11 -1 lines
Diff to previous 1.22 (colored)

meta_oodate should ignore makeDependfile

Revision 1.22 / (download) - annotate - [select for diffs], Sun Aug 28 03:54:07 2011 UTC (2 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.21: +10 -2 lines
Diff to previous 1.21 (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.21 / (download) - annotate - [select for diffs], Thu Aug 18 00:00:21 2011 UTC (2 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.20: +7 -1 lines
Diff to previous 1.20 (colored)

If a target is explicitly flagged .META,
a missing .meta file means it is out-of-date.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Jun 22 21:13:12 2011 UTC (2 years, 9 months ago) by sjg
Branch: MAIN
Changes since 1.19: +20 -3 lines
Diff to previous 1.19 (colored)

After each strsep(&p) check that p is valid.
If not the .meta file is corrupted (build interrupted?)
issue a warning and declare target oodate.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Jun 11 02:10:48 2011 UTC (2 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

Use %zu rather than cast

Revision 1.18 / (download) - annotate - [select for diffs], Fri Jun 10 23:57:39 2011 UTC (2 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

size_t on amd64 doesn't like %u, use a cast.

Revision 1.17 / (download) - annotate - [select for diffs], Wed May 4 20:38:32 2011 UTC (2 years, 11 months ago) by sjg
Branch: MAIN
CVS Tags: cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.16: +108 -2 lines
Diff to previous 1.16 (colored)

Add .MAKE.META.BAILIWICK - to identify the scope of make's control.
meta_oodate: if a file that was written or linked within our bailiwick,
but outside of .OBJDIR is missing, add it to missingFiles.
If we get to the end of the .meta file without seeing it [re]moved,
then consider the target out-of-date.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Mar 31 06:50:43 2011 UTC (3 years ago) by sjg
Branch: MAIN
Changes since 1.15: +2 -1 lines
Diff to previous 1.15 (colored)

Call meta_job_finish() from meta_job_error(), so that if
the .ERROR target copies the .meta file, it has been completed.
meta_job_finish() is safe to call again.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Mar 30 22:03:49 2011 UTC (3 years ago) by sjg
Branch: MAIN
Changes since 1.14: +2 -0 lines
Diff to previous 1.14 (colored)

Add NetBSD tags

Revision 1.14 / (download) - annotate - [select for diffs], Tue Mar 29 17:29:20 2011 UTC (3 years ago) by sjg
Branch: MAIN
Changes since 1.13: +9 -10 lines
Diff to previous 1.13 (colored)

Check for extra commands as soon as we reach CWD,
so we return faster (if oodate) and give a more accurate debug message.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Mar 27 19:47:46 2011 UTC (3 years ago) by sjg
Branch: MAIN
Changes since 1.12: +2 -2 lines
Diff to previous 1.12 (colored)

Use curdirOk as the token

Revision 1.12 / (download) - annotate - [select for diffs], Sun Mar 27 19:39:21 2011 UTC (3 years ago) by sjg
Branch: MAIN
Changes since 1.11: +19 -1 lines
Diff to previous 1.11 (colored)

When .MAKE.MODE inlcudes 'meta'; 'curdir=true' enables creating .meta
files in .CURDIR - such as when running make in .OBJDIR with a generated
makefile.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Mar 6 17:41:11 2011 UTC (3 years, 1 month ago) by sjg
Branch: MAIN
Changes since 1.10: +9 -8 lines
Diff to previous 1.10 (colored)

Only need to getcwd() once

Revision 1.10 / (download) - annotate - [select for diffs], Sun Mar 6 04:34:25 2011 UTC (3 years, 1 month ago) by sjg
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9 (colored)

CWD should be compared against cwd

Revision 1.9 / (download) - annotate - [select for diffs], Fri Mar 4 04:55:51 2011 UTC (3 years, 1 month ago) by sjg
Branch: MAIN
CVS Tags: bouyer-quota2-nbase
Changes since 1.8: +2 -8 lines
Diff to previous 1.8 (colored)

main.c now exports curdir[] so we can use it.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Feb 13 21:22:41 2011 UTC (3 years, 2 months ago) by sjg
Branch: MAIN
CVS Tags: bouyer-quota2-base
Changes since 1.7: +71 -2 lines
Diff to previous 1.7 (colored)

When making a target that involves creating itermediate dirs,
realpath() will fail until after those dirs exist.
Try to ensure the same meta file name is used regardless.

Revision 1.7 / (download) - annotate - [select for diffs], Tue Feb 8 05:29:13 2011 UTC (3 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.6: +18 -2 lines
Diff to previous 1.6 (colored)

tmplen should be static

Revision 1.6 / (download) - annotate - [select for diffs], Wed Dec 15 23:03:35 2010 UTC (3 years, 4 months ago) by sjg
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231
Branch point for: bouyer-quota2
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (colored)

Invalidate meta_fname when we finish a job, so that in compat
mode, we do not report a previous .meta file as being involved
in an error.

Revision 1.5 / (download) - annotate - [select for diffs], Thu Dec 9 22:30:17 2010 UTC (3 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.4: +153 -31 lines
Diff to previous 1.4 (colored)

meta_oodate(): we should track 'latestdir' on a per process basis.
Also, only consider target out of date if a not-found file is outside
'CWD'.  Ignore anything in "/tmp/" or tmpdir.

Revision 1.4 / (download) - annotate - [select for diffs], Sat Nov 27 05:02:35 2010 UTC (3 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.3: +21 -7 lines
Diff to previous 1.3 (colored)

When a source file moves, make will ignore the stale dependency,
but if the file in question is one that needs to be compiled (.c or .cc),
it still hands the bogus name to the compiler.

If Dir_MTime() cannot find such a file (gn->iParents is not empty),
see if the basename can be found via .PATH, and if so set gn->path to
the found file.   This prevents the stale path being given to the
compiler.

In meta_oodate(), if a referenced file no longer exists, consider the
target out-of-date.

Also, if meta_oodate() decides a target is out-of-date, and it
it uses .OODATE in its commands, we need .OODATE recomputed.
Undo our call to Make_DoAllVar() so that the call from Make_OODate()
will do the right thing.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Sep 13 21:31:59 2010 UTC (3 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.2: +3 -0 lines
Diff to previous 1.2 (colored)

tools/make/buildmake.sh compiles *.c, make sure meta.c does nothing
unless USE_META is defined.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Sep 13 20:34:21 2010 UTC (3 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.1: +6 -2 lines
Diff to previous 1.1 (colored)

We do not need filemon(9) to have a .meta file

Revision 1.1 / (download) - annotate - [select for diffs], Mon Sep 13 15:36:57 2010 UTC (3 years, 7 months ago) by sjg
Branch: MAIN

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).

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>