mirror of
https://github.com/openresty/openresty.git
synced 2024-10-13 00:29:41 +00:00
Compare commits
60 Commits
Author | SHA1 | Date | |
---|---|---|---|
391709ce4d | |||
78af48d106 | |||
34c5e749b7 | |||
5deaa06788 | |||
1fbcf153e3 | |||
da979a620a | |||
e75b5c926b | |||
0a35dfc126 | |||
88b4cf1abf | |||
51d68caaed | |||
2a1b28da1c | |||
ba4d3dd99f | |||
ec3186ccc9 | |||
e1cfbe09ab | |||
8caa177718 | |||
d00f1e1ef0 | |||
ba6621b12b | |||
df41967474 | |||
2fd117c427 | |||
cfc14f5d26 | |||
1197fe2bd1 | |||
b0654629a9 | |||
4fb4791107 | |||
6b82ea1099 | |||
b59ef879a5 | |||
2044681992 | |||
ee90152ae3 | |||
7a5c96d72f | |||
b490cfeea4 | |||
b1c4280777 | |||
710d9e323d | |||
1ad7b03044 | |||
b6c362bbf6 | |||
b03099b386 | |||
cbfbd19460 | |||
e921c6e9b1 | |||
365c7d9d9e | |||
5d01a5e0b4 | |||
e478681308 | |||
e254c3d0c1 | |||
dbccee1418 | |||
efe10e532c | |||
6343d26c17 | |||
8ffd932b20 | |||
6cb4ae0de3 | |||
6c8f4f87ba | |||
d7f84c9079 | |||
4f2bf44aba | |||
a4640d68f1 | |||
69803153aa | |||
b488540a2f | |||
b37d406423 | |||
dc03e7641b | |||
2900286149 | |||
b1c3587c50 | |||
5163293260 | |||
1815637613 | |||
fd667d6369 | |||
ae8e36ae77 | |||
e2a735c481 |
@ -1,4 +1,4 @@
|
||||
Copyright (C) 2009-2015, by Yichun "agentzh" Zhang, CloudFlare Inc.
|
||||
Copyright (C) 2009-2015, by Yichun "agentzh" Zhang, OpenResty Inc.
|
||||
|
||||
Copyright (C) 2009-2014, by Xiaozhe Wang (chaoslawful) <chaoslawful@gmail.com>.
|
||||
|
||||
|
@ -88,7 +88,7 @@ Copyright & License
|
||||
|
||||
The bundle itself is licensed under the 2-clause BSD license.
|
||||
|
||||
Copyright (c) 2011-2016, Yichun "agentzh" Zhang (章亦春) <agentzh@gmail.com>, CloudFlare Inc.
|
||||
Copyright (c) 2011-2017, Yichun "agentzh" Zhang (章亦春) <agentzh@gmail.com>, OpenResty Inc.
|
||||
|
||||
This module is licensed under the terms of the BSD license.
|
||||
|
||||
|
@ -65,7 +65,7 @@ programming language. Lua is a powerful, dynamic and light-weight
|
||||
programming language. It may be embedded or used as a general-purpose,
|
||||
stand-alone language.
|
||||
|
||||
LuaJIT is Copyright E<copy> 2005-2016 Mike Pall, released under the
|
||||
LuaJIT is Copyright E<copy> 2005-2017 Mike Pall, released under the
|
||||
E<rchevron> MIT open source license.
|
||||
|
||||
=head2 Compatibility
|
||||
@ -189,13 +189,13 @@ LuaJIT.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file luajit.html
|
||||
# 8082 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
|
@ -60,24 +60,28 @@ LuaJIT
|
||||
|
||||
=back
|
||||
|
||||
If you want to report bugs, propose fixes or suggest enhancements,
|
||||
please use the GitHub issue tracker.
|
||||
|
||||
Please send general questions to the E<rchevron> LuaJIT mailing list.
|
||||
|
||||
You can also send any questions you have directly to me:
|
||||
|
||||
Contact info in image
|
||||
|
||||
=head2 Copyright
|
||||
|
||||
All documentation is Copyright E<copy> 2005-2016 Mike Pall.
|
||||
All documentation is Copyright E<copy> 2005-2017 Mike Pall.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file contact.html
|
||||
# 2813 bytes of input
|
||||
#Wed Jun 29 13:18:14 2016 agentzh
|
||||
# 2989 bytes of input
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
|
@ -163,14 +163,14 @@ note that this mechanism is not without overhead.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file ext_c_api.html
|
||||
# 6042 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
# Deleting phrasal "code" element (`tt_18) because it has super-phrasal elements (`br_3) as children.
|
||||
|
@ -273,13 +273,13 @@ undue conversion penalties.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file ext_ffi.html
|
||||
# 10336 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
|
@ -488,14 +488,14 @@ itself still refers to a variable named C<i>.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file ext_ffi_api.html
|
||||
# 21471 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
# Deleting phrasal "code" element (`tt_157) because it has super-phrasal elements (`br_3, `br_4) as children.
|
||||
|
@ -1375,13 +1375,13 @@ called via the FFI, if the call is compiled.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file ext_ffi_semantics.html
|
||||
# 53847 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
|
@ -609,14 +609,14 @@ function scope is unnecessary.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file ext_ffi_tutorial.html
|
||||
# 22557 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
# Deleting phrasal "code" element (`tt_100) because it has super-phrasal elements (`br_33, `br_34) as children.
|
||||
|
@ -168,14 +168,14 @@ know more.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file ext_jit.html
|
||||
# 5903 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
# Deleting phrasal "code" element (`tt_6) because it has super-phrasal elements (`br_2, `br_3) as children.
|
||||
|
@ -346,13 +346,13 @@ content immediately or copy it for later use.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file ext_profiler.html
|
||||
# 13135 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
|
@ -166,7 +166,8 @@ and cannot be loaded.
|
||||
|
||||
Note: C<LJ_GC64> mode requires a different frame layout, which implies
|
||||
a different, incompatible bytecode format for ports that use this mode
|
||||
(e.g. ARM64). This may be rectified in the future.
|
||||
(e.g. ARM64 or MIPS64) or when explicitly enabled for x64. This may be
|
||||
rectified in the future.
|
||||
|
||||
=head2 C<table.new(narray, nhash)> allocates a pre-sized table
|
||||
|
||||
@ -275,6 +276,12 @@ functions.
|
||||
|
||||
=item * C<debug.upvalueid()> and C<debug.upvaluejoin()>.
|
||||
|
||||
=item * Lua/C API extensions: C<lua_upvalueid()> C<lua_upvaluejoin()>
|
||||
C<lua_loadx()> C<luaL_fileresult()> C<luaL_execresult()>
|
||||
C<luaL_loadfilex()> C<luaL_loadbufferx()> C<luaL_traceback()>
|
||||
C<luaL_setfuncs()> C<luaL_pushmodule()> C<luaL_newlibtable()>
|
||||
C<luaL_newlib()>
|
||||
|
||||
=item * Command line option C<-E>.
|
||||
|
||||
=item * Command line checks C<__tostring> for errors.
|
||||
@ -314,6 +321,10 @@ status.
|
||||
|
||||
=item * Remove C<math.mod()>, C<string.gfind()>.
|
||||
|
||||
=item * C<package.searchers>.
|
||||
|
||||
=item * C<module()> returns the module table.
|
||||
|
||||
=back
|
||||
|
||||
Note: this provides only partial compatibility with Lua 5.2 at the
|
||||
@ -330,6 +341,16 @@ LuaJIT supports some extensions from Lua 5.3:
|
||||
=item * Unicode escape C<'\u{XX...}'> embeds the UTF-8 encoding in
|
||||
string literals.
|
||||
|
||||
=item * The argument table C<arg> can be read (and modified) by
|
||||
C<LUA_INIT> and C<-e> chunks.
|
||||
|
||||
=item * C<io.read()> and C<file:read()> accept formats with or without
|
||||
a leading C<*>.
|
||||
|
||||
=item * C<table.move(a1, f, e, t [,a2])>.
|
||||
|
||||
=item * C<coroutine.isyieldable()>.
|
||||
|
||||
=back
|
||||
|
||||
=head2 C++ Exception Interoperability
|
||||
@ -441,13 +462,13 @@ destructors.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file extensions.html
|
||||
# 16722 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
# 17525 bytes of input
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
|
@ -212,13 +212,13 @@ development of certain features, if they are important to you.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file faq.html
|
||||
# 7685 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
|
@ -185,6 +185,11 @@ MSVC or WinSDK.
|
||||
Please read the instructions given in these files, before changing any
|
||||
settings.
|
||||
|
||||
LuaJIT on x64 currently uses 32 bit GC objects by default. C<LJ_GC64>
|
||||
mode may be explicitly enabled: add C<XCFLAGS=-DLUAJIT_ENABLE_GC64> to
|
||||
the make command or run C<msvcbuild gc64> for MSVC/WinSDK. Please check
|
||||
the note about the bytecode format differences, too.
|
||||
|
||||
=head2 POSIX Systems (Linux, OSX, *BSD etc.)
|
||||
|
||||
=head2 Prerequisites
|
||||
@ -491,14 +496,15 @@ Apple, not me. Or use Android. :-p
|
||||
ISDKP=$(xcrun --sdk iphoneos --show-sdk-path)
|
||||
ICC=$(xcrun --sdk iphoneos --find clang)
|
||||
ISDKF="-arch armv7 -isysroot $ISDKP"
|
||||
make HOST_CC="clang -m32 -arch i386" CROSS="$(dirname $ICC)/" \
|
||||
TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
|
||||
make DEFAULT_CC=clang HOST_CC="clang -m32 -arch i386" \
|
||||
CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
|
||||
|
||||
# iOS/ARM64
|
||||
ISDKP=$(xcrun --sdk iphoneos --show-sdk-path)
|
||||
ICC=$(xcrun --sdk iphoneos --find clang)
|
||||
ISDKF="-arch arm64 -isysroot $ISDKP"
|
||||
make CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
|
||||
make DEFAULT_CC=clang CROSS="$(dirname $ICC)/" \
|
||||
TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
|
||||
|
||||
=head2 Cross-compiling for consoles
|
||||
|
||||
@ -586,15 +592,11 @@ don't intend to load Lua/C modules at runtime.
|
||||
=back
|
||||
|
||||
=item * If you're building a 64 bit application on OSX which links
|
||||
directly or indirectly against LuaJIT, you need to link your main
|
||||
executable with these flags:
|
||||
directly or indirectly against LuaJIT which is not built for C<LJ_GC64>
|
||||
mode, you need to link your main executable with these flags:
|
||||
|
||||
-pagezero_size 10000 -image_base 100000000
|
||||
|
||||
Also, it's recommended to C<rebase> all (self-compiled) shared
|
||||
libraries which are loaded at runtime on OSX/x64 (e.g. C extension
|
||||
modules for Lua). See: C<man rebase>
|
||||
|
||||
=back
|
||||
|
||||
Additional hints for initializing LuaJIT using the C API functions:
|
||||
@ -683,14 +685,14 @@ package maintainer), anyway.
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file install.html
|
||||
# 25008 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
# 25250 bytes of input
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
# Deleting phrasal "a" element (`a_34) because it has super-phrasal elements (`br_16) as children.
|
||||
|
@ -409,13 +409,13 @@ Max. total size of all machine code areas in KBytes
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file running.html
|
||||
# 13720 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
|
@ -87,17 +87,27 @@ are not handled correctly. The error may fall through an on-trace
|
||||
C<pcall> or it may be passed on to the function set with C<lua_atpanic>
|
||||
on x64. This issue will be fixed with the new garbage collector.
|
||||
|
||||
=item * LuaJIT on 64 bit systems provides a B<limited range> of 47 bits
|
||||
for the B<legacy C<lightuserdata>> data type. This is only relevant on
|
||||
x64 systems which use the negative part of the virtual address space in
|
||||
user mode, e.g. Solaris/x64, and on ARM64 systems configured with a 48
|
||||
bit or 52 bit VA. Avoid using C<lightuserdata> to hold pointers that
|
||||
may point outside of that range, e.g. variables on the stack. In
|
||||
general, avoid this data type for new code and replace it with (much
|
||||
more performant) FFI bindings. FFI cdata pointers can address the full
|
||||
64 bit range.
|
||||
|
||||
=back
|
||||
|
||||
----
|
||||
|
||||
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact
|
||||
Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
|
||||
|
||||
=cut
|
||||
|
||||
#Pod::HTML2Pod conversion notes:
|
||||
#From file status.html
|
||||
# 3334 bytes of input
|
||||
#Wed Jun 29 13:18:15 2016 agentzh
|
||||
# 3931 bytes of input
|
||||
#Sat Apr 8 14:31:44 2017 agentzh
|
||||
# No a_name switch not specified, so will not try to render <a name='...'>
|
||||
# No a_href switch not specified, so will not try to render <a href='...'>
|
||||
|
@ -6,9 +6,9 @@ README-win32 - README for the Windows 32-bit build of OpenResty
|
||||
Description
|
||||
===========
|
||||
|
||||
The binary distributions of OpenResty can be downloaded from the following web page:
|
||||
The official binary Win32 distribution of OpenResty can be downloaded from the following web page:
|
||||
|
||||
https://openresty.org/#Download
|
||||
https://openresty.org/en/download.html
|
||||
|
||||
To start the NGINX server of the nginx server of the Win32 binary distribution of OpenResty:
|
||||
|
||||
@ -124,25 +124,58 @@ MinGW gcc 4.8.1, MSYS perl, MSYS bash, MSYS make, and etc. Basically, it is curr
|
||||
the following cmmands:
|
||||
|
||||
```bash
|
||||
PCRE=pcre-8.39
|
||||
ZLIB=zlib-1.2.8
|
||||
OPENSSL=openssl-1.0.2j
|
||||
|
||||
mkdir -p objs/lib || exit 1
|
||||
cd objs/lib || exit 1
|
||||
ls ../../..
|
||||
tar -xf ../../../openssl-1.0.2d.tar.gz
|
||||
tar -xf ../../../zlib-1.2.8.tar.gz
|
||||
tar -xf ../../../pcre-8.37.tar.gz
|
||||
tar -xf ../../../$OPENSSL.tar.gz || exit 1
|
||||
tar -xf ../../../$ZLIB.tar.gz || exit 1
|
||||
tar -xf ../../../$PCRE.tar.gz || exit 1
|
||||
cd ../..
|
||||
./configure --with-cc=gcc \
|
||||
|
||||
cd objs/lib/$OPENSSL || exit 1
|
||||
patch -p1 < ../../../patches/openssl-1.0.2h-sess_set_get_cb_yield.patch || exit 1
|
||||
cd ../../..
|
||||
|
||||
./configure \
|
||||
--with-cc=gcc \
|
||||
--with-ipv6 \
|
||||
--prefix= \
|
||||
--with-cc-opt='-DFD_SETSIZE=1024' \
|
||||
--with-select_module \
|
||||
--with-ipv6 \
|
||||
--sbin-path=nginx.exe \
|
||||
--with-pcre-jit \
|
||||
--without-http_rds_json_module \
|
||||
--without-http_rds_csv_module \
|
||||
--without-lua_rds_parser \
|
||||
--with-ipv6 \
|
||||
--with-stream \
|
||||
--with-stream_ssl_module \
|
||||
--with-http_v2_module \
|
||||
--without-mail_pop3_module \
|
||||
--without-mail_imap_module \
|
||||
--without-mail_smtp_module \
|
||||
--with-http_stub_status_module \
|
||||
--with-http_realip_module \
|
||||
--with-http_addition_module \
|
||||
--with-http_auth_request_module \
|
||||
--with-http_secure_link_module \
|
||||
--with-http_random_index_module \
|
||||
--with-http_gzip_static_module \
|
||||
--with-http_sub_module \
|
||||
--with-http_dav_module \
|
||||
--with-http_flv_module \
|
||||
--with-http_mp4_module \
|
||||
--with-http_gunzip_module \
|
||||
--with-select_module \
|
||||
--with-luajit-xcflags="-DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT" \
|
||||
--with-pcre=objs/lib/pcre-8.37 \
|
||||
--with-zlib=objs/lib/zlib-1.2.8 \
|
||||
--with-openssl=objs/lib/openssl-1.0.2d \
|
||||
-j5
|
||||
--with-pcre=objs/lib/$PCRE \
|
||||
--with-zlib=objs/lib/$ZLIB \
|
||||
--with-openssl=objs/lib/$OPENSSL \
|
||||
-j5 || exit 1
|
||||
|
||||
make
|
||||
make install
|
||||
```
|
||||
@ -162,14 +195,14 @@ installing the build toolchain.
|
||||
Author
|
||||
======
|
||||
|
||||
Yichun "agentzh" Zhang <agentzh@gmail.com>, CloudFlare Inc.
|
||||
Yichun "agentzh" Zhang <agentzh@gmail.com>, OpenResty Inc.
|
||||
|
||||
Copyright & License
|
||||
===================
|
||||
|
||||
This module is licensed under the BSD license.
|
||||
|
||||
Copyright (C) 2015-2016, by Yichun "agentzh" Zhang (章亦春) <agentzh@gmail.com>, CloudFlare Inc.
|
||||
Copyright (C) 2015-2016, by Yichun "agentzh" Zhang (章亦春) <agentzh@gmail.com>, OpenResty Inc.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
working. Further configuration is required.</p>
|
||||
|
||||
<p>For online documentation and support please refer to
|
||||
<a href="https://openresty.org/">openresty.org</a>.<br/>
|
||||
<a href="https://openresty.org/">openresty.org</a>.<br/></p>
|
||||
|
||||
<p><em>Thank you for flying OpenResty.</em></p>
|
||||
</body>
|
||||
|
55
patches/nginx-1.11.2-safe_resolver_ipv6_option.patch
Normal file
55
patches/nginx-1.11.2-safe_resolver_ipv6_option.patch
Normal file
@ -0,0 +1,55 @@
|
||||
# HG changeset patch
|
||||
# User Thibault Charbonnier <thibaultcha@fastmail.com>
|
||||
# Date 1481847421 28800
|
||||
# Thu Dec 15 16:17:01 2016 -0800
|
||||
# Node ID 8bf038fe006fd8ae253d6b41fc6cf109a8912d3e
|
||||
# Parent a3dc657f4e9530623683e6b85bd7492662e4dc47
|
||||
Resolver: ignore ipv6=off resolver option when no ipv6 support
|
||||
|
||||
Makes the resolver directive more robust: we only error out when ipv6
|
||||
resolution is desired but not supported (ipv6=on).
|
||||
|
||||
use case 1: some configurations are sometimes re-used between builds with and
|
||||
without ipv6 support. This patch avoids the need to remove the "ipv6=off" flag.
|
||||
|
||||
use case 2: currently, some tools rely on the --with-ipv6 configure option from
|
||||
"nginx -V" to determine if ipv6 resolution should be disabled in some cases.
|
||||
With this option disappearing in Nginx 1.11.5, this patch would allow such tools
|
||||
to assume "ipv6=off" to be safe regardless of ipv6 support in the current
|
||||
build.
|
||||
|
||||
diff -r a3dc657f4e95 -r 8bf038fe006f src/core/ngx_resolver.c
|
||||
--- a/src/core/ngx_resolver.c Thu Dec 15 21:44:34 2016 +0300
|
||||
+++ b/src/core/ngx_resolver.c Thu Dec 15 16:17:01 2016 -0800
|
||||
@@ -224,14 +224,22 @@
|
||||
continue;
|
||||
}
|
||||
|
||||
-#if (NGX_HAVE_INET6)
|
||||
if (ngx_strncmp(names[i].data, "ipv6=", 5) == 0) {
|
||||
|
||||
if (ngx_strcmp(&names[i].data[5], "on") == 0) {
|
||||
+#if (NGX_HAVE_INET6)
|
||||
r->ipv6 = 1;
|
||||
+#else
|
||||
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
+ "no ipv6 support but \"%V\" in resolver",
|
||||
+ &names[i]);
|
||||
+ return NULL;
|
||||
+#endif
|
||||
|
||||
} else if (ngx_strcmp(&names[i].data[5], "off") == 0) {
|
||||
+#if (NGX_HAVE_INET6)
|
||||
r->ipv6 = 0;
|
||||
+#endif
|
||||
|
||||
} else {
|
||||
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
||||
@@ -241,7 +249,6 @@
|
||||
|
||||
continue;
|
||||
}
|
||||
-#endif
|
||||
|
||||
ngx_memzero(&u, sizeof(ngx_url_t));
|
||||
|
4014
t/sanity.t
4014
t/sanity.t
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
PCRE=pcre-8.39
|
||||
ZLIB=zlib-1.2.8
|
||||
OPENSSL=openssl-1.0.2h
|
||||
PCRE=pcre-8.40
|
||||
ZLIB=zlib-1.2.11
|
||||
OPENSSL=openssl-1.0.2k
|
||||
|
||||
# wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
|
||||
# wget http://zlib.net/zlib-1.2.11.tar.gz
|
||||
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
|
||||
|
||||
rm -rf objs || exit 1
|
||||
mkdir -p objs/lib || exit 1
|
||||
@ -14,27 +18,46 @@ tar -xf ../../../$PCRE.tar.gz || exit 1
|
||||
cd ../..
|
||||
|
||||
cd objs/lib/$OPENSSL || exit 1
|
||||
patch -p1 < ../../../patches/$OPENSSL-sess_set_get_cb_yield.patch || exit 1
|
||||
patch -p1 < ../../../patches/openssl-1.0.2h-sess_set_get_cb_yield.patch || exit 1
|
||||
cd ../../..
|
||||
|
||||
#--with-openssl-opt="no-asm" \
|
||||
|
||||
./configure --with-cc=gcc --with-ipv6 --prefix= \
|
||||
./configure \
|
||||
--with-cc=gcc \
|
||||
--with-ipv6 \
|
||||
--prefix= \
|
||||
--with-cc-opt='-DFD_SETSIZE=1024' \
|
||||
--sbin-path=nginx.exe \
|
||||
--with-ipv6 \
|
||||
--with-pcre-jit \
|
||||
--with-http_stub_status_module \
|
||||
--with-http_realip_module \
|
||||
--without-http_rds_json_module \
|
||||
--without-http_rds_csv_module \
|
||||
--without-lua_rds_parser \
|
||||
--with-ipv6 \
|
||||
--with-stream \
|
||||
--with-stream_ssl_module \
|
||||
--with-http_v2_module \
|
||||
--without-mail_pop3_module \
|
||||
--without-mail_imap_module \
|
||||
--without-mail_smtp_module \
|
||||
--with-http_stub_status_module \
|
||||
--with-http_realip_module \
|
||||
--with-http_addition_module \
|
||||
--with-http_auth_request_module \
|
||||
--with-http_secure_link_module \
|
||||
--with-http_random_index_module \
|
||||
--with-http_gzip_static_module \
|
||||
--with-http_sub_module \
|
||||
--with-http_dav_module \
|
||||
--with-http_flv_module \
|
||||
--with-http_mp4_module \
|
||||
--with-http_gunzip_module \
|
||||
--with-select_module \
|
||||
--with-luajit-xcflags="-DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT" \
|
||||
--with-pcre=objs/lib/$PCRE \
|
||||
--with-zlib=objs/lib/$ZLIB \
|
||||
--with-openssl=objs/lib/$OPENSSL \
|
||||
--with-select_module -j5 || exit 1
|
||||
-j5 || exit 1
|
||||
#gmake -j5
|
||||
make || exit 1
|
||||
make install
|
||||
|
165
util/configure
vendored
165
util/configure
vendored
@ -5,6 +5,7 @@ use strict;
|
||||
use warnings;
|
||||
|
||||
use File::Spec;
|
||||
use File::Temp qw( tempfile tmpnam );
|
||||
|
||||
sub shell ($@);
|
||||
sub env ($$);
|
||||
@ -121,12 +122,14 @@ my $with_resty_mods_regex;
|
||||
}
|
||||
|
||||
my $prefix = '/usr/local/openresty';
|
||||
my $ngx_sbin;
|
||||
my %resty_opts;
|
||||
my $dry_run;
|
||||
my @ngx_rpaths;
|
||||
my $cc;
|
||||
my $cores;
|
||||
my $luajit_xcflags = '';
|
||||
my $no_luajit_lua52;
|
||||
|
||||
my (@ngx_opts, @ngx_cc_opts, @ngx_ld_opts);
|
||||
|
||||
@ -165,13 +168,13 @@ for my $opt (@ARGV) {
|
||||
}
|
||||
|
||||
} elsif ($opt eq '--without-lua51') {
|
||||
undef $resty_opts{lua};
|
||||
die "ERROR: --without-lua51 is no longer supported.\n";
|
||||
|
||||
} elsif ($opt eq '--with-lua51') {
|
||||
$resty_opts{lua} = 1;
|
||||
die "ERROR: --with-lua51 is no longer supported.\n";
|
||||
|
||||
} elsif ($opt =~ /^--with-lua51=(.*)/) {
|
||||
$resty_opts{lua_path} = $1;
|
||||
die "ERROR: --with-lua51=PATH is no longer supported.\n";
|
||||
|
||||
} elsif ($opt eq '--without-http_rewrite_module') {
|
||||
warn "WARNING: ngx_devel_kit is automatically disabled ",
|
||||
@ -203,6 +206,9 @@ for my $opt (@ARGV) {
|
||||
} elsif ($opt eq '--without-lua_resty_string') {
|
||||
$resty_opts{no_lua_resty_string} = 1;
|
||||
|
||||
} elsif ($opt eq '--without-lua_resty_limit_traffic') {
|
||||
$resty_opts{no_lua_resty_limit_traffic} = 1;
|
||||
|
||||
} elsif ($opt eq '--without-lua_resty_websocket') {
|
||||
$resty_opts{no_lua_resty_websocket} = 1;
|
||||
|
||||
@ -252,6 +258,9 @@ for my $opt (@ARGV) {
|
||||
} elsif ($opt =~ /^--with-luajit-xcflags=(.*)/) {
|
||||
$luajit_xcflags .= " $1";
|
||||
|
||||
} elsif ($opt =~ /^--without-luajit-lua52/) {
|
||||
$no_luajit_lua52 = 1;
|
||||
|
||||
} elsif ($opt =~ /^--with-libdrizzle=(.*)/) {
|
||||
$resty_opts{libdrizzle} = $1;
|
||||
|
||||
@ -297,6 +306,10 @@ for my $opt (@ARGV) {
|
||||
$path = File::Spec->rel2abs($path);
|
||||
push @ngx_opts, "--with-$lib=$path";
|
||||
|
||||
} elsif ($opt =~ /^--sbin-path=(.*)/) {
|
||||
$ngx_sbin = $1;
|
||||
push @ngx_opts, $opt;
|
||||
|
||||
} elsif ($opt =~ /^--\w.*/) {
|
||||
push @ngx_opts, $opt;
|
||||
|
||||
@ -341,10 +354,16 @@ push @make_cmds, "cd $root_dir/build/$ngx_dir && "
|
||||
push @make_install_cmds, "cd $root_dir/build/$ngx_dir && "
|
||||
. "\$(MAKE) install DESTDIR=\$(DESTDIR)";
|
||||
|
||||
push @make_install_cmds, "mkdir -p \$(DESTDIR)$prefix/site/lualib";
|
||||
push @make_install_cmds,
|
||||
"mkdir -p \$(DESTDIR)$prefix/site/lualib"
|
||||
. " \$(DESTDIR)$prefix/site/pod"
|
||||
. " \$(DESTDIR)$prefix/site/manifest";
|
||||
|
||||
if ($platform ne 'msys') {
|
||||
push @make_install_cmds, "ln -sf $ngx_prefix/sbin/nginx \$(DESTDIR)$prefix/bin/openresty";
|
||||
if (!$ngx_sbin) {
|
||||
$ngx_sbin = "$ngx_prefix/sbin/nginx";
|
||||
}
|
||||
push @make_install_cmds, "ln -sf $ngx_sbin \$(DESTDIR)$prefix/bin/openresty";
|
||||
}
|
||||
|
||||
cd '../..'; # to the root
|
||||
@ -601,6 +620,34 @@ _END_
|
||||
}
|
||||
}
|
||||
|
||||
if (!$no_luajit_lua52
|
||||
&& (!$luajit_xcflags || $luajit_xcflags !~ /-DLUAJIT_ENABLE_LUA52COMPAT\b/))
|
||||
{
|
||||
$luajit_xcflags .= " -DLUAJIT_ENABLE_LUA52COMPAT";
|
||||
}
|
||||
|
||||
{
|
||||
# check -msse4.2
|
||||
my ($out, $cfile) = tempfile("resty-config-XXXXXX",
|
||||
SUFFIX => '.c', TMPDIR => 1,
|
||||
UNLINK => 1);
|
||||
|
||||
print $out "int main(void) { return 0; }";
|
||||
close $out;
|
||||
|
||||
my $ofile = tmpnam();
|
||||
my $comp = ($cc || 'cc');
|
||||
|
||||
if (system("$comp -o $ofile -msse4.2 -c $cfile") == 0 && -s $ofile) {
|
||||
print "INFO: found -msse4.2 in $comp.\n";
|
||||
$luajit_xcflags .= " -msse4.2";
|
||||
unlink $ofile;
|
||||
|
||||
} else {
|
||||
print "WARNING: -msse4.2 not supported in $comp.\n";
|
||||
}
|
||||
}
|
||||
|
||||
if ($opts->{debug}) {
|
||||
$luajit_xcflags .= " -DLUA_USE_APICHECK -DLUA_USE_ASSERT";
|
||||
$luajit_xcflags =~ s/^ +//;
|
||||
@ -933,7 +980,7 @@ _EOC_
|
||||
}
|
||||
|
||||
for my $key (qw(dns memcached redis mysql string upload websocket
|
||||
lock lrucache core upstream_healthcheck))
|
||||
lock lrucache core upstream_healthcheck limit_traffic))
|
||||
{
|
||||
unless ($opts->{"no_lua_resty_$key"}) {
|
||||
(my $key2 = $key) =~ s/_/-/g;
|
||||
@ -952,6 +999,19 @@ _EOC_
|
||||
}
|
||||
}
|
||||
|
||||
# configure opm:
|
||||
{
|
||||
my $opm_dir = auto_complete 'opm';
|
||||
my $target_dir;
|
||||
if ($platform eq 'msys') {
|
||||
$target_dir = "\$(DESTDIR)$prefix/";
|
||||
} else {
|
||||
$target_dir = "\$(DESTDIR)$prefix/bin/";
|
||||
}
|
||||
push @make_install_cmds, "cd $root_dir/build/$opm_dir && "
|
||||
. "$root_dir/build/install bin/* $target_dir";
|
||||
}
|
||||
|
||||
# configure resty-cli:
|
||||
|
||||
{
|
||||
@ -1081,16 +1141,17 @@ _EOC_
|
||||
disable the lua-resty-upstream-healthcheck library
|
||||
--without-lua_resty_string disable the lua-resty-string library
|
||||
--without-lua_resty_websocket disable the lua-resty-websocket library
|
||||
--without-lua_resty_limit_traffic disable the lua-resty-limit-traffic library
|
||||
--without-lua_resty_lock disable the lua-resty-lock library
|
||||
--without-lua_resty_lrucache disable the lua-resty-lrucache library
|
||||
--without-lua_resty_core disable the lua-resty-core library
|
||||
|
||||
--with-lua51 enable and build the bundled standard Lua 5.1 interpreter
|
||||
--without-lua51 disable the bundled standard Lua 5.1 interpreter
|
||||
--with-lua51=DIR specify the external installation of Lua 5.1 by DIR
|
||||
--with-luajit enable and build the bundled LuaJIT 2.1 (the default)
|
||||
--with-luajit=DIR use the external LuaJIT 2.1 installation specified by DIR
|
||||
--with-luajit-xcflags=FLAGS Specify extra C compiler flags for LuaJIT 2.1
|
||||
--without-luajit-lua52 Turns off the LuaJIT extensions from Lua 5.2 that may break
|
||||
backward compatibility.
|
||||
|
||||
--with-libdrizzle=DIR specify the libdrizzle 1.0 (or drizzle) installation prefix
|
||||
--with-libpq=DIR specify the libpq (or postgresql) installation prefix
|
||||
--with-pg_config=PATH specify the path of the pg_config utility
|
||||
@ -1098,6 +1159,7 @@ _EOC_
|
||||
Options directly inherited from nginx
|
||||
|
||||
--sbin-path=PATH set nginx binary pathname
|
||||
--modules-path=PATH set modules path
|
||||
--conf-path=PATH set nginx.conf pathname
|
||||
--error-log-path=PATH set error log pathname
|
||||
--pid-path=PATH set nginx.pid pathname
|
||||
@ -1110,6 +1172,7 @@ Options directly inherited from nginx
|
||||
--group=GROUP set non-privileged group for
|
||||
worker processes
|
||||
|
||||
--build=NAME set build name
|
||||
--builddir=DIR set the build directory
|
||||
|
||||
--with-select_module enable select module
|
||||
@ -1119,22 +1182,30 @@ Options directly inherited from nginx
|
||||
|
||||
--with-threads enable thread pool support
|
||||
|
||||
--with-file-aio enable file aio support
|
||||
--with-ipv6 enable ipv6 support
|
||||
--with-file-aio enable file AIO support
|
||||
--with-ipv6 enable IPv6 support
|
||||
|
||||
--with-http_v2_module enable ngx_http_v2_module
|
||||
--with-http_realip_module enable ngx_http_realip_module
|
||||
--with-http_addition_module enable ngx_http_addition_module
|
||||
--with-http_xslt_module enable ngx_http_xslt_module
|
||||
--with-http_xslt_module=dynamic enable dynamic ngx_http_xslt_module
|
||||
--with-http_image_filter_module enable ngx_http_image_filter_module
|
||||
--with-http_image_filter_module=dynamic
|
||||
enable dynamic ngx_http_image_filter_module
|
||||
--with-http_geoip_module enable ngx_http_geoip_module
|
||||
--with-http_geoip_module=dynamic enable dynamic ngx_http_geoip_module
|
||||
--with-http_sub_module enable ngx_http_sub_module
|
||||
--with-http_dav_module enable ngx_http_dav_module
|
||||
--with-http_flv_module enable ngx_http_flv_module
|
||||
--with-http_mp4_module enable ngx_http_mp4_module
|
||||
--with-http_gunzip_module enable ngx_http_gunzip_module
|
||||
--with-http_gzip_static_module enable ngx_http_gzip_static_module
|
||||
--with-http_auth_request_module enable ngx_http_auth_request_module
|
||||
--with-http_random_index_module enable ngx_http_random_index_module
|
||||
--with-http_secure_link_module enable ngx_http_secure_link_module
|
||||
--with-http_degradation_module enable ngx_http_degradation_module
|
||||
--with-http_slice_module enable ngx_http_slice_module
|
||||
--with-http_stub_status_module enable ngx_http_stub_status_module
|
||||
|
||||
--without-http_charset_module disable ngx_http_charset_module
|
||||
@ -1158,6 +1229,8 @@ Options directly inherited from nginx
|
||||
--without-http_limit_req_module disable ngx_http_limit_req_module
|
||||
--without-http_empty_gif_module disable ngx_http_empty_gif_module
|
||||
--without-http_browser_module disable ngx_http_browser_module
|
||||
--without-http_upstream_hash_module
|
||||
disable ngx_http_upstream_hash_module
|
||||
--without-http_upstream_ip_hash_module
|
||||
disable ngx_http_upstream_ip_hash_module
|
||||
--without-http_upstream_least_conn_module
|
||||
@ -1165,43 +1238,63 @@ Options directly inherited from nginx
|
||||
--without-http_upstream_keepalive_module
|
||||
disable ngx_http_upstream_keepalive_module
|
||||
|
||||
--without-http_upstream_zone_module
|
||||
disable ngx_http_upstream_zone_module
|
||||
--with-http_perl_module enable ngx_http_perl_module
|
||||
--with-perl_modules_path=PATH set path to the perl modules
|
||||
--with-perl=PATH set path to the perl binary
|
||||
--with-http_perl_module=dynamic enable dynamic ngx_http_perl_module
|
||||
--with-perl_modules_path=PATH set Perl modules path
|
||||
--with-perl=PATH set perl binary pathname
|
||||
|
||||
--http-log-path=PATH set path to the http access log
|
||||
--http-client-body-temp-path=PATH set path to the http client request body
|
||||
temporary files
|
||||
--http-proxy-temp-path=PATH set path to the http proxy temporary files
|
||||
--http-fastcgi-temp-path=PATH set path to the http fastcgi temporary
|
||||
files
|
||||
--http-uwsgi-temp-path=PATH set path to the http uwsgi temporary files
|
||||
--http-scgi-temp-path=PATH set path to the http scgi temporary files
|
||||
--http-log-path=PATH set http access log pathname
|
||||
--http-client-body-temp-path=PATH set path to store
|
||||
http client request body temporary files
|
||||
--http-proxy-temp-path=PATH set path to store
|
||||
http proxy temporary files
|
||||
--http-fastcgi-temp-path=PATH set path to store
|
||||
http fastcgi temporary files
|
||||
--http-uwsgi-temp-path=PATH set path to store
|
||||
http uwsgi temporary files
|
||||
--http-scgi-temp-path=PATH set path to store
|
||||
http scgi temporary files
|
||||
|
||||
--without-http disable HTTP server
|
||||
--without-http-cache disable HTTP cache
|
||||
|
||||
--with-mail enable POP3/IMAP4/SMTP proxy module
|
||||
--with-mail=dynamic enable dynamic POP3/IMAP4/SMTP proxy module
|
||||
--with-mail_ssl_module enable ngx_mail_ssl_module
|
||||
--without-mail_pop3_module disable ngx_mail_pop3_module
|
||||
--without-mail_imap_module disable ngx_mail_imap_module
|
||||
--without-mail_smtp_module disable ngx_mail_smtp_module
|
||||
|
||||
--with-stream enable TCP/UDP proxy module
|
||||
--with-stream=dynamic enable dynamic TCP/UDP proxy module
|
||||
--with-stream_ssl_module enable ngx_stream_ssl_module
|
||||
--without-stream_limit_conn_module disable ngx_stream_limit_conn_module
|
||||
--without-stream_access_module disable ngx_stream_access_module
|
||||
--without-stream_map_module disable ngx_stream_map_module
|
||||
--without-stream_return_module disable ngx_stream_return_module
|
||||
--without-stream_upstream_hash_module
|
||||
disable ngx_stream_upstream_hash_module
|
||||
--without-stream_upstream_least_conn_module
|
||||
disable ngx_stream_upstream_least_conn_module
|
||||
--without-stream_upstream_zone_module
|
||||
disable ngx_stream_upstream_zone_module
|
||||
|
||||
--with-google_perftools_module enable ngx_google_perftools_module
|
||||
--with-cpp_test_module enable ngx_cpp_test_module
|
||||
|
||||
--add-module=PATH enable an external module
|
||||
--add-module=PATH enable external module
|
||||
--add-dynamic-module=PATH enable dynamic external module
|
||||
|
||||
--with-cc=PATH set path to C compiler
|
||||
--with-cpp=PATH set path to C preprocessor
|
||||
--with-cc-opt=OPTIONS set additional options for C compiler
|
||||
--with-ld-opt=OPTIONS set additional options for linker
|
||||
--with-cpu-opt=CPU build for specified CPU, the valid values:
|
||||
--with-cc=PATH set C compiler pathname
|
||||
--with-cpp=PATH set C preprocessor pathname
|
||||
--with-cc-opt=OPTIONS set additional C compiler options
|
||||
--with-ld-opt=OPTIONS set additional linker options
|
||||
--with-cpu-opt=CPU build for the specified CPU, valid values:
|
||||
pentium, pentiumpro, pentium3, pentium4,
|
||||
athlon, opteron, sparc32, sparc64, ppc64
|
||||
|
||||
--with-make=PATH specify the default make utility to be used
|
||||
|
||||
--without-pcre disable PCRE library usage
|
||||
--with-pcre force PCRE library usage
|
||||
--with-pcre=DIR set path to PCRE library sources
|
||||
@ -1209,25 +1302,17 @@ Options directly inherited from nginx
|
||||
--with-pcre-conf-opt=OPTIONS set additional configure options for PCRE
|
||||
--with-pcre-jit build PCRE with JIT compilation support
|
||||
|
||||
--with-md5=DIR set path to md5 library sources
|
||||
--with-md5-opt=OPTIONS set additional options for md5 building
|
||||
--with-md5-asm use md5 assembler sources
|
||||
|
||||
--with-sha1=DIR set path to sha1 library sources
|
||||
--with-sha1-opt=OPTIONS set additional options for sha1 building
|
||||
--with-sha1-asm use sha1 assembler sources
|
||||
|
||||
--with-zlib=DIR set path to zlib library sources
|
||||
--with-zlib-opt=OPTIONS set additional options for zlib building
|
||||
--with-zlib-opt=OPTIONS set additional build options for zlib
|
||||
--with-zlib-asm=CPU use zlib assembler sources optimized
|
||||
for specified CPU, the valid values:
|
||||
for the specified CPU, valid values:
|
||||
pentium, pentiumpro
|
||||
|
||||
--with-libatomic force libatomic_ops library usage
|
||||
--with-libatomic=DIR set path to libatomic_ops library sources
|
||||
|
||||
--with-openssl=DIR set path to OpenSSL library sources
|
||||
--with-openssl-opt=OPTIONS set additional options for OpenSSL building
|
||||
--with-openssl-opt=OPTIONS set additional build options for OpenSSL
|
||||
|
||||
--dry-run dry running the configure, for testing only
|
||||
--platform=PLATFORM forcibly specify a platform name, for testing only
|
||||
|
@ -7,6 +7,7 @@ use Getopt::Std qw(getopts);
|
||||
use Cwd qw/cwd/;
|
||||
|
||||
sub sh ($);
|
||||
sub cleanup ();
|
||||
sub write_config_file ($);
|
||||
|
||||
my %opts;
|
||||
@ -32,14 +33,8 @@ if ($^O eq 'freebsd' || $^O eq 'solaris') {
|
||||
|
||||
my $cfg_opts = "";
|
||||
|
||||
if ($opts{l}) {
|
||||
$lua = 'Lua';
|
||||
$cfg_opts .= " --with-lua51";
|
||||
|
||||
} else {
|
||||
$lua = 'LuaJIT';
|
||||
#$cfg_opts .= " --with-luajit";
|
||||
}
|
||||
$lua = 'LuaJIT';
|
||||
#$cfg_opts .= " --with-luajit";
|
||||
|
||||
if ($^O eq 'solaris') {
|
||||
$cfg_opts .= " --with-cc=gcc";
|
||||
@ -67,9 +62,9 @@ sub write_config_file ($) {
|
||||
|
||||
write_config_file "/tmp/nginx.conf";
|
||||
|
||||
warn "=== Without FFI ===\n";
|
||||
warn "\n=== Without FFI ===\n";
|
||||
$prefix = "/usr/local/openresty-noffi";
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html";
|
||||
cleanup();
|
||||
unless ($opts{f}) {
|
||||
sh "./configure $cfg_opts --with-cc-opt='-DNGX_LUA_NO_FFI_API' --prefix=$prefix -j$jobs > /dev/null";
|
||||
}
|
||||
@ -85,9 +80,9 @@ sh "curl -si localhost/cjson|grep 'json.safe: '";
|
||||
sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'};
|
||||
sh "sudo $prefix/nginx/sbin/nginx -sstop";
|
||||
|
||||
warn "=== --with-stream ===\n";
|
||||
warn "\n=== --with-stream ===\n";
|
||||
$prefix = "/usr/local/openresty-stream";
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html";
|
||||
cleanup();
|
||||
unless ($opts{f}) {
|
||||
sh "./configure $cfg_opts --with-stream --prefix=$prefix -j$jobs > /dev/null";
|
||||
}
|
||||
@ -104,9 +99,9 @@ sh "curl -si localhost/cjson|grep 'json.safe: '";
|
||||
sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'};
|
||||
sh "sudo $prefix/nginx/sbin/nginx -sstop";
|
||||
|
||||
warn "=== --with-stream + dtrace static probes ===\n";
|
||||
warn "\n=== --with-stream + dtrace static probes ===\n";
|
||||
$prefix = "/usr/local/openresty-stream-usdt";
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html";
|
||||
cleanup();
|
||||
unless ($opts{f}) {
|
||||
sh "./configure $cfg_opts --with-dtrace-probes --with-stream --prefix=$prefix -j$jobs > /dev/null";
|
||||
}
|
||||
@ -124,9 +119,9 @@ sh "curl -si localhost/cjson|grep 'json.safe: '";
|
||||
sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'};
|
||||
sh "sudo $prefix/nginx/sbin/nginx -sstop";
|
||||
|
||||
warn "=== Without Gzip/SSL/PCRE ===\n";
|
||||
warn "\n=== Without Gzip/SSL/PCRE ===\n";
|
||||
$prefix = "/usr/local/openresty-nogzip";
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html";
|
||||
cleanup();
|
||||
unless ($opts{f}) {
|
||||
sh "./configure $cfg_opts --without-http_rewrite_module --without-http_ssl_module --without-pcre --without-http_gzip_module --prefix=$prefix -j$jobs > /dev/null";
|
||||
}
|
||||
@ -149,7 +144,7 @@ $cfg_opts .= " --with-http_iconv_module";
|
||||
|
||||
warn "\n=== --with-threads ===\n";
|
||||
$prefix = "/usr/local/openresty-threads";
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html";
|
||||
cleanup();
|
||||
unless ($opts{f}) {
|
||||
sh "./configure $cfg_opts --with-threads --prefix=$prefix -j$jobs > /dev/null";
|
||||
}
|
||||
@ -168,7 +163,7 @@ sh "sudo $prefix/nginx/sbin/nginx -sstop";
|
||||
|
||||
warn "\n=== No Pool Build ===\n";
|
||||
$prefix = "/usr/local/openresty-nopool";
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html";
|
||||
cleanup();
|
||||
unless ($opts{f}) {
|
||||
sh "./configure --with-no-pool-patch $cfg_opts --prefix=$prefix -j$jobs > /dev/null";
|
||||
}
|
||||
@ -188,7 +183,7 @@ sh "sudo $prefix/nginx/sbin/nginx -sstop";
|
||||
|
||||
warn "\n=== Normal Build ===\n";
|
||||
$prefix = "/usr/local/openresty";
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html";
|
||||
cleanup();
|
||||
unless ($opts{f}) {
|
||||
sh "./configure $cfg_opts -j$jobs > /dev/null";
|
||||
}
|
||||
@ -202,11 +197,13 @@ sh "curl -si localhost/lua|grep $lua";
|
||||
sh "curl -si localhost/lua|grep $ver";
|
||||
sh "curl -si localhost/cjson|grep 'json.safe: '";
|
||||
sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'};
|
||||
sh qq{$prefix/bin/restydoc -s listen | grep 'configures the port to accept HTTP/2'};
|
||||
sh qq{$prefix/bin/restydoc opm | grep -E '^Status\$'};
|
||||
sh "sudo $prefix/nginx/sbin/nginx -sstop";
|
||||
|
||||
warn "\n=== Debug Build ===\n";
|
||||
$prefix = "/usr/local/openresty-debug";
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html";
|
||||
cleanup();
|
||||
unless ($opts{f}) {
|
||||
my $more_cfg_opts = '';
|
||||
if ($lua eq 'LuaJIT') {
|
||||
@ -229,7 +226,7 @@ sh "sudo $prefix/nginx/sbin/nginx -sstop";
|
||||
|
||||
warn "\n=== DTrace Build ===\n";
|
||||
$prefix = "/usr/local/openresty-dtrace";
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html";
|
||||
cleanup();
|
||||
unless ($opts{f}) {
|
||||
sh "./configure $cfg_opts --with-dtrace-probes --prefix=$prefix -j$jobs > /dev/null";
|
||||
}
|
||||
@ -258,6 +255,11 @@ sub sh ($) {
|
||||
system($cmd) == 0 or die "Command \"$cmd\" failed";
|
||||
}
|
||||
|
||||
sub cleanup () {
|
||||
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"
|
||||
. " $prefix/site $prefix/pod $prefix/resty.index";
|
||||
}
|
||||
|
||||
__DATA__
|
||||
|
||||
user nobody;
|
||||
|
@ -333,6 +333,10 @@ echo "$info_txt applying the upstream_timeout_fields patch for nginx"
|
||||
patch -p1 < $root/patches/nginx-$main_ver-upstream_timeout_fields.patch || exit 1
|
||||
echo
|
||||
|
||||
echo "$info_txt applying the safe_resolver_ipv6_option patch for nginx"
|
||||
patch -p1 < $root/patches/nginx-$main_ver-safe_resolver_ipv6_option.patch || exit 1
|
||||
echo
|
||||
|
||||
cp $root/html/index.html docs/html/ || exit 1
|
||||
cp $root/html/50x.html docs/html/ || exit 1
|
||||
|
||||
@ -389,21 +393,21 @@ mv openresty-rds-csv-nginx-module-* rds-csv-nginx-module-$ver || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.31
|
||||
ver=0.32
|
||||
$root/util/get-tarball "https://github.com/openresty/headers-more-nginx-module/tarball/v$ver" -O headers-more-nginx-module-$ver.tar.gz || exit 1
|
||||
tar -xzf headers-more-nginx-module-$ver.tar.gz || exit 1
|
||||
mv openresty-headers-more-nginx-module-* headers-more-nginx-module-$ver || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.1.9
|
||||
ver=0.1.10
|
||||
$root/util/get-tarball "https://github.com/openresty/drizzle-nginx-module/tarball/v$ver" -O drizzle-nginx-module-$ver.tar.gz || exit 1
|
||||
tar -xzf drizzle-nginx-module-$ver.tar.gz || exit 1
|
||||
mv openresty-drizzle-nginx-module-* drizzle-nginx-module-$ver || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.10.6
|
||||
ver=0.10.8
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-nginx-module/tarball/v$ver" -O lua-nginx-module-$ver.tar.gz || exit 1
|
||||
tar -xzf lua-nginx-module-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-nginx-module-* ngx_lua-$ver || exit 1
|
||||
@ -424,7 +428,7 @@ mv openresty-array-var-nginx-module-* array-var-nginx-module-$ver || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.17
|
||||
ver=0.18
|
||||
$root/util/get-tarball "https://github.com/openresty/memc-nginx-module/tarball/v$ver" -O memc-nginx-module-$ver.tar.gz || exit 1
|
||||
tar -xzf memc-nginx-module-$ver.tar.gz || exit 1
|
||||
mv openresty-memc-nginx-module-* memc-nginx-module-$ver || exit 1
|
||||
@ -498,14 +502,14 @@ mv FRiCKLE-ngx_coolkit-* ngx_coolkit-$ver || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.13
|
||||
ver=0.14
|
||||
$root/util/get-tarball "https://github.com/openresty/redis2-nginx-module/tarball/v$ver" -O redis2-nginx-module-$ver.tar.gz || exit 1
|
||||
tar -xzf redis2-nginx-module-$ver.tar.gz || exit 1
|
||||
mv openresty-redis2-nginx-module-* redis2-nginx-module-$ver || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.13
|
||||
ver=0.17
|
||||
$root/util/get-tarball "https://github.com/openresty/resty-cli/tarball/v$ver" -O resty-cli-$ver.tar.gz || exit 1
|
||||
tar -xzf resty-cli-$ver.tar.gz || exit 1
|
||||
mv openresty-resty-cli-* resty-cli-$ver || exit 1
|
||||
@ -513,9 +517,16 @@ resty_cli=resty-cli-$ver
|
||||
|
||||
#################################
|
||||
|
||||
ver=5.1.5
|
||||
$root/util/get-tarball "http://www.lua.org/ftp/lua-$ver.tar.gz" -O "lua-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-$ver.tar.gz || exit 1
|
||||
ver=0.0.3
|
||||
$root/util/get-tarball "https://github.com/openresty/opm/tarball/v$ver" -O opm-$ver.tar.gz || exit 1
|
||||
tar -xzf opm-$ver.tar.gz || exit 1
|
||||
mv openresty-opm-* opm-$ver || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
#ver=5.1.5
|
||||
#$root/util/get-tarball "http://www.lua.org/ftp/lua-$ver.tar.gz" -O "lua-$ver.tar.gz" || exit 1
|
||||
#tar -xzf lua-$ver.tar.gz || exit 1
|
||||
|
||||
#$root/util/get-tarball "http://agentzh.org/misc/nginx/patch-lua-$ver-4" -O "patch-lua-$ver-4" || exit 1
|
||||
|
||||
@ -525,21 +536,21 @@ tar -xzf lua-$ver.tar.gz || exit 1
|
||||
|
||||
#rm "patch-lua-$ver-4" || exit 1
|
||||
|
||||
echo "$info_txt applying the makefile_install_fix patch for lua $ver"
|
||||
patch -p0 < $root/patches/lua-$ver-makefile_install_fix.patch || exit 1
|
||||
echo
|
||||
#echo "$info_txt applying the makefile_install_fix patch for lua $ver"
|
||||
#patch -p0 < $root/patches/lua-$ver-makefile_install_fix.patch || exit 1
|
||||
#echo
|
||||
|
||||
echo "$info_txt applying the disable_lua50_compat patch for lua $ver"
|
||||
patch -p0 < $root/patches/lua-$ver-disable_lua50_compat.patch || exit 1
|
||||
echo
|
||||
#echo "$info_txt applying the disable_lua50_compat patch for lua $ver"
|
||||
#patch -p0 < $root/patches/lua-$ver-disable_lua50_compat.patch || exit 1
|
||||
#echo
|
||||
|
||||
echo "$info_txt applying the enable_debug_info patch for lua $ver"
|
||||
patch -p0 < $root/patches/lua-$ver-enable_debug_info.patch || exit 1
|
||||
echo
|
||||
#echo "$info_txt applying the enable_debug_info patch for lua $ver"
|
||||
#patch -p0 < $root/patches/lua-$ver-enable_debug_info.patch || exit 1
|
||||
#echo
|
||||
|
||||
#################################
|
||||
|
||||
ver=2.1-20160517
|
||||
ver=2.1-20170405
|
||||
$root/util/get-tarball "https://github.com/openresty/luajit2/archive/v$ver.tar.gz" -O "LuaJIT-$ver.tar.gz" || exit 1
|
||||
tar -xzf LuaJIT-$ver.tar.gz || exit 1
|
||||
mv luajit2-* LuaJIT-$ver || exit 1
|
||||
@ -560,7 +571,7 @@ cd .. || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
ver=2.1.0.4
|
||||
ver=2.1.0.5
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-cjson/archive/$ver.tar.gz" -O "lua-cjson-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-cjson-$ver.tar.gz || exit 1
|
||||
#cd lua-cjson-$ver || exit 1
|
||||
@ -571,10 +582,10 @@ tar -xzf lua-cjson-$ver.tar.gz || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.12
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-redis-parser/tarball/v$ver" -O "lua-redis-parser-$ver.tar.gz" || exit 1
|
||||
ver=0.13
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-redis-parser/archive/v$ver.tar.gz" -O "lua-redis-parser-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-redis-parser-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-redis-parser-* lua-redis-parser-$ver || exit 1
|
||||
#mv lua-redis-parser-* lua-redis-parser-$ver || exit 1
|
||||
#cd lua-redis-parser-$ver || exit 1
|
||||
#patch -p1 < $root/patches/lua_cjson-$ver-array_detection_fix.patch || exit 1
|
||||
#sed 's/\$(DESTDIR)\//$(DESTDIR)/g' Makefile > mk || exit 1
|
||||
@ -595,7 +606,7 @@ cd ..
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.17
|
||||
ver=0.18
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-resty-dns/tarball/v$ver" -O "lua-resty-dns-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-resty-dns-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-resty-dns-* lua-resty-dns-$ver || exit 1
|
||||
@ -619,7 +630,7 @@ cd ..
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.25
|
||||
ver=0.26
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-resty-redis/tarball/v$ver" -O "lua-resty-redis-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-resty-redis-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-resty-redis-* lua-resty-redis-$ver || exit 1
|
||||
@ -631,7 +642,7 @@ mv openresty-lua-resty-redis-* lua-resty-redis-$ver || exit 1
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.16
|
||||
ver=0.19
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-resty-mysql/tarball/v$ver" -O "lua-resty-mysql-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-resty-mysql-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-resty-mysql-* lua-resty-mysql-$ver || exit 1
|
||||
@ -643,7 +654,19 @@ cd ..
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.09
|
||||
ver=0.03
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-resty-limit-traffic/tarball/v$ver" -O "lua-resty-limit-traffic-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-resty-limit-traffic-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-resty-limit-traffic-* lua-resty-limit-traffic-$ver || exit 1
|
||||
cd lua-resty-limit-traffic-$ver || exit 1
|
||||
#patch -p1 < $root/patches/lua_cjson-$ver-array_detection_fix.patch || exit 1
|
||||
sed 's/\$(DESTDIR)\//$(DESTDIR)/g' Makefile > mk || exit 1
|
||||
mv mk Makefile || exit 1
|
||||
cd ..
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.10
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-resty-upload/tarball/v$ver" -O "lua-resty-upload-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-resty-upload-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-resty-upload-* lua-resty-upload-$ver || exit 1
|
||||
@ -667,7 +690,7 @@ cd ..
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.05
|
||||
ver=0.06
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-resty-websocket/tarball/v$ver" -O "lua-resty-websocket-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-resty-websocket-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-resty-websocket-* lua-resty-websocket-$ver || exit 1
|
||||
@ -679,7 +702,7 @@ cd ..
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.04
|
||||
ver=0.06
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-resty-lock/tarball/v$ver" -O "lua-resty-lock-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-resty-lock-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-resty-lock-* lua-resty-lock-$ver || exit 1
|
||||
@ -691,7 +714,7 @@ cd ..
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.04
|
||||
ver=0.06
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-resty-lrucache/tarball/v$ver" -O "lua-resty-lrucache-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-resty-lrucache-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-resty-lrucache-* lua-resty-lrucache-$ver || exit 1
|
||||
@ -703,7 +726,7 @@ cd ..
|
||||
|
||||
#################################
|
||||
|
||||
ver=0.1.8
|
||||
ver=0.1.11
|
||||
$root/util/get-tarball "https://github.com/openresty/lua-resty-core/tarball/v$ver" -O "lua-resty-core-$ver.tar.gz" || exit 1
|
||||
tar -xzf lua-resty-core-$ver.tar.gz || exit 1
|
||||
mv openresty-lua-resty-core-* lua-resty-core-$ver || exit 1
|
||||
@ -739,7 +762,6 @@ cp $root/util/build-win32.sh util/ || exit 1
|
||||
cp $root/COPYRIGHT ./ || exit 1
|
||||
perl bundle/$resty_cli/bin/md2pod.pl $root/doc/README-win32.md | pod2text > README-win32.txt || exit 1
|
||||
unix2dos README-win32.txt || exit 1
|
||||
find bundle -name '*~' -delete
|
||||
mkdir patches/ || exit 1
|
||||
cp $root/patches/openssl-1.0.2h-sess_set_get_cb_yield.patch patches/ || exit 1
|
||||
|
||||
@ -763,7 +785,7 @@ else
|
||||
fi
|
||||
cd nginx.org/ || exit 1
|
||||
$nginx_xml2pod xml/en/docs || exit 1
|
||||
cd $curdir
|
||||
cd $curdir || exit 1
|
||||
|
||||
echo "restydoc-index $root/work/nginx.org"
|
||||
$restydoc_index --outdir bundle $root/work/nginx.org || exit 1
|
||||
@ -783,14 +805,15 @@ for indir in bundle/*/; do
|
||||
if [ "$indir" == "bundle/nginx-$main_ver/" ]; then
|
||||
continue
|
||||
fi
|
||||
echo "restydoc-index $indir"
|
||||
$restydoc_index --outdir bundle $indir || exit 1
|
||||
echo "restydoc-index --outdir bundle $indir"
|
||||
$restydoc_index --outdir $curdir/bundle $indir || exit 1
|
||||
done
|
||||
|
||||
cd $curdir || exit 1
|
||||
find bundle -name '*.md' -delete
|
||||
find bundle -name '*.markdown' -delete
|
||||
find bundle -name '*.wiki' -delete
|
||||
find bundle -name '*~' -delete
|
||||
|
||||
cd $root || exit 1
|
||||
|
||||
|
Reference in New Issue
Block a user