The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.191 / (download) - annotate - [select for diffs], Sun Sep 14 02:32:51 2014 UTC (3 months, 1 week ago) by dholland
Branch: MAIN
CVS Tags: HEAD
Changes since 1.190: +30 -35 lines
Diff to previous 1.190 (colored)

Fix handling of the silly $(@D) $(@F) etc. vars so modifiers on them
work. This is issue #1 in PR 49085 from Jarmo Jaakkola, but I've used
a different and cleaner patch this time.

Revision 1.190 / (download) - annotate - [select for diffs], Sat Sep 13 23:21:01 2014 UTC (3 months, 1 week ago) by dholland
Branch: MAIN
Changes since 1.189: +4 -4 lines
Diff to previous 1.189 (colored)

Recognize the crazy POSIXisms $(?D) and $(?F); issue 2 in PR 49085
from Jarmo Jaakkola.

Revision 1.189 / (download) - annotate - [select for diffs], Sat Sep 13 23:10:28 2014 UTC (3 months, 1 week ago) by dholland
Branch: MAIN
Changes since 1.188: +4 -4 lines
Diff to previous 1.188 (colored)

typo in comment, from the first reverted patch

Revision 1.188 / (download) - annotate - [select for diffs], Sun Sep 7 20:55:34 2014 UTC (3 months, 1 week ago) by joerg
Branch: MAIN
Changes since 1.187: +28 -32 lines
Diff to previous 1.187 (colored)

Revert all make changes except the unit tests to the state of three
weeks ago. Individual changes can be reapplied after review.

Revision 1.187 / (download) - annotate - [select for diffs], Sat Aug 23 14:50:24 2014 UTC (3 months, 4 weeks ago) by christos
Branch: MAIN
Changes since 1.186: +35 -31 lines
Diff to previous 1.186 (colored)

PR/49085: Jarmo Jaakkola: fix several parsing errors

Don't exit from var.c:Var_Parse() before possible modifiers are handled
on D and F modified versions of local variables.  Properly expand $(?D)
and $(?F) too.

Make line continuations in rule's commands POSIX compliant.

Fix the syntax error caused by lib(member) as the last target before
a dependency operator.

Document the line continuation change in the manual page.  Also talk
more about the POSIX style local variables and their modifiers.

Add tests covering the fixed problems into d_posix.mk.  The test is
a known failure at the moment because of PR 49086 and PR 49092.

[XXX: unconverted tests]

Revision 1.186 / (download) - annotate - [select for diffs], Fri Jun 20 06:13:45 2014 UTC (6 months ago) by sjg
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base, netbsd-7
Changes since 1.185: +4 -4 lines
Diff to previous 1.185 (colored)

Return varNoError rather than var_Error for ::?= etc.

Revision 1.185 / (download) - annotate - [select for diffs], Mon May 19 22:09:58 2014 UTC (7 months ago) by sjg
Branch: MAIN
Changes since 1.184: +20 -8 lines
Diff to previous 1.184 (colored)

Var_Parse: endc only counts when at the correct nesting depth.
This ensures we correctly detect errors like:
.if empty(VAR && !empty(FOO)

Var_Subst: if Var_Parse returns var_Error it is an error.
This ensures we detect errors like:

VAR:= ${FOO.${GOO}

Revision 1.184 / (download) - annotate - [select for diffs], Wed Sep 4 15:38:26 2013 UTC (15 months, 2 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.183: +12 -3 lines
Diff to previous 1.183 (colored)

Add VAR_INTERNAL as a context for variables set by make itself,
which should not override those set by makefiles.
Currently MAKEFILE is the only variable affected.

Reviewed by: christos

Revision 1.183 / (download) - annotate - [select for diffs], Tue Jul 16 20:00:56 2013 UTC (17 months ago) by sjg
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Changes since 1.182: +11 -3 lines
Diff to previous 1.182 (colored)

When a var is set in the CMD context, it prevents the same name
being set in GLOBAL context.  We should also delete any such
variable in GLOBAL context, else make -V will show the wrong value.

Revision 1.182 / (download) - annotate - [select for diffs], Tue Jul 16 14:00:53 2013 UTC (17 months ago) by christos
Branch: MAIN
Changes since 1.181: +13 -12 lines
Diff to previous 1.181 (colored)

More gmake compatibility:
1. add -w flag to print Entering and Leaving directory name the the beginning
   and the end of processing.
2. export MAKELEVEL=$((MAKELEVEL + 1)) only in the child environment.
3. when printing error messages, prefix them with the program name [$MAKELEVEL]
   for $MAKELEVEL > 0
4. if $MAKEFLAGS consists only of letters assume it is a set of flags (as
   allowed by posix), convert them to -f -l -a -g -s, so that they get parsed
   properly.
With those fixes gmake -> bmake -> gmake -> bmake etc. works as expected.

Revision 1.181 / (download) - annotate - [select for diffs], Mon Jul 15 20:33:11 2013 UTC (17 months, 1 week ago) by christos
Branch: MAIN
Changes since 1.180: +5 -11 lines
Diff to previous 1.180 (colored)

Make this work again like gmake. sjg: see the test program.

Revision 1.180 / (download) - annotate - [select for diffs], Sat Jul 6 18:19:17 2013 UTC (17 months, 2 weeks ago) by sjg
Branch: MAIN
Changes since 1.179: +11 -6 lines
Diff to previous 1.179 (colored)

If using gmake's MAKELEVEL; use it the same way

Revision 1.179 / (download) - annotate - [select for diffs], Tue Jun 18 20:06:09 2013 UTC (18 months ago) by sjg
Branch: MAIN
Changes since 1.178: +6 -6 lines
Diff to previous 1.178 (colored)

Use a #define for the variable name we put in environment to pass .MAKE.LEVEL
in case we don't want to use gmake's MAKELEVEL in a different way.

Revision 1.178 / (download) - annotate - [select for diffs], Mon Jun 10 20:24:58 2013 UTC (18 months, 1 week ago) by christos
Branch: MAIN
Changes since 1.177: +7 -13 lines
Diff to previous 1.177 (colored)

put back previous change

Revision 1.177 / (download) - annotate - [select for diffs], Mon Jun 10 19:07:09 2013 UTC (18 months, 1 week ago) by joerg
Branch: MAIN
Changes since 1.176: +10 -4 lines
Diff to previous 1.176 (colored)

Revert last, it doesn't even build.

Revision 1.176 / (download) - annotate - [select for diffs], Mon Jun 10 16:46:19 2013 UTC (18 months, 1 week ago) by christos
Branch: MAIN
Changes since 1.175: +7 -13 lines
Diff to previous 1.175 (colored)

1. Don't export .MAKE.LEVEL, because this is an illegal variable name for
   some shells; export MAKELEVEL like gmake(1) does.
2. It is absurd for the environment variable to be one greater than the
   make variable!?!?! To wit...
   printf 'all:\n\t@echo ${.MAKE.LEVEL}; printenv .MAKE.LEVEL' | make -f -

Revision 1.175 / (download) - annotate - [select for diffs], Wed May 29 00:23:31 2013 UTC (18 months, 3 weeks ago) by sjg
Branch: MAIN
Changes since 1.174: +4 -6 lines
Diff to previous 1.174 (colored)

Clean up some left overs

Revision 1.174 / (download) - annotate - [select for diffs], Sat May 18 13:12:45 2013 UTC (19 months ago) by sjg
Branch: MAIN
Changes since 1.173: +15 -6 lines
Diff to previous 1.173 (colored)

Var_Delete: expand name if needed.

Revision 1.173 / (download) - annotate - [select for diffs], Sun Feb 24 19:43:37 2013 UTC (21 months, 3 weeks ago) by christos
Branch: MAIN
CVS Tags: dholland-make-base, agc-symver-base, agc-symver
Changes since 1.172: +13 -37 lines
Diff to previous 1.172 (colored)

While it is nice to have the same function do both the upper case and
lower case conversion, it ends up eating 4% of the total time we spend
in make calling tolower() while building libc.

Revision 1.172 / (download) - annotate - [select for diffs], Thu Nov 15 16:42:26 2012 UTC (2 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7
Changes since 1.171: +9 -7 lines
Diff to previous 1.171 (colored)

include the variable name in debugging printfs.

Revision 1.171 / (download) - annotate - [select for diffs], Tue Jun 12 19:21:51 2012 UTC (2 years, 6 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.170: +18 -16 lines
Diff to previous 1.170 (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.170 / (download) - annotate - [select for diffs], Mon Jun 4 20:34:20 2012 UTC (2 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.169: +14 -9 lines
Diff to previous 1.169 (colored)

Var_UnExport() and setenv() can both realloc environ.
Use a common variable (savedEnv) to track that to avoid wasting memory.
Also, if providing setenv and unsetenv, do getenv too to ensure a consistent
set.

Revision 1.169 / (download) - annotate - [select for diffs], Fri May 18 02:28:16 2012 UTC (2 years, 7 months ago) by sjg
Branch: MAIN
CVS Tags: yamt-pagecache-base5
Changes since 1.168: +5 -4 lines
Diff to previous 1.168 (colored)

Avoid nested extern declaration warnings

Revision 1.168 / (download) - annotate - [select for diffs], Tue Apr 24 20:26:58 2012 UTC (2 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.167: +4 -4 lines
Diff to previous 1.167 (colored)

Var* are generally very liberal with memory, with the expectation
that none of it persists for long.
This isn't always true - for example a long running .for loop.

Buf_DestroyCompact() is used by Var_Subst(), rather than Buf_Destroy().
If it looks like we can save BUF_COMPACT_LIMIT (128) or more bytes,
call realloc.  This can reduce memory consumption by about 20%
Setting BUF_COMPACT_LIMIT to 0 dissables this.

Revision 1.167 / (download) - annotate - [select for diffs], Fri Jun 3 21:10:42 2011 UTC (3 years, 6 months ago) by sjg
Branch: MAIN
CVS Tags: 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-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.166: +19 -4 lines
Diff to previous 1.166 (colored)

ApplyModifiers: if we parse a variable in the modifier list,
do not consider it a nested modifier set, unless it is followed by
endc, a ':' or end of string.

Revision 1.166 / (download) - annotate - [select for diffs], Sat May 21 07:30:42 2011 UTC (3 years, 7 months ago) by tsutsui
Branch: MAIN
CVS Tags: cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.165: +4 -3 lines
Diff to previous 1.165 (colored)

Explicitly #include <time.h> for time(3) and strftime(3).
Fixes warnings on some non NetBSD hosts.

Revision 1.165 / (download) - annotate - [select for diffs], Mon Apr 11 14:49:09 2011 UTC (3 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.164: +6 -6 lines
Diff to previous 1.164 (colored)

If a "long" modifier name does not match, goto default case
so SysV modifier can be tried.

Revision 1.164 / (download) - annotate - [select for diffs], Mon Apr 11 01:44:15 2011 UTC (3 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.163: +43 -5 lines
Diff to previous 1.163 (colored)

Add :localtime and :gmtime which use value as format string for strftime.

Revision 1.163 / (download) - annotate - [select for diffs], Thu Apr 7 01:40:01 2011 UTC (3 years, 8 months ago) by joerg
Branch: MAIN
Changes since 1.162: +89 -3 lines
Diff to previous 1.162 (colored)

Add the :hash modifier to compute a 32bit hash of an variable.
This uses MurmurHash3 to get a reasonable collission-free hash with
small code. The result is endian neutral.

Revision 1.162 / (download) - annotate - [select for diffs], Sun Mar 6 00:02:15 2011 UTC (3 years, 9 months ago) by sjg
Branch: MAIN
Changes since 1.161: +11 -7 lines
Diff to previous 1.161 (colored)

Add unit tests to check that exists(some/dir/) works

Also fix handling of sysV substitutions when lhs and variable are empty.

Also that modifiers do not cause errors during conditional tests
when undefined variables should otherwise be ok.
Ie. .if defined(nosuch) && ${nosuch:Mx} != ""

Revision 1.161 / (download) - annotate - [select for diffs], Thu Dec 2 16:46:22 2010 UTC (4 years ago) by christos
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.160: +4 -4 lines
Diff to previous 1.160 (colored)

From Aleksey Cheusov: Fix unexpected behavior with:
all: test1 test2
test1:
	@echo ${foo::=foo-text}
test2:
	@echo $(foo::=foo-text)
Saying:
nbmake: Unclosed substitution for foo (} missing)
for test 2

Revision 1.160 / (download) - annotate - [select for diffs], Thu Dec 2 16:36:55 2010 UTC (4 years ago) by christos
Branch: MAIN
Changes since 1.159: +9 -3 lines
Diff to previous 1.159 (colored)

add commented out a possible addition that provides $^ like gmake, but
I am not sure if we should add it, since we already have $> for it.

Revision 1.159 / (download) - annotate - [select for diffs], Sun Jun 6 01:13:12 2010 UTC (4 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.158: +12 -5 lines
Diff to previous 1.158 (colored)

Add .export-env which tells make to export a variable to the environment
but not to track it - as is done for .export
This allows the variable to be updated without affecting what was put
into the environment.
Older versions of make will simply treat this as .export

Revision 1.158 / (download) - annotate - [select for diffs], Wed Apr 21 04:25:27 2010 UTC (4 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.157: +10 -3 lines
Diff to previous 1.157 (colored)

If we do .export (all) and have any variables that involve :sh
we will hit an error (var is recursive) while trying to evaluate that.
Fix, and add a unit test for this.

Revision 1.157 / (download) - annotate - [select for diffs], Tue Apr 20 17:48:16 2010 UTC (4 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.156: +6 -4 lines
Diff to previous 1.156 (colored)

Behavior of realpath() appears to vary.
To ensure consistent results, use stat(2) as a final check for success.

Revision 1.156 / (download) - annotate - [select for diffs], Thu Apr 15 03:48:39 2010 UTC (4 years, 8 months ago) by sjg
Branch: MAIN
Changes since 1.155: +35 -4 lines
Diff to previous 1.155 (colored)

Add :tA to attempt to resolve to absoute path using realpath().

Revision 1.155 / (download) - annotate - [select for diffs], Thu Nov 19 00:30:25 2009 UTC (5 years, 1 month ago) by sjg
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.154: +107 -3 lines
Diff to previous 1.154 (colored)

Add .unexport - the exact opposite of .export
and .unexport-env which unexport's all previously .export'd globals
as well as clearing environ[].
Allow's sys.mk near total controll.

Reviewed by: apb

Revision 1.154 / (download) - annotate - [select for diffs], Tue Sep 8 17:29:20 2009 UTC (5 years, 3 months ago) by sjg
Branch: MAIN
Changes since 1.153: +20 -3 lines
Diff to previous 1.153 (colored)

Reviewed by: apb

Use .MAKE.LEVEL to track recursion.
The first instance of make will have .MAKE.LEVEL 0, which
can be handy for excluding rules which should not apply
in a sub-make.
gmake and freebsd's make have a similar mechanism, but each
uses a different variable to track it.  Since we cannot be
compatible with both, we allow the makefiles to cope if they want
by handling the export of .MAKE.LEVEL+1 in Var_Set().

Revision 1.153 / (download) - annotate - [select for diffs], Mon Sep 7 17:56:24 2009 UTC (5 years, 3 months ago) by sjg
Branch: MAIN
Changes since 1.152: +12 -5 lines
Diff to previous 1.152 (colored)

PR: 41998

:Ufu\:goo

should expand to fu:goo even when it appears in :M${:Ufu\:goo}
When scanning for :M do not compress \: if we know we have
to call Var_Subst.

Revision 1.152 / (download) - annotate - [select for diffs], Tue Jun 16 05:44:06 2009 UTC (5 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.151: +19 -14 lines
Diff to previous 1.151 (colored)

Child of vfork() must not alter the state of parent.
There is no need to touch the state of vars in child anyway.
Change 2nd arg to Var_Export1() to indicate if we are the parent or child,
and only set flags in the parent.

Revision 1.151 / (download) - annotate - [select for diffs], Wed Feb 18 21:06:47 2009 UTC (5 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.150: +4 -4 lines
Diff to previous 1.150 (colored)

adjust patch to current.

Revision 1.150 / (download) - annotate - [select for diffs], Wed Feb 18 20:08:32 2009 UTC (5 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.149: +5 -4 lines
Diff to previous 1.149 (colored)

CID 5044: Protect against NULL deref.

Revision 1.149 / (download) - annotate - [select for diffs], Wed Jan 28 21:38:13 2009 UTC (5 years, 10 months ago) by dsl
Branch: MAIN
Branch point for: jym-xensuspend
Changes since 1.148: +4 -4 lines
Diff to previous 1.148 (colored)

Allow for () in the argument to .ifdef et al.
Save/restore current values of global data across expression evaluation
to give ${foo:? ...} a change of working inside another .if.

Revision 1.148 / (download) - annotate - [select for diffs], Fri Jan 23 21:26:30 2009 UTC (5 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.147: +32 -32 lines
Diff to previous 1.147 (colored)

Change 'ClientData' to 'void *' so that relevant parameters can
be made 'const void *'.

Revision 1.147 / (download) - annotate - [select for diffs], Sun Jan 18 01:31:12 2009 UTC (5 years, 11 months ago) by lukem
Branch: MAIN
Changes since 1.146: +5 -5 lines
Diff to previous 1.146 (colored)

fix -Wsign-compare issues

Revision 1.146 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:37 2009 UTC (5 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.145: +134 -164 lines
Diff to previous 1.145 (colored)

Change 'Buffer' so that it is the actual struct, not a pointer to it.
Saves having to malloc/free a fixed size structure.
Buf_Init() now takes ptr to Buffer to initialiase.
Change Buf_Destroy() to return ptr to string when not freed.
Remove large number of casts to (Byte) and (Byte *) - 'Byte' is 'char' here.
Buf_AddByte[s] guarantees that the data is 0 termininated, so never add '\0'.
Keep 'count' not 'left' and 'inPtr', code is simplier with only one update.
Fix fallou, no functional change.

Revision 1.145 / (download) - annotate - [select for diffs], Fri Jan 16 21:14:30 2009 UTC (5 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.144: +5 -5 lines
Diff to previous 1.144 (colored)

Debug print improvements.

Revision 1.144 / (download) - annotate - [select for diffs], Mon Dec 29 10:18:38 2008 UTC (5 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.143: +6 -11 lines
Diff to previous 1.143 (colored)

In the :M code, 'pattern' is always malloced memory - so unconditionally
free.

Revision 1.143 / (download) - annotate - [select for diffs], Mon Dec 29 10:12:30 2008 UTC (5 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.142: +5 -5 lines
Diff to previous 1.142 (colored)

Count both () and {} when looking for the end of a :M pattern.
In particular inside .if empty(...) it was only counting ().
In reality this needs further changes.
This may well fix recent pkgsrc breakage.

Revision 1.142 / (download) - annotate - [select for diffs], Tue Dec 23 21:56:38 2008 UTC (5 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.141: +22 -20 lines
Diff to previous 1.141 (colored)

Treat '\\' as a possible terminator for a loop control variable.
(Typically an escaped \: of a nested modifier.)

Revision 1.141 / (download) - annotate - [select for diffs], Sun Dec 21 10:44:10 2008 UTC (6 years ago) by dsl
Branch: MAIN
Changes since 1.140: +46 -59 lines
Diff to previous 1.140 (colored)

Don't allow $) $} $: or $$ as variable expansions, they confuse other
  parts of make that try to scan through variable expansions.
  (given the make syntax that is all rather doomed anyway!)
Move the check for $\0 to a place where it will be detected - otherwise
  the parser will run off the input buffer!

Revision 1.140 / (download) - annotate - [select for diffs], Sat Dec 20 18:08:24 2008 UTC (6 years ago) by dsl
Branch: MAIN
Changes since 1.139: +4 -4 lines
Diff to previous 1.139 (colored)

A lot of code assumes that the pointer returned by Buf_GetAll() is malloced.
Replace Buf_Discard() with Buf_Empty() since the former might leave the
'outPtr != buffer' and the only caller wanted all the data discared.
Remove 'outPtr' now that it always equals 'buffer'.
The assumption about Buf_GetAll()is now guaranteed by design.

Revision 1.139 / (download) - annotate - [select for diffs], Sat Dec 20 17:14:04 2008 UTC (6 years ago) by dsl
Branch: MAIN
Changes since 1.138: +35 -17 lines
Diff to previous 1.138 (colored)

Do not allow Var_Set() or Var_Append() to set the empty variable (which will
now forever remain undefined).
Rework/simplify code to avoid UNCONST().

Revision 1.138 / (download) - annotate - [select for diffs], Sat Dec 20 16:03:59 2008 UTC (6 years ago) by dsl
Branch: MAIN
Changes since 1.137: +98 -98 lines
Diff to previous 1.137 (colored)

Change some "^I  *^I" to "^I^I" and align the comment block about
variable modifiers.

Revision 1.137 / (download) - annotate - [select for diffs], Fri Dec 19 21:33:10 2008 UTC (6 years ago) by christos
Branch: MAIN
Changes since 1.136: +10 -3 lines
Diff to previous 1.136 (colored)

add a little more debugging.

Revision 1.136 / (download) - annotate - [select for diffs], Sat Dec 13 15:19:29 2008 UTC (6 years ago) by dsl
Branch: MAIN
Changes since 1.135: +22 -22 lines
Diff to previous 1.135 (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.135 / (download) - annotate - [select for diffs], Sat Dec 13 14:26:10 2008 UTC (6 years ago) by dsl
Branch: MAIN
Changes since 1.134: +6 -3 lines
Diff to previous 1.134 (colored)

Do not let the variable name "" be set from the command line (-D "")
or from ::= modifiers (${::=foo}).

Revision 1.134 / (download) - annotate - [select for diffs], Mon Oct 6 22:09:21 2008 UTC (6 years, 2 months ago) by joerg
Branch: MAIN
CVS Tags: netbsd-5-base, 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, 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, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, 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, matt-mips64-base2
Changes since 1.133: +23 -23 lines
Diff to previous 1.133 (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.133 / (download) - annotate - [select for diffs], Thu Jul 31 15:19:19 2008 UTC (6 years, 4 months ago) by joerg
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2
Changes since 1.132: +16 -9 lines
Diff to previous 1.132 (colored)

Micro-optimise VarQuote by exploiting that meta characters are normally
rare and skipping over normal characters with strcspn is therefore
faster. Further simplify logic by always setting newline and precompute
the size of the string.

OK christos@

Revision 1.132 / (download) - annotate - [select for diffs], Thu Jul 31 14:59:39 2008 UTC (6 years, 4 months ago) by joerg
Branch: MAIN
Changes since 1.131: +4 -4 lines
Diff to previous 1.131 (colored)

Meta characters are a constant, mark it so.

Revision 1.131 / (download) - annotate - [select for diffs], Thu May 15 21:05:54 2008 UTC (6 years, 7 months ago) by sjg
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, hpcarm-cleanup-nbase
Changes since 1.130: +18 -9 lines
Diff to previous 1.130 (colored)

VAR_CMD context is used by conditionals and other purposes, so
actually set VAR_FROM_CMD when appropriate and only skip setting in
VAR_GLOBAL when that flag is set.

Revision 1.130 / (download) - annotate - [select for diffs], Thu May 15 18:25:12 2008 UTC (6 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.129: +7 -3 lines
Diff to previous 1.129 (colored)

Disable this for now, VAR_CMD is abused for other purposes...

Revision 1.129 / (download) - annotate - [select for diffs], Wed May 14 14:27:02 2008 UTC (6 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.128: +10 -3 lines
Diff to previous 1.128 (colored)

Do not set vars in VAR_GLOBAL context, if they have been set on the
command line.
Add a suitable unit-test.

Revision 1.128 / (download) - annotate - [select for diffs], Mon Mar 31 00:12:21 2008 UTC (6 years, 8 months ago) by sjg
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42, wrstuden-revivesa
Changes since 1.127: +11 -5 lines
Diff to previous 1.127 (colored)

If the name passed to Var_Exists contains '$' run it through Var_Subst.

Revision 1.127 / (download) - annotate - [select for diffs], Fri Feb 15 21:29:50 2008 UTC (6 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base
Changes since 1.126: +59 -75 lines
Diff to previous 1.126 (colored)

back all changes out until I fix it properly.

Revision 1.126 / (download) - annotate - [select for diffs], Fri Feb 15 02:50:53 2008 UTC (6 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: christos-broken
Changes since 1.125: +5 -5 lines
Diff to previous 1.125 (colored)

remove error/noerror const

Revision 1.125 / (download) - annotate - [select for diffs], Fri Feb 15 02:37:51 2008 UTC (6 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.124: +6 -6 lines
Diff to previous 1.124 (colored)

- symbolic names for error and no error
- more size_t

Revision 1.124 / (download) - annotate - [select for diffs], Thu Feb 14 22:11:20 2008 UTC (6 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.123: +74 -58 lines
Diff to previous 1.123 (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.123 / (download) - annotate - [select for diffs], Sat Oct 13 19:59:52 2007 UTC (7 years, 2 months ago) by apb
Branch: MAIN
CVS Tags: matt-armv6-base, cube-autoconf-base, cube-autoconf
Changes since 1.122: +37 -27 lines
Diff to previous 1.122 (colored)

Don't write into const strings; not even if we intend to
reinstate the original contents later.

Revision 1.122 / (download) - annotate - [select for diffs], Sat Oct 13 16:16:41 2007 UTC (7 years, 2 months ago) by apb
Branch: MAIN
Changes since 1.121: +12 -16 lines
Diff to previous 1.121 (colored)

* Convert all uses of strdup() to estrdup();
* Use estrndup() in a few cases where it simplifies the code;
* Provide compatibility definitions of strndup and estrndup;

Revision 1.121 / (download) - annotate - [select for diffs], Sat Oct 13 14:32:18 2007 UTC (7 years, 2 months ago) by apb
Branch: MAIN
Changes since 1.120: +7 -7 lines
Diff to previous 1.120 (colored)

Oops, missed a few more comments in previous.

Revision 1.120 / (download) - annotate - [select for diffs], Sat Oct 13 13:54:06 2007 UTC (7 years, 2 months ago) by apb
Branch: MAIN
Changes since 1.119: +4 -4 lines
Diff to previous 1.119 (colored)

Correct documentation for Var_Parse's freePtr arg.  It's a pointer to
the thing to be freed (or NULL if nothing to free), not to a pointer to
boolean saying whether or not to free the result.

Revision 1.119 / (download) - annotate - [select for diffs], Tue Oct 9 05:55:03 2007 UTC (7 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.118: +12 -5 lines
Diff to previous 1.118 (colored)

Fix an off-by-one error in handing mal-formed modifiers.
The issue seems to have been present for some time, only showed up
when running unit-tests on SunOS.
Make sure we get an error message, but otherwise behave as before.

Revision 1.118 / (download) - annotate - [select for diffs], Fri Oct 5 15:27:46 2007 UTC (7 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.117: +196 -3 lines
Diff to previous 1.117 (colored)

Add the ability to .export variables to the environment.

Revision 1.117 / (download) - annotate - [select for diffs], Sat Jun 16 19:47:29 2007 UTC (7 years, 6 months ago) by dsl
Branch: MAIN
CVS Tags: matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: matt-armv6
Changes since 1.116: +6 -5 lines
Diff to previous 1.116 (colored)

Under DEBUG(VAR) report when the variable wasn't found.
Disposes of pr bin/15842

Revision 1.116 / (download) - annotate - [select for diffs], Mon Jan 1 21:29:01 2007 UTC (7 years, 11 months ago) by dsl
Branch: MAIN
Changes since 1.115: +8 -8 lines
Diff to previous 1.115 (colored)

Since the 'buf' code here is only used by make, we don't need two names
for the default buffer size of 256.
Also allow for the trailing 0 byte!

Revision 1.115 / (download) - annotate - [select for diffs], Fri Oct 27 21:00:19 2006 UTC (8 years, 1 month ago) by dsl
Branch: MAIN
CVS Tags: netbsd-4-base
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.114: +18 -18 lines
Diff to previous 1.114 (colored)

Since 'ClientData' is 'void *', nuke almost all the (ClientData) casts.

Revision 1.114 / (download) - annotate - [select for diffs], Sun Oct 15 08:38:22 2006 UTC (8 years, 2 months ago) by dsl
Branch: MAIN
Changes since 1.113: +11 -11 lines
Diff to previous 1.113 (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.113 / (download) - annotate - [select for diffs], Sat Aug 26 18:17:42 2006 UTC (8 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.112: +39 -39 lines
Diff to previous 1.112 (colored)

More programs using efun.

Revision 1.112 / (download) - annotate - [select for diffs], Fri Jul 28 17:08:55 2006 UTC (8 years, 4 months ago) by sjg
Branch: MAIN
CVS Tags: abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.111: +6 -5 lines
Diff to previous 1.111 (colored)

Indicate which modifier a result applies to, helps debug complex cases.

Revision 1.111 / (download) - annotate - [select for diffs], Thu Jun 29 22:01:17 2006 UTC (8 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.110: +15 -7 lines
Diff to previous 1.110 (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.110 / (download) - annotate - [select for diffs], Fri May 19 17:29:01 2006 UTC (8 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: chap-midi-nbase, chap-midi-base
Branch point for: chap-midi
Changes since 1.109: +4 -3 lines
Diff to previous 1.109 (colored)

Coverity CI D3758: Plug memory leak.

Revision 1.109 / (download) - annotate - [select for diffs], Fri May 19 17:27:06 2006 UTC (8 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.108: +7 -4 lines
Diff to previous 1.108 (colored)

Coverity CID 3757: Plug memory leak.

Revision 1.108 / (download) - annotate - [select for diffs], Thu May 11 15:37:07 2006 UTC (8 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.107: +1172 -1130 lines
Diff to previous 1.107 (colored)

Extract the variable modifier logic to a separate function.
This cuts Var_Parse in half! and allows the modifier logic to
be used recursively - when getting modifiers via variables.

Add new unit-test, to check that certain error cases are handled
correctly.

Revision 1.107 / (download) - annotate - [select for diffs], Sat Apr 22 19:40:40 2006 UTC (8 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.106: +5 -3 lines
Diff to previous 1.106 (colored)

Coverity CID 529: Call VarFreeEnv to prevent leak.

Revision 1.106 / (download) - annotate - [select for diffs], Sat Apr 22 19:32:35 2006 UTC (8 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.105: +5 -3 lines
Diff to previous 1.105 (colored)

Coverity CID 534: Free junk variables on return from Var_Parse.

Revision 1.105 / (download) - annotate - [select for diffs], Sat Apr 22 19:28:51 2006 UTC (8 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.104: +35 -16 lines
Diff to previous 1.104 (colored)

Coverity CID 533: Plug memory leak.
Add a new function VarFreeEnv() to free environment variables and use it.

Revision 1.104 / (download) - annotate - [select for diffs], Fri Mar 31 21:58:08 2006 UTC (8 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.103: +31 -27 lines
Diff to previous 1.103 (colored)

Add some coverity allocation comments, and change the way the allocator
functions work. When they allocate storage that needs to be freed, instead
of setting a boolean, set the pointer to be freed. Plug some more memory
leaks found by inspection.

Revision 1.103 / (download) - annotate - [select for diffs], Sun Mar 19 01:54:21 2006 UTC (8 years, 9 months ago) by sjg
Branch: MAIN
Changes since 1.102: +13 -6 lines
Diff to previous 1.102 (colored)

Fix :P modifier so it actually works as described.
I.e ${var.c:P} should expand to the absolute path of var.c found via .PATH

Revision 1.102 / (download) - annotate - [select for diffs], Sun Feb 26 21:43:00 2006 UTC (8 years, 9 months ago) by sjg
Branch: MAIN
Changes since 1.101: +9 -6 lines
Diff to previous 1.101 (colored)

Update man page and add test case for specifying modifiers via variable.
Also allow said variable to appear anywhere in the modifier list.

Revision 1.101 / (download) - annotate - [select for diffs], Sat Feb 18 01:29:27 2006 UTC (8 years, 10 months ago) by sjg
Branch: MAIN
Changes since 1.100: +17 -4 lines
Diff to previous 1.100 (colored)

Allow variable modifiers to be specified via variable.

Revision 1.100 / (download) - annotate - [select for diffs], Sat Aug 27 08:04:26 2005 UTC (9 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.99: +25 -14 lines
Diff to previous 1.99 (colored)

PR/31077: Wil L: /usr/bin/make can read off of end of buffer

Revision 1.99 / (download) - annotate - [select for diffs], Mon Aug 8 16:42:54 2005 UTC (9 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.98: +57 -57 lines
Diff to previous 1.98 (colored)

From Max Okumoto:
- Remove casts to NULL.
- Remove space between cast and object.

Revision 1.98 / (download) - annotate - [select for diffs], Fri Aug 5 00:53:18 2005 UTC (9 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.97: +11 -11 lines
Diff to previous 1.97 (colored)

More KNF cleanups from Max Okumoto

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

Whitespace KNF cleanup from Max Okumoto

Revision 1.96 / (download) - annotate - [select for diffs], Fri Jul 1 16:45:38 2005 UTC (9 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.95: +10 -4 lines
Diff to previous 1.95 (colored)

PR/29985: Roland Illig: make(1) interprets backslash wrongly in for
loop expansions, when the expanded variable ends in backslash and
the backslash is the last character on the line. While this fix is
ugly (detect the condition and append a space), it is the least
intrusive for now.

Revision 1.95 / (download) - annotate - [select for diffs], Fri Jun 3 07:02:39 2005 UTC (9 years, 6 months ago) by lukem
Branch: MAIN
Changes since 1.94: +16 -17 lines
Diff to previous 1.94 (colored)

* Improve error handling with unrecognized chars after :t.
* Explicitly goto default_case for unknown chars encountered after
  various : modifiers, rather than multiple FALLTHRUs.
* Appease gcc -Wuninitialized for sv_name and v_ctxt.

Discussed with sjg.

Revision 1.94 / (download) - annotate - [select for diffs], Fri Jun 3 05:56:25 2005 UTC (9 years, 6 months ago) by lukem
Branch: MAIN
Changes since 1.93: +5 -4 lines
Diff to previous 1.93 (colored)

cosmetic comment tweak

Revision 1.93 / (download) - annotate - [select for diffs], Wed Jun 1 17:17:34 2005 UTC (9 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.92: +52 -15 lines
Diff to previous 1.92 (colored)

Add :Ox for random ordering, based on patch from
Mike M. Volokhov <mishka@apk.od.ua>

Revision 1.92 / (download) - annotate - [select for diffs], Wed Feb 16 15:11:53 2005 UTC (9 years, 10 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.91: +62 -62 lines
Diff to previous 1.91 (colored)

PR/29203, PR/29204: Max Okumoto: KNF changes to make [no functional changes]

Revision 1.91 / (download) - annotate - [select for diffs], Sat Oct 30 20:49:05 2004 UTC (10 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.90: +4 -4 lines
Diff to previous 1.90 (colored)

Add (unsigned char) cast to ctype functions

Revision 1.90 / (download) - annotate - [select for diffs], Thu Jul 1 20:38:09 2004 UTC (10 years, 5 months ago) by jmc
Branch: MAIN
Changes since 1.89: +14 -81 lines
Diff to previous 1.89 (colored)

Change to use __unused instead and provide a compat definition in make.h if
not already defined from cdefs.h

Revision 1.89 / (download) - annotate - [select for diffs], Thu Jul 1 04:39:31 2004 UTC (10 years, 5 months ago) by jmc
Branch: MAIN
Changes since 1.88: +71 -4 lines
Diff to previous 1.88 (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.88 / (download) - annotate - [select for diffs], Fri May 7 00:04:40 2004 UTC (10 years, 7 months ago) by ross
Branch: MAIN
Changes since 1.87: +4 -4 lines
Diff to previous 1.87 (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.87 / (download) - annotate - [select for diffs], Fri Feb 20 09:03:26 2004 UTC (10 years, 10 months ago) by sjg
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.86: +10 -4 lines
Diff to previous 1.86 (colored)

Fix :M so that modifiers in nested variables don't terminate parsing
early.  Add a unit-test to verify it works and keeps working.
Re-jig the unit-tests so that all are sub makefiles.

Revision 1.86 / (download) - annotate - [select for diffs], Sat Jan 24 19:58:54 2004 UTC (10 years, 10 months ago) by dsl
Branch: MAIN
Changes since 1.85: +14 -14 lines
Diff to previous 1.85 (colored)

Restore correct name string when VarGetPattern() returns.
Stops error from free() evaluating ${x::=y} when x is undefined.
(Erm why is free() allowed to write to fd 2?)

Revision 1.85 / (download) - annotate - [select for diffs], Thu Jan 8 23:55:05 2004 UTC (10 years, 11 months ago) by sjg
Branch: MAIN
Changes since 1.84: +6 -3 lines
Diff to previous 1.84 (colored)

Fix :?: modifier so that it works again.

Revision 1.84 / (download) - annotate - [select for diffs], Fri Dec 26 23:13:32 2003 UTC (10 years, 11 months ago) by jmc
Branch: MAIN
Changes since 1.83: +18 -28 lines
Diff to previous 1.83 (colored)

Support variable expansions inside of SYSV style = substitutions. Better matches
expectations (and some cases of historical behavior I've found). Also fixes
PR#3865

Revision 1.83 / (download) - annotate - [select for diffs], Fri Dec 26 08:03:06 2003 UTC (10 years, 11 months ago) by jmc
Branch: MAIN
Changes since 1.82: +5 -5 lines
Diff to previous 1.82 (colored)

Don't assume startc is always {, set delim to endc when separating the args to
the ? test.

Revision 1.82 / (download) - annotate - [select for diffs], Thu Oct 23 15:58:29 2003 UTC (11 years, 2 months ago) by jmc
Branch: MAIN
Changes since 1.81: +21 -7 lines
Diff to previous 1.81 (colored)

Fixes from PR#23210 to eliminate use of asprintf which makes cross building
on non-NetBSD hosts work again

Revision 1.81 / (download) - annotate - [select for diffs], Sat Sep 27 21:29:37 2003 UTC (11 years, 2 months ago) by sjg
Branch: MAIN
Changes since 1.80: +471 -108 lines
Diff to previous 1.80 (colored)

Implement :[] modifier to allow picking a range of words out of a variable.
Also :tW and a W flag to :C and :S to allow treating value as a single word.
Add unit tests for the above, and fix some corner cases.
Based on patches supplied by Alan Barrett <apb@cequrux.com>

Revision 1.80 / (download) - annotate - [select for diffs], Thu Aug 7 11:14:59 2003 UTC (11 years, 4 months ago) by agc
Branch: MAIN
Changes since 1.79: +33 -3 lines
Diff to previous 1.79 (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.79 / (download) - annotate - [select for diffs], Thu Jul 31 13:48:11 2003 UTC (11 years, 4 months ago) by scw
Branch: MAIN
Changes since 1.78: +4 -4 lines
Diff to previous 1.78 (colored)

Const poisoning.

Revision 1.78 / (download) - annotate - [select for diffs], Tue Jul 29 09:06:29 2003 UTC (11 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.77: +5 -3 lines
Diff to previous 1.77 (colored)

A couple of other places where delim should be set

Revision 1.77 / (download) - annotate - [select for diffs], Tue Jul 29 08:44:41 2003 UTC (11 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.76: +5 -3 lines
Diff to previous 1.76 (colored)

First bug picked up by the unit tests - delim wasn't always initialized.
Avoid putting '\' in test case script lines since shell's like that on
SunOS insist on interpreting them.

Revision 1.76 / (download) - annotate - [select for diffs], Mon Jul 28 22:52:10 2003 UTC (11 years, 4 months ago) by sjg
Branch: MAIN
Changes since 1.75: +5 -4 lines
Diff to previous 1.75 (colored)

Fix parsing bug for :ts - patch from Alan Barrett <apb@cequrux.com>
Also add simple unit-test jig (regress/usr.bin/make will use it too)
but having it local here makes inclusion in bmake simpler.

Revision 1.75 / (download) - annotate - [select for diffs], Wed Jul 23 18:06:46 2003 UTC (11 years, 5 months ago) by sjg
Branch: MAIN
Changes since 1.74: +4 -4 lines
Diff to previous 1.74 (colored)

Fix merge problem with ts modifier and const correctness.
Need to pass nstr to VarModify.

Revision 1.74 / (download) - annotate - [select for diffs], Mon Jul 14 20:39:20 2003 UTC (11 years, 5 months ago) by sjg
Branch: MAIN
Changes since 1.73: +105 -36 lines
Diff to previous 1.73 (colored)

Add a :ts[c] modifier to allow controlling the separator used between
words in a variable expansion.  If 'c' is omitted no separator is used.

Revision 1.73 / (download) - annotate - [select for diffs], Mon Jul 14 18:19:13 2003 UTC (11 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.72: +154 -145 lines
Diff to previous 1.72 (colored)

Pass WARNS=3

Revision 1.72 / (download) - annotate - [select for diffs], Thu May 22 18:20:10 2003 UTC (11 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.71: +4 -4 lines
Diff to previous 1.71 (colored)

PR/19781: Thomas Klausner: make error message not helpful on unclosed ${var:foo

Revision 1.71 / (download) - annotate - [select for diffs], Fri Mar 14 05:19:43 2003 UTC (11 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.70: +11 -4 lines
Diff to previous 1.70 (colored)

Add a -X option, which prevents make(1) from putting variables
set on the command line into the environment individually.  This
can be useful on systems which have a tight limit on the size
of the argument space.

Revision 1.70 / (download) - annotate - [select for diffs], Sat Jun 15 18:24:58 2002 UTC (12 years, 6 months ago) by wiz
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.69: +216 -207 lines
Diff to previous 1.69 (colored)

Remove !__STDC__ stuff, de-__P(), ANSIfy, and de-register.

Revision 1.69 / (download) - annotate - [select for diffs], Thu Mar 21 01:24:44 2002 UTC (12 years, 9 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.68: +4 -4 lines
Diff to previous 1.68 (colored)

don't print extra newlines on errors.

Revision 1.68 / (download) - annotate - [select for diffs], Wed Feb 6 16:26:12 2002 UTC (12 years, 10 months ago) by pk
Branch: MAIN
Changes since 1.67: +50 -3 lines
Diff to previous 1.67 (colored)

Add `tu' and `tl' variable expansion modifiers, which transform the
value to uppercase and lowercase, respectively. From Kevin Neal from FreeBSD.

Revision 1.67 / (download) - annotate - [select for diffs], Sun Jan 27 01:50:55 2002 UTC (12 years, 10 months ago) by reinoud
Branch: MAIN
Changes since 1.66: +7 -7 lines
Diff to previous 1.66 (colored)

Fix major bug in make(1) ... due to shadowing of the dotLast path used for
the .DOTLAST primitive by a boolean variable with the same name, this whole
mechanism was broken ... it doesn't save much stat calls but it was wrong.

Thanks to Jason Thorpe for the other shadow-variable fixing patches he
made.

Revision 1.66 / (download) - annotate - [select for diffs], Tue Dec 25 14:50:36 2001 UTC (12 years, 11 months ago) by lukem
Branch: MAIN
Changes since 1.65: +8 -5 lines
Diff to previous 1.65 (colored)

- partially fix ${foo:?true:false} so that at least it now parses ok and
  the true result works. for some reason the false result doesn't, even
  though make -dv shows it being set as the result. (blah!)
- add braces in comments to fix vi showmatch

Revision 1.65 / (download) - annotate - [select for diffs], Tue Jun 12 23:36:18 2001 UTC (13 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.64: +12 -8 lines
Diff to previous 1.64 (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.64 / (download) - annotate - [select for diffs], Sun Jun 10 02:31:01 2001 UTC (13 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.63: +16 -47 lines
Diff to previous 1.63 (colored)

Simplify the exporting of VAR_CMD's via MAKEFLAGS.
We now just list the names of such variables in .MAKEOVERRIDES.
When we come to export MAKEFLAGS we quote the value of each exported variable
using :Q, using: ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
The :O:u suppresses duplicate names.
Also modifed Parse_DoVar to re-export MAKEFLAGS whenever .MAKEOVERRIDES
is assigned to so .MAKEOVERRIDES+= PATH will export PATH=${PATH:Q}
to the environment, while .MAKEOVERRIDES= will disable export of VAR_CMD's.

Revision 1.63 / (download) - annotate - [select for diffs], Sat Jun 9 05:57:31 2001 UTC (13 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.62: +23 -6 lines
Diff to previous 1.62 (colored)

Do a better job of duplicate suppression in .MAKEOVERRIDES.
From Var_Set: We actually want the equivalent of
.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
clearing the previous value for name is important, since
doing simple duplicate suppression does not handle:
$ make FOO=goo
which then runs a sub-make with FOO=boo
the commands from that sub-make should see just FOO=boo.

Revision 1.62 / (download) - annotate - [select for diffs], Sat Jun 9 05:22:47 2001 UTC (13 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.61: +22 -3 lines
Diff to previous 1.61 (colored)

Modify handling of command line variable assignments and their exporting
via MAKEFLAGS.  Instead of appending them directly to .MAKEFLAGS, put
them in .MAKEOVERRIDES (and ensure they are quoted).  This is now done
in Var_Set when it exports VAR_CMD's.
Use ExportMAKEFLAGS() to export MAKEFLAGS, using the combined content
of .MAKEFLAGS and .MAKEOVERRIDES (with duplicate supression).
If .MAKEFLAGS is assigned to in a Makefile, ExportMAKEFLAGS is called again.
This allows a line like:
.MAKEOVERRIDES=
to effectively stop the exporting of the command line vars in MAKEFLAGS.

Revision 1.61 / (download) - annotate - [select for diffs], Tue Jun 5 06:00:39 2001 UTC (13 years, 6 months ago) by explorer
Branch: MAIN
Changes since 1.60: +66 -43 lines
Diff to previous 1.60 (colored)

Perform variable expansion on sysv rhs patterns.  That is, expand ${O} in:  ${SRCS:.c=.${O}}

Revision 1.60 / (download) - annotate - [select for diffs], Fri Jun 1 20:33:38 2001 UTC (13 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.59: +7 -6 lines
Diff to previous 1.59 (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.59 / (download) - annotate - [select for diffs], Sat May 12 06:48:49 2001 UTC (13 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.58: +4 -4 lines
Diff to previous 1.58 (colored)

Modifier :P avoid segfault if gn is found but path is NULL.

Revision 1.58 / (download) - annotate - [select for diffs], Sat Mar 10 00:41:48 2001 UTC (13 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.57: +8 -6 lines
Diff to previous 1.57 (colored)

redo of previous: do not destroy v->val if str points to v->val.
XXX GC of v->val

Revision 1.57 / (download) - annotate - [select for diffs], Fri Mar 9 12:49:05 2001 UTC (13 years, 9 months ago) by itojun
Branch: MAIN
Changes since 1.56: +4 -4 lines
Diff to previous 1.56 (colored)

correct case with VAR_KEEP.  if clause checked VAR_KEEP backwards,
and made str a dangling pointer.

Revision 1.56 / (download) - annotate - [select for diffs], Tue Sep 5 21:08:35 2000 UTC (14 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.55: +4 -4 lines
Diff to previous 1.55 (colored)

fixed comment U -> u

Revision 1.55 / (download) - annotate - [select for diffs], Tue Sep 5 17:57:52 2000 UTC (14 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.54: +64 -4 lines
Diff to previous 1.54 (colored)

:u modifier a'la uniq(1) [from der Mouse]

Revision 1.54 / (download) - annotate - [select for diffs], Sun Aug 13 22:47:01 2000 UTC (14 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored)

don't attempt to free varNoError too.

Revision 1.53 / (download) - annotate - [select for diffs], Sat Jun 10 05:54:29 2000 UTC (14 years, 6 months ago) by sjg
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2
Branch point for: netbsd-1-5
Changes since 1.52: +3 -8 lines
Diff to previous 1.52 (colored)

no need for v->name-- on JUNK vars anymore

Revision 1.52 / (download) - annotate - [select for diffs], Sat Jun 10 04:51:00 2000 UTC (14 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.51: +18 -29 lines
Diff to previous 1.51 (colored)

For VAR_JUNK variables, defer freeing of the name string until the bottom of
Var_Parse(), as it may be used (strdup()ed) by some modifiers.

Revision 1.51 / (download) - annotate - [select for diffs], Sat Jun 10 04:17:58 2000 UTC (14 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.50: +4 -4 lines
Diff to previous 1.50 (colored)

Don't free v until after the last use.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Jun 6 09:00:49 2000 UTC (14 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.49: +5 -5 lines
Diff to previous 1.49 (colored)

Do some evil with VAR_KEEP to make it happier.  This seems... wrong.

Revision 1.49 / (download) - annotate - [select for diffs], Tue Jun 6 08:44:57 2000 UTC (14 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.48: +56 -25 lines
Diff to previous 1.48 (colored)

Allow further patterns after a :D or :U, as in ODE make.  (Copied some code
from VarGetPattern.  It should become more flexible instead.)

Revision 1.48 / (download) - annotate - [select for diffs], Tue Jun 6 04:56:52 2000 UTC (14 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.47: +86 -38 lines
Diff to previous 1.47 (colored)

Roll back my for-expansion changes.  Doing this right is just too hard to be
worth it.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Jun 1 09:39:02 2000 UTC (14 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.46: +24 -22 lines
Diff to previous 1.46 (colored)

Make ::= work again with the VAR_FOR context changes.

Revision 1.46 / (download) - annotate - [select for diffs], Thu Jun 1 04:16:39 2000 UTC (14 years, 6 months ago) by mycroft
Branch: MAIN
Changes since 1.45: +17 -67 lines
Diff to previous 1.45 (colored)

Create a `for' context, and substitute iteration variable from it using the
normal Var_Parse() path.  This allows :R, etc. to work on iteration variables.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Jun 1 02:29:21 2000 UTC (14 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.44: +19 -17 lines
Diff to previous 1.44 (colored)

Rats!  ${FOO:=bar} is a common usage of the SysV = modifier.
To avoid that, we now do ::[+?!]*= but the SysV = modifier can
conflict with any new modifier.  At there are currently no Makefiles
in our tree that use ${FOO::=bar}

Revision 1.44 / (download) - annotate - [select for diffs], Tue May 30 02:32:21 2000 UTC (14 years, 6 months ago) by sjg
Branch: MAIN
Changes since 1.43: +105 -3 lines
Diff to previous 1.43 (colored)

Implemented a set of assignment modifiers.  These solve obscure
problems such as using modifiers on .for loop iterators derived from
local variables (eg .TARGET).
Unless the variable already exists in a global context, these assignments are
local to the current context (this is usually what is wanted).

Revision 1.43 / (download) - annotate - [select for diffs], Sun May 14 15:14:41 2000 UTC (14 years, 7 months ago) by sjg
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.42: +24 -5 lines
Diff to previous 1.42 (colored)

Expand variables that appear in a [No]Match pattern.  Allows
[ x${DONE:M${.TARGET}} != x ] || blah

Revision 1.42 / (download) - annotate - [select for diffs], Thu May 11 07:43:42 2000 UTC (14 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.41: +19 -4 lines
Diff to previous 1.41 (colored)

Expand variables in variable name passed to Var_Set and Var_Append.
This allows ${FOO}.bar=fubar etc to work.
This does not impact any Makefiles in the current tree but allows
some cool magic (which I need elsewhere).

Revision 1.41 / (download) - annotate - [select for diffs], Thu May 11 03:32:56 2000 UTC (14 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.40: +29 -20 lines
Diff to previous 1.40 (colored)

Pass ctxt along to VarLoopExpand so that local variables such as .TARGET
can be expanded.

Revision 1.40 / (download) - annotate - [select for diffs], Sat Apr 29 12:18:52 2000 UTC (14 years, 7 months ago) by sjg
Branch: MAIN
Changes since 1.39: +253 -38 lines
Diff to previous 1.39 (colored)

Added the :U :D :L :P :! and :@ modifiers as used by ODE make.
These allow some very useful magic in the makefiles.
The comment in var.c describing their behaviour is mostly lifted
from ODE make, but the implementation of the modifiers themselves
is quite different (much simpler) due to divergence of our code base.

Revision 1.39 / (download) - annotate - [select for diffs], Mon Apr 17 14:59:02 2000 UTC (14 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.38: +4 -4 lines
Diff to previous 1.38 (colored)

Don't type && when you mean || (pointed out by David Holland)

Revision 1.38 / (download) - annotate - [select for diffs], Sun Apr 16 23:35:16 2000 UTC (14 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.37: +4 -4 lines
Diff to previous 1.37 (colored)

PR/9898: David Holland: small glitch in var substitution for single letter
variables.

Revision 1.37 / (download) - annotate - [select for diffs], Wed Sep 15 22:51:05 1999 UTC (15 years, 3 months ago) by sommerfeld
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, comdex-fall-1999-base, comdex-fall-1999
Changes since 1.36: +8 -32 lines
Diff to previous 1.36 (colored)

Reuse the Hash_Entry `name' field to store the variable name when we
can (i.e., everything except environment variables, which aren't
stored in hash tables).

While we're here, inline the body of VarDelete into Var_Delete since
it's the only caller and it's just simpler that way when v->name can
share storage with the hash entry and may not need to be freed
separately.

Speeds up the infamous libc build benchhmark maybe 1% on PIII, 4% on
alpha pc164

Suggested by Perry Metzger.

Revision 1.36 / (download) - annotate - [select for diffs], Wed Sep 15 02:56:35 1999 UTC (15 years, 3 months ago) by mycroft
Branch: MAIN
Changes since 1.35: +37 -57 lines
Diff to previous 1.35 (colored)

Replace the linear variable list in the GNode with a hash table.  Gives a
small (~10% on my machine) speedup building libc.
Changes by: perry (+ bug fix and minor change by me)
Reviewed by: mycroft sommerfeld

Revision 1.35 / (download) - annotate - [select for diffs], Sun Sep 12 00:17:50 1999 UTC (15 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.34: +69 -3 lines
Diff to previous 1.34 (colored)

Add :O var modifier, that sorts the words in a variable.

Revision 1.34 / (download) - annotate - [select for diffs], Sun Jun 6 21:16:23 1999 UTC (15 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.33: +11 -7 lines
Diff to previous 1.33 (colored)

Revert previous change. I am a bonehead.

Revision 1.33 / (download) - annotate - [select for diffs], Sun Jun 6 20:41:04 1999 UTC (15 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.32: +3 -8 lines
Diff to previous 1.32 (colored)

remove accidentally left debugging code

Revision 1.32 / (download) - annotate - [select for diffs], Sun Jun 6 20:24:02 1999 UTC (15 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.31: +12 -11 lines
Diff to previous 1.31 (colored)

Allow junk variable to work in non dynamic contexts. Allows as to say things
like:
    .if defined(COPTS) && !empty(COPTS:M*-g*)

Revision 1.31 / (download) - annotate - [select for diffs], Sat Apr 3 04:37:47 1999 UTC (15 years, 8 months ago) by gwr
Branch: MAIN
Changes since 1.30: +8 -8 lines
Diff to previous 1.30 (colored)

Make regex support conditional on NO_REGEX (was MAKE_BOOTSTRAP)
Solaris has a compatible regex, as do many others now...

Revision 1.30 / (download) - annotate - [select for diffs], Fri Nov 6 23:31:09 1998 UTC (16 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4
Changes since 1.29: +5 -4 lines
Diff to previous 1.29 (colored)

- full prototypes
- more conservative printf
- char -> unsigned char

Revision 1.29 / (download) - annotate - [select for diffs], Sun Nov 1 03:07:34 1998 UTC (16 years, 1 month ago) by itohy
Branch: MAIN
Changes since 1.28: +5 -3 lines
Diff to previous 1.28 (colored)

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

Revision 1.28 / (download) - annotate - [select for diffs], Tue Oct 13 17:09:16 1998 UTC (16 years, 2 months ago) by wsanchez
Branch: MAIN
Changes since 1.27: +4 -3 lines
Diff to previous 1.27 (colored)

Include sys/types.h

Revision 1.27 / (download) - annotate - [select for diffs], Fri Sep 18 20:35:12 1998 UTC (16 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.26: +11 -6 lines
Diff to previous 1.26 (colored)

Fix conditional variable expression parsing (reported by cgd)

Revision 1.26 / (download) - annotate - [select for diffs], Fri Apr 3 04:07:15 1998 UTC (16 years, 8 months ago) by cgd
Branch: MAIN
Changes since 1.25: +7 -5 lines
Diff to previous 1.25 (colored)

in Var_Parse(), set delim in a couple of other paths into cleanup

Revision 1.25 / (download) - annotate - [select for diffs], Wed Apr 1 14:18:10 1998 UTC (16 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.24: +38 -4 lines
Diff to previous 1.24 (colored)

Add conditional variable evaluation from Alistair Crooks.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Mar 26 19:20:37 1998 UTC (16 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.23: +9 -5 lines
Diff to previous 1.23 (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.23 / (download) - annotate - [select for diffs], Sun Sep 28 03:31:14 1997 UTC (17 years, 2 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.22: +6 -2 lines
Diff to previous 1.22 (colored)

wrap #include <sys/cdefs.h>, __RCSID(...) stuff in #ifndef MAKE_BOOTSTRAP

Revision 1.22 / (download) - annotate - [select for diffs], Mon Sep 22 17:11:12 1997 UTC (17 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.21: +46 -19 lines
Diff to previous 1.21 (colored)

Expand variables within variables correctly; eg.
foo.123=abc
bar=123
all:
	echo ${foo.${bar}}

Revision 1.21 / (download) - annotate - [select for diffs], Thu Jul 10 00:54:44 1997 UTC (17 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

Fix memory corruption that was caused by debugging code leftovers.

Revision 1.20 / (download) - annotate - [select for diffs], Mon Jul 7 19:06:17 1997 UTC (17 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.19: +15 -6 lines
Diff to previous 1.19 (colored)

PR/3825: David A. Holland: global regexp handling gets stuck in infinite loop.
Actually there were two bugs:
	- Add REG_NOTBOL after the first substitution.
	- Handle the rm_so == rm_eo == 0 case, where in a substitution such
	  as 's/bzzzt/z*/g' the first time z* matches nothing.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Jul 1 21:17:47 1997 UTC (17 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

Add WARNS=1
RCSID police

Revision 1.18 / (download) - annotate - [select for diffs], Tue Mar 18 19:24:46 1997 UTC (17 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.17: +4 -3 lines
Diff to previous 1.17 (colored)

Fix problems in the RE substitution error handling.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Dec 31 18:03:30 1996 UTC (17 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.16: +13 -3 lines
Diff to previous 1.16 (colored)

Don't compile the regex code if MAKE_BOOTSTRAP (from gwr)

Revision 1.16 / (download) - annotate - [select for diffs], Tue Dec 24 17:36:28 1996 UTC (18 years ago) by christos
Branch: MAIN
Changes since 1.15: +420 -147 lines
Diff to previous 1.15 (colored)

[initial version of the substitution/regexp changes were courtesy of Der Mouse]

- fix the variable substitution code in make [PR/2748]
      1. change s/a/b/ so that it substitutes the first occurance of the
	 pattern on each word, not only the first word.
      2. add flag '1' to the variable substitution so that the substitutions
	 get performed only once.

  ***THIS IS AN INCOMPATIBLE CHANGE!***

  Unfortunately there was no way to make things consistent without
  modifying the current behavior. Fortunately none of our Makefiles
  depended on this.

	    OLD:

		VAR      = aa1 aa2 aa3 aa4

		S/a/b/   = ba1 aa2 aa3 aa4
		S/a/b/g  = bb1 bb2 bb3 bb4

	    NEW:

		VAR      = aa1 aa2 aa3 aa4

		S/a/b/   = ba1 ba2 ba3 ba4
		S/a/b/1  = ba1 aa2 aa3 aa4
		S/a/b/g  = bb1 bb2 bb3 bb4
		S/a/b/1g = bb1 aa2 aa3 aa4

- add regexp variable substitution via 'C/foo/bar/' [PR/2752]

- add variable quoting via the ${VAR:Q} modifier. This is useful when running
  recursive invocations of make(1):

	make VAR=${VAR:Q}

  will always work... (This may prove useful in the kernel builds...) [PR/2981]

Revision 1.15 / (download) - annotate - [select for diffs], Wed Nov 6 17:59:29 1996 UTC (18 years, 1 month ago) by christos
Branch: MAIN
Changes since 1.14: +53 -63 lines
Diff to previous 1.14 (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.14 / (download) - annotate - [select for diffs], Tue Aug 13 16:42:25 1996 UTC (18 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.13: +4 -4 lines
Diff to previous 1.13 (colored)

Add estrdup(), a checked version of strdup and use it.

Revision 1.13 / (download) - annotate - [select for diffs], Tue May 28 23:34:49 1996 UTC (18 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.12: +25 -6 lines
Diff to previous 1.12 (colored)

- Move -D flags from Makefile to config.h and explain what they do. Add
  -Wall -Wno-unused to CFLAGS. Add new define SYSVVARSUB to enable SysV
  style variable substitutions and enable them.
- Add SunOS style command substitutions via SUNSHCMD
- Fix core dump with '{variable = value'

Revision 1.12 / (download) - annotate - [select for diffs], Thu Nov 2 23:55:12 1995 UTC (19 years, 1 month 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.11: +3 -3 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 Jun 14 15:20:13 1995 UTC (19 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.10: +7 -2 lines
Diff to previous 1.10 (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.10 / (download) - annotate - [select for diffs], Sat Feb 4 23:44:45 1995 UTC (19 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.9: +2 -1 lines
Diff to previous 1.9 (colored)

str.c: Don't free NULL; does not work with non posix frees.
var.c: Minor memory leak plugged.
suff.c: Don't add extra sources on the null suffix if it has dependency
	lines or commands attached to it [POSIX says so]

Revision 1.9 / (download) - annotate - [select for diffs], Fri Jan 20 04:35:10 1995 UTC (19 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.8: +24 -5 lines
Diff to previous 1.8 (colored)

Fixed to parse correctly SysV variable substitutions ${VAR:P1=P2} when
P1 or P2 contain }'s or )'s. From mikeb@snow.datametrics.com

Revision 1.8 / (download) - annotate - [select for diffs], Mon Jan 9 18:31:41 1995 UTC (19 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.7: +2 -7 lines
Diff to previous 1.7 (colored)

Save the name of the environment variables. Remove the comment that
says that we don't. from Paul Borman (prb@bsdi.com)

Revision 1.7 / (download) - annotate - [select for diffs], Thu Jun 16 18:50:20 1994 UTC (20 years, 6 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: +12 -37 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:49 1994 UTC (20 years, 6 months ago) by jtc
Branch: MAIN
Changes since 1.5: +102 -45 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:35:17 1994 UTC (20 years, 9 months ago) by cgd
Branch: MAIN
Changes since 1.4: +157 -51 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:02:09 1994 UTC (20 years, 11 months ago) by jtc
Branch: MAIN
Changes since 1.3: +3 -2 lines
Diff to previous 1.3 (colored)

Include appropriate header files to bring prototypes into scope.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Jan 13 17:18:30 1994 UTC (20 years, 11 months ago) by cgd
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

add missing arg to setenv(). reported by downsj@csos.orst.edu

Revision 1.2 / (download) - annotate - [select for diffs], Sun Aug 1 18:11:37 1993 UTC (21 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored)

Add RCS identifiers.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 21 09:45:37 1993 UTC (21 years, 9 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>