Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 May 2013 13:07:38 +0000 (UTC)
From:      Mikolaj Golub <trociny@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r317313 - in head/devel/bmake: . files
Message-ID:  <201305041307.r44D7cYO075599@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: trociny (src committer)
Date: Sat May  4 13:07:38 2013
New Revision: 317313
URL: http://svnweb.freebsd.org/changeset/ports/317313

Log:
  Add a local hack from base (r250164) to allow smooth transition for
  ports: bsd.port.mk can set .MAKE.FreeBSD_UL=yes to cause :L and :U
  to have their old behavior.
  
  The change is not planned to upstream, thus added as a patch.  This
  should be reverted when 8.3 is EOL.
  
  Suggested by:	bapt
  Discussed with:	sjg
  PR:		ports/173299
  Approved by:	bapt

Added:
  head/devel/bmake/files/
  head/devel/bmake/files/patch-var.c   (contents, props changed)
Modified:
  head/devel/bmake/Makefile

Modified: head/devel/bmake/Makefile
==============================================================================
--- head/devel/bmake/Makefile	Sat May  4 12:52:28 2013	(r317312)
+++ head/devel/bmake/Makefile	Sat May  4 13:07:38 2013	(r317313)
@@ -3,6 +3,7 @@
 
 PORTNAME=	bmake
 PORTVERSION=	20130330
+PORTREVISION=	1
 CATEGORIES=	devel
 MASTER_SITES=	ftp://ftp.netbsd.org/pub/NetBSD/misc/sjg/ \
 		http://www.gtlib.cc.gatech.edu/pub/NetBSD/misc/sjg/ \

Added: head/devel/bmake/files/patch-var.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/bmake/files/patch-var.c	Sat May  4 13:07:38 2013	(r317313)
@@ -0,0 +1,87 @@
+------------------------------------------------------------------------
+r250164 | sjg | 2013-05-02 02:58:39 +0300 (Thu, 02 May 2013) | 8 lines
+
+Local hack to allow smooth transition for ports.
+bsd.port.mk can set .MAKE.FreeBSD_UL=yes
+to cause :L and :U to have their old behavior.
+This should be reverted when 8.3 is EOL.
+
+PR:		173299
+Reviewed by:	obrien
+
+--- var.c.orig	2013-03-04 03:01:57.000000000 +0200
++++ var.c	2013-05-04 10:28:21.832274582 +0300
+@@ -140,6 +140,17 @@ __RCSID("$NetBSD: var.c,v 1.173 2013/02/
+ #include    "job.h"
+ 
+ /*
++ * XXX transition hack for FreeBSD ports.
++ * bsd.port.mk can set .MAKE.FreeBSD_UL=yes
++ * to cause us to treat :[LU] as aliases for :t[lu]
++ * To be reverted when ports converts to :t[lu] (when 8.3 is EOL)
++ */
++#define MAKE_FREEBSD_UL ".MAKE.FreeBSD_UL"
++#ifdef MAKE_FREEBSD_UL
++static int FreeBSD_UL = FALSE;
++#endif
++
++/*
+  * This lets us tell if we have replaced the original environ
+  * (which we cannot free).
+  */
+@@ -965,6 +976,11 @@ Var_Set(const char *name, const char *va
+ 	setenv(MAKE_LEVEL_SAFE, tmp, 1);
+ #endif
+     }
++#ifdef MAKE_FREEBSD_UL
++    if (strcmp(MAKE_FREEBSD_UL, name) == 0) {
++	FreeBSD_UL = getBoolean(MAKE_FREEBSD_UL, FALSE);
++    }
++#endif
+ 	
+ 	
+  out:
+@@ -2660,8 +2676,24 @@ ApplyModifiers(char *nstr, const char *t
+ 		free(loop.str);
+ 		break;
+ 	    }
+-	case 'D':
+ 	case 'U':
++#ifdef MAKE_FREEBSD_UL
++	    if (FreeBSD_UL) {
++		int nc = tstr[1];
++
++		/* we have to be careful, since :U is used internally */
++		if (nc == ':' || nc == endc) {
++		    char *dp = bmake_strdup(nstr);
++		    for (newStr = dp; *dp; dp++)
++			*dp = toupper((unsigned char)*dp);
++		    cp = tstr + 1;
++		    termc = *cp;
++		    break;		/* yes inside the conditional */
++		}
++		/* FALLTHROUGH */
++	    }
++#endif
++	case 'D':
+ 	    {
+ 		Buffer  buf;    	/* Buffer for patterns */
+ 		int	    wantit;	/* want data in buffer */
+@@ -2721,6 +2753,17 @@ ApplyModifiers(char *nstr, const char *t
+ 		break;
+ 	    }
+ 	case 'L':
++#ifdef MAKE_FREEBSD_UL
++	    if (FreeBSD_UL) {
++		char *dp = bmake_strdup(nstr);
++		for (newStr = dp; *dp; dp++)
++		    *dp = tolower((unsigned char)*dp);
++		cp = tstr + 1;
++		termc = *cp;
++		break;
++	    }
++	    /* FALLTHROUGH */
++#endif
+ 	    {
+ 		if ((v->flags & VAR_JUNK) != 0)
+ 		    v->flags |= VAR_KEEP;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305041307.r44D7cYO075599>