Giter Club home page Giter Club logo

nginx-build-msys2's Introduction

nginx-build-msys2

nginx build scripts on msys2 mingw with dependencies and custom patches

Badges

Build status

Features

  • native x86-64 (x64, amd64) build for windows.
  • nginx can execute in directory or path containing non-ascii characters. (Not needed since 1.23.4)
  • read file names in directory as utf8 encoding (affecting autoindex module). (Not needed since 1.23.4)
  • nginx-*-i686.exe: 32-bit nginx
  • nginx-*-i686-debug.exe: 32-bit nginx with debugging log and symbols
  • nginx-*-x86_64.exe: 64-bit nginx
  • nginx-*-x86_64-debug.exe: 64-bit nginx with debugging log and symbols

nginx-build-msys2's People

Contributors

myfreeer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

nginx-build-msys2's Issues

Executing nginx in non-ascii dir

UTF-8 version of:

  • ngx_open_tempfile

  • ngx_delete_file

  • ngx_rename_file

  • ngx_win32_rename_file

  • ngx_getcwd

  • ngx_open_dir

  • ngx_read_dir

  • ngx_create_dir

  • ngx_delete_dir

  • ngx_open_glob

  • ngx_read_glob

build: nginx 1.21.5 with pcre2

Changes with nginx 1.21.5 28 Dec 2021

*) Change: now nginx is built with the PCRE2 library by default.

*) Change: now nginx always uses sendfile(SF_NODISKIO) on FreeBSD.

*) Feature: support for sendfile(SF_NOCACHE) on FreeBSD.

*) Feature: the $ssl_curve variable.

*) Bugfix: connections might hang when using HTTP/2 without SSL with the
   "sendfile" and "aio" directives.

release: build version 1.21.1

http://nginx.org/en/download.html

Changes with nginx 1.21.1                                        06 Jul 2021

    *) Change: now nginx always returns an error for the CONNECT method.

    *) Change: now nginx always returns an error if both "Content-Length"
       and "Transfer-Encoding" header lines are present in the request.

    *) Change: now nginx always returns an error if spaces or control
       characters are used in the request line.

    *) Change: now nginx always returns an error if spaces or control
       characters are used in a header name.

    *) Change: now nginx always returns an error if spaces or control
       characters are used in the "Host" request header line.

    *) Change: optimization of configuration testing when using many
       listening sockets.

    *) Bugfix: nginx did not escape """, "<", ">", "\", "^", "`", "{", "|",
       and "}" characters when proxying with changed URI.

    *) Bugfix: SSL variables might be empty when used in logs; the bug had
       appeared in 1.19.5.

    *) Bugfix: keepalive connections with gRPC backends might not be closed
       after receiving a GOAWAY frame.

    *) Bugfix: reduced memory consumption for long-lived requests when
       proxying with more than 64 buffers.

Is it usefull even if i dont use OpenSSL on my build?

Hello friend

Is this usefull even if i dont use OpenSSL on my build?

One more question...

Do you know why i cant add echo-nginx-module using
Msys2 + make + cc:

cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -DFD_SETSIZE=1024 -s -O2 -fno-strict-aliasing -pipe  -I src/core -I src/event -I src/event/modules -I src/os/win32 -I ../deps/pcre-8.45 -I ../deps/gd/include -I objs -I src/http -I src/http/modules \
        -o objs/addon/src/ngx_http_echo_foreach.o \
        ../deps/echo-nginx-module-0.62/src/ngx_http_echo_foreach.c
../deps/echo-nginx-module-0.62/src/ngx_http_echo_filter.c: In function 'ngx_http_echo_filter_init':
../deps/echo-nginx-module-0.62/src/ngx_http_echo_filter.c:49:12: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
   49 |            (unsigned long) ngx_http_top_header_filter);
      |            ^
../deps/echo-nginx-module-0.62/src/ngx_http_echo_filter.c:54:36: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
   54 |         dd("top body filter: %ld", (unsigned long) ngx_http_top_body_filter);
      |                                    ^
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -DFD_SETSIZE=1024 -s -O2 -fno-strict-aliasing -pipe -I src/core -I src/event -I src/event/modules -I src/os/win32 -I ../deps/pcre-8.45 -I ../deps/gd/include -I objs \
        -o objs/ngx_modules.o \
        objs/ngx_modules.c
cc1.exe: all warnings being treated as errors
make[1]: *** [objs/Makefile:1081: objs/addon/src/ngx_http_echo_filter.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/xinxilas/nginx'
make: *** [Makefile:10: build] Error 2

Using Msys + MinG32 + VS19 + NMake + cl:

cl -c -O2  -W4 -WX -nologo -MT -Zi -Fdobjs/nginx.pdb -DFD_SETSIZE=1024 -Yungx_config.h -Fpobjs/ngx_config.pch -I src/core  -I src/event  -I src/event/modules  -I src/os/win32  -I ../deps/pcre-8.45  -I ../deps/gd/include  -I objs  -I src/http  -I src/http/modules  -Foobjs/addon/src/ngx_http_echo_module.obj  ../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c
ngx_http_echo_module.c
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(8): error C2220: the following warning is treated as an error
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(8): warning C4603: 'DDEBUG': macro is not defined or definition is different after precompiled header use
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(8): note: Add macro to precompiled header instead of defining here
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(22): note: use of precompiled header
E:\MinGW\msys\1.0\home\xinxilas\nginx\src\core\ngx_cycle.h(44): error C2079: 'new_log' uses undefined struct 'ngx_log_s'
E:\MinGW\msys\1.0\home\xinxilas\nginx\src\core\ngx_resolver.h(49): error C2079: 'log' uses undefined struct 'ngx_log_s'
E:\MinGW\msys\1.0\home\xinxilas\nginx\src\core\ngx_connection.h(42): error C2079: 'log' uses undefined struct 'ngx_log_s'
../deps/echo-nginx-module-0.62/src/ngx_http_echo_module.c(70): error C2146: syntax error: missing ')' before identifier 'opcode'

I was able to compile this module using Msys2 + make + cc after edit an ngx_http_echo_filter.c
https://stackoverflow.com/questions/26805461/why-do-i-get-cast-from-pointer-to-integer-of-different-size-error?answertab=active#tab-top
using "uintptr_t" instead of "unsigned long"

But lets find out which more 3rd party modules ill have problem to compile for windows...

release: build version 1.21.4

Changes with nginx 1.21.4 02 Nov 2021

*) Change: support for NPN instead of ALPN to establish HTTP/2
   connections has been removed.

*) Change: now nginx rejects SSL connections if ALPN is used by the
   client, but no supported protocols can be negotiated.

*) Change: the default value of the "sendfile_max_chunk" directive was
   changed to 2 megabytes.

*) Feature: the "proxy_half_close" directive in the stream module.

*) Feature: the "ssl_alpn" directive in the stream module.

*) Feature: the $ssl_alpn_protocol variable.

*) Feature: support for SSL_sendfile() when using OpenSSL 3.0.

*) Feature: the "mp4_start_key_frame" directive in the
   ngx_http_mp4_module.
   Thanks to Tracey Jaquith.

*) Bugfix: in the $content_length variable when using chunked transfer
   encoding.

*) Bugfix: after receiving a response with incorrect length from a
   proxied backend nginx might nevertheless cache the connection.
   Thanks to Awdhesh Mathpal.

*) Bugfix: invalid headers from backends were logged at the "info" level
   instead of "error"; the bug had appeared in 1.21.1.

*) Bugfix: requests might hang when using HTTP/2 and the "aio_write"
   directive.

build: nginx 1.25.3


Changes with nginx 1.25.3                                        24 Oct 2023

    *) Change: improved detection of misbehaving clients when using HTTP/2.

    *) Feature: startup speedup when using a large number of locations.
       Thanks to Yusuke Nojima.

    *) Bugfix: a segmentation fault might occur in a worker process when
       using HTTP/2 without SSL; the bug had appeared in 1.25.1.

    *) Bugfix: the "Status" backend response header line with an empty
       reason phrase was handled incorrectly.

    *) Bugfix: memory leak during reconfiguration when using the PCRE2
       library.
       Thanks to ZhenZhong Wu.

    *) Bugfixes and improvements in HTTP/3.

release: build version 1.21.2

Changes with nginx 1.21.2 31 Aug 2021

*) Change: now nginx rejects HTTP/1.0 requests with the
   "Transfer-Encoding" header line.

*) Change: export ciphers are no longer supported.

*) Feature: OpenSSL 3.0 compatibility.

*) Feature: the "Auth-SSL-Protocol" and "Auth-SSL-Cipher" header lines
   are now passed to the mail proxy authentication server.
   Thanks to Rob Mueller.

*) Feature: request body filters API now permits buffering of the data
   being processed.

*) Bugfix: backend SSL connections in the stream module might hang after
   an SSL handshake.

*) Bugfix: the security level, which is available in OpenSSL 1.1.0 or
   newer, did not affect loading of the server certificates when set
   with "@SECLEVEL=N" in the "ssl_ciphers" directive.

*) Bugfix: SSL connections with gRPC backends might hang if select,
   poll, or /dev/poll methods were used.

*) Bugfix: when using HTTP/2 client request body was always written to
   disk if the "Content-Length" header line was not present in the
   request.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.