Author: obrien
Date: Wed May 30 22:23:08 2012
New Revision: 236338
URL: http://svn.freebsd.org/changeset/base/236338

Log:
  Deprecate the FreeBSD make's ":U" (to-upper case) and ":L" (to-lower case)
  modifiers for ":tu" and ":tl" from OSF's ODE, which made its way into
  NetBSD's make, which is the source for the Portable Berkeley Make.
  
  Submitted by: Simon Gerraty <s...@juniper.net>

Modified:
  head/usr.bin/make/Makefile
  head/usr.bin/make/make.1
  head/usr.bin/make/var.c

Modified: head/usr.bin/make/Makefile
==============================================================================
--- head/usr.bin/make/Makefile  Wed May 30 22:21:25 2012        (r236337)
+++ head/usr.bin/make/Makefile  Wed May 30 22:23:08 2012        (r236338)
@@ -15,7 +15,7 @@ NO_SHARED?=   YES
 .endif
 
 # Version has the RYYYYMMDDX format, where R is from RELENG_<R>
-CFLAGS+=-DMAKE_VERSION=\"5201111300\"
+CFLAGS+=-DMAKE_VERSION=\"10201120530\"
 
 # There is no obvious performance improvement currently.
 # CFLAGS+=-DUSE_KQUEUE

Modified: head/usr.bin/make/make.1
==============================================================================
--- head/usr.bin/make/make.1    Wed May 30 22:21:25 2012        (r236337)
+++ head/usr.bin/make/make.1    Wed May 30 22:23:08 2012        (r236338)
@@ -902,6 +902,7 @@ Replaces each word in the variable with 
 Replaces each word in the variable with everything but the last component.
 .It Cm :L
 Converts variable to lower-case letters.
+(deprecated)
 .It Cm :M Ns Ar pattern
 Select only those words that match the rest of the modifier.
 The standard shell wildcard characters
@@ -993,8 +994,13 @@ to be replaced in
 .Ar new_string .
 .It Cm :T
 Replaces each word in the variable with its last component.
+.It Cm :tl
+Converts variable to lower-case letters.
+.It Cm :tu
+Converts variable to upper-case letters.
 .It Cm :U
 Converts variable to upper-case letters.
+(deprecated)
 .It Cm :u
 Remove adjacent duplicate words (like
 .Xr uniq 1 ) .
@@ -1742,6 +1748,19 @@ is set to the same value as
 .Va .MAKE ;
 support for this may be removed in the future.
 .Pp
+The use of the
+.Cm :L
+and
+.Cm :U
+modifiers are deprecated
+in
+.Fx 10.0
+and the more portable (among Pmake decedents)
+.Cm :tl
+and
+.Cm :tu
+should be used instead.
+.Pp
 Most of the more esoteric features of
 .Nm
 should probably be avoided for greater compatibility.

Modified: head/usr.bin/make/var.c
==============================================================================
--- head/usr.bin/make/var.c     Wed May 30 22:21:25 2012        (r236337)
+++ head/usr.bin/make/var.c     Wed May 30 22:23:08 2012        (r236338)
@@ -1746,6 +1746,19 @@ ParseModifier(VarParser *vp, char startc
                case 'C':
                        newStr = modifier_C(vp, value, v);
                        break;
+               case 't':
+                       /* :tl :tu for OSF ODE & NetBSD make compatibility */
+                       switch (vp->ptr[1]) {
+                       case 'l':
+                               vp->ptr++;
+                               goto mod_lower;
+                               break;
+                       case 'u':
+                               vp->ptr++;
+                               goto mod_upper;
+                               break;
+                       }
+                       /* FALLTHROUGH */
                default:
                        if (vp->ptr[1] != endc && vp->ptr[1] != ':') {
 #ifdef SUNSHCMD
@@ -1774,6 +1787,7 @@ ParseModifier(VarParser *vp, char startc
 
                        switch (vp->ptr[0]) {
                        case 'L':
+                       mod_lower:
                                {
                                const char      *cp;
                                Buffer          *buf;
@@ -1799,6 +1813,7 @@ ParseModifier(VarParser *vp, char startc
                                vp->ptr++;
                                break;
                        case 'U':
+                       mod_upper:
                                {
                                const char      *cp;
                                Buffer          *buf;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to