<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/auto/cc, branch release-1.29.6</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Configure: ensure we get the "built by ..." line in nginx -V.</title>
<updated>2025-11-04T16:11:53+00:00</updated>
<author>
<name>Andrew Clayton</name>
<email>a.clayton@nginx.com</email>
</author>
<published>2025-09-23T02:46:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=99312be10c0edd554a40df03591ed2d905f8bd10'/>
<id>99312be10c0edd554a40df03591ed2d905f8bd10</id>
<content type='text'>
For certain compilers we embed the compiler version used to build nginx
in the binary, retrievable via 'nginx -V', e.g.

  $ ./objs/nginx -V
  ...
  built by gcc 15.2.1 20250808 (Red Hat 15.2.1-1) (GCC)
  ...

However if the CFLAGS environment variable is set this would be omitted.

This is due to the compiler specific auto/cc files not being run when
the CFLAGS environment variable is set, this is so entities can set
their own compiler flags, and thus the NGX_COMPILER variable isn't set.

Nonetheless it is a useful thing to have so re-work the auto scripts to
move the version gathering out of the individual auto/cc/$NGX_CC_NAME
files and merge them into auto/cc/name.

Link: &lt;https://github.com/nginx/nginx/issues/878&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For certain compilers we embed the compiler version used to build nginx
in the binary, retrievable via 'nginx -V', e.g.

  $ ./objs/nginx -V
  ...
  built by gcc 15.2.1 20250808 (Red Hat 15.2.1-1) (GCC)
  ...

However if the CFLAGS environment variable is set this would be omitted.

This is due to the compiler specific auto/cc files not being run when
the CFLAGS environment variable is set, this is so entities can set
their own compiler flags, and thus the NGX_COMPILER variable isn't set.

Nonetheless it is a useful thing to have so re-work the auto scripts to
move the version gathering out of the individual auto/cc/$NGX_CC_NAME
files and merge them into auto/cc/name.

Link: &lt;https://github.com/nginx/nginx/issues/878&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: added detection of ARM64 target.</title>
<updated>2025-04-18T19:57:26+00:00</updated>
<author>
<name>Aleksei Bavshin</name>
<email>a.bavshin@nginx.com</email>
</author>
<published>2025-01-14T19:11:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=020b1db7eb187d4a9a5f1d6154c664a463473b36'/>
<id>020b1db7eb187d4a9a5f1d6154c664a463473b36</id>
<content type='text'>
This extends the target selection implemented in dad6ec3aa63f to support
Windows ARM64 platforms.  OpenSSL support for VC-WIN64-ARM target first
appeared in 1.1.1 and is present in all currently supported (3.x)
branches.

As a side effect, ARM64 Windows builds will get 16-byte alignment along
with the rest of non-x86 platforms.  This is safe, as malloc on 64-bit
Windows guarantees the fundamental alignment of allocations, 16 bytes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This extends the target selection implemented in dad6ec3aa63f to support
Windows ARM64 platforms.  OpenSSL support for VC-WIN64-ARM target first
appeared in 1.1.1 and is present in all currently supported (3.x)
branches.

As a side effect, ARM64 Windows builds will get 16-byte alignment along
with the rest of non-x86 platforms.  This is safe, as malloc on 64-bit
Windows guarantees the fundamental alignment of allocations, 16 bytes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: OpenSSL compilation for x64 targets with MSVC.</title>
<updated>2023-02-23T15:16:08+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2023-02-23T15:16:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=dad6ec3aa63fbd3b427d74842fa659f7a0b82f3b'/>
<id>dad6ec3aa63fbd3b427d74842fa659f7a0b82f3b</id>
<content type='text'>
To ensure proper target selection the NGX_MACHINE variable is now set
based on the MSVC compiler output, and the OpenSSL target is set based
on it.

This is not important as long as "no-asm" is used (as in misc/GNUmakefile
and win32 build instructions), but might be beneficial if someone is trying
to build OpenSSL with assembler code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To ensure proper target selection the NGX_MACHINE variable is now set
based on the MSVC compiler output, and the OpenSSL target is set based
on it.

This is not important as long as "no-asm" is used (as in misc/GNUmakefile
and win32 build instructions), but might be beneficial if someone is trying
to build OpenSSL with assembler code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: handling of localized MSVC cl output.</title>
<updated>2023-02-23T15:15:57+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2023-02-23T15:15:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=180be97d3157c6ed81efc0272dea6472241304c3'/>
<id>180be97d3157c6ed81efc0272dea6472241304c3</id>
<content type='text'>
Output examples in English, Russian, and Spanish:

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Оптимизирующий 32-разрядный компилятор Microsoft (R) C/C++ версии 16.00.30319.01 для 80x86
Compilador de optimización de C/C++ de Microsoft (R) versión 16.00.30319.01 para x64

Since most of the words are translated, instead of looking for the words
"Compiler Version" we now search for "C/C++" and the version number.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Output examples in English, Russian, and Spanish:

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Оптимизирующий 32-разрядный компилятор Microsoft (R) C/C++ версии 16.00.30319.01 для 80x86
Compilador de optimización de C/C++ de Microsoft (R) versión 16.00.30319.01 para x64

Since most of the words are translated, instead of looking for the words
"Compiler Version" we now search for "C/C++" and the version number.
</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: removed unneeded wildcard in NGX_CC_NAME test for msvc.</title>
<updated>2023-02-23T15:15:53+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2023-02-23T15:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=504ca566861dde3d20a558fc02c7066e9bb54bfd'/>
<id>504ca566861dde3d20a558fc02c7066e9bb54bfd</id>
<content type='text'>
Wildcards for msvc in NGX_CC_NAME tests are not needed since 78f8ac479735.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Wildcards for msvc in NGX_CC_NAME tests are not needed since 78f8ac479735.
</pre>
</div>
</content>
</entry>
<entry>
<title>Win32: defined pdb path.</title>
<updated>2019-04-04T16:30:47+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2019-04-04T16:30:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=df8cb313697a9c2574db30be2e494656265c1f59'/>
<id>df8cb313697a9c2574db30be2e494656265c1f59</id>
<content type='text'>
By default, MSVC uses vc&lt;version&gt;.pdb in the current directory.
With the "-Fd" switch it is directed to be in the objs directory instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
By default, MSVC uses vc&lt;version&gt;.pdb in the current directory.
With the "-Fd" switch it is directed to be in the objs directory instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Configure: fixed clang version detection (closes #1539).</title>
<updated>2018-04-24T11:04:59+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2018-04-24T11:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=6ce439ebde10f618cc78622a8f919c3624767fda'/>
<id>6ce439ebde10f618cc78622a8f919c3624767fda</id>
<content type='text'>
While 325b3042edd6 fixed it on MINIX, it broke it on systems
that output the word "version" on several lines with "cc -v".
The fix is to only consider "clang version" or "LLVM version"
as clang version, but this time only using sed(1).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While 325b3042edd6 fixed it on MINIX, it broke it on systems
that output the word "version" on several lines with "cc -v".
The fix is to only consider "clang version" or "LLVM version"
as clang version, but this time only using sed(1).
</pre>
</div>
</content>
</entry>
<entry>
<title>Configure: fixed clang detection on MINIX.</title>
<updated>2017-11-23T13:33:40+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2017-11-23T13:33:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7a7fc708fb7f6739dc6652ee1f14da1f9e24650d'/>
<id>7a7fc708fb7f6739dc6652ee1f14da1f9e24650d</id>
<content type='text'>
As per POSIX, basic regular expressions have no alternations, and the
interpretation of the "\|" construct is undefined.  At least on MINIX
and Solaris grep interprets "\|" as literal "|", and not as an alternation
as GNU grep does.  Removed such constructs introduced in f1daa0356a1d.
This fixes clang detection on MINIX.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As per POSIX, basic regular expressions have no alternations, and the
interpretation of the "\|" construct is undefined.  At least on MINIX
and Solaris grep interprets "\|" as literal "|", and not as an alternation
as GNU grep does.  Removed such constructs introduced in f1daa0356a1d.
This fixes clang detection on MINIX.
</pre>
</div>
</content>
</entry>
<entry>
<title>Configure: use .exe for binaries for all win32 compilers.</title>
<updated>2017-06-06T16:37:34+00:00</updated>
<author>
<name>Orgad Shaneh</name>
<email>orgads@gmail.com</email>
</author>
<published>2017-06-06T16:37:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=90727eb85718504d711258c5a5622896c64030ec'/>
<id>90727eb85718504d711258c5a5622896c64030ec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Configure: recent Sun C versions.</title>
<updated>2017-05-15T17:09:44+00:00</updated>
<author>
<name>Maxim Dounin</name>
<email>mdounin@mdounin.ru</email>
</author>
<published>2017-05-15T17:09:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=84fdff7930986b436dfeea21134cee598b129d97'/>
<id>84fdff7930986b436dfeea21134cee598b129d97</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
