Compare commits
740 commits
wheezy-bac
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84b0362183 | ||
|
|
ce21ceb30b | ||
|
|
b1188d6377 | ||
|
|
bf4e347d84 | ||
|
|
67b2e7933c | ||
|
|
653827e5a8 | ||
|
|
bfbdc5aef2 | ||
|
|
b3e6c7ec5b | ||
|
|
54cc798970 | ||
|
|
6c57927b8d | ||
|
|
3ef9946d9d | ||
|
|
c789199d37 | ||
|
|
58f592a8ab | ||
|
|
c5cca14382 | ||
|
|
191713f275 | ||
|
|
be95fff101 | ||
|
|
215777eecb | ||
|
|
2939b5f242 | ||
|
|
92496d21cf | ||
|
|
d2631d1b03 | ||
|
|
9fb3b99b3d | ||
|
|
215a9620ef | ||
|
|
1518af2753 | ||
|
|
2fe36c4448 | ||
|
|
2fb9d97244 | ||
|
|
359eb3866f | ||
|
|
71f2059cf8 | ||
|
|
f1e2f6cbb9 | ||
|
|
65bcb0d8dd | ||
|
|
9670e707d6 | ||
|
|
f180e25eb4 | ||
|
|
df67526348 | ||
|
|
0722a5648d | ||
|
|
9cd731914a | ||
|
|
6e88f6d858 | ||
|
|
6bb737822f | ||
|
|
a079a02186 | ||
|
|
7137628c08 | ||
|
|
80408ba19f | ||
|
|
b3d7b0f3ed | ||
|
|
1b2c31e354 | ||
|
|
45c7770c5e | ||
|
|
363e53be5d | ||
|
|
07bdbe9491 | ||
|
|
1b77cc4256 | ||
|
|
2a1513acc8 | ||
|
|
6ef563d4f4 | ||
|
|
3e7838a6b2 | ||
|
|
9ede767588 | ||
|
|
5651e6f455 | ||
|
|
6ccf66d20e | ||
|
|
2d4405e08a | ||
|
|
899ebe0261 | ||
|
|
880afec3d7 | ||
|
|
f5ed2727e5 | ||
|
|
2148a071bf | ||
|
|
5c050148b6 | ||
|
|
9b80dfac5a | ||
|
|
b023f3fbf6 | ||
|
|
7dc4f2ecb7 | ||
|
|
3fb6af3d34 | ||
|
|
a6a3352563 | ||
|
|
dad830baa6 | ||
|
|
4c1fc35cb6 | ||
|
|
e06e0da2ab | ||
|
|
0f09f394ed | ||
|
|
443e5c11eb | ||
|
|
dd2f4866aa | ||
|
|
a6bc03f8fb | ||
|
|
cd2d231dd0 | ||
|
|
488a716b96 | ||
|
|
0b33ebb4a3 | ||
|
|
fbe69d2fe0 | ||
|
|
ea0383bdb1 | ||
|
|
14846e923d | ||
|
|
5953afe398 | ||
|
|
192281805a | ||
|
|
9515e05cd0 | ||
|
|
0c9954b9d7 | ||
|
|
81aeb5321d | ||
|
|
b1313a97a6 | ||
|
|
6f007a8184 | ||
|
|
53a637ae66 | ||
|
|
60b5a28e2d | ||
|
|
f3ce71ad91 | ||
|
|
1c1713f747 | ||
|
|
dbecf37340 | ||
|
|
f72db03173 | ||
|
|
1af9890890 | ||
|
|
1669ce81fa | ||
|
|
d99a0ddc0b | ||
|
|
8c4549c82a | ||
|
|
7b0bfbb9f3 | ||
|
|
ed6370703d | ||
|
|
9d8220a199 | ||
|
|
82149d89bf | ||
|
|
b8d9144432 | ||
|
|
c40dd6a74f | ||
|
|
3f8de1c086 | ||
|
|
2d48a8c8ec | ||
|
|
54146b604b | ||
|
|
d6229b0698 | ||
|
|
b4078d94d4 | ||
|
|
bb973756e2 | ||
|
|
9fe5d1ba93 | ||
|
|
7478c72e84 | ||
|
|
557d688577 | ||
|
|
ba3751d77a | ||
|
|
8094197df9 | ||
|
|
3fdf9b9553 | ||
|
|
8cce84b858 | ||
|
|
9a5dedf461 | ||
|
|
c8b4d1401b | ||
|
|
b4368782e6 | ||
|
|
c1f58a85e1 | ||
|
|
bd50f6ef76 | ||
|
|
57e87d08df | ||
|
|
5864a7b5b0 | ||
|
|
f215469ef5 | ||
|
|
834bbcee5b | ||
|
|
bfcd400270 | ||
|
|
bb65ab50f4 | ||
|
|
d298d6b51b | ||
|
|
ed087b074e | ||
|
|
c7f0bac49b | ||
|
|
3a3786f1d4 | ||
|
|
309c257646 | ||
|
|
cd33a3034d | ||
|
|
40664a0df5 | ||
|
|
4ce2e9f8f5 | ||
|
|
0a2666b12c | ||
|
|
473f36a7d1 | ||
|
|
5f65c2c182 | ||
|
|
b6e0209bf2 | ||
|
|
820fb1eaab | ||
|
|
f7740951fb | ||
|
|
7ceb830e66 | ||
|
|
b0a64680b5 | ||
|
|
980bcea7f6 | ||
|
|
d720b646a5 | ||
|
|
1088db1699 | ||
|
|
9373935883 | ||
|
|
6bab81e56d | ||
|
|
94f4fc97bb | ||
|
|
8fefc3d77b | ||
|
|
a71d85a87f | ||
|
|
9cb0e1d9ee | ||
|
|
16ee97c874 | ||
|
|
7e238bfad9 | ||
|
|
c412740e4e | ||
|
|
32e7cc8921 | ||
|
|
e907e5063e | ||
|
|
e5c631271d | ||
|
|
ef3bb53436 | ||
|
|
ec0569d08d | ||
|
|
280d76fff3 | ||
|
|
f313b00cf3 | ||
|
|
50a7f05bb5 | ||
|
|
de8448d5bc | ||
|
|
2fe562a265 | ||
|
|
59d6bf43ae | ||
|
|
bfb15ce426 | ||
|
|
df50b02828 | ||
|
|
edf2683169 | ||
|
|
9090d6f143 | ||
|
|
804090a0ff | ||
|
|
881aa23e4b | ||
|
|
8e50af0215 | ||
|
|
dbb13b38d7 | ||
|
|
8273ea9b0e | ||
|
|
9d9704050f | ||
|
|
2572ddf3ff | ||
|
|
519c5d005b | ||
|
|
21195469f2 | ||
|
|
096c566945 | ||
|
|
4eef3437c0 | ||
|
|
b975df6df9 | ||
|
|
4a172ade6f | ||
|
|
7d7692e5fd | ||
|
|
46f12a0dc9 | ||
|
|
10a2613f37 | ||
|
|
34bfbac550 | ||
|
|
4fa2618502 | ||
|
|
075c5d85db | ||
|
|
11ca3f5693 | ||
|
|
ccd8b06890 | ||
|
|
2e0b1943b0 | ||
|
|
616ee02725 | ||
|
|
58657d6178 | ||
|
|
6c68d264f3 | ||
|
|
f868709a45 | ||
|
|
6b40792634 | ||
|
|
65aa43c3d5 | ||
|
|
ad7d6fcf98 | ||
|
|
b99e3ad524 | ||
|
|
393320b207 | ||
|
|
cb417c7e2c | ||
|
|
6d3c163fd3 | ||
|
|
f6fb6fb8d9 | ||
|
|
70c390852c | ||
|
|
fa37bc17ab | ||
|
|
c2ce778dcb | ||
|
|
a056949f1b | ||
|
|
dce642e642 | ||
|
|
273e508834 | ||
|
|
c3f0a00120 | ||
|
|
4243cedb55 | ||
|
|
1755a81da7 | ||
|
|
c2f4bc019b | ||
|
|
974e91ad9d | ||
|
|
304ba44d13 | ||
|
|
cc9cec6999 | ||
|
|
a8134e4741 | ||
|
|
8ac7c1efb5 | ||
|
|
372da465bf | ||
|
|
fe71c4981f | ||
|
|
dbf15d0b7a | ||
|
|
6cad8ef578 | ||
|
|
d9b4c476c1 | ||
|
|
9867fd4940 | ||
|
|
212327ed57 | ||
|
|
caf389149a | ||
|
|
a316cb99e4 | ||
|
|
08de4d4bc7 | ||
|
|
36887b5cd8 | ||
|
|
13a5fc3501 | ||
|
|
c9a408aa6f | ||
|
|
861f1be869 | ||
|
|
43b9a879c9 | ||
|
|
142c95ade0 | ||
|
|
0e2eaec4b2 | ||
|
|
0d813834ef | ||
|
|
461acc4f51 | ||
|
|
e9e5491b5e | ||
|
|
ff7cd7012d | ||
|
|
88d4d1577a | ||
|
|
ccd6718920 | ||
|
|
035ed7f34a | ||
|
|
1a3b001414 | ||
|
|
42508c8556 | ||
|
|
172eb7b12a | ||
|
|
7df2636a9d | ||
|
|
bf9c433dbb | ||
|
|
83ca2994f8 | ||
|
|
b1ee4a4291 | ||
|
|
9f1044b940 | ||
|
|
ed5bc15213 | ||
|
|
509adba304 | ||
|
|
15c55ec59b | ||
|
|
2784d3f935 | ||
|
|
87b5e38f6d | ||
|
|
d4b9d6a1da | ||
|
|
333875401c | ||
|
|
4b7212e745 | ||
|
|
20eb8ab414 | ||
|
|
a8ebc4ba0c | ||
|
|
c3f9fc730b | ||
|
|
5eec971e27 | ||
|
|
a013b18ff6 | ||
|
|
7224e5e7ca | ||
|
|
c394d8d999 | ||
|
|
5900bc832a | ||
|
|
24d9bd0290 | ||
|
|
f406308220 | ||
|
|
deedff451f | ||
|
|
493d6c7b86 | ||
|
|
9b87224f4f | ||
|
|
9a6a526958 | ||
|
|
aaaac9a28f | ||
|
|
78d84c5752 | ||
|
|
2c5ea38623 | ||
|
|
4514c0f658 | ||
|
|
ad330f7cb1 | ||
|
|
9c33aafeff | ||
|
|
747ca190d0 | ||
|
|
45005f76d4 | ||
|
|
9c7d79dce0 | ||
|
|
1fcb59adce | ||
|
|
48b9b6e3ea | ||
|
|
8735246ec0 | ||
|
|
9bc813d5a2 | ||
|
|
528e57d73d | ||
|
|
9cb8bb9efc | ||
|
|
c85dfc1d2b | ||
|
|
697ed23dad | ||
|
|
5c35f1696f | ||
|
|
2a278d9a55 | ||
|
|
7e21f77a90 | ||
|
|
98c979b948 | ||
|
|
c3be1137f3 | ||
|
|
2308f65897 | ||
|
|
ced892ac0d | ||
|
|
b58e677848 | ||
|
|
054b32430f | ||
|
|
6a0621d227 | ||
|
|
31e3a6a61b | ||
|
|
bc5f19ef77 | ||
|
|
4f1a2c590c | ||
|
|
4ea741ae27 | ||
|
|
bd32060ee7 | ||
|
|
a13d46c865 | ||
|
|
a9e81f1e3e | ||
|
|
4499fb4947 | ||
|
|
976d4826bb | ||
|
|
7bc0cfe077 | ||
|
|
70f87643c9 | ||
|
|
a63400c839 | ||
|
|
16da4dccd2 | ||
|
|
e5cbfb9f4b | ||
|
|
0b739c803e | ||
|
|
ecdfceccf1 | ||
|
|
da49114fdc | ||
|
|
28cea613e4 | ||
|
|
d5edfb4e7a | ||
|
|
371e61084f | ||
|
|
0c7efeffcd | ||
|
|
aa1f93ee24 | ||
|
|
bfdc885afc | ||
|
|
7df3da6863 | ||
|
|
d08f16833f | ||
|
|
704b0f0e37 | ||
|
|
b760bb04de | ||
|
|
f039c694b2 | ||
|
|
fd2d73b10f | ||
|
|
886b03658e | ||
|
|
cc65b80eb0 | ||
|
|
d9b51eb2ed | ||
|
|
6930b5ac14 | ||
|
|
8dfca737ef | ||
|
|
6982ab38dd | ||
|
|
b39ced7d98 | ||
|
|
a681a84cf0 | ||
|
|
a2ddfe2d0e | ||
|
|
3edca8428c | ||
|
|
478b737722 | ||
|
|
9fbad86c59 | ||
|
|
1459087c8f | ||
|
|
e3540f5188 | ||
|
|
4851b6ec88 | ||
|
|
c6872b4f53 | ||
|
|
134d203c26 | ||
|
|
693c482e5c | ||
|
|
8838bdc5f1 | ||
|
|
ead863a42c | ||
|
|
dd794d9830 | ||
|
|
5e6d8fe10a | ||
|
|
bc6e1b3c08 | ||
|
|
6ac8972bb0 | ||
|
|
3c7832e4c7 | ||
|
|
f1ae99061b | ||
|
|
13ba480abc | ||
|
|
b283023b77 | ||
|
|
f33d2ab408 | ||
|
|
b575cfe355 | ||
|
|
403f780a46 | ||
|
|
d089e10044 | ||
|
|
52a04bd90d | ||
|
|
7f0bb450a9 | ||
|
|
12e9c91f45 | ||
|
|
2b4e972bd3 | ||
|
|
3ef09c0f69 | ||
|
|
b58e974712 | ||
|
|
e5f8119f92 | ||
|
|
55ef39e8e1 | ||
|
|
f6841c97e2 | ||
|
|
06b6f5670e | ||
|
|
c9fc21913a | ||
|
|
bfd112b793 | ||
|
|
07d0cb5b71 | ||
|
|
132704ab76 | ||
|
|
85ba845433 | ||
|
|
b2a3e22c47 | ||
|
|
2a8a5799e7 | ||
|
|
c717ecb926 | ||
|
|
deba07f09f | ||
|
|
71e4915c0f | ||
|
|
d2bacdb1cf | ||
|
|
214580d479 | ||
|
|
62a54a8ba6 | ||
|
|
52307bcf97 | ||
|
|
76804da3f8 | ||
|
|
ff8b896b2b | ||
|
|
04c8606039 | ||
|
|
969f3934b1 | ||
|
|
1f43924c71 | ||
|
|
3f36d553d4 | ||
|
|
6fac1fb9f0 | ||
|
|
0b00911581 | ||
|
|
df764921f3 | ||
|
|
fd3bbc2f43 | ||
|
|
5f4d461c67 | ||
|
|
4ce7282be9 | ||
|
|
f6cff46e22 | ||
|
|
5d21039949 | ||
|
|
87dc3692ff | ||
|
|
6d142fab1b | ||
|
|
e36dee7443 | ||
|
|
bc3cf7aac7 | ||
|
|
52cc96d9b8 | ||
|
|
75d123cd1b | ||
|
|
4918bc1382 | ||
|
|
58f11854b6 | ||
|
|
7207dbf3b4 | ||
|
|
94e64517a4 | ||
|
|
063c1e94b6 | ||
|
|
0091e68c20 | ||
|
|
46c038d54e | ||
|
|
3ae03ddcfe | ||
|
|
a051533bf7 | ||
|
|
9120a3de9b | ||
|
|
6e014f97a7 | ||
|
|
bb56376490 | ||
|
|
1292f53fbc | ||
|
|
1746e53baa | ||
|
|
fdf581d046 | ||
|
|
55e1981acb | ||
|
|
bcf5fd16c3 | ||
|
|
510d68a971 | ||
|
|
d26992910e | ||
|
|
5b9f0b4827 | ||
|
|
0490248e0f | ||
|
|
7404f8bd77 | ||
|
|
1b9fa09ac5 | ||
|
|
c94e9b6bfd | ||
|
|
717fde6db4 | ||
|
|
6f5e080ac8 | ||
|
|
6648d2471a | ||
|
|
f81b4fb99a | ||
|
|
69c4661396 | ||
|
|
ee4b10edd7 | ||
|
|
72b4f71671 | ||
|
|
5fb0700fb2 | ||
|
|
8acbe3fbc4 | ||
|
|
33799993fc | ||
|
|
7f899937ab | ||
|
|
794cca0ebf | ||
|
|
08d6a8fe7a | ||
|
|
9f10b31488 | ||
|
|
b7b97c6c79 | ||
|
|
dfa79bec5c | ||
|
|
08248c9d96 | ||
|
|
10af9c3bef | ||
|
|
f056335a38 | ||
|
|
bf0c6fce6e | ||
|
|
0305fe8ea3 | ||
|
|
515a80bc0a | ||
|
|
e71a3e89c7 | ||
|
|
a5c72db783 | ||
|
|
cacbf319db | ||
|
|
1c5a8493ca | ||
|
|
2b0dc70024 | ||
|
|
2a7340c231 | ||
|
|
3582062c0e | ||
|
|
3ebf96c773 | ||
|
|
ee4f08f8b4 | ||
|
|
9ad7cddbce | ||
|
|
22aae23648 | ||
|
|
2005e7e35d | ||
|
|
e60711fcc7 | ||
|
|
7614ff61a9 | ||
|
|
70cb0befe7 | ||
|
|
75a3ff5eaa | ||
|
|
2a34dcb90f | ||
|
|
ef8a520c38 | ||
|
|
a17bcc8bee | ||
|
|
ec292afcb9 | ||
|
|
95f7f656da | ||
|
|
4ec25acef1 | ||
|
|
3d12f812d7 | ||
|
|
ab3dccab6a | ||
|
|
5ccd94c7e9 | ||
|
|
f4979c7c96 | ||
|
|
d546f527ee | ||
|
|
1dc67ccb2a | ||
|
|
22fe275a65 | ||
|
|
499c942816 | ||
|
|
accf9ea733 | ||
|
|
57a32c6bb8 | ||
|
|
c7803ecc60 | ||
|
|
5dcee0ba0a | ||
|
|
1084313b41 | ||
|
|
05b6bb9e3b | ||
|
|
ad6afaad13 | ||
|
|
501f9c7a40 | ||
|
|
6687faf49f | ||
|
|
2e8c50ec9d | ||
|
|
9086149414 | ||
|
|
3f1a97bae6 | ||
|
|
0c4e8a2f2b | ||
|
|
22970aea4d | ||
|
|
7d61d72df8 | ||
|
|
6bd87a78b4 | ||
|
|
d21bb9f252 | ||
|
|
f4299b95f4 | ||
|
|
774ecad972 | ||
|
|
0421dc9335 | ||
|
|
36c7658ba2 | ||
|
|
e1c2b349a0 | ||
|
|
16f4fb2b88 | ||
|
|
c3a656b1a6 | ||
|
|
96fee62e28 | ||
|
|
53995e63c7 | ||
|
|
4a6feaae54 | ||
|
|
9cfc1d7ca8 | ||
|
|
752aa1cbf7 | ||
|
|
a418797080 | ||
|
|
84d1abef83 | ||
|
|
0a3c1a5208 | ||
|
|
201ea3f6de | ||
|
|
daea5d1e30 | ||
|
|
c9e00bbe9c | ||
|
|
9f4f2c5961 | ||
|
|
0868325b3a | ||
|
|
d92573efb6 | ||
|
|
e1f1837732 | ||
|
|
f4307ddb14 | ||
|
|
06d2f43f67 | ||
|
|
8be20cce49 | ||
|
|
df46fe3e59 | ||
|
|
db5edb9e3c | ||
|
|
12b7091e96 | ||
|
|
a9504afcbe | ||
|
|
cabaec36db | ||
|
|
72cbf89d57 | ||
|
|
6672c479d6 | ||
|
|
110e1a49c2 | ||
|
|
23e4b6d076 | ||
|
|
1d0e6f6d38 | ||
|
|
ead0bdc4f3 | ||
|
|
4dacd5cfa0 | ||
|
|
58a0ed368a | ||
|
|
006a1d393f | ||
|
|
30cba18b36 | ||
|
|
34f973d82f | ||
|
|
c9d02dd9d6 | ||
|
|
e5ea352290 | ||
|
|
e8f81d1ad0 | ||
|
|
add52334d1 | ||
|
|
07702e95f9 | ||
|
|
6cbf84df65 | ||
|
|
5140bc7eae | ||
|
|
a27ccda836 | ||
|
|
0b60e49e08 | ||
|
|
4deb3d7f52 | ||
|
|
bf78540e31 | ||
|
|
e7164cf7ac | ||
|
|
7c03e6673b | ||
|
|
14707687a2 | ||
|
|
4b233e6f5c | ||
|
|
6c9b75da5f | ||
|
|
424f50a53b | ||
|
|
0ec83a636e | ||
|
|
2a4f371793 | ||
|
|
340b30f10c | ||
|
|
62276a745b | ||
|
|
4cf05a14a9 | ||
|
|
7f827f420a | ||
|
|
333595dc83 | ||
|
|
37b847285a | ||
|
|
1e6e4c88cf | ||
|
|
6a025de47d | ||
|
|
e7c46faef5 | ||
|
|
a8a1325840 | ||
|
|
8bf94db95d | ||
|
|
5d09382c82 | ||
|
|
8c5b5c4f67 | ||
|
|
7bfa979832 | ||
|
|
646704e9fb | ||
|
|
d045f9b328 | ||
|
|
5692397ea1 | ||
|
|
42f5c9e7b4 | ||
|
|
255d6d4e4a | ||
|
|
725adf41f2 | ||
|
|
b624187e45 | ||
|
|
0570da941e | ||
|
|
8b6e35fe35 | ||
|
|
3f6df9e706 | ||
|
|
22afcae671 | ||
|
|
3953784152 | ||
|
|
14e6282c9b | ||
|
|
3381e6e548 | ||
|
|
577178cdff | ||
|
|
4dd8c07889 | ||
|
|
cf3d323bd5 | ||
|
|
d6c9309b3b | ||
|
|
acf0e3123d | ||
|
|
ffa01fb473 | ||
|
|
f2b7f2cbcc | ||
|
|
543f230b18 | ||
|
|
d0712299ce | ||
|
|
155f1a5b11 | ||
|
|
60e563b366 | ||
|
|
580a98d123 | ||
|
|
18532f376a | ||
|
|
b04fb6c678 | ||
|
|
6cdcbed1f9 | ||
|
|
c06d35b103 | ||
|
|
561cc60519 | ||
|
|
8e280162c6 | ||
|
|
0f2905a7e0 | ||
|
|
1445c1403c | ||
|
|
1b3fa883bb | ||
|
|
a4f9f837e7 | ||
|
|
15695dee6e | ||
|
|
60cdfb2069 | ||
|
|
52025f4a8e | ||
|
|
c065c08b05 | ||
|
|
a1e2085dd7 | ||
|
|
1b192da67c | ||
|
|
7ffd2fc6a9 | ||
|
|
00cd95bfc1 | ||
|
|
6706bbedf8 | ||
|
|
cc24767c99 | ||
|
|
95a2b168be | ||
|
|
a66bea579b | ||
|
|
c46cc7556b | ||
|
|
664bdf48f4 | ||
|
|
58105135c4 | ||
|
|
8b10bd4f01 | ||
|
|
cfc16224c0 | ||
|
|
ee4d3780e4 | ||
|
|
0eb87154ce | ||
|
|
578f222e92 | ||
|
|
65f92dd626 | ||
|
|
fef2251ae9 | ||
|
|
57e63bc6d8 | ||
|
|
481751859a | ||
|
|
30eb818ca4 | ||
|
|
9551b6324b | ||
|
|
ddb8028502 | ||
|
|
f6a3b87f15 | ||
|
|
832524e25e | ||
|
|
166eb74113 | ||
|
|
d5ba950907 | ||
|
|
6d20e665d3 | ||
|
|
a12faa39a5 | ||
|
|
e7ea50abbd | ||
|
|
5d3e5e8fcb | ||
|
|
dfa3b2f2df | ||
|
|
6baf817539 | ||
|
|
3072f74f2d | ||
|
|
95448c85f5 | ||
|
|
830a8fbc34 | ||
|
|
bba86a8f89 | ||
|
|
24ba8b51ef | ||
|
|
d19e7548ee | ||
|
|
b231ba8f39 | ||
|
|
916384bde3 | ||
|
|
7a5fa94b9d | ||
|
|
44b30c100a | ||
|
|
a50cd439eb | ||
|
|
7b00376f31 | ||
|
|
fd1a40a6f8 | ||
|
|
3c7520fadd | ||
|
|
586dea9358 | ||
|
|
29fb5d54c5 | ||
|
|
0e20bccf29 | ||
|
|
19d658f41b | ||
|
|
0bcc8e5f72 | ||
|
|
e752ea86a6 | ||
|
|
eab4758c29 | ||
|
|
647d381b13 | ||
|
|
4f41a69293 | ||
|
|
706a679a92 | ||
|
|
45aed60c9d | ||
|
|
3ed3460460 | ||
|
|
2de69eb494 | ||
|
|
0d89f5a406 | ||
|
|
6771862784 | ||
|
|
23c5f93806 | ||
|
|
255c62e0b5 | ||
|
|
b1928b468d | ||
|
|
7a486795eb | ||
|
|
6f5cefd11e | ||
|
|
b37dfd906a | ||
|
|
114f9bbff0 | ||
|
|
6a711b5bd6 | ||
|
|
efe7d922f4 | ||
|
|
baf8feb207 | ||
|
|
4e0f004806 | ||
|
|
53a6842708 | ||
|
|
3efc881926 | ||
|
|
a8ef8abc7b | ||
|
|
a9600e2b4d | ||
|
|
f539cc0a49 | ||
|
|
a26063750f | ||
|
|
55f36156a2 | ||
|
|
fba932f24f | ||
|
|
93550c314f | ||
|
|
5491f7bdca | ||
|
|
5ad6a9e00f | ||
|
|
81f1a374e1 | ||
|
|
5a275f8949 | ||
|
|
1979c23fea | ||
|
|
6717510c81 | ||
|
|
1715cb7c59 | ||
|
|
edc91aa9dc | ||
|
|
632421e0e5 | ||
|
|
782a6ed9fe | ||
|
|
59054e9001 | ||
|
|
eac12fe22e | ||
|
|
8550544cb4 | ||
|
|
ac2d55e8d2 | ||
|
|
0ddf1ccfc0 | ||
|
|
f1f0066de5 | ||
|
|
9844dfdd8a | ||
|
|
f4860d82df | ||
|
|
6a6628bd93 | ||
|
|
9b8414bbc8 | ||
|
|
8bea90a55d | ||
|
|
6e41b4e4c3 | ||
|
|
7d77b1195b | ||
|
|
8e7e40b988 | ||
|
|
69ff1cde87 | ||
|
|
604af3efb5 | ||
|
|
242d723c68 | ||
|
|
2eadfe8382 | ||
|
|
0b951e301d | ||
|
|
4e2c3fec32 | ||
|
|
5070bfa62d | ||
|
|
c4cfd60f94 | ||
|
|
841afb8eeb | ||
|
|
4d43fb0c64 | ||
|
|
a5bbc3a1c6 | ||
|
|
153ef732c4 | ||
|
|
18315ad1e2 | ||
|
|
4f31089dd2 | ||
|
|
6502d238f8 | ||
|
|
4a01f57379 | ||
|
|
c761600ea9 | ||
|
|
3e4a3d9160 | ||
|
|
16c3177924 | ||
|
|
e3cd58d651 | ||
|
|
ef4e50d155 | ||
|
|
843750b958 | ||
|
|
8680ff9cd1 | ||
|
|
b7385768b6 | ||
|
|
586aebd331 | ||
|
|
635d51ca6d | ||
|
|
2a2ad8931e |
1718 changed files with 230531 additions and 187195 deletions
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
objs/*
|
||||
!objs/ndk_*
|
||||
.pc/
|
||||
.vscode/
|
||||
modules/media-framework/
|
||||
modules/nginx-srt-module/
|
||||
modules/nginx-vod-module/
|
||||
Makefile
|
||||
*.orig
|
||||
*.txt
|
||||
483
.hgtags
Normal file
483
.hgtags
Normal file
|
|
@ -0,0 +1,483 @@
|
|||
551102312e19b704cd22bd7254a9444b9ea14e96 release-0.1.0
|
||||
23fb87bddda14ce9faec90f774085634106aded4 release-0.1.1
|
||||
295d97d70c698585705345f1a8f92b02e63d6d0d release-0.1.2
|
||||
ded1284520cc939ad5ae6ddab39925375e64237d release-0.1.3
|
||||
0491b909ef7612d8411f1f59054186c1f3471b52 release-0.1.4
|
||||
a88a3e4e158fade0aaa6f3eb25597d5ced2c1075 release-0.1.5
|
||||
1f31dc6d33a3a4e65240b08066bf186df9e33b79 release-0.1.6
|
||||
5aecc125bc33d81d6214c91d73eb44230a903dde release-0.1.7
|
||||
bbd6b0b4a2b15ef8c8f1aaf7b027b6da47303524 release-0.1.8
|
||||
2ff194b74f1e60cd04670986973e3b1a6aa3bece release-0.1.9
|
||||
31ee1b50354fb829564b81a6f34e8d6ceb2d3f48 release-0.1.10
|
||||
8e8f3af115b5b903b2b8f3335de971f18891246f release-0.1.11
|
||||
c3c2848fc081e19aec5ffa97e468ad20ddb81df0 release-0.1.12
|
||||
ad1e9ebf93bb5ae4c748d471fad2de8a0afc4d2a release-0.1.13
|
||||
c5240858380136a67bec261c59b1532560b57885 release-0.1.14
|
||||
fd661d14a7fad212e326a7dad6234ea0de992fbf release-0.1.15
|
||||
621229427cba1b0af417ff2a101fc4f17a7d93c8 release-0.1.16
|
||||
4ebe09b07e3021f1a63b459903ec58f162183b26 release-0.1.17
|
||||
31ff3e943e1675a2caf745ba7a981244445d4c98 release-0.1.18
|
||||
45a460f82aec80b0f61136aa09f412436d42203a release-0.1.19
|
||||
0f836f0288eee4980f57736d50a7a60fa082d8e9 release-0.1.20
|
||||
975f62e77f0244f1b631f740be77c72c8f2da1de release-0.1.21
|
||||
fc9909c369b2b4716304ac8e38da57b8fb781211 release-0.1.22
|
||||
d7c90bb5ce83dab08715e98f9c7b81c7df4b37be release-0.1.23
|
||||
64d9afb209da0cd4a917202b7b77e51cc23e2229 release-0.1.24
|
||||
d4ea69372b946dc4ec37fc3f5ddd93ff7c3da675 release-0.1.25
|
||||
b1648294f6935e993e436fd8a68bca75c74c826d release-0.1.26
|
||||
ee66921ecd47a7fa459f70f4a9d660f91f6a1b94 release-0.1.27
|
||||
cd3117ad9aab9c58c6f7e677e551e1adbdeaba54 release-0.1.28
|
||||
9b8c906f6e63ec2c71cecebfff35819a7d32227d release-0.1.29
|
||||
c12967aadd8726daf2d85e3f3e622d89c42db176 release-0.1.30
|
||||
fbbf16224844e7d560c00043e8ade8a560415bba release-0.1.31
|
||||
417a087c9c4d9abb9b0b9b3f787aff515c43c035 release-0.1.32
|
||||
dadfa78d227027348d7f9d1e7b7093d06ba545a0 release-0.1.33
|
||||
12234c998d83bfbbaa305273b3dd1b855ca325dc release-0.1.34
|
||||
6f00349b98e5f706b82115c6e4dc84456fc0d770 release-0.1.35
|
||||
2019117e6b38cc3e89fe4f56a23b271479c627a6 release-0.1.36
|
||||
09b42134ac0c42625340f16628e29690a04f8db5 release-0.1.37
|
||||
7fa11e5c6e9612ecff5eb58274cc846ae742d1d2 release-0.1.38
|
||||
e5d7d0334fdb946133c17523c198800142ac9fe9 release-0.1.39
|
||||
c3bd8cdabb8f73e5600a91f198eb7df6fac65e92 release-0.1.40
|
||||
d6e48c08d718bf5a9e58c20a37e8ae172bff1139 release-0.1.41
|
||||
563ad09abf5042eb41e8ecaf5b4e6c9deaa42731 release-0.1.42
|
||||
c9ad0d9c7d59b2fa2a5fe669f1e88debd03e6c04 release-0.1.43
|
||||
371c1cee100d7a1b0e6cad4d188e05c98a641ee7 release-0.1.44
|
||||
b09ee85d0ac823e36861491eedfc4dfafe282997 release-0.1.45
|
||||
511a89da35ada16ae806667d699f9610b4f8499a release-0.2.0
|
||||
0148586012ab3dde69b394ec5a389d44bb11c869 release-0.2.1
|
||||
818fbd4750b99d14d2736212c939855a11b1f1ef release-0.2.2
|
||||
e16a8d574da511622b97d6237d005f40f2cddb30 release-0.2.3
|
||||
483cca23060331f2078b1c2984870d80f288ad41 release-0.2.4
|
||||
45033d85b30e3f12c407b7cfc518d76e0eda0263 release-0.2.5
|
||||
7bd37aef1e7e87858c12b124e253e98558889b50 release-0.2.6
|
||||
ecd9c160f25b7a7075dd93383d98a0fc8d8c0a41 release-0.3.0
|
||||
c1f965ef97188fd7ef81342dcf8719da18c554d2 release-0.3.1
|
||||
e48ebafc69393fc94fecfdf9997c4179fd1ce473 release-0.3.2
|
||||
9c2f3ed7a24711d3b42b124d5f831155c8beff95 release-0.3.3
|
||||
7c1369d37c7eb0017c28ebcaa0778046f5aafdcc release-0.3.4
|
||||
1af2fcb3be8a63796b6b23a488049c92a6bc12f4 release-0.3.5
|
||||
174f1e853e1e831b01000aeccfd06a9c8d4d95a2 release-0.3.6
|
||||
458b6c3fea65a894c99dd429334a77bb164c7e83 release-0.3.7
|
||||
58475592100cb792c125101b6d2d898f5adada30 release-0.3.8
|
||||
fcd6fc7ff7f9b132c35193d834e6e7d05026c716 release-0.3.9
|
||||
4d9ea73a627a914d364e83e20c58eb1283f4031d release-0.3.10
|
||||
4c5c2c55975c1152b5ca5d5d55b32d4dd7945f7a release-0.3.11
|
||||
326634fb9d47912ad94221dc2f8fa4bec424d40c release-0.3.12
|
||||
4e296b7d25bf62390ca2afb599e395426b94f785 release-0.3.13
|
||||
401de5a43ba5a8acdb9c52465193c0ea7354afe7 release-0.3.14
|
||||
284cc140593bb16ac71094acd509ab415ff4837d release-0.3.15
|
||||
d4e858a5751a7fd08e64586795ed7d336011fbc0 release-0.3.16
|
||||
8c0cdd81580eb76d774cfc5724de68e7e5cbbdc2 release-0.3.17
|
||||
425af804d968f30eeff01e33b808bc2e8c467f2c release-0.3.18
|
||||
ebc68d8ca4962fe3531b7e13444f7ac4395d9c6e release-0.3.19
|
||||
9262f520ce214d3d5fd7c842891519336ef85ca6 release-0.3.20
|
||||
869b6444d2341a587183859d4df736c7f3381169 release-0.3.21
|
||||
77f77f53214a0e3a68fef8226c15532b54f2c365 release-0.3.22
|
||||
858700ae46b453ea111b966b6d03f2c21ddcb94e release-0.3.23
|
||||
5dac8c7fb71b86aafed8ea352305e7f85759f72e release-0.3.24
|
||||
77cdfe394a94a625955e7585e09983b3af9b889b release-0.3.25
|
||||
608cf78b24ef7baaf9705e4715a361f26bb16ba9 release-0.3.26
|
||||
3f8a2132b93d66ac19bec006205a304a68524a0b release-0.3.27
|
||||
c73c5c58c619c22dd3a5a26c91bb0567a62c6930 release-0.3.28
|
||||
5ef026a2ac7481f04154f29ab49377bf99aaf96f release-0.3.29
|
||||
51b27717f140b71a2e9158807d79da17c888ce4c release-0.3.30
|
||||
7a16e281c01f1c7ab3b79c64b43ddb754ea7935e release-0.3.31
|
||||
93e85a79757c49d502e42a1cb8264a0f133b0b00 release-0.3.32
|
||||
0216fd1471f386168545f772836156761eddec08 release-0.3.33
|
||||
fbed40ce7cb4fd7203fecc22a617b9ce5b950fb3 release-0.3.34
|
||||
387450de0b4d21652f0b6242a5e26a31e3be8d8c release-0.3.35
|
||||
65bf042c0b4f39f18a235464c52f980e9fa24f6b release-0.3.36
|
||||
5d2b8078c1c2593b95ec50acfeeafbefa65be344 release-0.3.37
|
||||
f971949ffb585d400e0f15508a56232a0f897c80 release-0.3.38
|
||||
18268abd340cb351e0c01b9c44e9f8cc05492364 release-0.3.39
|
||||
e60fe4cf1d4ea3c34be8c49047c712c6d46c1727 release-0.3.40
|
||||
715d243270806d38be776fc3ed826d97514a73d6 release-0.3.41
|
||||
5e8fb59c18c19347a5607fb5af075fe1e2925b9a release-0.3.42
|
||||
947c6fd27699e0199249ad592151f844c8a900b0 release-0.3.43
|
||||
4946078f0a79e6cc952d3e410813aac9b8bda650 release-0.3.44
|
||||
95d7da23ea5315a6e9255ce036ed2c51f091f180 release-0.3.45
|
||||
1e720b0be7ecd92358da8a60944669fa493e78cd release-0.3.46
|
||||
39b7d7b33c918d8f4abc86c4075052d8c19da3c7 release-0.3.47
|
||||
7cbef16c71a1f43a07f8141f02e0135c775f0f5b release-0.3.48
|
||||
4c8cd5ae5cc100add5c08c252d991b82b1838c6b release-0.3.49
|
||||
400711951595aef7cd2ef865b84b31df52b15782 release-0.3.50
|
||||
649c9063d0fda23620eaeaf0f6393be0a672ebe7 release-0.3.51
|
||||
9079ee4735aefa98165bb2cb26dee4f58d58c1d7 release-0.3.52
|
||||
6d5c1535bb9dcd891c5963971f767421a334a728 release-0.3.53
|
||||
5fd7a5e990477189c40718c8c3e01002a2c20b81 release-0.3.54
|
||||
63a820b0bc6ca629c8e45a069b52d622ddc27a2d release-0.3.55
|
||||
562806624c4afb1687cba83bc1852f5d0fecbac3 release-0.3.56
|
||||
cec32b3753acf610ac1a6227d14032c1a89d6319 release-0.3.57
|
||||
b80f94fa2197b99db5e033fec92e0426d1fe5026 release-0.3.58
|
||||
e924670896abe2769ea0fcfd2058b405bed8e8ec release-0.3.59
|
||||
921a7ce4baf42fd1091b7e40f89c858c6b23053e release-0.3.60
|
||||
df95dcff753a6dc5e94257302aea02c18c7a7c87 release-0.3.61
|
||||
7e24168b0853ee7e46c9c7b943ef077dc64f17f5 release-0.4.0
|
||||
8183d4ba50f8500465efb27e66dd23f98775dd21 release-0.4.1
|
||||
610267a772c7bf911b499d37f66c21ce8f2ebaf7 release-0.4.2
|
||||
39dd0b045441e21512e0a6061a03d0df63414d8b release-0.4.3
|
||||
5e42c1615f4de0079bd4d8913886d588ce6a295d release-0.4.4
|
||||
40266f92b829a870808b3d4ee54c8fccdecbd2d6 release-0.4.5
|
||||
56e33c6efee7ff63cdc52bd1cf172bde195079df release-0.4.6
|
||||
119bad43bfd493400c57a05848eada2c35a46810 release-0.4.7
|
||||
0f404f82a1343cb4e4b277a44e3417385798e5e5 release-0.4.8
|
||||
d24a717314365c857b9f283d6072c2a427d5e342 release-0.4.9
|
||||
d6f0a00015fdef861fd67fb583b9690638650656 release-0.4.10
|
||||
e372368dadd7b2ecd0182b2f1b11db86fc27b2c3 release-0.4.11
|
||||
fd57967d850d2361072c72562d1ed03598473478 release-0.4.12
|
||||
979045fdcbd20cf7188545c1c589ff240251f890 release-0.4.13
|
||||
93c94cfa9f78f0a5740595dde4466ec4fba664f8 release-0.4.14
|
||||
589ee12e8d7c2ae5e4f4676bcc7a1279a76f9e8e release-0.5.0
|
||||
13416db8a807e5acb4021bc3c581203de57e2f50 release-0.5.1
|
||||
06c58edc88831fb31c492a8eddcf2c6056567f18 release-0.5.2
|
||||
e2ac5fa41bcba14adbbb722d45c083c30c07bb5c release-0.5.3
|
||||
393dbc659df15ccd411680b5c1ce87ed86d4c144 release-0.5.4
|
||||
38cc7bd8e04f2c519fd4526c12841a876be353cb release-0.5.5
|
||||
6d1fcec2ea79101c756316c015f72e75f601a5ab release-0.5.6
|
||||
aed8a9de62456c4b360358bc112ccca32ce02e8d release-0.5.7
|
||||
7642f45af67d805452df2667486201c36efaff85 release-0.5.8
|
||||
779216610662c3a459935d506f66a9b16b9c9576 release-0.5.9
|
||||
9eeb585454f3daa30cf768e95c088a092fe229b9 release-0.5.10
|
||||
bb491c8197e38ca10ae63b1f1ecb36bf6fdaf950 release-0.5.11
|
||||
613369e08810f36bbcc9734ef1059a03ccbf5e16 release-0.5.12
|
||||
bd796ef5c9c9dd34bfac20261b98685e0410122a release-0.5.13
|
||||
8a730c49f906d783b47e4b44d735efd083936c64 release-0.5.14
|
||||
cb447039152d85e9145139ff2575a6199b9af9d4 release-0.5.15
|
||||
64854c7c95d04f838585ca08492823000503fa61 release-0.5.16
|
||||
d1ffcf84ea1244f659145c36ff28de6fcdf528b2 release-0.5.17
|
||||
796a6e30ca9d29504195c10210dbc8deced0ae83 release-0.5.18
|
||||
1f81c711d2a039e1f93b9b515065a2235372d455 release-0.5.19
|
||||
8e8f6082654aedb4438c8fca408cfc316c7c5a2a release-0.5.20
|
||||
e9551132f7dd40da5719dd5bcf924c86f1436f85 release-0.5.21
|
||||
533a252896c4d1cff1586ae42129d610f7497811 release-0.5.22
|
||||
f461a49b6c747e0b67f721f2be172902afea5528 release-0.5.23
|
||||
2d5ef73671f690b65bf6d9e22e7155f68f484d5a release-0.5.24
|
||||
77bf42576050862c268e267ef3e508b145845a25 release-0.5.25
|
||||
2aefee4d4ed69eb7567680bf27a2efd212232488 release-0.6.0
|
||||
7ac0fe9bec9a2b5f8e191f6fdd6922bfd916a6cb release-0.6.1
|
||||
4882735ebc71eeec0fbfe645bdfdb31306872d82 release-0.6.2
|
||||
b94731c73d0922f472ff938b9d252ba29020f20c release-0.6.3
|
||||
13e649b813d6ccba5db33a61e08ebe09d683cd5b release-0.6.4
|
||||
80de622646b0059fd4c553eff47c391bf7503b89 release-0.6.5
|
||||
3b05edb2619d5935023b979ee7a9611b61b6c9e5 release-0.6.6
|
||||
1dcfd375100c4479611f71efb99271d0a3059215 release-0.6.7
|
||||
0228185d4c5772947b842e856ad74cf7f7fd52f3 release-0.6.8
|
||||
d1879c52326ecac45c713203670f54220879911e release-0.6.9
|
||||
5a80c6ccbe2ad24fa3d4ff6f9fe4a2b07408d19d release-0.6.10
|
||||
f88a8b0b39601b19cd740e4db614ab0b5b874686 release-0.6.11
|
||||
5557460a7247a1602ae96efd1d0ccf781344cb58 release-0.6.12
|
||||
451b02cc770a794cd41363461b446948ae1d8bc8 release-0.6.13
|
||||
537b6ef014c4a133e0ab0b7dc817508e0647e315 release-0.6.14
|
||||
5e68764f0d6e91a983170fa806e7450a9e9b33fe release-0.6.15
|
||||
158aa4e8cc46fcf9504a61469d22daf3476b17bf release-0.6.16
|
||||
d8fcca555542619228d9fab89e1665b993f8c3ee release-0.6.17
|
||||
60707ebc037086cf004736a0d4979e2a608da033 release-0.6.18
|
||||
3c2a99d3a71af846855be35e62edb9a12f363f44 release-0.6.19
|
||||
3e0a27f9358ffc1b5249e0ea2311ce7da5c8967e release-0.6.20
|
||||
143f4d65b1c875d6563ccb7f653d9157afc72194 release-0.6.21
|
||||
95e6160d2b7d0af8ffd1b95a23cadadf8f0b3f6d release-0.6.22
|
||||
69a03d5e3b6e6660079ef1ef172db7ac08d8370e release-0.6.23
|
||||
3e2a58fb48f1e1a99ebf851e0d47a7034c52ae22 release-0.6.24
|
||||
3b8607c05a8bebcfa59235c2126a70d737f0ccf5 release-0.6.25
|
||||
07ad5b2606614c4be4ee720c46cf4af126059d31 release-0.6.26
|
||||
be531addfabe5214f409d457140c1038af10d199 release-0.6.27
|
||||
58f05255d3a345d04baef5cff0ca1ae0ac7ecebb release-0.6.28
|
||||
eb2bd21dc8d03f6c94016f04ffb9adaf83a2b606 release-0.6.29
|
||||
55408deb3cd171efa9b81d23d7a1dd1ccde0b839 release-0.6.30
|
||||
d4288915bba73c4c3c9cf5d39d34e86879eb2b45 release-0.6.31
|
||||
0a189588830b8629c4dfea68feb49af36b59e4a9 release-0.7.0
|
||||
6ab27a06f3346cf9ec8737f5dbcc82dd4031e30f release-0.7.1
|
||||
a07e258cef3b0a0b6e76a6ff4ba4651c5facc85a release-0.7.2
|
||||
9992c4583513d2804fc2e7fec860fbc7ab043009 release-0.7.3
|
||||
4dc24d50230fbadfc037a414a86390db2de69dd2 release-0.7.4
|
||||
9527137b4354a648a229c7169850c7c65272c00d release-0.7.5
|
||||
c2f0f7cf306f302254beae512bda18713922375c release-0.7.6
|
||||
bbcf6d75556fdcee8bd4aba8f6c27014be9920ee release-0.7.7
|
||||
43bde71f0bbe5a33b161760d7f9f980d50386597 release-0.7.8
|
||||
769f0dd7081e9011394f264aa22aa66fd79730d8 release-0.7.9
|
||||
511edfa732da637f5f0c9476335df7dca994706d release-0.7.10
|
||||
0e7023bf6b2461309c29885935443449a41be807 release-0.7.11
|
||||
9ad1bd2b21d93902863807528e426862aedee737 release-0.7.12
|
||||
d90ea21e24ea35379aef50c5d70564158e110a15 release-0.7.13
|
||||
c07d2d20d95c83d804079bbdcecbce4a0c8282f0 release-0.7.14
|
||||
0cd7bb051f67eac2b179fb9f9cc988b9ba18ed76 release-0.7.15
|
||||
eab2e87deba73ae6abd9cc740e8d4365bed96322 release-0.7.16
|
||||
91d7a9eb8ade90e9421d7b1e3c2e47a6bc427876 release-0.7.17
|
||||
fc10f7b5cb1305fb930f8ac40b46882d0828d61e release-0.7.18
|
||||
9dba9779e37e5969a2d408c792084fd7acfec062 release-0.7.19
|
||||
61838d1bcbddc7bc4dd9f30d535573a6fddca8f9 release-0.7.20
|
||||
5f665d0fa6a5f6e748157f2ccbc445b2db8125d0 release-0.7.21
|
||||
24763afa5efe91e54f00b2ae5b87666eb6c08c3b release-0.7.22
|
||||
0562fb355a25266150cbe8c8d4e00f55e3654df3 release-0.7.23
|
||||
19c452ecd083550816873a8a31eb3ed9879085e6 release-0.7.24
|
||||
46b68faf271d6fdcaaf3ad2c69f6167ea9e9fa28 release-0.7.25
|
||||
d04bfca0c7e3ae2e4422bc1d383553139d6f0a19 release-0.7.26
|
||||
9425d9c7f8ead95b00a3929a9a5e487e0e3c8499 release-0.7.27
|
||||
fbc3e7e8b3ee756568a875f87d8a954a2f9d3bf6 release-0.7.28
|
||||
5176dfdf153fc785b18604197d58806f919829ad release-0.7.29
|
||||
87e07ccdf0a4ec53458d9d7a4ea66e1239910968 release-0.7.30
|
||||
9fddd7e1a7a27f8463867f41a461aad57df461b2 release-0.7.31
|
||||
780b2ba1ec6daf6e3773774e26b05b9ff0d5483e release-0.7.32
|
||||
83027471a25385b1c671968be761e9aa7a8591a7 release-0.7.33
|
||||
1e9a362c3dcee221ca6e34308c483ed93867aca2 release-0.7.34
|
||||
c7ee9e15717b54ead5f4a554686e74abe66c6b07 release-0.7.35
|
||||
b84548abe9b9d4f4e203f848696e52c8c82c308f release-0.7.36
|
||||
3286f0bab8e77dbc7ebb370b1dc379592ccff123 release-0.7.37
|
||||
11a4e2ed5b166b9c9f119171aa399a9e3aa4684a release-0.7.38
|
||||
f822655d4120629977794c32d3b969343b6c30db release-0.7.39
|
||||
8a350e49d2b6751296db6d8e27277ccf63ed412a release-0.7.40
|
||||
c4a56c197eeafd71fc1caef7a9d890a330e3c23d release-0.7.41
|
||||
a9575a57a5443df39611774cf3840e9088132b0e release-0.7.42
|
||||
7503d95d6eadad14c28b2db183ba09848265274b release-0.7.43
|
||||
9be652e9114435fc6f1fdec84c0458d56702db91 release-0.7.44
|
||||
797e070d480a34b31ddac0d364784773f1bbbcf9 release-0.7.45
|
||||
9b5037e7ec7db25875c40f9d1cf20a853388b124 release-0.7.46
|
||||
d1d0e6d7ff0ca3c0dd1be1ef1cfff2e3fd0b4e1c release-0.7.47
|
||||
9816fb28eda599bfd53940e6d3b6617d1ecb6323 release-0.7.48
|
||||
452b9d09df8e3f2fb04b2a33d04d2f3a6436eb34 release-0.7.49
|
||||
e4350efa7cf7a0e868c2236a1137de8a33bd8ec6 release-0.7.50
|
||||
f51f2bec766c8b6d7e1799d904f18f8ea631bd44 release-0.7.51
|
||||
18e39e566781c9c187e2eb62bebd9d669d68f08c release-0.7.52
|
||||
b073eaa1dcea296a3488b83d455fab6621a73932 release-0.7.53
|
||||
01c6fe6c2a55998434cd3b05dd10ca487ac3fb6c release-0.7.54
|
||||
3ed9377e686f2521e6ec15873084381033fb490d release-0.7.55
|
||||
a1e44954549c35023b409f728c678be8bf898148 release-0.7.56
|
||||
fbb1918a85e38a7becdb1a001dbaf5933f23a919 release-0.7.57
|
||||
87f4a49a9cc34a5b11c8784cc5ea89e97b4b2bd8 release-0.7.58
|
||||
0c22cb4862c8beb4ee1b9e4627125162a29a5304 release-0.7.59
|
||||
82d56c2425ef857cd430b8530a3f9e1127145a67 release-0.8.0
|
||||
f4acb784b53cd952559567971b97dde1e818a2b6 release-0.8.1
|
||||
b3503597c1a0f0f378afdc5e5e5b85e2c095a4be release-0.8.2
|
||||
c98da980514a02ba81c421b25bf91803ffffddf3 release-0.8.3
|
||||
db34ec0c53c4b9dec12ffdf70caf89a325ab9577 release-0.8.4
|
||||
0914802433b8678ba2cdf91280766f00f4b9b76e release-0.8.5
|
||||
ff52ee9e6422f3759f43a442b7ba615595b3a3d4 release-0.8.6
|
||||
7607237b4829fff1f60999f4663c50ed9d5182f7 release-0.8.7
|
||||
1cef1807bc12cb05ac52fb0e7a0f111d3760b569 release-0.8.8
|
||||
a40f8475511d74a468ade29c1505e8986600d7a3 release-0.8.9
|
||||
2d9faf2260df6c3e5d4aa1781493c31f27a557d0 release-0.8.10
|
||||
d0d61c32331a6505381b5218318f7b69db167ca8 release-0.8.11
|
||||
ca7a1c6c798a7eb5b294d4ac3179ec87ecf297d3 release-0.8.12
|
||||
81c8277cd8ed55febcb2dd9d9213076f6c0ccb09 release-0.8.13
|
||||
3089486a8dc5844b5b6e9f78d536b4b26f7ffa16 release-0.8.14
|
||||
d364c2c12dd9723a2dfac3f096f5e55d4cfe6838 release-0.8.15
|
||||
52163a1027c3efd6b4c461b60a2ca6266c23e193 release-0.8.16
|
||||
06564e9a2d9ec5852132c212e85eda0bf1300307 release-0.8.17
|
||||
7aaa959da85e09e29bcac3b1cadec35b0a25b64d release-0.8.18
|
||||
4bc73c644329a510da4e96b7241b80ead7772f83 release-0.8.19
|
||||
ea3d168fb99c32a5c3545717ecc61e85a375e5dd release-0.8.20
|
||||
27951ca037e63dae45ff5b6279124c224ae1255a release-0.8.21
|
||||
d56c8b5df517c2bf6e7bc2827b8bf3e08cda90e1 release-0.8.22
|
||||
3c6ac062b379b126212cbb27e98a3c8275ef381a release-0.8.23
|
||||
89b9173476de14688b1418fbf7df10f91d1719ef release-0.8.24
|
||||
aa550cb4159ae0d566006e091fb1c7a888771050 release-0.8.25
|
||||
06ce92293f6a65651b08c466f90f55bd69984b98 release-0.8.26
|
||||
ea50b0d79ef1d7d901cd0e4dcd7373447849d719 release-0.8.27
|
||||
e68b1c35cad86105ff1c5b240f53442f4c36356e release-0.8.28
|
||||
78d3582a30afe63fc0adb17c3ac8891a64e47146 release-0.8.29
|
||||
9852c5965a3292a1b6127dbb4da9fce4912d898a release-0.8.30
|
||||
4f84115914490e572bcbee5069157b7334df2744 release-0.8.31
|
||||
59dee6f7f3afeb1fad6ed5983756e48c81ad2a5c release-0.8.32
|
||||
a4456378d234c07038456cf32bfe3c651f1d5e82 release-0.8.33
|
||||
21cb50799a20575a42f9733342d37a426f79db4d release-0.8.34
|
||||
7cb3cb8d78ef7ae63561733ed91fd07933896bc8 release-0.8.35
|
||||
aed68639d4eb6afe944b7fb50499c16f7f3f503c release-0.8.36
|
||||
265b7fd2ae21c75bbffa5115b83a0123d6c4acb4 release-0.8.37
|
||||
fa5f1ca353c0c5aa5415f51d72fd7bbcc02d1ed7 release-0.8.38
|
||||
af10bf9d4c6532850aa1f70cdf7504bd109b284c release-0.8.39
|
||||
4846ec9f83cb5bc4c8519d5641b35fb9b190430c release-0.8.40
|
||||
718b4cb3faf7efe4e0648140f064bf7a92c3f7e8 release-0.8.41
|
||||
b5a3065749093282ddd19845e0b77ffc2e54333e release-0.8.42
|
||||
34df9fb22fed415cdad52def04095dc6d4b48222 release-0.8.43
|
||||
00ec8cd76fb89af27363b76c40d9f88bf4679c3b release-0.8.44
|
||||
e16dd52a0d226c23dcae9a11252564a04753bbed release-0.8.45
|
||||
f034d9173df0a433e0bbcf5974f12ea9eb9076c0 release-0.8.46
|
||||
4434dc967087315efcd0658206a67fe6c85528f3 release-0.8.47
|
||||
0b65c962e0cd6783a854877b52c903cb058eec8c release-0.8.48
|
||||
a2b7e94b9807e981866bf07e37b715847d1b7120 release-0.8.49
|
||||
e7bdb8edc1bab2bc352a9fb6ce765c46575c35bf release-0.8.50
|
||||
21dacebd12f65cb57ceb8d2688db5b07fad6e06d release-0.8.51
|
||||
67dd7533b99c8945b5b8b5b393504d4e003a1c50 release-0.8.52
|
||||
010468d890dbac33a4cae6dfb2017db70721b2fe release-0.8.53
|
||||
62b599022a2fa625b526c2ad1711dc6db7d66786 release-0.9.0
|
||||
71281dd73b17a0ead5535d531afaee098da723cb release-0.9.1
|
||||
16cff36b0e49fc9fdeee13b2e92690286bcc1b3d release-0.9.2
|
||||
b7b306325972661117694879d3e22faf4cf0df32 release-0.9.3
|
||||
fe671505a8ea86a76f0358b3ec4de84a9037ac2b release-0.9.4
|
||||
70542931bc5436d1bbd38f152245d93ac063968d release-0.9.5
|
||||
27e2f3b7a3db1819c5d0ba28327ceaba84a13c4e release-0.9.6
|
||||
657d05d63915ce2f6c4d763091059f5f85bb10e5 release-0.9.7
|
||||
e0fd9f36005923b8f98d1ba1ea583cb7625f318f release-1.0.0
|
||||
f8f89eb4e0c27e857ec517d893d4f9a454985084 release-1.0.1
|
||||
c50df367648e53d55e80b60a447c9c66caa0d326 release-1.0.2
|
||||
80d586db316512b5a9d39f00fe185f7f91523f52 release-1.0.3
|
||||
c9c2805ac9245cc48ce6efeba2b4a444f859d6aa release-1.0.4
|
||||
fa2c37b1122c2c983b6e91d1188e387d72dde4d6 release-1.0.5
|
||||
f31aea5b06654c9163be5acd6d9b7aaf0fdf6b33 release-1.1.0
|
||||
44bf95f670656fae01ccb266b3863843ea13d324 release-1.1.1
|
||||
da1289482a143dfa016769649bdff636c26f53c8 release-1.1.2
|
||||
bac8ba08a6570bac2ecd3bf2ad64b0ac3030c903 release-1.1.3
|
||||
911060bc8221d4113a693ae97952a1fa88663ca8 release-1.1.4
|
||||
e47531dfabbf8e5f8b8aff9ff353642ea4aa7abb release-1.1.5
|
||||
f9ddecfe331462f870a95e4c1c3ba1bb8f19f2d3 release-1.1.6
|
||||
378c297bb7459fb99aa9c77decac0d35391a3932 release-1.1.7
|
||||
71600ce67510af093d4bc0117a78b3b4678c6b3a release-1.1.8
|
||||
482d7d907f1ab92b78084d8b8631ed0eb7dd08f7 release-1.1.9
|
||||
c7e65deabf0db5109e8d8f6cf64cd3fb7633a3d1 release-1.1.10
|
||||
9590f0cf5aab8e6e0b0c8ae59c70187b2b97d886 release-1.1.11
|
||||
ade8fc136430cfc04a8d0885c757968b0987d56c release-1.1.12
|
||||
6a6836e65827fd3cb10a406e7bbbe36e0dad8736 release-1.1.13
|
||||
6845f4ac909233f5a08ed8a51de137713a888328 release-1.1.14
|
||||
2397e9c72f1bc5eac67006e12ad3e33e0ea9ba74 release-1.1.15
|
||||
7b7c49639a7bceecabf4963c60b26b65a77d6ce0 release-1.1.16
|
||||
f7e1113a9a1648cad122543e7080e895cf2d88f4 release-1.1.17
|
||||
2b22743c3079b41233ded0fc35af8aa89bcfab91 release-1.1.18
|
||||
0f0b425659e0b26f5bc8ea14a42dbf34de2eaba6 release-1.1.19
|
||||
f582d662cc408eb7a132c21f4b298b71d0701abb release-1.2.0
|
||||
9ee68d629722f583d43d92271f2eb84281afc630 release-1.3.0
|
||||
61b6a3438afef630774e568eefd89c53e3b93287 release-1.3.1
|
||||
7ccd50a0a455f2f2d3b241f376e1193ad956196d release-1.2.1
|
||||
0000000000000000000000000000000000000000 release-1.2.1
|
||||
50107e2d96bbfc2c59e46f889b1a5f68dd10cf19 release-1.3.2
|
||||
2c5e1e88c8cf710caf551c5c67eba00443601efe release-1.3.3
|
||||
a43447fb82aa03eabcd85352758ae14606a84d35 release-1.3.4
|
||||
90f3b4ea7992a7bf9385851a3e77173363091eea release-1.3.5
|
||||
3aeb14f88daeb973e4708310daa3dc68ac1200f7 release-1.3.6
|
||||
dafd375f1c882b15fa4a9b7aa7c801c55082395e release-1.3.7
|
||||
ab7ce0eb4cf78a656750ab1d8e55ef61f7e535ec release-1.3.8
|
||||
1b1a9337a7399ad3cdc5e3a2f9fbaaec990271d5 release-1.3.9
|
||||
2c053b2572694eb9cd4aed26a498b6cb1f51bbcc release-1.3.10
|
||||
36409ac209872ce53019f084e4e07467c5d9d25e release-1.3.11
|
||||
560dc55e90c13860a79d8f3e0d67a81c7b0257bb release-1.3.12
|
||||
dc195ffe0965b2b9072f8e213fe74ecce38f6773 release-1.3.13
|
||||
e04428778567dd4de329bbbe97ad653e22801612 release-1.3.14
|
||||
cd84e467c72967b9f5fb4d96bfc708c93edeb634 release-1.3.15
|
||||
23159600bdea695db8f9d2890aaf73424303e49c release-1.3.16
|
||||
7809529022b83157067e7d1e2fb65d57db5f4d99 release-1.4.0
|
||||
48a84bc3ff074a65a63e353b9796ff2b14239699 release-1.5.0
|
||||
99eed1a88fc33f32d66e2ec913874dfef3e12fcc release-1.5.1
|
||||
5bdca4812974011731e5719a6c398b54f14a6d61 release-1.5.2
|
||||
644a079526295aca11c52c46cb81e3754e6ad4ad release-1.5.3
|
||||
376a5e7694004048a9d073e4feb81bb54ee3ba91 release-1.5.4
|
||||
60e0409b9ec7ee194c6d8102f0656598cc4a6cfe release-1.5.5
|
||||
70c5cd3a61cb476c2afb3a61826e59c7cda0b7a7 release-1.5.6
|
||||
9ba2542d75bf62a3972278c63561fc2ef5ec573a release-1.5.7
|
||||
eaa76f24975948b0ce8be01838d949122d44ed67 release-1.5.8
|
||||
5a1759f33b7fa6270e1617c08d7e655b7b127f26 release-1.5.9
|
||||
b798fc020e3a84ef68e6c9f47865a319c826d33c release-1.5.10
|
||||
f995a10d4c7e9a817157a6ce7b753297ad32897e release-1.5.11
|
||||
97b47d95e4449cbde976657cf8cbbc118351ffe0 release-1.5.12
|
||||
fd722b890eabc600394349730a093f50dac31639 release-1.5.13
|
||||
d161d68df8be32e5cbf72b07db1a707714827803 release-1.7.0
|
||||
0351a6d89c3dbcc7a76295024ba6b70e27b9a497 release-1.7.1
|
||||
0bd223a546192fdf2e862f33938f4ec2a3b5b283 release-1.7.2
|
||||
fe7cd01828d5ca7491059f0690bb4453645eb28b release-1.7.3
|
||||
cbb146b120296852e781079d5138b04495bab6df release-1.7.4
|
||||
fe129aa02db9001d220f1db7c3c056f79482c111 release-1.7.5
|
||||
a8d111bb68847f61d682a3c8792fecb2e52efa2c release-1.7.6
|
||||
6d2fbc30f8a7f70136cf08f32d5ff3179d524873 release-1.7.7
|
||||
d5ea659b8bab2d6402a2266efa691f705e84001e release-1.7.8
|
||||
34b201c1abd1e2d4faeae4650a21574771a03c0e release-1.7.9
|
||||
860cfbcc4606ee36d898a9cd0c5ae8858db984d6 release-1.7.10
|
||||
2b3b737b5456c05cd63d3d834f4fb4d3776953d0 release-1.7.11
|
||||
3ef00a71f56420a9c3e9cec311c9a2109a015d67 release-1.7.12
|
||||
53d850fe292f157d2fb999c52788ec1dc53c91ed release-1.9.0
|
||||
884a967c369f73ab16ea859670d690fb094d3850 release-1.9.1
|
||||
3a32d6e7404a79a0973bcd8d0b83181c5bf66074 release-1.9.2
|
||||
e27a215601292872f545a733859e06d01af1017d release-1.9.3
|
||||
5cb7e2eed2031e32d2e5422caf9402758c38a6ad release-1.9.4
|
||||
942475e10cb47654205ede7ccbe7d568698e665b release-1.9.5
|
||||
b78018cfaa2f0ec20494fccb16252daa87c48a31 release-1.9.6
|
||||
54117529e40b988590ea2d38aae909b0b191663f release-1.9.7
|
||||
1bdc497c81607d854e3edf8b9a3be324c3d136b6 release-1.9.8
|
||||
ef107f3ddc237a3007e2769ec04adde0dcf627fa release-1.9.9
|
||||
be00ca08e41a69e585b6aff70a725ed6c9e1a876 release-1.9.10
|
||||
fe66cff450a95beed36a2515210eb2d7ef62c9d3 release-1.9.11
|
||||
ead3907d74f90a14d1646f1b2b56ba01d3d11702 release-1.9.12
|
||||
5936b7ed929237f1a73b467f662611cdc0309e51 release-1.9.13
|
||||
4106db71cbcb9c8274700199ac17e520902c6c0f release-1.9.14
|
||||
13070ecfda67397985f0e986eb9c42ecb46d05b5 release-1.9.15
|
||||
271ee30c6791847980cd139d31807541f5e569bf release-1.11.0
|
||||
cb783d9cc19761e14e1285d91c38f4b84d0b8756 release-1.11.1
|
||||
4d3b3a13a8cf5fc3351a7f167d1c13325e00f21c release-1.11.2
|
||||
b83a067949a3384a49fd3d943eb8d0997b31f87b release-1.11.3
|
||||
953512ca02c6f63b4fcbbc3e10d0d9835896bf99 release-1.11.4
|
||||
5253015a339aaca0a3111473d3e931b6d4752393 release-1.11.5
|
||||
5e371426b3bcba4312ce08606194b89b758927d1 release-1.11.6
|
||||
5c8f60faf33ca8926473d2da27b4c3c417bd4630 release-1.11.7
|
||||
4591da489a30f790def29bc5987f43409b503cae release-1.11.8
|
||||
20a45c768e5ed26b740679d0e22045c98727c3cc release-1.11.9
|
||||
1ad0999a7ded3d4fb01c7acf8ff57c80b643da7e release-1.11.10
|
||||
d8b321a876d6254e9e98795e3b194ef053290354 release-1.11.11
|
||||
7f394e433f0003222aa6531931ecc0b24740d5e4 release-1.11.12
|
||||
3d0e8655f897959e48cc74e87670bb5492a58871 release-1.11.13
|
||||
3671096a45bce570a2afa20b9faf42c7fb0f7e66 release-1.13.0
|
||||
539f7893ecb96bee60965528c8958d7eb2f1ce6b release-1.13.1
|
||||
5be2b25bdc65775a85f18f68a4be4f58c7384415 release-1.13.2
|
||||
8457ce87640f9bfe6221c4ac4466ced20e03bebe release-1.13.3
|
||||
bbc642c813c829963ce8197c0ca237ab7601f3d4 release-1.13.4
|
||||
0d45b4cf7c2e4e626a5a16e1fe604402ace1cea5 release-1.13.5
|
||||
f87da7d9ca02b8ced4caa6c5eb9013ccd47b0117 release-1.13.6
|
||||
47cca243d0ed39bf5dcb9859184affc958b79b6f release-1.13.7
|
||||
20ca4bcff108d3e66977f4d97508637093492287 release-1.13.8
|
||||
fb1212c7eca4c5328fe17d6cd95b010c67336aac release-1.13.9
|
||||
31c929e16910c38492581ef474e72fa67c28f124 release-1.13.10
|
||||
64179f242cb55fc206bca59de9bfdc4cf5ebcec7 release-1.13.11
|
||||
051e5fa03b92b8a564f6b12debd483d267391e82 release-1.13.12
|
||||
990b3e885636d763b97ed02d0d2cfc161a4e0c09 release-1.15.0
|
||||
4189160cb946bb38d0bc0a452b5eb4cdd8979fb5 release-1.15.1
|
||||
b234199c7ed8a156a6bb98f7ff58302c857c954f release-1.15.2
|
||||
28b3e17ca7eba1e6a0891afde0e4bc5bcc99c861 release-1.15.3
|
||||
49d49835653857daa418e68d6cbfed4958c78fca release-1.15.4
|
||||
f062e43d74fc2578bb100a9e82a953efa1eb9e4e release-1.15.5
|
||||
2351853ce6867b6166823bdf94333c0a76633c0a release-1.15.6
|
||||
051a039ce1c7e09144de4a4846669ec7116cecea release-1.15.7
|
||||
ee551e3f6dba336c0d875e266d7d55385f379b42 release-1.15.8
|
||||
d2fd76709909767fc727a5b4affcf1dc9ca488a7 release-1.15.9
|
||||
75f5c7f628411c79c7044102049f7ab4f7a246e7 release-1.15.10
|
||||
5155d0296a5ef9841f035920527ffdb771076b44 release-1.15.11
|
||||
0130ca3d58437b3c7c707cdddd813d530c68da9a release-1.15.12
|
||||
054c1c46395caff79bb4caf16f40b331f71bb6dd release-1.17.0
|
||||
7816bd7dabf6ee86c53c073b90a7143161546e06 release-1.17.1
|
||||
2fc9f853a6b7cd29dc84e0af2ed3cf78e0da6ca8 release-1.17.2
|
||||
ed4303aa1b31a9aad5440640c0840d9d0af45fed release-1.17.3
|
||||
ce2ced3856909f36f8130c99eaa4dbdbae636ddc release-1.17.4
|
||||
9af0dddbddb2c368bfedd2801bc100ffad01e19b release-1.17.5
|
||||
de68d0d94320cbf033599c6f3ca37e5335c67fd7 release-1.17.6
|
||||
e56295fe0ea76bf53b06bffa77a2d3a9a335cb8c release-1.17.7
|
||||
fdacd273711ddf20f778c1fb91529ab53979a454 release-1.17.8
|
||||
5e8d52bca714d4b85284ddb649d1ba4a3ca978a8 release-1.17.9
|
||||
c44970de01474f6f3e01b0adea85ec1d03e3a5f2 release-1.17.10
|
||||
cbe6ba650211541310618849168631ce0b788f35 release-1.19.0
|
||||
062920e2f3bf871ef7a3d8496edec1b3065faf80 release-1.19.1
|
||||
a7b46539f507e6c64efa0efda69ad60b6f4ffbce release-1.19.2
|
||||
3cbc2602325f0ac08917a4397d76f5155c34b7b1 release-1.19.3
|
||||
dc0cc425fa63a80315f6efb68697cadb6626cdf2 release-1.19.4
|
||||
8e5b068f761cd512d10c9671fbde0b568c1fd08b release-1.19.5
|
||||
f618488eb769e0ed74ef0d93cd118d2ad79ef94d release-1.19.6
|
||||
3fa6e2095a7a51acc630517e1c27a7b7ac41f7b3 release-1.19.7
|
||||
8c65d21464aaa5923775f80c32474adc7a320068 release-1.19.8
|
||||
da571b8eaf8f30f36c43b3c9b25e01e31f47149c release-1.19.9
|
||||
ffcbb9980ee2bad27b4d7b1cd680b14ff47b29aa release-1.19.10
|
||||
df34dcc9ac072ffd0945e5a1f3eb7987e8275375 release-1.21.0
|
||||
a68ac0677f8553b1f84d357bc9da114731ab5f47 release-1.21.1
|
||||
bfbc52374adcbf2f9060afd62de940f6fab3bba5 release-1.21.2
|
||||
2217a9c1d0b86026f22700b3c089545db1964f55 release-1.21.3
|
||||
39be8a682c58308d9399cddd57e37f9fdb7bdf3e release-1.21.4
|
||||
d986378168fd4d70e0121cabac274c560cca9bdf release-1.21.5
|
||||
714eb4b2c09e712fb2572a2164ce2bf67638ccac release-1.21.6
|
||||
5da2c0902e8e2aa4534008a582a60c61c135960e release-1.23.0
|
||||
a63d0a70afea96813ba6667997bc7d68b5863f0d release-1.23.1
|
||||
aa901551a7ebad1e8b0f8c11cb44e3424ba29707 release-1.23.2
|
||||
ff3afd1ce6a6b65057741df442adfaa71a0e2588 release-1.23.3
|
||||
ac779115ed6ee4f3039e9aea414a54e560450ee2 release-1.23.4
|
||||
12dcf92b0c2c68552398f19644ce3104459807d7 release-1.25.0
|
||||
f8134640e8615448205785cf00b0bc810489b495 release-1.25.1
|
||||
1d839f05409d1a50d0f15a2bf36547001f99ae40 release-1.25.2
|
||||
294a3d07234f8f65d7b0e0b0e2c5b05c12c5da0a release-1.25.3
|
||||
173a0a7dbce569adbb70257c6ec4f0f6bc585009 release-1.25.4
|
||||
8618e4d900cc71082fbe7dc72af087937d64faf5 release-1.25.5
|
||||
a58202a8c41bf0bd97eef1b946e13105a105520d release-1.26.0
|
||||
a63c124e34bcf2d1d1feb8d40ff075103b967c4c release-1.26.1
|
||||
e4c5da06073ca24e2ffc5c8f8b8d7833a926356f release-1.26.2
|
||||
2608
CHANGES.ru
2608
CHANGES.ru
File diff suppressed because it is too large
Load diff
4
LICENSE
4
LICENSE
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* Copyright (C) 2002-2014 Igor Sysoev
|
||||
* Copyright (C) 2011-2014 Nginx, Inc.
|
||||
* Copyright (C) 2002-2021 Igor Sysoev
|
||||
* Copyright (C) 2011-2024 Nginx, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
|
|
|||
|
|
@ -12,4 +12,3 @@ CC_TEST_FLAGS="-Ae"
|
|||
|
||||
PCRE_OPT="$PCRE_OPT -Ae"
|
||||
ZLIB_OPT="$ZLIB_OPT -Ae"
|
||||
MD5_OPT="$MD5_OPT -Ae"
|
||||
|
|
|
|||
|
|
@ -62,7 +62,6 @@ ngx_include_opt="-I"
|
|||
ngx_objout="-o"
|
||||
ngx_binout="-e"
|
||||
ngx_objext="obj"
|
||||
ngx_binext=".exe"
|
||||
|
||||
ngx_long_start='@&&|
|
||||
'
|
||||
|
|
|
|||
|
|
@ -5,8 +5,9 @@
|
|||
# clang
|
||||
|
||||
|
||||
NGX_CLANG_VER=`$CC -v 2>&1 | grep '\(clang\|LLVM\) version' 2>&1 \
|
||||
| sed -e 's/^.* version \(.*\)/\1/'`
|
||||
NGX_CLANG_VER=`$CC -v 2>&1 | grep 'version' 2>&1 \
|
||||
| sed -n -e 's/^.*clang version \(.*\)/\1/p' \
|
||||
-e 's/^.*LLVM version \(.*\)/\1/p'`
|
||||
|
||||
echo " + clang version: $NGX_CLANG_VER"
|
||||
|
||||
|
|
@ -66,12 +67,6 @@ else
|
|||
PCRE_OPT="$PCRE_OPT -pipe"
|
||||
fi
|
||||
|
||||
if [ ".$MD5_OPT" = "." ]; then
|
||||
MD5_OPT="-O2 -pipe $CPU_OPT"
|
||||
else
|
||||
MD5_OPT="$MD5_OPT -pipe"
|
||||
fi
|
||||
|
||||
if [ ".$ZLIB_OPT" = "." ]; then
|
||||
ZLIB_OPT="-O2 -pipe $CPU_OPT"
|
||||
else
|
||||
|
|
@ -88,6 +83,11 @@ CFLAGS="$CFLAGS -Wconditional-uninitialized"
|
|||
# we have a lot of unused function arguments
|
||||
CFLAGS="$CFLAGS -Wno-unused-parameter"
|
||||
|
||||
# deprecated system OpenSSL library on OS X
|
||||
if [ "$NGX_SYSTEM" = "Darwin" ]; then
|
||||
CFLAGS="$CFLAGS -Wno-deprecated-declarations"
|
||||
fi
|
||||
|
||||
# stop on warning
|
||||
CFLAGS="$CFLAGS -Werror"
|
||||
|
||||
|
|
|
|||
64
auto/cc/conf
64
auto/cc/conf
|
|
@ -5,12 +5,17 @@
|
|||
|
||||
LINK="\$(CC)"
|
||||
|
||||
MAIN_LINK=
|
||||
MODULE_LINK="-shared"
|
||||
|
||||
ngx_include_opt="-I "
|
||||
ngx_compile_opt="-c"
|
||||
ngx_pic_opt="-fPIC"
|
||||
ngx_objout="-o "
|
||||
ngx_binout="-o "
|
||||
ngx_objext="o"
|
||||
ngx_binext=
|
||||
ngx_modext=".so"
|
||||
|
||||
ngx_long_start=
|
||||
ngx_long_end=
|
||||
|
|
@ -45,6 +50,9 @@ if test -n "$CFLAGS"; then
|
|||
|
||||
sunc)
|
||||
|
||||
MAIN_LINK=
|
||||
MODULE_LINK="-G"
|
||||
|
||||
case "$NGX_MACHINE" in
|
||||
|
||||
i86pc)
|
||||
|
|
@ -109,7 +117,7 @@ else
|
|||
. auto/cc/acc
|
||||
;;
|
||||
|
||||
msvc*)
|
||||
msvc)
|
||||
# MSVC++ 6.0 SP2, MSVC++ Toolkit 2003
|
||||
|
||||
. auto/cc/msvc
|
||||
|
|
@ -156,22 +164,40 @@ if [ "$NGX_PLATFORM" != win32 ]; then
|
|||
fi
|
||||
|
||||
|
||||
ngx_feature="gcc builtin atomic operations"
|
||||
ngx_feature_name=NGX_HAVE_GCC_ATOMIC
|
||||
ngx_feature_run=yes
|
||||
ngx_feature="-Wl,-E switch"
|
||||
ngx_feature_name=
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs=
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="long n = 0;
|
||||
if (!__sync_bool_compare_and_swap(&n, 0, 1))
|
||||
return 1;
|
||||
if (__sync_fetch_and_add(&n, 1) != 1)
|
||||
return 1;
|
||||
if (n != 2)
|
||||
return 1;
|
||||
__sync_synchronize();"
|
||||
ngx_feature_libs=-Wl,-E
|
||||
ngx_feature_test=
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
MAIN_LINK="-Wl,-E"
|
||||
fi
|
||||
|
||||
|
||||
if [ "$NGX_CC_NAME" = "sunc" ]; then
|
||||
echo "checking for gcc builtin atomic operations ... disabled"
|
||||
else
|
||||
ngx_feature="gcc builtin atomic operations"
|
||||
ngx_feature_name=NGX_HAVE_GCC_ATOMIC
|
||||
ngx_feature_run=yes
|
||||
ngx_feature_incs=
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="long n = 0;
|
||||
if (!__sync_bool_compare_and_swap(&n, 0, 1))
|
||||
return 1;
|
||||
if (__sync_fetch_and_add(&n, 1) != 1)
|
||||
return 1;
|
||||
if (n != 2)
|
||||
return 1;
|
||||
__sync_synchronize();"
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
|
||||
if [ "$NGX_CC_NAME" = "ccc" ]; then
|
||||
echo "checking for C99 variadic macros ... disabled"
|
||||
|
|
@ -187,7 +213,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then
|
|||
var(0, buf, \"%d\", 1);
|
||||
if (buf[0] != '1') return 1"
|
||||
. auto/feature
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
ngx_feature="gcc variadic macros"
|
||||
|
|
@ -203,6 +229,16 @@ if [ "$NGX_PLATFORM" != win32 ]; then
|
|||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="gcc builtin 64 bit byteswap"
|
||||
ngx_feature_name="NGX_HAVE_GCC_BSWAP64"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs=
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="if (__builtin_bswap64(0)) return 1"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# ngx_feature="inline"
|
||||
# ngx_feature_name=
|
||||
# ngx_feature_run=no
|
||||
|
|
|
|||
22
auto/cc/gcc
22
auto/cc/gcc
|
|
@ -128,12 +128,6 @@ else
|
|||
PCRE_OPT="$PCRE_OPT $PIPE"
|
||||
fi
|
||||
|
||||
if [ ".$MD5_OPT" = "." ]; then
|
||||
MD5_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
|
||||
else
|
||||
MD5_OPT="$MD5_OPT $PIPE"
|
||||
fi
|
||||
|
||||
if [ ".$ZLIB_OPT" = "." ]; then
|
||||
ZLIB_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
|
||||
else
|
||||
|
|
@ -151,18 +145,22 @@ CFLAGS="$CFLAGS -Wall -Wpointer-arith"
|
|||
#CFLAGS="$CFLAGS -Winline"
|
||||
#CFLAGS="$CFLAGS -Wmissing-prototypes"
|
||||
|
||||
|
||||
case "$NGX_GCC_VER" in
|
||||
3.* | 4.* )
|
||||
2.*)
|
||||
# we have a lot of the unused function arguments
|
||||
CFLAGS="$CFLAGS -Wno-unused-parameter"
|
||||
# 4.2.1 shows the warning in wrong places
|
||||
#CFLAGS="$CFLAGS -Wunreachable-code"
|
||||
CFLAGS="$CFLAGS -Wno-unused"
|
||||
;;
|
||||
|
||||
*)
|
||||
# we have a lot of the unused function arguments
|
||||
CFLAGS="$CFLAGS -Wno-unused"
|
||||
CFLAGS="$CFLAGS -Wno-unused-parameter"
|
||||
# 4.2.1 shows the warning in wrong places
|
||||
#CFLAGS="$CFLAGS -Wunreachable-code"
|
||||
|
||||
# deprecated system OpenSSL library on OS X
|
||||
if [ "$NGX_SYSTEM" = "Darwin" ]; then
|
||||
CFLAGS="$CFLAGS -Wno-deprecated-declarations"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
|||
|
|
@ -43,10 +43,6 @@ if [ ".$PCRE_OPT" = "." ]; then
|
|||
PCRE_OPT="-O $CPU_OPT"
|
||||
fi
|
||||
|
||||
if [ ".$MD5_OPT" = "." ]; then
|
||||
MD5_OPT="-O $CPU_OPT"
|
||||
fi
|
||||
|
||||
if [ ".$ZLIB_OPT" = "." ]; then
|
||||
ZLIB_OPT="-O $CPU_OPT"
|
||||
fi
|
||||
|
|
@ -89,7 +85,7 @@ CFLAGS="$CFLAGS -wd1419"
|
|||
|
||||
case "$NGX_ICC_VER" in
|
||||
9.*)
|
||||
# "cc" clobber ignored, warnings for Liunx's htonl()/htons()
|
||||
# "cc" clobber ignored, warnings for Linux's htonl()/htons()
|
||||
CFLAGS="$CFLAGS -wd1469"
|
||||
# explicit conversion of a 64-bit integral type to a smaller
|
||||
# integral type
|
||||
|
|
@ -103,7 +99,7 @@ case "$NGX_ICC_VER" in
|
|||
;;
|
||||
|
||||
8.*)
|
||||
# "cc" clobber ignored, warnings for Liunx's htonl()/htons()
|
||||
# "cc" clobber ignored, warnings for Linux's htonl()/htons()
|
||||
CFLAGS="$CFLAGS -wd1469"
|
||||
# floating-point equality and inequality comparisons are unreliable,
|
||||
# warning on SvTRUE()
|
||||
|
|
|
|||
55
auto/cc/msvc
55
auto/cc/msvc
|
|
@ -3,9 +3,39 @@
|
|||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
# MSVC 6.0 SP2
|
||||
# MSVC Toolkit 2003 (7.1)
|
||||
# MSVC 2005 Express Edition SP1 (8.0)
|
||||
# MSVC 6.0 SP2 cl 12.00
|
||||
# MSVC Toolkit 2003 (7.1) cl 13.10
|
||||
# MSVC 2005 Express Edition SP1 (8.0) cl 14.00
|
||||
# MSVC 2008 Express Edition (9.0) cl 15.00
|
||||
# MSVC 2010 (10.0) cl 16.00
|
||||
# MSVC 2015 (14.0) cl 19.00
|
||||
|
||||
|
||||
NGX_MSVC_VER=`$NGX_WINE $CC 2>&1 | grep 'C/C++.* [0-9][0-9]*\.[0-9]' 2>&1 \
|
||||
| sed -e 's/^.* \([0-9][0-9]*\.[0-9].*\)/\1/'`
|
||||
|
||||
echo " + cl version: $NGX_MSVC_VER"
|
||||
|
||||
have=NGX_COMPILER value="\"cl $NGX_MSVC_VER\"" . auto/define
|
||||
|
||||
|
||||
ngx_msvc_ver=`echo $NGX_MSVC_VER | sed -e 's/^\([0-9]*\).*/\1/'`
|
||||
|
||||
|
||||
# detect x64 builds
|
||||
|
||||
case "$NGX_MSVC_VER" in
|
||||
|
||||
*x64)
|
||||
NGX_MACHINE=amd64
|
||||
;;
|
||||
|
||||
*)
|
||||
NGX_MACHINE=i386
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
# optimizations
|
||||
|
||||
|
|
@ -90,17 +120,17 @@ CORE_LIBS="$CORE_LIBS kernel32.lib user32.lib"
|
|||
#CORE_LINK="$CORE_LINK -subsystem:windows -entry:mainCRTStartup"
|
||||
|
||||
# debug
|
||||
# msvc8 under Wine issues
|
||||
# Program database manager mismatch; please check your installation
|
||||
if [ $NGX_CC_NAME != msvc8 ]; then
|
||||
CFLAGS="$CFLAGS -Zi"
|
||||
# msvc under Wine issues
|
||||
# C1902: Program database manager mismatch; please check your installation
|
||||
if [ -z "$NGX_WINE" ]; then
|
||||
CFLAGS="$CFLAGS -Zi -Fd$NGX_OBJS/nginx.pdb"
|
||||
CORE_LINK="$CORE_LINK -debug"
|
||||
fi
|
||||
|
||||
|
||||
# MSVC 2005 supports C99 variadic macros
|
||||
if [ $NGX_CC_NAME = msvc8 ]; then
|
||||
have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have
|
||||
if [ "$ngx_msvc_ver" -ge 14 ]; then
|
||||
have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have
|
||||
fi
|
||||
|
||||
|
||||
|
|
@ -118,10 +148,15 @@ NGX_RCC="rc -fo$NGX_RES \$(CORE_INCS) $NGX_WIN32_RC"
|
|||
CORE_LINK="$NGX_RES $CORE_LINK"
|
||||
|
||||
|
||||
# dynamic modules
|
||||
#MAIN_LINK="-link -def:$NGX_OBJS/nginx.def"
|
||||
#MODULE_LINK="-LD $NGX_OBJS/nginx.lib"
|
||||
|
||||
|
||||
ngx_pic_opt=
|
||||
ngx_objout="-Fo"
|
||||
ngx_binout="-Fe"
|
||||
ngx_objext="obj"
|
||||
ngx_binext=".exe"
|
||||
|
||||
ngx_long_start='@<<
|
||||
'
|
||||
|
|
|
|||
33
auto/cc/name
33
auto/cc/name
|
|
@ -25,31 +25,8 @@ fi
|
|||
|
||||
|
||||
if [ "$CC" = cl ]; then
|
||||
if `$NGX_WINE $CC -v 2>&1 \
|
||||
| grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16' \
|
||||
>/dev/null 2>&1`; then
|
||||
|
||||
NGX_CC_NAME=msvc10
|
||||
echo " + using Microsoft Visual C++ 10 compiler"
|
||||
|
||||
elif `$NGX_WINE $CC -v 2>&1 \
|
||||
| grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14' \
|
||||
>/dev/null 2>&1`; then
|
||||
|
||||
NGX_CC_NAME=msvc8
|
||||
echo " + using Microsoft Visual C++ 8 compiler"
|
||||
|
||||
elif `$NGX_WINE $CC -v 2>&1 \
|
||||
| grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13' \
|
||||
>/dev/null 2>&1`; then
|
||||
|
||||
NGX_CC_NAME=msvc7
|
||||
echo " + using Microsoft Visual C++ 7 compiler"
|
||||
|
||||
else
|
||||
NGX_CC_NAME=msvc
|
||||
echo " + using Microsoft Visual C++ compiler"
|
||||
fi
|
||||
NGX_CC_NAME=msvc
|
||||
echo " + using Microsoft Visual C++ compiler"
|
||||
|
||||
elif [ "$CC" = wcl386 ]; then
|
||||
NGX_CC_NAME=owc
|
||||
|
|
@ -67,7 +44,11 @@ elif `$CC -v 2>&1 | grep 'gcc version' >/dev/null 2>&1`; then
|
|||
NGX_CC_NAME=gcc
|
||||
echo " + using GNU C compiler"
|
||||
|
||||
elif `$CC -v 2>&1 | grep '\(clang\|LLVM\) version' >/dev/null 2>&1`; then
|
||||
elif `$CC -v 2>&1 | grep 'clang version' >/dev/null 2>&1`; then
|
||||
NGX_CC_NAME=clang
|
||||
echo " + using Clang C compiler"
|
||||
|
||||
elif `$CC -v 2>&1 | grep 'LLVM version' >/dev/null 2>&1`; then
|
||||
NGX_CC_NAME=clang
|
||||
echo " + using Clang C compiler"
|
||||
|
||||
|
|
|
|||
|
|
@ -84,7 +84,6 @@ ngx_include_opt="-i="
|
|||
ngx_objout="-fo"
|
||||
ngx_binout="-fe="
|
||||
ngx_objext="obj"
|
||||
ngx_binext=".exe"
|
||||
|
||||
ngx_regex_dirsep='\\'
|
||||
ngx_dirsep="\\"
|
||||
|
|
|
|||
17
auto/cc/sunc
17
auto/cc/sunc
|
|
@ -8,7 +8,10 @@
|
|||
# Sun C 5.9 SunOS_i386 2007/05/03 Sun Studio 12
|
||||
# Sun C 5.9 SunOS_sparc 2007/05/03
|
||||
# Sun C 5.10 SunOS_i386 2009/06/03 Sun Studio 12.1
|
||||
# Sun C 5.11 SunOS_i386 2010/08/13 Sun Studio 12.2
|
||||
# Sun C 5.11 SunOS_i386 2010/08/13 Oracle Solaris Studio 12.2
|
||||
# Sun C 5.12 SunOS_i386 2011/11/16 Oracle Solaris Studio 12.3
|
||||
# Sun C 5.13 SunOS_i386 2014/10/20 Oracle Solaris Studio 12.4
|
||||
# Sun C 5.14 SunOS_i386 2016/05/31 Oracle Developer Studio 12.5
|
||||
|
||||
NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \
|
||||
| sed -e 's/^.* Sun C \(.*\)/\1/'`
|
||||
|
|
@ -20,7 +23,10 @@ have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define
|
|||
|
||||
cat << END > $NGX_AUTOTEST.c
|
||||
|
||||
int main() { printf("%d", __SUNPRO_C); }
|
||||
int main(void) {
|
||||
printf("%d", __SUNPRO_C);
|
||||
return 0;
|
||||
}
|
||||
|
||||
END
|
||||
|
||||
|
|
@ -57,6 +63,9 @@ case "$NGX_MACHINE" in
|
|||
|
||||
esac
|
||||
|
||||
MAIN_LINK=
|
||||
MODULE_LINK="-G"
|
||||
|
||||
|
||||
# optimizations
|
||||
|
||||
|
|
@ -142,10 +151,6 @@ if [ ".$PCRE_OPT" = "." ]; then
|
|||
PCRE_OPT="$ngx_fast $IPO $CPU_OPT"
|
||||
fi
|
||||
|
||||
if [ ".$MD5_OPT" = "." ]; then
|
||||
MD5_OPT="$ngx_fast $IPO $CPU_OPT"
|
||||
fi
|
||||
|
||||
if [ ".$ZLIB_OPT" = "." ]; then
|
||||
ZLIB_OPT="$ngx_fast $IPO $CPU_OPT"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -4,13 +4,18 @@
|
|||
|
||||
|
||||
echo $ngx_n "checking for system byte ordering ...$ngx_c"
|
||||
echo >> $NGX_ERR
|
||||
echo "checking for system byte ordering" >> $NGX_ERR
|
||||
|
||||
cat << END >> $NGX_AUTOCONF_ERR
|
||||
|
||||
----------------------------------------
|
||||
checking for system byte ordering
|
||||
|
||||
END
|
||||
|
||||
|
||||
cat << END > $NGX_AUTOTEST.c
|
||||
|
||||
int main() {
|
||||
int main(void) {
|
||||
int i = 0x11223344;
|
||||
char *p;
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ cat << END > $NGX_AUTOTEST.c
|
|||
$NGX_INCLUDE_UNISTD_H
|
||||
$ngx_feature_incs
|
||||
|
||||
int main() {
|
||||
int main(void) {
|
||||
$ngx_feature_test;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ cat << END > $NGX_AUTOTEST.c
|
|||
$NGX_INCLUDE_SYS_PARAM_H
|
||||
#include <$ngx_include>
|
||||
|
||||
int main() {
|
||||
int main(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -45,9 +45,6 @@ if [ -x $NGX_AUTOTEST ]; then
|
|||
|
||||
eval "NGX_INCLUDE_$ngx_name='#include <$ngx_include>'"
|
||||
|
||||
#STUB
|
||||
eval "NGX_$ngx_name='#include <$ngx_include>'"
|
||||
|
||||
else
|
||||
echo " not found"
|
||||
|
||||
|
|
|
|||
|
|
@ -48,4 +48,6 @@ default: build
|
|||
|
||||
clean:
|
||||
rm -rf Makefile $NGX_OBJS
|
||||
|
||||
.PHONY: default clean
|
||||
END
|
||||
|
|
|
|||
92
auto/install
92
auto/install
|
|
@ -3,7 +3,7 @@
|
|||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
if [ $USE_PERL = YES ]; then
|
||||
if [ $USE_PERL != NO ]; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
|
|
@ -20,16 +20,24 @@ case ".$NGX_SBIN_PATH" in
|
|||
./*)
|
||||
;;
|
||||
|
||||
.)
|
||||
NGX_SBIN_PATH=$NGX_PREFIX/sbin/nginx
|
||||
;;
|
||||
|
||||
*)
|
||||
NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
case ".$NGX_MODULES_PATH" in
|
||||
./*)
|
||||
;;
|
||||
|
||||
*)
|
||||
NGX_MODULES_PATH=$NGX_PREFIX/$NGX_MODULES_PATH
|
||||
;;
|
||||
esac
|
||||
|
||||
NGX_MODULES_PATH=`dirname $NGX_MODULES_PATH/.`
|
||||
|
||||
|
||||
case ".$NGX_CONF_PATH" in
|
||||
./*)
|
||||
;;
|
||||
|
|
@ -96,58 +104,57 @@ $NGX_OBJS/nginx.8: $NGX_MAN $NGX_AUTO_CONFIG_H
|
|||
-e "s|%%ERROR_LOG_PATH%%|${NGX_ERROR_LOG_PATH:-stderr}|" \\
|
||||
< $NGX_MAN > \$@
|
||||
|
||||
install: $NGX_OBJS${ngx_dirsep}nginx${ngx_binext} \
|
||||
$NGX_INSTALL_PERL_MODULES
|
||||
install: build $NGX_INSTALL_PERL_MODULES
|
||||
test -d '\$(DESTDIR)$NGX_PREFIX' || mkdir -p '\$(DESTDIR)$NGX_PREFIX'
|
||||
|
||||
test -d '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`' \
|
||||
test -d '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`' \\
|
||||
|| mkdir -p '\$(DESTDIR)`dirname "$NGX_SBIN_PATH"`'
|
||||
test ! -f '\$(DESTDIR)$NGX_SBIN_PATH' \
|
||||
|| mv '\$(DESTDIR)$NGX_SBIN_PATH' \
|
||||
test ! -f '\$(DESTDIR)$NGX_SBIN_PATH' \\
|
||||
|| mv '\$(DESTDIR)$NGX_SBIN_PATH' \\
|
||||
'\$(DESTDIR)$NGX_SBIN_PATH.old'
|
||||
cp $NGX_OBJS/nginx '\$(DESTDIR)$NGX_SBIN_PATH'
|
||||
cp $NGX_OBJS/nginx$ngx_binext '\$(DESTDIR)$NGX_SBIN_PATH'
|
||||
|
||||
test -d '\$(DESTDIR)$NGX_CONF_PREFIX' \
|
||||
test -d '\$(DESTDIR)$NGX_CONF_PREFIX' \\
|
||||
|| mkdir -p '\$(DESTDIR)$NGX_CONF_PREFIX'
|
||||
|
||||
cp conf/koi-win '\$(DESTDIR)$NGX_CONF_PREFIX'
|
||||
cp conf/koi-utf '\$(DESTDIR)$NGX_CONF_PREFIX'
|
||||
cp conf/win-utf '\$(DESTDIR)$NGX_CONF_PREFIX'
|
||||
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types' \
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types' \\
|
||||
|| cp conf/mime.types '\$(DESTDIR)$NGX_CONF_PREFIX'
|
||||
cp conf/mime.types '\$(DESTDIR)$NGX_CONF_PREFIX/mime.types.default'
|
||||
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params' \
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params' \\
|
||||
|| cp conf/fastcgi_params '\$(DESTDIR)$NGX_CONF_PREFIX'
|
||||
cp conf/fastcgi_params \
|
||||
cp conf/fastcgi_params \\
|
||||
'\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi_params.default'
|
||||
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf' \
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf' \\
|
||||
|| cp conf/fastcgi.conf '\$(DESTDIR)$NGX_CONF_PREFIX'
|
||||
cp conf/fastcgi.conf '\$(DESTDIR)$NGX_CONF_PREFIX/fastcgi.conf.default'
|
||||
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params' \
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params' \\
|
||||
|| cp conf/uwsgi_params '\$(DESTDIR)$NGX_CONF_PREFIX'
|
||||
cp conf/uwsgi_params \
|
||||
cp conf/uwsgi_params \\
|
||||
'\$(DESTDIR)$NGX_CONF_PREFIX/uwsgi_params.default'
|
||||
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params' \
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params' \\
|
||||
|| cp conf/scgi_params '\$(DESTDIR)$NGX_CONF_PREFIX'
|
||||
cp conf/scgi_params \
|
||||
cp conf/scgi_params \\
|
||||
'\$(DESTDIR)$NGX_CONF_PREFIX/scgi_params.default'
|
||||
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PATH' \
|
||||
test -f '\$(DESTDIR)$NGX_CONF_PATH' \\
|
||||
|| cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PATH'
|
||||
cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PREFIX/nginx.conf.default'
|
||||
|
||||
test -d '\$(DESTDIR)`dirname "$NGX_PID_PATH"`' \
|
||||
test -d '\$(DESTDIR)`dirname "$NGX_PID_PATH"`' \\
|
||||
|| mkdir -p '\$(DESTDIR)`dirname "$NGX_PID_PATH"`'
|
||||
|
||||
test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' || \
|
||||
mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
|
||||
test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' \\
|
||||
|| mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
|
||||
|
||||
test -d '\$(DESTDIR)$NGX_PREFIX/html' \
|
||||
test -d '\$(DESTDIR)$NGX_PREFIX/html' \\
|
||||
|| cp -R $NGX_HTML '\$(DESTDIR)$NGX_PREFIX'
|
||||
END
|
||||
|
||||
|
|
@ -155,24 +162,51 @@ END
|
|||
if test -n "$NGX_ERROR_LOG_PATH"; then
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
test -d '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' || \
|
||||
mkdir -p '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`'
|
||||
test -d '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' \\
|
||||
|| mkdir -p '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`'
|
||||
END
|
||||
|
||||
fi
|
||||
|
||||
|
||||
if test -n "$DYNAMIC_MODULES"; then
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
test -d '\$(DESTDIR)$NGX_MODULES_PATH' \\
|
||||
|| mkdir -p '\$(DESTDIR)$NGX_MODULES_PATH'
|
||||
END
|
||||
|
||||
fi
|
||||
|
||||
|
||||
for ngx_module in $DYNAMIC_MODULES
|
||||
do
|
||||
ngx_module=$ngx_module$ngx_modext
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
test ! -f '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \\
|
||||
|| mv '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module' \\
|
||||
'\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module.old'
|
||||
cp $NGX_OBJS/$ngx_module '\$(DESTDIR)$NGX_MODULES_PATH/$ngx_module'
|
||||
END
|
||||
|
||||
done
|
||||
|
||||
|
||||
# create Makefile
|
||||
|
||||
cat << END >> Makefile
|
||||
|
||||
build:
|
||||
\$(MAKE) -f $NGX_MAKEFILE
|
||||
\$(MAKE) -f $NGX_MAKEFILE manpage
|
||||
|
||||
install:
|
||||
\$(MAKE) -f $NGX_MAKEFILE install
|
||||
|
||||
modules:
|
||||
\$(MAKE) -f $NGX_MAKEFILE modules
|
||||
|
||||
upgrade:
|
||||
$NGX_SBIN_PATH -t
|
||||
|
||||
|
|
@ -181,4 +215,6 @@ upgrade:
|
|||
test -f $NGX_PID_PATH.oldbin
|
||||
|
||||
kill -QUIT \`cat $NGX_PID_PATH.oldbin\`
|
||||
|
||||
.PHONY: build install modules upgrade
|
||||
END
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ if [ $USE_PCRE = YES -o $PCRE != NONE ]; then
|
|||
. auto/lib/pcre/conf
|
||||
|
||||
else
|
||||
if [ $USE_PCRE = DISABLED -a $HTTP_REWRITE = YES ]; then
|
||||
if [ $USE_PCRE = DISABLED -a $HTTP = YES -a $HTTP_REWRITE = YES ]; then
|
||||
|
||||
cat << END
|
||||
|
||||
|
|
@ -25,52 +25,23 @@ if [ $USE_OPENSSL = YES ]; then
|
|||
. auto/lib/openssl/conf
|
||||
fi
|
||||
|
||||
if [ $USE_MD5 = YES ]; then
|
||||
|
||||
if [ $USE_OPENSSL = YES ]; then
|
||||
have=NGX_HAVE_OPENSSL_MD5_H . auto/have
|
||||
have=NGX_OPENSSL_MD5 . auto/have
|
||||
have=NGX_HAVE_MD5 . auto/have
|
||||
MD5=YES
|
||||
MD5_LIB=OpenSSL
|
||||
|
||||
else
|
||||
. auto/lib/md5/conf
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ $USE_SHA1 = YES ]; then
|
||||
|
||||
if [ $USE_OPENSSL = YES ]; then
|
||||
have=NGX_HAVE_OPENSSL_SHA1_H . auto/have
|
||||
have=NGX_HAVE_SHA1 . auto/have
|
||||
SHA1=YES
|
||||
SHA1_LIB=OpenSSL
|
||||
|
||||
else
|
||||
. auto/lib/sha1/conf
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ $USE_ZLIB = YES ]; then
|
||||
. auto/lib/zlib/conf
|
||||
fi
|
||||
|
||||
if [ $USE_LIBXSLT = YES ]; then
|
||||
if [ $USE_LIBXSLT != NO ]; then
|
||||
. auto/lib/libxslt/conf
|
||||
fi
|
||||
|
||||
if [ $USE_LIBGD = YES ]; then
|
||||
if [ $USE_LIBGD != NO ]; then
|
||||
. auto/lib/libgd/conf
|
||||
fi
|
||||
|
||||
if [ $USE_PERL = YES ]; then
|
||||
if [ $USE_PERL != NO ]; then
|
||||
. auto/lib/perl/conf
|
||||
fi
|
||||
|
||||
if [ $HTTP_GEOIP = YES ]; then
|
||||
if [ $USE_GEOIP != NO ]; then
|
||||
. auto/lib/geoip/conf
|
||||
fi
|
||||
|
||||
|
|
|
|||
|
|
@ -64,23 +64,43 @@ if [ $ngx_found = no ]; then
|
|||
fi
|
||||
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# Homebrew on Apple Silicon
|
||||
|
||||
ngx_feature="GeoIP library in /opt/homebrew/"
|
||||
ngx_feature_path="/opt/homebrew/include"
|
||||
|
||||
if [ $NGX_RPATH = YES ]; then
|
||||
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lGeoIP"
|
||||
else
|
||||
ngx_feature_libs="-L/opt/homebrew/lib -lGeoIP"
|
||||
fi
|
||||
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
|
||||
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
|
||||
if [ $NGX_IPV6 = YES ]; then
|
||||
ngx_feature="GeoIP IPv6 support"
|
||||
ngx_feature_name="NGX_HAVE_GEOIP_V6"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <stdio.h>
|
||||
#include <GeoIP.h>"
|
||||
#ngx_feature_path=
|
||||
#ngx_feature_libs=
|
||||
ngx_feature_test="printf(\"%d\", GEOIP_CITY_EDITION_REV0_V6);"
|
||||
. auto/feature
|
||||
if [ $USE_GEOIP = YES ]; then
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
fi
|
||||
|
||||
NGX_LIB_GEOIP=$ngx_feature_libs
|
||||
|
||||
ngx_feature="GeoIP IPv6 support"
|
||||
ngx_feature_name="NGX_HAVE_GEOIP_V6"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <stdio.h>
|
||||
#include <GeoIP.h>"
|
||||
#ngx_feature_path=
|
||||
#ngx_feature_libs=
|
||||
ngx_feature_test="printf(\"%d\", GEOIP_CITY_EDITION_REV0_V6);"
|
||||
. auto/feature
|
||||
|
||||
else
|
||||
|
||||
cat << END
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@
|
|||
ngx_feature_incs=
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs="-lprofiler"
|
||||
ngx_feature_test="ProfilerStop()"
|
||||
ngx_feature_test="void ProfilerStop(void);
|
||||
ProfilerStop()"
|
||||
. auto/feature
|
||||
|
||||
|
||||
|
|
@ -45,6 +46,22 @@ if [ $ngx_found = no ]; then
|
|||
fi
|
||||
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# Homebrew on Apple Silicon
|
||||
|
||||
ngx_feature="Google perftools in /opt/homebrew/"
|
||||
|
||||
if [ $NGX_RPATH = YES ]; then
|
||||
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lprofiler"
|
||||
else
|
||||
ngx_feature_libs="-L/opt/homebrew/lib -lprofiler"
|
||||
fi
|
||||
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
|
||||
|
|
@ -52,7 +69,7 @@ else
|
|||
|
||||
cat << END
|
||||
|
||||
$0: error: the Google perftool module requires the Google perftools
|
||||
$0: error: the Google perftools module requires the Google perftools
|
||||
library. You can either do not enable the module or install the library.
|
||||
|
||||
END
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ if [ $NGX_LIBATOMIC != YES ]; then
|
|||
|
||||
have=NGX_HAVE_LIBATOMIC . auto/have
|
||||
CORE_INCS="$CORE_INCS $NGX_LIBATOMIC/src"
|
||||
LINK_DEPS="$LINK_DEPS $NGX_LIBATOMIC/src/libatomic_ops.a"
|
||||
CORE_LIBS="$CORE_LIBS $NGX_LIBATOMIC/src/libatomic_ops.a"
|
||||
LINK_DEPS="$LINK_DEPS $NGX_LIBATOMIC/build/lib/libatomic_ops.a"
|
||||
CORE_LIBS="$CORE_LIBS $NGX_LIBATOMIC/build/lib/libatomic_ops.a"
|
||||
|
||||
else
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ else
|
|||
#include <atomic_ops.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs="-latomic_ops"
|
||||
ngx_feature_test="long n = 0;
|
||||
ngx_feature_test="AO_t n = 0;
|
||||
if (!AO_compare_and_swap(&n, 0, 1))
|
||||
return 1;
|
||||
if (AO_fetch_and_add(&n, 1) != 1)
|
||||
|
|
|
|||
|
|
@ -3,14 +3,19 @@
|
|||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
case $NGX_LIBATOMIC in
|
||||
/*) ngx_prefix="$NGX_LIBATOMIC/build" ;;
|
||||
*) ngx_prefix="$PWD/$NGX_LIBATOMIC/build" ;;
|
||||
esac
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$NGX_LIBATOMIC/src/libatomic_ops.a: $NGX_LIBATOMIC/Makefile
|
||||
cd $NGX_LIBATOMIC && \$(MAKE)
|
||||
$NGX_LIBATOMIC/build/lib/libatomic_ops.a: $NGX_LIBATOMIC/Makefile
|
||||
cd $NGX_LIBATOMIC && \$(MAKE) && \$(MAKE) install
|
||||
|
||||
$NGX_LIBATOMIC/Makefile: $NGX_MAKEFILE
|
||||
cd $NGX_LIBATOMIC \\
|
||||
&& if [ -f Makefile ]; then \$(MAKE) distclean; fi \\
|
||||
&& ./configure
|
||||
&& ./configure --prefix=$ngx_prefix
|
||||
|
||||
END
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@
|
|||
ngx_feature_incs="#include <gd.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs="-lgd"
|
||||
ngx_feature_test="gdImagePtr img = gdImageCreateFromGifPtr(1, NULL);"
|
||||
ngx_feature_test="gdImagePtr img = gdImageCreateFromGifPtr(1, NULL);
|
||||
(void) img"
|
||||
. auto/feature
|
||||
|
||||
|
||||
|
|
@ -64,10 +65,38 @@ if [ $ngx_found = no ]; then
|
|||
fi
|
||||
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# Homebrew on Apple Silicon
|
||||
|
||||
ngx_feature="GD library in /opt/homebrew/"
|
||||
ngx_feature_path="/opt/homebrew/include"
|
||||
|
||||
if [ $NGX_RPATH = YES ]; then
|
||||
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lgd"
|
||||
else
|
||||
ngx_feature_libs="-L/opt/homebrew/lib -lgd"
|
||||
fi
|
||||
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
|
||||
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
|
||||
if [ $USE_LIBGD = YES ]; then
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
fi
|
||||
|
||||
NGX_LIB_LIBGD=$ngx_feature_libs
|
||||
|
||||
ngx_feature="GD WebP support"
|
||||
ngx_feature_name="NGX_HAVE_GD_WEBP"
|
||||
ngx_feature_test="gdImagePtr img = gdImageCreateFromWebpPtr(1, NULL);
|
||||
(void) img"
|
||||
. auto/feature
|
||||
|
||||
else
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@
|
|||
ngx_feature_libs="-lxml2 -lxslt"
|
||||
ngx_feature_test="xmlParserCtxtPtr ctxt = NULL;
|
||||
xsltStylesheetPtr sheet = NULL;
|
||||
xmlDocPtr doc;
|
||||
doc = xmlParseChunk(ctxt, NULL, 0, 0);
|
||||
xmlDocPtr doc = NULL;
|
||||
xmlParseChunk(ctxt, NULL, 0, 0);
|
||||
xsltApplyStylesheet(sheet, doc, NULL);"
|
||||
. auto/feature
|
||||
|
||||
|
|
@ -76,7 +76,12 @@ fi
|
|||
if [ $ngx_found = yes ]; then
|
||||
|
||||
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
|
||||
if [ $USE_LIBXSLT = YES ]; then
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
fi
|
||||
|
||||
NGX_LIB_LIBXSLT=$ngx_feature_libs
|
||||
|
||||
else
|
||||
|
||||
|
|
@ -152,5 +157,9 @@ fi
|
|||
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_LIBS="$CORE_LIBS -lexslt"
|
||||
if [ $USE_LIBXSLT = YES ]; then
|
||||
CORE_LIBS="$CORE_LIBS -lexslt"
|
||||
fi
|
||||
|
||||
NGX_LIB_LIBXSLT="$NGX_LIB_LIBXSLT -lexslt"
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -7,14 +7,6 @@ if [ $PCRE != NONE -a $PCRE != NO -a $PCRE != YES ]; then
|
|||
. auto/lib/pcre/make
|
||||
fi
|
||||
|
||||
if [ $MD5 != NONE -a $MD5 != NO -a $MD5 != YES ]; then
|
||||
. auto/lib/md5/make
|
||||
fi
|
||||
|
||||
if [ $SHA1 != NONE -a $SHA1 != NO -a $SHA1 != YES ]; then
|
||||
. auto/lib/sha1/make
|
||||
fi
|
||||
|
||||
if [ $OPENSSL != NONE -a $OPENSSL != NO -a $OPENSSL != YES ]; then
|
||||
. auto/lib/openssl/make
|
||||
fi
|
||||
|
|
@ -27,6 +19,6 @@ if [ $NGX_LIBATOMIC != NO -a $NGX_LIBATOMIC != YES ]; then
|
|||
. auto/lib/libatomic/make
|
||||
fi
|
||||
|
||||
if [ $USE_PERL = YES ]; then
|
||||
if [ $USE_PERL != NO ]; then
|
||||
. auto/lib/perl/make
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,103 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
if [ $MD5 != NONE ]; then
|
||||
|
||||
if grep MD5_Init $MD5/md5.h 2>&1 >/dev/null; then
|
||||
# OpenSSL md5
|
||||
OPENSSL_MD5=YES
|
||||
have=NGX_HAVE_OPENSSL_MD5 . auto/have
|
||||
have=NGX_OPENSSL_MD5 . auto/have
|
||||
else
|
||||
# rsaref md5
|
||||
OPENSSL_MD5=NO
|
||||
fi
|
||||
|
||||
have=NGX_HAVE_MD5 . auto/have
|
||||
CORE_INCS="$CORE_INCS $MD5"
|
||||
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
msvc* | owc* | bcc)
|
||||
LINK_DEPS="$LINK_DEPS $MD5/md5.lib"
|
||||
CORE_LIBS="$CORE_LIBS $MD5/md5.lib"
|
||||
;;
|
||||
|
||||
icc*)
|
||||
LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
|
||||
|
||||
# to allow -ipo optimization we link with the *.o but not library
|
||||
CORE_LIBS="$CORE_LIBS $MD5/md5_dgst.o"
|
||||
|
||||
if [ $MD5_ASM = YES ]; then
|
||||
CORE_LIBS="$CORE_LIBS $MD5/asm/mx86-elf.o"
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
|
||||
CORE_LIBS="$CORE_LIBS $MD5/libmd5.a"
|
||||
#CORE_LIBS="$CORE_LIBS -L $MD5 -lmd5"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
else
|
||||
|
||||
if [ "$NGX_PLATFORM" != win32 ]; then
|
||||
|
||||
MD5=NO
|
||||
|
||||
# FreeBSD, Solaris 10
|
||||
|
||||
ngx_feature="md5 in system md library"
|
||||
ngx_feature_name=NGX_HAVE_MD5
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <md5.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs="-lmd"
|
||||
ngx_feature_test="MD5_CTX md5; MD5Init(&md5)"
|
||||
. auto/feature
|
||||
|
||||
ngx_md5_lib="system md"
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# Solaris 8/9
|
||||
|
||||
ngx_feature="md5 in system md5 library"
|
||||
ngx_feature_libs="-lmd5"
|
||||
. auto/feature
|
||||
|
||||
ngx_md5_lib="system md5"
|
||||
fi
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# OpenSSL crypto library
|
||||
|
||||
ngx_feature="md5 in system OpenSSL crypto library"
|
||||
ngx_feature_name="NGX_OPENSSL_MD5"
|
||||
ngx_feature_incs="#include <openssl/md5.h>"
|
||||
ngx_feature_libs="-lcrypto"
|
||||
ngx_feature_test="MD5_CTX md5; MD5_Init(&md5)"
|
||||
. auto/feature
|
||||
|
||||
ngx_md5_lib="system crypto"
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=NGX_HAVE_OPENSSL_MD5_H . auto/have
|
||||
have=NGX_HAVE_MD5 . auto/have
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
MD5=YES
|
||||
MD5_LIB=$ngx_md5_lib
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
msvc*)
|
||||
ngx_makefile=makefile.msvc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC MD5_ASM=$MD5_ASM"
|
||||
ngx_md5="MD5=\"$MD5\""
|
||||
;;
|
||||
|
||||
owc*)
|
||||
ngx_makefile=makefile.owc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\""
|
||||
ngx_md5=`echo MD5=\"$MD5\" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
|
||||
bcc)
|
||||
ngx_makefile=makefile.bcc
|
||||
ngx_opt="-DCPU_OPT=\"$CPU_OPT\" -DMD5_ASM=$MD5_ASM"
|
||||
ngx_md5=`echo \-DMD5=\"$MD5\" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
done=NO
|
||||
|
||||
|
||||
case "$NGX_PLATFORM" in
|
||||
|
||||
win32)
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
`echo "$MD5/md5.lib: $NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
\$(MAKE) -f auto/lib/md5/$ngx_makefile $ngx_opt $ngx_md5
|
||||
|
||||
END
|
||||
|
||||
done=YES
|
||||
;;
|
||||
|
||||
SunOS:*:i86pc)
|
||||
if [ $MD5_ASM = YES ]; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$MD5/libmd5.a: $NGX_MAKEFILE
|
||||
cd $MD5 \\
|
||||
&& \$(MAKE) CFLAGS="$MD5_OPT -DSOL -DMD5_ASM -DL_ENDIAN" \\
|
||||
CC="\$(CC)" CPP="\$(CPP)" \\
|
||||
MD5_ASM_OBJ=asm/mx86-sol.o clean libmd5.a
|
||||
|
||||
END
|
||||
|
||||
done=YES
|
||||
fi
|
||||
;;
|
||||
|
||||
# FreeBSD: i386
|
||||
# Linux: i686
|
||||
|
||||
*:i386 | *:i686)
|
||||
if [ $MD5_ASM = YES ]; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$MD5/libmd5.a: $NGX_MAKEFILE
|
||||
cd $MD5 \\
|
||||
&& \$(MAKE) CFLAGS="$MD5_OPT -DELF -DMD5_ASM -DL_ENDIAN" \\
|
||||
CC="\$(CC)" CPP="\$(CPP)" \\
|
||||
MD5_ASM_OBJ=asm/mx86-elf.o clean libmd5.a
|
||||
|
||||
END
|
||||
|
||||
done=YES
|
||||
fi
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
if [ $done = NO ]; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$MD5/libmd5.a: $NGX_MAKEFILE
|
||||
cd $MD5 \\
|
||||
&& \$(MAKE) CFLAGS="$MD5_OPT" \\
|
||||
CC="\$(CC)" MD5_ASM_OBJ= clean libmd5.a
|
||||
|
||||
END
|
||||
|
||||
fi
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
CFLAGS = -q -O2 -tWM $(CPU_OPT) -DL_ENDIAN
|
||||
|
||||
!if "$(MD5_ASM)" == "YES"
|
||||
|
||||
md5.lib:
|
||||
cd $(MD5)
|
||||
bcc32 -c $(CFLAGS) -DMD5_ASM md5_dgst.c
|
||||
tlib md5.lib +md5_dgst.obj +"asm\m-win32.obj"
|
||||
|
||||
!else
|
||||
|
||||
md5.lib:
|
||||
cd $(MD5)
|
||||
bcc32 -c $(CFLAGS) md5_dgst.c
|
||||
tlib md5.lib +md5_dgst.obj
|
||||
|
||||
!endif
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
CFLAGS = -nologo -O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT) -D L_ENDIAN
|
||||
|
||||
!IF "$(MD5_ASM)" == "YES"
|
||||
|
||||
md5.lib:
|
||||
cd $(MD5)
|
||||
cl -c $(CFLAGS) -D MD5_ASM md5_dgst.c
|
||||
link -lib -out:md5.lib md5_dgst.obj asm/m-win32.obj
|
||||
|
||||
!ELSE
|
||||
|
||||
md5.lib:
|
||||
cd $(MD5)
|
||||
cl -c $(CFLAGS) md5_dgst.c
|
||||
link -lib -out:md5.lib md5_dgst.obj
|
||||
|
||||
!ENDIF
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
CFLAGS = -zq -bt=nt -bm -ot -op -oi -oe -s $(CPU_OPT)
|
||||
|
||||
md5.lib:
|
||||
cd $(MD5)
|
||||
wcl386 -c $(CFLAGS) -dL_ENDIAN md5_dgst.c
|
||||
wlib -n md5.lib md5_dgst.obj
|
||||
|
|
@ -5,18 +5,33 @@
|
|||
|
||||
if [ $OPENSSL != NONE ]; then
|
||||
|
||||
have=NGX_OPENSSL . auto/have
|
||||
have=NGX_SSL . auto/have
|
||||
|
||||
have=NGX_OPENSSL_NO_CONFIG . auto/have
|
||||
|
||||
if [ $USE_OPENSSL_QUIC = YES ]; then
|
||||
have=NGX_QUIC . auto/have
|
||||
have=NGX_QUIC_OPENSSL_COMPAT . auto/have
|
||||
fi
|
||||
|
||||
case "$CC" in
|
||||
|
||||
cl | bcc32)
|
||||
have=NGX_OPENSSL . auto/have
|
||||
have=NGX_SSL . auto/have
|
||||
|
||||
CFLAGS="$CFLAGS -DNO_SYS_TYPES_H"
|
||||
|
||||
CORE_INCS="$CORE_INCS $OPENSSL/openssl/include"
|
||||
CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h"
|
||||
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib"
|
||||
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib"
|
||||
|
||||
if [ -f $OPENSSL/ms/do_ms.bat ]; then
|
||||
# before OpenSSL 1.1.0
|
||||
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib"
|
||||
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib"
|
||||
else
|
||||
# OpenSSL 1.1.0+
|
||||
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib"
|
||||
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib"
|
||||
fi
|
||||
|
||||
# libeay32.lib requires gdi32.lib
|
||||
CORE_LIBS="$CORE_LIBS gdi32.lib"
|
||||
|
|
@ -25,14 +40,12 @@ if [ $OPENSSL != NONE ]; then
|
|||
;;
|
||||
|
||||
*)
|
||||
have=NGX_OPENSSL . auto/have
|
||||
have=NGX_SSL . auto/have
|
||||
|
||||
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
|
||||
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
|
||||
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
|
||||
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
|
||||
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
|
||||
CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD"
|
||||
|
||||
if [ "$NGX_PLATFORM" = win32 ]; then
|
||||
CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32"
|
||||
|
|
@ -51,14 +64,116 @@ else
|
|||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <openssl/ssl.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs="-lssl -lcrypto"
|
||||
ngx_feature_test="SSL_library_init()"
|
||||
ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL $NGX_LIBPTHREAD"
|
||||
ngx_feature_test="SSL_CTX_set_options(NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# FreeBSD port
|
||||
|
||||
ngx_feature="OpenSSL library in /usr/local/"
|
||||
ngx_feature_path="/usr/local/include"
|
||||
|
||||
if [ $NGX_RPATH = YES ]; then
|
||||
ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto"
|
||||
else
|
||||
ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto"
|
||||
fi
|
||||
|
||||
ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
|
||||
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# NetBSD port
|
||||
|
||||
ngx_feature="OpenSSL library in /usr/pkg/"
|
||||
ngx_feature_path="/usr/pkg/include"
|
||||
|
||||
if [ $NGX_RPATH = YES ]; then
|
||||
ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto"
|
||||
else
|
||||
ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto"
|
||||
fi
|
||||
|
||||
ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
|
||||
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# MacPorts
|
||||
|
||||
ngx_feature="OpenSSL library in /opt/local/"
|
||||
ngx_feature_path="/opt/local/include"
|
||||
|
||||
if [ $NGX_RPATH = YES ]; then
|
||||
ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto"
|
||||
else
|
||||
ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto"
|
||||
fi
|
||||
|
||||
ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
|
||||
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# Homebrew on Apple Silicon
|
||||
|
||||
ngx_feature="OpenSSL library in /opt/homebrew/"
|
||||
ngx_feature_path="/opt/homebrew/include"
|
||||
|
||||
if [ $NGX_RPATH = YES ]; then
|
||||
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lssl -lcrypto"
|
||||
else
|
||||
ngx_feature_libs="-L/opt/homebrew/lib -lssl -lcrypto"
|
||||
fi
|
||||
|
||||
ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD"
|
||||
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=NGX_SSL . auto/have
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs $NGX_LIBDL"
|
||||
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
OPENSSL=YES
|
||||
|
||||
if [ $USE_OPENSSL_QUIC = YES ]; then
|
||||
|
||||
ngx_feature="OpenSSL QUIC support"
|
||||
ngx_feature_name="NGX_QUIC"
|
||||
ngx_feature_test="SSL_set_quic_method(NULL, NULL)"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
have=NGX_QUIC_OPENSSL_COMPAT . auto/have
|
||||
|
||||
ngx_feature="OpenSSL QUIC compatibility"
|
||||
ngx_feature_test="SSL_CTX_add_custom_ext(NULL, 0, 0,
|
||||
NULL, NULL, NULL, NULL, NULL)"
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
cat << END
|
||||
|
||||
$0: error: certain modules require OpenSSL QUIC support.
|
||||
You can either do not enable the modules, or install the OpenSSL library with
|
||||
QUIC support into the system, or build the OpenSSL library with QUIC support
|
||||
statically from the source with nginx by using --with-openssl=<path> option.
|
||||
|
||||
END
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
|||
|
|
@ -7,11 +7,24 @@ case "$CC" in
|
|||
|
||||
cl)
|
||||
|
||||
case "$NGX_MACHINE" in
|
||||
|
||||
amd64)
|
||||
OPENSSL_TARGET=VC-WIN64A
|
||||
;;
|
||||
|
||||
*)
|
||||
OPENSSL_TARGET=VC-WIN32
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$OPENSSL/openssl/include/openssl/ssl.h: $NGX_MAKEFILE
|
||||
\$(MAKE) -f auto/lib/openssl/makefile.msvc \
|
||||
OPENSSL="$OPENSSL" OPENSSL_OPT="$OPENSSL_OPT"
|
||||
OPENSSL="$OPENSSL" OPENSSL_OPT="$OPENSSL_OPT" \
|
||||
OPENSSL_TARGET="$OPENSSL_TARGET"
|
||||
|
||||
END
|
||||
|
||||
|
|
@ -41,11 +54,6 @@ END
|
|||
;;
|
||||
|
||||
*)
|
||||
case $USE_THREADS in
|
||||
NO) OPENSSL_OPT="$OPENSSL_OPT no-threads" ;;
|
||||
*) OPENSSL_OPT="$OPENSSL_OPT threads" ;;
|
||||
esac
|
||||
|
||||
case $OPENSSL in
|
||||
/*) ngx_prefix="$OPENSSL/.openssl" ;;
|
||||
*) ngx_prefix="$PWD/$OPENSSL/.openssl" ;;
|
||||
|
|
@ -56,9 +64,9 @@ END
|
|||
$OPENSSL/.openssl/include/openssl/ssl.h: $NGX_MAKEFILE
|
||||
cd $OPENSSL \\
|
||||
&& if [ -f Makefile ]; then \$(MAKE) clean; fi \\
|
||||
&& ./config --prefix=$ngx_prefix no-shared $OPENSSL_OPT \\
|
||||
&& ./config --prefix=$ngx_prefix no-shared no-threads $OPENSSL_OPT \\
|
||||
&& \$(MAKE) \\
|
||||
&& \$(MAKE) install LIBDIR=lib
|
||||
&& \$(MAKE) install_sw LIBDIR=lib
|
||||
|
||||
END
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,16 @@
|
|||
all:
|
||||
cd $(OPENSSL)
|
||||
|
||||
perl Configure VC-WIN32 no-shared --prefix=openssl $(OPENSSL_OPT)
|
||||
perl Configure $(OPENSSL_TARGET) no-shared no-threads \
|
||||
--prefix="%cd%/openssl" \
|
||||
--openssldir="%cd%/openssl/ssl" \
|
||||
$(OPENSSL_OPT)
|
||||
|
||||
ms\do_ms
|
||||
|
||||
$(MAKE) -f ms\nt.mak
|
||||
$(MAKE) -f ms\nt.mak install
|
||||
if exist ms\do_ms.bat ( \
|
||||
ms\do_ms \
|
||||
&& $(MAKE) -f ms\nt.mak \
|
||||
&& $(MAKE) -f ms\nt.mak install \
|
||||
) else ( \
|
||||
$(MAKE) \
|
||||
&& $(MAKE) install_sw \
|
||||
)
|
||||
|
|
|
|||
|
|
@ -4,87 +4,62 @@
|
|||
|
||||
|
||||
if [ $PCRE != NONE ]; then
|
||||
CORE_INCS="$CORE_INCS $PCRE"
|
||||
|
||||
case "$NGX_CC_NAME" in
|
||||
if [ -f $PCRE/src/pcre2.h.generic ]; then
|
||||
|
||||
msvc* | owc* | bcc)
|
||||
have=NGX_PCRE . auto/have
|
||||
PCRE_LIBRARY=PCRE2
|
||||
|
||||
have=NGX_PCRE . auto/have
|
||||
have=NGX_PCRE2 . auto/have
|
||||
|
||||
if [ "$NGX_PLATFORM" = win32 ]; then
|
||||
have=PCRE2_STATIC . auto/have
|
||||
fi
|
||||
|
||||
CORE_INCS="$CORE_INCS $PCRE/src/"
|
||||
CORE_DEPS="$CORE_DEPS $PCRE/src/pcre2.h"
|
||||
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
msvc)
|
||||
LINK_DEPS="$LINK_DEPS $PCRE/src/pcre2-8.lib"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/src/pcre2-8.lib"
|
||||
;;
|
||||
|
||||
*)
|
||||
LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre2-8.a"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre2-8.a"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
else
|
||||
|
||||
PCRE_LIBRARY=PCRE
|
||||
|
||||
have=NGX_PCRE . auto/have
|
||||
|
||||
if [ "$NGX_PLATFORM" = win32 ]; then
|
||||
have=PCRE_STATIC . auto/have
|
||||
CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
|
||||
LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib"
|
||||
;;
|
||||
fi
|
||||
|
||||
icc* )
|
||||
have=NGX_PCRE . auto/have
|
||||
CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
|
||||
CORE_INCS="$CORE_INCS $PCRE"
|
||||
CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
|
||||
|
||||
LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
echo $ngx_n "checking for PCRE library ...$ngx_c"
|
||||
msvc | owc | bcc)
|
||||
LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib"
|
||||
;;
|
||||
|
||||
if [ -f $PCRE/pcre.h ]; then
|
||||
ngx_pcre_ver=`grep PCRE_MAJOR $PCRE/pcre.h \
|
||||
| sed -e 's/^.*PCRE_MAJOR.* \(.*\)$/\1/'`
|
||||
|
||||
else if [ -f $PCRE/configure.in ]; then
|
||||
ngx_pcre_ver=`grep PCRE_MAJOR= $PCRE/configure.in \
|
||||
| sed -e 's/^.*=\(.*\)$/\1/'`
|
||||
|
||||
else
|
||||
ngx_pcre_ver=`grep pcre_major, $PCRE/configure.ac \
|
||||
| sed -e 's/^.*pcre_major,.*\[\(.*\)\].*$/\1/'`
|
||||
fi
|
||||
fi
|
||||
|
||||
echo " $ngx_pcre_ver major version found"
|
||||
|
||||
# to allow -ipo optimization we link with the *.o but not library
|
||||
|
||||
case "$ngx_pcre_ver" in
|
||||
4|5)
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre.o"
|
||||
;;
|
||||
|
||||
6)
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o"
|
||||
;;
|
||||
|
||||
*)
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre_newline.o"
|
||||
;;
|
||||
|
||||
esac
|
||||
;;
|
||||
|
||||
*)
|
||||
have=NGX_PCRE . auto/have
|
||||
|
||||
if [ "$NGX_PLATFORM" = win32 ]; then
|
||||
have=PCRE_STATIC . auto/have
|
||||
fi
|
||||
|
||||
CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
|
||||
LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre.a"
|
||||
;;
|
||||
|
||||
esac
|
||||
*)
|
||||
LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre.a"
|
||||
;;
|
||||
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ $PCRE_JIT = YES ]; then
|
||||
have=NGX_HAVE_PCRE_JIT . auto/have
|
||||
|
|
@ -94,8 +69,48 @@ if [ $PCRE != NONE ]; then
|
|||
else
|
||||
|
||||
if [ "$NGX_PLATFORM" != win32 ]; then
|
||||
|
||||
PCRE=NO
|
||||
fi
|
||||
|
||||
if [ $PCRE = NO -a $PCRE2 != DISABLED ]; then
|
||||
|
||||
ngx_feature="PCRE2 library"
|
||||
ngx_feature_name="NGX_PCRE2"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#define PCRE2_CODE_UNIT_WIDTH 8
|
||||
#include <pcre2.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs="-lpcre2-8"
|
||||
ngx_feature_test="pcre2_code *re;
|
||||
re = pcre2_compile(NULL, 0, 0, NULL, NULL, NULL);
|
||||
if (re == NULL) return 1"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# pcre2-config
|
||||
|
||||
ngx_pcre2_prefix=`pcre2-config --prefix 2>/dev/null`
|
||||
|
||||
if [ -n "$ngx_pcre2_prefix" ]; then
|
||||
ngx_feature="PCRE2 library in $ngx_pcre2_prefix"
|
||||
ngx_feature_path=`pcre2-config --cflags \
|
||||
| sed -n -e 's/.*-I *\([^ ][^ ]*\).*/\1/p'`
|
||||
ngx_feature_libs=`pcre2-config --libs8`
|
||||
. auto/feature
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=NGX_PCRE . auto/have
|
||||
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
PCRE=YES
|
||||
PCRE_LIBRARY=PCRE2
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $PCRE = NO ]; then
|
||||
|
||||
ngx_feature="PCRE library"
|
||||
ngx_feature_name="NGX_PCRE"
|
||||
|
|
@ -167,10 +182,27 @@ else
|
|||
. auto/feature
|
||||
fi
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# Homebrew on Apple Silicon
|
||||
|
||||
ngx_feature="PCRE library in /opt/homebrew/"
|
||||
ngx_feature_path="/opt/homebrew/include"
|
||||
|
||||
if [ $NGX_RPATH = YES ]; then
|
||||
ngx_feature_libs="-R/opt/homebrew/lib -L/opt/homebrew/lib -lpcre"
|
||||
else
|
||||
ngx_feature_libs="-L/opt/homebrew/lib -lpcre"
|
||||
fi
|
||||
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
PCRE=YES
|
||||
PCRE_LIBRARY=PCRE
|
||||
fi
|
||||
|
||||
if [ $PCRE = YES ]; then
|
||||
|
|
|
|||
|
|
@ -3,36 +3,139 @@
|
|||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
case "$NGX_CC_NAME" in
|
||||
if [ $PCRE_LIBRARY = PCRE2 ]; then
|
||||
|
||||
msvc*)
|
||||
ngx_makefile=makefile.msvc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC"
|
||||
ngx_pcre="PCRE=\"$PCRE\""
|
||||
;;
|
||||
# PCRE2
|
||||
|
||||
owc*)
|
||||
ngx_makefile=makefile.owc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\""
|
||||
ngx_pcre=`echo PCRE=\"$PCRE\" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
if [ $NGX_CC_NAME = msvc ]; then
|
||||
|
||||
bcc)
|
||||
ngx_makefile=makefile.bcc
|
||||
ngx_opt="-DCPU_OPT=\"$CPU_OPT\""
|
||||
ngx_pcre=`echo \-DPCRE=\"$PCRE\" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
# With PCRE2, it is not possible to compile all sources.
|
||||
# Since list of source files changes between versions, we
|
||||
# test files which might not be present.
|
||||
|
||||
*)
|
||||
ngx_makefile=
|
||||
;;
|
||||
ngx_pcre_srcs="pcre2_auto_possess.c \
|
||||
pcre2_chartables.c \
|
||||
pcre2_compile.c \
|
||||
pcre2_config.c \
|
||||
pcre2_context.c \
|
||||
pcre2_dfa_match.c \
|
||||
pcre2_error.c \
|
||||
pcre2_jit_compile.c \
|
||||
pcre2_maketables.c \
|
||||
pcre2_match.c \
|
||||
pcre2_match_data.c \
|
||||
pcre2_newline.c \
|
||||
pcre2_ord2utf.c \
|
||||
pcre2_pattern_info.c \
|
||||
pcre2_string_utils.c \
|
||||
pcre2_study.c \
|
||||
pcre2_substitute.c \
|
||||
pcre2_substring.c \
|
||||
pcre2_tables.c \
|
||||
pcre2_ucd.c \
|
||||
pcre2_valid_utf.c \
|
||||
pcre2_xclass.c"
|
||||
|
||||
esac
|
||||
ngx_pcre_test="pcre2_chkdint.c \
|
||||
pcre2_convert.c \
|
||||
pcre2_extuni.c \
|
||||
pcre2_find_bracket.c \
|
||||
pcre2_script_run.c \
|
||||
pcre2_serialize.c"
|
||||
|
||||
for ngx_src in $ngx_pcre_test
|
||||
do
|
||||
if [ -f $PCRE/src/$ngx_src ]; then
|
||||
ngx_pcre_srcs="$ngx_pcre_srcs $ngx_src"
|
||||
fi
|
||||
done
|
||||
|
||||
ngx_pcre_objs=`echo $ngx_pcre_srcs \
|
||||
| sed -e "s#\([^ ]*\.\)c#\1$ngx_objext#g"`
|
||||
|
||||
ngx_pcre_srcs=`echo $ngx_pcre_srcs \
|
||||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g"`
|
||||
ngx_pcre_objs=`echo $ngx_pcre_objs \
|
||||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g"`
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
PCRE_CFLAGS = -O2 -Ob1 -Oi -Gs $LIBC $CPU_OPT
|
||||
PCRE_FLAGS = -DHAVE_CONFIG_H -DPCRE2_STATIC -DPCRE2_CODE_UNIT_WIDTH=8 \\
|
||||
-DHAVE_MEMMOVE
|
||||
|
||||
PCRE_SRCS = $ngx_pcre_srcs
|
||||
PCRE_OBJS = $ngx_pcre_objs
|
||||
|
||||
$PCRE/src/pcre2.h:
|
||||
cd $PCRE/src \\
|
||||
&& copy /y config.h.generic config.h \\
|
||||
&& copy /y pcre2.h.generic pcre2.h \\
|
||||
&& copy /y pcre2_chartables.c.dist pcre2_chartables.c
|
||||
|
||||
$PCRE/src/pcre2-8.lib: $PCRE/src/pcre2.h $NGX_MAKEFILE
|
||||
cd $PCRE/src \\
|
||||
&& cl -nologo -c \$(PCRE_CFLAGS) -I . \$(PCRE_FLAGS) \$(PCRE_SRCS) \\
|
||||
&& link -lib -out:pcre2-8.lib -verbose:lib \$(PCRE_OBJS)
|
||||
|
||||
END
|
||||
|
||||
else
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$PCRE/src/pcre2.h: $PCRE/Makefile
|
||||
|
||||
$PCRE/Makefile: $NGX_MAKEFILE
|
||||
cd $PCRE \\
|
||||
&& if [ -f Makefile ]; then \$(MAKE) distclean; fi \\
|
||||
&& CC="\$(CC)" CFLAGS="$PCRE_OPT" \\
|
||||
./configure --disable-shared $PCRE_CONF_OPT
|
||||
|
||||
$PCRE/.libs/libpcre2-8.a: $PCRE/Makefile
|
||||
cd $PCRE \\
|
||||
&& \$(MAKE) libpcre2-8.la
|
||||
|
||||
END
|
||||
|
||||
fi
|
||||
|
||||
|
||||
if [ -n "$ngx_makefile" ]; then
|
||||
else
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
# PCRE
|
||||
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
msvc)
|
||||
ngx_makefile=makefile.msvc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC"
|
||||
ngx_pcre="PCRE=\"$PCRE\""
|
||||
;;
|
||||
|
||||
owc)
|
||||
ngx_makefile=makefile.owc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\""
|
||||
ngx_pcre=`echo PCRE=\"$PCRE\" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
|
||||
bcc)
|
||||
ngx_makefile=makefile.bcc
|
||||
ngx_opt="-DCPU_OPT=\"$CPU_OPT\""
|
||||
ngx_pcre=`echo \-DPCRE=\"$PCRE\" \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
|
||||
*)
|
||||
ngx_makefile=
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
if [ -n "$ngx_makefile" ]; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
`echo "$PCRE/pcre.lib: $PCRE/pcre.h $NGX_MAKEFILE" \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
|
@ -43,9 +146,9 @@ if [ -n "$ngx_makefile" ]; then
|
|||
|
||||
END
|
||||
|
||||
else
|
||||
else
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$PCRE/pcre.h: $PCRE/Makefile
|
||||
|
||||
|
|
@ -61,4 +164,6 @@ $PCRE/.libs/libpcre.a: $PCRE/Makefile
|
|||
|
||||
END
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@ NGX_PERL_VER=`$NGX_PERL -v 2>&1 | grep '^This is perl' 2>&1 \
|
|||
if test -n "$NGX_PERL_VER"; then
|
||||
echo " + perl version: $NGX_PERL_VER"
|
||||
|
||||
if [ "`$NGX_PERL -e 'use 5.006001; print "OK"'`" != "OK" ]; then
|
||||
if [ "`$NGX_PERL -e 'use 5.008006; print "OK"'`" != "OK" ]; then
|
||||
echo
|
||||
echo "$0: error: perl 5.6.1 or higher is required"
|
||||
echo "$0: error: perl 5.8.6 or higher is required"
|
||||
echo
|
||||
|
||||
exit 1;
|
||||
|
|
@ -28,8 +28,10 @@ if test -n "$NGX_PERL_VER"; then
|
|||
exit 1;
|
||||
fi
|
||||
|
||||
NGX_PERL_CFLAGS="$CFLAGS `$NGX_PERL -MExtUtils::Embed -e ccopts`"
|
||||
NGX_PM_CFLAGS=`$NGX_PERL -MExtUtils::Embed -e ccopts`
|
||||
NGX_PM_LDFLAGS=`$NGX_PERL -MConfig -e 'print $Config{lddlflags}'`
|
||||
|
||||
NGX_PERL_CFLAGS="$CFLAGS `$NGX_PERL -MExtUtils::Embed -e ccopts`"
|
||||
|
||||
# gcc 4.1/4.2 warn about unused values in pTHX_
|
||||
NGX_PERL_CFLAGS=`echo $NGX_PERL_CFLAGS \
|
||||
|
|
@ -41,6 +43,8 @@ if test -n "$NGX_PERL_VER"; then
|
|||
ngx_perl_ldopts=`$NGX_PERL -MExtUtils::Embed -e ldopts`
|
||||
|
||||
ngx_perl_dlext=`$NGX_PERL -MConfig -e 'print $Config{dlext}'`
|
||||
ngx_perl_libdir="src/http/modules/perl/blib/arch/auto"
|
||||
ngx_perl_module="$ngx_perl_libdir/nginx/nginx.$ngx_perl_dlext"
|
||||
|
||||
if $NGX_PERL -V:usemultiplicity | grep define > /dev/null; then
|
||||
have=NGX_HAVE_PERL_MULTIPLICITY . auto/have
|
||||
|
|
@ -52,8 +56,17 @@ if test -n "$NGX_PERL_VER"; then
|
|||
ngx_perl_ldopts=`echo $ngx_perl_ldopts | sed 's/ -pthread//'`
|
||||
fi
|
||||
|
||||
CORE_LINK="$CORE_LINK $ngx_perl_ldopts"
|
||||
LINK_DEPS="$LINK_DEPS $NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx.$ngx_perl_dlext"
|
||||
if [ "$NGX_SYSTEM" = "Darwin" ]; then
|
||||
# OS X system perl wants to link universal binaries
|
||||
ngx_perl_ldopts=`echo $ngx_perl_ldopts \
|
||||
| sed -e 's/-arch i386//' -e 's/-arch x86_64//'`
|
||||
fi
|
||||
|
||||
if [ $USE_PERL = YES ]; then
|
||||
CORE_LINK="$CORE_LINK $ngx_perl_ldopts"
|
||||
fi
|
||||
|
||||
NGX_LIB_PERL="$ngx_perl_ldopts"
|
||||
|
||||
if test -n "$NGX_PERL_MODULES"; then
|
||||
have=NGX_PERL_MODULES value="(u_char *) \"$NGX_PERL_MODULES\""
|
||||
|
|
@ -63,7 +76,7 @@ if test -n "$NGX_PERL_VER"; then
|
|||
|
||||
else
|
||||
echo
|
||||
echo "$0: error: perl 5.6.1 or higher is required"
|
||||
echo "$0: error: perl 5.8.6 or higher is required"
|
||||
echo
|
||||
|
||||
exit 1;
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
v=`grep 'define NGINX_VERSION' src/core/nginx.h | sed -e 's/^.*"\(.*\)".*/\1/'`
|
||||
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$NGX_OBJS/src/http/modules/perl/blib/arch/auto/nginx/nginx.$ngx_perl_dlext: \\
|
||||
$NGX_OBJS/src/http/modules/perl/ngx_http_perl_module.o: \\
|
||||
$NGX_OBJS/$ngx_perl_module
|
||||
|
||||
$NGX_OBJS/$ngx_perl_module: \\
|
||||
\$(CORE_DEPS) \$(HTTP_DEPS) \\
|
||||
src/http/modules/perl/ngx_http_perl_module.h \\
|
||||
$NGX_OBJS/src/http/modules/perl/Makefile
|
||||
|
|
@ -24,7 +24,11 @@ $NGX_OBJS/src/http/modules/perl/Makefile: \\
|
|||
src/http/modules/perl/nginx.pm \\
|
||||
src/http/modules/perl/nginx.xs \\
|
||||
src/http/modules/perl/typemap
|
||||
sed "s/%%VERSION%%/$v/" src/http/modules/perl/nginx.pm > \\
|
||||
grep 'define NGINX_VERSION' src/core/nginx.h \\
|
||||
| sed -e 's/^.*"\(.*\)".*/\1/' > \\
|
||||
$NGX_OBJS/src/http/modules/perl/version
|
||||
sed "s/%%VERSION%%/\`cat $NGX_OBJS/src/http/modules/perl/version\`/" \\
|
||||
src/http/modules/perl/nginx.pm > \\
|
||||
$NGX_OBJS/src/http/modules/perl/nginx.pm
|
||||
cp -p src/http/modules/perl/nginx.xs $NGX_OBJS/src/http/modules/perl/
|
||||
cp -p src/http/modules/perl/typemap $NGX_OBJS/src/http/modules/perl/
|
||||
|
|
@ -32,6 +36,7 @@ $NGX_OBJS/src/http/modules/perl/Makefile: \\
|
|||
|
||||
cd $NGX_OBJS/src/http/modules/perl \\
|
||||
&& NGX_PM_CFLAGS="\$(NGX_PM_CFLAGS) -g $NGX_CC_OPT" \\
|
||||
NGX_PM_LDFLAGS="$NGX_LD_OPT \$(NGX_PM_LDFLAGS)" \\
|
||||
NGX_INCS="$CORE_INCS $NGX_OBJS $HTTP_INCS" \\
|
||||
NGX_DEPS="\$(CORE_DEPS) \$(HTTP_DEPS)" \\
|
||||
$NGX_PERL Makefile.PL \\
|
||||
|
|
|
|||
|
|
@ -1,79 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
if [ $SHA1 != NONE ]; then
|
||||
|
||||
have=NGX_HAVE_SHA1 . auto/have
|
||||
CORE_INCS="$CORE_INCS $SHA1"
|
||||
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
msvc* | owc* | bcc)
|
||||
LINK_DEPS="$LINK_DEPS $SHA1/sha1.lib"
|
||||
CORE_LIBS="$CORE_LIBS $SHA1/sha1.lib"
|
||||
;;
|
||||
|
||||
icc*)
|
||||
LINK_DEPS="$LINK_DEPS $SHA1/libsha.a"
|
||||
|
||||
# to allow -ipo optimization we link with the *.o but not library
|
||||
CORE_LIBS="$CORE_LIBS $SHA1/sha1_dgst.o"
|
||||
|
||||
if [ $SHA1_ASM = YES ]; then
|
||||
CORE_LIBS="$CORE_LIBS $SHA1/asm/sx86-elf.o"
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
LINK_DEPS="$LINK_DEPS $SHA1/libsha.a"
|
||||
CORE_LIBS="$CORE_LIBS $SHA1/libsha.a"
|
||||
#CORE_LIBS="$CORE_LIBS -L $SHA1 -lsha"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
else
|
||||
|
||||
if [ "$NGX_PLATFORM" != win32 ]; then
|
||||
|
||||
SHA1=NO
|
||||
|
||||
# FreeBSD
|
||||
|
||||
ngx_feature="sha1 in system md library"
|
||||
ngx_feature_name=NGX_HAVE_SHA1
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sha.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs="-lmd"
|
||||
ngx_feature_test="SHA_CTX sha1; SHA1_Init(&sha1)"
|
||||
. auto/feature
|
||||
|
||||
ngx_sha1_lib="system md"
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# OpenSSL crypto library
|
||||
|
||||
ngx_feature="sha1 in system OpenSSL crypto library"
|
||||
ngx_feature_incs="#include <openssl/sha.h>"
|
||||
ngx_feature_libs="-lcrypto"
|
||||
. auto/feature
|
||||
|
||||
ngx_sha1_lib="system crypto"
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=NGX_HAVE_OPENSSL_SHA1_H . auto/have
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
||||
SHA1=YES
|
||||
SHA1_LIB=$ngx_sha1_lib
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
msvc*)
|
||||
ngx_makefile=makefile.msvc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC SHA1_ASM=$SHA1_ASM"
|
||||
ngx_sha1="SHA1=\"$SHA1\""
|
||||
;;
|
||||
|
||||
owc*)
|
||||
ngx_makefile=makefile.owc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\""
|
||||
ngx_sha1=`echo SHA1=\"$SHA1\" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
|
||||
bcc)
|
||||
ngx_makefile=makefile.bcc
|
||||
ngx_opt="-DCPU_OPT=\"$CPU_OPT\" -DSHA1_ASM=$SHA1_ASM"
|
||||
ngx_sha1=`echo \-DSHA1=\"$SHA1\" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
done=NO
|
||||
|
||||
|
||||
case "$NGX_PLATFORM" in
|
||||
|
||||
win32)
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
`echo "$SHA1/sha1.lib: $NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
\$(MAKE) -f auto/lib/sha1/$ngx_makefile $ngx_opt $ngx_sha1
|
||||
|
||||
END
|
||||
|
||||
done=YES
|
||||
;;
|
||||
|
||||
SunOS:*:i86pc)
|
||||
if [ $SHA1_ASM = YES ]; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$SHA1/libsha.a: $NGX_MAKEFILE
|
||||
cd $SHA1 \\
|
||||
&& \$(MAKE) CFLAGS="$SHA1_OPT -DSOL -DSHA1_ASM -DL_ENDIAN" \\
|
||||
CC="\$(CC)" CPP="\$(CPP)" \\
|
||||
SHA_ASM_OBJ=asm/sx86-sol.o clean libsha.a
|
||||
|
||||
END
|
||||
|
||||
done=YES
|
||||
fi
|
||||
;;
|
||||
|
||||
# FreeBSD: i386
|
||||
# Linux: i686
|
||||
|
||||
*:i386 | *:i686)
|
||||
if [ $SHA1_ASM = YES ]; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$SHA1/libsha.a: $NGX_MAKEFILE
|
||||
cd $SHA1 \\
|
||||
&& \$(MAKE) CFLAGS="$SHA1_OPT -DELF -DSHA1_ASM -DL_ENDIAN" \\
|
||||
CC="\$(CC)" CPP="\$(CPP)" \\
|
||||
SHA_ASM_OBJ=asm/sx86-elf.o clean libsha.a
|
||||
|
||||
END
|
||||
|
||||
done=YES
|
||||
fi
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
if [ $done = NO ]; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$SHA1/libsha.a: $NGX_MAKEFILE
|
||||
cd $SHA1 \\
|
||||
&& \$(MAKE) CFLAGS="$SHA1_OPT" \\
|
||||
CC="\$(CC)" SHA_ASM_OBJ= clean libsha.a
|
||||
|
||||
END
|
||||
|
||||
fi
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
CFLAGS = -q -O2 -tWM $(CPU_OPT) -DL_ENDIAN
|
||||
|
||||
!if "$(SHA1_ASM)" == "YES"
|
||||
|
||||
sha1.lib:
|
||||
cd $(SHA1)
|
||||
bcc32 -c $(CFLAGS) -DSHA1_ASM sha1dgst.c
|
||||
tlib sha1.lib +sha1dgst.obj +"asm\s-win32.obj"
|
||||
|
||||
!else
|
||||
|
||||
sha1.lib:
|
||||
cd $(SHA1)
|
||||
bcc32 -c $(CFLAGS) sha1dgst.c
|
||||
tlib sha1.lib +sha1dgst.obj
|
||||
|
||||
!endif
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
CFLAGS = -nologo -O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT) -D L_ENDIAN
|
||||
|
||||
!IF "$(SHA1_ASM)" == "YES"
|
||||
|
||||
sha1.lib:
|
||||
cd $(SHA1)
|
||||
cl -c $(CFLAGS) -D SHA1_ASM sha1dgst.c
|
||||
link -lib -out:sha1.lib sha1dgst.obj asm/s-win32.obj
|
||||
|
||||
!ELSE
|
||||
|
||||
sha1.lib:
|
||||
cd $(SHA1)
|
||||
cl -c $(CFLAGS) sha1dgst.c
|
||||
link -lib -out:sha1.lib sha1dgst.obj
|
||||
|
||||
!ENDIF
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
CFLAGS = -zq -bt=nt -bm -ot -op -oi -oe -s $(CPU_OPT)
|
||||
|
||||
sha1.lib:
|
||||
cd $(SHA1)
|
||||
wcl386 -c $(CFLAGS) -dL_ENDIAN sha1dgst.c
|
||||
wlib -n sha1.lib sha1dgst.obj
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
|
||||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
echo $ngx_n "checking for $ngx_lib ...$ngx_c"
|
||||
|
||||
cat << END >> $NGX_AUTOCONF_ERR
|
||||
|
||||
----------------------------------------
|
||||
checking for $ngx_lib
|
||||
|
||||
END
|
||||
|
||||
ngx_found=no
|
||||
|
||||
cat << END > $NGX_AUTOTEST.c
|
||||
|
||||
$ngx_lib_incs
|
||||
|
||||
int main() {
|
||||
$ngx_lib_test;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
eval "$CC $cc_test_flags $ngx_lib_cflags \
|
||||
-o $NGX_AUTOTEST $NGX_AUTOTEST.c $ngx_libs \
|
||||
>> $NGX_ERR 2>&1"
|
||||
|
||||
if [ -x $NGX_AUTOTEST ]; then
|
||||
echo " found"
|
||||
|
||||
ngx_found=yes
|
||||
|
||||
else
|
||||
echo " not found"
|
||||
fi
|
||||
|
||||
rm -rf $NGX_AUTOTEST*
|
||||
|
|
@ -8,13 +8,13 @@ if [ $ZLIB != NONE ]; then
|
|||
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
msvc* | owc* | bcc)
|
||||
msvc | owc | bcc)
|
||||
have=NGX_ZLIB . auto/have
|
||||
LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
|
||||
CORE_LIBS="$CORE_LIBS $ZLIB/zlib.lib"
|
||||
;;
|
||||
|
||||
icc*)
|
||||
icc)
|
||||
have=NGX_ZLIB . auto/have
|
||||
LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
|
||||
|
||||
|
|
|
|||
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
msvc*)
|
||||
msvc)
|
||||
ngx_makefile=makefile.msvc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC"
|
||||
ngx_zlib="ZLIB=\"$ZLIB\""
|
||||
|
||||
;;
|
||||
|
||||
owc*)
|
||||
owc)
|
||||
ngx_makefile=makefile.owc
|
||||
ngx_opt="CPU_OPT=\"$CPU_OPT\""
|
||||
ngx_zlib=`echo ZLIB=\"$ZLIB\" | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
--- zlib.h Thu Jul 9 20:06:56 1998
|
||||
+++ zlib-1.1.3/zlib.h Tue Mar 22 13:41:04 2005
|
||||
@@ -709,7 +709,6 @@
|
||||
(0 in case of error).
|
||||
*/
|
||||
|
||||
-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
|
||||
/*
|
||||
Converts, formats, and writes the args to the compressed file under
|
||||
control of the format string, as in fprintf. gzprintf returns the number of
|
||||
310
auto/make
310
auto/make
|
|
@ -2,14 +2,21 @@
|
|||
# Copyright (C) Igor Sysoev
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
basename_last2() {
|
||||
local basename_1=`basename \`dirname $1\``
|
||||
local basename_2=$(basename "$1")
|
||||
echo $(printf "$basename_1/$basename_2" | sed 's/\.\.\///')
|
||||
}
|
||||
|
||||
echo "creating $NGX_MAKEFILE"
|
||||
|
||||
mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \
|
||||
$NGX_OBJS/src/event/quic \
|
||||
$NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \
|
||||
$NGX_OBJS/src/http $NGX_OBJS/src/http/modules \
|
||||
$NGX_OBJS/src/http/modules/perl \
|
||||
$NGX_OBJS/src/http $NGX_OBJS/src/http/v2 $NGX_OBJS/src/http/v3 \
|
||||
$NGX_OBJS/src/http/modules $NGX_OBJS/src/http/modules/perl \
|
||||
$NGX_OBJS/src/mail \
|
||||
$NGX_OBJS/src/stream \
|
||||
$NGX_OBJS/src/misc
|
||||
|
||||
|
||||
|
|
@ -30,12 +37,13 @@ END
|
|||
if test -n "$NGX_PERL_CFLAGS"; then
|
||||
echo NGX_PERL_CFLAGS = $NGX_PERL_CFLAGS >> $NGX_MAKEFILE
|
||||
echo NGX_PM_CFLAGS = $NGX_PM_CFLAGS >> $NGX_MAKEFILE
|
||||
echo NGX_PM_LDFLAGS = $NGX_PM_LDFLAGS >> $NGX_MAKEFILE
|
||||
fi
|
||||
|
||||
|
||||
# ALL_INCS, required by the addons and by OpenWatcom C precompiled headers
|
||||
|
||||
ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS\
|
||||
ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $MAIL_INCS $STREAM_INCS\
|
||||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
|
||||
-e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
||||
|
|
@ -49,7 +57,7 @@ END
|
|||
ngx_all_srcs="$CORE_SRCS"
|
||||
|
||||
|
||||
# the core dependences and include paths
|
||||
# the core dependencies and include paths
|
||||
|
||||
ngx_deps=`echo $CORE_DEPS $NGX_AUTO_CONFIG_H $NGX_PCH \
|
||||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
|
||||
|
|
@ -69,7 +77,7 @@ CORE_INCS = $ngx_include_opt$ngx_incs
|
|||
END
|
||||
|
||||
|
||||
# the http dependences and include paths
|
||||
# the http dependencies and include paths
|
||||
|
||||
if [ $HTTP = YES ]; then
|
||||
|
||||
|
|
@ -95,11 +103,13 @@ END
|
|||
fi
|
||||
|
||||
|
||||
# the mail dependences and include paths
|
||||
# the mail dependencies and include paths
|
||||
|
||||
if [ $MAIL = YES ]; then
|
||||
if [ $MAIL != NO ]; then
|
||||
|
||||
ngx_all_srcs="$ngx_all_srcs $MAIL_SRCS"
|
||||
if [ $MAIL = YES ]; then
|
||||
ngx_all_srcs="$ngx_all_srcs $MAIL_SRCS"
|
||||
fi
|
||||
|
||||
ngx_deps=`echo $MAIL_DEPS \
|
||||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
|
||||
|
|
@ -121,10 +131,38 @@ END
|
|||
fi
|
||||
|
||||
|
||||
ngx_all_srcs="$ngx_all_srcs $NGX_MISC_SRCS"
|
||||
# the stream dependencies and include paths
|
||||
|
||||
if [ $STREAM != NO ]; then
|
||||
|
||||
if [ $STREAM = YES ]; then
|
||||
ngx_all_srcs="$ngx_all_srcs $STREAM_SRCS"
|
||||
fi
|
||||
|
||||
ngx_deps=`echo $STREAM_DEPS \
|
||||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
|
||||
-e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
||||
ngx_incs=`echo $STREAM_INCS \
|
||||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
|
||||
-e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
STREAM_DEPS = $ngx_deps
|
||||
|
||||
|
||||
if test -n "$NGX_ADDON_SRCS"; then
|
||||
STREAM_INCS = $ngx_include_opt$ngx_incs
|
||||
|
||||
END
|
||||
|
||||
fi
|
||||
|
||||
|
||||
ngx_all_srcs="$ngx_all_srcs $MISC_SRCS"
|
||||
|
||||
|
||||
if test -n "$NGX_ADDON_SRCS$DYNAMIC_MODULES"; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
|
|
@ -141,7 +179,7 @@ ngx_all_srcs=`echo $ngx_all_srcs | sed -e "s/\//$ngx_regex_dirsep/g"`
|
|||
|
||||
for ngx_src in $NGX_ADDON_SRCS
|
||||
do
|
||||
ngx_obj="addon/`basename \`dirname $ngx_src\``"
|
||||
ngx_obj="addon/`basename_last2 \`dirname $ngx_src\``"
|
||||
|
||||
test -d $NGX_OBJS/$ngx_obj || mkdir -p $NGX_OBJS/$ngx_obj
|
||||
|
||||
|
|
@ -177,6 +215,7 @@ ngx_objs=`echo $ngx_all_objs $ngx_modules_obj \
|
|||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \
|
||||
-e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
||||
ngx_libs=
|
||||
if test -n "$NGX_LD_OPT$CORE_LIBS"; then
|
||||
ngx_libs=`echo $NGX_LD_OPT $CORE_LIBS \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`
|
||||
|
|
@ -185,13 +224,22 @@ fi
|
|||
ngx_link=${CORE_LINK:+`echo $CORE_LINK \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`}
|
||||
|
||||
ngx_main_link=${MAIN_LINK:+`echo $MAIN_LINK \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`}
|
||||
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$NGX_OBJS${ngx_dirsep}nginx${ngx_binext}: $ngx_deps$ngx_spacer
|
||||
\$(LINK) ${ngx_long_start}${ngx_binout}$NGX_OBJS${ngx_dirsep}nginx$ngx_long_cont$ngx_objs$ngx_libs$ngx_link
|
||||
build: binary modules manpage
|
||||
|
||||
binary: $NGX_OBJS${ngx_dirsep}nginx$ngx_binext
|
||||
|
||||
$NGX_OBJS${ngx_dirsep}nginx$ngx_binext: $ngx_deps$ngx_spacer
|
||||
\$(LINK) $ngx_long_start$ngx_binout$NGX_OBJS${ngx_dirsep}nginx$ngx_binext$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_main_link
|
||||
$ngx_rcc
|
||||
${ngx_long_end}
|
||||
$ngx_long_end
|
||||
|
||||
modules:
|
||||
END
|
||||
|
||||
|
||||
|
|
@ -240,7 +288,7 @@ if [ $HTTP = YES ]; then
|
|||
ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
|
||||
else
|
||||
ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)"
|
||||
ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS) "
|
||||
ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS)"
|
||||
ngx_perl_cc="$ngx_perl_cc \$(CORE_INCS) \$(HTTP_INCS)"
|
||||
fi
|
||||
|
||||
|
|
@ -271,7 +319,7 @@ $ngx_obj: \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src
|
|||
END
|
||||
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
|
|
@ -301,18 +349,48 @@ $ngx_obj: \$(CORE_DEPS) \$(MAIL_DEPS)$ngx_cont$ngx_src
|
|||
$ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
|
||||
|
||||
END
|
||||
done
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# the stream sources
|
||||
|
||||
if [ $STREAM = YES ]; then
|
||||
|
||||
if test -n "$NGX_PCH"; then
|
||||
ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
|
||||
else
|
||||
ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(STREAM_INCS)"
|
||||
fi
|
||||
|
||||
for ngx_src in $STREAM_SRCS
|
||||
do
|
||||
ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
ngx_obj=`echo $ngx_src \
|
||||
| sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
|
||||
-e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
|
||||
-e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
|
||||
-e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$ngx_obj: \$(CORE_DEPS) \$(STREAM_DEPS)$ngx_cont$ngx_src
|
||||
$ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
|
||||
|
||||
END
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# the misc sources
|
||||
|
||||
if test -n "$NGX_MISC_SRCS"; then
|
||||
if test -n "$MISC_SRCS"; then
|
||||
|
||||
ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
|
||||
|
||||
for ngx_src in $NGX_MISC_SRCS
|
||||
for ngx_src in $MISC_SRCS
|
||||
do
|
||||
ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
ngx_obj=`echo $ngx_src \
|
||||
|
|
@ -327,7 +405,7 @@ $ngx_obj: \$(CORE_DEPS) $ngx_cont$ngx_src
|
|||
$ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
|
||||
|
||||
END
|
||||
done
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
|
|
@ -340,7 +418,7 @@ if test -n "$NGX_ADDON_SRCS"; then
|
|||
|
||||
for ngx_src in $NGX_ADDON_SRCS
|
||||
do
|
||||
ngx_obj="addon/`basename \`dirname $ngx_src\``"
|
||||
ngx_obj="addon/`basename_last2 \`dirname $ngx_src\``"
|
||||
|
||||
ngx_obj=`echo $ngx_obj/\`basename $ngx_src\` \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
|
@ -359,16 +437,16 @@ $ngx_obj: \$(ADDON_DEPS)$ngx_cont$ngx_src
|
|||
$ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
|
||||
|
||||
END
|
||||
done
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# the addons config.make
|
||||
|
||||
if test -n "$NGX_ADDONS"; then
|
||||
if test -n "$NGX_ADDONS$DYNAMIC_ADDONS"; then
|
||||
|
||||
for ngx_addon_dir in $NGX_ADDONS
|
||||
for ngx_addon_dir in $NGX_ADDONS $DYNAMIC_ADDONS
|
||||
do
|
||||
if test -f $ngx_addon_dir/config.make; then
|
||||
. $ngx_addon_dir/config.make
|
||||
|
|
@ -415,3 +493,187 @@ $ngx_pch
|
|||
END
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# dynamic modules
|
||||
|
||||
if test -n "$NGX_PCH"; then
|
||||
ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)"
|
||||
else
|
||||
ngx_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(CFLAGS) \$(ALL_INCS)"
|
||||
ngx_perl_cc="\$(CC) $ngx_compile_opt $ngx_pic_opt \$(NGX_PERL_CFLAGS)"
|
||||
ngx_perl_cc="$ngx_perl_cc \$(ALL_INCS)"
|
||||
fi
|
||||
|
||||
for ngx_module in $DYNAMIC_MODULES
|
||||
do
|
||||
eval ngx_module_srcs="\$${ngx_module}_SRCS"
|
||||
eval ngx_module_shrd="\$${ngx_module}_SHRD"
|
||||
eval eval ngx_module_libs="\\\"\$${ngx_module}_LIBS\\\""
|
||||
|
||||
eval ngx_module_modules="\$${ngx_module}_MODULES"
|
||||
eval ngx_module_order="\$${ngx_module}_ORDER"
|
||||
|
||||
ngx_modules_c=$NGX_OBJS/${ngx_module}_modules.c
|
||||
|
||||
cat << END > $ngx_modules_c
|
||||
|
||||
#include <ngx_config.h>
|
||||
#include <ngx_core.h>
|
||||
|
||||
END
|
||||
|
||||
for mod in $ngx_module_modules
|
||||
do
|
||||
echo "extern ngx_module_t $mod;" >> $ngx_modules_c
|
||||
done
|
||||
|
||||
echo >> $ngx_modules_c
|
||||
echo 'ngx_module_t *ngx_modules[] = {' >> $ngx_modules_c
|
||||
|
||||
for mod in $ngx_module_modules
|
||||
do
|
||||
echo " &$mod," >> $ngx_modules_c
|
||||
done
|
||||
|
||||
cat << END >> $ngx_modules_c
|
||||
NULL
|
||||
};
|
||||
|
||||
END
|
||||
|
||||
echo 'char *ngx_module_names[] = {' >> $ngx_modules_c
|
||||
|
||||
for mod in $ngx_module_modules
|
||||
do
|
||||
echo " \"$mod\"," >> $ngx_modules_c
|
||||
done
|
||||
|
||||
cat << END >> $ngx_modules_c
|
||||
NULL
|
||||
};
|
||||
|
||||
END
|
||||
|
||||
echo 'char *ngx_module_order[] = {' >> $ngx_modules_c
|
||||
|
||||
for mod in $ngx_module_order
|
||||
do
|
||||
echo " \"$mod\"," >> $ngx_modules_c
|
||||
done
|
||||
|
||||
cat << END >> $ngx_modules_c
|
||||
NULL
|
||||
};
|
||||
|
||||
END
|
||||
|
||||
ngx_modules_c=`echo $ngx_modules_c | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
||||
ngx_modules_obj=`echo $ngx_modules_c \
|
||||
| sed -e "s/\(.*\.\)c/\1$ngx_objext/"`
|
||||
|
||||
ngx_module_objs=
|
||||
for ngx_src in $ngx_module_srcs $ngx_module_shrd
|
||||
do
|
||||
case "$ngx_src" in
|
||||
src/*)
|
||||
ngx_obj=$ngx_src
|
||||
;;
|
||||
*)
|
||||
ngx_obj="addon/`basename_last2 \`dirname $ngx_src\``"
|
||||
mkdir -p $NGX_OBJS/$ngx_obj
|
||||
ngx_obj="$ngx_obj/`basename $ngx_src`"
|
||||
;;
|
||||
esac
|
||||
|
||||
ngx_module_objs="$ngx_module_objs $ngx_obj"
|
||||
done
|
||||
|
||||
ngx_module_objs=`echo $ngx_module_objs \
|
||||
| sed -e "s#\([^ ]*\.\)cpp#$NGX_OBJS\/\1$ngx_objext#g" \
|
||||
-e "s#\([^ ]*\.\)cc#$NGX_OBJS\/\1$ngx_objext#g" \
|
||||
-e "s#\([^ ]*\.\)c#$NGX_OBJS\/\1$ngx_objext#g" \
|
||||
-e "s#\([^ ]*\.\)S#$NGX_OBJS\/\1$ngx_objext#g"`
|
||||
|
||||
ngx_deps=`echo $ngx_module_objs $ngx_modules_obj $LINK_DEPS \
|
||||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
|
||||
-e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
||||
ngx_objs=`echo $ngx_module_objs $ngx_modules_obj \
|
||||
| sed -e "s/ *\([^ ][^ ]*\)/$ngx_long_regex_cont\1/g" \
|
||||
-e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
||||
ngx_obj=$NGX_OBJS$ngx_dirsep$ngx_module$ngx_modext
|
||||
|
||||
if [ "$NGX_PLATFORM" = win32 ]; then
|
||||
ngx_module_libs="$CORE_LIBS $ngx_module_libs"
|
||||
fi
|
||||
|
||||
ngx_libs=
|
||||
if test -n "$NGX_LD_OPT$ngx_module_libs"; then
|
||||
ngx_libs=`echo $NGX_LD_OPT $ngx_module_libs \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`
|
||||
fi
|
||||
|
||||
ngx_link=${CORE_LINK:+`echo $CORE_LINK \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`}
|
||||
|
||||
ngx_module_link=${MODULE_LINK:+`echo $MODULE_LINK \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g" -e "s/^/$ngx_long_regex_cont/"`}
|
||||
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
modules: $ngx_obj
|
||||
|
||||
$ngx_obj: $ngx_deps$ngx_spacer
|
||||
\$(LINK) $ngx_long_start$ngx_binout$ngx_obj$ngx_long_cont$ngx_objs$ngx_libs$ngx_link$ngx_module_link
|
||||
$ngx_long_end
|
||||
|
||||
$ngx_modules_obj: \$(CORE_DEPS)$ngx_cont$ngx_modules_c
|
||||
$ngx_cc$ngx_tab$ngx_objout$ngx_modules_obj$ngx_tab$ngx_modules_c$NGX_AUX
|
||||
|
||||
END
|
||||
|
||||
for ngx_source in $ngx_module_srcs
|
||||
do
|
||||
case "$ngx_source" in
|
||||
src/*)
|
||||
ngx_obj=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
*)
|
||||
ngx_obj="addon/`basename_last2 \`dirname $ngx_source\``"
|
||||
ngx_obj=`echo $ngx_obj/\`basename $ngx_source\` \
|
||||
| sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
;;
|
||||
esac
|
||||
|
||||
ngx_obj=`echo $ngx_obj \
|
||||
| sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \
|
||||
-e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \
|
||||
-e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \
|
||||
-e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"`
|
||||
|
||||
ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"`
|
||||
|
||||
if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$ngx_obj: \$(ADDON_DEPS)$ngx_cont$ngx_src
|
||||
$ngx_perl_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
|
||||
|
||||
END
|
||||
else
|
||||
|
||||
cat << END >> $NGX_MAKEFILE
|
||||
|
||||
$ngx_obj: \$(ADDON_DEPS)$ngx_cont$ngx_src
|
||||
$ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX
|
||||
|
||||
END
|
||||
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
|
|
|||
178
auto/module
Normal file
178
auto/module
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
|
||||
# Copyright (C) Ruslan Ermilov
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
case $ngx_module_type in
|
||||
HTTP_*) ngx_var=HTTP ;;
|
||||
*) ngx_var=$ngx_module_type ;;
|
||||
esac
|
||||
|
||||
|
||||
if [ "$ngx_module_link" = DYNAMIC ]; then
|
||||
|
||||
for ngx_module in $ngx_module_name; do
|
||||
# extract the first name
|
||||
break
|
||||
done
|
||||
|
||||
DYNAMIC_MODULES="$DYNAMIC_MODULES $ngx_module"
|
||||
|
||||
eval ${ngx_module}_MODULES=\"$ngx_module_name\"
|
||||
|
||||
if [ -z "$ngx_module_order" -a \
|
||||
\( "$ngx_module_type" = "HTTP_FILTER" \
|
||||
-o "$ngx_module_type" = "HTTP_AUX_FILTER" \) ]
|
||||
then
|
||||
eval ${ngx_module}_ORDER=\"$ngx_module_name \
|
||||
ngx_http_copy_filter_module\"
|
||||
else
|
||||
eval ${ngx_module}_ORDER=\"$ngx_module_order\"
|
||||
fi
|
||||
|
||||
srcs=
|
||||
shrd=
|
||||
for src in $ngx_module_srcs
|
||||
do
|
||||
found=no
|
||||
for old in $DYNAMIC_MODULES_SRCS
|
||||
do
|
||||
if [ $src = $old ]; then
|
||||
found=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $found = no ]; then
|
||||
srcs="$srcs $src"
|
||||
else
|
||||
shrd="$shrd $src"
|
||||
fi
|
||||
done
|
||||
eval ${ngx_module}_SRCS=\"$srcs\"
|
||||
eval ${ngx_module}_SHRD=\"$shrd\"
|
||||
|
||||
DYNAMIC_MODULES_SRCS="$DYNAMIC_MODULES_SRCS $srcs"
|
||||
|
||||
if test -n "$ngx_module_incs"; then
|
||||
CORE_INCS="$CORE_INCS $ngx_module_incs"
|
||||
fi
|
||||
|
||||
if test -n "$ngx_module_deps"; then
|
||||
NGX_ADDON_DEPS="$NGX_ADDON_DEPS $ngx_module_deps"
|
||||
fi
|
||||
|
||||
libs=
|
||||
for lib in $ngx_module_libs
|
||||
do
|
||||
case $lib in
|
||||
|
||||
LIBXSLT | LIBGD | GEOIP | PERL)
|
||||
libs="$libs \$NGX_LIB_$lib"
|
||||
|
||||
if eval [ "\$USE_${lib}" = NO ] ; then
|
||||
eval USE_${lib}=DYNAMIC
|
||||
fi
|
||||
;;
|
||||
|
||||
PCRE | OPENSSL | ZLIB)
|
||||
eval USE_${lib}=YES
|
||||
;;
|
||||
|
||||
MD5 | SHA1)
|
||||
# obsolete
|
||||
;;
|
||||
|
||||
*)
|
||||
libs="$libs $lib"
|
||||
;;
|
||||
|
||||
esac
|
||||
done
|
||||
eval ${ngx_module}_LIBS=\'$libs\'
|
||||
|
||||
elif [ "$ngx_module_link" = YES ]; then
|
||||
|
||||
eval ${ngx_module_type}_MODULES=\"\$${ngx_module_type}_MODULES \
|
||||
$ngx_module_name\"
|
||||
|
||||
eval ${ngx_var}_SRCS=\"\$${ngx_var}_SRCS $ngx_module_srcs\"
|
||||
|
||||
if test -n "$ngx_module_incs"; then
|
||||
eval ${ngx_var}_INCS=\"\$${ngx_var}_INCS $ngx_module_incs\"
|
||||
fi
|
||||
|
||||
if test -n "$ngx_module_deps"; then
|
||||
eval ${ngx_var}_DEPS=\"\$${ngx_var}_DEPS $ngx_module_deps\"
|
||||
fi
|
||||
|
||||
for lib in $ngx_module_libs
|
||||
do
|
||||
case $lib in
|
||||
|
||||
PCRE | OPENSSL | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP)
|
||||
eval USE_${lib}=YES
|
||||
;;
|
||||
|
||||
MD5 | SHA1)
|
||||
# obsolete
|
||||
;;
|
||||
|
||||
*)
|
||||
CORE_LIBS="$CORE_LIBS $lib"
|
||||
;;
|
||||
|
||||
esac
|
||||
done
|
||||
|
||||
elif [ "$ngx_module_link" = ADDON ]; then
|
||||
|
||||
eval ${ngx_module_type}_MODULES=\"\$${ngx_module_type}_MODULES \
|
||||
$ngx_module_name\"
|
||||
|
||||
srcs=
|
||||
for src in $ngx_module_srcs
|
||||
do
|
||||
found=no
|
||||
for old in $NGX_ADDON_SRCS
|
||||
do
|
||||
if [ $src = $old ]; then
|
||||
found=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $found = no ]; then
|
||||
srcs="$srcs $src"
|
||||
fi
|
||||
done
|
||||
|
||||
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $srcs"
|
||||
|
||||
if test -n "$ngx_module_incs"; then
|
||||
eval ${ngx_var}_INCS=\"\$${ngx_var}_INCS $ngx_module_incs\"
|
||||
fi
|
||||
|
||||
if test -n "$ngx_module_deps"; then
|
||||
NGX_ADDON_DEPS="$NGX_ADDON_DEPS $ngx_module_deps"
|
||||
fi
|
||||
|
||||
for lib in $ngx_module_libs
|
||||
do
|
||||
case $lib in
|
||||
|
||||
PCRE | OPENSSL | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP)
|
||||
eval USE_${lib}=YES
|
||||
;;
|
||||
|
||||
MD5 | SHA1)
|
||||
# obsolete
|
||||
;;
|
||||
|
||||
*)
|
||||
CORE_LIBS="$CORE_LIBS $lib"
|
||||
;;
|
||||
|
||||
esac
|
||||
done
|
||||
fi
|
||||
1761
auto/modules
1761
auto/modules
File diff suppressed because it is too large
Load diff
254
auto/options
254
auto/options
|
|
@ -7,6 +7,7 @@ help=no
|
|||
|
||||
NGX_PREFIX=
|
||||
NGX_SBIN_PATH=
|
||||
NGX_MODULES_PATH=
|
||||
NGX_CONF_PREFIX=
|
||||
NGX_CONF_PATH=
|
||||
NGX_ERROR_LOG_PATH=
|
||||
|
|
@ -14,6 +15,7 @@ NGX_PID_PATH=
|
|||
NGX_LOCK_PATH=
|
||||
NGX_USER=
|
||||
NGX_GROUP=
|
||||
NGX_BUILD=
|
||||
|
||||
CC=${CC:-cc}
|
||||
CPP=
|
||||
|
|
@ -29,7 +31,6 @@ NGX_RPATH=NO
|
|||
NGX_TEST_BUILD_DEVPOLL=NO
|
||||
NGX_TEST_BUILD_EVENTPORT=NO
|
||||
NGX_TEST_BUILD_EPOLL=NO
|
||||
NGX_TEST_BUILD_RTSIG=NO
|
||||
NGX_TEST_BUILD_SOLARIS_SENDFILEV=NO
|
||||
|
||||
NGX_PLATFORM=
|
||||
|
|
@ -37,15 +38,14 @@ NGX_WINE=
|
|||
|
||||
EVENT_FOUND=NO
|
||||
|
||||
EVENT_RTSIG=NO
|
||||
EVENT_SELECT=NO
|
||||
EVENT_POLL=NO
|
||||
EVENT_AIO=NO
|
||||
|
||||
USE_THREADS=NO
|
||||
|
||||
NGX_FILE_AIO=NO
|
||||
NGX_IPV6=NO
|
||||
|
||||
QUIC_BPF=NO
|
||||
|
||||
HTTP=YES
|
||||
|
||||
|
|
@ -60,9 +60,9 @@ HTTP_CACHE=YES
|
|||
HTTP_CHARSET=YES
|
||||
HTTP_GZIP=YES
|
||||
HTTP_SSL=NO
|
||||
HTTP_SPDY=NO
|
||||
HTTP_V2=NO
|
||||
HTTP_V3=NO
|
||||
HTTP_SSI=YES
|
||||
HTTP_POSTPONE=NO
|
||||
HTTP_REALIP=NO
|
||||
HTTP_XSLT=NO
|
||||
HTTP_IMAGE_FILTER=NO
|
||||
|
|
@ -72,7 +72,9 @@ HTTP_DAV=NO
|
|||
HTTP_ACCESS=YES
|
||||
HTTP_AUTH_BASIC=YES
|
||||
HTTP_AUTH_REQUEST=NO
|
||||
HTTP_MIRROR=YES
|
||||
HTTP_USERID=YES
|
||||
HTTP_SLICE=NO
|
||||
HTTP_AUTOINDEX=YES
|
||||
HTTP_RANDOM_INDEX=NO
|
||||
HTTP_STATUS=NO
|
||||
|
|
@ -86,6 +88,7 @@ HTTP_PROXY=YES
|
|||
HTTP_FASTCGI=YES
|
||||
HTTP_UWSGI=YES
|
||||
HTTP_SCGI=YES
|
||||
HTTP_GRPC=YES
|
||||
HTTP_PERL=NO
|
||||
HTTP_MEMCACHED=YES
|
||||
HTTP_LIMIT_CONN=YES
|
||||
|
|
@ -98,9 +101,12 @@ HTTP_FLV=NO
|
|||
HTTP_MP4=NO
|
||||
HTTP_GUNZIP=NO
|
||||
HTTP_GZIP_STATIC=NO
|
||||
HTTP_UPSTREAM_HASH=YES
|
||||
HTTP_UPSTREAM_IP_HASH=YES
|
||||
HTTP_UPSTREAM_LEAST_CONN=YES
|
||||
HTTP_UPSTREAM_RANDOM=YES
|
||||
HTTP_UPSTREAM_KEEPALIVE=YES
|
||||
HTTP_UPSTREAM_ZONE=YES
|
||||
|
||||
# STUB
|
||||
HTTP_STUB_STATUS=NO
|
||||
|
|
@ -111,27 +117,45 @@ MAIL_POP3=YES
|
|||
MAIL_IMAP=YES
|
||||
MAIL_SMTP=YES
|
||||
|
||||
STREAM=NO
|
||||
STREAM_SSL=NO
|
||||
STREAM_REALIP=NO
|
||||
STREAM_LIMIT_CONN=YES
|
||||
STREAM_ACCESS=YES
|
||||
STREAM_GEO=YES
|
||||
STREAM_GEOIP=NO
|
||||
STREAM_MAP=YES
|
||||
STREAM_SPLIT_CLIENTS=YES
|
||||
STREAM_RETURN=YES
|
||||
STREAM_PASS=YES
|
||||
STREAM_SET=YES
|
||||
STREAM_UPSTREAM_HASH=YES
|
||||
STREAM_UPSTREAM_LEAST_CONN=YES
|
||||
STREAM_UPSTREAM_RANDOM=YES
|
||||
STREAM_UPSTREAM_ZONE=YES
|
||||
STREAM_SSL_PREREAD=NO
|
||||
|
||||
DYNAMIC_MODULES=
|
||||
DYNAMIC_MODULES_SRCS=
|
||||
|
||||
NGX_ADDONS=
|
||||
NGX_ADDON_SRCS=
|
||||
NGX_ADDON_DEPS=
|
||||
DYNAMIC_ADDONS=
|
||||
|
||||
NGX_COMPAT=NO
|
||||
|
||||
USE_PCRE=NO
|
||||
PCRE=NONE
|
||||
PCRE_OPT=
|
||||
PCRE_CONF_OPT=
|
||||
PCRE_JIT=NO
|
||||
PCRE2=YES
|
||||
|
||||
USE_OPENSSL=NO
|
||||
USE_OPENSSL_QUIC=NO
|
||||
OPENSSL=NONE
|
||||
|
||||
USE_MD5=NO
|
||||
MD5=NONE
|
||||
MD5_OPT=
|
||||
MD5_ASM=NO
|
||||
|
||||
USE_SHA1=NO
|
||||
SHA1=NONE
|
||||
SHA1_OPT=
|
||||
SHA1_ASM=NO
|
||||
|
||||
USE_ZLIB=NO
|
||||
ZLIB=NONE
|
||||
ZLIB_OPT=
|
||||
|
|
@ -142,10 +166,13 @@ NGX_PERL=perl
|
|||
|
||||
USE_LIBXSLT=NO
|
||||
USE_LIBGD=NO
|
||||
USE_GEOIP=NO
|
||||
|
||||
NGX_GOOGLE_PERFTOOLS=NO
|
||||
NGX_CPP_TEST=NO
|
||||
|
||||
SO_COOKIE_FOUND=NO
|
||||
|
||||
NGX_LIBATOMIC=NO
|
||||
|
||||
NGX_CPU_CACHE_LINE=
|
||||
|
|
@ -169,6 +196,7 @@ do
|
|||
--prefix=) NGX_PREFIX="!" ;;
|
||||
--prefix=*) NGX_PREFIX="$value" ;;
|
||||
--sbin-path=*) NGX_SBIN_PATH="$value" ;;
|
||||
--modules-path=*) NGX_MODULES_PATH="$value" ;;
|
||||
--conf-path=*) NGX_CONF_PATH="$value" ;;
|
||||
--error-log-path=*) NGX_ERROR_LOG_PATH="$value";;
|
||||
--pid-path=*) NGX_PID_PATH="$value" ;;
|
||||
|
|
@ -178,20 +206,24 @@ do
|
|||
|
||||
--crossbuild=*) NGX_PLATFORM="$value" ;;
|
||||
|
||||
--build=*) NGX_BUILD="$value" ;;
|
||||
--builddir=*) NGX_OBJS="$value" ;;
|
||||
|
||||
--with-rtsig_module) EVENT_RTSIG=YES ;;
|
||||
--with-select_module) EVENT_SELECT=YES ;;
|
||||
--without-select_module) EVENT_SELECT=NONE ;;
|
||||
--with-poll_module) EVENT_POLL=YES ;;
|
||||
--without-poll_module) EVENT_POLL=NONE ;;
|
||||
--with-aio_module) EVENT_AIO=YES ;;
|
||||
|
||||
#--with-threads=*) USE_THREADS="$value" ;;
|
||||
#--with-threads) USE_THREADS="pthreads" ;;
|
||||
--with-threads) USE_THREADS=YES ;;
|
||||
|
||||
--with-file-aio) NGX_FILE_AIO=YES ;;
|
||||
--with-ipv6) NGX_IPV6=YES ;;
|
||||
|
||||
--without-quic_bpf_module) QUIC_BPF=NONE ;;
|
||||
|
||||
--with-ipv6)
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--with-ipv6\" option is deprecated"
|
||||
;;
|
||||
|
||||
--without-http) HTTP=NO ;;
|
||||
--without-http-cache) HTTP_CACHE=NO ;;
|
||||
|
|
@ -204,12 +236,18 @@ do
|
|||
--http-scgi-temp-path=*) NGX_HTTP_SCGI_TEMP_PATH="$value" ;;
|
||||
|
||||
--with-http_ssl_module) HTTP_SSL=YES ;;
|
||||
--with-http_spdy_module) HTTP_SPDY=YES ;;
|
||||
--with-http_v2_module) HTTP_V2=YES ;;
|
||||
--with-http_v3_module) HTTP_V3=YES ;;
|
||||
--with-http_realip_module) HTTP_REALIP=YES ;;
|
||||
--with-http_addition_module) HTTP_ADDITION=YES ;;
|
||||
--with-http_xslt_module) HTTP_XSLT=YES ;;
|
||||
--with-http_xslt_module=dynamic) HTTP_XSLT=DYNAMIC ;;
|
||||
--with-http_image_filter_module) HTTP_IMAGE_FILTER=YES ;;
|
||||
--with-http_image_filter_module=dynamic)
|
||||
HTTP_IMAGE_FILTER=DYNAMIC ;;
|
||||
--with-http_geoip_module) HTTP_GEOIP=YES ;;
|
||||
--with-http_geoip_module=dynamic)
|
||||
HTTP_GEOIP=DYNAMIC ;;
|
||||
--with-http_sub_module) HTTP_SUB=YES ;;
|
||||
--with-http_dav_module) HTTP_DAV=YES ;;
|
||||
--with-http_flv_module) HTTP_FLV=YES ;;
|
||||
|
|
@ -220,6 +258,7 @@ do
|
|||
--with-http_random_index_module) HTTP_RANDOM_INDEX=YES ;;
|
||||
--with-http_secure_link_module) HTTP_SECURE_LINK=YES ;;
|
||||
--with-http_degradation_module) HTTP_DEGRADATION=YES ;;
|
||||
--with-http_slice_module) HTTP_SLICE=YES ;;
|
||||
|
||||
--without-http_charset_module) HTTP_CHARSET=NO ;;
|
||||
--without-http_gzip_module) HTTP_GZIP=NO ;;
|
||||
|
|
@ -227,6 +266,7 @@ do
|
|||
--without-http_userid_module) HTTP_USERID=NO ;;
|
||||
--without-http_access_module) HTTP_ACCESS=NO ;;
|
||||
--without-http_auth_basic_module) HTTP_AUTH_BASIC=NO ;;
|
||||
--without-http_mirror_module) HTTP_MIRROR=NO ;;
|
||||
--without-http_autoindex_module) HTTP_AUTOINDEX=NO ;;
|
||||
--without-http_status_module) HTTP_STATUS=NO ;;
|
||||
--without-http_geo_module) HTTP_GEO=NO ;;
|
||||
|
|
@ -238,23 +278,23 @@ do
|
|||
--without-http_fastcgi_module) HTTP_FASTCGI=NO ;;
|
||||
--without-http_uwsgi_module) HTTP_UWSGI=NO ;;
|
||||
--without-http_scgi_module) HTTP_SCGI=NO ;;
|
||||
--without-http_grpc_module) HTTP_GRPC=NO ;;
|
||||
--without-http_memcached_module) HTTP_MEMCACHED=NO ;;
|
||||
--without-http_limit_zone_module)
|
||||
HTTP_LIMIT_CONN=NO
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--without-http_limit_zone_module\" option is deprecated, \
|
||||
use the \"--without-http_limit_conn_module\" option instead"
|
||||
;;
|
||||
--without-http_limit_conn_module) HTTP_LIMIT_CONN=NO ;;
|
||||
--without-http_limit_req_module) HTTP_LIMIT_REQ=NO ;;
|
||||
--without-http_empty_gif_module) HTTP_EMPTY_GIF=NO ;;
|
||||
--without-http_browser_module) HTTP_BROWSER=NO ;;
|
||||
--without-http_upstream_hash_module) HTTP_UPSTREAM_HASH=NO ;;
|
||||
--without-http_upstream_ip_hash_module) HTTP_UPSTREAM_IP_HASH=NO ;;
|
||||
--without-http_upstream_least_conn_module)
|
||||
HTTP_UPSTREAM_LEAST_CONN=NO ;;
|
||||
--without-http_upstream_random_module)
|
||||
HTTP_UPSTREAM_RANDOM=NO ;;
|
||||
--without-http_upstream_keepalive_module) HTTP_UPSTREAM_KEEPALIVE=NO ;;
|
||||
--without-http_upstream_zone_module) HTTP_UPSTREAM_ZONE=NO ;;
|
||||
|
||||
--with-http_perl_module) HTTP_PERL=YES ;;
|
||||
--with-http_perl_module=dynamic) HTTP_PERL=DYNAMIC ;;
|
||||
--with-perl_modules_path=*) NGX_PERL_MODULES="$value" ;;
|
||||
--with-perl=*) NGX_PERL="$value" ;;
|
||||
|
||||
|
|
@ -262,18 +302,60 @@ use the \"--without-http_limit_conn_module\" option instead"
|
|||
--with-http_stub_status_module) HTTP_STUB_STATUS=YES ;;
|
||||
|
||||
--with-mail) MAIL=YES ;;
|
||||
--with-mail=dynamic) MAIL=DYNAMIC ;;
|
||||
--with-mail_ssl_module) MAIL_SSL=YES ;;
|
||||
# STUB
|
||||
--with-imap) MAIL=YES ;;
|
||||
--with-imap_ssl_module) MAIL_SSL=YES ;;
|
||||
--with-imap)
|
||||
MAIL=YES
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--with-imap\" option is deprecated, \
|
||||
use the \"--with-mail\" option instead"
|
||||
;;
|
||||
--with-imap_ssl_module)
|
||||
MAIL_SSL=YES
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--with-imap_ssl_module\" option is deprecated, \
|
||||
use the \"--with-mail_ssl_module\" option instead"
|
||||
;;
|
||||
--without-mail_pop3_module) MAIL_POP3=NO ;;
|
||||
--without-mail_imap_module) MAIL_IMAP=NO ;;
|
||||
--without-mail_smtp_module) MAIL_SMTP=NO ;;
|
||||
|
||||
--with-stream) STREAM=YES ;;
|
||||
--with-stream=dynamic) STREAM=DYNAMIC ;;
|
||||
--with-stream_ssl_module) STREAM_SSL=YES ;;
|
||||
--with-stream_realip_module) STREAM_REALIP=YES ;;
|
||||
--with-stream_geoip_module) STREAM_GEOIP=YES ;;
|
||||
--with-stream_geoip_module=dynamic)
|
||||
STREAM_GEOIP=DYNAMIC ;;
|
||||
--with-stream_ssl_preread_module)
|
||||
STREAM_SSL_PREREAD=YES ;;
|
||||
--without-stream_limit_conn_module)
|
||||
STREAM_LIMIT_CONN=NO ;;
|
||||
--without-stream_access_module) STREAM_ACCESS=NO ;;
|
||||
--without-stream_geo_module) STREAM_GEO=NO ;;
|
||||
--without-stream_map_module) STREAM_MAP=NO ;;
|
||||
--without-stream_split_clients_module)
|
||||
STREAM_SPLIT_CLIENTS=NO ;;
|
||||
--without-stream_return_module) STREAM_RETURN=NO ;;
|
||||
--without-stream_pass_module) STREAM_PASS=NO ;;
|
||||
--without-stream_set_module) STREAM_SET=NO ;;
|
||||
--without-stream_upstream_hash_module)
|
||||
STREAM_UPSTREAM_HASH=NO ;;
|
||||
--without-stream_upstream_least_conn_module)
|
||||
STREAM_UPSTREAM_LEAST_CONN=NO ;;
|
||||
--without-stream_upstream_random_module)
|
||||
STREAM_UPSTREAM_RANDOM=NO ;;
|
||||
--without-stream_upstream_zone_module)
|
||||
STREAM_UPSTREAM_ZONE=NO ;;
|
||||
|
||||
--with-google_perftools_module) NGX_GOOGLE_PERFTOOLS=YES ;;
|
||||
--with-cpp_test_module) NGX_CPP_TEST=YES ;;
|
||||
|
||||
--add-module=*) NGX_ADDONS="$NGX_ADDONS $value" ;;
|
||||
--add-dynamic-module=*) DYNAMIC_ADDONS="$DYNAMIC_ADDONS $value" ;;
|
||||
|
||||
--with-compat) NGX_COMPAT=YES ;;
|
||||
|
||||
--with-cc=*) CC="$value" ;;
|
||||
--with-cpp=*) CPP="$value" ;;
|
||||
|
|
@ -287,17 +369,36 @@ use the \"--without-http_limit_conn_module\" option instead"
|
|||
--with-pcre=*) PCRE="$value" ;;
|
||||
--with-pcre-opt=*) PCRE_OPT="$value" ;;
|
||||
--with-pcre-jit) PCRE_JIT=YES ;;
|
||||
--without-pcre2) PCRE2=DISABLED ;;
|
||||
|
||||
--with-openssl=*) OPENSSL="$value" ;;
|
||||
--with-openssl-opt=*) OPENSSL_OPT="$value" ;;
|
||||
|
||||
--with-md5=*) MD5="$value" ;;
|
||||
--with-md5-opt=*) MD5_OPT="$value" ;;
|
||||
--with-md5-asm) MD5_ASM=YES ;;
|
||||
--with-md5=*)
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--with-md5\" option is deprecated"
|
||||
;;
|
||||
--with-md5-opt=*)
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--with-md5-opt\" option is deprecated"
|
||||
;;
|
||||
--with-md5-asm)
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--with-md5-asm\" option is deprecated"
|
||||
;;
|
||||
|
||||
--with-sha1=*) SHA1="$value" ;;
|
||||
--with-sha1-opt=*) SHA1_OPT="$value" ;;
|
||||
--with-sha1-asm) SHA1_ASM=YES ;;
|
||||
--with-sha1=*)
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--with-sha1\" option is deprecated"
|
||||
;;
|
||||
--with-sha1-opt=*)
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--with-sha1-opt\" option is deprecated"
|
||||
;;
|
||||
--with-sha1-asm)
|
||||
NGX_POST_CONF_MSG="$NGX_POST_CONF_MSG
|
||||
$0: warning: the \"--with-sha1-asm\" option is deprecated"
|
||||
;;
|
||||
|
||||
--with-zlib=*) ZLIB="$value" ;;
|
||||
--with-zlib-opt=*) ZLIB_OPT="$value" ;;
|
||||
|
|
@ -309,7 +410,6 @@ use the \"--without-http_limit_conn_module\" option instead"
|
|||
--test-build-devpoll) NGX_TEST_BUILD_DEVPOLL=YES ;;
|
||||
--test-build-eventport) NGX_TEST_BUILD_EVENTPORT=YES ;;
|
||||
--test-build-epoll) NGX_TEST_BUILD_EPOLL=YES ;;
|
||||
--test-build-rtsig) NGX_TEST_BUILD_RTSIG=YES ;;
|
||||
--test-build-solaris-sendfilev) NGX_TEST_BUILD_SOLARIS_SENDFILEV=YES ;;
|
||||
|
||||
*)
|
||||
|
|
@ -331,6 +431,7 @@ cat << END
|
|||
|
||||
--prefix=PATH set installation prefix
|
||||
--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
|
||||
|
|
@ -341,24 +442,32 @@ cat << END
|
|||
--group=GROUP set non-privileged group for
|
||||
worker processes
|
||||
|
||||
--build=NAME set build name
|
||||
--builddir=DIR set build directory
|
||||
|
||||
--with-rtsig_module enable rtsig module
|
||||
--with-select_module enable select module
|
||||
--without-select_module disable select module
|
||||
--with-poll_module enable poll module
|
||||
--without-poll_module disable poll module
|
||||
|
||||
--with-threads enable thread pool support
|
||||
|
||||
--with-file-aio enable file AIO support
|
||||
--with-ipv6 enable IPv6 support
|
||||
|
||||
--without-quic_bpf_module disable ngx_quic_bpf_module
|
||||
|
||||
--with-http_ssl_module enable ngx_http_ssl_module
|
||||
--with-http_spdy_module enable ngx_http_spdy_module
|
||||
--with-http_v2_module enable ngx_http_v2_module
|
||||
--with-http_v3_module enable ngx_http_v3_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
|
||||
|
|
@ -369,6 +478,7 @@ cat << END
|
|||
--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
|
||||
|
|
@ -377,6 +487,7 @@ cat << END
|
|||
--without-http_userid_module disable ngx_http_userid_module
|
||||
--without-http_access_module disable ngx_http_access_module
|
||||
--without-http_auth_basic_module disable ngx_http_auth_basic_module
|
||||
--without-http_mirror_module disable ngx_http_mirror_module
|
||||
--without-http_autoindex_module disable ngx_http_autoindex_module
|
||||
--without-http_geo_module disable ngx_http_geo_module
|
||||
--without-http_map_module disable ngx_http_map_module
|
||||
|
|
@ -387,19 +498,27 @@ cat << END
|
|||
--without-http_fastcgi_module disable ngx_http_fastcgi_module
|
||||
--without-http_uwsgi_module disable ngx_http_uwsgi_module
|
||||
--without-http_scgi_module disable ngx_http_scgi_module
|
||||
--without-http_grpc_module disable ngx_http_grpc_module
|
||||
--without-http_memcached_module disable ngx_http_memcached_module
|
||||
--without-http_limit_conn_module disable ngx_http_limit_conn_module
|
||||
--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
|
||||
disable ngx_http_upstream_least_conn_module
|
||||
--without-http_upstream_random_module
|
||||
disable ngx_http_upstream_random_module
|
||||
--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-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
|
||||
|
||||
|
|
@ -419,15 +538,44 @@ cat << END
|
|||
--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
|
||||
--with-stream_realip_module enable ngx_stream_realip_module
|
||||
--with-stream_geoip_module enable ngx_stream_geoip_module
|
||||
--with-stream_geoip_module=dynamic enable dynamic ngx_stream_geoip_module
|
||||
--with-stream_ssl_preread_module enable ngx_stream_ssl_preread_module
|
||||
--without-stream_limit_conn_module disable ngx_stream_limit_conn_module
|
||||
--without-stream_access_module disable ngx_stream_access_module
|
||||
--without-stream_geo_module disable ngx_stream_geo_module
|
||||
--without-stream_map_module disable ngx_stream_map_module
|
||||
--without-stream_split_clients_module
|
||||
disable ngx_stream_split_clients_module
|
||||
--without-stream_return_module disable ngx_stream_return_module
|
||||
--without-stream_pass_module disable ngx_stream_pass_module
|
||||
--without-stream_set_module disable ngx_stream_set_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_random_module
|
||||
disable ngx_stream_upstream_random_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-compat dynamic modules compatibility
|
||||
|
||||
--with-cc=PATH set C compiler pathname
|
||||
--with-cpp=PATH set C preprocessor pathname
|
||||
|
|
@ -442,14 +590,7 @@ cat << END
|
|||
--with-pcre=DIR set path to PCRE library sources
|
||||
--with-pcre-opt=OPTIONS set additional build 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 build options for md5
|
||||
--with-md5-asm use md5 assembler sources
|
||||
|
||||
--with-sha1=DIR set path to sha1 library sources
|
||||
--with-sha1-opt=OPTIONS set additional build options for sha1
|
||||
--with-sha1-asm use sha1 assembler sources
|
||||
--without-pcre2 do not use PCRE2 library
|
||||
|
||||
--with-zlib=DIR set path to zlib library sources
|
||||
--with-zlib-opt=OPTIONS set additional build options for zlib
|
||||
|
|
@ -471,24 +612,13 @@ END
|
|||
fi
|
||||
|
||||
|
||||
if [ $HTTP = NO ]; then
|
||||
HTTP_CHARSET=NO
|
||||
HTTP_GZIP=NO
|
||||
HTTP_SSI=NO
|
||||
HTTP_USERID=NO
|
||||
HTTP_ACCESS=NO
|
||||
HTTP_STATUS=NO
|
||||
HTTP_REWRITE=NO
|
||||
HTTP_PROXY=NO
|
||||
HTTP_FASTCGI=NO
|
||||
fi
|
||||
|
||||
|
||||
if [ ".$NGX_PLATFORM" = ".win32" ]; then
|
||||
NGX_WINE=$WINE
|
||||
fi
|
||||
|
||||
|
||||
NGX_SBIN_PATH=${NGX_SBIN_PATH:-sbin/nginx}
|
||||
NGX_MODULES_PATH=${NGX_MODULES_PATH:-modules}
|
||||
NGX_CONF_PATH=${NGX_CONF_PATH:-conf/nginx.conf}
|
||||
NGX_CONF_PREFIX=`dirname $NGX_CONF_PATH`
|
||||
NGX_PID_PATH=${NGX_PID_PATH:-logs/nginx.pid}
|
||||
|
|
|
|||
37
auto/os/conf
37
auto/os/conf
|
|
@ -41,6 +41,14 @@ case "$NGX_PLATFORM" in
|
|||
'
|
||||
;;
|
||||
|
||||
NetBSD:*)
|
||||
CORE_INCS="$UNIX_INCS"
|
||||
CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
|
||||
CORE_SRCS="$UNIX_SRCS"
|
||||
|
||||
NGX_RPATH=YES
|
||||
;;
|
||||
|
||||
HP-UX:*)
|
||||
# HP/UX
|
||||
have=NGX_HPUX . auto/have_headers
|
||||
|
|
@ -60,6 +68,15 @@ case "$NGX_PLATFORM" in
|
|||
CORE_SRCS="$UNIX_SRCS"
|
||||
;;
|
||||
|
||||
GNU:*)
|
||||
# GNU Hurd
|
||||
have=NGX_GNU_HURD . auto/have_headers
|
||||
CORE_INCS="$UNIX_INCS"
|
||||
CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
|
||||
CORE_SRCS="$UNIX_SRCS"
|
||||
CC_AUX_FLAGS="$CC_AUX_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
;;
|
||||
|
||||
*)
|
||||
CORE_INCS="$UNIX_INCS"
|
||||
CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
|
||||
|
|
@ -93,6 +110,26 @@ case "$NGX_MACHINE" in
|
|||
NGX_MACH_CACHE_LINE=64
|
||||
;;
|
||||
|
||||
aarch64 | arm64)
|
||||
have=NGX_ALIGNMENT value=16 . auto/define
|
||||
NGX_MACH_CACHE_LINE=64
|
||||
;;
|
||||
|
||||
ppc64* | powerpc64*)
|
||||
have=NGX_ALIGNMENT value=16 . auto/define
|
||||
NGX_MACH_CACHE_LINE=128
|
||||
;;
|
||||
|
||||
riscv64)
|
||||
have=NGX_ALIGNMENT value=16 . auto/define
|
||||
NGX_MACH_CACHE_LINE=64
|
||||
;;
|
||||
|
||||
s390x)
|
||||
have=NGX_ALIGNMENT value=16 . auto/define
|
||||
NGX_MACH_CACHE_LINE=256
|
||||
;;
|
||||
|
||||
*)
|
||||
have=NGX_ALIGNMENT value=16 . auto/define
|
||||
NGX_MACH_CACHE_LINE=32
|
||||
|
|
|
|||
|
|
@ -14,6 +14,12 @@ CORE_SRCS="$UNIX_SRCS $DARWIN_SRCS"
|
|||
ngx_spacer='
|
||||
'
|
||||
|
||||
MAIN_LINK=
|
||||
MODULE_LINK="-shared -Wl,-undefined,dynamic_lookup"
|
||||
|
||||
CC_AUX_FLAGS="$CC_AUX_FLAGS -D__APPLE_USE_RFC_3542"
|
||||
|
||||
|
||||
# kqueue
|
||||
|
||||
echo " + kqueue found"
|
||||
|
|
@ -83,7 +89,6 @@ ngx_feature_test="int kq;
|
|||
|
||||
# sendfile()
|
||||
|
||||
CC_AUX_FLAGS="$CC_AUX_FLAGS"
|
||||
ngx_feature="sendfile()"
|
||||
ngx_feature_name="NGX_HAVE_SENDFILE"
|
||||
ngx_feature_run=yes
|
||||
|
|
@ -100,7 +105,6 @@ ngx_feature_test="int s = 0, fd = 1;
|
|||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=NGX_HAVE_SENDFILE . auto/have
|
||||
CORE_SRCS="$CORE_SRCS $DARWIN_SENDFILE_SRCS"
|
||||
fi
|
||||
|
||||
|
|
@ -111,6 +115,6 @@ ngx_feature_run=no
|
|||
ngx_feature_incs="#include <libkern/OSAtomic.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="int32_t lock, n;
|
||||
n = OSAtomicCompareAndSwap32Barrier(0, 1, &lock)"
|
||||
ngx_feature_test="int32_t lock = 0;
|
||||
if (!OSAtomicCompareAndSwap32Barrier(0, 1, &lock)) return 1"
|
||||
. auto/feature
|
||||
|
|
|
|||
|
|
@ -44,10 +44,10 @@ if [ $osreldate -gt 300007 ]; then
|
|||
CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS"
|
||||
fi
|
||||
|
||||
if [ $osreldate -gt 502103 ]; then
|
||||
if [ $osreldate -gt 1100093 ]; then
|
||||
echo " + sendfile()'s SF_NODISKIO found"
|
||||
|
||||
have=NGX_HAVE_AIO_SENDFILE . auto/have
|
||||
have=NGX_HAVE_SENDFILE_NODISKIO . auto/have
|
||||
fi
|
||||
|
||||
# POSIX semaphores
|
||||
|
|
@ -78,7 +78,7 @@ fi
|
|||
NGX_KQUEUE_CHECKED=YES
|
||||
|
||||
|
||||
# kqueue's NOTE_LAWAT
|
||||
# kqueue's NOTE_LOWAT
|
||||
|
||||
if [ \( $version -lt 500000 -a $version -ge 430000 \) \
|
||||
-o $version -ge 500018 ]
|
||||
|
|
@ -97,45 +97,6 @@ then
|
|||
fi
|
||||
|
||||
|
||||
if [ $USE_THREADS = "rfork" ]; then
|
||||
|
||||
echo " + using rfork()"
|
||||
|
||||
# # kqueue's EVFILT_SIGNAL is safe
|
||||
#
|
||||
# if [ $version -gt 460101 ]; then
|
||||
# echo " + kqueue's EVFILT_SIGNAL is safe"
|
||||
# have=NGX_HAVE_SAFE_EVFILT_SIGNAL . auto/have
|
||||
# else
|
||||
# echo "$0: error: the kqueue's EVFILT_SIGNAL is unsafe on this"
|
||||
# echo "FreeBSD version, so --with-threads=rfork could not be used"
|
||||
# echo
|
||||
#
|
||||
# exit 1
|
||||
# fi
|
||||
fi
|
||||
|
||||
|
||||
if [ $EVENT_AIO = YES ]; then
|
||||
if [ \( $version -lt 500000 -a $version -ge 430000 \) \
|
||||
-o $version -ge 500014 ]
|
||||
then
|
||||
have=NGX_HAVE_AIO . auto/have
|
||||
EVENT_MODULES="$EVENT_MODULES $AIO_MODULE"
|
||||
CORE_SRCS="$CORE_SRCS $AIO_SRCS"
|
||||
else
|
||||
|
||||
cat << END
|
||||
|
||||
$0: error: the kqueue does not support AIO on this FreeBSD version
|
||||
|
||||
END
|
||||
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# cpuset_setaffinity()
|
||||
|
||||
if [ $version -ge 701000 ]; then
|
||||
|
|
|
|||
153
auto/os/linux
153
auto/os/linux
|
|
@ -26,18 +26,6 @@ version=$((`uname -r \
|
|||
version=${version:-0}
|
||||
|
||||
|
||||
# enable the rt signals on Linux between 2.2.19 and 2.6.17
|
||||
|
||||
if [ \( $version -ge 131603 -a $version -lt 132626 \) -o $EVENT_RTSIG = YES ]
|
||||
then
|
||||
echo " + rt signals found"
|
||||
have=NGX_HAVE_RTSIG . auto/have
|
||||
EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
|
||||
CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
|
||||
EVENT_FOUND=YES
|
||||
fi
|
||||
|
||||
|
||||
# posix_fadvise64() had been implemented in 2.5.60
|
||||
|
||||
if [ $version -lt 132412 ]; then
|
||||
|
|
@ -56,6 +44,7 @@ ngx_feature_test="int efd = 0;
|
|||
struct epoll_event ee;
|
||||
ee.events = EPOLLIN|EPOLLOUT|EPOLLET;
|
||||
ee.data.ptr = NULL;
|
||||
(void) ee;
|
||||
efd = epoll_create(100);
|
||||
if (efd == -1) return 1;"
|
||||
. auto/feature
|
||||
|
|
@ -81,6 +70,47 @@ if [ $ngx_found = yes ]; then
|
|||
ee.data.ptr = NULL;
|
||||
epoll_ctl(efd, EPOLL_CTL_ADD, fd, &ee)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# EPOLLEXCLUSIVE appeared in Linux 4.5, glibc 2.24
|
||||
|
||||
ngx_feature="EPOLLEXCLUSIVE"
|
||||
ngx_feature_name="NGX_HAVE_EPOLLEXCLUSIVE"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/epoll.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="int efd = 0, fd = 0;
|
||||
struct epoll_event ee;
|
||||
ee.events = EPOLLIN|EPOLLEXCLUSIVE;
|
||||
ee.data.ptr = NULL;
|
||||
epoll_ctl(efd, EPOLL_CTL_ADD, fd, &ee)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# eventfd()
|
||||
|
||||
ngx_feature="eventfd()"
|
||||
ngx_feature_name="NGX_HAVE_EVENTFD"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/eventfd.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="(void) eventfd(0, 0)"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=NGX_HAVE_SYS_EVENTFD_H . auto/have
|
||||
fi
|
||||
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
ngx_feature="eventfd() (SYS_eventfd)"
|
||||
ngx_feature_incs="#include <sys/syscall.h>"
|
||||
ngx_feature_test="(void) SYS_eventfd"
|
||||
. auto/feature
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
|
@ -152,17 +182,37 @@ ngx_feature_test="if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) == -1) return 1"
|
|||
. auto/feature
|
||||
|
||||
|
||||
# sched_setaffinity()
|
||||
# prctl(PR_SET_KEEPCAPS)
|
||||
|
||||
ngx_feature="sched_setaffinity()"
|
||||
ngx_feature_name="NGX_HAVE_SCHED_SETAFFINITY"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sched.h>"
|
||||
ngx_feature="prctl(PR_SET_KEEPCAPS)"
|
||||
ngx_feature_name="NGX_HAVE_PR_SET_KEEPCAPS"
|
||||
ngx_feature_run=yes
|
||||
ngx_feature_incs="#include <sys/prctl.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="cpu_set_t mask;
|
||||
CPU_ZERO(&mask);
|
||||
sched_setaffinity(0, sizeof(cpu_set_t), &mask)"
|
||||
ngx_feature_test="if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0) == -1) return 1"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# capabilities
|
||||
|
||||
ngx_feature="capabilities"
|
||||
ngx_feature_name="NGX_HAVE_CAPABILITIES"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <linux/capability.h>
|
||||
#include <sys/syscall.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="struct __user_cap_data_struct data;
|
||||
struct __user_cap_header_struct header;
|
||||
|
||||
header.version = _LINUX_CAPABILITY_VERSION_1;
|
||||
data.effective = CAP_TO_MASK(CAP_NET_RAW);
|
||||
data.permitted = 0;
|
||||
|
||||
(void) header;
|
||||
(void) data;
|
||||
(void) SYS_capset"
|
||||
. auto/feature
|
||||
|
||||
|
||||
|
|
@ -178,8 +228,71 @@ ngx_feature_test="struct crypt_data cd;
|
|||
crypt_r(\"key\", \"salt\", &cd);"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CRYPT_LIB="-lcrypt"
|
||||
fi
|
||||
|
||||
|
||||
ngx_include="sys/vfs.h"; . auto/include
|
||||
|
||||
|
||||
# BPF sockhash
|
||||
|
||||
ngx_feature="BPF sockhash"
|
||||
ngx_feature_name="NGX_HAVE_BPF"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <linux/bpf.h>
|
||||
#include <sys/syscall.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="union bpf_attr attr = { 0 };
|
||||
|
||||
attr.map_flags = 0;
|
||||
attr.map_type = BPF_MAP_TYPE_SOCKHASH;
|
||||
|
||||
syscall(__NR_bpf, 0, &attr, 0);"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_SRCS="$CORE_SRCS src/core/ngx_bpf.c"
|
||||
CORE_DEPS="$CORE_DEPS src/core/ngx_bpf.h"
|
||||
|
||||
if [ $QUIC_BPF != NONE ]; then
|
||||
QUIC_BPF=YES
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
ngx_feature="SO_COOKIE"
|
||||
ngx_feature_name="NGX_HAVE_SO_COOKIE"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
$NGX_INCLUDE_INTTYPES_H"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="socklen_t optlen = sizeof(uint64_t);
|
||||
uint64_t cookie;
|
||||
getsockopt(0, SOL_SOCKET, SO_COOKIE, &cookie, &optlen)"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
SO_COOKIE_FOUND=YES
|
||||
fi
|
||||
|
||||
|
||||
# UDP segmentation offloading
|
||||
|
||||
ngx_feature="UDP_SEGMENT"
|
||||
ngx_feature_name="NGX_HAVE_UDP_SEGMENT"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/udp.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="socklen_t optlen = sizeof(int);
|
||||
int val;
|
||||
getsockopt(0, SOL_UDP, UDP_SEGMENT, &val, &optlen)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ ngx_feature_run=no
|
|||
ngx_feature_incs="#include <port.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="int n = port_create()"
|
||||
ngx_feature_test="(void) port_create()"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
|
|
|
|||
|
|
@ -11,11 +11,18 @@ CORE_SRCS="$WIN32_SRCS $IOCP_SRCS"
|
|||
OS_CONFIG="$WIN32_CONFIG"
|
||||
NGX_ICONS="$NGX_WIN32_ICONS"
|
||||
SELECT_SRCS=$WIN32_SELECT_SRCS
|
||||
POLL_SRCS=$WIN32_POLL_SRCS
|
||||
|
||||
ngx_pic_opt=
|
||||
ngx_binext=".exe"
|
||||
|
||||
case "$NGX_CC_NAME" in
|
||||
|
||||
gcc)
|
||||
clang | gcc)
|
||||
CORE_LIBS="$CORE_LIBS -ladvapi32 -lws2_32"
|
||||
MAIN_LINK="$MAIN_LINK -Wl,--export-all-symbols"
|
||||
MAIN_LINK="$MAIN_LINK -Wl,--out-implib=$NGX_OBJS/libnginx.a"
|
||||
MODULE_LINK="-shared -L $NGX_OBJS -lnginx"
|
||||
;;
|
||||
|
||||
*)
|
||||
|
|
@ -25,16 +32,8 @@ case "$NGX_CC_NAME" in
|
|||
esac
|
||||
|
||||
EVENT_MODULES="$EVENT_MODULES $IOCP_MODULE"
|
||||
EVENT_FOUND=YES
|
||||
#EVENT_FOUND=YES
|
||||
|
||||
if [ $EVENT_SELECT = NO ]; then
|
||||
CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
|
||||
EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
|
||||
fi
|
||||
have=NGX_HAVE_INET6 . auto/have
|
||||
|
||||
if [ $NGX_IPV6 = YES ]; then
|
||||
have=NGX_HAVE_INET6 . auto/have
|
||||
fi
|
||||
|
||||
have=NGX_HAVE_AIO . auto/have
|
||||
have=NGX_HAVE_IOCP . auto/have
|
||||
|
|
|
|||
352
auto/sources
352
auto/sources
|
|
@ -19,6 +19,7 @@ CORE_DEPS="src/core/nginx.h \
|
|||
src/core/ngx_queue.h \
|
||||
src/core/ngx_string.h \
|
||||
src/core/ngx_parse.h \
|
||||
src/core/ngx_parse_time.h \
|
||||
src/core/ngx_inet.h \
|
||||
src/core/ngx_file.h \
|
||||
src/core/ngx_crc.h \
|
||||
|
|
@ -28,16 +29,19 @@ CORE_DEPS="src/core/nginx.h \
|
|||
src/core/ngx_sha1.h \
|
||||
src/core/ngx_rbtree.h \
|
||||
src/core/ngx_radix_tree.h \
|
||||
src/core/ngx_rwlock.h \
|
||||
src/core/ngx_slab.h \
|
||||
src/core/ngx_times.h \
|
||||
src/core/ngx_shmtx.h \
|
||||
src/core/ngx_connection.h \
|
||||
src/core/ngx_cycle.h \
|
||||
src/core/ngx_conf_file.h \
|
||||
src/core/ngx_module.h \
|
||||
src/core/ngx_resolver.h \
|
||||
src/core/ngx_open_file_cache.h \
|
||||
src/core/ngx_crypt.h \
|
||||
src/core/ngx_proxy_protocol.h"
|
||||
src/core/ngx_proxy_protocol.h \
|
||||
src/core/ngx_syslog.h"
|
||||
|
||||
|
||||
CORE_SRCS="src/core/nginx.c \
|
||||
|
|
@ -51,11 +55,13 @@ CORE_SRCS="src/core/nginx.c \
|
|||
src/core/ngx_output_chain.c \
|
||||
src/core/ngx_string.c \
|
||||
src/core/ngx_parse.c \
|
||||
src/core/ngx_parse_time.c \
|
||||
src/core/ngx_inet.c \
|
||||
src/core/ngx_file.c \
|
||||
src/core/ngx_crc32.c \
|
||||
src/core/ngx_murmurhash.c \
|
||||
src/core/ngx_md5.c \
|
||||
src/core/ngx_sha1.c \
|
||||
src/core/ngx_rbtree.c \
|
||||
src/core/ngx_radix_tree.c \
|
||||
src/core/ngx_slab.c \
|
||||
|
|
@ -64,41 +70,33 @@ CORE_SRCS="src/core/nginx.c \
|
|||
src/core/ngx_connection.c \
|
||||
src/core/ngx_cycle.c \
|
||||
src/core/ngx_spinlock.c \
|
||||
src/core/ngx_rwlock.c \
|
||||
src/core/ngx_cpuinfo.c \
|
||||
src/core/ngx_conf_file.c \
|
||||
src/core/ngx_module.c \
|
||||
src/core/ngx_resolver.c \
|
||||
src/core/ngx_open_file_cache.c \
|
||||
src/core/ngx_crypt.c \
|
||||
src/core/ngx_proxy_protocol.c"
|
||||
|
||||
|
||||
REGEX_MODULE=ngx_regex_module
|
||||
REGEX_DEPS=src/core/ngx_regex.h
|
||||
REGEX_SRCS=src/core/ngx_regex.c
|
||||
|
||||
|
||||
OPENSSL_MODULE=ngx_openssl_module
|
||||
OPENSSL_DEPS=src/event/ngx_event_openssl.h
|
||||
OPENSSL_SRCS="src/event/ngx_event_openssl.c \
|
||||
src/event/ngx_event_openssl_stapling.c"
|
||||
src/core/ngx_proxy_protocol.c \
|
||||
src/core/ngx_syslog.c"
|
||||
|
||||
|
||||
EVENT_MODULES="ngx_events_module ngx_event_core_module"
|
||||
|
||||
EVENT_INCS="src/event src/event/modules"
|
||||
EVENT_INCS="src/event src/event/modules src/event/quic"
|
||||
|
||||
EVENT_DEPS="src/event/ngx_event.h \
|
||||
src/event/ngx_event_timer.h \
|
||||
src/event/ngx_event_posted.h \
|
||||
src/event/ngx_event_busy_lock.h \
|
||||
src/event/ngx_event_connect.h \
|
||||
src/event/ngx_event_pipe.h"
|
||||
src/event/ngx_event_pipe.h \
|
||||
src/event/ngx_event_udp.h"
|
||||
|
||||
EVENT_SRCS="src/event/ngx_event.c \
|
||||
src/event/ngx_event_timer.c \
|
||||
src/event/ngx_event_posted.c \
|
||||
src/event/ngx_event_busy_lock.c \
|
||||
src/event/ngx_event_accept.c \
|
||||
src/event/ngx_event_udp.c \
|
||||
src/event/ngx_event_connect.c \
|
||||
src/event/ngx_event_pipe.c"
|
||||
|
||||
|
|
@ -109,6 +107,7 @@ WIN32_SELECT_SRCS=src/event/modules/ngx_win32_select_module.c
|
|||
|
||||
POLL_MODULE=ngx_poll_module
|
||||
POLL_SRCS=src/event/modules/ngx_poll_module.c
|
||||
WIN32_POLL_SRCS=src/event/modules/ngx_win32_poll_module.c
|
||||
|
||||
KQUEUE_MODULE=ngx_kqueue_module
|
||||
KQUEUE_SRCS=src/event/modules/ngx_kqueue_module.c
|
||||
|
|
@ -122,19 +121,9 @@ EVENTPORT_SRCS=src/event/modules/ngx_eventport_module.c
|
|||
EPOLL_MODULE=ngx_epoll_module
|
||||
EPOLL_SRCS=src/event/modules/ngx_epoll_module.c
|
||||
|
||||
RTSIG_MODULE=ngx_rtsig_module
|
||||
RTSIG_SRCS=src/event/modules/ngx_rtsig_module.c
|
||||
|
||||
IOCP_MODULE=ngx_iocp_module
|
||||
IOCP_SRCS=src/event/modules/ngx_iocp_module.c
|
||||
|
||||
AIO_MODULE=ngx_aio_module
|
||||
AIO_SRCS="src/event/modules/ngx_aio_module.c \
|
||||
src/os/unix/ngx_aio_read.c \
|
||||
src/os/unix/ngx_aio_write.c \
|
||||
src/os/unix/ngx_aio_read_chain.c \
|
||||
src/os/unix/ngx_aio_write_chain.c"
|
||||
|
||||
FILE_AIO_SRCS="src/os/unix/ngx_file_aio_read.c"
|
||||
LINUX_AIO_SRCS="src/os/unix/ngx_linux_aio_read.c"
|
||||
|
||||
|
|
@ -156,6 +145,7 @@ UNIX_DEPS="$CORE_DEPS $EVENT_DEPS \
|
|||
src/os/unix/ngx_socket.h \
|
||||
src/os/unix/ngx_os.h \
|
||||
src/os/unix/ngx_user.h \
|
||||
src/os/unix/ngx_dlopen.h \
|
||||
src/os/unix/ngx_process_cycle.h"
|
||||
|
||||
# add to UNIX_DEPS
|
||||
|
|
@ -179,6 +169,8 @@ UNIX_SRCS="$CORE_SRCS $EVENT_SRCS \
|
|||
src/os/unix/ngx_udp_recv.c \
|
||||
src/os/unix/ngx_send.c \
|
||||
src/os/unix/ngx_writev_chain.c \
|
||||
src/os/unix/ngx_udp_send.c \
|
||||
src/os/unix/ngx_udp_sendmsg_chain.c \
|
||||
src/os/unix/ngx_channel.c \
|
||||
src/os/unix/ngx_shmem.c \
|
||||
src/os/unix/ngx_process.c \
|
||||
|
|
@ -187,18 +179,21 @@ UNIX_SRCS="$CORE_SRCS $EVENT_SRCS \
|
|||
src/os/unix/ngx_setproctitle.c \
|
||||
src/os/unix/ngx_posix_init.c \
|
||||
src/os/unix/ngx_user.c \
|
||||
src/os/unix/ngx_dlopen.c \
|
||||
src/os/unix/ngx_process_cycle.c"
|
||||
|
||||
POSIX_DEPS=src/os/unix/ngx_posix_config.h
|
||||
|
||||
THREAD_POOL_MODULE=ngx_thread_pool_module
|
||||
THREAD_POOL_DEPS=src/core/ngx_thread_pool.h
|
||||
THREAD_POOL_SRCS="src/core/ngx_thread_pool.c
|
||||
src/os/unix/ngx_thread_cond.c
|
||||
src/os/unix/ngx_thread_mutex.c
|
||||
src/os/unix/ngx_thread_id.c"
|
||||
|
||||
FREEBSD_DEPS="src/os/unix/ngx_freebsd_config.h src/os/unix/ngx_freebsd.h"
|
||||
FREEBSD_SRCS=src/os/unix/ngx_freebsd_init.c
|
||||
FREEBSD_SENDFILE_SRCS=src/os/unix/ngx_freebsd_sendfile_chain.c
|
||||
FREEBSD_RFORK_DEPS="src/os/unix/ngx_freebsd_rfork_thread.h"
|
||||
FREEBSD_RFORK_SRCS="src/os/unix/ngx_freebsd_rfork_thread.c"
|
||||
FREEBSD_RFORK_THREAD_SRCS="src/os/unix/rfork_thread.S"
|
||||
|
||||
PTHREAD_SRCS="src/os/unix/ngx_pthread_thread.c"
|
||||
|
||||
LINUX_DEPS="src/os/unix/ngx_linux_config.h src/os/unix/ngx_linux.h"
|
||||
LINUX_SRCS=src/os/unix/ngx_linux_init.c
|
||||
|
|
@ -230,6 +225,7 @@ WIN32_DEPS="$CORE_DEPS $EVENT_DEPS \
|
|||
src/os/win32/ngx_socket.h \
|
||||
src/os/win32/ngx_os.h \
|
||||
src/os/win32/ngx_user.h \
|
||||
src/os/win32/ngx_dlopen.h \
|
||||
src/os/win32/ngx_process_cycle.h"
|
||||
|
||||
WIN32_CONFIG=src/os/win32/ngx_win32_config.h
|
||||
|
|
@ -250,6 +246,7 @@ WIN32_SRCS="$CORE_SRCS $EVENT_SRCS \
|
|||
src/os/win32/ngx_wsasend_chain.c \
|
||||
src/os/win32/ngx_win32_init.c \
|
||||
src/os/win32/ngx_user.c \
|
||||
src/os/win32/ngx_dlopen.c \
|
||||
src/os/win32/ngx_event_log.c \
|
||||
src/os/win32/ngx_process_cycle.c \
|
||||
src/event/ngx_event_acceptex.c"
|
||||
|
|
@ -258,294 +255,7 @@ NGX_WIN32_ICONS="src/os/win32/nginx.ico"
|
|||
NGX_WIN32_RC="src/os/win32/nginx.rc"
|
||||
|
||||
|
||||
# the http modules that have their logging formats
|
||||
# must be after ngx_http_log_module
|
||||
|
||||
HTTP_MODULES="ngx_http_module \
|
||||
ngx_http_core_module \
|
||||
ngx_http_log_module \
|
||||
ngx_http_upstream_module"
|
||||
|
||||
HTTP_WRITE_FILTER_MODULE="ngx_http_write_filter_module"
|
||||
HTTP_HEADER_FILTER_MODULE="ngx_http_header_filter_module"
|
||||
|
||||
HTTP_POSTPONE_FILTER_MODULE=ngx_http_postpone_filter_module
|
||||
HTTP_COPY_FILTER_MODULE=ngx_http_copy_filter_module
|
||||
|
||||
HTTP_CHUNKED_FILTER_MODULE=ngx_http_chunked_filter_module
|
||||
HTTP_HEADERS_FILTER_MODULE=ngx_http_headers_filter_module
|
||||
|
||||
HTTP_RANGE_HEADER_FILTER_MODULE=ngx_http_range_header_filter_module
|
||||
HTTP_RANGE_BODY_FILTER_MODULE=ngx_http_range_body_filter_module
|
||||
|
||||
HTTP_NOT_MODIFIED_FILTER_MODULE=ngx_http_not_modified_filter_module
|
||||
|
||||
HTTP_STATIC_MODULE=ngx_http_static_module
|
||||
HTTP_INDEX_MODULE=ngx_http_index_module
|
||||
|
||||
HTTP_INCS="src/http src/http/modules"
|
||||
|
||||
HTTP_DEPS="src/http/ngx_http.h \
|
||||
src/http/ngx_http_request.h \
|
||||
src/http/ngx_http_config.h \
|
||||
src/http/ngx_http_core_module.h \
|
||||
src/http/ngx_http_cache.h \
|
||||
src/http/ngx_http_variables.h \
|
||||
src/http/ngx_http_script.h \
|
||||
src/http/ngx_http_upstream.h \
|
||||
src/http/ngx_http_upstream_round_robin.h \
|
||||
src/http/ngx_http_busy_lock.h"
|
||||
|
||||
HTTP_SRCS="src/http/ngx_http.c \
|
||||
src/http/ngx_http_core_module.c \
|
||||
src/http/ngx_http_special_response.c \
|
||||
src/http/ngx_http_request.c \
|
||||
src/http/ngx_http_parse.c \
|
||||
src/http/ngx_http_header_filter_module.c \
|
||||
src/http/ngx_http_write_filter_module.c \
|
||||
src/http/ngx_http_copy_filter_module.c \
|
||||
src/http/modules/ngx_http_log_module.c \
|
||||
src/http/ngx_http_request_body.c \
|
||||
src/http/ngx_http_variables.c \
|
||||
src/http/ngx_http_script.c \
|
||||
src/http/ngx_http_upstream.c \
|
||||
src/http/ngx_http_upstream_round_robin.c \
|
||||
src/http/ngx_http_parse_time.c \
|
||||
src/http/modules/ngx_http_static_module.c \
|
||||
src/http/modules/ngx_http_index_module.c \
|
||||
src/http/modules/ngx_http_chunked_filter_module.c \
|
||||
src/http/modules/ngx_http_range_filter_module.c \
|
||||
src/http/modules/ngx_http_headers_filter_module.c \
|
||||
src/http/modules/ngx_http_not_modified_filter_module.c"
|
||||
|
||||
# STUB
|
||||
HTTP_SRCS="$HTTP_SRCS src/http/ngx_http_busy_lock.c"
|
||||
|
||||
HTTP_POSTPONE_FILTER_SRCS=src/http/ngx_http_postpone_filter_module.c
|
||||
|
||||
HTTP_FILE_CACHE_SRCS=src/http/ngx_http_file_cache.c
|
||||
|
||||
|
||||
HTTP_SPDY_MODULE=ngx_http_spdy_module
|
||||
HTTP_SPDY_FILTER_MODULE=ngx_http_spdy_filter_module
|
||||
HTTP_SPDY_DEPS="src/http/ngx_http_spdy.h \
|
||||
src/http/ngx_http_spdy_module.h"
|
||||
HTTP_SPDY_SRCS="src/http/ngx_http_spdy.c \
|
||||
src/http/ngx_http_spdy_module.c \
|
||||
src/http/ngx_http_spdy_filter_module.c"
|
||||
|
||||
|
||||
HTTP_CHARSET_FILTER_MODULE=ngx_http_charset_filter_module
|
||||
HTTP_CHARSET_SRCS=src/http/modules/ngx_http_charset_filter_module.c
|
||||
|
||||
|
||||
HTTP_GZIP_FILTER_MODULE=ngx_http_gzip_filter_module
|
||||
HTTP_GZIP_SRCS=src/http/modules/ngx_http_gzip_filter_module.c
|
||||
|
||||
|
||||
HTTP_GUNZIP_FILTER_MODULE=ngx_http_gunzip_filter_module
|
||||
HTTP_GUNZIP_SRCS=src/http/modules/ngx_http_gunzip_filter_module.c
|
||||
|
||||
|
||||
HTTP_SSI_FILTER_MODULE=ngx_http_ssi_filter_module
|
||||
HTTP_SSI_DEPS=src/http/modules/ngx_http_ssi_filter_module.h
|
||||
HTTP_SSI_SRCS=src/http/modules/ngx_http_ssi_filter_module.c
|
||||
|
||||
|
||||
HTTP_XSLT_FILTER_MODULE=ngx_http_xslt_filter_module
|
||||
HTTP_XSLT_SRCS=src/http/modules/ngx_http_xslt_filter_module.c
|
||||
|
||||
|
||||
HTTP_IMAGE_FILTER_MODULE=ngx_http_image_filter_module
|
||||
HTTP_IMAGE_SRCS=src/http/modules/ngx_http_image_filter_module.c
|
||||
|
||||
|
||||
HTTP_SUB_FILTER_MODULE=ngx_http_sub_filter_module
|
||||
HTTP_SUB_SRCS=src/http/modules/ngx_http_sub_filter_module.c
|
||||
|
||||
|
||||
HTTP_USERID_FILTER_MODULE=ngx_http_userid_filter_module
|
||||
HTTP_USERID_SRCS=src/http/modules/ngx_http_userid_filter_module.c
|
||||
|
||||
|
||||
HTTP_REALIP_MODULE=ngx_http_realip_module
|
||||
HTTP_REALIP_SRCS=src/http/modules/ngx_http_realip_module.c
|
||||
|
||||
|
||||
HTTP_ADDITION_FILTER_MODULE=ngx_http_addition_filter_module
|
||||
HTTP_ADDITION_SRCS=src/http/modules/ngx_http_addition_filter_module.c
|
||||
|
||||
|
||||
HTTP_DAV_MODULE=ngx_http_dav_module
|
||||
HTTP_DAV_SRCS=src/http/modules/ngx_http_dav_module.c
|
||||
|
||||
|
||||
HTTP_ACCESS_MODULE=ngx_http_access_module
|
||||
HTTP_ACCESS_SRCS=src/http/modules/ngx_http_access_module.c
|
||||
|
||||
|
||||
HTTP_AUTH_BASIC_MODULE=ngx_http_auth_basic_module
|
||||
HTTP_AUTH_BASIC_SRCS=src/http/modules/ngx_http_auth_basic_module.c
|
||||
|
||||
|
||||
HTTP_AUTH_REQUEST_MODULE=ngx_http_auth_request_module
|
||||
HTTP_AUTH_REQUEST_SRCS=src/http/modules/ngx_http_auth_request_module.c
|
||||
|
||||
|
||||
HTTP_AUTOINDEX_MODULE=ngx_http_autoindex_module
|
||||
HTTP_AUTOINDEX_SRCS=src/http/modules/ngx_http_autoindex_module.c
|
||||
|
||||
|
||||
HTTP_RANDOM_INDEX_MODULE=ngx_http_random_index_module
|
||||
HTTP_RANDOM_INDEX_SRCS=src/http/modules/ngx_http_random_index_module.c
|
||||
|
||||
|
||||
HTTP_STATUS_MODULE=ngx_http_status_module
|
||||
HTTP_STATUS_SRCS=src/http/modules/ngx_http_status_module.c
|
||||
|
||||
|
||||
HTTP_GEO_MODULE=ngx_http_geo_module
|
||||
HTTP_GEO_SRCS=src/http/modules/ngx_http_geo_module.c
|
||||
|
||||
|
||||
HTTP_GEOIP_MODULE=ngx_http_geoip_module
|
||||
HTTP_GEOIP_SRCS=src/http/modules/ngx_http_geoip_module.c
|
||||
|
||||
|
||||
HTTP_MAP_MODULE=ngx_http_map_module
|
||||
HTTP_MAP_SRCS=src/http/modules/ngx_http_map_module.c
|
||||
|
||||
|
||||
HTTP_SPLIT_CLIENTS_MODULE=ngx_http_split_clients_module
|
||||
HTTP_SPLIT_CLIENTS_SRCS=src/http/modules/ngx_http_split_clients_module.c
|
||||
|
||||
|
||||
HTTP_REFERER_MODULE=ngx_http_referer_module
|
||||
HTTP_REFERER_SRCS=src/http/modules/ngx_http_referer_module.c
|
||||
|
||||
|
||||
HTTP_REWRITE_MODULE=ngx_http_rewrite_module
|
||||
HTTP_REWRITE_SRCS=src/http/modules/ngx_http_rewrite_module.c
|
||||
|
||||
|
||||
HTTP_SSL_MODULE=ngx_http_ssl_module
|
||||
HTTP_SSL_DEPS=src/http/modules/ngx_http_ssl_module.h
|
||||
HTTP_SSL_SRCS=src/http/modules/ngx_http_ssl_module.c
|
||||
|
||||
|
||||
HTTP_PROXY_MODULE=ngx_http_proxy_module
|
||||
HTTP_PROXY_SRCS=src/http/modules/ngx_http_proxy_module.c
|
||||
|
||||
|
||||
HTTP_FASTCGI_MODULE=ngx_http_fastcgi_module
|
||||
HTTP_FASTCGI_SRCS=src/http/modules/ngx_http_fastcgi_module.c
|
||||
|
||||
|
||||
HTTP_UWSGI_MODULE=ngx_http_uwsgi_module
|
||||
HTTP_UWSGI_SRCS=src/http/modules/ngx_http_uwsgi_module.c
|
||||
|
||||
|
||||
HTTP_SCGI_MODULE=ngx_http_scgi_module
|
||||
HTTP_SCGI_SRCS=src/http/modules/ngx_http_scgi_module.c
|
||||
|
||||
|
||||
HTTP_PERL_MODULE=ngx_http_perl_module
|
||||
HTTP_PERL_INCS=src/http/modules/perl
|
||||
HTTP_PERL_DEPS=src/http/modules/perl/ngx_http_perl_module.h
|
||||
HTTP_PERL_SRCS=src/http/modules/perl/ngx_http_perl_module.c
|
||||
|
||||
|
||||
HTTP_MEMCACHED_MODULE=ngx_http_memcached_module
|
||||
HTTP_MEMCACHED_SRCS=src/http/modules/ngx_http_memcached_module.c
|
||||
|
||||
|
||||
HTTP_LIMIT_CONN_MODULE=ngx_http_limit_conn_module
|
||||
HTTP_LIMIT_CONN_SRCS=src/http/modules/ngx_http_limit_conn_module.c
|
||||
|
||||
|
||||
HTTP_LIMIT_REQ_MODULE=ngx_http_limit_req_module
|
||||
HTTP_LIMIT_REQ_SRCS=src/http/modules/ngx_http_limit_req_module.c
|
||||
|
||||
|
||||
HTTP_EMPTY_GIF_MODULE=ngx_http_empty_gif_module
|
||||
HTTP_EMPTY_GIF_SRCS=src/http/modules/ngx_http_empty_gif_module.c
|
||||
|
||||
|
||||
HTTP_BROWSER_MODULE=ngx_http_browser_module
|
||||
HTTP_BROWSER_SRCS=src/http/modules/ngx_http_browser_module.c
|
||||
|
||||
|
||||
HTTP_SECURE_LINK_MODULE=ngx_http_secure_link_module
|
||||
HTTP_SECURE_LINK_SRCS=src/http/modules/ngx_http_secure_link_module.c
|
||||
|
||||
|
||||
HTTP_DEGRADATION_MODULE=ngx_http_degradation_module
|
||||
HTTP_DEGRADATION_SRCS=src/http/modules/ngx_http_degradation_module.c
|
||||
|
||||
|
||||
HTTP_FLV_MODULE=ngx_http_flv_module
|
||||
HTTP_FLV_SRCS=src/http/modules/ngx_http_flv_module.c
|
||||
|
||||
|
||||
HTTP_MP4_MODULE=ngx_http_mp4_module
|
||||
HTTP_MP4_SRCS=src/http/modules/ngx_http_mp4_module.c
|
||||
|
||||
|
||||
HTTP_GZIP_STATIC_MODULE=ngx_http_gzip_static_module
|
||||
HTTP_GZIP_STATIC_SRCS=src/http/modules/ngx_http_gzip_static_module.c
|
||||
|
||||
|
||||
HTTP_UPSTREAM_IP_HASH_MODULE=ngx_http_upstream_ip_hash_module
|
||||
HTTP_UPSTREAM_IP_HASH_SRCS=src/http/modules/ngx_http_upstream_ip_hash_module.c
|
||||
|
||||
|
||||
HTTP_UPSTREAM_LEAST_CONN_MODULE=ngx_http_upstream_least_conn_module
|
||||
HTTP_UPSTREAM_LEAST_CONN_SRCS=" \
|
||||
src/http/modules/ngx_http_upstream_least_conn_module.c"
|
||||
|
||||
|
||||
HTTP_UPSTREAM_KEEPALIVE_MODULE=ngx_http_upstream_keepalive_module
|
||||
HTTP_UPSTREAM_KEEPALIVE_SRCS=" \
|
||||
src/http/modules/ngx_http_upstream_keepalive_module.c"
|
||||
|
||||
|
||||
MAIL_INCS="src/mail"
|
||||
|
||||
MAIL_DEPS="src/mail/ngx_mail.h"
|
||||
|
||||
MAIL_MODULES="ngx_mail_module ngx_mail_core_module"
|
||||
|
||||
MAIL_SRCS="src/mail/ngx_mail.c \
|
||||
src/mail/ngx_mail_core_module.c \
|
||||
src/mail/ngx_mail_handler.c \
|
||||
src/mail/ngx_mail_parse.c"
|
||||
|
||||
MAIL_POP3_MODULE="ngx_mail_pop3_module"
|
||||
MAIL_POP3_DEPS="src/mail/ngx_mail_pop3_module.h"
|
||||
MAIL_POP3_SRCS="src/mail/ngx_mail_pop3_module.c \
|
||||
src/mail/ngx_mail_pop3_handler.c"
|
||||
|
||||
MAIL_IMAP_MODULE="ngx_mail_imap_module"
|
||||
MAIL_IMAP_DEPS="src/mail/ngx_mail_imap_module.h"
|
||||
MAIL_IMAP_SRCS="src/mail/ngx_mail_imap_module.c \
|
||||
src/mail/ngx_mail_imap_handler.c"
|
||||
|
||||
MAIL_SMTP_MODULE="ngx_mail_smtp_module"
|
||||
MAIL_SMTP_DEPS="src/mail/ngx_mail_smtp_module.h"
|
||||
MAIL_SMTP_SRCS="src/mail/ngx_mail_smtp_module.c \
|
||||
src/mail/ngx_mail_smtp_handler.c"
|
||||
|
||||
MAIL_SSL_MODULE="ngx_mail_ssl_module"
|
||||
MAIL_SSL_DEPS="src/mail/ngx_mail_ssl_module.h"
|
||||
MAIL_SSL_SRCS="src/mail/ngx_mail_ssl_module.c"
|
||||
|
||||
MAIL_AUTH_HTTP_MODULE="ngx_mail_auth_http_module"
|
||||
MAIL_AUTH_HTTP_SRCS="src/mail/ngx_mail_auth_http_module.c"
|
||||
|
||||
MAIL_PROXY_MODULE="ngx_mail_proxy_module"
|
||||
MAIL_PROXY_SRCS="src/mail/ngx_mail_proxy_module.c"
|
||||
|
||||
NGX_GOOGLE_PERFTOOLS_MODULE=ngx_google_perftools_module
|
||||
NGX_GOOGLE_PERFTOOLS_SRCS=src/misc/ngx_google_perftools_module.c
|
||||
|
||||
NGX_CPP_TEST_SRCS=src/misc/ngx_cpp_test_module.cpp
|
||||
HTTP_HUFF_SRCS="src/http/ngx_http_huff_decode.c
|
||||
src/http/ngx_http_huff_encode.c"
|
||||
|
|
|
|||
46
auto/summary
46
auto/summary
|
|
@ -3,43 +3,22 @@
|
|||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
### STUB
|
||||
|
||||
if [ $USE_THREADS != NO ]; then
|
||||
|
||||
cat << END
|
||||
|
||||
$0: error: the threads support is broken now.
|
||||
|
||||
END
|
||||
exit 1
|
||||
fi
|
||||
|
||||
###
|
||||
|
||||
|
||||
echo
|
||||
echo "Configuration summary"
|
||||
|
||||
|
||||
#case $USE_THREADS in
|
||||
# rfork) echo " + using rfork()ed threads" ;;
|
||||
# pthreads) echo " + using libpthread threads library" ;;
|
||||
# libthr) echo " + using FreeBSD libthr threads library" ;;
|
||||
# libc_r) echo " + using FreeBSD libc_r threads library" ;;
|
||||
# linuxthreads) echo " + using FreeBSD LinuxThreads port library" ;;
|
||||
# NO) echo " + threads are not used" ;;
|
||||
# *) echo " + using lib$USE_THREADS threads library" ;;
|
||||
#esac
|
||||
if [ $USE_THREADS = YES ]; then
|
||||
echo " + using threads"
|
||||
fi
|
||||
|
||||
if [ $USE_PCRE = DISABLED ]; then
|
||||
echo " + PCRE library is disabled"
|
||||
|
||||
else
|
||||
case $PCRE in
|
||||
YES) echo " + using system PCRE library" ;;
|
||||
YES) echo " + using system $PCRE_LIBRARY library" ;;
|
||||
NONE) echo " + PCRE library is not used" ;;
|
||||
*) echo " + using PCRE library: $PCRE" ;;
|
||||
*) echo " + using $PCRE_LIBRARY library: $PCRE" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
|
@ -49,20 +28,6 @@ case $OPENSSL in
|
|||
*) echo " + using OpenSSL library: $OPENSSL" ;;
|
||||
esac
|
||||
|
||||
case $MD5 in
|
||||
YES) echo " + md5: using $MD5_LIB library" ;;
|
||||
NONE) echo " + md5 library is not used" ;;
|
||||
NO) echo " + using builtin md5 code" ;;
|
||||
*) echo " + using md5 library: $MD5" ;;
|
||||
esac
|
||||
|
||||
case $SHA1 in
|
||||
YES) echo " + sha1: using $SHA1_LIB library" ;;
|
||||
NONE) echo " + sha1 library is not used" ;;
|
||||
NO) echo " + sha1 library is not found" ;;
|
||||
*) echo " + using sha1 library: $SHA1" ;;
|
||||
esac
|
||||
|
||||
case $ZLIB in
|
||||
YES) echo " + using system zlib library" ;;
|
||||
NONE) echo " + zlib library is not used" ;;
|
||||
|
|
@ -81,6 +46,7 @@ echo
|
|||
cat << END
|
||||
nginx path prefix: "$NGX_PREFIX"
|
||||
nginx binary file: "$NGX_SBIN_PATH"
|
||||
nginx modules path: "$NGX_MODULES_PATH"
|
||||
nginx configuration prefix: "$NGX_CONF_PREFIX"
|
||||
nginx configuration file: "$NGX_CONF_PATH"
|
||||
nginx pid file: "$NGX_PID_PATH"
|
||||
|
|
|
|||
21
auto/threads
Normal file
21
auto/threads
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
# Copyright (C) Nginx, Inc.
|
||||
|
||||
|
||||
if [ $USE_THREADS = YES ]; then
|
||||
|
||||
if [ "$NGX_PLATFORM" = win32 ]; then
|
||||
cat << END
|
||||
|
||||
$0: --with-threads is not supported on Windows
|
||||
|
||||
END
|
||||
exit 1
|
||||
fi
|
||||
|
||||
have=NGX_THREADS . auto/have
|
||||
CORE_DEPS="$CORE_DEPS $THREAD_POOL_DEPS"
|
||||
CORE_SRCS="$CORE_SRCS $THREAD_POOL_SRCS"
|
||||
CORE_LIBS="$CORE_LIBS -lpthread"
|
||||
NGX_LIBPTHREAD="-lpthread"
|
||||
fi
|
||||
|
|
@ -25,7 +25,7 @@ $NGX_INCLUDE_UNISTD_H
|
|||
$NGX_INCLUDE_INTTYPES_H
|
||||
$NGX_INCLUDE_AUTO_CONFIG_H
|
||||
|
||||
int main() {
|
||||
int main(void) {
|
||||
printf("%d", (int) sizeof($ngx_type));
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -45,27 +45,14 @@ if [ -x $NGX_AUTOTEST ]; then
|
|||
fi
|
||||
|
||||
|
||||
rm -rf $NGX_AUTOTEST*
|
||||
|
||||
|
||||
case $ngx_size in
|
||||
4)
|
||||
if [ "$ngx_type"="long" ]; then
|
||||
ngx_max_value=2147483647L
|
||||
else
|
||||
ngx_max_value=2147483647
|
||||
fi
|
||||
|
||||
ngx_max_value=2147483647
|
||||
ngx_max_len='(sizeof("-2147483648") - 1)'
|
||||
;;
|
||||
|
||||
8)
|
||||
if [ "$ngx_type"="long long" ]; then
|
||||
ngx_max_value=9223372036854775807LL
|
||||
else
|
||||
ngx_max_value=9223372036854775807L
|
||||
fi
|
||||
|
||||
ngx_max_value=9223372036854775807LL
|
||||
ngx_max_len='(sizeof("-9223372036854775808") - 1)'
|
||||
;;
|
||||
|
||||
|
|
@ -79,6 +66,11 @@ case $ngx_size in
|
|||
echo $ngx_test >> $NGX_AUTOCONF_ERR
|
||||
echo "----------" >> $NGX_AUTOCONF_ERR
|
||||
|
||||
rm -rf $NGX_AUTOTEST*
|
||||
|
||||
exit 1
|
||||
esac
|
||||
|
||||
|
||||
rm -rf $NGX_AUTOTEST*
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ do
|
|||
#include <netinet/in.h>
|
||||
$NGX_INCLUDE_INTTYPES_H
|
||||
|
||||
int main() {
|
||||
int main(void) {
|
||||
$ngx_try i = 0;
|
||||
return (int) i;
|
||||
}
|
||||
|
|
@ -49,18 +49,23 @@ END
|
|||
fi
|
||||
fi
|
||||
|
||||
rm -rf $NGX_AUTOTEST*
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
echo $ngx_n " $ngx_try not found$ngx_c"
|
||||
if [ $ngx_try = $ngx_type ]; then
|
||||
echo $ngx_n " $ngx_try not found$ngx_c"
|
||||
else
|
||||
echo $ngx_n ", $ngx_try not found$ngx_c"
|
||||
fi
|
||||
|
||||
echo "----------" >> $NGX_AUTOCONF_ERR
|
||||
cat $NGX_AUTOTEST.c >> $NGX_AUTOCONF_ERR
|
||||
echo "----------" >> $NGX_AUTOCONF_ERR
|
||||
echo $ngx_test >> $NGX_AUTOCONF_ERR
|
||||
echo "----------" >> $NGX_AUTOCONF_ERR
|
||||
fi
|
||||
|
||||
else
|
||||
rm -rf $NGX_AUTOTEST*
|
||||
|
||||
if [ $ngx_found != no ]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
|
|
|||
|
|
@ -4,17 +4,22 @@
|
|||
|
||||
|
||||
echo $ngx_n "checking for uintptr_t ...$ngx_c"
|
||||
echo >> $NGX_AUTOCONF_ERR
|
||||
echo "checking for uintptr_t" >> $NGX_AUTOCONF_ERR
|
||||
|
||||
cat << END >> $NGX_AUTOCONF_ERR
|
||||
|
||||
----------------------------------------
|
||||
checking for uintptr_t
|
||||
|
||||
END
|
||||
|
||||
found=no
|
||||
|
||||
cat << END > $NGX_AUTOTEST.c
|
||||
|
||||
#include <sys/types.h>
|
||||
$NGX_INTTYPES_H
|
||||
$NGX_INCLUDE_INTTYPES_H
|
||||
|
||||
int main() {
|
||||
int main(void) {
|
||||
uintptr_t i = 0;
|
||||
return (int) i;
|
||||
}
|
||||
|
|
|
|||
394
auto/unix
Executable file → Normal file
394
auto/unix
Executable file → Normal file
|
|
@ -75,7 +75,7 @@ if test -z "$NGX_KQUEUE_CHECKED"; then
|
|||
ngx_feature_incs="#include <sys/event.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="int kq; kq = kqueue()"
|
||||
ngx_feature_test="(void) kqueue()"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
|
|
@ -92,7 +92,8 @@ if test -z "$NGX_KQUEUE_CHECKED"; then
|
|||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="struct kevent kev;
|
||||
kev.fflags = NOTE_LOWAT;"
|
||||
kev.fflags = NOTE_LOWAT;
|
||||
(void) kev"
|
||||
. auto/feature
|
||||
|
||||
|
||||
|
|
@ -255,22 +256,23 @@ ngx_feature_test="struct statvfs fs;
|
|||
|
||||
|
||||
ngx_feature="dlopen()"
|
||||
ngx_feature_name=
|
||||
ngx_feature_name="NGX_HAVE_DLOPEN"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <dlfcn.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="dlopen(NULL, 0)"
|
||||
ngx_feature_test="dlopen(NULL, RTLD_NOW | RTLD_GLOBAL); dlsym(NULL, \"\")"
|
||||
. auto/feature
|
||||
|
||||
|
||||
if [ $ngx_found != yes ]; then
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
ngx_feature="dlopen() in libdl"
|
||||
ngx_feature_libs="-ldl"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_LIBS="$CORE_LIBS -ldl"
|
||||
NGX_LIBDL="-ldl"
|
||||
fi
|
||||
fi
|
||||
|
|
@ -286,7 +288,7 @@ ngx_feature_test="sched_yield()"
|
|||
. auto/feature
|
||||
|
||||
|
||||
if [ $ngx_found != yes ]; then
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
ngx_feature="sched_yield() in librt"
|
||||
ngx_feature_libs="-lrt"
|
||||
|
|
@ -298,13 +300,35 @@ if [ $ngx_found != yes ]; then
|
|||
fi
|
||||
|
||||
|
||||
ngx_feature="sched_setaffinity()"
|
||||
ngx_feature_name="NGX_HAVE_SCHED_SETAFFINITY"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sched.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="cpu_set_t mask;
|
||||
CPU_ZERO(&mask);
|
||||
sched_setaffinity(0, sizeof(cpu_set_t), &mask)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="SO_SETFIB"
|
||||
ngx_feature_name="NGX_HAVE_SETFIB"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 4)"
|
||||
ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_SETFIB, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="SO_REUSEPORT"
|
||||
ngx_feature_name="NGX_HAVE_REUSEPORT"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_REUSEPORT, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
|
|
@ -318,6 +342,160 @@ ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_ACCEPTFILTER, NULL, 0)"
|
|||
. auto/feature
|
||||
|
||||
|
||||
# OpenBSD bind to any address for transparent proxying
|
||||
|
||||
ngx_feature="SO_BINDANY"
|
||||
ngx_feature_name="NGX_HAVE_TRANSPARENT_PROXY"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, SOL_SOCKET, SO_BINDANY, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# Linux transparent proxying
|
||||
|
||||
ngx_feature="IP_TRANSPARENT"
|
||||
ngx_feature_name="NGX_HAVE_TRANSPARENT_PROXY"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_TRANSPARENT, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# FreeBSD bind to any address for transparent proxying
|
||||
|
||||
ngx_feature="IP_BINDANY"
|
||||
ngx_feature_name="NGX_HAVE_TRANSPARENT_PROXY"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_BINDANY, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# Linux IP_BIND_ADDRESS_NO_PORT
|
||||
|
||||
ngx_feature="IP_BIND_ADDRESS_NO_PORT"
|
||||
ngx_feature_name="NGX_HAVE_IP_BIND_ADDRESS_NO_PORT"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_BIND_ADDRESS_NO_PORT, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# BSD way to get IPv4 datagram destination address
|
||||
|
||||
ngx_feature="IP_RECVDSTADDR"
|
||||
ngx_feature_name="NGX_HAVE_IP_RECVDSTADDR"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_RECVDSTADDR, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# BSD way to set IPv4 datagram source address
|
||||
|
||||
ngx_feature="IP_SENDSRCADDR"
|
||||
ngx_feature_name="NGX_HAVE_IP_SENDSRCADDR"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_SENDSRCADDR, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# Linux way to get IPv4 datagram destination address
|
||||
|
||||
ngx_feature="IP_PKTINFO"
|
||||
ngx_feature_name="NGX_HAVE_IP_PKTINFO"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="struct in_pktinfo pkt;
|
||||
pkt.ipi_spec_dst.s_addr = INADDR_ANY;
|
||||
(void) pkt;
|
||||
setsockopt(0, IPPROTO_IP, IP_PKTINFO, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# RFC 3542 way to get IPv6 datagram destination address
|
||||
|
||||
ngx_feature="IPV6_RECVPKTINFO"
|
||||
ngx_feature_name="NGX_HAVE_IPV6_RECVPKTINFO"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, IPPROTO_IPV6, IPV6_RECVPKTINFO, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# IP packet fragmentation
|
||||
|
||||
ngx_feature="IP_MTU_DISCOVER"
|
||||
ngx_feature_name="NGX_HAVE_IP_MTU_DISCOVER"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="(void) IP_PMTUDISC_DO;
|
||||
setsockopt(0, IPPROTO_IP, IP_MTU_DISCOVER, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="IPV6_MTU_DISCOVER"
|
||||
ngx_feature_name="NGX_HAVE_IPV6_MTU_DISCOVER"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="(void) IPV6_PMTUDISC_DO;
|
||||
setsockopt(0, IPPROTO_IPV6, IPV6_MTU_DISCOVER, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="IP_DONTFRAG"
|
||||
ngx_feature_name="NGX_HAVE_IP_DONTFRAG"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, IPPROTO_IP, IP_DONTFRAG, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="IPV6_DONTFRAG"
|
||||
ngx_feature_name="NGX_HAVE_IPV6_DONTFRAG"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="setsockopt(0, IPPROTO_IP, IPV6_DONTFRAG, NULL, 0)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="TCP_DEFER_ACCEPT"
|
||||
ngx_feature_name="NGX_HAVE_DEFERRED_ACCEPT"
|
||||
ngx_feature_run=no
|
||||
|
|
@ -391,43 +569,66 @@ if [ $NGX_FILE_AIO = YES ]; then
|
|||
ngx_feature_incs="#include <aio.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="int n; struct aiocb iocb;
|
||||
ngx_feature_test="struct aiocb iocb;
|
||||
iocb.aio_sigevent.sigev_notify = SIGEV_KEVENT;
|
||||
n = aio_read(&iocb)"
|
||||
(void) aio_read(&iocb)"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_SRCS="$CORE_SRCS $FILE_AIO_SRCS"
|
||||
fi
|
||||
|
||||
elif [ $ngx_found = no ]; then
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
ngx_feature="Linux AIO support"
|
||||
ngx_feature_name="NGX_HAVE_FILE_AIO"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <linux/aio_abi.h>
|
||||
#include <sys/syscall.h>"
|
||||
#include <sys/eventfd.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="int n = SYS_eventfd;
|
||||
struct iocb iocb;
|
||||
ngx_feature_test="struct iocb iocb;
|
||||
iocb.aio_lio_opcode = IOCB_CMD_PREAD;
|
||||
iocb.aio_flags = IOCB_FLAG_RESFD;
|
||||
iocb.aio_resfd = -1;"
|
||||
iocb.aio_resfd = -1;
|
||||
(void) iocb;
|
||||
(void) eventfd(0, 0)"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=NGX_HAVE_EVENTFD . auto/have
|
||||
have=NGX_HAVE_SYS_EVENTFD_H . auto/have
|
||||
CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
ngx_feature="Linux AIO support (SYS_eventfd)"
|
||||
ngx_feature_incs="#include <linux/aio_abi.h>
|
||||
#include <sys/syscall.h>"
|
||||
ngx_feature_test="struct iocb iocb;
|
||||
iocb.aio_lio_opcode = IOCB_CMD_PREAD;
|
||||
iocb.aio_flags = IOCB_FLAG_RESFD;
|
||||
iocb.aio_resfd = -1;
|
||||
(void) iocb;
|
||||
(void) SYS_eventfd"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=NGX_HAVE_EVENTFD . auto/have
|
||||
CORE_SRCS="$CORE_SRCS $LINUX_AIO_SRCS"
|
||||
fi
|
||||
fi
|
||||
|
||||
else
|
||||
cat << END
|
||||
if [ $ngx_found = no ]; then
|
||||
cat << END
|
||||
|
||||
$0: no supported file AIO was found
|
||||
Currently file AIO is supported on FreeBSD 4.3+ and Linux 2.6.22+ only
|
||||
|
||||
END
|
||||
exit 1
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
@ -451,15 +652,9 @@ ngx_param=NGX_PTR_SIZE; ngx_value=$ngx_size; . auto/types/value
|
|||
|
||||
# POSIX types
|
||||
|
||||
case "$NGX_AUTO_CONFIG_H" in
|
||||
/*)
|
||||
NGX_INCLUDE_AUTO_CONFIG_H="#include \"$NGX_AUTO_CONFIG_H\""
|
||||
;;
|
||||
*)
|
||||
NGX_INCLUDE_AUTO_CONFIG_H="#include \"../$NGX_AUTO_CONFIG_H\""
|
||||
;;
|
||||
esac
|
||||
NGX_INCLUDE_AUTO_CONFIG_H="#include \"ngx_auto_config.h\""
|
||||
|
||||
ngx_type="uint32_t"; ngx_types="u_int32_t"; . auto/types/typedef
|
||||
ngx_type="uint64_t"; ngx_types="u_int64_t"; . auto/types/typedef
|
||||
|
||||
ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef
|
||||
|
|
@ -468,7 +663,7 @@ ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value
|
|||
|
||||
ngx_type="socklen_t"; ngx_types="int"; . auto/types/typedef
|
||||
|
||||
ngx_type="in_addr_t"; ngx_types="uint32_t"; . auto/types/typedef
|
||||
ngx_type="in_addr_t"; ngx_types="uint32_t u_int32_t"; . auto/types/typedef
|
||||
|
||||
ngx_type="in_port_t"; ngx_types="u_short"; . auto/types/typedef
|
||||
|
||||
|
|
@ -489,24 +684,24 @@ ngx_param=NGX_OFF_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
|
|||
ngx_type="time_t"; . auto/types/sizeof
|
||||
ngx_param=NGX_TIME_T_SIZE; ngx_value=$ngx_size; . auto/types/value
|
||||
ngx_param=NGX_TIME_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
|
||||
ngx_param=NGX_MAX_TIME_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
|
||||
|
||||
|
||||
# syscalls, libc calls and some features
|
||||
|
||||
|
||||
if [ $NGX_IPV6 = YES ]; then
|
||||
ngx_feature="AF_INET6"
|
||||
ngx_feature_name="NGX_HAVE_INET6"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="struct sockaddr_in6 sin6;
|
||||
sin6.sin6_family = AF_INET6;"
|
||||
. auto/feature
|
||||
fi
|
||||
ngx_feature="AF_INET6"
|
||||
ngx_feature_name="NGX_HAVE_INET6"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="struct sockaddr_in6 sin6;
|
||||
sin6.sin6_family = AF_INET6;
|
||||
(void) sin6"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="setproctitle()"
|
||||
|
|
@ -541,17 +736,49 @@ ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0);
|
|||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="sys_nerr"
|
||||
ngx_feature_name="NGX_SYS_NERR"
|
||||
ngx_feature_run=value
|
||||
ngx_feature_incs='#include <errno.h>
|
||||
#include <stdio.h>'
|
||||
# pwritev() was introduced in FreeBSD 6 and Linux 2.6.30, glibc 2.10
|
||||
|
||||
ngx_feature="pwritev()"
|
||||
ngx_feature_name="NGX_HAVE_PWRITEV"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs='#include <sys/uio.h>'
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test='printf("%d", sys_nerr);'
|
||||
ngx_feature_test="char buf[1]; struct iovec vec[1]; ssize_t n;
|
||||
vec[0].iov_base = buf;
|
||||
vec[0].iov_len = 1;
|
||||
n = pwritev(1, vec, 1, 0);
|
||||
if (n == -1) return 1"
|
||||
. auto/feature
|
||||
|
||||
|
||||
# strerrordesc_np(), introduced in glibc 2.32
|
||||
|
||||
ngx_feature="strerrordesc_np()"
|
||||
ngx_feature_name="NGX_HAVE_STRERRORDESC_NP"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs='#include <string.h>'
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="char *p; p = strerrordesc_np(0);
|
||||
if (p == NULL) return 1"
|
||||
. auto/feature
|
||||
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
ngx_feature="sys_nerr"
|
||||
ngx_feature_name="NGX_SYS_NERR"
|
||||
ngx_feature_run=value
|
||||
ngx_feature_incs='#include <errno.h>
|
||||
#include <stdio.h>'
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test='printf("%d", sys_nerr);'
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# Cygiwn defines _sys_nerr
|
||||
|
|
@ -567,34 +794,6 @@ if [ $ngx_found = no ]; then
|
|||
fi
|
||||
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# Solaris has no sys_nerr
|
||||
ngx_feature='maximum errno'
|
||||
ngx_feature_name=NGX_SYS_NERR
|
||||
ngx_feature_run=value
|
||||
ngx_feature_incs='#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>'
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test='int n;
|
||||
char *p;
|
||||
for (n = 1; n < 1000; n++) {
|
||||
errno = 0;
|
||||
p = strerror(n);
|
||||
if (errno == EINVAL
|
||||
|| p == NULL
|
||||
|| strncmp(p, "Unknown error", 13) == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
printf("%d", n);'
|
||||
. auto/feature
|
||||
fi
|
||||
|
||||
|
||||
ngx_feature="localtime_r()"
|
||||
ngx_feature_name="NGX_HAVE_LOCALTIME_R"
|
||||
ngx_feature_run=no
|
||||
|
|
@ -605,6 +804,30 @@ ngx_feature_test="struct tm t; time_t c=0; localtime_r(&c, &t)"
|
|||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="clock_gettime(CLOCK_MONOTONIC)"
|
||||
ngx_feature_name="NGX_HAVE_CLOCK_MONOTONIC"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <time.h>"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
if [ $ngx_found = no ]; then
|
||||
|
||||
# Linux before glibc 2.17, notably CentOS 6
|
||||
|
||||
ngx_feature="clock_gettime(CLOCK_MONOTONIC) in librt"
|
||||
ngx_feature_libs="-lrt"
|
||||
. auto/feature
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_LIBS="$CORE_LIBS -lrt"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
ngx_feature="posix_memalign()"
|
||||
ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN"
|
||||
ngx_feature_run=no
|
||||
|
|
@ -691,6 +914,7 @@ if [ $ngx_found = no ]; then
|
|||
|
||||
if [ $ngx_found = yes ]; then
|
||||
CORE_LIBS="$CORE_LIBS -lpthread"
|
||||
NGX_LIBPTHREAD="-lpthread"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
@ -732,6 +956,18 @@ ngx_feature_test="int i = FIONBIO; printf(\"%d\", i)"
|
|||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="ioctl(FIONREAD)"
|
||||
ngx_feature_name="NGX_HAVE_FIONREAD"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs="#include <sys/ioctl.h>
|
||||
#include <stdio.h>
|
||||
$NGX_INCLUDE_SYS_FILIO_H"
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="int i = FIONREAD; printf(\"%d\", i)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="struct tm.tm_gmtoff"
|
||||
ngx_feature_name="NGX_HAVE_GMTOFF"
|
||||
ngx_feature_run=no
|
||||
|
|
@ -778,6 +1014,16 @@ ngx_feature_test="sysconf(_SC_NPROCESSORS_ONLN)"
|
|||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="sysconf(_SC_LEVEL1_DCACHE_LINESIZE)"
|
||||
ngx_feature_name="NGX_HAVE_LEVEL1_DCACHE_LINESIZE"
|
||||
ngx_feature_run=no
|
||||
ngx_feature_incs=
|
||||
ngx_feature_path=
|
||||
ngx_feature_libs=
|
||||
ngx_feature_test="sysconf(_SC_LEVEL1_DCACHE_LINESIZE)"
|
||||
. auto/feature
|
||||
|
||||
|
||||
ngx_feature="openat(), fstatat()"
|
||||
ngx_feature_name="NGX_HAVE_OPENAT"
|
||||
ngx_feature_run=no
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ fastcgi_param REQUEST_URI $request_uri;
|
|||
fastcgi_param DOCUMENT_URI $document_uri;
|
||||
fastcgi_param DOCUMENT_ROOT $document_root;
|
||||
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||
fastcgi_param REQUEST_SCHEME $scheme;
|
||||
fastcgi_param HTTPS $https if_not_empty;
|
||||
|
||||
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ fastcgi_param REQUEST_URI $request_uri;
|
|||
fastcgi_param DOCUMENT_URI $document_uri;
|
||||
fastcgi_param DOCUMENT_ROOT $document_root;
|
||||
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||
fastcgi_param REQUEST_SCHEME $scheme;
|
||||
fastcgi_param HTTPS $https if_not_empty;
|
||||
|
||||
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||
|
|
|
|||
168
conf/mime.types
168
conf/mime.types
|
|
@ -1,89 +1,99 @@
|
|||
|
||||
types {
|
||||
text/html html htm shtml;
|
||||
text/css css;
|
||||
text/xml xml;
|
||||
image/gif gif;
|
||||
image/jpeg jpeg jpg;
|
||||
application/javascript js;
|
||||
application/atom+xml atom;
|
||||
application/rss+xml rss;
|
||||
text/html html htm shtml;
|
||||
text/css css;
|
||||
text/xml xml;
|
||||
image/gif gif;
|
||||
image/jpeg jpeg jpg;
|
||||
application/javascript js;
|
||||
application/atom+xml atom;
|
||||
application/rss+xml rss;
|
||||
|
||||
text/mathml mml;
|
||||
text/plain txt;
|
||||
text/vnd.sun.j2me.app-descriptor jad;
|
||||
text/vnd.wap.wml wml;
|
||||
text/x-component htc;
|
||||
text/mathml mml;
|
||||
text/plain txt;
|
||||
text/vnd.sun.j2me.app-descriptor jad;
|
||||
text/vnd.wap.wml wml;
|
||||
text/x-component htc;
|
||||
|
||||
image/png png;
|
||||
image/tiff tif tiff;
|
||||
image/vnd.wap.wbmp wbmp;
|
||||
image/x-icon ico;
|
||||
image/x-jng jng;
|
||||
image/x-ms-bmp bmp;
|
||||
image/svg+xml svg svgz;
|
||||
image/webp webp;
|
||||
image/avif avif;
|
||||
image/png png;
|
||||
image/svg+xml svg svgz;
|
||||
image/tiff tif tiff;
|
||||
image/vnd.wap.wbmp wbmp;
|
||||
image/webp webp;
|
||||
image/x-icon ico;
|
||||
image/x-jng jng;
|
||||
image/x-ms-bmp bmp;
|
||||
|
||||
application/font-woff woff;
|
||||
application/java-archive jar war ear;
|
||||
application/json json;
|
||||
application/mac-binhex40 hqx;
|
||||
application/msword doc;
|
||||
application/pdf pdf;
|
||||
application/postscript ps eps ai;
|
||||
application/rtf rtf;
|
||||
application/vnd.apple.mpegurl m3u8;
|
||||
application/vnd.ms-excel xls;
|
||||
application/vnd.ms-fontobject eot;
|
||||
application/vnd.ms-powerpoint ppt;
|
||||
application/vnd.wap.wmlc wmlc;
|
||||
application/vnd.google-earth.kml+xml kml;
|
||||
application/vnd.google-earth.kmz kmz;
|
||||
application/x-7z-compressed 7z;
|
||||
application/x-cocoa cco;
|
||||
application/x-java-archive-diff jardiff;
|
||||
application/x-java-jnlp-file jnlp;
|
||||
application/x-makeself run;
|
||||
application/x-perl pl pm;
|
||||
application/x-pilot prc pdb;
|
||||
application/x-rar-compressed rar;
|
||||
application/x-redhat-package-manager rpm;
|
||||
application/x-sea sea;
|
||||
application/x-shockwave-flash swf;
|
||||
application/x-stuffit sit;
|
||||
application/x-tcl tcl tk;
|
||||
application/x-x509-ca-cert der pem crt;
|
||||
application/x-xpinstall xpi;
|
||||
application/xhtml+xml xhtml;
|
||||
application/xspf+xml xspf;
|
||||
application/zip zip;
|
||||
font/woff woff;
|
||||
font/woff2 woff2;
|
||||
|
||||
application/octet-stream bin exe dll;
|
||||
application/octet-stream deb;
|
||||
application/octet-stream dmg;
|
||||
application/octet-stream iso img;
|
||||
application/octet-stream msi msp msm;
|
||||
application/java-archive jar war ear;
|
||||
application/json json;
|
||||
application/mac-binhex40 hqx;
|
||||
application/msword doc;
|
||||
application/pdf pdf;
|
||||
application/postscript ps eps ai;
|
||||
application/rtf rtf;
|
||||
application/vnd.apple.mpegurl m3u8;
|
||||
application/vnd.google-earth.kml+xml kml;
|
||||
application/vnd.google-earth.kmz kmz;
|
||||
application/vnd.ms-excel xls;
|
||||
application/vnd.ms-fontobject eot;
|
||||
application/vnd.ms-powerpoint ppt;
|
||||
application/vnd.oasis.opendocument.graphics odg;
|
||||
application/vnd.oasis.opendocument.presentation odp;
|
||||
application/vnd.oasis.opendocument.spreadsheet ods;
|
||||
application/vnd.oasis.opendocument.text odt;
|
||||
application/vnd.openxmlformats-officedocument.presentationml.presentation
|
||||
pptx;
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
||||
xlsx;
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
||||
docx;
|
||||
application/vnd.wap.wmlc wmlc;
|
||||
application/wasm wasm;
|
||||
application/x-7z-compressed 7z;
|
||||
application/x-cocoa cco;
|
||||
application/x-java-archive-diff jardiff;
|
||||
application/x-java-jnlp-file jnlp;
|
||||
application/x-makeself run;
|
||||
application/x-perl pl pm;
|
||||
application/x-pilot prc pdb;
|
||||
application/x-rar-compressed rar;
|
||||
application/x-redhat-package-manager rpm;
|
||||
application/x-sea sea;
|
||||
application/x-shockwave-flash swf;
|
||||
application/x-stuffit sit;
|
||||
application/x-tcl tcl tk;
|
||||
application/x-x509-ca-cert der pem crt;
|
||||
application/x-xpinstall xpi;
|
||||
application/xhtml+xml xhtml;
|
||||
application/xspf+xml xspf;
|
||||
application/zip zip;
|
||||
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
|
||||
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;
|
||||
application/octet-stream bin exe dll;
|
||||
application/octet-stream deb;
|
||||
application/octet-stream dmg;
|
||||
application/octet-stream iso img;
|
||||
application/octet-stream msi msp msm;
|
||||
|
||||
audio/midi mid midi kar;
|
||||
audio/mpeg mp3;
|
||||
audio/ogg ogg;
|
||||
audio/x-m4a m4a;
|
||||
audio/x-realaudio ra;
|
||||
audio/midi mid midi kar;
|
||||
audio/mpeg mp3;
|
||||
audio/ogg ogg;
|
||||
audio/x-m4a m4a;
|
||||
audio/x-realaudio ra;
|
||||
|
||||
video/3gpp 3gpp 3gp;
|
||||
video/mp2t ts;
|
||||
video/mp4 mp4;
|
||||
video/mpeg mpeg mpg;
|
||||
video/quicktime mov;
|
||||
video/webm webm;
|
||||
video/x-flv flv;
|
||||
video/x-m4v m4v;
|
||||
video/x-mng mng;
|
||||
video/x-ms-asf asx asf;
|
||||
video/x-ms-wmv wmv;
|
||||
video/x-msvideo avi;
|
||||
video/3gpp 3gpp 3gp;
|
||||
video/mp2t ts;
|
||||
video/mp4 mp4;
|
||||
video/mpeg mpeg mpg;
|
||||
video/quicktime mov;
|
||||
video/webm webm;
|
||||
video/x-flv flv;
|
||||
video/x-m4v m4v;
|
||||
video/x-mng mng;
|
||||
video/x-ms-asf asx asf;
|
||||
video/x-ms-wmv wmv;
|
||||
video/x-msvideo avi;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ scgi_param DOCUMENT_URI $document_uri;
|
|||
scgi_param DOCUMENT_ROOT $document_root;
|
||||
scgi_param SCGI 1;
|
||||
scgi_param SERVER_PROTOCOL $server_protocol;
|
||||
scgi_param REQUEST_SCHEME $scheme;
|
||||
scgi_param HTTPS $https if_not_empty;
|
||||
|
||||
scgi_param REMOTE_ADDR $remote_addr;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ uwsgi_param REQUEST_URI $request_uri;
|
|||
uwsgi_param PATH_INFO $document_uri;
|
||||
uwsgi_param DOCUMENT_ROOT $document_root;
|
||||
uwsgi_param SERVER_PROTOCOL $server_protocol;
|
||||
uwsgi_param REQUEST_SCHEME $scheme;
|
||||
uwsgi_param HTTPS $https if_not_empty;
|
||||
|
||||
uwsgi_param REMOTE_ADDR $remote_addr;
|
||||
|
|
|
|||
14
configure
vendored
14
configure
vendored
|
|
@ -11,7 +11,7 @@ export LC_ALL
|
|||
. auto/init
|
||||
. auto/sources
|
||||
|
||||
test -d $NGX_OBJS || mkdir $NGX_OBJS
|
||||
test -d $NGX_OBJS || mkdir -p $NGX_OBJS
|
||||
|
||||
echo > $NGX_AUTO_HEADERS_H
|
||||
echo > $NGX_AUTOCONF_ERR
|
||||
|
|
@ -36,7 +36,7 @@ if test -z "$NGX_PLATFORM"; then
|
|||
NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE";
|
||||
|
||||
case "$NGX_SYSTEM" in
|
||||
MINGW32_*)
|
||||
MINGW32_* | MINGW64_* | MSYS_*)
|
||||
NGX_PLATFORM=win32
|
||||
;;
|
||||
esac
|
||||
|
|
@ -44,6 +44,7 @@ if test -z "$NGX_PLATFORM"; then
|
|||
else
|
||||
echo "building for $NGX_PLATFORM"
|
||||
NGX_SYSTEM=$NGX_PLATFORM
|
||||
NGX_MACHINE=i386
|
||||
fi
|
||||
|
||||
. auto/cc/conf
|
||||
|
|
@ -58,6 +59,7 @@ if [ "$NGX_PLATFORM" != win32 ]; then
|
|||
. auto/unix
|
||||
fi
|
||||
|
||||
. auto/threads
|
||||
. auto/modules
|
||||
. auto/lib/conf
|
||||
|
||||
|
|
@ -86,6 +88,10 @@ have=NGX_PID_PATH value="\"$NGX_PID_PATH\"" . auto/define
|
|||
have=NGX_LOCK_PATH value="\"$NGX_LOCK_PATH\"" . auto/define
|
||||
have=NGX_ERROR_LOG_PATH value="\"$NGX_ERROR_LOG_PATH\"" . auto/define
|
||||
|
||||
if [ ".$NGX_ERROR_LOG_PATH" = "." ]; then
|
||||
have=NGX_ERROR_LOG_STDERR . auto/have
|
||||
fi
|
||||
|
||||
have=NGX_HTTP_LOG_PATH value="\"$NGX_HTTP_LOG_PATH\"" . auto/define
|
||||
have=NGX_HTTP_CLIENT_TEMP_PATH value="\"$NGX_HTTP_CLIENT_TEMP_PATH\""
|
||||
. auto/define
|
||||
|
|
@ -108,4 +114,8 @@ have=NGX_HTTP_SCGI_TEMP_PATH value="\"$NGX_HTTP_SCGI_TEMP_PATH\""
|
|||
have=NGX_USER value="\"$NGX_USER\"" . auto/define
|
||||
have=NGX_GROUP value="\"$NGX_GROUP\"" . auto/define
|
||||
|
||||
if [ ".$NGX_BUILD" != "." ]; then
|
||||
have=NGX_BUILD value="\"$NGX_BUILD\"" . auto/define
|
||||
fi
|
||||
|
||||
. auto/summary
|
||||
|
|
|
|||
69
configure.docker.sh
Executable file
69
configure.docker.sh
Executable file
|
|
@ -0,0 +1,69 @@
|
|||
#!/bin/bash
|
||||
./configure \
|
||||
--with-cc-opt="-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fPIC -D_FORTIFY_SOURCE=2 -I/tmp/build/quickjs/" \
|
||||
--with-ld-opt="-Wl,-z,relro -Wl,-z,now -fPIC -L/tmp/build/quickjs/" \
|
||||
--sbin-path=/usr/local/sbin/nginx \
|
||||
--conf-path=/video_server/nginx/nginx.conf \
|
||||
--error-log-path=/var/log/nginx/error.log \
|
||||
--pid-path=/var/run/nginx/nginx.pid \
|
||||
--lock-path=/var/lock/nginx/nginx.lock \
|
||||
--http-log-path=/var/log/nginx/access.log \
|
||||
--http-client-body-temp-path=/tmp/nginx-client-body \
|
||||
--with-compat \
|
||||
--with-debug \
|
||||
--with-pcre-jit \
|
||||
--with-http_ssl_module \
|
||||
--with-http_stub_status_module \
|
||||
--with-http_realip_module \
|
||||
--with-http_auth_request_module \
|
||||
--with-http_v2_module \
|
||||
--with-http_dav_module \
|
||||
--with-http_slice_module \
|
||||
--with-threads \
|
||||
--with-http_addition_module \
|
||||
--with-http_flv_module \
|
||||
--with-http_gunzip_module \
|
||||
--with-http_gzip_static_module \
|
||||
--with-http_mp4_module \
|
||||
--with-http_random_index_module \
|
||||
--with-http_secure_link_module \
|
||||
--with-http_sub_module \
|
||||
--with-mail_ssl_module \
|
||||
--with-stream_ssl_module \
|
||||
--with-stream_ssl_preread_module \
|
||||
--with-stream_realip_module \
|
||||
--with-http_geoip_module=dynamic \
|
||||
--with-http_image_filter_module=dynamic \
|
||||
--with-http_perl_module=dynamic \
|
||||
--with-http_xslt_module=dynamic \
|
||||
--with-mail=dynamic \
|
||||
--with-stream=dynamic \
|
||||
--with-stream_geoip_module=dynamic \
|
||||
--add-module=./modules_deb/libnginx-mod-http-ndk-0.3.4 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-brotli-1.0.0~rc \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-cache-purge-2.5.3 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-echo-0.63 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-geoip2-3.4 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-headers-more-filter-0.38 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-memc-0.20 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-set-misc-0.33 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-srcache-filter-0.33 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-subs-filter-0.6.4 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-upstream-fair-0.0~git20120408.a18b409 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-nchan-1.3.7+dfsg \
|
||||
--add-dynamic-module=./modules/njs/nginx \
|
||||
--add-dynamic-module=./modules/nginx-vod-module \
|
||||
--add-module=./modules/media-framework/nginx-common \
|
||||
--add-dynamic-module=./modules/nginx-stream-preread-str-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-kmp-in-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-kmp-out-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-rtmp-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-rtmp-kmp-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-mpegts-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-mpegts-kmp-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-kmp-cc-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-kmp-rtmp-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-live-module \
|
||||
--add-dynamic-module=./modules/nginx-srt-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-pckg-module \
|
||||
--add-dynamic-module=./modules/nginx-secure-token-module
|
||||
66
configure.sh
Executable file
66
configure.sh
Executable file
|
|
@ -0,0 +1,66 @@
|
|||
#!/bin/bash
|
||||
./configure \
|
||||
--with-cc-opt="-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fPIC -D_FORTIFY_SOURCE=2 -I/usr/local/include/quickjs/" \
|
||||
--with-ld-opt="-Wl,-z,relro -Wl,-z,now -fPIC -L/usr/local/lib/quickjs/" \
|
||||
--prefix=/usr/local/temp/nginx/ \
|
||||
--error-log-path=stderr \
|
||||
--lock-path=/var/lock/nginx.lock \
|
||||
--pid-path=/run/nginx.pid \
|
||||
--with-compat \
|
||||
--with-debug \
|
||||
--with-pcre-jit \
|
||||
--with-http_ssl_module \
|
||||
--with-http_stub_status_module \
|
||||
--with-http_realip_module \
|
||||
--with-http_auth_request_module \
|
||||
--with-http_v2_module \
|
||||
--with-http_dav_module \
|
||||
--with-http_slice_module \
|
||||
--with-threads \
|
||||
--with-http_addition_module \
|
||||
--with-http_flv_module \
|
||||
--with-http_gunzip_module \
|
||||
--with-http_gzip_static_module \
|
||||
--with-http_mp4_module \
|
||||
--with-http_random_index_module \
|
||||
--with-http_secure_link_module \
|
||||
--with-http_sub_module \
|
||||
--with-mail_ssl_module \
|
||||
--with-stream_ssl_module \
|
||||
--with-stream_ssl_preread_module \
|
||||
--with-stream_realip_module \
|
||||
--with-http_geoip_module=dynamic \
|
||||
--with-http_image_filter_module=dynamic \
|
||||
--with-http_perl_module=dynamic \
|
||||
--with-http_xslt_module=dynamic \
|
||||
--with-mail=dynamic \
|
||||
--with-stream=dynamic \
|
||||
--with-stream_geoip_module=dynamic \
|
||||
--add-module=./modules_deb/libnginx-mod-http-ndk-0.3.4 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-brotli-1.0.0~rc \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-cache-purge-2.5.3 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-echo-0.63 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-geoip2-3.4 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-headers-more-filter-0.38 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-memc-0.20 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-set-misc-0.33 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-srcache-filter-0.33 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-subs-filter-0.6.4 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-http-upstream-fair-0.0~git20120408.a18b409 \
|
||||
--add-dynamic-module=./modules_deb/libnginx-mod-nchan-1.3.7+dfsg \
|
||||
--add-dynamic-module=./modules/njs/nginx \
|
||||
--add-dynamic-module=./modules/nginx-vod-module \
|
||||
--add-module=./modules/media-framework/nginx-common \
|
||||
--add-dynamic-module=./modules/nginx-stream-preread-str-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-kmp-in-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-kmp-out-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-rtmp-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-rtmp-kmp-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-mpegts-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-mpegts-kmp-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-kmp-cc-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-kmp-rtmp-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-live-module \
|
||||
--add-dynamic-module=./modules/nginx-srt-module \
|
||||
--add-dynamic-module=./modules/media-framework/nginx-pckg-module \
|
||||
--add-dynamic-module=./modules/nginx-secure-token-module
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
# Needs perl 5.6 or later.
|
||||
|
||||
# Written by Maxim Dounin, mdounin@rambler-co.ru
|
||||
# Written by Maxim Dounin, mdounin@mdounin.ru
|
||||
|
||||
###############################################################################
|
||||
|
||||
|
|
@ -33,7 +33,10 @@ while (<>) {
|
|||
|
||||
# Produce UTF-8 sequence from character code;
|
||||
|
||||
my $un_utf8 = join('', map { sprintf("%02X", $_) } unpack("C*", pack("U", hex($un_code))));
|
||||
my $un_utf8 = join('',
|
||||
map { sprintf("%02X", $_) }
|
||||
unpack("U0C*", pack("U", hex($un_code)))
|
||||
);
|
||||
|
||||
print " $cs_code $un_utf8 ; $un_name\n";
|
||||
|
||||
|
|
|
|||
1
contrib/vim/ftplugin/nginx.vim
Normal file
1
contrib/vim/ftplugin/nginx.vim
Normal file
|
|
@ -0,0 +1 @@
|
|||
setlocal commentstring=#\ %s
|
||||
File diff suppressed because it is too large
Load diff
66
debian/README.Packaging
vendored
66
debian/README.Packaging
vendored
|
|
@ -1,66 +0,0 @@
|
|||
Debian Packaging
|
||||
================
|
||||
|
||||
We use git-buildpackage for packaging. Our repository can be found at
|
||||
git.debian.org:/git/collab-maint/nginx.git.
|
||||
|
||||
Workflow for Unstable
|
||||
=====================
|
||||
|
||||
We use the standard git-buildpackage workflow.
|
||||
|
||||
Workflow for Experimental (not-active)
|
||||
======================================
|
||||
|
||||
Now that nginx 1.6.0 is released there is no plan to package mainline 1.7
|
||||
releases to experimental. The following guide is been kept as a reference.
|
||||
|
||||
--------
|
||||
|
||||
Nginx mainline releases (1.5.x series) are been packaged for experimental,
|
||||
as they lack security support.
|
||||
|
||||
The workflow we use is based on the assumption that packaging work happens on
|
||||
origin/master and experimental builds are a trivial patch away from that.
|
||||
|
||||
The direct consequense of treating experimental as a patchset for origin/master
|
||||
is that the relevant branches are forced-pushed whenever we release a new
|
||||
1.5.x version. In other words, **it is not safe to base your work on the
|
||||
experimental branch**.
|
||||
|
||||
This is a brief description of our experimental branches and how we are using
|
||||
them.
|
||||
|
||||
* experimental-base
|
||||
Force-pushed when origin/master changes.
|
||||
|
||||
experimental-base tracks the changes needed for building the 1.5.x branch,
|
||||
such as new configure parameters, etc. On new 1.5.x releases, it is rebased
|
||||
on origin/master so it is always up-to-date with our latest packaging work.
|
||||
|
||||
* experimental
|
||||
Force-pushed on every 1.5.x release.
|
||||
|
||||
This branch points to the latest 1.5.x release.
|
||||
Before release this branch is reset to experimental-base, and then merged
|
||||
with the new upstream-1.5 branch. Finally all the release specific changes
|
||||
are commited (changelog entry etc) and the build is made.
|
||||
|
||||
* upstream-1.5
|
||||
Force-pushed on every 1.5.x release.
|
||||
|
||||
Before a new 1.5.x release the branch is reset to origin/upstream.
|
||||
This is a technicallity so we can avoid resolving conflicts when a new 1.4.x
|
||||
release happens between two experimental releases.
|
||||
|
||||
Older 1.5.x releases are not referenced by any branch, but they can be found by
|
||||
the relevant debian/* tag.
|
||||
|
||||
3rd party experimental workflow
|
||||
===============================
|
||||
|
||||
As we described, it is better not base you work on our forced-pushed
|
||||
experimental branch. A better approach would be to maintain a custom-build
|
||||
branch that is rebased to our latest experimental branch (basically git rebase
|
||||
--onto the relevant commits should work).
|
||||
|
||||
63
debian/README.source
vendored
Normal file
63
debian/README.source
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
Debian Packaging
|
||||
================
|
||||
|
||||
We use git-buildpackage for packaging.
|
||||
|
||||
Workflow for Unstable
|
||||
=====================
|
||||
|
||||
We use the standard git-buildpackage workflow.
|
||||
|
||||
Dynamic Modules
|
||||
===============
|
||||
|
||||
Since v1.9.11 Nginx added dynamic module support. This will sanitize the
|
||||
nginx packaging flow in the long term, but there is a lot work to be done
|
||||
in order to get there. We gradually convert all modules to dynamic
|
||||
as they add support for it.
|
||||
|
||||
[0] https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/
|
||||
|
||||
Workflow for Experimental
|
||||
=========================
|
||||
|
||||
Nginx mainline releases (1.11.x series) are been packaged for experimental,
|
||||
as they lack security support.
|
||||
|
||||
The workflow we use is based on the assumption that packaging work happens on
|
||||
origin/master and experimental builds are a trivial patch away from that.
|
||||
|
||||
The direct consequence of treating experimental as a patchset for origin/master
|
||||
is that the relevant branches are forced-pushed whenever we release a new
|
||||
1.11.x version. In other words, **it is not safe to base your work on the
|
||||
experimental branch**.
|
||||
|
||||
This is a brief description of our experimental branches and how we are using
|
||||
them.
|
||||
|
||||
* experimental-base
|
||||
Force-pushed when origin/master changes.
|
||||
|
||||
experimental-base tracks the changes needed for building the 1.11.x branch,
|
||||
such as new configure parameters, etc. On new 1.11.x releases, it is rebased
|
||||
on origin/master so it is always up-to-date with our latest packaging work.
|
||||
|
||||
* experimental
|
||||
Force-pushed on every 1.11.x release.
|
||||
|
||||
This branch points to the latest 1.11.x release.
|
||||
Before release this branch is reset to experimental-base, and then merged
|
||||
with the new upstream-1.11 branch. Finally all the release specific changes
|
||||
are commited (changelog entry etc) and the build is made.
|
||||
|
||||
* upstream-1.11
|
||||
Pushed on every 1.11.x release.
|
||||
|
||||
Before a new 1.11.x release origin/upstream is dummy merged (-s ours) into
|
||||
ustream-1.11. This is a technicallity so we can avoid resolving conflicts
|
||||
when a new 1.10.x release happens between two experimental releases.
|
||||
|
||||
Older 1.11.x releases are not referenced by any branch, but they can be found
|
||||
by the relevant debian/* tag.
|
||||
|
||||
|
||||
19
debian/apport/source_nginx.py
vendored
Normal file
19
debian/apport/source_nginx.py
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
'''
|
||||
apport package hook for nginx packages
|
||||
|
||||
Copyright (c) 2015, Thomas Ward <teward@ubuntu.com>
|
||||
'''
|
||||
|
||||
import apport.hookutils
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
def add_info(report, ui):
|
||||
if (report['Package'].split()[0] != 'nginx-common'
|
||||
and report['ProblemType'] == 'Package'
|
||||
and os.path.isdir('/run/systemd/system')):
|
||||
report['Journalctl_Nginx.txt'] = apport.hookutils.command_output(
|
||||
['journalctl', '-xe', '--unit=nginx.service'])
|
||||
report['SystemctlStatusFull_Nginx.txt'] = subprocess.Popen(
|
||||
['systemctl', '-l', 'status', 'nginx.service'],
|
||||
stdout=subprocess.PIPE).communicate()[0]
|
||||
26
debian/autoscripts/postinst-nginx
vendored
Normal file
26
debian/autoscripts/postinst-nginx
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
for confpair in #NAMES# ; do
|
||||
from=$(echo $confpair | cut -d: -f1)
|
||||
to=$(echo $confpair | cut -d: -f2)
|
||||
|
||||
if [ -L /etc/nginx/modules-enabled/$to.removed ]; then
|
||||
rm /etc/nginx/modules-enabled/$to.removed
|
||||
removed_link=true
|
||||
else
|
||||
removed_link=false
|
||||
fi
|
||||
|
||||
# Symlink on
|
||||
# 1) Fresh installations
|
||||
# 2) Reinstalls after automatic removes (preserve admin actions)
|
||||
if [ -z "$2" -o "$removed_link" = "true" ]; then
|
||||
ln -sf /usr/share/nginx/modules-available/$from \
|
||||
/etc/nginx/modules-enabled/$to
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$1" = "configure" ] ; then
|
||||
if which dpkg-trigger >/dev/null 2>&1 ; then
|
||||
dpkg-trigger --no-await nginx-reload
|
||||
fi
|
||||
|
||||
fi
|
||||
28
debian/autoscripts/postrm-nginx
vendored
Normal file
28
debian/autoscripts/postrm-nginx
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
if [ "$1" = "purge" ] ; then
|
||||
for confpair in #NAMES# ; do
|
||||
from=$(echo $confpair | cut -d: -f1)
|
||||
to=$(echo $confpair | cut -d: -f2)
|
||||
|
||||
if [ -L /etc/nginx/modules-enabled/$to ]; then
|
||||
rm /etc/nginx/modules-enabled/$to
|
||||
fi
|
||||
if [ -L /etc/nginx/modules-enabled/$to.removed ]; then
|
||||
rm /etc/nginx/modules-enabled/$to.removed
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$1" = "remove" ] ; then
|
||||
for confpair in #NAMES# ; do
|
||||
from=$(echo $confpair | cut -d: -f1)
|
||||
to=$(echo $confpair | cut -d: -f2)
|
||||
|
||||
if [ -L /etc/nginx/modules-enabled/$to ]; then
|
||||
mv /etc/nginx/modules-enabled/$to /etc/nginx/modules-enabled/$to.removed
|
||||
fi
|
||||
done
|
||||
|
||||
if which dpkg-trigger >/dev/null 2>&1 ; then
|
||||
dpkg-trigger --no-await nginx-reload
|
||||
fi
|
||||
fi
|
||||
10
debian/autoscripts/prerm-nginx
vendored
Normal file
10
debian/autoscripts/prerm-nginx
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then
|
||||
for confpair in #NAMES# ; do
|
||||
from=$(echo $confpair | cut -d: -f1)
|
||||
to=$(echo $confpair | cut -d: -f2)
|
||||
|
||||
if [ -L /etc/nginx/modules-enabled/$to ]; then
|
||||
mv /etc/nginx/modules-enabled/$to /etc/nginx/modules-enabled/$to.removed
|
||||
fi
|
||||
done
|
||||
fi
|
||||
1142
debian/changelog
vendored
1142
debian/changelog
vendored
File diff suppressed because it is too large
Load diff
1
debian/compat
vendored
1
debian/compat
vendored
|
|
@ -1 +0,0 @@
|
|||
9
|
||||
2
debian/conf/fastcgi.conf
vendored
2
debian/conf/fastcgi.conf
vendored
|
|
@ -10,6 +10,7 @@ fastcgi_param REQUEST_URI $request_uri;
|
|||
fastcgi_param DOCUMENT_URI $document_uri;
|
||||
fastcgi_param DOCUMENT_ROOT $document_root;
|
||||
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||
fastcgi_param REQUEST_SCHEME $scheme;
|
||||
fastcgi_param HTTPS $https if_not_empty;
|
||||
|
||||
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||
|
|
@ -17,6 +18,7 @@ fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
|
|||
|
||||
fastcgi_param REMOTE_ADDR $remote_addr;
|
||||
fastcgi_param REMOTE_PORT $remote_port;
|
||||
fastcgi_param REMOTE_USER $remote_user;
|
||||
fastcgi_param SERVER_ADDR $server_addr;
|
||||
fastcgi_param SERVER_PORT $server_port;
|
||||
fastcgi_param SERVER_NAME $server_name;
|
||||
|
|
|
|||
2
debian/conf/fastcgi_params
vendored
2
debian/conf/fastcgi_params
vendored
|
|
@ -9,6 +9,7 @@ fastcgi_param REQUEST_URI $request_uri;
|
|||
fastcgi_param DOCUMENT_URI $document_uri;
|
||||
fastcgi_param DOCUMENT_ROOT $document_root;
|
||||
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||
fastcgi_param REQUEST_SCHEME $scheme;
|
||||
fastcgi_param HTTPS $https if_not_empty;
|
||||
|
||||
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||
|
|
@ -16,6 +17,7 @@ fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
|
|||
|
||||
fastcgi_param REMOTE_ADDR $remote_addr;
|
||||
fastcgi_param REMOTE_PORT $remote_port;
|
||||
fastcgi_param REMOTE_USER $remote_user;
|
||||
fastcgi_param SERVER_ADDR $server_addr;
|
||||
fastcgi_param SERVER_PORT $server_port;
|
||||
fastcgi_param SERVER_NAME $server_name;
|
||||
|
|
|
|||
172
debian/conf/mime.types
vendored
172
debian/conf/mime.types
vendored
|
|
@ -1,89 +1,101 @@
|
|||
|
||||
types {
|
||||
text/html html htm shtml;
|
||||
text/css css;
|
||||
text/xml xml;
|
||||
image/gif gif;
|
||||
image/jpeg jpeg jpg;
|
||||
application/javascript js;
|
||||
application/atom+xml atom;
|
||||
application/rss+xml rss;
|
||||
text/html html htm shtml;
|
||||
text/css css;
|
||||
text/xml xml;
|
||||
image/gif gif;
|
||||
image/jpeg jpeg jpg;
|
||||
application/javascript js;
|
||||
application/atom+xml atom;
|
||||
application/rss+xml rss;
|
||||
|
||||
text/mathml mml;
|
||||
text/plain txt;
|
||||
text/vnd.sun.j2me.app-descriptor jad;
|
||||
text/vnd.wap.wml wml;
|
||||
text/x-component htc;
|
||||
text/mathml mml;
|
||||
text/plain txt;
|
||||
text/vnd.sun.j2me.app-descriptor jad;
|
||||
text/vnd.wap.wml wml;
|
||||
text/x-component htc;
|
||||
|
||||
image/png png;
|
||||
image/tiff tif tiff;
|
||||
image/vnd.wap.wbmp wbmp;
|
||||
image/x-icon ico;
|
||||
image/x-jng jng;
|
||||
image/x-ms-bmp bmp;
|
||||
image/svg+xml svg svgz;
|
||||
image/webp webp;
|
||||
image/avif avif;
|
||||
image/png png;
|
||||
image/svg+xml svg svgz;
|
||||
image/tiff tif tiff;
|
||||
image/vnd.wap.wbmp wbmp;
|
||||
image/webp webp;
|
||||
image/x-icon ico;
|
||||
image/x-jng jng;
|
||||
image/x-ms-bmp bmp;
|
||||
|
||||
application/font-woff woff;
|
||||
application/java-archive jar war ear;
|
||||
application/json json;
|
||||
application/mac-binhex40 hqx;
|
||||
application/msword doc;
|
||||
application/pdf pdf;
|
||||
application/postscript ps eps ai;
|
||||
application/rtf rtf;
|
||||
application/vnd.apple.mpegurl m3u8;
|
||||
application/vnd.ms-excel xls;
|
||||
application/vnd.ms-fontobject eot;
|
||||
application/vnd.ms-powerpoint ppt;
|
||||
application/vnd.wap.wmlc wmlc;
|
||||
application/vnd.google-earth.kml+xml kml;
|
||||
application/vnd.google-earth.kmz kmz;
|
||||
application/x-7z-compressed 7z;
|
||||
application/x-cocoa cco;
|
||||
application/x-java-archive-diff jardiff;
|
||||
application/x-java-jnlp-file jnlp;
|
||||
application/x-makeself run;
|
||||
application/x-perl pl pm;
|
||||
application/x-pilot prc pdb;
|
||||
application/x-rar-compressed rar;
|
||||
application/x-redhat-package-manager rpm;
|
||||
application/x-sea sea;
|
||||
application/x-shockwave-flash swf;
|
||||
application/x-stuffit sit;
|
||||
application/x-tcl tcl tk;
|
||||
application/x-x509-ca-cert der pem crt;
|
||||
application/x-xpinstall xpi;
|
||||
application/xhtml+xml xhtml;
|
||||
application/xspf+xml xspf;
|
||||
application/zip zip;
|
||||
font/woff woff;
|
||||
font/woff2 woff2;
|
||||
|
||||
application/octet-stream bin exe dll;
|
||||
application/octet-stream deb;
|
||||
application/octet-stream dmg;
|
||||
application/octet-stream iso img;
|
||||
application/octet-stream msi msp msm;
|
||||
application/java-archive jar war ear;
|
||||
application/json json;
|
||||
application/mac-binhex40 hqx;
|
||||
application/msword doc;
|
||||
application/pdf pdf;
|
||||
application/postscript ps eps ai;
|
||||
application/rtf rtf;
|
||||
application/vnd.apple.mpegurl m3u8;
|
||||
application/vnd.google-earth.kml+xml kml;
|
||||
application/vnd.google-earth.kmz kmz;
|
||||
application/vnd.ms-excel xls;
|
||||
application/vnd.ms-fontobject eot;
|
||||
application/vnd.ms-powerpoint ppt;
|
||||
application/vnd.oasis.opendocument.graphics odg;
|
||||
application/vnd.oasis.opendocument.presentation odp;
|
||||
application/vnd.oasis.opendocument.spreadsheet ods;
|
||||
application/vnd.oasis.opendocument.text odt;
|
||||
application/vnd.openxmlformats-officedocument.presentationml.presentation
|
||||
pptx;
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
||||
xlsx;
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
||||
docx;
|
||||
application/vnd.wap.wmlc wmlc;
|
||||
application/wasm wasm;
|
||||
application/x-7z-compressed 7z;
|
||||
application/x-cocoa cco;
|
||||
application/x-java-archive-diff jardiff;
|
||||
application/x-java-jnlp-file jnlp;
|
||||
application/x-makeself run;
|
||||
application/x-perl pl pm;
|
||||
application/x-pilot prc pdb;
|
||||
application/x-rar-compressed rar;
|
||||
application/x-redhat-package-manager rpm;
|
||||
application/x-sea sea;
|
||||
application/x-shockwave-flash swf;
|
||||
application/x-stuffit sit;
|
||||
application/x-tcl tcl tk;
|
||||
application/x-x509-ca-cert der pem crt;
|
||||
application/x-xpinstall xpi;
|
||||
application/xhtml+xml xhtml;
|
||||
application/xslt+xml xsl xslt;
|
||||
application/xspf+xml xspf;
|
||||
application/zip zip;
|
||||
|
||||
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
|
||||
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
|
||||
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;
|
||||
application/octet-stream bin exe dll;
|
||||
application/octet-stream deb;
|
||||
application/octet-stream dmg;
|
||||
application/octet-stream iso img;
|
||||
application/octet-stream msi msp msm;
|
||||
|
||||
audio/midi mid midi kar;
|
||||
audio/mpeg mp3;
|
||||
audio/ogg ogg;
|
||||
audio/x-m4a m4a;
|
||||
audio/x-realaudio ra;
|
||||
audio/midi mid midi kar;
|
||||
audio/mpeg mp3;
|
||||
audio/ogg ogg;
|
||||
audio/x-m4a m4a;
|
||||
audio/x-realaudio ra;
|
||||
|
||||
video/3gpp 3gpp 3gp;
|
||||
video/mp2t ts;
|
||||
video/mp4 mp4;
|
||||
video/mpeg mpeg mpg;
|
||||
video/quicktime mov;
|
||||
video/webm webm;
|
||||
video/x-flv flv;
|
||||
video/x-m4v m4v;
|
||||
video/x-mng mng;
|
||||
video/x-ms-asf asx asf;
|
||||
video/x-ms-wmv wmv;
|
||||
video/x-msvideo avi;
|
||||
video/3gpp 3gpp 3gp;
|
||||
video/mp2t ts;
|
||||
video/mp4 mp4;
|
||||
video/mpeg mpeg mpg;
|
||||
video/ogg ogv;
|
||||
video/quicktime mov;
|
||||
video/webm webm;
|
||||
video/x-flv flv;
|
||||
video/x-m4v m4v;
|
||||
video/x-matroska mkv;
|
||||
video/x-mng mng;
|
||||
video/x-ms-asf asx asf;
|
||||
video/x-ms-wmv wmv;
|
||||
video/x-msvideo avi;
|
||||
}
|
||||
|
|
|
|||
21
debian/conf/nginx.conf
vendored
21
debian/conf/nginx.conf
vendored
|
|
@ -1,6 +1,9 @@
|
|||
user www-data;
|
||||
worker_processes 4;
|
||||
worker_processes auto;
|
||||
worker_cpu_affinity auto;
|
||||
pid /run/nginx.pid;
|
||||
error_log /var/log/nginx/error.log;
|
||||
include /etc/nginx/modules-enabled/*.conf;
|
||||
|
||||
events {
|
||||
worker_connections 768;
|
||||
|
|
@ -15,10 +18,8 @@ http {
|
|||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
# server_tokens off;
|
||||
server_tokens off; # Recommended practice is to turn this off
|
||||
|
||||
# server_names_hash_bucket_size 64;
|
||||
# server_name_in_redirect off;
|
||||
|
|
@ -30,22 +31,20 @@ http {
|
|||
# SSL Settings
|
||||
##
|
||||
|
||||
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
|
||||
ssl_prefer_server_ciphers on;
|
||||
ssl_protocols TLSv1.2 TLSv1.3; # Dropping SSLv3 (POODLE), TLS 1.0, 1.1
|
||||
ssl_prefer_server_ciphers off; # Don't force server cipher order.
|
||||
|
||||
##
|
||||
# Logging Settings
|
||||
##
|
||||
|
||||
access_log /var/log/nginx/access.log;
|
||||
error_log /var/log/nginx/error.log;
|
||||
|
||||
##
|
||||
# Gzip Settings
|
||||
##
|
||||
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
|
||||
# gzip_vary on;
|
||||
# gzip_proxied any;
|
||||
|
|
@ -66,17 +65,17 @@ http {
|
|||
#mail {
|
||||
# # See sample authentication script at:
|
||||
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
|
||||
#
|
||||
#
|
||||
# # auth_http localhost/auth.php;
|
||||
# # pop3_capabilities "TOP" "USER";
|
||||
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
|
||||
#
|
||||
#
|
||||
# server {
|
||||
# listen localhost:110;
|
||||
# protocol pop3;
|
||||
# proxy on;
|
||||
# }
|
||||
#
|
||||
#
|
||||
# server {
|
||||
# listen localhost:143;
|
||||
# protocol imap;
|
||||
|
|
|
|||
1
debian/conf/scgi_params
vendored
1
debian/conf/scgi_params
vendored
|
|
@ -8,6 +8,7 @@ scgi_param DOCUMENT_URI $document_uri;
|
|||
scgi_param DOCUMENT_ROOT $document_root;
|
||||
scgi_param SCGI 1;
|
||||
scgi_param SERVER_PROTOCOL $server_protocol;
|
||||
scgi_param REQUEST_SCHEME $scheme;
|
||||
scgi_param HTTPS $https if_not_empty;
|
||||
|
||||
scgi_param REMOTE_ADDR $remote_addr;
|
||||
|
|
|
|||
29
debian/conf/sites-available/default
vendored
29
debian/conf/sites-available/default
vendored
|
|
@ -1,12 +1,17 @@
|
|||
##
|
||||
# You should look at the following URL's in order to grasp a solid understanding
|
||||
# of Nginx configuration files in order to fully unleash the power of Nginx.
|
||||
# http://wiki.nginx.org/Pitfalls
|
||||
# http://wiki.nginx.org/QuickStart
|
||||
# http://wiki.nginx.org/Configuration
|
||||
# https://www.nginx.com/resources/wiki/start/
|
||||
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
|
||||
# https://wiki.debian.org/Nginx/DirectoryStructure
|
||||
#
|
||||
# Generally, you will want to move this file somewhere, and start with a clean
|
||||
# file but keep this around for reference. Or just disable in sites-enabled.
|
||||
# In most cases, administrators will remove this file from sites-enabled/ and
|
||||
# leave it as reference inside of sites-available where it will continue to be
|
||||
# updated by the nginx packaging team.
|
||||
#
|
||||
# This file will automatically load configuration files provided by other
|
||||
# applications, such as Drupal or Wordpress. These applications will be made
|
||||
# available underneath a path with that package name, such as /drupal8.
|
||||
#
|
||||
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
|
||||
##
|
||||
|
|
@ -22,6 +27,12 @@ server {
|
|||
# listen 443 ssl default_server;
|
||||
# listen [::]:443 ssl default_server;
|
||||
#
|
||||
# Note: You should disable gzip for SSL traffic.
|
||||
# See: https://bugs.debian.org/773332
|
||||
#
|
||||
# Read up on ssl_ciphers to ensure a secure configuration.
|
||||
# See: https://bugs.debian.org/765782
|
||||
#
|
||||
# Self signed certs generated by the ssl-cert package
|
||||
# Don't use them in a production server!
|
||||
#
|
||||
|
|
@ -40,15 +51,15 @@ server {
|
|||
try_files $uri $uri/ =404;
|
||||
}
|
||||
|
||||
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
|
||||
# pass PHP scripts to FastCGI server
|
||||
#
|
||||
#location ~ \.php$ {
|
||||
# include snippets/fastcgi-php.conf;
|
||||
#
|
||||
# # With php5-cgi alone:
|
||||
# # With php-fpm (or other unix sockets):
|
||||
# fastcgi_pass unix:/run/php/php7.4-fpm.sock;
|
||||
# # With php-cgi (or other tcp sockets):
|
||||
# fastcgi_pass 127.0.0.1:9000;
|
||||
# # With php5-fpm:
|
||||
# fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||
#}
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
|
|
|
|||
2
debian/conf/snippets/fastcgi-php.conf
vendored
2
debian/conf/snippets/fastcgi-php.conf
vendored
|
|
@ -1,5 +1,5 @@
|
|||
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
|
||||
# Check that the PHP script exists before passing it
|
||||
try_files $fastcgi_script_name =404;
|
||||
|
|
|
|||
1
debian/conf/uwsgi_params
vendored
1
debian/conf/uwsgi_params
vendored
|
|
@ -8,6 +8,7 @@ uwsgi_param REQUEST_URI $request_uri;
|
|||
uwsgi_param PATH_INFO $document_uri;
|
||||
uwsgi_param DOCUMENT_ROOT $document_root;
|
||||
uwsgi_param SERVER_PROTOCOL $server_protocol;
|
||||
uwsgi_param REQUEST_SCHEME $scheme;
|
||||
uwsgi_param HTTPS $https if_not_empty;
|
||||
|
||||
uwsgi_param REMOTE_ADDR $remote_addr;
|
||||
|
|
|
|||
357
debian/control
vendored
357
debian/control
vendored
|
|
@ -1,56 +1,43 @@
|
|||
Source: nginx
|
||||
Section: httpd
|
||||
Priority: optional
|
||||
Maintainer: Kartik Mistry <kartik@debian.org>
|
||||
Uploaders: Jose Parrella <bureado@debian.org>,
|
||||
Fabio Tranchitella <kobold@debian.org>,
|
||||
Michael Lustfield <michael@lustfield.net>,
|
||||
Dmitry E. Oboukhov <unera@debian.org>,
|
||||
Cyril Lavier <cyril.lavier@davromaniak.eu>,
|
||||
Christos Trochalakis <yatiohi@ideopolis.gr>
|
||||
Build-Depends: autotools-dev,
|
||||
debhelper (>= 9),
|
||||
dh-systemd (>= 1.5),
|
||||
dpkg-dev (>= 1.15.5),
|
||||
Maintainer: Debian Nginx Maintainers <pkg-nginx-maintainers@alioth-lists.debian.net>
|
||||
Uploaders: Jan Mojžíš <janmojzis@debian.org>
|
||||
Build-Depends: debhelper-compat (= 13),
|
||||
libexpat-dev,
|
||||
libgd2-dev | libgd2-noxpm-dev,
|
||||
libgd-dev,
|
||||
libgeoip-dev,
|
||||
libluajit-5.1-dev [i386 amd64 kfreebsd-i386 armel armhf powerpc powerpcspe mips mipsel] | liblua5.1-0-dev,
|
||||
libmhash-dev,
|
||||
libpam0g-dev,
|
||||
libpcre3-dev,
|
||||
libpcre2-dev,
|
||||
libperl-dev,
|
||||
libssl-dev,
|
||||
libxslt1-dev,
|
||||
po-debconf,
|
||||
zlib1g-dev
|
||||
Standards-Version: 3.9.6.0
|
||||
Homepage: http://nginx.net
|
||||
Vcs-Git: git://anonscm.debian.org/collab-maint/nginx.git
|
||||
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/nginx.git;a=summary
|
||||
XS-Testsuite: autopkgtest
|
||||
Standards-Version: 4.7.0
|
||||
Homepage: https://nginx.org
|
||||
Vcs-Git: https://salsa.debian.org/nginx-team/nginx.git
|
||||
Vcs-Browser: https://salsa.debian.org/nginx-team/nginx
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: nginx
|
||||
Architecture: all
|
||||
Depends: nginx-full (>= ${source:Version}) |
|
||||
nginx-light (>= ${source:Version}) |
|
||||
nginx-extras (>= ${source:Version}) ,
|
||||
nginx-full (<< ${source:Version}.1~) |
|
||||
nginx-light (<< ${source:Version}.1~) |
|
||||
nginx-extras (<< ${source:Version}.1~) ,
|
||||
${misc:Depends}
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
iproute2,
|
||||
nginx-common (= ${source:Version}),
|
||||
Breaks: nginx-light (<< 1.22.1-6~), nginx-extras (<< 1.22.1-6~), nginx-core (<< 1.22.1-6~),
|
||||
Replaces: nginx-light (<< 1.22.1-6~), nginx-extras (<< 1.22.1-6~), nginx-core (<< 1.22.1-6~),
|
||||
Provides: httpd, httpd-cgi, ${nginx:abi}
|
||||
Description: small, powerful, scalable web/proxy server
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
created by Igor Sysoev. It can be used both as a standalone web server
|
||||
and as a proxy to reduce the load on back-end HTTP or mail servers.
|
||||
.
|
||||
This is a dependency package to install either nginx-full (by default) or
|
||||
nginx-light.
|
||||
|
||||
Package: nginx-doc
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
Section: doc
|
||||
Depends: lsb-base (>= 3.2-14), ${misc:Depends}
|
||||
Depends: ${misc:Depends}
|
||||
Description: small, powerful, scalable web/proxy server - documentation
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
created by Igor Sysoev. It can be used both as a standalone web server
|
||||
|
|
@ -59,16 +46,11 @@ Description: small, powerful, scalable web/proxy server - documentation
|
|||
This package provides extra documentation to help unleash the power of Nginx.
|
||||
|
||||
Package: nginx-common
|
||||
Breaks: nginx (<< 1.22.1-8)
|
||||
Replaces: nginx (<< 1.22.1-8)
|
||||
Architecture: all
|
||||
Depends: lsb-base (>= 3.2-14), ${misc:Depends}
|
||||
Replaces: nginx (<< 0.8.54-4),
|
||||
nginx-extras (<< 0.8.54-4),
|
||||
nginx-full (<< 0.8.54-4),
|
||||
nginx-light (<< 0.8.54-4)
|
||||
Breaks: nginx (<< 0.8.54-4),
|
||||
nginx-extras (<< 0.8.54-4),
|
||||
nginx-full (<< 0.8.54-4),
|
||||
nginx-light (<< 0.8.54-4)
|
||||
Multi-Arch: foreign
|
||||
Depends: ${misc:Depends}
|
||||
Suggests: fcgiwrap, nginx-doc, ssl-cert
|
||||
Description: small, powerful, scalable web/proxy server - common files
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
|
|
@ -78,135 +60,252 @@ Description: small, powerful, scalable web/proxy server - common files
|
|||
This package contains base configuration files used by all versions of
|
||||
nginx.
|
||||
|
||||
Package: nginx-full
|
||||
Architecture: any
|
||||
Depends: nginx-common (= ${source:Version}), ${misc:Depends}, ${shlibs:Depends}
|
||||
Breaks: nginx (<< 1.4.5-1)
|
||||
Provides: httpd, httpd-cgi, nginx
|
||||
Conflicts: nginx-extras, nginx-light
|
||||
Suggests: nginx-doc (= ${source:Version})
|
||||
Package: nginx-dev
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
Depends: ${misc:Depends}, ${S:Build-Depends},
|
||||
${nginx:abi},
|
||||
nginx (<< ${source:Version}.1~),
|
||||
nginx (>= ${source:Version}),
|
||||
Provides: dh-sequence-nginx
|
||||
Description: nginx web/proxy server - development headers
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
created by Igor Sysoev. It can be used both as a standalone web server
|
||||
and as a proxy to reduce the load on back-end HTTP or mail servers.
|
||||
.
|
||||
This package provides development headers and necessary config scripts
|
||||
for the nginx web/proxy server, useful to develop and link third party
|
||||
additions to the Debian nginx web/proxy server packages.
|
||||
|
||||
Package: nginx-core
|
||||
Architecture: all
|
||||
Depends: libnginx-mod-http-geoip (>= ${source:Version}),
|
||||
libnginx-mod-http-geoip (<< ${source:Version}.1~),
|
||||
libnginx-mod-http-image-filter (>= ${source:Version}),
|
||||
libnginx-mod-http-image-filter (<< ${source:Version}.1~),
|
||||
libnginx-mod-http-xslt-filter (>= ${source:Version}),
|
||||
libnginx-mod-http-xslt-filter (<< ${source:Version}.1~),
|
||||
libnginx-mod-mail (>= ${source:Version}),
|
||||
libnginx-mod-mail (<< ${source:Version}.1~),
|
||||
libnginx-mod-stream (>= ${source:Version}),
|
||||
libnginx-mod-stream (<< ${source:Version}.1~),
|
||||
libnginx-mod-stream-geoip (>= ${source:Version}),
|
||||
libnginx-mod-stream-geoip (<< ${source:Version}.1~),
|
||||
nginx (>= ${source:Version}),
|
||||
nginx (<< ${source:Version}.1~),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: nginx-full (<< 1.18.0-1),
|
||||
Replaces: nginx-full (<< 1.18.0-1),
|
||||
Description: nginx web/proxy server (standard version)
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
created by Igor Sysoev. It can be used both as a standalone web server
|
||||
and as a proxy to reduce the load on back-end HTTP or mail servers.
|
||||
.
|
||||
This package provides a version of nginx with the complete set of
|
||||
standard modules included (but omitting some of those included in
|
||||
nginx-extra).
|
||||
This metapackage provides a version of nginx identical to that of nginx-full,
|
||||
but without any third-party modules, and only modules in the original
|
||||
nginx code base.
|
||||
.
|
||||
STANDARD HTTP MODULES: Core, Access, Auth Basic, Auto Index, Browser,
|
||||
Charset, Empty GIF, FastCGI, Geo, Gzip, Headers, Index, Limit Requests,
|
||||
Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI,
|
||||
Split Clients, SSI, Upstream, User ID, UWSGI.
|
||||
STANDARD HTTP MODULES: Core, Access, Auth Basic, Auto Index, Browser, Empty
|
||||
GIF, FastCGI, Geo, Limit Connections, Limit Requests, Map, Memcached, Proxy,
|
||||
Referer, Rewrite, SCGI, Split Clients, UWSGI.
|
||||
.
|
||||
OPTIONAL HTTP MODULES: Addition, Auth Request, Debug, GeoIP, Gzip
|
||||
Precompression, HTTP Sub, Image Filter, IPv6, Real IP, Spdy, SSL, Stub Status,
|
||||
Substitution, WebDAV, XSLT.
|
||||
OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, GeoIP, Gunzip,
|
||||
Gzip, Gzip Precompression, Headers, HTTP/2, Image Filter, Index, Log, Real IP,
|
||||
Slice, SSI, SSL, SSL Preread, Stub Status, Substitution, Thread Pool,
|
||||
Upstream, User ID, XSLT.
|
||||
.
|
||||
MAIL MODULES: Mail Core, IMAP, POP3, SMTP, SSL.
|
||||
OPTIONAL MAIL MODULES: Mail Core, Auth HTTP, Proxy, SSL, IMAP, POP3, SMTP.
|
||||
.
|
||||
THIRD PARTY MODULES: Auth PAM, DAV Ext, Echo, HTTP Substitution Filter,
|
||||
Upstream Fair Queue.
|
||||
OPTIONAL STREAM MODULES: Stream Core, GeoIP
|
||||
|
||||
Package: nginx-full-dbg
|
||||
Architecture: any
|
||||
Section: debug
|
||||
Priority: extra
|
||||
Depends: nginx-full (= ${binary:Version}), ${misc:Depends}
|
||||
Conflicts: nginx-extras-dbg, nginx-light-dbg
|
||||
Description: nginx web/proxy server (standard version) - debugging symbols
|
||||
Package: nginx-full
|
||||
Architecture: all
|
||||
Depends: libnginx-mod-http-auth-pam,
|
||||
libnginx-mod-http-dav-ext,
|
||||
libnginx-mod-http-echo,
|
||||
libnginx-mod-http-geoip2,
|
||||
libnginx-mod-http-subs-filter,
|
||||
libnginx-mod-http-upstream-fair,
|
||||
libnginx-mod-stream-geoip2,
|
||||
nginx (>= ${source:Version}),
|
||||
nginx (<< ${source:Version}.1~),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Description: nginx web/proxy server (standard version with 3rd parties)
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
created by Igor Sysoev. It can be used both as a standalone web server
|
||||
and as a proxy to reduce the load on back-end HTTP or mail servers.
|
||||
.
|
||||
This package provides debugging symbols for nginx-full, to assist in debugging
|
||||
issues that you may find. It should not be required for normal operation.
|
||||
This metapackage provides a version of nginx with the complete set of
|
||||
standard modules included (but omitting some of those included in
|
||||
nginx-extras).
|
||||
.
|
||||
STANDARD HTTP MODULES: Core, Access, Auth Basic, Auto Index, Browser, Empty
|
||||
GIF, FastCGI, Geo, Limit Connections, Limit Requests, Map, Memcached, Proxy,
|
||||
Referer, Rewrite, SCGI, Split Clients, UWSGI.
|
||||
.
|
||||
OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, GeoIP, Gunzip,
|
||||
Gzip, Gzip Precompression, Headers, HTTP/2, Image Filter, Index, Log, Real IP,
|
||||
Slice, SSI, SSL, Stream, SSL Preread, Stub Status, Substitution, Thread Pool,
|
||||
Upstream, User ID, XSLT.
|
||||
.
|
||||
OPTIONAL MAIL MODULES: Mail Core, Auth HTTP, Proxy, SSL, IMAP, POP3, SMTP.
|
||||
.
|
||||
OPTIONAL STREAM MODULES: Stream Core, GeoIP, GeoIP2
|
||||
.
|
||||
THIRD PARTY MODULES: Auth PAM, DAV Ext, Echo, GeoIP2, HTTP Substitutions
|
||||
Upstream Fair Queue.
|
||||
|
||||
Package: nginx-light
|
||||
Architecture: any
|
||||
Priority: extra
|
||||
Depends: nginx-common (= ${source:Version}), ${misc:Depends}, ${shlibs:Depends}
|
||||
Breaks: nginx (<< 1.4.5-1)
|
||||
Provides: httpd, httpd-cgi, nginx
|
||||
Conflicts: nginx-extras, nginx-full
|
||||
Suggests: nginx-doc (= ${source:Version})
|
||||
Architecture: all
|
||||
Depends: libnginx-mod-http-echo,
|
||||
nginx (>= ${source:Version}),
|
||||
nginx (<< ${source:Version}.1~),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Description: nginx web/proxy server (basic version)
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
created by Igor Sysoev. It can be used both as a standalone web server
|
||||
and as a proxy to reduce the load on back-end HTTP or mail servers.
|
||||
.
|
||||
This package provides a very light version of nginx with only the
|
||||
This metapackage provides a very light version of nginx with only the
|
||||
minimal set of features and modules.
|
||||
.
|
||||
STANDARD HTTP MODULES: Core, Access, Auth Basic, Auto Index, Charset,
|
||||
Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream.
|
||||
STANDARD HTTP MODULES: Core, Access, Auth Basic, Auto Index, Empty GIF,
|
||||
FastCGI, Map, Proxy, Rewrite, SCGI, uWSGI.
|
||||
.
|
||||
OPTIONAL HTTP MODULES: Auth Request, Debug, Gzip Precompression, IPv6, Real
|
||||
Ip, SSL, Stub Status.
|
||||
OPTIONAL HTTP MODULES: Auth Request, Charset, Gzip, Gzip Precompression,
|
||||
Headers, HTTP/2, Index, Log, Real IP, Slice, SSI, SSL, Stub Status, Thread
|
||||
Pool, WebDAV, Upstream.
|
||||
.
|
||||
THIRD PARTY MODULES: Echo.
|
||||
|
||||
Package: nginx-light-dbg
|
||||
Architecture: any
|
||||
Section: debug
|
||||
Priority: extra
|
||||
Depends: nginx-light (= ${binary:Version}), ${misc:Depends}
|
||||
Conflicts: nginx-extras-dbg, nginx-full-dbg
|
||||
Description: nginx web/proxy server (basic version) - debugging symbols
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
created by Igor Sysoev. It can be used both as a standalone web server
|
||||
and as a proxy to reduce the load on back-end HTTP or mail servers.
|
||||
.
|
||||
This package provides debugging symbols for nginx-light, to assist in
|
||||
debugging issues that you may find. It should not be required for normal
|
||||
operation.
|
||||
|
||||
Package: nginx-extras
|
||||
Architecture: any
|
||||
Priority: extra
|
||||
Depends: nginx-common (= ${source:Version}),
|
||||
Depends: nginx (= ${binary:Version}),
|
||||
libnginx-mod-http-geoip (= ${binary:Version}),
|
||||
libnginx-mod-http-image-filter (= ${binary:Version}),
|
||||
libnginx-mod-http-perl (= ${binary:Version}),
|
||||
libnginx-mod-http-xslt-filter (= ${binary:Version}),
|
||||
libnginx-mod-mail (= ${binary:Version}),
|
||||
libnginx-mod-stream (= ${binary:Version}),
|
||||
libnginx-mod-stream-geoip (= ${binary:Version}),
|
||||
libnginx-mod-http-auth-pam,
|
||||
libnginx-mod-http-cache-purge,
|
||||
libnginx-mod-http-dav-ext,
|
||||
libnginx-mod-http-echo,
|
||||
libnginx-mod-http-fancyindex,
|
||||
libnginx-mod-http-geoip2,
|
||||
libnginx-mod-http-headers-more-filter,
|
||||
libnginx-mod-http-lua [amd64 arm64 armel armhf i386 mips64el mipsel s390x riscv64 powerpc],
|
||||
libnginx-mod-http-subs-filter,
|
||||
libnginx-mod-http-uploadprogress,
|
||||
libnginx-mod-http-upstream-fair,
|
||||
libnginx-mod-nchan,
|
||||
libnginx-mod-stream-geoip2,
|
||||
${misc:Depends},
|
||||
${perl:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: nginx (<< 1.4.5-1)
|
||||
Provides: httpd, httpd-cgi, nginx
|
||||
Conflicts: nginx-full, nginx-light
|
||||
Suggests: nginx-doc (= ${source:Version})
|
||||
Description: nginx web/proxy server (extended version)
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
created by Igor Sysoev. It can be used both as a standalone web server
|
||||
and as a proxy to reduce the load on back-end HTTP or mail servers.
|
||||
.
|
||||
This package provides a version of nginx with the standard modules, plus
|
||||
This metapackage provides a version of nginx with the standard modules, plus
|
||||
extra features and modules such as the Perl module, which allows the
|
||||
addition of Perl in configuration files.
|
||||
.
|
||||
STANDARD HTTP MODULES: Core, Access, Auth Basic, Auto Index, Browser,
|
||||
Charset, Empty GIF, FastCGI, Geo, Gzip, Headers, Index, Limit Requests,
|
||||
Limit Zone, Log, Map, Memcached, Proxy, Referer, Rewrite, SCGI,
|
||||
Split Clients, SSI, Upstream, User ID, UWSGI.
|
||||
STANDARD HTTP MODULES: Core, Access, Auth Basic, Auto Index, Browser, Empty
|
||||
GIF, FastCGI, Geo, Limit Connections, Limit Requests, Map, Memcached, Proxy,
|
||||
Referer, Rewrite, SCGI, Split Clients, UWSGI.
|
||||
.
|
||||
OPTIONAL HTTP MODULES: Addition, Auth Request, Debug, Embedded Perl, FLV,
|
||||
GeoIP, Gzip Precompression, Image Filter, IPv6, MP4, Random Index, Real IP,
|
||||
Secure Link, Spdy, SSL, Stub Status, Substitution, WebDAV, XSLT.
|
||||
OPTIONAL HTTP MODULES: Addition, Auth Request, Charset, WebDAV, FLV, GeoIP,
|
||||
Gunzip, Gzip, Gzip Precompression, Headers, HTTP/2, Image Filter, Index, Log,
|
||||
MP4, Embedded Perl, Random Index, Real IP, Slice, Secure Link, SSI, SSL,
|
||||
SSL Preread, Stub Status, Substitution, Thread Pool, Upstream, User ID, XSLT.
|
||||
.
|
||||
MAIL MODULES: Mail Core, IMAP, POP3, SMTP, SSL.
|
||||
OPTIONAL MAIL MODULES: Mail Core, Auth HTTP, Proxy, SSL, IMAP, POP3, SMTP.
|
||||
.
|
||||
THIRD PARTY MODULES: Auth PAM, Chunkin, DAV Ext, Echo, Embedded Lua,
|
||||
Fancy Index, HttpHeadersMore, HTTP Substitution Filter, http push,
|
||||
Nginx Development Kit, Upload Progress, Upstream Fair Queue.
|
||||
OPTIONAL STREAM MODULES: Stream, GeoIP, GeoIP2
|
||||
.
|
||||
THIRD PARTY MODULES: Auth PAM, Cache Purge, DAV Ext, Echo, Fancy Index,
|
||||
GeoIP2, Headers More, Embedded Lua, HTTP Substitutions, Nchan, Upload Progress,
|
||||
Upstream Fair Queue.
|
||||
|
||||
Package: nginx-extras-dbg
|
||||
Package: libnginx-mod-http-geoip
|
||||
Architecture: any
|
||||
Section: debug
|
||||
Priority: extra
|
||||
Depends: nginx-extras (= ${binary:Version}), ${misc:Depends}
|
||||
Conflicts: nginx-full-dbg, nginx-light-dbg
|
||||
Description: nginx web/proxy server (extended version) - debugging symbols
|
||||
Nginx ("engine X") is a high-performance web and reverse proxy server
|
||||
created by Igor Sysoev. It can be used both as a standalone web server
|
||||
and as a proxy to reduce the load on back-end HTTP or mail servers.
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
Recommends: nginx,
|
||||
Description: GeoIP HTTP module for Nginx
|
||||
The ngx_http_geoip module creates variables with values depending on the
|
||||
client IP address, using the precompiled MaxMind databases.
|
||||
.
|
||||
This package provides debugging symbols for nginx-extras, to assist in
|
||||
debugging issues that you may find. It should not be required for normal
|
||||
operation.
|
||||
Those variables include country, region, city, latitude, longitude, postal
|
||||
code, etc.
|
||||
|
||||
Package: libnginx-mod-http-image-filter
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
Recommends: nginx,
|
||||
Description: HTTP image filter module for Nginx
|
||||
The ngx_http_image_filter module is a filter that transforms images in JPEG,
|
||||
GIF, and PNG formats.
|
||||
.
|
||||
The module supports filters such as rotate, resize, crop, quality, sharpening,
|
||||
interlacing and more.
|
||||
|
||||
Package: libnginx-mod-http-xslt-filter
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
Recommends: nginx,
|
||||
Description: XSLT Transformation module for Nginx
|
||||
The ngx_http_xslt_filter module is a filter that transforms XML responses
|
||||
using one or more XSLT stylesheets.
|
||||
.
|
||||
The transformation can be adjusted by setting the relevant configuration
|
||||
parameters.
|
||||
|
||||
Package: libnginx-mod-mail
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
Recommends: nginx,
|
||||
Description: Mail module for Nginx
|
||||
The nginx_mail module adds mail proxy support to nginx.
|
||||
.
|
||||
The module supports proxying all the standard mail protocols such as IMAP,
|
||||
POP3 & SMTP.
|
||||
|
||||
Package: libnginx-mod-stream
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
Recommends: nginx,
|
||||
Description: Stream module for Nginx
|
||||
The nginx_stream module adds stream proxy support to nginx.
|
||||
.
|
||||
Stream module supports loadbalancing & proxying to TCP servers. The module
|
||||
also supports ACLs/connection limiting and configuring multiple operational
|
||||
parameters.
|
||||
|
||||
Package: libnginx-mod-stream-geoip
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
libnginx-mod-stream (= ${binary:Version}),
|
||||
Recommends: nginx,
|
||||
Description: GeoIP Stream module for Nginx
|
||||
The ngx_stream_geoip module creates variables with values depending on the
|
||||
client IP address, using the precompiled MaxMind databases.
|
||||
.
|
||||
Those variables include country, region, city, latitude, longitude, postal
|
||||
code, etc.
|
||||
|
||||
Package: libnginx-mod-http-perl
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends},
|
||||
Recommends: nginx,
|
||||
Description: Perl module for Nginx
|
||||
Embed Perl runtime into nginx.
|
||||
.
|
||||
The ngx_http_perl module is used to implement location and variable handlers
|
||||
in Perl and insert Perl calls into SSI.
|
||||
.
|
||||
Note that this module is marked experimental.
|
||||
|
|
|
|||
196
debian/copyright
vendored
196
debian/copyright
vendored
|
|
@ -1,102 +1,82 @@
|
|||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: nginx
|
||||
Source: http://nginx.org/en/download.html
|
||||
Source: https://nginx.org/en/download.html
|
||||
|
||||
Files: *
|
||||
Copyright: 2002-2014 Igor Sysoev
|
||||
2011-2014 Nginx, Inc.
|
||||
Maxim Dounin
|
||||
Valentin V. Bartenev
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: src/core/ngx_murmurhash.c
|
||||
Copyright: Copyright (C) Austin Appleby
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: src/core/ngx_proxy_protocol.h
|
||||
src/core/ngx_proxy_protocol.c
|
||||
Copyright: Copyright (C) Roman Arutyunyan
|
||||
Copyright (C) Nginx, Inc.
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: src/http/modules/ngx_http_scgi_module.c
|
||||
src/http/modules/ngx_http_uwsgi_module.c
|
||||
Copyright: Copyright (C) Igor Sysoev
|
||||
Copyright (C) Nginx, Inc.
|
||||
Copyright (C) Manlio Perillo (manlio.perillo@gmail.com)
|
||||
Copyright: Valentin V. Bartenev
|
||||
Ruslan Ermilov
|
||||
Roman Arutyunyan
|
||||
Maxim Dounin
|
||||
2011-2024, Nginx, Inc.
|
||||
2002-2021, Igor Sysoev
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: contrib/geo2nginx.pl
|
||||
Copyright: 2005, Andrei Nigmatulin
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/headers-more-nginx-module/*
|
||||
Copyright: Copyright (c) 2009-2014, Yichun "agentzh" Zhang (章亦春) <agentzh@gmail.com>, CloudFlare Inc.
|
||||
Copyright (c) 2010-2013, Bernd Dorn
|
||||
Copyright (c) Igor Sysoev
|
||||
Files: debian/*
|
||||
Copyright: 2022-2025, Jan Mojžíš <janmojzis@debian.org>
|
||||
2020-2022, Ondřej Nový <onovy@debian.org>
|
||||
2019-2022, Thomas Ward <teward@ubuntu.com>
|
||||
2013-2016, Christos Trochalakis <ctrochalakis@debian.org>
|
||||
2011-2013, Cyril Lavier <cyril.lavier@davromaniak.eu>
|
||||
2011, Dmitry E. Oboukhov <unera@debian.org>
|
||||
2010-2014, Michael Lustfield <michael@lustfield.net>
|
||||
2009-2014, Kartik Mistry <kartik@debian.org>
|
||||
2008, Jose Parrella <joseparrella@cantv.net>
|
||||
2007-2009, Fabio Tranchitella <kobold@debian.org>
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/nginx-development-kit/*
|
||||
Copyright: Marcus Clyne
|
||||
License: BSD-3-clause
|
||||
|
||||
Files: debian/modules/nginx-development-kit/src/hash/md5.h
|
||||
debian/modules/nginx-development-kit/src/hash/sha.h
|
||||
Copyright: Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
License: BSD-4-clause
|
||||
|
||||
Files: debian/modules/nginx-auth-pam/*
|
||||
Copyright: 2008-2013, Sergio Talens Oliag
|
||||
Files: debian/apport/*
|
||||
Copyright: 2015, Thomas Ward <teward@ubuntu.com>
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/nginx-echo/*
|
||||
Copyright: Copyright (c) 2009-2014, Yichun "agentzh" Zhang <agentzh@gmail.com>
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/nginx-lua/*
|
||||
Copyright: Copyright (C) 2009-2014, by Xiaozhe Wang (chaoslawful) <chaoslawful@gmail.com>.
|
||||
Copyright (C) 2009-2014, by Yichun "agentzh" Zhang (章亦春) <agentzh@gmail.com>, CloudFlare Inc.
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/nginx-upstream-fair/*
|
||||
Copyright: Copyright (c) 2007 Grzegorz Nosek
|
||||
Igor Sysoev
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/nginx-http-push/*
|
||||
Copyright: Copyright (c) 2009 Leo Ponomarev
|
||||
Files: debian/debhelper/*
|
||||
Copyright: 2022, Miao Wang
|
||||
License: Expat
|
||||
|
||||
Files: debian/modules/nginx-upload-progress/*
|
||||
Copyright: Brice Figureau
|
||||
2002-2007, Igor Sysoev
|
||||
Files: debian/debhelper/dh_nginx
|
||||
Copyright: 2016, Christos Trochalakis <ctrochalakis@debian.org>
|
||||
License: GPL-2+
|
||||
|
||||
Files: debian/ngx-conf/ngx-conf
|
||||
Copyright: 2015, Michael Lustfield <michael@lustfield.net>
|
||||
License: Expat
|
||||
|
||||
Files: man/*
|
||||
Copyright: Nginx, Inc.
|
||||
2010, 2019, Sergey A. Osokin
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/nginx-cache-purge/*
|
||||
Copyright: 2009-2012, FRiCKLE <info@frickle.com>,
|
||||
2009-2012, Piotr Sikora <piotr.sikora@frickle.com>
|
||||
Files: src/core/ngx_murmurhash.c
|
||||
Copyright: Austin Appleby
|
||||
License: public-domain
|
||||
All MurmurHash versions are public domain software, and the author
|
||||
disclaims all copyright to their code.
|
||||
|
||||
Files: src/http/modules/ngx_http_scgi_module.c
|
||||
Copyright: Nginx, Inc.
|
||||
Manlio Perillo (manlio.perillo@gmail.com)
|
||||
Igor Sysoev
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/nginx-dav-ext-module/*
|
||||
Copyright: Arutyunyan Roman <arut@qip.ru>
|
||||
Files: src/http/modules/ngx_http_uwsgi_module.c
|
||||
Copyright: Nginx, Inc.
|
||||
Igor Sysoev
|
||||
2009, 2010, Unbit S.a.s.
|
||||
2008, Manlio Perillo (manlio.perillo@gmail.com)
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/ngx-fancyindex/*
|
||||
Copyright: Copyright (c) Adrian Perez <aperez@igalia.com>
|
||||
Files: src/http/ngx_http_huff_encode.c
|
||||
Copyright: Valentin V. Bartenev
|
||||
Nginx, Inc.
|
||||
2015, Vlad Krasnov
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/modules/ngx_http_substitutions_filter_module/*
|
||||
Copyright: Copyright (C) 2014 by Weibin Yao <yaoweibin@gmail.com>
|
||||
License: BSD-2-clause
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2007-2009, Fabio Tranchitella <kobold@debian.org>
|
||||
2008, Jose Parrella <joseparrella@cantv.net>
|
||||
2009-2014, Kartik Mistry <kartik@debian.org>
|
||||
2010-2014, Michael Lustfield <michael@lustfield.net>
|
||||
2011 Dmitry E. Oboukhov <unera@debian.org>
|
||||
2011-2013, Cyril Lavier <cyril.lavier@davromaniak.eu>
|
||||
2013-2014, Christos Trochalakis <yatiohi@ideopolis.gr>
|
||||
Files: src/stream/ngx_stream_set_module.c
|
||||
Copyright: Pavel Pautov
|
||||
Nginx, Inc.
|
||||
License: BSD-2-clause
|
||||
|
||||
License: BSD-2-clause
|
||||
|
|
@ -124,58 +104,6 @@ License: BSD-2-clause
|
|||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
License: BSD-3-clause
|
||||
All rights reserved.
|
||||
.
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this
|
||||
software without specific prior written permission.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS
|
||||
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
License: BSD-4-clause
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
4. Neither the name of the University nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
.
|
||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
|
||||
License: Expat
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to
|
||||
|
|
@ -194,3 +122,15 @@ License: Expat
|
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
||||
|
||||
License: GPL-2+
|
||||
This is free software, licensed under:
|
||||
.
|
||||
The GNU General Public License, Version 2, June 1991
|
||||
.
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991, or (at
|
||||
your option) any later version.
|
||||
On Debian systems, the complete text of version 2 of the GNU General
|
||||
Public License can be found in '/usr/share/common-licenses/GPL-2'.
|
||||
|
|
|
|||
334
debian/debhelper/dh_nginx
vendored
Executable file
334
debian/debhelper/dh_nginx
vendored
Executable file
|
|
@ -0,0 +1,334 @@
|
|||
#! /usr/bin/perl
|
||||
|
||||
# dh_nginx - Nginx configuration helper
|
||||
# Copyright (C) 2016 Christos Trochalakis <ctrochalakis@debian.org>
|
||||
#
|
||||
# This program is licensed under the terms of the GNU General
|
||||
# Public License veserion 2+
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
use strict;
|
||||
use File::Find;
|
||||
use Debian::Debhelper::Dh_Lib;
|
||||
use Dpkg::Substvars;
|
||||
|
||||
=head1 NAME
|
||||
|
||||
dh_nginx - register configuration snippets to the nginx web server
|
||||
|
||||
=cut
|
||||
my $nginx_in_tree;
|
||||
my $abi;
|
||||
sub nginx_depends
|
||||
{
|
||||
if (!$abi) {
|
||||
my $sv = Dpkg::Substvars->new();
|
||||
if ($nginx_in_tree) {
|
||||
$sv->load("debian/libnginx-mod.abisubstvars");
|
||||
}
|
||||
else {
|
||||
$sv->load("/usr/share/nginx/src/debian/libnginx-mod.abisubstvars");
|
||||
}
|
||||
$abi = $sv->get("nginx:abi");
|
||||
}
|
||||
return "$abi";
|
||||
}
|
||||
|
||||
sub nginx_api_installdir
|
||||
{
|
||||
return "/usr/lib/nginx/modules/";
|
||||
}
|
||||
|
||||
sub nginx_modules_conf_installdir
|
||||
{
|
||||
return "usr/share/nginx/modules-available/"
|
||||
}
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
B<dh_nginx> [S<I<debhelper options>>] [B<-n>|B<--noscripts>] [B<--in-nginx-tree>]
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
B<dh_nginx> is a debhelper program that is responsible for correctly installing
|
||||
Nginx configuration snippets and setting postinst, prerm and dependencies in
|
||||
Nginx web server modules and web applications.
|
||||
|
||||
It supports the following configuration types
|
||||
|
||||
=over 4
|
||||
|
||||
=item *
|
||||
Nginx modules
|
||||
|
||||
=back
|
||||
|
||||
=head1 INVOCATION
|
||||
|
||||
%:
|
||||
dh $@ --with nginx
|
||||
|
||||
=head1 FILES
|
||||
|
||||
=over 4
|
||||
|
||||
=item debian/I<package>.nginx
|
||||
|
||||
=item debian/nginx
|
||||
|
||||
=back
|
||||
|
||||
Lists files to be registered with the Nginx HTTP server. The file is
|
||||
interpreted as line separated list of installation stanzas, where each entry
|
||||
consists of whitespace separated values conforming to the file semantics below.
|
||||
|
||||
When this file is missing but the name of the package looks like a nginx module,
|
||||
the module load file and its loading priority is automatically generated inferring
|
||||
from the package name. In this case, I<package-name>B<.install> or other mechanisms
|
||||
should be used for copying the B<.so> library into the correct place.
|
||||
|
||||
=head2 FILE SEMANTICS
|
||||
|
||||
Each line consists of a triple
|
||||
|
||||
I<type> I<file> [I<arguments>]
|
||||
|
||||
where the values are interpreted as follows:
|
||||
|
||||
|
||||
=head3 I<type>
|
||||
|
||||
Denotes the type of file to be installed. Recognized values are B<mod> for
|
||||
Nginx modules.
|
||||
|
||||
=head3 I<file>
|
||||
|
||||
Is interpreted as existing file name within the source package. No path
|
||||
expansion is effectuated. Just like L<dh_install(1)>, B<dh_nginx> can not
|
||||
rename files.
|
||||
|
||||
=head3 I<arguments>
|
||||
|
||||
Is inrerpreted as optional arguments if any, currently not used.
|
||||
|
||||
=head2 MODULES
|
||||
|
||||
Modules are handled specially and are determined by the B<mod> type. Modules must
|
||||
have a I<.conf> suffix. In that case the file is interpreted as module load
|
||||
file and is installed to I</etc/nginx/modules-available>. If the file is ending
|
||||
with a I<.so> suffix it is interpreted as actual module shared object and is
|
||||
installed to the Nginx module directory, an optional numeric priority can be
|
||||
set as the last argument to handle module dependencies.
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
=over 4
|
||||
|
||||
=item B<-e>, B<--noenable>
|
||||
|
||||
Install maintainer scripts accordingly, but do not enable the scripts or
|
||||
configuration by default.
|
||||
|
||||
=item B<-n>, B<--noscripts>
|
||||
|
||||
Do not modify F<postinst>/F<postrm>/F<prerm> maintainer scripts.
|
||||
|
||||
=item B<--in-nginx-tree>
|
||||
|
||||
Specify this option when building in-tree modules along with nginx. When
|
||||
specified, nginx abi version is not required in package name.
|
||||
|
||||
=back
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
Note that this command is not idempotent. L<dh_prep(1)> should be called
|
||||
between invocations of this command. Otherwise, it may cause multiple
|
||||
instances of the same text to be added to maintainer scripts.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
This manual and L<dh_nginx> was written by Christos Trochalakis.
|
||||
dh_nginx is heavily influnced by dh_apache2 written by Arno Toell
|
||||
<debian@toell.net>.
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
##
|
||||
## main code starts here
|
||||
##
|
||||
|
||||
init(options => {
|
||||
"e|noenable" => \$dh{NOENABLE},
|
||||
"in-nginx-tree" => \$nginx_in_tree,
|
||||
});
|
||||
|
||||
foreach my $package ((@{$dh{DOPACKAGES}}))
|
||||
{
|
||||
my %PACKAGE_TYPE = (
|
||||
has_a_module => [],
|
||||
);
|
||||
|
||||
my $file = pkgfile($package, "nginx");
|
||||
my $tmp = tmpdir($package);
|
||||
my $installdir = $tmp . "/" . nginx_modules_conf_installdir();
|
||||
my $modinstalldir = $tmp . "/" . nginx_api_installdir();
|
||||
|
||||
if ($file){
|
||||
my @files_to_register = filedoublearray($file, ".") if $file;
|
||||
foreach my $line (@files_to_register)
|
||||
{
|
||||
my $type = lc(shift @{$line}) if $line->[0];
|
||||
my $source = shift @{$line} if $line->[0];
|
||||
my @arguments = @{$line};
|
||||
my $destination;
|
||||
|
||||
$type = "modules" if $type eq "mod";
|
||||
|
||||
verbose_print("$type -- $source -- @arguments\n\n");
|
||||
|
||||
if ($type eq "modules")
|
||||
{
|
||||
my $basesource = basename($source);
|
||||
|
||||
if ($type eq "modules")
|
||||
{
|
||||
if ($basesource =~ m/\.conf$/)
|
||||
{
|
||||
my $enablename = $basesource;
|
||||
my $prio = $#arguments >= 0 ? $arguments[0] : 50;
|
||||
$destination = "$prio-$basesource";
|
||||
push @{$PACKAGE_TYPE{'has_a_module'}}, "$enablename:$destination";
|
||||
verbose_print("Installing module configuration $enablename into $installdir prio:$prio\n");
|
||||
}
|
||||
elsif ($basesource =~ m/\.so$/)
|
||||
{
|
||||
verbose_print("Installing module binary $source into $modinstalldir\n");
|
||||
if (! -d $modinstalldir)
|
||||
{
|
||||
complex_doit("mkdir","-p", $modinstalldir);
|
||||
complex_doit("chmod","755","$modinstalldir");
|
||||
}
|
||||
complex_doit("cp", $source, $modinstalldir);
|
||||
next;
|
||||
}
|
||||
|
||||
# TODO
|
||||
error("module: \"$basesource\" needs .conf, .so or suffix") if $basesource !~ m/\.(conf|so)/;
|
||||
}
|
||||
|
||||
if (! -d $installdir)
|
||||
{
|
||||
complex_doit("mkdir","-p",$installdir);
|
||||
complex_doit("chmod","755","$installdir");
|
||||
}
|
||||
complex_doit("cp",$source,$installdir);
|
||||
complex_doit("chmod","644","$installdir/$basesource");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
error("Unknown parameter: $type\n");
|
||||
}
|
||||
|
||||
}
|
||||
} elsif ($package =~ /^libnginx-mod-/){
|
||||
verbose_print("$package might be a nginx module\n");
|
||||
|
||||
my $module = $package;
|
||||
$module =~ s/^libnginx-mod-//;
|
||||
verbose_print("Guessed module name: $module\n");
|
||||
|
||||
my $modulepath = $module;
|
||||
$modulepath =~ s/-/_/g;
|
||||
|
||||
if (-e "$modinstalldir/ngx_${modulepath}_module.so"){
|
||||
my $prio = 50;
|
||||
if ($module =~ /^\w+-/ && !($module =~ /^http-/) ){
|
||||
$prio = 70;
|
||||
}
|
||||
verbose_print("Guessed load priority: $prio\n");
|
||||
|
||||
my $conf_name = "mod-$module.conf";
|
||||
install_dir($installdir);
|
||||
verbose_print("Installing module configuration $conf_name into $installdir prio:$prio\n");
|
||||
open(MOD_CONF, $dh{NO_ACT} ? ">&STDERR" : ">$installdir/$conf_name") or error("open($installdir/$conf_name): $!");
|
||||
print(MOD_CONF "load_module modules/ngx_${modulepath}_module.so;\n");
|
||||
close(MOD_CONF);
|
||||
chmod(0644, "$installdir/$conf_name") or error("chmod(0644, $installdir/$conf_name): $!");
|
||||
push @{$PACKAGE_TYPE{'has_a_module'}}, "$conf_name:$prio-$conf_name";
|
||||
} else {
|
||||
verbose_print("$package is not a nginx module because $modinstalldir/ngx_${modulepath}_module.so not found");
|
||||
verbose_print("If it is not correct, check if the module is installed before invoking this script");
|
||||
}
|
||||
}
|
||||
|
||||
my @postinst_autoscripts;
|
||||
|
||||
if ($#{$PACKAGE_TYPE{'has_a_module'}} >= 0)
|
||||
{
|
||||
if ($package !~ m/libnginx-mod-\w+?/)
|
||||
{
|
||||
warning("Package $package appears to be an Nginx module. It should comply to the package naming scheme libnginx-mod-<modulename>\n");
|
||||
}
|
||||
addsubstvar($package, "misc:Depends", nginx_depends());
|
||||
|
||||
my $modules = "";
|
||||
foreach my $module (@{$PACKAGE_TYPE{'has_a_module'}})
|
||||
{
|
||||
$modules .= "$module ";
|
||||
}
|
||||
|
||||
push @postinst_autoscripts, ["module", $modules];
|
||||
}
|
||||
|
||||
if (! $dh{NOSCRIPTS})
|
||||
{
|
||||
foreach my $ref (@postinst_autoscripts)
|
||||
{
|
||||
for my $script_type (qw/postinst prerm postrm/)
|
||||
{
|
||||
if ($script_type eq "postinst" && $dh{NOENABLE})
|
||||
{
|
||||
next
|
||||
}
|
||||
|
||||
my %replacements = (
|
||||
NAMES => $ref->[1],
|
||||
);
|
||||
|
||||
my $sed_command = "";
|
||||
foreach my $key (sort keys %replacements)
|
||||
{
|
||||
my $val = $replacements{$key};
|
||||
# Use a control char as separator for sed, to
|
||||
# reduce escaping issues. Everything else is
|
||||
# passed verbatim, i.e. it must not contain any
|
||||
# shell or sed special characters.
|
||||
my $sep = "\x17";
|
||||
$sed_command .= "s" . $sep . "#$key#" .
|
||||
$sep . $val .
|
||||
$sep . "g; ";
|
||||
}
|
||||
|
||||
autoscript($package, "$script_type", "$script_type-nginx", $sed_command);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# vim: syntax=perl sw=8 sts=8 sr noet
|
||||
14
debian/debhelper/nginx.pm
vendored
Normal file
14
debian/debhelper/nginx.pm
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/perl
|
||||
use warnings;
|
||||
use strict;
|
||||
use Debian::Debhelper::Dh_Lib;
|
||||
|
||||
add_command_options( "dh_auto_test", "--buildsystem=nginx_mod" );
|
||||
add_command_options( "dh_auto_configure", "--buildsystem=nginx_mod" );
|
||||
add_command_options( "dh_auto_build", "--buildsystem=nginx_mod" );
|
||||
add_command_options( "dh_auto_install", "--buildsystem=nginx_mod" );
|
||||
add_command_options( "dh_auto_clean", "--buildsystem=nginx_mod" );
|
||||
|
||||
insert_after("dh_install", "dh_nginx");
|
||||
|
||||
1;
|
||||
138
debian/debhelper/nginx_mod.pm
vendored
Normal file
138
debian/debhelper/nginx_mod.pm
vendored
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
# A build system class for handling nginx modules.
|
||||
#
|
||||
# Copyright: © 2022 Miao Wang
|
||||
# License: MIT
|
||||
|
||||
package Debian::Debhelper::Buildsystem::nginx_mod;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use Dpkg::Deps qw(deps_parse);
|
||||
use Dpkg::Control::Info;
|
||||
use Debian::Debhelper::Dh_Lib qw(error doit getpackages addsubstvar);
|
||||
use File::Spec;
|
||||
use parent qw(Debian::Debhelper::Buildsystem::makefile);
|
||||
use Config;
|
||||
|
||||
sub DESCRIPTION {
|
||||
"Nginx Module (config)"
|
||||
}
|
||||
|
||||
sub check_auto_buildable {
|
||||
my ($this, $step) = @_;
|
||||
|
||||
return 1 if -e $this->get_sourcepath("config");
|
||||
}
|
||||
|
||||
sub _NGINX_SRC_DIR {
|
||||
"/usr/share/nginx/src"
|
||||
}
|
||||
|
||||
sub _NDK_SRC_DIR {
|
||||
"/usr/share/nginx-ndk/src"
|
||||
}
|
||||
|
||||
sub new {
|
||||
my $class=shift;
|
||||
my $this= $class->SUPER::new(@_);
|
||||
my $ngx_ver = `grep 'define NGINX_VERSION' /usr/share/nginx/src/src/core/nginx.h | sed -e 's/^.*"\\(.*\\)".*/\\1/'`;
|
||||
chomp($ngx_ver);
|
||||
$this->prefer_out_of_source_building(@_);
|
||||
$this->{has_ndk} = $this->has_build_dep("libnginx-mod-http-ndk-dev");
|
||||
$this->{has_stream} = $this->has_build_dep("libnginx-mod-stream");
|
||||
foreach my $cur (getpackages('arch')) {
|
||||
if ($this->{has_ndk} == 1) {
|
||||
addsubstvar($cur, "misc:Depends", "libnginx-mod-http-ndk");
|
||||
}
|
||||
if ($this->{has_stream} == 1) {
|
||||
addsubstvar($cur, "misc:Depends", "libnginx-mod-stream (>= $ngx_ver), libnginx-mod-stream (<< $ngx_ver.1~)");
|
||||
}
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
sub configure {
|
||||
my $this=shift;
|
||||
|
||||
doit({
|
||||
"chdir" => $this->_NGINX_SRC_DIR,
|
||||
"update_env" => {
|
||||
"src_dir" => $this->get_sourcedir,
|
||||
"bld_dir" => $this->get_builddir,
|
||||
"pwd_dir" => $this->{cwd},
|
||||
},
|
||||
}, "bash", "-c", '. ./conf_flags
|
||||
./configure \\
|
||||
--with-cc-opt="$(cd "$pwd_dir/$src_dir"; dpkg-buildflags --get CFLAGS) -fPIC $(cd "$pwd_dir/$src_dir"; dpkg-buildflags --get CPPFLAGS)" \\
|
||||
--with-ld-opt="$(cd "$pwd_dir/$src_dir"; dpkg-buildflags --get LDFLAGS) -fPIC" \\
|
||||
"${NGX_CONF_FLAGS[@]}" \\
|
||||
--add-dynamic-module="$pwd_dir/$src_dir" \\
|
||||
--builddir="$pwd_dir/$bld_dir" \\
|
||||
' . ($this->{has_ndk} ? '--add-module=' . $this->_NDK_SRC_DIR : '') . ' \\
|
||||
' . ($this->{has_stream} ? '--with-stream' : '') . ' \\
|
||||
"$@"', "dummy", @_);
|
||||
}
|
||||
|
||||
sub build {
|
||||
my $this=shift;
|
||||
|
||||
$this->do_make("-f", File::Spec->catfile($this->{cwd}, $this->get_buildpath("Makefile")), "-C", $this->_NGINX_SRC_DIR, "modules");
|
||||
}
|
||||
|
||||
sub test {
|
||||
my $this=shift;
|
||||
|
||||
if ( $this->{has_ndk} and !grep( /^ndk_http_module.so$/, @_ ) ) {
|
||||
unshift @_, "ndk_http_module.so";
|
||||
}
|
||||
|
||||
if ( $this->{has_stream} and !grep( /^ngx_stream_module.so$/, @_ ) ) {
|
||||
unshift @_, "ngx_stream_module.so";
|
||||
}
|
||||
|
||||
$this->doit_in_builddir("bash", "-e", "-o", "pipefail", "-c", '
|
||||
tmp_conf=$(mktemp -p .)
|
||||
for pre_dep in "$@"; do
|
||||
echo "load_module modules/$pre_dep;" >> "$tmp_conf"
|
||||
done
|
||||
for i in *.so; do
|
||||
echo "load_module $PWD/$i;" >> "$tmp_conf"
|
||||
done
|
||||
echo "events{}" >> "$tmp_conf"
|
||||
/usr/sbin/nginx -g "error_log /dev/null; pid /dev/null;" -t -q -c "$PWD/$tmp_conf"
|
||||
rm -f "$tmp_conf"
|
||||
', "dummy", @_);
|
||||
}
|
||||
|
||||
sub install {
|
||||
my $this=shift;
|
||||
my $destdir=shift;
|
||||
|
||||
$this->doit_in_builddir("bash", "-e", "-o", "pipefail", "-c", '
|
||||
destdir=$1
|
||||
mkdir -p "$destdir/usr/lib/nginx/modules"
|
||||
for i in *.so; do
|
||||
cp "$i" "$destdir/usr/lib/nginx/modules/"
|
||||
done
|
||||
', "dummy", $destdir);
|
||||
}
|
||||
|
||||
sub clean {
|
||||
my $this=shift;
|
||||
$this->rmdir_builddir();
|
||||
}
|
||||
|
||||
sub has_build_dep {
|
||||
my $this=shift;
|
||||
my $bd=shift;
|
||||
my $control = Dpkg::Control::Info->new()->get_source();
|
||||
my $depends = deps_parse($control->{'Build-Depends'});
|
||||
foreach (split /,\s+/,$depends) {
|
||||
if ($_ =~ /$bd/) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
1
|
||||
10
debian/gbp.conf
vendored
10
debian/gbp.conf
vendored
|
|
@ -1,3 +1,13 @@
|
|||
[DEFAULT]
|
||||
debian-branch = main
|
||||
upstream-branch = upstream
|
||||
upstream-tag = upstream/%(version)s
|
||||
pristine-tar = True
|
||||
sign-tags = True
|
||||
upstream-signatures = on
|
||||
|
||||
[import-orig]
|
||||
merge-mode = replace
|
||||
|
||||
[pull]
|
||||
track-missing = True
|
||||
|
|
|
|||
1
debian/help/examples/http
vendored
1
debian/help/examples/http
vendored
|
|
@ -38,7 +38,6 @@ http {
|
|||
##
|
||||
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
|
||||
# gzip_vary on;
|
||||
# gzip_proxied any;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue