tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: why is replace.mk complaining about gsed?



On 12/9/2011 2:41 AM, OBATA Akio wrote:
On Fri, 09 Dec 2011 05:14:29 +0900, John Marino <marino%netbsd.org@localhost> wrote:

When I go to editors/emacs20 and type "bmake -V '${DEPENDS}'", I get
the following error message:

bmake: "../../mk/tools/../../mk/tools/replace.mk" line 171:
Malformed conditional ((${_TOOLS_DEPMETHOD.gsed} == "BUILD_DEPENDS") && defined(_TOOLS_DEPMETHOD.sed))

The code in question looks like this:

.if !empty(_USE_TOOLS:Mgsed)        # gsed > sed
.  if (${_TOOLS_DEPMETHOD.gsed} == "BUILD_DEPENDS") && \
      defined(_TOOLS_DEPMETHOD.sed)
_TOOLS_DEPMETHOD.gsed=        ${_TOOLS_DEPMETHOD.sed}
.  endif
.endif

The problem is _TOOLS_DEPMETHOD.gsed is an empty string.  Putting quotes
around "${_TOOLS_DEPMETHOD.gsed}" solves the problem. I assume quotes are missing intentionally from replace.mk. So my question is: What's causing ${_TOOLS_DEPMETHOD.gsed} to not be defined, and what's the proper fix? Or
is this just a straight-up bug?  Another DragonFly user is seeing a very
similar message revolving around flex using 2010Q3 branch.

I cannot find gsed in USE_TOOLS for emacs20...?
(I may see same problem if USE_TOOLS is changed during some make phase)

No, me neither.  gsed isn't used.  There's something going on with this
replacement.mk.

Do you know why these variables are not wrapped in double quotes?  If they
were, we would not be seeing these errors when the variables are undefined.

John



Home | Main Index | Thread Index | Old Index