[PATCH 2 of 4] Win32: handling of localized MSVC cl output

Pavel Pautov P.Pautov at F5.com
Sat Feb 11 05:30:39 UTC 2023

> -----Original Message-----
> From: nginx-devel <nginx-devel-bounces at nginx.org> On Behalf Of Maxim
> Dounin
> Sent: Thursday, February 9, 2023 20:33
> Hello!
> On Thu, Feb 09, 2023 at 06:55:22AM +0000, Pavel Pautov via nginx-devel wrote:
> > The 'for 80x86' part of cl version (in auto/configure output)
> > always felt odd. Given it's used in subsequent patch, can we at
> > least strip localized 'for' from NGX_MSVC_VER? Having it in
> > otherwise non-localized output of "nginx -V" doesn't seem right
> > either.
> The "nginx -V" output simply shows how the compiler identifies
> itself.  The patch has no intention to change this, it just
> ensures that output of localized MSVC cl versions is recognized by
> nginx.  And, actually, I would rather object stripping the
> details, since any aspects of compiler identification might be
> important.

The patch effectively introduces localized strings into "nginx -V" output and, I guess, I just don't see how that is useful. The binary architecture can be deduced from binary itself and random peace of localized string might not be enough for build machine locale identification (and why bother with it, anyway).

And here are some other localizations to consider:
Microsoft (R) C/C++ 최적화 컴파일러 버전 19.29.30147(x64)
用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.29.30147 版

So, I'd suggest to introduce something like NGX_MSVC_VER_LINE and then derive both NGX_MSVC_VER (which would contain only dotted version number) and NGX_MACHINE from it.

More information about the nginx-devel mailing list