pkgsrc-Changes archive

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

Re: $ in make's := operator (was: CVS commit: pkgsrc/mk)



* On 2021-11-30 at 12:33 GMT, Roland Illig wrote:

Date: Tue, 30 Nov 2021 09:06:37 +0000
From: Jonathan Perkin <jperkin%netbsd.org@localhost>
To: pkgsrc-changes%NetBSD.org@localhost
Subject: CVS commit: pkgsrc/mk
X-Mailer: log_accum

Module Name:    pkgsrc
Committed By:   jperkin
Date:           Tue Nov 30 09:06:37 UTC 2021

Modified Files:
        pkgsrc/mk: bsd.prefs.mk

Log Message:
mk: Don't expand OPSYS_VERSION early.

The goal of this line was to not evaluate the command from line 92 more
than once.

It's unclear to me whether it makes any difference, as these variables are already wrapped in .if !defined() earlier and set in MAKEFLAGS. At the very least it should be documented better, as it's not clear (at least to me) why we would need both constructs simultaneously.

Something about NetBSD make(1), at least on 9_STABLE, doesn't like doing this,
resulting in literal "$$3" being passed to awk instead of being escaped down
to "$3".  The same construct works fine with pkgsrc bmake(1).

For some reason, .MAKE.SAVE_DOLLARS defaults to true in
pkgsrc/devel/bmake (for backwards compatibility) and to false in NetBSD
as well as Simon's bmake distribution.

Ah, interesting, thanks for explaining.

Why does a version number of an operating system contain a '$' at all?

I don't understand the question.  They don't?

Cheers,

--
Jonathan Perkin       www.perkin.org.uk
github.com/jperkin  twitter.com/jperkin



Home | Main Index | Thread Index | Old Index