mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-23 01:39:44 +01:00
Compare commits
1529 Commits
jb17.0.8-b
...
jdk-17.0.6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2fe42855c4 | ||
|
|
02f581522d | ||
|
|
f541d65092 | ||
|
|
8278c12cef | ||
|
|
7d9a59088f | ||
|
|
88b952a035 | ||
|
|
adeba02e08 | ||
|
|
4565055213 | ||
|
|
2b6f063c5d | ||
|
|
6692c99102 | ||
|
|
0427ff40a3 | ||
|
|
1452ca94ad | ||
|
|
04f32aacb5 | ||
|
|
5cc32a1427 | ||
|
|
9e566a0a57 | ||
|
|
41c9d7dc57 | ||
|
|
0ab310eafb | ||
|
|
12f32dfd45 | ||
|
|
d2fdea71f7 | ||
|
|
d84c61c428 | ||
|
|
da6fca4d78 | ||
|
|
85a655b908 | ||
|
|
87063038cb | ||
|
|
d523936872 | ||
|
|
1f72ba2214 | ||
|
|
3df0e29570 | ||
|
|
8c0c9b4188 | ||
|
|
d98215846e | ||
|
|
5b77b57468 | ||
|
|
a10bb08a4c | ||
|
|
9336fb2f73 | ||
|
|
ae1b055c31 | ||
|
|
b464cc2d92 | ||
|
|
b4a4f6ad55 | ||
|
|
94859b9104 | ||
|
|
44c8733bf6 | ||
|
|
22ad4098aa | ||
|
|
8ed9f83e82 | ||
|
|
aec0884320 | ||
|
|
20f22188e2 | ||
|
|
4c87089a23 | ||
|
|
22df666f11 | ||
|
|
10e16274c4 | ||
|
|
615bf959ff | ||
|
|
1743825077 | ||
|
|
4f5d8470e2 | ||
|
|
c086725698 | ||
|
|
a596d64207 | ||
|
|
4f5326c5e3 | ||
|
|
2f7e673f52 | ||
|
|
4a9774afd9 | ||
|
|
842edfe146 | ||
|
|
174c147ae1 | ||
|
|
c260e8a932 | ||
|
|
14eb228cc5 | ||
|
|
24ac347348 | ||
|
|
512532067e | ||
|
|
5c802851d4 | ||
|
|
1bbe4c2984 | ||
|
|
d0ad871362 | ||
|
|
94b9081b03 | ||
|
|
023f651d77 | ||
|
|
8f4a3a5fca | ||
|
|
3f799528d8 | ||
|
|
112ea1d7be | ||
|
|
a1679751d0 | ||
|
|
7a111ea14a | ||
|
|
728dc4de17 | ||
|
|
1c13d7ef85 | ||
|
|
52103da08c | ||
|
|
32aec436de | ||
|
|
d4d4dbcd36 | ||
|
|
10b7a6d4fe | ||
|
|
8ce7bb4ed8 | ||
|
|
cfedd3f165 | ||
|
|
175bd05959 | ||
|
|
3486bb2f8f | ||
|
|
7d17479dc3 | ||
|
|
b5710c4b14 | ||
|
|
f29ade7e4a | ||
|
|
cd4cc5d69e | ||
|
|
3d18b23132 | ||
|
|
386f7146ff | ||
|
|
574d72fee5 | ||
|
|
b7a0a0abde | ||
|
|
193ccc4e0e | ||
|
|
ccbf2a9bb3 | ||
|
|
7884eabfc9 | ||
|
|
07050b000c | ||
|
|
3df72a359e | ||
|
|
7d183e0c84 | ||
|
|
703a82a343 | ||
|
|
7723bb34e3 | ||
|
|
c29dc160f7 | ||
|
|
6196d93e54 | ||
|
|
3a5bcf0407 | ||
|
|
a00bd13884 | ||
|
|
a61b74e2ad | ||
|
|
18c4c253b3 | ||
|
|
21c52e3d0b | ||
|
|
d38a3432c2 | ||
|
|
ff14ed4af3 | ||
|
|
f2a10fd27b | ||
|
|
092be5071e | ||
|
|
b37d7df487 | ||
|
|
eef3c9605e | ||
|
|
e60939850e | ||
|
|
d5fedc5b5f | ||
|
|
5fa5392a4a | ||
|
|
0698930f1f | ||
|
|
9fd15d5780 | ||
|
|
6a45f75e21 | ||
|
|
aa98d0927a | ||
|
|
97320040d3 | ||
|
|
8194120e81 | ||
|
|
5977ce5adf | ||
|
|
ba2f0b4142 | ||
|
|
26351bf8ac | ||
|
|
b2061e095b | ||
|
|
5b6a428468 | ||
|
|
2e9ef14ee4 | ||
|
|
f65bf06896 | ||
|
|
996c0e9317 | ||
|
|
5de8b9c5a0 | ||
|
|
271d85f1b0 | ||
|
|
4df92e1acc | ||
|
|
5ff0ebd589 | ||
|
|
bf866a449d | ||
|
|
b6f8f4926b | ||
|
|
cb9289ed75 | ||
|
|
120bf27fd1 | ||
|
|
bd2fac8ca4 | ||
|
|
2f99fbba88 | ||
|
|
e2b09254db | ||
|
|
491d80029e | ||
|
|
525b9fc903 | ||
|
|
0071802456 | ||
|
|
7893f14898 | ||
|
|
feb6b3cfd8 | ||
|
|
fe4819b5eb | ||
|
|
2f2b914794 | ||
|
|
486097f159 | ||
|
|
745371d866 | ||
|
|
75ce3744f5 | ||
|
|
39e6ebd252 | ||
|
|
2012a98a72 | ||
|
|
ee0010350c | ||
|
|
974ff6b9f5 | ||
|
|
dbf694e484 | ||
|
|
a2654dedc6 | ||
|
|
f35b541be1 | ||
|
|
c9c8564d7c | ||
|
|
45a68a3f90 | ||
|
|
5eb0943cac | ||
|
|
86112cb089 | ||
|
|
949844080e | ||
|
|
a721e37d4d | ||
|
|
d613b78721 | ||
|
|
94bd53a0fc | ||
|
|
2214630290 | ||
|
|
14e4502451 | ||
|
|
ac7d936c4f | ||
|
|
c8d5f9a7f0 | ||
|
|
58b43636f9 | ||
|
|
96a5e40986 | ||
|
|
4a492945bc | ||
|
|
d4d2e34a1a | ||
|
|
d7a3a9e812 | ||
|
|
b38b6d53b8 | ||
|
|
62eb5ae268 | ||
|
|
eea78cfc12 | ||
|
|
0a6252780a | ||
|
|
ff5418eff8 | ||
|
|
8110660a55 | ||
|
|
e6bb02c842 | ||
|
|
2fbc5cbd35 | ||
|
|
51107abd6b | ||
|
|
6624f714d9 | ||
|
|
ce949baaef | ||
|
|
ca8e16d1ab | ||
|
|
0657a3abe7 | ||
|
|
2d4fec4d5d | ||
|
|
13ecd42bcd | ||
|
|
3d93fdc583 | ||
|
|
29fea3fd34 | ||
|
|
673b5056f8 | ||
|
|
6882bd36ff | ||
|
|
7f4fa239db | ||
|
|
cfc8771e90 | ||
|
|
8f28d66726 | ||
|
|
19ccadf58b | ||
|
|
38f6cbd559 | ||
|
|
a3097d41a1 | ||
|
|
65df81df6f | ||
|
|
14113556ab | ||
|
|
183d43d38c | ||
|
|
ed3b13aadc | ||
|
|
d4a0c18211 | ||
|
|
b513ba290b | ||
|
|
8b83fa089e | ||
|
|
00cab3f062 | ||
|
|
0464eaf90b | ||
|
|
48a853e20c | ||
|
|
60c9b3822f | ||
|
|
009488ee8e | ||
|
|
34d4bae263 | ||
|
|
90cc8ac939 | ||
|
|
9483069f53 | ||
|
|
67f31bb90b | ||
|
|
3bcdb66628 | ||
|
|
beb2ca22c9 | ||
|
|
796628ebdd | ||
|
|
461c6e8522 | ||
|
|
1b988002dc | ||
|
|
14d7e3ce29 | ||
|
|
742556429d | ||
|
|
fa8feb4253 | ||
|
|
4ea55269f4 | ||
|
|
f49ffca28f | ||
|
|
ad9e9f2c8b | ||
|
|
79288de50f | ||
|
|
3461ff3b3a | ||
|
|
e5dd0b4c28 | ||
|
|
f4ef78773f | ||
|
|
36f01165ef | ||
|
|
7c2b227c8d | ||
|
|
152ad7885a | ||
|
|
a67e07a1fb | ||
|
|
a91d9b54f4 | ||
|
|
0c551b6c01 | ||
|
|
6230aa8f96 | ||
|
|
3b48de5629 | ||
|
|
a0ccdbffff | ||
|
|
ae5f2de4fb | ||
|
|
f5c0fc3784 | ||
|
|
114f0c4005 | ||
|
|
ab6f746c72 | ||
|
|
5db0eea962 | ||
|
|
eeb4562e3d | ||
|
|
4efb85f154 | ||
|
|
9cfcae0ab9 | ||
|
|
7d0854b464 | ||
|
|
8a9420ae34 | ||
|
|
b75b932097 | ||
|
|
3be9252e2b | ||
|
|
b37756ea25 | ||
|
|
b8f2a8d423 | ||
|
|
6e07afa205 | ||
|
|
0b39137fc6 | ||
|
|
33bf1aa0a1 | ||
|
|
bdabf8e458 | ||
|
|
690ac7003c | ||
|
|
2bdea0f0a1 | ||
|
|
c59f741276 | ||
|
|
6e40c5c910 | ||
|
|
4b0ec09abc | ||
|
|
8c5cb310e3 | ||
|
|
3880076eba | ||
|
|
027be4971d | ||
|
|
2e5287ba93 | ||
|
|
a5dceb7439 | ||
|
|
e78a58f725 | ||
|
|
6089db0768 | ||
|
|
ba6898b989 | ||
|
|
02414956fe | ||
|
|
c5a9e68a0f | ||
|
|
6bc6980a7d | ||
|
|
baf3b5c33e | ||
|
|
28df1d94e6 | ||
|
|
fec638f382 | ||
|
|
ed29cbb0a4 | ||
|
|
eb1c5cb97a | ||
|
|
2434530e5e | ||
|
|
160dac0587 | ||
|
|
fe980c2e01 | ||
|
|
a800fe4286 | ||
|
|
6f2bbc4670 | ||
|
|
1e209d7dc0 | ||
|
|
46f94adbef | ||
|
|
6f6b0722d7 | ||
|
|
a18e936bee | ||
|
|
b196bc4c7f | ||
|
|
061ddcabbc | ||
|
|
486cffeab4 | ||
|
|
36dd0a71b7 | ||
|
|
02fa363932 | ||
|
|
f0acd72f2d | ||
|
|
cd7da2dfe7 | ||
|
|
13ed26b8c6 | ||
|
|
12576b99fc | ||
|
|
328ea9d0ff | ||
|
|
c4721bc24c | ||
|
|
94618a2fa3 | ||
|
|
e66fd866b8 | ||
|
|
282efe5e1d | ||
|
|
bf7e3bf070 | ||
|
|
00445e86fd | ||
|
|
d3197e7628 | ||
|
|
d13038aa90 | ||
|
|
6d2cddf54b | ||
|
|
b30d962f27 | ||
|
|
2796eca91c | ||
|
|
e3c178d6d8 | ||
|
|
70a51d482a | ||
|
|
3d2d300bcd | ||
|
|
129484da3b | ||
|
|
38fdbd4356 | ||
|
|
e650bdcde0 | ||
|
|
cb294d9ecf | ||
|
|
92571e3465 | ||
|
|
2c988d1842 | ||
|
|
cf0abb8958 | ||
|
|
02fa4be6c4 | ||
|
|
27057f84af | ||
|
|
f74269cdaa | ||
|
|
9168aa252d | ||
|
|
bb31cd9af1 | ||
|
|
b284851543 | ||
|
|
1fe8777f3b | ||
|
|
6bfe87dc43 | ||
|
|
91b5c0a39d | ||
|
|
951fff5462 | ||
|
|
c430a94576 | ||
|
|
5885a8e672 | ||
|
|
53cb0028b5 | ||
|
|
7ac74ca213 | ||
|
|
fb82b73b8f | ||
|
|
64db633e91 | ||
|
|
17982d846d | ||
|
|
016e500457 | ||
|
|
cbfb654958 | ||
|
|
b9749f4178 | ||
|
|
3822bbdb00 | ||
|
|
488e6a355f | ||
|
|
11e8a91619 | ||
|
|
d52a899212 | ||
|
|
a6462223df | ||
|
|
7488823fba | ||
|
|
11dddf15fb | ||
|
|
0b31a9f567 | ||
|
|
27ffd83f6a | ||
|
|
2e12c18f0d | ||
|
|
a747955b7d | ||
|
|
186745e83f | ||
|
|
2a5a30b761 | ||
|
|
cd6f6596ae | ||
|
|
37c9cd1555 | ||
|
|
6fa5281c6b | ||
|
|
25ad9d6ba3 | ||
|
|
98f6737e83 | ||
|
|
3b4649d941 | ||
|
|
d48914256f | ||
|
|
612cca3897 | ||
|
|
689a837f64 | ||
|
|
b6454bccd8 | ||
|
|
c402838c3a | ||
|
|
de4792a374 | ||
|
|
3258b672d4 | ||
|
|
77c1e0a2e7 | ||
|
|
5d9546e1c2 | ||
|
|
f185a190bc | ||
|
|
9d27716f61 | ||
|
|
c406983e47 | ||
|
|
dae14b3540 | ||
|
|
309f794a53 | ||
|
|
cfe1e95501 | ||
|
|
6c53fadb6d | ||
|
|
930be902d0 | ||
|
|
fbaf069d27 | ||
|
|
8457dd23a6 | ||
|
|
9f8e0d7238 | ||
|
|
6a4b6220f8 | ||
|
|
c3aa29f009 | ||
|
|
00f2b3fa8c | ||
|
|
3a57cc6724 | ||
|
|
c2f6e5283e | ||
|
|
dec16ad44f | ||
|
|
89d2c89c83 | ||
|
|
75b7aedf0c | ||
|
|
1ee3e051ad | ||
|
|
c929865666 | ||
|
|
31853fe147 | ||
|
|
bd7766321b | ||
|
|
02215ff8f6 | ||
|
|
aafb815658 | ||
|
|
9120f28d97 | ||
|
|
4f79e18537 | ||
|
|
bebb61224b | ||
|
|
fc6fa1c3fd | ||
|
|
d3b1956c1e | ||
|
|
100c802c6e | ||
|
|
4bab0ebf8c | ||
|
|
d755049a96 | ||
|
|
881ff368ce | ||
|
|
b7ea51fd02 | ||
|
|
a087c51dfa | ||
|
|
528693c991 | ||
|
|
48d1d419b4 | ||
|
|
ccc4732eeb | ||
|
|
c53d022729 | ||
|
|
567bc2ec07 | ||
|
|
a8e7d8f9a6 | ||
|
|
292e6bb71f | ||
|
|
011b96c37e | ||
|
|
882b5f573a | ||
|
|
2e21c87fac | ||
|
|
a391032cc2 | ||
|
|
00074c0f1f | ||
|
|
204e67a7ad | ||
|
|
e64282173d | ||
|
|
0263abac50 | ||
|
|
ad7fab5b19 | ||
|
|
a4642ae202 | ||
|
|
05b94006af | ||
|
|
25b75964eb | ||
|
|
db2010b18d | ||
|
|
3ad144510d | ||
|
|
ab90ac3822 | ||
|
|
363a8ffdaf | ||
|
|
01217e1c6c | ||
|
|
a5e273d8c1 | ||
|
|
1305516689 | ||
|
|
7aeba377f1 | ||
|
|
a6c02bd401 | ||
|
|
d3354af99f | ||
|
|
f73037d9ae | ||
|
|
7f40f16597 | ||
|
|
860464e461 | ||
|
|
9dcec4db4a | ||
|
|
d95c921fc3 | ||
|
|
8be0fc09f0 | ||
|
|
a19a716ba9 | ||
|
|
b0059e1eef | ||
|
|
774213fd32 | ||
|
|
437c634b61 | ||
|
|
180f3d9970 | ||
|
|
23fc8605d3 | ||
|
|
b0af5e5236 | ||
|
|
4c96224b5f | ||
|
|
201dad41d7 | ||
|
|
f044785fa9 | ||
|
|
1675370076 | ||
|
|
0ea78e56d8 | ||
|
|
bbe8c3421c | ||
|
|
42e3184f88 | ||
|
|
831b3b8adf | ||
|
|
25059b286d | ||
|
|
1ae5ba5539 | ||
|
|
2e2e891db8 | ||
|
|
caceaba559 | ||
|
|
dd7ab3d7fc | ||
|
|
3269cec1d4 | ||
|
|
47e478d6de | ||
|
|
d90fd6f811 | ||
|
|
270a4740c8 | ||
|
|
6f0f8429e0 | ||
|
|
68456bb248 | ||
|
|
72603ffc69 | ||
|
|
a2be28daca | ||
|
|
a411085799 | ||
|
|
4403118001 | ||
|
|
b7d808e96b | ||
|
|
c1e544fe0f | ||
|
|
b91c4922e6 | ||
|
|
e0750eb79c | ||
|
|
9f5701896f | ||
|
|
d798aa2a4f | ||
|
|
3b8f43e532 | ||
|
|
f5e1c3f870 | ||
|
|
1584ddc897 | ||
|
|
4d92532956 | ||
|
|
f1d3fa9570 | ||
|
|
50c0080689 | ||
|
|
7975c0ac8a | ||
|
|
6f4c27006d | ||
|
|
4b25717255 | ||
|
|
e4d1d62091 | ||
|
|
4dd34b713f | ||
|
|
29579f4763 | ||
|
|
ed715363c4 | ||
|
|
1f8477537e | ||
|
|
66ccd22e8d | ||
|
|
f0dd322310 | ||
|
|
67ca42c5dd | ||
|
|
83d442665e | ||
|
|
ad1852518f | ||
|
|
cb415a13f8 | ||
|
|
f8d3d4287c | ||
|
|
dd7280fdf9 | ||
|
|
1963985531 | ||
|
|
8563eeccf7 | ||
|
|
cb88133467 | ||
|
|
292d90dc39 | ||
|
|
a081e4ade9 | ||
|
|
aa3d2f76a5 | ||
|
|
84ac0f0de4 | ||
|
|
66cdd6eb36 | ||
|
|
92d617fc7a | ||
|
|
667582d02f | ||
|
|
2da3752e98 | ||
|
|
7023eef9e3 | ||
|
|
0d0e4fbc70 | ||
|
|
3ef9ce6c02 | ||
|
|
e7a37b6192 | ||
|
|
4e45ac97ea | ||
|
|
551b0270ad | ||
|
|
9a4f12d5ce | ||
|
|
d16d4f1f05 | ||
|
|
3013100d5a | ||
|
|
9c9c061a50 | ||
|
|
c2d2dc726a | ||
|
|
2903d59a90 | ||
|
|
d9c81d9562 | ||
|
|
4b1bba808e | ||
|
|
3472ab2be8 | ||
|
|
041924ab32 | ||
|
|
fb86d40220 | ||
|
|
6ed972510c | ||
|
|
18e0dfcbc0 | ||
|
|
4a19cdca9c | ||
|
|
629754e743 | ||
|
|
9a4a6ab14d | ||
|
|
e266ffdc5a | ||
|
|
6850786f90 | ||
|
|
6b5186eec8 | ||
|
|
9439a87f72 | ||
|
|
3e42e25823 | ||
|
|
4330e5fe32 | ||
|
|
b9841d40be | ||
|
|
18d3e4da13 | ||
|
|
6ed20f81b1 | ||
|
|
75e1b08347 | ||
|
|
72f368dcaf | ||
|
|
e158967986 | ||
|
|
fb234acb2b | ||
|
|
f78c4bcfc6 | ||
|
|
461fb320bc | ||
|
|
1fece41790 | ||
|
|
817457e79e | ||
|
|
c94a235861 | ||
|
|
d70f90bd41 | ||
|
|
0355888e01 | ||
|
|
ab81cd02b1 | ||
|
|
676b0973cb | ||
|
|
fc81c86ce9 | ||
|
|
2680e83f5f | ||
|
|
cc91c6e85d | ||
|
|
7c8749311c | ||
|
|
5c1835de0b | ||
|
|
7cef5a5f0a | ||
|
|
f9a6e0c627 | ||
|
|
bbd500f316 | ||
|
|
230cd5ecc8 | ||
|
|
296dc7858c | ||
|
|
b6404c83f4 | ||
|
|
31eefe5e96 | ||
|
|
c735f555c2 | ||
|
|
1b1500a051 | ||
|
|
0e6959de80 | ||
|
|
14f38e198b | ||
|
|
523a4c41a4 | ||
|
|
a95482acf8 | ||
|
|
c464f20f41 | ||
|
|
e5a71d77b7 | ||
|
|
a839a364c8 | ||
|
|
75cfc998eb | ||
|
|
cf2b20fda1 | ||
|
|
70d3583340 | ||
|
|
0955acab54 | ||
|
|
db26df68d8 | ||
|
|
a1da138b45 | ||
|
|
c1e1719722 | ||
|
|
bb7b764410 | ||
|
|
40c7bf253d | ||
|
|
d67ca11f47 | ||
|
|
ae9b334490 | ||
|
|
b751b3c108 | ||
|
|
1cbe38a3f8 | ||
|
|
6793a6a43d | ||
|
|
740e6b1186 | ||
|
|
6f109a4df1 | ||
|
|
11d3c006b4 | ||
|
|
73c292ad0e | ||
|
|
b18783d44f | ||
|
|
90d4233f02 | ||
|
|
2a799c8e18 | ||
|
|
457b7e819a | ||
|
|
8aa099020c | ||
|
|
e8db428302 | ||
|
|
a2c1578386 | ||
|
|
c1a87498ea | ||
|
|
03eb709ea9 | ||
|
|
99eb134cf7 | ||
|
|
1c9ffea06c | ||
|
|
33999a457a | ||
|
|
a0822b0f81 | ||
|
|
c11b74bcf9 | ||
|
|
c390fbcee8 | ||
|
|
e58378a58e | ||
|
|
da9aa234ab | ||
|
|
f11bb8984e | ||
|
|
38b7732c20 | ||
|
|
d19834fe34 | ||
|
|
a61b441176 | ||
|
|
463ce03e29 | ||
|
|
5829a66ce7 | ||
|
|
09e30314eb | ||
|
|
a1533c7209 | ||
|
|
713f9fb132 | ||
|
|
1420a1eb43 | ||
|
|
fcc1cc626b | ||
|
|
d218ce4998 | ||
|
|
7d3a528b47 | ||
|
|
e78f47e595 | ||
|
|
b5e8388258 | ||
|
|
c923449d10 | ||
|
|
efabf452e6 | ||
|
|
83dba0314d | ||
|
|
ba4e609bc3 | ||
|
|
bf6b1d9360 | ||
|
|
e8db346515 | ||
|
|
ac4171142f | ||
|
|
ab2f61e9ca | ||
|
|
06c955a32b | ||
|
|
25f2a52e79 | ||
|
|
1007dedf50 | ||
|
|
0bb751bf29 | ||
|
|
2875e18190 | ||
|
|
6976bb431e | ||
|
|
2c79c3302e | ||
|
|
2aa1fe09a0 | ||
|
|
b9089e7cc7 | ||
|
|
8fb8fe6d03 | ||
|
|
52bbd698c7 | ||
|
|
cdf144edba | ||
|
|
7252649d71 | ||
|
|
f883f5166d | ||
|
|
c9f70519ff | ||
|
|
32a5e5d3e8 | ||
|
|
2d4103a3d9 | ||
|
|
0aff75f678 | ||
|
|
47a269a11a | ||
|
|
37a86ea52d | ||
|
|
91e98b65e5 | ||
|
|
59761fe5fd | ||
|
|
57f64cce1c | ||
|
|
329711d9a4 | ||
|
|
a1a29925ac | ||
|
|
d66b6e175f | ||
|
|
3c34eb1412 | ||
|
|
468ab69747 | ||
|
|
893d586f56 | ||
|
|
789b4a9b30 | ||
|
|
2d6247b52e | ||
|
|
079119abaf | ||
|
|
9c3124a607 | ||
|
|
3127e4caa0 | ||
|
|
e2f6bb8c2e | ||
|
|
bf88ff18ad | ||
|
|
02292c5b61 | ||
|
|
76402bc251 | ||
|
|
2f39462ce7 | ||
|
|
a9c2a50a0a | ||
|
|
0200d64ee3 | ||
|
|
373526a465 | ||
|
|
6eaf579a06 | ||
|
|
9068185db6 | ||
|
|
b46fabf26e | ||
|
|
d89ad1f104 | ||
|
|
ef42dbb7d2 | ||
|
|
7e41d84393 | ||
|
|
66c3529861 | ||
|
|
92bbddeb55 | ||
|
|
b16d03782b | ||
|
|
86ac4ab1d6 | ||
|
|
8d7f26b7ad | ||
|
|
99237145b1 | ||
|
|
7d132f5e5e | ||
|
|
ba6f73330b | ||
|
|
3c123f307b | ||
|
|
13140f91b0 | ||
|
|
1705541ba9 | ||
|
|
d62a116e28 | ||
|
|
18ece9b5c4 | ||
|
|
d4424463c8 | ||
|
|
d6eb2818b8 | ||
|
|
d19ec6f8c6 | ||
|
|
937b55c0db | ||
|
|
a7efccab6d | ||
|
|
9bfb322975 | ||
|
|
a637773e23 | ||
|
|
aafda8cd47 | ||
|
|
bd360ab557 | ||
|
|
ea167d7ce9 | ||
|
|
5c8ce904d1 | ||
|
|
f2329d515f | ||
|
|
049b1baaf5 | ||
|
|
7650afa460 | ||
|
|
a605a3065f | ||
|
|
cbe4973947 | ||
|
|
32148d2643 | ||
|
|
fbe05ec561 | ||
|
|
c3ea7ca00a | ||
|
|
90126f80c3 | ||
|
|
00f201d514 | ||
|
|
2acca94970 | ||
|
|
40dce20d2b | ||
|
|
defd25c98f | ||
|
|
e9557600c5 | ||
|
|
ee7a603dfd | ||
|
|
f67a3a5bda | ||
|
|
60d085e6f7 | ||
|
|
cf2a7abcc5 | ||
|
|
5d1969bde4 | ||
|
|
4f0d711487 | ||
|
|
943c2b31ad | ||
|
|
7b65a39f22 | ||
|
|
35215049b4 | ||
|
|
cd5684ac93 | ||
|
|
24ce3f49c8 | ||
|
|
88216d84a7 | ||
|
|
16f75080e6 | ||
|
|
d4d334886c | ||
|
|
c82e18fe8f | ||
|
|
5edb982271 | ||
|
|
bb8b3c2226 | ||
|
|
3c6aecd395 | ||
|
|
79cce169d4 | ||
|
|
972dcde474 | ||
|
|
535511a85a | ||
|
|
3b5363540a | ||
|
|
fb3ccbcda8 | ||
|
|
e2fa3d36f0 | ||
|
|
08084ea140 | ||
|
|
8197fd4781 | ||
|
|
6dcf10b242 | ||
|
|
863631fa6b | ||
|
|
d5e4f03179 | ||
|
|
feeb4180c8 | ||
|
|
d3dc0cdaf8 | ||
|
|
d41346927d | ||
|
|
f79a4edd69 | ||
|
|
6fb49c330d | ||
|
|
eb076ae137 | ||
|
|
722964b2ab | ||
|
|
1e25ca92ce | ||
|
|
f25a8fc5e1 | ||
|
|
3e7cbd2256 | ||
|
|
97096d8701 | ||
|
|
ba26525e29 | ||
|
|
365e4ced9c | ||
|
|
0d933c9b4f | ||
|
|
673c5850b5 | ||
|
|
11a5bbd65e | ||
|
|
a946f04d2e | ||
|
|
a15455fae6 | ||
|
|
eee17fb7b5 | ||
|
|
f820a3c3da | ||
|
|
a8775f16d7 | ||
|
|
ff1ef50a42 | ||
|
|
e2103de489 | ||
|
|
91e9344624 | ||
|
|
ec2c521ca7 | ||
|
|
b3aa42d1ca | ||
|
|
47723c2027 | ||
|
|
1fc280c2b1 | ||
|
|
3aa5b5100a | ||
|
|
a51a5f03a3 | ||
|
|
2c480b2c2b | ||
|
|
ac19e3e144 | ||
|
|
9ff24faf1f | ||
|
|
dd83c4e72d | ||
|
|
4631f4ac5f | ||
|
|
40173515c1 | ||
|
|
977e773663 | ||
|
|
23b7f7e7b4 | ||
|
|
02a876f0e7 | ||
|
|
47f29a346c | ||
|
|
51e7af2e22 | ||
|
|
8e13d2f3e7 | ||
|
|
6ce19ed585 | ||
|
|
c2a62d74a1 | ||
|
|
9e9c15037a | ||
|
|
90d83a2250 | ||
|
|
fc57ee6d14 | ||
|
|
df5a29caf1 | ||
|
|
66506527eb | ||
|
|
56f0c53c59 | ||
|
|
0c6e662f0a | ||
|
|
9bb8b7fba2 | ||
|
|
5de8b78504 | ||
|
|
f7f0b31648 | ||
|
|
cf55b1b81d | ||
|
|
f6afde2143 | ||
|
|
63fe16098a | ||
|
|
d54675becb | ||
|
|
a59e8cbc0f | ||
|
|
0e5810d121 | ||
|
|
2011c35344 | ||
|
|
ab3dd202d7 | ||
|
|
a7010a2fac | ||
|
|
7833c7d5bf | ||
|
|
8207e69aa0 | ||
|
|
ec1733dac6 | ||
|
|
6cee0184f3 | ||
|
|
87010e737c | ||
|
|
2965051f0d | ||
|
|
a5d00fb089 | ||
|
|
f3916545a4 | ||
|
|
5159ffd487 | ||
|
|
0965996c5c | ||
|
|
bda9cb4469 | ||
|
|
c36c1c2213 | ||
|
|
dba064ae10 | ||
|
|
cd730957d0 | ||
|
|
f7235889bb | ||
|
|
27cbe247e6 | ||
|
|
ff3eec181b | ||
|
|
5d54bf504e | ||
|
|
e459c8cbaa | ||
|
|
0b51fe2bce | ||
|
|
6cacf9afd9 | ||
|
|
c03b95dc59 | ||
|
|
45002c0e67 | ||
|
|
592adc85d1 | ||
|
|
952f9c7159 | ||
|
|
869bb36c58 | ||
|
|
c5815984ae | ||
|
|
cb769c03c1 | ||
|
|
ac8a550f9b | ||
|
|
22a62791ce | ||
|
|
7a5a8abe9e | ||
|
|
d34650ad39 | ||
|
|
3bd78751db | ||
|
|
b23271bd6d | ||
|
|
49cf332a25 | ||
|
|
9378f2633b | ||
|
|
a93e5efee2 | ||
|
|
096c31c796 | ||
|
|
0cc9d30292 | ||
|
|
3d6f3319b6 | ||
|
|
0a1419c592 | ||
|
|
59d39ef601 | ||
|
|
28dcaf3c2e | ||
|
|
6315ce3c59 | ||
|
|
25a418d526 | ||
|
|
55fb592e45 | ||
|
|
17cdd90f33 | ||
|
|
a39960a40e | ||
|
|
7273556e89 | ||
|
|
43ddf82214 | ||
|
|
fe1d8e99fa | ||
|
|
5e93008d16 | ||
|
|
36fc98b071 | ||
|
|
3ca676cd30 | ||
|
|
c7329f3315 | ||
|
|
761e2989e4 | ||
|
|
d3eb0a2daf | ||
|
|
f749fc73c4 | ||
|
|
2137e83dd2 | ||
|
|
69d296d4f8 | ||
|
|
6f644e0d50 | ||
|
|
d1d0b08b9d | ||
|
|
335424492b | ||
|
|
e9658818ec | ||
|
|
e92b2bc0b4 | ||
|
|
84457e5f42 | ||
|
|
78e21539fe | ||
|
|
fc92adc975 | ||
|
|
0130fdcd85 | ||
|
|
4b5b58df93 | ||
|
|
3c279bd42c | ||
|
|
061bf8fc26 | ||
|
|
f652b448b8 | ||
|
|
2e5c4007b2 | ||
|
|
30c263c16b | ||
|
|
2886a4dc0b | ||
|
|
8d7a6e5d4b | ||
|
|
75f87528cc | ||
|
|
9f97c821bd | ||
|
|
68846354bb | ||
|
|
7f684c31a2 | ||
|
|
d716c2b70c | ||
|
|
6c0f9742c3 | ||
|
|
832a570de5 | ||
|
|
a9b245bb06 | ||
|
|
e8b4d824ce | ||
|
|
ab0ade6f37 | ||
|
|
db0b611a18 | ||
|
|
7554d8c1ef | ||
|
|
744d785d59 | ||
|
|
3de6b2cb81 | ||
|
|
3d3533a6ea | ||
|
|
5ea822c6f7 | ||
|
|
e54e3c4209 | ||
|
|
3b5fc8ca6a | ||
|
|
de2e289dce | ||
|
|
4a188e9112 | ||
|
|
ca59b640e3 | ||
|
|
9acabebea7 | ||
|
|
0ccdda46df | ||
|
|
775e81de78 | ||
|
|
bd280503fb | ||
|
|
a471f7a2fa | ||
|
|
ccb5f86643 | ||
|
|
8e6ed88e53 | ||
|
|
7daca99e01 | ||
|
|
256356d4e3 | ||
|
|
8ce6877fcf | ||
|
|
0a538a08e4 | ||
|
|
38f01a7097 | ||
|
|
611a0ea8ed | ||
|
|
dcd98215f2 | ||
|
|
493a78af8c | ||
|
|
f016e603af | ||
|
|
3adb3dd26e | ||
|
|
38fdf4f1d2 | ||
|
|
d30b6e44c3 | ||
|
|
6aa60ac1df | ||
|
|
15f24065e1 | ||
|
|
4a38659524 | ||
|
|
5287dae745 | ||
|
|
d8a22d6287 | ||
|
|
81cd594074 | ||
|
|
9d0bfe1108 | ||
|
|
93234a48ab | ||
|
|
c9ebb93cab | ||
|
|
2cac565b24 | ||
|
|
83f1749b57 | ||
|
|
515d412e3a | ||
|
|
311bb85014 | ||
|
|
79d97c4086 | ||
|
|
13d30463f0 | ||
|
|
66348799ad | ||
|
|
4b3a9e3a32 | ||
|
|
cc4a0b1ebf | ||
|
|
5ea8f4835d | ||
|
|
cb06a20947 | ||
|
|
c0ab12db5d | ||
|
|
2e9b2718d0 | ||
|
|
6f0f42630e | ||
|
|
aa11a93537 | ||
|
|
fbb7f2d1cf | ||
|
|
a6c3b5deee | ||
|
|
e80c9fb5ba | ||
|
|
5406f14a71 | ||
|
|
1e4ec1d1aa | ||
|
|
cd6234dca1 | ||
|
|
a1049e87d6 | ||
|
|
565ec1aa22 | ||
|
|
14a1f2af39 | ||
|
|
670d73ef2f | ||
|
|
d1df469f24 | ||
|
|
2f51d80791 | ||
|
|
e533d7bb54 | ||
|
|
6da0c63f60 | ||
|
|
79ede93c8b | ||
|
|
865d24c802 | ||
|
|
846bf123f8 | ||
|
|
f1d9e37a69 | ||
|
|
63981ab764 | ||
|
|
57e6e61206 | ||
|
|
07eac08b22 | ||
|
|
857163336f | ||
|
|
ed45df2ea7 | ||
|
|
c47e23303b | ||
|
|
9be7550b47 | ||
|
|
d2d734c9eb | ||
|
|
dc7216acab | ||
|
|
6f2bdc013f | ||
|
|
d998761ad3 | ||
|
|
7ffac79187 | ||
|
|
03ef5a9c8c | ||
|
|
562cb4a9d5 | ||
|
|
716eeb06a8 | ||
|
|
01a9e635cc | ||
|
|
66c051a9c3 | ||
|
|
2d69b2d587 | ||
|
|
6aa02d75d9 | ||
|
|
38db4521c6 | ||
|
|
acecce5ab8 | ||
|
|
19201da54c | ||
|
|
55f8d8c6bf | ||
|
|
fdcc3f17a4 | ||
|
|
0e896e7fde | ||
|
|
85f315b656 | ||
|
|
397bf9584b | ||
|
|
687dd87727 | ||
|
|
e4cc0c1d0a | ||
|
|
7326f392ef | ||
|
|
ddc81f2788 | ||
|
|
b7c7b84ef2 | ||
|
|
076941f252 | ||
|
|
f1a8a22f54 | ||
|
|
95573d443b | ||
|
|
63517678c8 | ||
|
|
f9eed140be | ||
|
|
816b5cdb3a | ||
|
|
e5c70af047 | ||
|
|
e8eec1f909 | ||
|
|
9ff9e62e8e | ||
|
|
e7e83d5f1e | ||
|
|
1d11bcd979 | ||
|
|
95726bf738 | ||
|
|
93d8337c05 | ||
|
|
6f3cd6b30c | ||
|
|
7758191d5a | ||
|
|
cc09778008 | ||
|
|
e4425d83ff | ||
|
|
6221d6165f | ||
|
|
24c7fe35d2 | ||
|
|
b2f4dff716 | ||
|
|
c3de885179 | ||
|
|
ff4f5337d8 | ||
|
|
23b4496e6b | ||
|
|
a1036efea5 | ||
|
|
193c7f12a8 | ||
|
|
3e349b4366 | ||
|
|
58a6dae99b | ||
|
|
7aaad161e6 | ||
|
|
16a191c56e | ||
|
|
89a03fef74 | ||
|
|
6bb5494726 | ||
|
|
4eeefb49b1 | ||
|
|
ed48774b07 | ||
|
|
acd939e8ee | ||
|
|
0b52b9d6b2 | ||
|
|
7349d64f8e | ||
|
|
05ad02f8e2 | ||
|
|
143cc644ca | ||
|
|
aadd484d62 | ||
|
|
43ae1796b4 | ||
|
|
7176520d44 | ||
|
|
e829c856b7 | ||
|
|
dc93934a4e | ||
|
|
6c86a4176b | ||
|
|
e160532418 | ||
|
|
6d63a86cd9 | ||
|
|
a3843775fe | ||
|
|
9a2c123ddf | ||
|
|
0ab99ed0dd | ||
|
|
a834b58377 | ||
|
|
23326d5f22 | ||
|
|
00fed20ff4 | ||
|
|
9f3c840ea0 | ||
|
|
4003db8f86 | ||
|
|
229cb350b0 | ||
|
|
de474887ea | ||
|
|
802844ae73 | ||
|
|
f63d56502e | ||
|
|
dc66c34326 | ||
|
|
a0899bfbe1 | ||
|
|
583844a4b2 | ||
|
|
0364737d31 | ||
|
|
25bfea613b | ||
|
|
22f15137e8 | ||
|
|
38bfd62bd4 | ||
|
|
f0fb814cd3 | ||
|
|
08cee6f5cd | ||
|
|
8cf3c0c484 | ||
|
|
127d5cb107 | ||
|
|
ccfe697f23 | ||
|
|
a1dc595517 | ||
|
|
80077e5719 | ||
|
|
c7b9f9eed7 | ||
|
|
15964f0f46 | ||
|
|
e85351d15b | ||
|
|
031c033f31 | ||
|
|
90273f3dca | ||
|
|
844d8bf88c | ||
|
|
facbabb203 | ||
|
|
c89e8ba4a9 | ||
|
|
20f3576cd1 | ||
|
|
0edff7e0f2 | ||
|
|
6bbdfe028e | ||
|
|
ee02c64267 | ||
|
|
6081dcaaa0 | ||
|
|
8cb963440d | ||
|
|
451611ff16 | ||
|
|
61a56e325c | ||
|
|
b0e49bb956 | ||
|
|
8b62d546f8 | ||
|
|
6dbb3d0cba | ||
|
|
efdf41167e | ||
|
|
ddb89c3573 | ||
|
|
01f4883cd5 | ||
|
|
9751b8f05b | ||
|
|
aabc4ba0ee | ||
|
|
e79cb9ce4b | ||
|
|
bbcb0729fa | ||
|
|
47c129db49 | ||
|
|
cbd82dbb6b | ||
|
|
ed7bdf7114 | ||
|
|
e46f05b06f | ||
|
|
54a86bb7cf | ||
|
|
59ecf3c456 | ||
|
|
e6f9d19c87 | ||
|
|
1a159cade8 | ||
|
|
1cc972f34e | ||
|
|
e09f6c9337 | ||
|
|
df332ff6e8 | ||
|
|
b76b89eca5 | ||
|
|
c5a871cde4 | ||
|
|
500ed35c8d | ||
|
|
f3cc4aacd8 | ||
|
|
548d49586b | ||
|
|
9792699a12 | ||
|
|
8571ae43a1 | ||
|
|
4ce49e6e4e | ||
|
|
bf3117fd23 | ||
|
|
f89c59f9d1 | ||
|
|
b70e4998a3 | ||
|
|
aae2ae3cfb | ||
|
|
14e6913ab2 | ||
|
|
d13334d5ee | ||
|
|
ccb20347de | ||
|
|
9ef6d5b26c | ||
|
|
2243fd63a0 | ||
|
|
9b3b88e208 | ||
|
|
e1847fca11 | ||
|
|
9352fa23a3 | ||
|
|
a73ddce8e6 | ||
|
|
b1f8775f6b | ||
|
|
c169cd69d2 | ||
|
|
393547b2a2 | ||
|
|
f886e8589e | ||
|
|
894767d0fe | ||
|
|
09370c3f50 | ||
|
|
328358a4e5 | ||
|
|
5e90da94f4 | ||
|
|
973911e9a5 | ||
|
|
2a4b0425da | ||
|
|
b002cc94cc | ||
|
|
1e9126a627 | ||
|
|
609c919ffc | ||
|
|
e6675c789c | ||
|
|
88d2053798 | ||
|
|
94ec379c3b | ||
|
|
3cc4dc2261 | ||
|
|
9c6178906b | ||
|
|
82788f2fe9 | ||
|
|
d59e97da00 | ||
|
|
b5d40609b7 | ||
|
|
c5446c191d | ||
|
|
32678f7d42 | ||
|
|
58487fb0de | ||
|
|
24903860dd | ||
|
|
268c015925 | ||
|
|
c136c188b5 | ||
|
|
845494aa6e | ||
|
|
de6899b66e | ||
|
|
91dd244f34 | ||
|
|
c26cd97cb7 | ||
|
|
a9981fb0ff | ||
|
|
20afdfdcfe | ||
|
|
cdd4075663 | ||
|
|
2586eb08b1 | ||
|
|
d6d5a9a538 | ||
|
|
a7028380c8 | ||
|
|
592542fb28 | ||
|
|
84f6cb4ae4 | ||
|
|
c4b3d62c7f | ||
|
|
f4a0b13d86 | ||
|
|
fd81865b96 | ||
|
|
962f3937b6 | ||
|
|
7298db5b38 | ||
|
|
6141fccd19 | ||
|
|
5761056e3a | ||
|
|
e4bf9f9014 | ||
|
|
23fa88b18b | ||
|
|
2b393f9263 | ||
|
|
da77acb8f2 | ||
|
|
056eca0c2d | ||
|
|
ff3e90f5cd | ||
|
|
108e1bd1e8 | ||
|
|
dd705127be | ||
|
|
c2d1db9c50 | ||
|
|
f48db899d3 | ||
|
|
b55ec5b402 | ||
|
|
ded4b31601 | ||
|
|
ed4e3dbacd | ||
|
|
4e707bc1fa | ||
|
|
d93500168c | ||
|
|
7add1580b2 | ||
|
|
c4dfa5759c | ||
|
|
926a815f67 | ||
|
|
d46a5ae71e | ||
|
|
6f3ace5653 | ||
|
|
2174f4b4ea | ||
|
|
7b67581a2f | ||
|
|
00f7c45a4c | ||
|
|
227e159de1 | ||
|
|
9d590fc13b | ||
|
|
f2cb3d0f6c | ||
|
|
8cd93192a4 | ||
|
|
0c9807d8b3 | ||
|
|
536d1b6de5 | ||
|
|
4583bb037c | ||
|
|
cb6a08c044 | ||
|
|
73d605bdc6 | ||
|
|
912ae51344 | ||
|
|
74de3ef2a9 | ||
|
|
793d08a74b | ||
|
|
cd1d3e0189 | ||
|
|
3a650aa641 | ||
|
|
bf788eee88 | ||
|
|
92ff652416 | ||
|
|
c2dc88fe56 | ||
|
|
fc8078a09a | ||
|
|
759cbcba6d | ||
|
|
6b74b1ba27 | ||
|
|
da1c0fea12 | ||
|
|
171e90cbf5 | ||
|
|
75240a5872 | ||
|
|
44f32cbabc | ||
|
|
94f41162f4 | ||
|
|
20be766ed9 | ||
|
|
f8ecff4877 | ||
|
|
808356abec | ||
|
|
ec0b85ab5f | ||
|
|
4dff991d7b | ||
|
|
0e847cfb15 | ||
|
|
d9a7fc63f8 | ||
|
|
4afbcaf553 | ||
|
|
f7f9a73a1e | ||
|
|
a37254c79f | ||
|
|
cef269f896 | ||
|
|
9f7de59006 | ||
|
|
6a7542fed0 | ||
|
|
f1c8fa62d3 | ||
|
|
d561554fdf | ||
|
|
c96cfed51d | ||
|
|
f32703f81d | ||
|
|
0ced2aa756 | ||
|
|
ea6e678c95 | ||
|
|
271403bccc | ||
|
|
e1cd6c7813 | ||
|
|
ad0426940b | ||
|
|
f78d4194f1 | ||
|
|
ef65147a06 | ||
|
|
2b3bdce27e | ||
|
|
b300e880c4 | ||
|
|
bc7c0bae73 | ||
|
|
3a0e2b45a7 | ||
|
|
3623ea697d | ||
|
|
07f34a2cf6 | ||
|
|
b935900e1c | ||
|
|
5e04e45271 | ||
|
|
f79ea82331 | ||
|
|
ff6a9382f5 | ||
|
|
9248bd08cf | ||
|
|
671dab6154 | ||
|
|
71a6aae38d | ||
|
|
20d00ebaf7 | ||
|
|
37de147bea | ||
|
|
6efa50333f | ||
|
|
3c57e012b9 | ||
|
|
648f3f6a8f | ||
|
|
9a7046d649 | ||
|
|
bb7c412e25 | ||
|
|
567fdbf4b5 | ||
|
|
7d6c3adef3 | ||
|
|
3c1023c1b9 | ||
|
|
9554fba495 | ||
|
|
f8eb9abe03 | ||
|
|
49ef89b02d | ||
|
|
0a08534703 | ||
|
|
bf920d9492 | ||
|
|
24e5c1a040 | ||
|
|
bb350989c7 | ||
|
|
5211317613 | ||
|
|
704e6b93aa | ||
|
|
e9fd4b9fc4 | ||
|
|
efeb10b5ca | ||
|
|
0c182e7585 | ||
|
|
551354e0d3 | ||
|
|
f0028333d8 | ||
|
|
790d9a9fda | ||
|
|
8a20dfe546 | ||
|
|
66bd0d57ee | ||
|
|
32f026ab74 | ||
|
|
9489ab7b8b | ||
|
|
90341dbccd | ||
|
|
52c3e7dcf1 | ||
|
|
cb7e311dc6 | ||
|
|
4dc0e9e2df | ||
|
|
48aa0ef109 | ||
|
|
757afdc5d4 | ||
|
|
e506cb23cf | ||
|
|
9c213825ae | ||
|
|
f9c7b4f5b0 | ||
|
|
7d799fe4e7 | ||
|
|
5e8b87038b | ||
|
|
eac2c999f2 | ||
|
|
c3bbf5bd28 | ||
|
|
55c8adf6c6 | ||
|
|
2cb686567b | ||
|
|
adcfbd3d19 | ||
|
|
9d2c5ec20d | ||
|
|
db92c1bb5f | ||
|
|
40db0bde4c | ||
|
|
456735f772 | ||
|
|
dfacda488b | ||
|
|
02ea80a6f0 | ||
|
|
97fa97d64a | ||
|
|
91ad122390 | ||
|
|
b7573f6d5e | ||
|
|
90f85ff70f | ||
|
|
53866eb2af | ||
|
|
f312f28b8b | ||
|
|
9175a8d217 | ||
|
|
cebcc07b1b | ||
|
|
84aad735a1 | ||
|
|
5f547e8c11 | ||
|
|
a93833d88f | ||
|
|
181483b90b | ||
|
|
c38902db6b | ||
|
|
24c7e25910 | ||
|
|
13937b2a4a | ||
|
|
d26ecc330c | ||
|
|
a575f5c090 | ||
|
|
de808a5e92 | ||
|
|
ada58d13f7 | ||
|
|
6be8aeb216 | ||
|
|
afede39e0c | ||
|
|
f8fb571307 | ||
|
|
e351de3bd6 | ||
|
|
6180cf1f0d | ||
|
|
a1b5b818c5 | ||
|
|
286d313635 | ||
|
|
48d6fef3ea | ||
|
|
9b97129e8c | ||
|
|
20d2dc1f35 | ||
|
|
e593e3de4c | ||
|
|
7bf72ce301 | ||
|
|
6878b05f8f | ||
|
|
c8ae7e5b03 | ||
|
|
5fcf72086f | ||
|
|
6e1da6440b | ||
|
|
eb10d4f437 | ||
|
|
f1e15c8c8f | ||
|
|
fbe28e4ee1 | ||
|
|
f662127390 | ||
|
|
fc8f959e6b | ||
|
|
b6003a87e4 | ||
|
|
cea7bc2dea | ||
|
|
b76a83888b | ||
|
|
7ddabbff74 | ||
|
|
3c27f91986 | ||
|
|
049b2ad4df | ||
|
|
8adf008b15 | ||
|
|
e90ed6cc38 | ||
|
|
b4c6229fd4 | ||
|
|
9b6aa5304c | ||
|
|
de786bbcc1 | ||
|
|
e3800e6497 | ||
|
|
ee93cef8aa | ||
|
|
84be910e1d | ||
|
|
2d165a2bdf | ||
|
|
7165b3f105 | ||
|
|
ecc37b06f2 | ||
|
|
4812e53791 | ||
|
|
6a9ab6a2cf | ||
|
|
e7f9009315 | ||
|
|
39b486db6d | ||
|
|
4119a52c4b | ||
|
|
89f7998aa7 | ||
|
|
e1051ae069 | ||
|
|
add995be46 | ||
|
|
ca6b222c97 | ||
|
|
a3acce5210 | ||
|
|
138f59806f | ||
|
|
0e6c01163f | ||
|
|
e48af0069e | ||
|
|
b87e526af1 | ||
|
|
1c8b9727b7 | ||
|
|
9accf7c894 | ||
|
|
ef9315bead | ||
|
|
fc38331f44 | ||
|
|
175b65c0a1 | ||
|
|
7b6410f213 | ||
|
|
7ad6c23c32 | ||
|
|
9b177a7486 | ||
|
|
6ce52e6277 | ||
|
|
08c52fd33c | ||
|
|
61359c46a7 | ||
|
|
8e8e87a765 | ||
|
|
845c31dc4b | ||
|
|
0cec11d3eb | ||
|
|
85d98fa322 | ||
|
|
c6812bebdd | ||
|
|
00ffb8f1b9 | ||
|
|
d684356d9d | ||
|
|
c1304519b5 | ||
|
|
2dddcce29b | ||
|
|
1350e2bd22 | ||
|
|
da18f64548 | ||
|
|
4fa8b8fd54 | ||
|
|
e104dede6e | ||
|
|
a32d2eefea | ||
|
|
7b4d84c654 | ||
|
|
72db09b1f3 | ||
|
|
3bbd2332bd | ||
|
|
381bd62107 | ||
|
|
82c256eb61 | ||
|
|
e5db9a9405 | ||
|
|
67273ae63c | ||
|
|
0f5470715e | ||
|
|
8583aab374 | ||
|
|
d32e42cdd4 | ||
|
|
b2416b60fb | ||
|
|
bd95c0c9e0 | ||
|
|
00ef65f34d | ||
|
|
4fcc43dce7 | ||
|
|
e631addd70 | ||
|
|
040c02b942 | ||
|
|
0f32982872 | ||
|
|
4fc3180f75 | ||
|
|
78cb6a1e6c | ||
|
|
999ced03cc | ||
|
|
e1d3e73d4e | ||
|
|
3d82b0e634 | ||
|
|
254600658a | ||
|
|
6889a39a3f | ||
|
|
f791fdf23e | ||
|
|
1196b35684 | ||
|
|
885f7b1141 | ||
|
|
62ff55d383 | ||
|
|
46c610cbd8 | ||
|
|
da5e349088 | ||
|
|
82d44a79de | ||
|
|
6401633800 | ||
|
|
9acb2a69a9 | ||
|
|
f46a917270 | ||
|
|
33cd383a96 | ||
|
|
5adbf765a2 | ||
|
|
cf73d51d77 | ||
|
|
9e75f922b1 | ||
|
|
168af2e6b2 | ||
|
|
fa08cc62df | ||
|
|
b3054c8168 | ||
|
|
4f70759175 | ||
|
|
8f798b8222 | ||
|
|
c812bbbe8f | ||
|
|
6000950b33 | ||
|
|
1f2bf1d194 | ||
|
|
7fcd5ca025 | ||
|
|
a49b1dc704 | ||
|
|
820f2900d8 | ||
|
|
815e4af35d | ||
|
|
2daf39a59b | ||
|
|
0ebf8aa9d7 | ||
|
|
0d1cd3a745 | ||
|
|
e0c130f484 | ||
|
|
1166ef25e9 | ||
|
|
3a69024033 | ||
|
|
2b20778225 | ||
|
|
0f4e07b7d9 | ||
|
|
df1364b508 | ||
|
|
6d8fc7249a | ||
|
|
4ad8b04421 | ||
|
|
5b8e1a266e | ||
|
|
e14801cdd9 | ||
|
|
97e0e9e73d | ||
|
|
1c18f91438 | ||
|
|
6f0e8e79aa | ||
|
|
c4ea13edd0 | ||
|
|
2db9005c07 | ||
|
|
7bc96dbc02 | ||
|
|
5644c4f942 | ||
|
|
a4d2a9a77f | ||
|
|
e3773977cf | ||
|
|
6c76e77158 | ||
|
|
4bbf11d4a9 | ||
|
|
54dd510bd5 | ||
|
|
a8385feb30 | ||
|
|
c16d1fc981 | ||
|
|
ad27d9b3ec | ||
|
|
c67a7b039d | ||
|
|
962f1c1a9b | ||
|
|
f7ffd5872d | ||
|
|
4930ae96d8 | ||
|
|
9ac63a6e08 | ||
|
|
aba6c55dac | ||
|
|
3e022247d2 | ||
|
|
0dc65d3c74 | ||
|
|
3826012281 | ||
|
|
2b17e95e20 | ||
|
|
1da5d4bb78 | ||
|
|
be0ac92e18 | ||
|
|
4b4bef4e1e | ||
|
|
4ee400ae43 | ||
|
|
ca283c3ac0 | ||
|
|
c3c918928c | ||
|
|
6b64a7956c | ||
|
|
90eb1189ae | ||
|
|
a661686e1e | ||
|
|
0d745ae8fd | ||
|
|
d042029509 | ||
|
|
401cb0ad55 | ||
|
|
b8a16e931b | ||
|
|
25f9f19af9 | ||
|
|
0d83dc2411 | ||
|
|
7010dfdffa | ||
|
|
fc0fd96a5f | ||
|
|
56240690f6 | ||
|
|
09bb84685f | ||
|
|
20640a57f3 | ||
|
|
efe8423d8c | ||
|
|
8d09596f27 | ||
|
|
e4c5446340 | ||
|
|
d9cb068f4b | ||
|
|
6eb734a60f | ||
|
|
3d0d27ce57 | ||
|
|
824a51693e | ||
|
|
1404e4bf44 | ||
|
|
fb0a95fed4 | ||
|
|
5ebed06e8a | ||
|
|
d799563ac0 | ||
|
|
1e3b418a53 | ||
|
|
4eb321298a | ||
|
|
040f1053aa | ||
|
|
b24dff5fef | ||
|
|
87b5f1bd82 | ||
|
|
0102000658 | ||
|
|
8f31f0d343 | ||
|
|
4b289d6ab5 | ||
|
|
80dd63d0d7 | ||
|
|
3888c76ac3 |
16
.github/workflows/build-windows.yml
vendored
16
.github/workflows/build-windows.yml
vendored
@@ -92,26 +92,12 @@ jobs:
|
|||||||
id: gtest
|
id: gtest
|
||||||
uses: ./.github/actions/get-gtest
|
uses: ./.github/actions/get-gtest
|
||||||
|
|
||||||
- name: 'Check toolchain installed'
|
|
||||||
id: toolchain-check
|
|
||||||
run: |
|
|
||||||
set +e
|
|
||||||
'/c/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/vc/auxiliary/build/vcvars64.bat' -vcvars_ver=${{ inputs.msvc-toolset-version }}
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "Toolchain is already installed"
|
|
||||||
echo "toolchain-installed=true" >> $GITHUB_OUTPUT
|
|
||||||
else
|
|
||||||
echo "Toolchain is not yet installed"
|
|
||||||
echo "toolchain-installed=false" >> $GITHUB_OUTPUT
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: 'Install toolchain and dependencies'
|
- name: 'Install toolchain and dependencies'
|
||||||
run: |
|
run: |
|
||||||
# Run Visual Studio Installer
|
# Run Visual Studio Installer
|
||||||
'/c/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe' \
|
'/c/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe' \
|
||||||
modify --quiet --installPath 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise' \
|
modify --quiet --installPath 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise' \
|
||||||
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.${{ inputs.msvc-toolset-architecture }}
|
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.${{ inputs.msvc-toolset-architecture }}
|
||||||
if: steps.toolchain-check.outputs.toolchain-installed != 'true'
|
|
||||||
|
|
||||||
- name: 'Configure'
|
- name: 'Configure'
|
||||||
run: >
|
run: >
|
||||||
|
|||||||
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@@ -223,7 +223,7 @@ jobs:
|
|||||||
uses: ./.github/workflows/build-windows.yml
|
uses: ./.github/workflows/build-windows.yml
|
||||||
with:
|
with:
|
||||||
platform: windows-x64
|
platform: windows-x64
|
||||||
msvc-toolset-version: '14.29'
|
msvc-toolset-version: '14.25'
|
||||||
msvc-toolset-architecture: 'x86.x64'
|
msvc-toolset-architecture: 'x86.x64'
|
||||||
if: needs.select.outputs.windows-x64 == 'true'
|
if: needs.select.outputs.windows-x64 == 'true'
|
||||||
|
|
||||||
|
|||||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -18,7 +18,3 @@ NashornProfile.txt
|
|||||||
/src/utils/LogCompilation/target/
|
/src/utils/LogCompilation/target/
|
||||||
/.project/
|
/.project/
|
||||||
/.settings/
|
/.settings/
|
||||||
/compile_commands.json
|
|
||||||
/.cache
|
|
||||||
*.class
|
|
||||||
.idea/workspace.xml
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[general]
|
[general]
|
||||||
project=jdk-updates
|
project=jdk-updates
|
||||||
jbs=JDK
|
jbs=JDK
|
||||||
version=17.0.8
|
version=17.0.6
|
||||||
|
|
||||||
[checks]
|
[checks]
|
||||||
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
|
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
|
||||||
|
|||||||
196
README.md
196
README.md
@@ -1,191 +1,11 @@
|
|||||||
[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
|
# Welcome to the JDK!
|
||||||
|
|
||||||
# Welcome to JetBrains Runtime!
|
For build instructions please see the
|
||||||
|
[online documentation](https://openjdk.java.net/groups/build/doc/building.html),
|
||||||
|
or either of these files:
|
||||||
|
|
||||||
JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
|
- [doc/building.html](doc/building.html) (html version)
|
||||||
It includes a number of enhancements in font rendering, ligatures, HiDPI support, windowing/focus subsystems, performance improvements, and bugfixes.
|
- [doc/building.md](doc/building.md) (markdown version)
|
||||||
|
|
||||||
## Releases
|
See <https://openjdk.java.net/> for more information about
|
||||||
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
|
the OpenJDK Community and the JDK.
|
||||||
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).
|
|
||||||
|
|
||||||
| IDE Version | Latest JBR | Date Released |
|
|
||||||
| --- |--------------------------------------------------------------------------------------------------------|---------------|
|
|
||||||
| 2023.1 | [17.0.6-b829.1](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b829.1) | 14-Feb-2023 |
|
|
||||||
| 2022.3 | [17.0.5-b653.25](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b653.25) | 10-Jan-2023 |
|
|
||||||
| 2022.2 | [17.0.5-b469.71](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b469.71) | 14-Nov-2022 |
|
|
||||||
|
|
||||||
|
|
||||||
## Contents
|
|
||||||
- [Welcome to JetBrains Runtime](#welcome-to-jetbrains-runtime)
|
|
||||||
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
|
|
||||||
- [Getting Sources](#getting-sources)
|
|
||||||
- [macOS, Linux](#macos-linux)
|
|
||||||
- [Windows](#sources-windows)
|
|
||||||
- [Configuring the Build Environment](#configuring-the-build-environment)
|
|
||||||
- [Linux (Docker)](#linux-docker)
|
|
||||||
- [Ubuntu Linux](#ubuntu-linux)
|
|
||||||
- [Windows](#build-windows)
|
|
||||||
- [macOS](#macos)
|
|
||||||
- [Developing](#developing)
|
|
||||||
- [Contributing](#contributing)
|
|
||||||
- [Resources](#resources)
|
|
||||||
|
|
||||||
## Products Built on JetBrains Runtime
|
|
||||||
* [Android Studio](https://developer.android.com/studio). The official IDE for Google's Android operating system.
|
|
||||||
* [CLion](https://www.jetbrains.com/clion/). A cross-platform IDE for C and C++ from JetBrains.
|
|
||||||
* [DataGrip](https://www.jetbrains.com/datagrip/). The IDE for Databases and SQL from JetBrains.
|
|
||||||
* [GoLand](https://www.jetbrains.com/go/). The cross-platform Go IDE from JetBrains.
|
|
||||||
* [IntelliJ IDEA](https://www.jetbrains.com/idea/). The IDE for JVM from JetBrains.
|
|
||||||
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html). The Java profiler.
|
|
||||||
* [PhpStorm](https://www.jetbrains.com/phpstorm/). The PHP IDE from JetBrains.
|
|
||||||
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
|
|
||||||
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
|
|
||||||
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
|
|
||||||
* [Toolbox App](https://www.jetbrains.com/toolbox-app/). JetBrains IDE manager.
|
|
||||||
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
|
|
||||||
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.
|
|
||||||
|
|
||||||
## Getting Sources
|
|
||||||
### macOS, Linux
|
|
||||||
```
|
|
||||||
git config --global core.autocrlf input
|
|
||||||
git clone git@github.com:JetBrains/JetBrainsRuntime.git
|
|
||||||
```
|
|
||||||
|
|
||||||
### Windows
|
|
||||||
<a name="sources-windows"></a>
|
|
||||||
```
|
|
||||||
git config --global core.autocrlf false
|
|
||||||
git clone git@github.com:JetBrains/JetBrainsRuntime.git
|
|
||||||
```
|
|
||||||
|
|
||||||
## Configuring the Build Environment
|
|
||||||
Here are quick per-platform instructions for those who can't wait to get started.
|
|
||||||
Please refer to [OpenJDK build docs](https://openjdk.java.net/groups/build/doc/building.html) for in-depth
|
|
||||||
coverage of all the details.
|
|
||||||
|
|
||||||
> **_TIP:_** To get a preliminary report of what's missing, run `./configure` and check its output.
|
|
||||||
> It would usually have a meaningful advice on how to solve the problem.
|
|
||||||
|
|
||||||
### Linux (Docker)
|
|
||||||
Create a container:
|
|
||||||
```
|
|
||||||
$ cd jb/project/docker
|
|
||||||
$ docker build .
|
|
||||||
...
|
|
||||||
Successfully built 942ea9900054
|
|
||||||
```
|
|
||||||
Run these commands in the new container:
|
|
||||||
```
|
|
||||||
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
|
|
||||||
# cd /JetBrainsRuntime
|
|
||||||
# git checkout jbr17
|
|
||||||
# sh ./configure
|
|
||||||
# make images CONF=linux-x86_64-normal-server-release
|
|
||||||
```
|
|
||||||
|
|
||||||
### Ubuntu Linux
|
|
||||||
Install the necessary tools, libraries, and headers with:
|
|
||||||
```
|
|
||||||
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
|
|
||||||
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev libspeechd-dev \
|
|
||||||
java-16-amazon-corretto-jdk
|
|
||||||
```
|
|
||||||
Then run the following:
|
|
||||||
```
|
|
||||||
$ cd JetBrainsRuntime
|
|
||||||
$ git checkout jbr17
|
|
||||||
$ sh ./configure
|
|
||||||
$ make images
|
|
||||||
```
|
|
||||||
This will build the release configuration under `./build/linux-x86_64-server-release/`.
|
|
||||||
|
|
||||||
### Windows
|
|
||||||
<a name="build-windows"></a>
|
|
||||||
Install the following:
|
|
||||||
* [Cygwin x64](http://www.cygwin.com/).
|
|
||||||
Required packages: `autoconf`, `binutils`, `cpio`, `diffutils`, `file`, `gawk`, `gcc-core`, `make`, `m4`, `unzip`, `zip`.
|
|
||||||
Install those together with Cygwin.
|
|
||||||
* [Visual Studio compiler toolset](https://visualstudio.microsoft.com/downloads/).
|
|
||||||
Install with the desktop development kit, which includes Windows SDK and compilers.
|
|
||||||
Visual Studio 2019 is supported by default.
|
|
||||||
* Java 16 (for instance, from [AdoptOpenJDK](https://adoptopenjdk.net/installation.html?variant=openjdk16&jvmVariant=hotspot#)).
|
|
||||||
If you have problems while configuring, read [Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html).
|
|
||||||
|
|
||||||
From the command line:
|
|
||||||
```
|
|
||||||
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
|
|
||||||
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
|
|
||||||
```
|
|
||||||
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
|
|
||||||
|
|
||||||
In the Cygwin shell:
|
|
||||||
```
|
|
||||||
$ cd JetBrainsRuntime
|
|
||||||
$ git checkout jbr17
|
|
||||||
$ bash configure --with-toolchain-version=2019
|
|
||||||
$ make images
|
|
||||||
```
|
|
||||||
This will build the release configuration under `./build/windows-x86_64-server-release/`.
|
|
||||||
|
|
||||||
#### Enable optional NVDA screen reader support
|
|
||||||
If you want to add support of a11y announcing via [NVDA screen reader](https://www.nvaccess.org/about-nvda/),
|
|
||||||
you will need to bundle the NVDA Controller Client library.
|
|
||||||
You can do it with the following steps:
|
|
||||||
1. Download the NVDA Controller Client library. You can find the link in its official README [here](https://github.com/nvaccess/nvda/blob/master/extras/controllerClient/readme.md)
|
|
||||||
2. Pass the path to the unpacked package to `configure` via an additional flag `--with-nvdacontrollerclient=<path>`.
|
|
||||||
The build system will search the required library files under `<path>/<target-arch>`.
|
|
||||||
|
|
||||||
#### Disable optional JAWS screen reader support
|
|
||||||
JBR is built with built-in support of JAWS screen reader.
|
|
||||||
If you want to disable it, run `configure` with the additional flag `--disable-jaws-client`.
|
|
||||||
|
|
||||||
### macOS
|
|
||||||
Install the following:
|
|
||||||
* Xcode command line developer tools and `autoconf` via [Homebrew](https://brew.sh/).
|
|
||||||
* Java 16 (for instance, from [AdoptOpenJDK](https://adoptopenjdk.net/installation.html?variant=openjdk16&jvmVariant=hotspot#)).
|
|
||||||
|
|
||||||
From the command line:
|
|
||||||
```
|
|
||||||
$ cd JetBrainsRuntime
|
|
||||||
$ git checkout jbr17
|
|
||||||
$ sh ./configure
|
|
||||||
$ make images
|
|
||||||
```
|
|
||||||
This will build the release configuration under `./build/macosx-x86_64-server-release/`.
|
|
||||||
|
|
||||||
## Developing
|
|
||||||
You can use [CLion](https://www.jetbrains.com/clion/) to develop native parts of the JetBrains Runtime and
|
|
||||||
[IntelliJ IDEA](https://www.jetbrains.com/idea/) for the parts written in Java.
|
|
||||||
Both require projects to be created.
|
|
||||||
|
|
||||||
### CLion
|
|
||||||
Run
|
|
||||||
```
|
|
||||||
$ make compile-commands
|
|
||||||
```
|
|
||||||
in the git root and open the resulting `build/.../compile_commands.json` file as a project.
|
|
||||||
Then use `Tools | Compilation Database | Change Project Root` to point to git root of this repository.
|
|
||||||
|
|
||||||
See also this detailed step-by-step tutorial for all platforms:
|
|
||||||
[How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
|
|
||||||
|
|
||||||
### IDEA
|
|
||||||
Run
|
|
||||||
```
|
|
||||||
$ sh ./bin/idea.sh
|
|
||||||
```
|
|
||||||
in the git root to generate project files (add `--help` for options). If you have multiple
|
|
||||||
configurations (for example, `release` and `fastdebug`), supply the `--conf <conf_name>` argument.
|
|
||||||
Then open the git root directory as a project in IDEA.
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
We are happy to receive your pull requests!
|
|
||||||
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).
|
|
||||||
|
|
||||||
## Resources
|
|
||||||
* [JetBrains Runtime on GitHub](https://github.com/JetBrains/JetBrainsRuntime).
|
|
||||||
* [OpenJDK build instructions](https://openjdk.java.net/groups/build/doc/building.html).
|
|
||||||
* [OpenJDK test instructions](https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#running-tests).
|
|
||||||
* [How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
|
|
||||||
|
|||||||
290
bin/idea.sh
290
bin/idea.sh
@@ -25,26 +25,7 @@
|
|||||||
# Shell script for generating an IDEA project from a given list of modules
|
# Shell script for generating an IDEA project from a given list of modules
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage: $0 [-h|--help] [-q|--quiet] [-a|--absolute-paths] [-r|--root <path>] [-o|--output <path>] [-c|--conf <conf_name>] [modules...]"
|
echo "usage: $0 [-h|--help] [-v|--verbose] [-o|--output <path>] [modules]+"
|
||||||
echo " -h | --help"
|
|
||||||
echo " -q | --quiet
|
|
||||||
No stdout output"
|
|
||||||
echo " -a | --absolute-paths
|
|
||||||
Use absolute paths to this jdk, so that generated .idea
|
|
||||||
project files can be moved independently of jdk sources"
|
|
||||||
echo " -r | --root <path>
|
|
||||||
Project content root
|
|
||||||
Default: $TOPLEVEL_DIR"
|
|
||||||
echo " -o | --output <path>
|
|
||||||
Where .idea directory with project files will be generated
|
|
||||||
(e.g. using '-o .' will place project files in './.idea')
|
|
||||||
Default: same as --root"
|
|
||||||
echo " -c | --conf <conf_name>
|
|
||||||
make configuration (release, slowdebug etc)"
|
|
||||||
echo " [modules...]
|
|
||||||
Generate project modules for specific java modules
|
|
||||||
(e.g. 'java.base java.desktop')
|
|
||||||
Default: all existing modules (java.* and jdk.*)"
|
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,14 +33,10 @@ SCRIPT_DIR=`dirname $0`
|
|||||||
#assume TOP is the dir from which the script has been called
|
#assume TOP is the dir from which the script has been called
|
||||||
TOP=`pwd`
|
TOP=`pwd`
|
||||||
cd $SCRIPT_DIR; SCRIPT_DIR=`pwd`
|
cd $SCRIPT_DIR; SCRIPT_DIR=`pwd`
|
||||||
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
|
|
||||||
cd .. ; TOPLEVEL_DIR=`pwd`
|
|
||||||
fi
|
|
||||||
cd $TOP;
|
cd $TOP;
|
||||||
|
|
||||||
VERBOSE=true
|
IDEA_OUTPUT=$TOP/.idea
|
||||||
ABSOLUTE_PATHS=false
|
VERBOSE="false"
|
||||||
CONF_ARG=
|
|
||||||
while [ $# -gt 0 ]
|
while [ $# -gt 0 ]
|
||||||
do
|
do
|
||||||
case $1 in
|
case $1 in
|
||||||
@@ -67,26 +44,12 @@ do
|
|||||||
usage
|
usage
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-q | --quiet )
|
-v | --vebose )
|
||||||
VERBOSE=false
|
VERBOSE="true"
|
||||||
;;
|
|
||||||
|
|
||||||
-a | --absolute-paths )
|
|
||||||
ABSOLUTE_PATHS=true
|
|
||||||
;;
|
|
||||||
|
|
||||||
-r | --root )
|
|
||||||
TOPLEVEL_DIR="$2"
|
|
||||||
shift
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-o | --output )
|
-o | --output )
|
||||||
IDEA_OUTPUT="$2/.idea"
|
IDEA_OUTPUT=$2/.idea
|
||||||
shift
|
|
||||||
;;
|
|
||||||
|
|
||||||
-c | --conf )
|
|
||||||
CONF_ARG="CONF_NAME=$2"
|
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@@ -101,20 +64,19 @@ do
|
|||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "x$IDEA_OUTPUT" = "x" ] ; then
|
mkdir -p $IDEA_OUTPUT || exit 1
|
||||||
IDEA_OUTPUT="$TOPLEVEL_DIR/.idea"
|
cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
|
||||||
|
|
||||||
|
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
|
||||||
|
cd $SCRIPT_DIR/..
|
||||||
|
TOPLEVEL_DIR=`pwd`
|
||||||
|
cd $IDEA_OUTPUT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p $IDEA_OUTPUT || exit 1
|
MAKE_DIR="$SCRIPT_DIR/../make"
|
||||||
cd "$TOP" ; cd $TOPLEVEL_DIR; TOPLEVEL_DIR=`pwd`
|
IDEA_MAKE="$MAKE_DIR/ide/idea/jdk"
|
||||||
cd "$TOP" ; cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
|
|
||||||
cd ..; IDEA_OUTPUT_PARENT=`pwd`
|
|
||||||
cd "$SCRIPT_DIR/.." ; OPENJDK_DIR=`pwd`
|
|
||||||
|
|
||||||
IDEA_MAKE="$OPENJDK_DIR/make/ide/idea/jdk"
|
|
||||||
IDEA_TEMPLATE="$IDEA_MAKE/template"
|
IDEA_TEMPLATE="$IDEA_MAKE/template"
|
||||||
|
|
||||||
cp -r "$TOPLEVEL_DIR/jb/project/idea-project-files"/* "$IDEA_OUTPUT"
|
|
||||||
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
|
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
|
||||||
|
|
||||||
#override template
|
#override template
|
||||||
@@ -124,31 +86,31 @@ if [ -d "$TEMPLATES_OVERRIDE" ] ; then
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$VERBOSE" = true ] ; then
|
if [ "$VERBOSE" = "true" ] ; then
|
||||||
echo "Will generate IDEA project files in \"$IDEA_OUTPUT\" for project \"$TOPLEVEL_DIR\""
|
echo "output dir: $IDEA_OUTPUT"
|
||||||
|
echo "idea template dir: $IDEA_TEMPLATE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I "$OPENJDK_DIR" idea TOPLEVEL_DIR="$TOPLEVEL_DIR" \
|
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I $MAKE_DIR/.. idea MAKEOVERRIDES= OUT=$IDEA_OUTPUT/env.cfg MODULES="$*" || exit 1
|
||||||
MAKEOVERRIDES= IDEA_OUTPUT_PARENT="$IDEA_OUTPUT_PARENT" OUT="$IDEA_OUTPUT/env.cfg" MODULES="$*" $CONF_ARG || exit 1
|
|
||||||
cd $SCRIPT_DIR
|
cd $SCRIPT_DIR
|
||||||
|
|
||||||
. $IDEA_OUTPUT/env.cfg
|
. $IDEA_OUTPUT/env.cfg
|
||||||
|
|
||||||
# Expect MODULES, MODULE_NAMES, RELATIVE_PROJECT_DIR, RELATIVE_BUILD_DIR to be set
|
# Expect MODULE_ROOTS, MODULE_NAMES, BOOT_JDK & SPEC to be set
|
||||||
if [ "xMODULES" = "x" ] ; then
|
if [ "x$MODULE_ROOTS" = "x" ] ; then
|
||||||
echo "FATAL: MODULES is empty" >&2; exit 1
|
echo "FATAL: MODULE_ROOTS is empty" >&2; exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "x$MODULE_NAMES" = "x" ] ; then
|
if [ "x$MODULE_NAMES" = "x" ] ; then
|
||||||
echo "FATAL: MODULE_NAMES is empty" >&2; exit 1
|
echo "FATAL: MODULE_NAMES is empty" >&2; exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "x$RELATIVE_PROJECT_DIR" = "x" ] ; then
|
if [ "x$BOOT_JDK" = "x" ] ; then
|
||||||
echo "FATAL: RELATIVE_PROJECT_DIR is empty" >&2; exit 1
|
echo "FATAL: BOOT_JDK is empty" >&2; exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "x$RELATIVE_BUILD_DIR" = "x" ] ; then
|
if [ "x$SPEC" = "x" ] ; then
|
||||||
echo "FATAL: RELATIVE_BUILD_DIR is empty" >&2; exit 1
|
echo "FATAL: SPEC is empty" >&2; exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
|
if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
|
||||||
@@ -159,43 +121,6 @@ if [ -d "$TOPLEVEL_DIR/.git" ] ; then
|
|||||||
VCS_TYPE="Git"
|
VCS_TYPE="Git"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$ABSOLUTE_PATHS" = true ] ; then
|
|
||||||
if [ "x$PATHTOOL" != "x" ]; then
|
|
||||||
PROJECT_DIR="`$PATHTOOL -am $OPENJDK_DIR`"
|
|
||||||
TOPLEVEL_PROJECT_DIR="`$PATHTOOL -am $TOPLEVEL_DIR`"
|
|
||||||
else
|
|
||||||
PROJECT_DIR="$OPENJDK_DIR"
|
|
||||||
TOPLEVEL_PROJECT_DIR="$TOPLEVEL_DIR"
|
|
||||||
fi
|
|
||||||
MODULE_DIR="$PROJECT_DIR"
|
|
||||||
TOPLEVEL_MODULE_DIR="$TOPLEVEL_PROJECT_DIR"
|
|
||||||
cd "$IDEA_OUTPUT_PARENT" && cd "$RELATIVE_BUILD_DIR" && BUILD_DIR="`pwd`"
|
|
||||||
CLION_SCRIPT_TOPDIR="$OPENJDK_DIR"
|
|
||||||
CLION_PROJECT_DIR="$PROJECT_DIR"
|
|
||||||
else
|
|
||||||
if [ "$RELATIVE_PROJECT_DIR" = "." ] ; then
|
|
||||||
PROJECT_DIR=""
|
|
||||||
else
|
|
||||||
PROJECT_DIR="/$RELATIVE_PROJECT_DIR"
|
|
||||||
fi
|
|
||||||
if [ "$RELATIVE_TOPLEVEL_PROJECT_DIR" = "." ] ; then
|
|
||||||
TOPLEVEL_PROJECT_DIR=""
|
|
||||||
else
|
|
||||||
TOPLEVEL_PROJECT_DIR="/$RELATIVE_TOPLEVEL_PROJECT_DIR"
|
|
||||||
fi
|
|
||||||
MODULE_DIR="\$MODULE_DIR\$$PROJECT_DIR"
|
|
||||||
PROJECT_DIR="\$PROJECT_DIR\$$PROJECT_DIR"
|
|
||||||
TOPLEVEL_MODULE_DIR="\$MODULE_DIR\$$TOPLEVEL_PROJECT_DIR"
|
|
||||||
TOPLEVEL_PROJECT_DIR="\$PROJECT_DIR\$$TOPLEVEL_PROJECT_DIR"
|
|
||||||
BUILD_DIR="\$PROJECT_DIR\$/$RELATIVE_BUILD_DIR"
|
|
||||||
CLION_SCRIPT_TOPDIR="$CLION_RELATIVE_PROJECT_DIR"
|
|
||||||
CLION_PROJECT_DIR="\$PROJECT_DIR\$/$CLION_SCRIPT_TOPDIR"
|
|
||||||
fi
|
|
||||||
if [ "$VERBOSE" = true ] ; then
|
|
||||||
echo "Project root: $PROJECT_DIR"
|
|
||||||
echo "Generating IDEA project files..."
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Replace template variables
|
### Replace template variables
|
||||||
|
|
||||||
NUM_REPLACEMENTS=0
|
NUM_REPLACEMENTS=0
|
||||||
@@ -219,106 +144,105 @@ add_replacement() {
|
|||||||
eval TO$NUM_REPLACEMENTS='$2'
|
eval TO$NUM_REPLACEMENTS='$2'
|
||||||
}
|
}
|
||||||
|
|
||||||
add_replacement "###PATHTOOL###" "$PATHTOOL"
|
|
||||||
add_replacement "###CLION_SCRIPT_TOPDIR###" "$CLION_SCRIPT_TOPDIR"
|
|
||||||
add_replacement "###CLION_PROJECT_DIR###" "$CLION_PROJECT_DIR"
|
|
||||||
add_replacement "###PROJECT_DIR###" "$PROJECT_DIR"
|
|
||||||
add_replacement "###MODULE_DIR###" "$MODULE_DIR"
|
|
||||||
add_replacement "###TOPLEVEL_PROJECT_DIR###" "$TOPLEVEL_PROJECT_DIR"
|
|
||||||
add_replacement "###TOPLEVEL_MODULE_DIR###" "$TOPLEVEL_MODULE_DIR"
|
|
||||||
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
|
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
|
||||||
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
|
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
|
||||||
add_replacement "###BUILD_DIR###" "$BUILD_DIR"
|
SPEC_DIR=`dirname $SPEC`
|
||||||
add_replacement "###RELATIVE_BUILD_DIR###" "$RELATIVE_BUILD_DIR"
|
if [ "x$CYGPATH" != "x" ]; then
|
||||||
if [ "x$PATHTOOL" != "x" ]; then
|
add_replacement "###BUILD_DIR###" "`cygpath -am $SPEC_DIR`"
|
||||||
add_replacement "###BASH_RUNNER_PREFIX###" "\$PROJECT_DIR\$/.idea/bash.bat"
|
add_replacement "###IMAGES_DIR###" "`cygpath -am $SPEC_DIR`/images/jdk"
|
||||||
else
|
add_replacement "###ROOT_DIR###" "`cygpath -am $TOPLEVEL_DIR`"
|
||||||
add_replacement "###BASH_RUNNER_PREFIX###" ""
|
add_replacement "###IDEA_DIR###" "`cygpath -am $IDEA_OUTPUT`"
|
||||||
fi
|
|
||||||
if [ "x$PATHTOOL" != "x" ]; then
|
|
||||||
if [ "x$JT_HOME" = "x" ]; then
|
if [ "x$JT_HOME" = "x" ]; then
|
||||||
add_replacement "###JTREG_HOME###" ""
|
add_replacement "###JTREG_HOME###" ""
|
||||||
else
|
else
|
||||||
add_replacement "###JTREG_HOME###" "`$PATHTOOL -am $JT_HOME`"
|
add_replacement "###JTREG_HOME###" "`cygpath -am $JT_HOME`"
|
||||||
|
fi
|
||||||
|
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
|
||||||
|
add_replacement "###BUILD_DIR###" "`wslpath -am $SPEC_DIR`"
|
||||||
|
add_replacement "###IMAGES_DIR###" "`wslpath -am $SPEC_DIR`/images/jdk"
|
||||||
|
add_replacement "###ROOT_DIR###" "`wslpath -am $TOPLEVEL_DIR`"
|
||||||
|
add_replacement "###IDEA_DIR###" "`wslpath -am $IDEA_OUTPUT`"
|
||||||
|
if [ "x$JT_HOME" = "x" ]; then
|
||||||
|
add_replacement "###JTREG_HOME###" ""
|
||||||
|
else
|
||||||
|
add_replacement "###JTREG_HOME###" "`wslpath -am $JT_HOME`"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
|
||||||
add_replacement "###JTREG_HOME###" "$JT_HOME"
|
add_replacement "###JTREG_HOME###" "$JT_HOME"
|
||||||
|
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
|
||||||
|
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
|
||||||
|
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
MODULE_IMLS=""
|
SOURCE_PREFIX="<sourceFolder url=\"file://"
|
||||||
TEST_MODULE_DEPENDENCIES=""
|
SOURCE_POSTFIX="\" isTestSource=\"false\" />"
|
||||||
for module in $MODULE_NAMES; do
|
|
||||||
MODULE_IMLS="$MODULE_IMLS<module fileurl=\"file://\$PROJECT_DIR$/.idea/$module.iml\" filepath=\"\$PROJECT_DIR$/.idea/$module.iml\" /> "
|
for root in $MODULE_ROOTS; do
|
||||||
TEST_MODULE_DEPENDENCIES="$TEST_MODULE_DEPENDENCIES<orderEntry type=\"module\" module-name=\"$module\" scope=\"TEST\" /> "
|
if [ "x$CYGPATH" != "x" ]; then
|
||||||
|
root=`cygpath -am $root`
|
||||||
|
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
|
||||||
|
root=`wslpath -am $root`
|
||||||
|
fi
|
||||||
|
|
||||||
|
VM_CI="jdk.internal.vm.ci/share/classes"
|
||||||
|
VM_COMPILER="src/jdk.internal.vm.compiler/share/classes"
|
||||||
|
if test "${root#*$VM_CI}" != "$root" || test "${root#*$VM_COMPILER}" != "$root"; then
|
||||||
|
for subdir in "$root"/*; do
|
||||||
|
if [ -d "$subdir" ]; then
|
||||||
|
SOURCES=$SOURCES" $SOURCE_PREFIX""$subdir"/src"$SOURCE_POSTFIX"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
add_replacement "###MODULE_IMLS###" "$MODULE_IMLS"
|
|
||||||
add_replacement "###TEST_MODULE_DEPENDENCIES###" "$TEST_MODULE_DEPENDENCIES"
|
add_replacement "###SOURCE_ROOTS###" "$SOURCES"
|
||||||
|
|
||||||
replace_template_dir "$IDEA_OUTPUT"
|
replace_template_dir "$IDEA_OUTPUT"
|
||||||
|
|
||||||
### Generate module project files
|
### Compile the custom Logger
|
||||||
|
|
||||||
if [ "$VERBOSE" = true ] ; then
|
CLASSES=$IDEA_OUTPUT/classes
|
||||||
echo "Generating project modules:"
|
|
||||||
fi
|
|
||||||
(
|
|
||||||
DEFAULT_IFS="$IFS"
|
|
||||||
IFS='#'
|
|
||||||
for value in $MODULES; do
|
|
||||||
(
|
|
||||||
eval "$value"
|
|
||||||
if [ "$VERBOSE" = true ] ; then
|
|
||||||
echo " $module"
|
|
||||||
fi
|
|
||||||
MAIN_SOURCE_DIRS=""
|
|
||||||
CONTENT_ROOTS=""
|
|
||||||
IFS=' '
|
|
||||||
for dir in $moduleSrcDirs; do
|
|
||||||
case $dir in
|
|
||||||
"src/"*) MAIN_SOURCE_DIRS="$MAIN_SOURCE_DIRS <sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" />" ;;
|
|
||||||
*"/support/gensrc/$module") ;; # Exclude generated sources to avoid module-info conflicts, see https://youtrack.jetbrains.com/issue/IDEA-185108
|
|
||||||
*) CONTENT_ROOTS="$CONTENT_ROOTS <content url=\"file://$MODULE_DIR/$dir\">\
|
|
||||||
<sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" generated=\"true\" /></content>" ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if [ "x$MAIN_SOURCE_DIRS" != "x" ] ; then
|
|
||||||
CONTENT_ROOTS="<content url=\"file://$MODULE_DIR/src/$module\">$MAIN_SOURCE_DIRS</content>$CONTENT_ROOTS"
|
|
||||||
fi
|
|
||||||
add_replacement "###MODULE_CONTENT_ROOTS###" "$CONTENT_ROOTS"
|
|
||||||
DEPENDENCIES=""
|
|
||||||
for dep in $moduleDependencies; do
|
|
||||||
case $MODULE_NAMES in # Exclude skipped modules from dependencies
|
|
||||||
*"$dep"*) DEPENDENCIES="$DEPENDENCIES<orderEntry type=\"module\" module-name=\"$dep\" /> "
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
add_replacement "###DEPENDENCIES###" "$DEPENDENCIES"
|
|
||||||
cp "$IDEA_OUTPUT/module.iml" "$IDEA_OUTPUT/$module.iml"
|
|
||||||
IFS="$DEFAULT_IFS"
|
|
||||||
replace_template_file "$IDEA_OUTPUT/$module.iml"
|
|
||||||
)
|
|
||||||
done
|
|
||||||
)
|
|
||||||
rm "$IDEA_OUTPUT/module.iml"
|
|
||||||
|
|
||||||
### Create shell script runner for Windows
|
if [ "x$ANT_HOME" = "x" ] ; then
|
||||||
|
# try some common locations, before giving up
|
||||||
|
if [ -f "/usr/share/ant/lib/ant.jar" ] ; then
|
||||||
|
ANT_HOME="/usr/share/ant"
|
||||||
|
elif [ -f "/usr/local/Cellar/ant/1.9.4/libexec/lib/ant.jar" ] ; then
|
||||||
|
ANT_HOME="/usr/local/Cellar/ant/1.9.4/libexec"
|
||||||
|
else
|
||||||
|
echo "FATAL: cannot find ant. Try setting ANT_HOME." >&2; exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
CP=$ANT_HOME/lib/ant.jar
|
||||||
|
rm -rf $CLASSES; mkdir $CLASSES
|
||||||
|
|
||||||
if [ "x$PATHTOOL" != "x" ]; then
|
if [ "x$CYGPATH" != "x" ] ; then ## CYGPATH may be set in env.cfg
|
||||||
echo "@echo off" > "$IDEA_OUTPUT/bash.bat"
|
JAVAC_SOURCE_FILE=`cygpath -am $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
|
||||||
if [ "x$WSL_DISTRO_NAME" != "x" ] ; then
|
JAVAC_SOURCE_PATH=`cygpath -am $IDEA_OUTPUT/src`
|
||||||
echo "wsl -d $WSL_DISTRO_NAME --cd \"%cd%\" -e %*" >> "$IDEA_OUTPUT/bash.bat"
|
JAVAC_CLASSES=`cygpath -am $CLASSES`
|
||||||
else
|
JAVAC_CP=`cygpath -am $CP`
|
||||||
echo "$WINENV_ROOT\bin\bash.exe -l -c \"cd %CD:\=/%/ && %*\"" >> "$IDEA_OUTPUT/bash.bat"
|
JAVAC=javac
|
||||||
fi
|
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
|
||||||
|
JAVAC_SOURCE_FILE=`realpath --relative-to=./ $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
|
||||||
|
JAVAC_SOURCE_PATH=`realpath --relative-to=./ $IDEA_OUTPUT/src`
|
||||||
|
JAVAC_CLASSES=`realpath --relative-to=./ $CLASSES`
|
||||||
|
ANT_TEMP=`mktemp -d -p ./`
|
||||||
|
cp $ANT_HOME/lib/ant.jar $ANT_TEMP/ant.jar
|
||||||
|
JAVAC_CP=$ANT_TEMP/ant.jar
|
||||||
|
JAVAC=javac.exe
|
||||||
|
else
|
||||||
|
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
|
||||||
|
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
|
||||||
|
JAVAC_CLASSES=$CLASSES
|
||||||
|
JAVAC_CP=$CP
|
||||||
|
JAVAC=javac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
$BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
|
||||||
|
|
||||||
|
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
|
||||||
if [ "$VERBOSE" = true ] ; then
|
rm -rf $ANT_TEMP
|
||||||
IDEA_PROJECT_DIR="`dirname $IDEA_OUTPUT`"
|
|
||||||
if [ "x$PATHTOOL" != "x" ]; then
|
|
||||||
IDEA_PROJECT_DIR="`$PATHTOOL -am $IDEA_PROJECT_DIR`"
|
|
||||||
fi
|
|
||||||
echo "
|
|
||||||
Now you can open \"$IDEA_PROJECT_DIR\" as IDEA project
|
|
||||||
You can also run 'bash \"$IDEA_OUTPUT/jdk-clion/update-project.sh\"' to generate Clion project"
|
|
||||||
fi
|
fi
|
||||||
@@ -128,15 +128,6 @@ install_jib() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Want to check the filetype using file, to see if we got served a HTML error page.
|
|
||||||
# This is sensitive to the filename containing a specific string, but good enough.
|
|
||||||
file "${installed_jib_script}.gz" | grep "gzip compressed data" > /dev/null
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Warning: ${installed_jib_script}.gz is not a gzip file."
|
|
||||||
echo "If you are behind a proxy you may need to configure exceptions using no_proxy."
|
|
||||||
echo "The download URL was: ${jib_url}"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "Extracting JIB bootstrap script"
|
echo "Extracting JIB bootstrap script"
|
||||||
rm -f "${installed_jib_script}"
|
rm -f "${installed_jib_script}"
|
||||||
gunzip "${installed_jib_script}.gz"
|
gunzip "${installed_jib_script}.gz"
|
||||||
|
|||||||
@@ -99,7 +99,6 @@
|
|||||||
<li><a href="#specific-build-issues">Specific Build Issues</a></li>
|
<li><a href="#specific-build-issues">Specific Build Issues</a></li>
|
||||||
<li><a href="#getting-help">Getting Help</a></li>
|
<li><a href="#getting-help">Getting Help</a></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><a href="#reproducible-builds">Reproducible Builds</a></li>
|
|
||||||
<li><a href="#hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</a><ul>
|
<li><a href="#hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</a><ul>
|
||||||
<li><a href="#bash-completion">Bash Completion</a></li>
|
<li><a href="#bash-completion">Bash Completion</a></li>
|
||||||
<li><a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
|
<li><a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
|
||||||
@@ -240,26 +239,26 @@
|
|||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="header">
|
<tr class="header">
|
||||||
<th>Operating system</th>
|
<th style="text-align: left;">Operating system</th>
|
||||||
<th>Supported toolchain</th>
|
<th style="text-align: left;">Supported toolchain</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td>Linux</td>
|
<td style="text-align: left;">Linux</td>
|
||||||
<td>gcc, clang</td>
|
<td style="text-align: left;">gcc, clang</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td>macOS</td>
|
<td style="text-align: left;">macOS</td>
|
||||||
<td>Apple Xcode (using clang)</td>
|
<td style="text-align: left;">Apple Xcode (using clang)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td>AIX</td>
|
<td style="text-align: left;">AIX</td>
|
||||||
<td>IBM XL C/C++</td>
|
<td style="text-align: left;">IBM XL C/C++</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td>Windows</td>
|
<td style="text-align: left;">Windows</td>
|
||||||
<td>Microsoft Visual Studio</td>
|
<td style="text-align: left;">Microsoft Visual Studio</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -267,45 +266,41 @@
|
|||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="header">
|
<tr class="header">
|
||||||
<th>Operating system</th>
|
<th style="text-align: left;">Operating system</th>
|
||||||
<th>Toolchain version</th>
|
<th style="text-align: left;">Toolchain version</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td>Linux</td>
|
<td style="text-align: left;">Linux</td>
|
||||||
<td>gcc 11.2.0</td>
|
<td style="text-align: left;">gcc 10.2.0</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td>macOS</td>
|
<td style="text-align: left;">macOS</td>
|
||||||
<td>Apple Xcode 10.1 (using clang 10.0.0)</td>
|
<td style="text-align: left;">Apple Xcode 10.1 (using clang 10.0.0)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td>Windows</td>
|
<td style="text-align: left;">Windows</td>
|
||||||
<td>Microsoft Visual Studio 2022 update 17.1.0</td>
|
<td style="text-align: left;">Microsoft Visual Studio 2022 update 17.1.0</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<p>All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.</p>
|
<p>All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.</p>
|
||||||
<h3 id="gcc">gcc</h3>
|
<h3 id="gcc">gcc</h3>
|
||||||
<p>The minimum accepted version of gcc is 5.0. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
|
<p>The minimum accepted version of gcc is 5.0. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
|
||||||
<p>The JDK is currently known to be able to compile with at least version 11.2 of gcc.</p>
|
<p>The JDK is currently known to be able to compile with at least version 10.2 of gcc.</p>
|
||||||
<p>In general, any version between these two should be usable.</p>
|
<p>In general, any version between these two should be usable.</p>
|
||||||
<h3 id="clang">clang</h3>
|
<h3 id="clang">clang</h3>
|
||||||
<p>The minimum accepted version of clang is 3.5. Older versions will not be accepted by <code>configure</code>.</p>
|
<p>The minimum accepted version of clang is 3.5. Older versions will not be accepted by <code>configure</code>.</p>
|
||||||
<p>To use clang instead of gcc on Linux, use <code>--with-toolchain-type=clang</code>.</p>
|
<p>To use clang instead of gcc on Linux, use <code>--with-toolchain-type=clang</code>.</p>
|
||||||
<h3 id="apple-xcode">Apple Xcode</h3>
|
<h3 id="apple-xcode">Apple Xcode</h3>
|
||||||
<p>The oldest supported version of Xcode is 8.</p>
|
<p>The oldest supported version of Xcode is 8.</p>
|
||||||
<p>You will need the Xcode command line developer tools to be able to build the JDK. (Actually, <em>only</em> the command line tools are needed, not the IDE.) The simplest way to install these is to run:</p>
|
<p>You will need the Xcode command lines developers tools to be able to build the JDK. (Actually, <em>only</em> the command lines tools are needed, not the IDE.) The simplest way to install these is to run:</p>
|
||||||
<pre><code>xcode-select --install</code></pre>
|
<pre><code>xcode-select --install</code></pre>
|
||||||
<p>When updating Xcode, it is advisable to keep an older version for building the JDK. To use a specific version of Xcode you have multiple options:</p>
|
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
|
||||||
<ul>
|
|
||||||
<li>Use <code>xcode-select -s</code> before running <code>configure</code>, e.g. <code>xcode-select -s /Applications/Xcode13.1.app</code>. The drawback is that the setting is system wide and you may have to revert it after an OpenJDK build.</li>
|
|
||||||
<li>Use configure option <code>--with-xcode-path</code>, e.g. <code>configure --with-xcode-path=/Applications/Xcode13.1.app</code> This allows using a specific Xcode version for an OpenJDK build, independently of the active Xcode version by <code>xcode-select</code>.</li>
|
|
||||||
</ul>
|
|
||||||
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
|
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
|
||||||
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
|
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
|
||||||
<p>The minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. The maximum accepted version of Visual Studio is 2019.</p>
|
<p>For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019 (16.8 or higher). For all other platforms the minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. For all platforms the maximum accepted version of Visual Studio is 2019.</p>
|
||||||
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2017</code>.</p>
|
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2017</code>.</p>
|
||||||
<p>If you have Visual Studio installed but <code>configure</code> fails to detect it, it may be because of <a href="#spaces-in-path">spaces in path</a>.</p>
|
<p>If you have Visual Studio installed but <code>configure</code> fails to detect it, it may be because of <a href="#spaces-in-path">spaces in path</a>.</p>
|
||||||
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
|
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
|
||||||
@@ -514,7 +509,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<h2 id="running-tests">Running Tests</h2>
|
<h2 id="running-tests">Running Tests</h2>
|
||||||
<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=<path to jtreg home></code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
|
<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=<path to jtreg home></code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
|
||||||
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
|
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
|
||||||
<p>Building of Hotspot Gtest suite requires the source code of Google Test framework. The top directory, which contains both <code>googletest</code> and <code>googlemock</code> directories, should be specified via <code>--with-gtest</code>. The supported version of Google Test is 1.8.1, whose source code can be obtained:</p>
|
<p>Building of Hotspot Gtest suite requires the source code of Google Test framework. The top directory, which contains both <code>googletest</code> and <code>googlemock</code> directories, should be specified via <code>--with-gtest</code>. The supported version of Google Test is 1.8.1, whose source code can be obtained:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>by downloading and unpacking the source bundle from <a href="https://github.com/google/googletest/releases/tag/release-1.8.1">here</a></li>
|
<li>by downloading and unpacking the source bundle from <a href="https://github.com/google/googletest/releases/tag/release-1.8.1">here</a></li>
|
||||||
@@ -898,32 +893,6 @@ spawn failed</code></pre>
|
|||||||
<h3 id="getting-help">Getting Help</h3>
|
<h3 id="getting-help">Getting Help</h3>
|
||||||
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
|
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
|
||||||
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
|
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
|
||||||
<h2 id="reproducible-builds">Reproducible Builds</h2>
|
|
||||||
<p>Build reproducibility is the property of getting exactly the same bits out when building, every time, independent on who builds the product, or where. This is for many reasons a harder goal than it initially appears, but it is an important goal, for security reasons and others. Please see <a href="https://reproducible-builds.org">Reproducible Builds</a> for more information about the background and reasons for reproducible builds.</p>
|
|
||||||
<p>Currently, it is not possible to build OpenJDK fully reproducibly, but getting there is an ongoing effort. There are some things you can do to minimize non-determinism and make a larger part of the build reproducible:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Turn on build system support for reproducible builds</li>
|
|
||||||
</ul>
|
|
||||||
<p>Add the flag <code>--enable-reproducible-build</code> to your <code>configure</code> command line. This will turn on support for reproducible builds where it could otherwise be lacking.</p>
|
|
||||||
<ul>
|
|
||||||
<li>Do not rely on <code>configure</code>'s default adhoc version strings</li>
|
|
||||||
</ul>
|
|
||||||
<p>Default adhoc version strings OPT segment include user name, source directory and timestamp. You can either override just the OPT segment using <code>--with-version-opt=<any fixed string></code>, or you can specify the entire version string using <code>--with-version-string=<your version></code>.</p>
|
|
||||||
<ul>
|
|
||||||
<li>Specify how the build sets <code>SOURCE_DATE_EPOCH</code></li>
|
|
||||||
</ul>
|
|
||||||
<p>The JDK build system will set the <code>SOURCE_DATE_EPOCH</code> environment variable during building, depending on the value of the <code>--with-source-date</code> option for <code>configure</code>. The default value is <code>updated</code>, which means that <code>SOURCE_DATE_EPOCH</code> will be set to the current time each time you are running <code>make</code>.</p>
|
|
||||||
<p>The <a href="https://reproducible-builds.org/docs/source-date-epoch/"><code>SOURCE_DATE_EPOCH</code> environment variable</a> is an industry standard, that many tools, such as gcc, recognize, and use in place of the current time when generating output.</p>
|
|
||||||
<p>For reproducible builds, you need to set this to a fixed value. You can use the special value <code>version</code> which will use the nominal release date for the current JDK version, or a value describing a date, either an epoch based timestamp as an integer, or a valid ISO-8601 date.</p>
|
|
||||||
<p><strong>Hint:</strong> If your build environment already sets <code>SOURCE_DATE_EPOCH</code>, you can propagate this using <code>--with-source-date=$SOURCE_DATE_EPOCH</code>.</p>
|
|
||||||
<ul>
|
|
||||||
<li>Specify a hotspot build time</li>
|
|
||||||
</ul>
|
|
||||||
<p>Set a fixed hotspot build time. This will be included in the hotspot library (<code>libjvm.so</code> or <code>jvm.dll</code>) and defaults to the current time when building hotspot. Use <code>--with-hotspot-build-time=<any fixed string></code> for reproducible builds. It's a string so you don't need to format it specifically, so e.g. <code>n/a</code> will do. Another solution is to use the <code>SOURCE_DATE_EPOCH</code> variable, e.g. <code>--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)</code>.</p>
|
|
||||||
<ul>
|
|
||||||
<li>Copyright year</li>
|
|
||||||
</ul>
|
|
||||||
<p>The copyright year in some generated text files are normally set to the current year. This can be overridden by <code>--with-copyright-year=<year></code>. For fully reproducible builds, this needs to be set to a fixed value.</p>
|
|
||||||
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
|
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
|
||||||
<h3 id="bash-completion">Bash Completion</h3>
|
<h3 id="bash-completion">Bash Completion</h3>
|
||||||
<p>The <code>configure</code> and <code>make</code> commands tries to play nice with bash command-line completion (using <code><tab></code> or <code><tab><tab></code>). To use this functionality, make sure you enable completion in your <code>~/.bashrc</code> (see instructions for bash in your operating system).</p>
|
<p>The <code>configure</code> and <code>make</code> commands tries to play nice with bash command-line completion (using <code><tab></code> or <code><tab><tab></code>). To use this functionality, make sure you enable completion in your <code>~/.bashrc</code> (see instructions for bash in your operating system).</p>
|
||||||
|
|||||||
106
doc/building.md
106
doc/building.md
@@ -305,12 +305,12 @@ be able to run on the target platform. In theory, toolchain and operating
|
|||||||
system should be independent factors, but in practice there's more or less a
|
system should be independent factors, but in practice there's more or less a
|
||||||
one-to-one correlation between target operating system and toolchain.
|
one-to-one correlation between target operating system and toolchain.
|
||||||
|
|
||||||
| Operating system | Supported toolchain |
|
Operating system Supported toolchain
|
||||||
| ------------------ | ------------------------- |
|
------------------ -------------------------
|
||||||
| Linux | gcc, clang |
|
Linux gcc, clang
|
||||||
| macOS | Apple Xcode (using clang) |
|
macOS Apple Xcode (using clang)
|
||||||
| AIX | IBM XL C/C++ |
|
AIX IBM XL C/C++
|
||||||
| Windows | Microsoft Visual Studio |
|
Windows Microsoft Visual Studio
|
||||||
|
|
||||||
Please see the individual sections on the toolchains for version
|
Please see the individual sections on the toolchains for version
|
||||||
recommendations. As a reference, these versions of the toolchains are used, at
|
recommendations. As a reference, these versions of the toolchains are used, at
|
||||||
@@ -319,11 +319,11 @@ possible to compile the JDK with both older and newer versions, but the closer
|
|||||||
you stay to this list, the more likely you are to compile successfully without
|
you stay to this list, the more likely you are to compile successfully without
|
||||||
issues.
|
issues.
|
||||||
|
|
||||||
| Operating system | Toolchain version |
|
Operating system Toolchain version
|
||||||
| ------------------ | ------------------------------------------ |
|
------------------ -------------------------------------------------------
|
||||||
| Linux | gcc 11.2.0 |
|
Linux gcc 10.2.0
|
||||||
| macOS | Apple Xcode 10.1 (using clang 10.0.0) |
|
macOS Apple Xcode 10.1 (using clang 10.0.0)
|
||||||
| Windows | Microsoft Visual Studio 2022 update 17.1.0 |
|
Windows Microsoft Visual Studio 2022 update 17.1.0
|
||||||
|
|
||||||
All compilers are expected to be able to compile to the C99 language standard,
|
All compilers are expected to be able to compile to the C99 language standard,
|
||||||
as some C99 features are used in the source code. Microsoft Visual Studio
|
as some C99 features are used in the source code. Microsoft Visual Studio
|
||||||
@@ -335,7 +335,7 @@ features that it does support.
|
|||||||
The minimum accepted version of gcc is 5.0. Older versions will generate a warning
|
The minimum accepted version of gcc is 5.0. Older versions will generate a warning
|
||||||
by `configure` and are unlikely to work.
|
by `configure` and are unlikely to work.
|
||||||
|
|
||||||
The JDK is currently known to be able to compile with at least version 11.2 of
|
The JDK is currently known to be able to compile with at least version 10.2 of
|
||||||
gcc.
|
gcc.
|
||||||
|
|
||||||
In general, any version between these two should be usable.
|
In general, any version between these two should be usable.
|
||||||
@@ -351,20 +351,20 @@ To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`.
|
|||||||
|
|
||||||
The oldest supported version of Xcode is 8.
|
The oldest supported version of Xcode is 8.
|
||||||
|
|
||||||
You will need the Xcode command line developer tools to be able to build
|
You will need the Xcode command lines developers tools to be able to build
|
||||||
the JDK. (Actually, *only* the command line tools are needed, not the IDE.)
|
the JDK. (Actually, *only* the command lines tools are needed, not the IDE.)
|
||||||
The simplest way to install these is to run:
|
The simplest way to install these is to run:
|
||||||
```
|
```
|
||||||
xcode-select --install
|
xcode-select --install
|
||||||
```
|
```
|
||||||
|
|
||||||
When updating Xcode, it is advisable to keep an older version for building the JDK.
|
It is advisable to keep an older version of Xcode for building the JDK when
|
||||||
To use a specific version of Xcode you have multiple options:
|
updating Xcode. This [blog page](
|
||||||
|
http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html) has
|
||||||
* Use `xcode-select -s` before running `configure`, e.g. `xcode-select -s /Applications/Xcode13.1.app`. The drawback is that the setting
|
good suggestions on managing multiple Xcode versions. To use a specific version
|
||||||
is system wide and you may have to revert it after an OpenJDK build.
|
of Xcode, use `xcode-select -s` before running `configure`, or use
|
||||||
* Use configure option `--with-xcode-path`, e.g. `configure --with-xcode-path=/Applications/Xcode13.1.app`
|
`--with-toolchain-path` to point to the version of Xcode to use, e.g.
|
||||||
This allows using a specific Xcode version for an OpenJDK build, independently of the active Xcode version by `xcode-select`.
|
`configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin`
|
||||||
|
|
||||||
If you have recently (inadvertently) updated your OS and/or Xcode version, and
|
If you have recently (inadvertently) updated your OS and/or Xcode version, and
|
||||||
the JDK can no longer be built, please see the section on [Problems with the
|
the JDK can no longer be built, please see the section on [Problems with the
|
||||||
@@ -848,7 +848,7 @@ containing `lib/jtreg.jar` etc.
|
|||||||
|
|
||||||
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
|
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
|
||||||
recent builds of jtreg [here](
|
recent builds of jtreg [here](
|
||||||
https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
|
https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
|
||||||
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
|
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
|
||||||
`jtreg` directory that you just unpacked.
|
`jtreg` directory that you just unpacked.
|
||||||
|
|
||||||
@@ -1539,68 +1539,6 @@ If you need general help or advice about developing for the JDK, you can also
|
|||||||
contact the Adoption Group. See the section on [Contributing to OpenJDK](
|
contact the Adoption Group. See the section on [Contributing to OpenJDK](
|
||||||
#contributing-to-openjdk) for more information.
|
#contributing-to-openjdk) for more information.
|
||||||
|
|
||||||
## Reproducible Builds
|
|
||||||
|
|
||||||
Build reproducibility is the property of getting exactly the same bits out when
|
|
||||||
building, every time, independent on who builds the product, or where. This is
|
|
||||||
for many reasons a harder goal than it initially appears, but it is an important
|
|
||||||
goal, for security reasons and others. Please see [Reproducible Builds](
|
|
||||||
https://reproducible-builds.org) for more information about the background and
|
|
||||||
reasons for reproducible builds.
|
|
||||||
|
|
||||||
Currently, it is not possible to build OpenJDK fully reproducibly, but getting
|
|
||||||
there is an ongoing effort. There are some things you can do to minimize
|
|
||||||
non-determinism and make a larger part of the build reproducible:
|
|
||||||
|
|
||||||
* Turn on build system support for reproducible builds
|
|
||||||
|
|
||||||
Add the flag `--enable-reproducible-build` to your `configure` command line.
|
|
||||||
This will turn on support for reproducible builds where it could otherwise be
|
|
||||||
lacking.
|
|
||||||
|
|
||||||
* Do not rely on `configure`'s default adhoc version strings
|
|
||||||
|
|
||||||
Default adhoc version strings OPT segment include user name, source directory
|
|
||||||
and timestamp. You can either override just the OPT segment using
|
|
||||||
`--with-version-opt=<any fixed string>`, or you can specify the entire version
|
|
||||||
string using `--with-version-string=<your version>`.
|
|
||||||
|
|
||||||
* Specify how the build sets `SOURCE_DATE_EPOCH`
|
|
||||||
|
|
||||||
The JDK build system will set the `SOURCE_DATE_EPOCH` environment variable
|
|
||||||
during building, depending on the value of the `--with-source-date` option for
|
|
||||||
`configure`. The default value is `updated`, which means that
|
|
||||||
`SOURCE_DATE_EPOCH` will be set to the current time each time you are running
|
|
||||||
`make`.
|
|
||||||
|
|
||||||
The [`SOURCE_DATE_EPOCH` environment variable](
|
|
||||||
https://reproducible-builds.org/docs/source-date-epoch/) is an industry
|
|
||||||
standard, that many tools, such as gcc, recognize, and use in place of the
|
|
||||||
current time when generating output.
|
|
||||||
|
|
||||||
For reproducible builds, you need to set this to a fixed value. You can use the
|
|
||||||
special value `version` which will use the nominal release date for the current
|
|
||||||
JDK version, or a value describing a date, either an epoch based timestamp as an
|
|
||||||
integer, or a valid ISO-8601 date.
|
|
||||||
|
|
||||||
**Hint:** If your build environment already sets `SOURCE_DATE_EPOCH`, you can
|
|
||||||
propagate this using `--with-source-date=$SOURCE_DATE_EPOCH`.
|
|
||||||
|
|
||||||
* Specify a hotspot build time
|
|
||||||
|
|
||||||
Set a fixed hotspot build time. This will be included in the hotspot library
|
|
||||||
(`libjvm.so` or `jvm.dll`) and defaults to the current time when building
|
|
||||||
hotspot. Use `--with-hotspot-build-time=<any fixed string>` for reproducible
|
|
||||||
builds. It's a string so you don't need to format it specifically, so e.g. `n/a`
|
|
||||||
will do. Another solution is to use the `SOURCE_DATE_EPOCH` variable, e.g.
|
|
||||||
`--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)`.
|
|
||||||
|
|
||||||
* Copyright year
|
|
||||||
|
|
||||||
The copyright year in some generated text files are normally set to the current
|
|
||||||
year. This can be overridden by `--with-copyright-year=<year>`. For fully
|
|
||||||
reproducible builds, this needs to be set to a fixed value.
|
|
||||||
|
|
||||||
## Hints and Suggestions for Advanced Users
|
## Hints and Suggestions for Advanced Users
|
||||||
|
|
||||||
### Bash Completion
|
### Bash Completion
|
||||||
|
|||||||
@@ -242,39 +242,14 @@ $ make test JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" TE
|
|||||||
JTREG="JAVA_OPTIONS=-Dtest.nss.lib.paths=/path/to/your/latest/NSS-libs"</code></pre>
|
JTREG="JAVA_OPTIONS=-Dtest.nss.lib.paths=/path/to/your/latest/NSS-libs"</code></pre>
|
||||||
<p>For more notes about the PKCS11 tests, please refer to test/jdk/sun/security/pkcs11/README.</p>
|
<p>For more notes about the PKCS11 tests, please refer to test/jdk/sun/security/pkcs11/README.</p>
|
||||||
<h3 id="client-ui-tests">Client UI Tests</h3>
|
<h3 id="client-ui-tests">Client UI Tests</h3>
|
||||||
<h4 id="system-key-shortcuts">System key shortcuts</h4>
|
|
||||||
<p>Some Client UI tests use key sequences which may be reserved by the operating system. Usually that causes the test failure. So it is highly recommended to disable system key shortcuts prior testing. The steps to access and disable system key shortcuts for various platforms are provided below.</p>
|
<p>Some Client UI tests use key sequences which may be reserved by the operating system. Usually that causes the test failure. So it is highly recommended to disable system key shortcuts prior testing. The steps to access and disable system key shortcuts for various platforms are provided below.</p>
|
||||||
<h5 id="macos">MacOS</h5>
|
<h4 id="macos">MacOS</h4>
|
||||||
<p>Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts; select or deselect desired shortcut.</p>
|
<p>Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts; select or deselect desired shortcut.</p>
|
||||||
<p>For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails on MacOS because it uses <code>CTRL + F1</code> key sequence to show or hide tooltip message but the key combination is reserved by the operating system. To run the test correctly the default global key shortcut should be disabled using the steps described above, and then deselect "Turn keyboard access on or off" option which is responsible for <code>CTRL + F1</code> combination.</p>
|
<p>For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails on MacOS because it uses <code>CTRL + F1</code> key sequence to show or hide tooltip message but the key combination is reserved by the operating system. To run the test correctly the default global key shortcut should be disabled using the steps described above, and then deselect "Turn keyboard access on or off" option which is responsible for <code>CTRL + F1</code> combination.</p>
|
||||||
<h5 id="linux">Linux</h5>
|
<h4 id="linux">Linux</h4>
|
||||||
<p>Open the Activities overview and start typing Settings; Choose Settings, click Devices, then click Keyboard; set or override desired shortcut.</p>
|
<p>Open the Activities overview and start typing Settings; Choose Settings, click Devices, then click Keyboard; set or override desired shortcut.</p>
|
||||||
<h5 id="windows">Windows</h5>
|
<h4 id="windows">Windows</h4>
|
||||||
<p>Type <code>gpedit</code> in the Search and then click Edit group policy; navigate to User Configuration -> Administrative Templates -> Windows Components -> File Explorer; in the right-side pane look for "Turn off Windows key hotkeys" and double click on it; enable or disable hotkeys.</p>
|
<p>Type <code>gpedit</code> in the Search and then click Edit group policy; navigate to User Configuration -> Administrative Templates -> Windows Components -> File Explorer; in the right-side pane look for "Turn off Windows key hotkeys" and double click on it; enable or disable hotkeys.</p>
|
||||||
<p>Note: restart is required to make the settings take effect.</p>
|
<p>Note: restart is required to make the settings take effect.</p>
|
||||||
<h4 id="robot-api">Robot API</h4>
|
|
||||||
<p>Most automated Client UI tests use <code>Robot</code> API to control
|
|
||||||
the UI. Usually, the default operating system settings need to be
|
|
||||||
adjusted for Robot to work correctly. The detailed steps how to access
|
|
||||||
and update these settings for different platforms are provided
|
|
||||||
below.</p>
|
|
||||||
<h5 id="macos-1">macOS</h5>
|
|
||||||
<p><code>Robot</code> is not permitted to control your Mac by default
|
|
||||||
since macOS 10.15. To allow it, choose Apple menu -> System Settings,
|
|
||||||
click Privacy & Security; then click Accessibility and ensure the
|
|
||||||
following apps are allowed to control your computer: <em>Java</em> and
|
|
||||||
<em>Terminal</em>. If the tests are run from an IDE, the IDE should be
|
|
||||||
granted this permission too.</p>
|
|
||||||
<h5 id="windows-1">Windows</h5>
|
|
||||||
<p>On Windows if Cygwin terminal is used to run the tests, there is a
|
|
||||||
delay in focus transfer. Usually it causes automated UI test failure. To
|
|
||||||
disable the delay, type <code>regedit</code> in the Search and then
|
|
||||||
select Registry Editor; navigate to the following key:
|
|
||||||
<code>HKEY_CURRENT_USER\Control Panel\Desktop</code>; make sure the
|
|
||||||
<code>ForegroundLockTimeout</code> value is set to 0.</p>
|
|
||||||
<p>Additional information about Client UI tests configuration for
|
|
||||||
various operating systems can be obtained at <a
|
|
||||||
href="https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements">Automated
|
|
||||||
client GUI testing system set up requirements</a></p>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -546,14 +546,12 @@ test/jdk/sun/security/pkcs11/README.
|
|||||||
|
|
||||||
### Client UI Tests
|
### Client UI Tests
|
||||||
|
|
||||||
#### System key shortcuts
|
|
||||||
|
|
||||||
Some Client UI tests use key sequences which may be reserved by the operating
|
Some Client UI tests use key sequences which may be reserved by the operating
|
||||||
system. Usually that causes the test failure. So it is highly recommended to
|
system. Usually that causes the test failure. So it is highly recommended to
|
||||||
disable system key shortcuts prior testing. The steps to access and disable
|
disable system key shortcuts prior testing. The steps to access and disable
|
||||||
system key shortcuts for various platforms are provided below.
|
system key shortcuts for various platforms are provided below.
|
||||||
|
|
||||||
##### macOS
|
#### MacOS
|
||||||
|
|
||||||
Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;
|
Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;
|
||||||
select or deselect desired shortcut.
|
select or deselect desired shortcut.
|
||||||
@@ -566,12 +564,12 @@ test correctly the default global key shortcut should be disabled using the
|
|||||||
steps described above, and then deselect "Turn keyboard access on or off"
|
steps described above, and then deselect "Turn keyboard access on or off"
|
||||||
option which is responsible for `CTRL + F1` combination.
|
option which is responsible for `CTRL + F1` combination.
|
||||||
|
|
||||||
##### Linux
|
#### Linux
|
||||||
|
|
||||||
Open the Activities overview and start typing Settings; Choose Settings, click
|
Open the Activities overview and start typing Settings; Choose Settings, click
|
||||||
Devices, then click Keyboard; set or override desired shortcut.
|
Devices, then click Keyboard; set or override desired shortcut.
|
||||||
|
|
||||||
##### Windows
|
#### Windows
|
||||||
|
|
||||||
Type `gpedit` in the Search and then click Edit group policy; navigate to User
|
Type `gpedit` in the Search and then click Edit group policy; navigate to User
|
||||||
Configuration -> Administrative Templates -> Windows Components -> File
|
Configuration -> Administrative Templates -> Windows Components -> File
|
||||||
@@ -580,33 +578,6 @@ double click on it; enable or disable hotkeys.
|
|||||||
|
|
||||||
Note: restart is required to make the settings take effect.
|
Note: restart is required to make the settings take effect.
|
||||||
|
|
||||||
#### Robot API
|
|
||||||
|
|
||||||
Most automated Client UI tests use `Robot` API to control the UI. Usually,
|
|
||||||
the default operating system settings need to be adjusted for Robot
|
|
||||||
to work correctly. The detailed steps how to access and update these settings
|
|
||||||
for different platforms are provided below.
|
|
||||||
|
|
||||||
##### macOS
|
|
||||||
|
|
||||||
`Robot` is not permitted to control your Mac by default since
|
|
||||||
macOS 10.15. To allow it, choose Apple menu -> System Settings, click
|
|
||||||
Privacy & Security; then click Accessibility and ensure the following apps are
|
|
||||||
allowed to control your computer: *Java* and *Terminal*. If the tests are run
|
|
||||||
from an IDE, the IDE should be granted this permission too.
|
|
||||||
|
|
||||||
##### Windows
|
|
||||||
|
|
||||||
On Windows if Cygwin terminal is used to run the tests, there is a delay in
|
|
||||||
focus transfer. Usually it causes automated UI test failure. To disable the
|
|
||||||
delay, type `regedit` in the Search and then select Registry Editor; navigate
|
|
||||||
to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure
|
|
||||||
the `ForegroundLockTimeout` value is set to 0.
|
|
||||||
|
|
||||||
Additional information about Client UI tests configuration for various operating
|
|
||||||
systems can be obtained at [Automated client GUI testing system set up
|
|
||||||
requirements](https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
# Override some definitions in the global css file that are not optimal for
|
# Override some definitions in the global css file that are not optimal for
|
||||||
# this document.
|
# this document.
|
||||||
|
|||||||
@@ -1,46 +0,0 @@
|
|||||||
# NOTE: This Dockerfile is meant to be used from the mkdocker_aarch64.sh script.
|
|
||||||
|
|
||||||
# Pull a concrete version of Linux that does NOT recieve updates after it's
|
|
||||||
# been created. This is so that the image is as stable as possible to make
|
|
||||||
# image creation reproducible.
|
|
||||||
# NB: this also means there may be no security-related fixes there, need to
|
|
||||||
# move the version to the next manually.
|
|
||||||
|
|
||||||
# jetbrains/runtime:jbr17env_aarch64
|
|
||||||
FROM arm64v8/centos:7
|
|
||||||
|
|
||||||
# Install the necessary build tools
|
|
||||||
RUN yum -y update; \
|
|
||||||
yum -y install centos-release-scl; \
|
|
||||||
yum -y install devtoolset-10-10.1-0.el7; \
|
|
||||||
yum -y install \
|
|
||||||
alsa-lib-devel-1.1.8-1.el7.aarch64 \
|
|
||||||
autoconf-2.69-11.el7.noarch \
|
|
||||||
automake-1.13.4-3.el7.noarch \
|
|
||||||
bzip2-1.0.6-13.el7.aarch64 \
|
|
||||||
cups-devel-1.6.3-51.el7.aarch64 \
|
|
||||||
file-5.11-37.el7.aarch64 \
|
|
||||||
fontconfig-devel-2.13.0-4.3.el7.aarch64 \
|
|
||||||
freetype-devel-2.8-14.el7_9.1.aarch64 \
|
|
||||||
giflib-devel-4.1.6-9.el7.aarch64 \
|
|
||||||
git-1.8.3.1-24.el7_9.aarch64 \
|
|
||||||
libtool-2.4.2-22.el7_3.aarch64 \
|
|
||||||
libXi-devel-1.7.9-1.el7.aarch64 \
|
|
||||||
libXrandr-devel-1.5.1-2.el7.aarch64 \
|
|
||||||
libXrender-devel-0.9.10-1.el7.aarch64 \
|
|
||||||
libXt-devel-1.1.5-3.el7.aarch64 \
|
|
||||||
libXtst-devel-1.2.3-1.el7.aarch64 \
|
|
||||||
make-3.82-24.el7.aarch64 \
|
|
||||||
rsync-3.1.2-12.el7_9.aarch64 \
|
|
||||||
tar-1.26-35.el7.aarch64 \
|
|
||||||
unzip-6.0-24.el7_9.aarch64 \
|
|
||||||
wayland-devel-1.15.0-1.el7 \
|
|
||||||
zip-3.0-11.el7.aarch64; \
|
|
||||||
yum -y clean all
|
|
||||||
|
|
||||||
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin:${PATH}"
|
|
||||||
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
|
|
||||||
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"
|
|
||||||
|
|
||||||
RUN git config --global user.email "teamcity@jetbrains.com" && \
|
|
||||||
git config --global user.name "builduser"
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_aarch64.sh script.
|
|
||||||
|
|
||||||
# Pull a concrete version of Linux that does NOT recieve updates after it's
|
|
||||||
# been created. This is so that the image is as stable as possible to make
|
|
||||||
# image creation reproducible.
|
|
||||||
# NB: this also means there may be no security-related fixes there, need to
|
|
||||||
# move the version to the next manually.
|
|
||||||
FROM arm64v8/alpine:3.12
|
|
||||||
|
|
||||||
# Install the necessary build tools
|
|
||||||
RUN apk --no-cache add --update bash grep tar zip bzip2 rsync fontconfig build-base \
|
|
||||||
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
|
|
||||||
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
|
|
||||||
fontconfig fontconfig-dev linux-headers
|
|
||||||
|
|
||||||
# Set up boot JDK for building
|
|
||||||
COPY boot_jdk_musl_aarch64.tar.gz /jdk17/
|
|
||||||
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_aarch64.tar.gz && rm /jdk17/boot_jdk_musl_aarch64.tar.gz
|
|
||||||
ENV BOOT_JDK=/jdk17
|
|
||||||
|
|
||||||
RUN git config --global user.email "teamcity@jetbrains.com" && \
|
|
||||||
git config --global user.name "builduser"
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_x64.sh script.
|
|
||||||
|
|
||||||
# Pull a concrete version of Linux that does NOT recieve updates after it's
|
|
||||||
# been created. This is so that the image is as stable as possible to make
|
|
||||||
# image creation reproducible.
|
|
||||||
# NB: this also means there may be no security-related fixes there, need to
|
|
||||||
# move the version to the next manually.
|
|
||||||
FROM alpine:3.14
|
|
||||||
|
|
||||||
# Install the necessary build tools
|
|
||||||
RUN apk --no-cache add --update bash grep tar zip bzip2 rsync fontconfig build-base \
|
|
||||||
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
|
|
||||||
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
|
|
||||||
fontconfig fontconfig-dev linux-headers
|
|
||||||
|
|
||||||
# Set up boot JDK for building
|
|
||||||
COPY boot_jdk_musl_amd64.tar.gz /jdk17/
|
|
||||||
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_amd64.tar.gz && rm /jdk17/boot_jdk_musl_amd64.tar.gz
|
|
||||||
ENV BOOT_JDK=/jdk17
|
|
||||||
|
|
||||||
RUN git config --global user.email "teamcity@jetbrains.com" && \
|
|
||||||
git config --global user.name "builduser"
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
# NOTE: This Dockerfile is meant to be used from the mkdocker_x86.sh script.
|
|
||||||
|
|
||||||
# Pull a concrete version of Linux that does NOT receive updates after it's
|
|
||||||
# been created. This is so that the image is as stable as possible to make
|
|
||||||
# image creation reproducible.
|
|
||||||
# NB: this also means there may be no security-related fixes there, need to
|
|
||||||
# move the version to the next manually.
|
|
||||||
#FROM i386/ubuntu:xenial
|
|
||||||
#FROM i386/ubuntu:bionic
|
|
||||||
FROM i386/ubuntu:focal
|
|
||||||
|
|
||||||
RUN linux32 \
|
|
||||||
apt-get update && apt-get install -y --no-install-recommends apt-utils
|
|
||||||
RUN export DEBIAN_FRONTEND=noninteractive \
|
|
||||||
export DEBCONF_NONINTERACTIVE_SEEN=true && \
|
|
||||||
echo 'tzdata tzdata/Areas select Etc' | debconf-set-selections; \
|
|
||||||
echo 'tzdata tzdata/Zones/Etc select UTC' | debconf-set-selections; \
|
|
||||||
linux32 \
|
|
||||||
apt-get -y install \
|
|
||||||
autoconf \
|
|
||||||
build-essential \
|
|
||||||
curl \
|
|
||||||
file \
|
|
||||||
git \
|
|
||||||
libx11-dev \
|
|
||||||
libxext-dev \
|
|
||||||
libxrender-dev \
|
|
||||||
libxrandr-dev \
|
|
||||||
libxtst-dev \
|
|
||||||
libxt-dev \
|
|
||||||
libcups2-dev \
|
|
||||||
libasound2-data \
|
|
||||||
# libpng12-0 \
|
|
||||||
libasound2 \
|
|
||||||
libfreetype6 \
|
|
||||||
libfontconfig1-dev \
|
|
||||||
libasound2-dev \
|
|
||||||
rsync \
|
|
||||||
unzip \
|
|
||||||
zip
|
|
||||||
RUN linux32 \
|
|
||||||
apt-get -y install \
|
|
||||||
g++-10 \
|
|
||||||
gcc-10 && \
|
|
||||||
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 && \
|
|
||||||
apt-get clean -qy && \
|
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
||||||
|
|
||||||
# Set up boot JDK for building
|
|
||||||
COPY boot_jdk_x86.tar.gz /jdk17/
|
|
||||||
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_x86.tar.gz && rm /jdk17/boot_jdk_x86.tar.gz
|
|
||||||
ENV BOOT_JDK=/jdk17
|
|
||||||
|
|
||||||
RUN git config --global user.email "teamcity@jetbrains.com" && \
|
|
||||||
git config --global user.name "builduser"
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
# jetbrains/runtime:jbr17env_x86_64
|
|
||||||
FROM centos:7
|
|
||||||
RUN yum -y install centos-release-scl; \
|
|
||||||
yum -y install devtoolset-10-10.1-0.el7; \
|
|
||||||
yum -y install \
|
|
||||||
alsa-lib-devel-1.1.8-1.el7 \
|
|
||||||
autoconf-2.69-11.el7 \
|
|
||||||
automake-1.13.4-3.el7 \
|
|
||||||
bzip2-1.0.6-13.el7 \
|
|
||||||
cups-devel-1.6.3-51.el7 \
|
|
||||||
file-5.11-37.el7 \
|
|
||||||
fontconfig-devel-2.13.0-4.3.el7 \
|
|
||||||
freetype-devel-2.8-14.el7_9.1 \
|
|
||||||
giflib-devel-4.1.6-9.el7 \
|
|
||||||
git-1.8.3.1-24.el7_9 \
|
|
||||||
libtool-2.4.2-22.el7_3 \
|
|
||||||
libXi-devel-1.7.9-1.el7 \
|
|
||||||
libXrandr-devel-1.5.1-2.el7 \
|
|
||||||
libXrender-devel-0.9.10-1.el7 \
|
|
||||||
libXt-devel-1.1.5-3.el7 \
|
|
||||||
libXtst-devel-1.2.3-1.el7 \
|
|
||||||
make-3.82-24.el7 \
|
|
||||||
tar-1.26-35.el7 \
|
|
||||||
unzip-6.0-24.el7_9 \
|
|
||||||
wayland-devel-1.15.0-1.el7 \
|
|
||||||
wget-1.14-18.el7_6.1 \
|
|
||||||
which-2.20-7.el7 \
|
|
||||||
zip-3.0-11.el7
|
|
||||||
|
|
||||||
RUN mkdir .git && \
|
|
||||||
git config user.email "teamcity@jetbrains.com" && \
|
|
||||||
git config user.name "builduser"
|
|
||||||
|
|
||||||
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
|
|
||||||
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin::${PATH}"
|
|
||||||
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# This script creates a Docker image suitable for building AArch64 variant
|
|
||||||
# of the JetBrains Runtime version 17.
|
|
||||||
|
|
||||||
BOOT_JDK_REMOTE_FILE=zulu17.30.15-ca-jdk17.0.1-linux_aarch64.tar.gz
|
|
||||||
BOOT_JDK_SHA=4d9c9116eb0cdd2d7fb220d6d27059f4bf1b7e95cc93d5512bd8ce3791af86c7
|
|
||||||
BOOT_JDK_LOCAL_FILE=boot_jdk.tar.gz
|
|
||||||
|
|
||||||
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
|
|
||||||
# Obtain "boot JDK" from outside of the container.
|
|
||||||
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
|
|
||||||
else
|
|
||||||
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Verify that what we've downloaded can be trusted.
|
|
||||||
sha256sum -c - <<EOF
|
|
||||||
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
|
|
||||||
EOF
|
|
||||||
|
|
||||||
docker build -t jbr17buildenv -f Dockerfile.aarch64 .
|
|
||||||
|
|
||||||
# NB: the resulting container can (and should) be used without the network
|
|
||||||
# connection (--network none) during build in order to reduce the chance
|
|
||||||
# of build contamination.
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# This script creates a Docker image suitable for building musl AArch64 variant
|
|
||||||
# of the JetBrains Runtime version 17.
|
|
||||||
|
|
||||||
BOOT_JDK_REMOTE_FILE=zulu17.32.13-ca-jdk17.0.2-linux_musl_aarch64.tar.gz
|
|
||||||
BOOT_JDK_SHA=6b920559abafbe9bdef386a20ecf3a2f318bc1f0d8359eb1f95aee26606bbc70
|
|
||||||
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_aarch64.tar.gz
|
|
||||||
|
|
||||||
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
|
|
||||||
# Obtain "boot JDK" from outside of the container.
|
|
||||||
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
|
|
||||||
else
|
|
||||||
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Verify that what we've downloaded can be trusted.
|
|
||||||
sha256sum -c - <<EOF
|
|
||||||
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
|
|
||||||
EOF
|
|
||||||
|
|
||||||
docker build -t jbr17buildenv -f Dockerfile.musl_aarch64 .
|
|
||||||
|
|
||||||
# NB: the resulting container can (and should) be used without the network
|
|
||||||
# connection (--network none) during build in order to reduce the chance
|
|
||||||
# of build contamination.
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# This script creates a Docker image suitable for building musl-x64 variant
|
|
||||||
# of the JetBrains Runtime version 17.
|
|
||||||
|
|
||||||
BOOT_JDK_REMOTE_FILE=zulu17.32.13-ca-jdk17.0.2-linux_musl_x64.tar.gz
|
|
||||||
BOOT_JDK_SHA=bcc5342011bd9f3643372aadbdfa68d47463ff0d8621668a0bdf2910614d95c6
|
|
||||||
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_amd64.tar.gz
|
|
||||||
|
|
||||||
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
|
|
||||||
# Obtain "boot JDK" from outside of the container.
|
|
||||||
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
|
|
||||||
else
|
|
||||||
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Verify that what we've downloaded can be trusted.
|
|
||||||
sha256sum -c - <<EOF
|
|
||||||
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
|
|
||||||
EOF
|
|
||||||
|
|
||||||
docker build -t jbr17buildenv -f Dockerfile.musl_x64 .
|
|
||||||
|
|
||||||
# NB: the resulting container can (and should) be used without the network
|
|
||||||
# connection (--network none) during build in order to reduce the chance
|
|
||||||
# of build contamination.
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
#!/bin/bash -x
|
|
||||||
|
|
||||||
# This script creates a Docker image suitable for building x86 variant
|
|
||||||
# of the JetBrains Runtime version 17.
|
|
||||||
|
|
||||||
BOOT_JDK_REMOTE_FILE=zulu17.34.19-ca-jdk17.0.3-linux_i686.tar.gz
|
|
||||||
BOOT_JDK_SHA=1c35c374ba0001e675d6e80819d5be900c4e141636d5e484992a8c550be14481
|
|
||||||
BOOT_JDK_LOCAL_FILE=boot_jdk_x86.tar.gz
|
|
||||||
|
|
||||||
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
|
|
||||||
# Obtain "boot JDK" from outside of the container.
|
|
||||||
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
|
|
||||||
else
|
|
||||||
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Verify that what we've downloaded can be trusted.
|
|
||||||
sha256sum -c - <<EOF
|
|
||||||
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
|
|
||||||
EOF
|
|
||||||
|
|
||||||
docker build -t jetbrains/runtime:jbr17env_x86 -f Dockerfile.x86 .
|
|
||||||
|
|
||||||
# NB: the resulting container can (and should) be used without the network
|
|
||||||
# connection (--network none) during build in order to reduce the chance
|
|
||||||
# of build contamination.
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
JetBrainsRuntime
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="IssueNavigationConfiguration">
|
|
||||||
<option name="links">
|
|
||||||
<list>
|
|
||||||
<IssueNavigationLink>
|
|
||||||
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
|
|
||||||
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
|
|
||||||
</IssueNavigationLink>
|
|
||||||
<IssueNavigationLink>
|
|
||||||
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
|
|
||||||
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
|
|
||||||
</IssueNavigationLink>
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="JAVA_MODULE" version="4">
|
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
||||||
<exclude-output />
|
|
||||||
<content url="file://$MODULE_DIR$/src/jetbrains.api">
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/jetbrains.api/src" isTestSource="false" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/jetbrains.api/templates" isTestSource="false" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/jdk.iml" filepath="$PROJECT_DIR$/.idea/jdk.iml" />
|
|
||||||
###MODULE_IMLS###
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/jetbrains.api.iml" filepath="$PROJECT_DIR$/.idea/jetbrains.api.iml" />
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/test.iml" filepath="$PROJECT_DIR$/.idea/test.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="IssueNavigationConfiguration">
|
|
||||||
<option name="links">
|
|
||||||
<list>
|
|
||||||
<IssueNavigationLink>
|
|
||||||
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
|
|
||||||
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
|
|
||||||
</IssueNavigationLink>
|
|
||||||
<IssueNavigationLink>
|
|
||||||
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
|
|
||||||
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
|
|
||||||
</IssueNavigationLink>
|
|
||||||
</list>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -1,135 +0,0 @@
|
|||||||
apply plugin: 'java'
|
|
||||||
import org.gradle.internal.os.OperatingSystem
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
def test_jvm = {
|
|
||||||
if (project.hasProperty('jbsdkhome')) {
|
|
||||||
file(jbsdkhome + (OperatingSystem.current().isWindows()?"/bin/java.exe" : "/bin/java")).absolutePath
|
|
||||||
} else {
|
|
||||||
if (OperatingSystem.current().isMacOsX()) {
|
|
||||||
file('../../../build/macosx-x86_64-normal-server-release/images/jdk-bundle/jdk-11.0.4.jdk/Contents/Home/bin/java').absolutePath
|
|
||||||
} else if (OperatingSystem.current().isLinux()) {
|
|
||||||
file('../../../build/linux-x86_64-normal-server-release/images/jdk/bin/java').absolutePath
|
|
||||||
} else {
|
|
||||||
file('../../../build/windows-x86_64-normal-server-release/images/jdk/bin/java.exe').absolutePath
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
testCompile('junit:junit:4.12'){
|
|
||||||
exclude group: 'org.hamcrest'
|
|
||||||
}
|
|
||||||
testCompile 'org.hamcrest:hamcrest-library:1.3'
|
|
||||||
testCompile 'net.java.dev.jna:jna:4.4.0'
|
|
||||||
testCompile 'com.twelvemonkeys.imageio:imageio-tiff:3.3.2'
|
|
||||||
testCompile 'org.apache.commons:commons-lang3:3.0'
|
|
||||||
}
|
|
||||||
|
|
||||||
def jdk_modules = ["java.base", "java.logging", "java.prefs",
|
|
||||||
"java.se.ee", "java.sql", "java.datatransfer",
|
|
||||||
"java.management", "java.rmi", "java.security.jgss",
|
|
||||||
"java.sql.rowset", "java.desktop", "java.management.rmi",
|
|
||||||
"java.scripting", "java.security.sasl", "java.transaction",
|
|
||||||
"java.instrument", "java.naming", "java.se",
|
|
||||||
"java.smartcardio", "java.xml.crypto"]
|
|
||||||
|
|
||||||
def jdk_class_dirs = []
|
|
||||||
|
|
||||||
jdk_modules.collect(jdk_class_dirs) {
|
|
||||||
new File("../../../src/" + it + "/share/classes")
|
|
||||||
}
|
|
||||||
|
|
||||||
if (OperatingSystem.current().isMacOsX())
|
|
||||||
jdk_modules.collect(jdk_class_dirs) {
|
|
||||||
"../../../src/" + it + "/macosx/classes"
|
|
||||||
}
|
|
||||||
else if (OperatingSystem.current().isLinux()) {
|
|
||||||
jdk_modules.collect(jdk_class_dirs) {
|
|
||||||
"../../../src/" + it + "/solaris/classes"
|
|
||||||
}
|
|
||||||
jdk_modules.collect(jdk_class_dirs) {
|
|
||||||
"../../../src/" + it + "/unix/classes"
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
jdk_modules.collect(jdk_class_dirs) {
|
|
||||||
"../../../src/" + it + "/windows/classes"
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets.main.java.srcDirs = jdk_class_dirs
|
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
test {
|
|
||||||
java {
|
|
||||||
srcDir "../../../test/jdk/jbu"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
test.dependsOn.clear()
|
|
||||||
|
|
||||||
test.dependsOn tasks.compileTestJava
|
|
||||||
|
|
||||||
test {
|
|
||||||
systemProperty "jb.java2d.metal", "true"
|
|
||||||
systemProperty "testdata", file('../../../test/jdk/jbu/testdata').absolutePath
|
|
||||||
|
|
||||||
// Generate golden images for DroidFontTest and MixedTextTest
|
|
||||||
// systemProperty "gentestdata", ""
|
|
||||||
|
|
||||||
// Enable Java2D logging (https://confluence.jetbrains.com/display/JRE/Java2D+Rendering+Logging)
|
|
||||||
// systemProperty "sun.java2d.trace", "log"
|
|
||||||
// systemProperty "sun.java2d.trace", "log,pimpl"
|
|
||||||
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
executable = test_jvm()
|
|
||||||
|
|
||||||
// Enable async/dtrace profiler
|
|
||||||
jvmArgs "-XX:+PreserveFramePointer"
|
|
||||||
// Enable native J2D logging (only in debug build)
|
|
||||||
// Can be turned on for J2D by adding "#define DEBUG 1" into jdk/src/share/native/sun/java2d/Trace.h
|
|
||||||
|
|
||||||
// environment 'J2D_TRACE_LEVEL', '4'
|
|
||||||
}
|
|
||||||
|
|
||||||
def buildDir = project.buildscript.sourceFile.parentFile.parentFile.parentFile.parentFile
|
|
||||||
|
|
||||||
def make_cmd = "make"
|
|
||||||
if (OperatingSystem.current().isWindows()) {
|
|
||||||
def cyg_make_cmd = new File("c:/cygwin64/bin/make.exe")
|
|
||||||
if (cyg_make_cmd.exists()) make_cmd = cyg_make_cmd.absolutePath
|
|
||||||
}
|
|
||||||
def test_run = false
|
|
||||||
task make_images {
|
|
||||||
doLast {
|
|
||||||
if (!test_run) {
|
|
||||||
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "images")
|
|
||||||
def proc = pb.redirectErrorStream(true).start()
|
|
||||||
proc.inputStream.eachLine { println it }
|
|
||||||
assert proc.waitFor() == 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task make_clean {
|
|
||||||
doLast {
|
|
||||||
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "clean")
|
|
||||||
def proc = pb.redirectErrorStream(true).start()
|
|
||||||
proc.inputStream.eachLine { println it }
|
|
||||||
assert proc.waitFor() == 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task run_test {
|
|
||||||
doLast {
|
|
||||||
test_run = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.cleanTest.dependsOn tasks.run_test
|
|
||||||
classes.dependsOn.clear()
|
|
||||||
classes.dependsOn tasks.make_images
|
|
||||||
tasks.cleanClasses.dependsOn tasks.make_clean
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
java.base,
|
|
||||||
java.compiler,
|
|
||||||
java.datatransfer,
|
|
||||||
java.desktop,
|
|
||||||
java.instrument,
|
|
||||||
java.logging,
|
|
||||||
java.management,
|
|
||||||
java.management.rmi,
|
|
||||||
java.naming,
|
|
||||||
java.net.http,
|
|
||||||
java.prefs,
|
|
||||||
java.rmi,
|
|
||||||
java.scripting,
|
|
||||||
java.se,
|
|
||||||
java.security.jgss,
|
|
||||||
java.security.sasl,
|
|
||||||
java.smartcardio,
|
|
||||||
java.sql,
|
|
||||||
java.sql.rowset,
|
|
||||||
java.transaction.xa,
|
|
||||||
java.xml,
|
|
||||||
java.xml.crypto,
|
|
||||||
jdk.accessibility,
|
|
||||||
jdk.attach,
|
|
||||||
jdk.charsets,
|
|
||||||
jdk.compiler,
|
|
||||||
jdk.crypto.cryptoki,
|
|
||||||
jdk.crypto.ec,
|
|
||||||
jdk.dynalink,
|
|
||||||
jdk.httpserver,
|
|
||||||
jdk.internal.ed,
|
|
||||||
jdk.internal.le,
|
|
||||||
jdk.internal.vm.ci,
|
|
||||||
jdk.javadoc,
|
|
||||||
jdk.jdi,
|
|
||||||
jdk.jdwp.agent,
|
|
||||||
jdk.jfr,
|
|
||||||
jdk.jsobject,
|
|
||||||
jdk.localedata,
|
|
||||||
jdk.management,
|
|
||||||
jdk.management.agent,
|
|
||||||
jdk.management.jfr,
|
|
||||||
jdk.naming.dns,
|
|
||||||
jdk.naming.rmi,
|
|
||||||
jdk.net,
|
|
||||||
jdk.sctp,
|
|
||||||
jdk.security.auth,
|
|
||||||
jdk.security.jgss,
|
|
||||||
jdk.unsupported,
|
|
||||||
jdk.unsupported.desktop,
|
|
||||||
jdk.xml.dom,
|
|
||||||
jdk.zipfs,
|
|
||||||
jdk.hotspot.agent,
|
|
||||||
jdk.jcmd
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
# $1 - Boot JDK
|
|
||||||
# $2 - JBR part of API version
|
|
||||||
|
|
||||||
cd "`dirname "$0"`/../../../../.."
|
|
||||||
PWD="`pwd`"
|
|
||||||
CONF="$PWD/build/jbr-api.conf"
|
|
||||||
./configure --with-debug-level=release --with-boot-jdk=$1 || exit $?
|
|
||||||
make jbr-api CONF=release MAKEOVERRIDES= "JBR_API_CONF_FILE=$CONF" JBR_API_JBR_VERSION=$2 || exit $?
|
|
||||||
. $CONF || exit $?
|
|
||||||
echo "##teamcity[buildNumber '$VERSION']"
|
|
||||||
cp "$JAR" ./jbr-api-${VERSION}.jar || exit $?
|
|
||||||
cp "$SOURCES_JAR" ./jbr-api-${VERSION}-sources.jar || exit $?
|
|
||||||
echo "##teamcity[publishArtifacts '$PWD/jbr-api-${VERSION}.jar']"
|
|
||||||
echo "##teamcity[publishArtifacts '$PWD/jbr-api-${VERSION}-sources.jar']"
|
|
||||||
@@ -1,173 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
function check_bundle_type_maketest() {
|
|
||||||
# check whether last char is 't', if so remove it
|
|
||||||
if [ "${bundle_type: -1}" == "t" ]; then
|
|
||||||
bundle_type="${bundle_type%?}"
|
|
||||||
do_maketest=1
|
|
||||||
else
|
|
||||||
do_maketest=0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function getVersionProp() {
|
|
||||||
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
|
|
||||||
}
|
|
||||||
|
|
||||||
while getopts ":i?" o; do
|
|
||||||
case "${o}" in
|
|
||||||
i) INC_BUILD=1 ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift $((OPTIND-1))
|
|
||||||
|
|
||||||
if [[ $# -lt 2 ]]; then
|
|
||||||
echo "Required at least two arguments: build_number bundle_type"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
build_number=$1
|
|
||||||
bundle_type=$2
|
|
||||||
# shellcheck disable=SC2034
|
|
||||||
architecture=${3:-x64} # aarch64 or x64
|
|
||||||
|
|
||||||
check_bundle_type_maketest
|
|
||||||
|
|
||||||
tag_prefix="jbr-"
|
|
||||||
OPENJDK_TAG=$(git log --simplify-by-decoration --decorate=short --pretty=short | grep "$tag_prefix" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -g | tail -n 1 | tr -d ",")
|
|
||||||
VERSION_FEATURE=$(getVersionProp "DEFAULT_VERSION_FEATURE")
|
|
||||||
VERSION_INTERIM=$(getVersionProp "DEFAULT_VERSION_INTERIM")
|
|
||||||
VERSION_UPDATE=$(getVersionProp "DEFAULT_VERSION_UPDATE")
|
|
||||||
VERSION_PATCH=$(getVersionProp "DEFAULT_VERSION_PATCH")
|
|
||||||
[[ $VERSION_UPDATE = 0 ]] && JBSDK_VERSION="$VERSION_FEATURE" || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}"
|
|
||||||
[[ $VERSION_PATCH = 0 ]] || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}.${VERSION_PATCH}"
|
|
||||||
echo "##teamcity[setParameter name='env.JBSDK_VERSION' value='${JBSDK_VERSION}']"
|
|
||||||
JDK_BUILD_NUMBER=${JDK_BUILD_NUMBER:=$(echo $OPENJDK_TAG | awk -F "-|[+]" '{print $3}')}
|
|
||||||
[ -z $JDK_BUILD_NUMBER ] && JDK_BUILD_NUMBER=1
|
|
||||||
echo "##teamcity[setParameter name='env.JDK_UPDATE_NUMBER' value='${JDK_BUILD_NUMBER}']"
|
|
||||||
|
|
||||||
VENDOR_NAME="JetBrains s.r.o."
|
|
||||||
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION}+${JDK_BUILD_NUMBER}-${build_number}"
|
|
||||||
[ -z "$bundle_type" ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"
|
|
||||||
|
|
||||||
do_reset_changes=0
|
|
||||||
do_reset_dcevm=0
|
|
||||||
HEAD_REVISION=0
|
|
||||||
|
|
||||||
STATIC_CONF_ARGS=""
|
|
||||||
common_conf_props_file="jb/project/tools/common/static_conf_args.txt"
|
|
||||||
if [[ -f "$common_conf_props_file" ]]; then
|
|
||||||
STATIC_CONF_ARGS=$(<$common_conf_props_file)
|
|
||||||
fi
|
|
||||||
OS_NAME=$(uname -s)
|
|
||||||
# Enable reproducible builds
|
|
||||||
TZ=UTC
|
|
||||||
export TZ
|
|
||||||
SOURCE_DATE_EPOCH="$(git log -1 --pretty=%ct)"
|
|
||||||
export SOURCE_DATE_EPOCH
|
|
||||||
USER=builduser
|
|
||||||
export USER
|
|
||||||
|
|
||||||
case "$OS_NAME" in
|
|
||||||
Linux)
|
|
||||||
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
|
|
||||||
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
|
|
||||||
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
|
|
||||||
;;
|
|
||||||
CYGWIN*)
|
|
||||||
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
|
|
||||||
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
|
|
||||||
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
|
|
||||||
;;
|
|
||||||
Darwin)
|
|
||||||
COPYRIGHT_YEAR="$(date -u -r $SOURCE_DATE_EPOCH +%Y)"
|
|
||||||
BUILD_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%F)"
|
|
||||||
TOUCH_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%Y%m%d%H%M.%S)"
|
|
||||||
REPRODUCIBLE_TAR_OPTS="--uid 0 --gid 0 --numeric-owner"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
|
|
||||||
|
|
||||||
REPRODUCIBLE_BUILD_OPTS="--enable-reproducible-build
|
|
||||||
--with-source-date=$SOURCE_DATE_EPOCH
|
|
||||||
--with-hotspot-build-time=$BUILD_TIME
|
|
||||||
--with-copyright-year=$COPYRIGHT_YEAR
|
|
||||||
--disable-absolute-paths-in-output"
|
|
||||||
|
|
||||||
function zip_native_debug_symbols() {
|
|
||||||
image_bundle_path=$(echo $1 | cut -d"/" -f-4)
|
|
||||||
jdk_name=$(echo $1 | cut -d"/" -f5)
|
|
||||||
jbr_diz_name=$2
|
|
||||||
|
|
||||||
[ -d "dizfiles" ] && rm -rf dizfiles
|
|
||||||
mkdir dizfiles
|
|
||||||
|
|
||||||
rsync_target="../../../../dizfiles"
|
|
||||||
[ -z "$jdk_name" ] && rsync_target=$rsync_target"/"$jbr_diz_name
|
|
||||||
(cd $image_bundle_path && find . -name '*.diz' -exec rsync -R {} $rsync_target \;)
|
|
||||||
[ ! -z "$jdk_name" ] && mv dizfiles/$jdk_name dizfiles/$jbr_diz_name
|
|
||||||
|
|
||||||
(cd dizfiles && find $jbr_diz_name -print0 | COPYFILE_DISABLE=1 \
|
|
||||||
tar --no-recursion --null -T - -czf ../"$jbr_diz_name".tar.gz) || do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function do_exit() {
|
|
||||||
exit_code=$1
|
|
||||||
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
|
|
||||||
if [ $do_reset_dcevm -eq 1 ]; then
|
|
||||||
[ ! -z $HEAD_REVISION ] && git reset --hard $HEAD_REVISION
|
|
||||||
fi
|
|
||||||
exit "$exit_code"
|
|
||||||
}
|
|
||||||
|
|
||||||
function update_jsdk_mods() {
|
|
||||||
__jsdk=$1
|
|
||||||
__jcef_mods=$2
|
|
||||||
__orig_jsdk_mods=$3
|
|
||||||
__updated_jsdk_mods=$4
|
|
||||||
|
|
||||||
# re-create java.desktop.jmod with updated module-info.class
|
|
||||||
tmp=.java.desktop.$$.tmp
|
|
||||||
mkdir "$tmp" || exit $?
|
|
||||||
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.desktop.jmod || exit $?
|
|
||||||
"$__jsdk"/bin/javac \
|
|
||||||
--patch-module java.desktop="$__orig_jsdk_mods"/java.desktop.jmod \
|
|
||||||
--module-path "$__jcef_mods" -d "$tmp"/classes src/java.desktop/share/classes/module-info.java || exit $?
|
|
||||||
"$__jsdk"/bin/jmod \
|
|
||||||
create --class-path "$tmp"/classes --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
|
|
||||||
java.desktop.jmod || exit $?
|
|
||||||
mv java.desktop.jmod "$__updated_jsdk_mods" || exit $?
|
|
||||||
rm -rf "$tmp"
|
|
||||||
|
|
||||||
# re-create java.base.jmod with updated hashes
|
|
||||||
tmp=.java.base.$$.tmp
|
|
||||||
mkdir "$tmp" || exit $?
|
|
||||||
hash_modules=$("$__jsdk"/bin/jmod describe "$__orig_jsdk_mods"/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
|
|
||||||
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.base.jmod || exit $?
|
|
||||||
rm "$__updated_jsdk_mods"/java.base.jmod || exit $? # temp exclude from path
|
|
||||||
"$__jsdk"/bin/jmod \
|
|
||||||
create --module-path "$__updated_jsdk_mods" --hash-modules "$hash_modules" \
|
|
||||||
--class-path "$tmp"/classes --cmds "$tmp"/bin --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
|
|
||||||
java.base.jmod || exit $?
|
|
||||||
mv java.base.jmod "$__updated_jsdk_mods" || exit $?
|
|
||||||
rm -rf "$tmp"
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_mods_list() {
|
|
||||||
__mods=$1
|
|
||||||
echo $(ls $__mods) | sed s/\.jmod/,/g | sed s/,$//g | sed s/' '//g
|
|
||||||
}
|
|
||||||
|
|
||||||
function copy_jmods() {
|
|
||||||
__mods_list=$1
|
|
||||||
__jmods_from=$2
|
|
||||||
__jmods_to=$3
|
|
||||||
|
|
||||||
mkdir -p $__jmods_to
|
|
||||||
|
|
||||||
echo "${__mods_list}," | while read -d, mod; do cp $__jmods_from/$mod.jmod $__jmods_to/; done
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
--with-vendor-vm-bug-url=https://youtrack.jetbrains.com/issues/JBR
|
|
||||||
@@ -1,165 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# jcef - the release bundles with jcef
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
|
|
||||||
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
|
|
||||||
#
|
|
||||||
# Environment variables:
|
|
||||||
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
|
|
||||||
# to configure
|
|
||||||
# By default JDK_BUILD_NUMBER is set zero
|
|
||||||
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
|
|
||||||
# By default JCEF binaries should be located in ./jcef_linux_aarch64
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
JCEF_PATH=${JCEF_PATH:=./jcef_linux_aarch64}
|
|
||||||
|
|
||||||
function do_configure {
|
|
||||||
sh configure \
|
|
||||||
$WITH_DEBUG_LEVEL \
|
|
||||||
--with-vendor-name="$VENDOR_NAME" \
|
|
||||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
|
||||||
--with-jvm-features=shenandoahgc \
|
|
||||||
--with-version-pre= \
|
|
||||||
--with-version-build="$JDK_BUILD_NUMBER" \
|
|
||||||
--with-version-opt=b"$build_number" \
|
|
||||||
--with-boot-jdk="$BOOT_JDK" \
|
|
||||||
--enable-cds=yes \
|
|
||||||
$STATIC_CONF_ARGS \
|
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
|
||||||
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
|
||||||
|| do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function is_musl {
|
|
||||||
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
|
|
||||||
if [ -z $libc ]; then
|
|
||||||
# This is not Musl, return 1 == false
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_image_bundle {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
__modules_path=$3
|
|
||||||
__modules=$4
|
|
||||||
|
|
||||||
libc_type_suffix=''
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
if is_musl; then libc_type_suffix='musl-' ; fi
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix}b${build_number}
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix:-}b${build_number}
|
|
||||||
|
|
||||||
|
|
||||||
echo Running jlink....
|
|
||||||
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
|
|
||||||
$JSDK/bin/jlink \
|
|
||||||
--module-path "$__modules_path" --no-man-pages --compress=2 \
|
|
||||||
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
|
|
||||||
|
|
||||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
|
|
||||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
|
|
||||||
mv release "$IMAGES_DIR"/"$__root_dir"/release
|
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
|
|
||||||
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
|
|
||||||
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# jmod does not preserve file permissions (JDK-8173610)
|
|
||||||
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
|
|
||||||
|
|
||||||
echo Creating "$JBR".tar.gz ...
|
|
||||||
|
|
||||||
(cd "$IMAGES_DIR" &&
|
|
||||||
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
|
|
||||||
tar $REPRODUCIBLE_TAR_OPTS \
|
|
||||||
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
|
|
||||||
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
|
|
||||||
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
|
|
||||||
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
|
|
||||||
gzip "$JBR".tar || do_exit $?
|
|
||||||
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
|
|
||||||
}
|
|
||||||
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
|
||||||
RELEASE_NAME=linux-aarch64-server-release
|
|
||||||
|
|
||||||
case "$bundle_type" in
|
|
||||||
"jcef")
|
|
||||||
do_reset_changes=1
|
|
||||||
do_maketest=1
|
|
||||||
;;
|
|
||||||
"nomod" | "")
|
|
||||||
bundle_type=""
|
|
||||||
;;
|
|
||||||
"fd")
|
|
||||||
do_reset_changes=1
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
|
||||||
RELEASE_NAME=linux-aarch64-server-fastdebug
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -z "${INC_BUILD:-}" ]; then
|
|
||||||
do_configure || do_exit $?
|
|
||||||
make clean CONF=$RELEASE_NAME || do_exit $?
|
|
||||||
fi
|
|
||||||
make images CONF=$RELEASE_NAME || do_exit $?
|
|
||||||
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
JSDK=$IMAGES_DIR/jdk
|
|
||||||
JSDK_MODS_DIR=$IMAGES_DIR/jmods
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
|
|
||||||
echo Fixing permissions
|
|
||||||
chmod -R a+r $JSDK
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
|
|
||||||
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
|
|
||||||
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
|
|
||||||
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
cat $JCEF_PATH/jcef.version >> $JSDK/release
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create runtime image bundle
|
|
||||||
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
|
|
||||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
# create sdk image bundle
|
|
||||||
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
|
|
||||||
fi
|
|
||||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-aarch64-b${build_number}
|
|
||||||
echo Creating "$JBRSDK_TEST" ...
|
|
||||||
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
|
|
||||||
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
|
|
||||||
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
|
||||||
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
|
|
||||||
gzip "$JBRSDK_TEST".tar || do_exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
do_exit 0
|
|
||||||
@@ -1,164 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# jcef - the release bundles with jcef
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
|
|
||||||
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
|
|
||||||
#
|
|
||||||
# Environment variables:
|
|
||||||
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
|
|
||||||
# to configure
|
|
||||||
# By default JDK_BUILD_NUMBER is set zero
|
|
||||||
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
|
|
||||||
# By default JCEF binaries should be located in ./jcef_linux_x64
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
|
|
||||||
|
|
||||||
function do_configure {
|
|
||||||
sh configure \
|
|
||||||
$WITH_DEBUG_LEVEL \
|
|
||||||
--with-vendor-name="$VENDOR_NAME" \
|
|
||||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
|
||||||
--with-jvm-features=shenandoahgc \
|
|
||||||
--with-version-pre= \
|
|
||||||
--with-version-build="$JDK_BUILD_NUMBER" \
|
|
||||||
--with-version-opt=b"$build_number" \
|
|
||||||
--with-boot-jdk="$BOOT_JDK" \
|
|
||||||
--enable-cds=yes \
|
|
||||||
$STATIC_CONF_ARGS \
|
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
|
||||||
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
|
||||||
|| do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function is_musl {
|
|
||||||
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
|
|
||||||
if [ -z $libc ]; then
|
|
||||||
# This is not Musl, return 1 == false
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_image_bundle {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
__modules_path=$3
|
|
||||||
__modules=$4
|
|
||||||
|
|
||||||
libc_type_suffix=''
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
if is_musl; then libc_type_suffix='musl-' ; fi
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix}b${build_number}
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix:-}b${build_number}
|
|
||||||
|
|
||||||
echo Running jlink....
|
|
||||||
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
|
|
||||||
$JSDK/bin/jlink \
|
|
||||||
--module-path "$__modules_path" --no-man-pages --compress=2 \
|
|
||||||
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
|
|
||||||
|
|
||||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
|
|
||||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
|
|
||||||
mv release "$IMAGES_DIR"/"$__root_dir"/release
|
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
|
|
||||||
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
|
|
||||||
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# jmod does not preserve file permissions (JDK-8173610)
|
|
||||||
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
|
|
||||||
|
|
||||||
echo Creating "$JBR".tar.gz ...
|
|
||||||
|
|
||||||
(cd "$IMAGES_DIR" &&
|
|
||||||
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
|
|
||||||
tar $REPRODUCIBLE_TAR_OPTS \
|
|
||||||
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
|
|
||||||
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
|
|
||||||
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
|
|
||||||
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
|
|
||||||
gzip "$JBR".tar || do_exit $?
|
|
||||||
#rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
|
|
||||||
}
|
|
||||||
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
|
||||||
RELEASE_NAME=linux-x86_64-server-release
|
|
||||||
|
|
||||||
case "$bundle_type" in
|
|
||||||
"jcef")
|
|
||||||
do_reset_changes=1
|
|
||||||
do_maketest=1
|
|
||||||
;;
|
|
||||||
"nomod" | "")
|
|
||||||
bundle_type=""
|
|
||||||
;;
|
|
||||||
"fd")
|
|
||||||
do_reset_changes=1
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
|
||||||
RELEASE_NAME=linux-x86_64-server-fastdebug
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -z "${INC_BUILD:-}" ]; then
|
|
||||||
do_configure || do_exit $?
|
|
||||||
make clean CONF=$RELEASE_NAME || do_exit $?
|
|
||||||
fi
|
|
||||||
make images CONF=$RELEASE_NAME || do_exit $?
|
|
||||||
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
JSDK=$IMAGES_DIR/jdk
|
|
||||||
JSDK_MODS_DIR=$IMAGES_DIR/jmods
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
|
|
||||||
echo Fixing permissions
|
|
||||||
chmod -R a+r $JSDK
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
|
|
||||||
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
|
|
||||||
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
|
|
||||||
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
cat $JCEF_PATH/jcef.version >> $JSDK/release
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create runtime image bundle
|
|
||||||
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
|
|
||||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
# create sdk image bundle
|
|
||||||
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
|
|
||||||
fi
|
|
||||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x64-b${build_number}
|
|
||||||
echo Creating "$JBRSDK_TEST" ...
|
|
||||||
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
|
|
||||||
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
|
|
||||||
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
|
||||||
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
|
|
||||||
gzip "$JBRSDK_TEST".tar || do_exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
do_exit 0
|
|
||||||
@@ -1,144 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# jcef - the release bundles with jcef
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
function do_configure {
|
|
||||||
linux32 bash configure \
|
|
||||||
$WITH_DEBUG_LEVEL \
|
|
||||||
--with-vendor-name="$VENDOR_NAME" \
|
|
||||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
|
||||||
--with-jvm-features=shenandoahgc \
|
|
||||||
--with-version-pre= \
|
|
||||||
--with-version-build="$JDK_BUILD_NUMBER" \
|
|
||||||
--with-version-opt=b"$build_number" \
|
|
||||||
--with-boot-jdk="$BOOT_JDK" \
|
|
||||||
$STATIC_CONF_ARGS \
|
|
||||||
--enable-cds=yes \
|
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
|
||||||
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
|
||||||
|| do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function is_musl {
|
|
||||||
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
|
|
||||||
if [ -z $libc ]; then
|
|
||||||
# This is not Musl, return 1 == false
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_image_bundle {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
__modules_path=$3
|
|
||||||
__modules=$4
|
|
||||||
|
|
||||||
libc_type_suffix=''
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
if is_musl; then libc_type_suffix='musl-' ; fi
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix}b${build_number}
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix:-}b${build_number}
|
|
||||||
|
|
||||||
echo Running jlink....
|
|
||||||
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
|
|
||||||
$JSDK/bin/jlink \
|
|
||||||
--module-path "$__modules_path" --no-man-pages --compress=2 \
|
|
||||||
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
|
|
||||||
|
|
||||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
|
|
||||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
|
|
||||||
mv release "$IMAGES_DIR"/"$__root_dir"/release
|
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
|
|
||||||
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
|
|
||||||
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# jmod does not preserve file permissions (JDK-8173610)
|
|
||||||
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
|
|
||||||
|
|
||||||
echo Creating "$JBR".tar.gz ...
|
|
||||||
|
|
||||||
(cd "$IMAGES_DIR" &&
|
|
||||||
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
|
|
||||||
tar $REPRODUCIBLE_TAR_OPTS \
|
|
||||||
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
|
|
||||||
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
|
|
||||||
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
|
|
||||||
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
|
|
||||||
gzip "$JBR".tar || do_exit $?
|
|
||||||
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
|
|
||||||
}
|
|
||||||
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
|
||||||
RELEASE_NAME=linux-x86-server-release
|
|
||||||
|
|
||||||
case "$bundle_type" in
|
|
||||||
"jcef")
|
|
||||||
echo "not implemented" && do_exit 1
|
|
||||||
;;
|
|
||||||
"nomod" | "")
|
|
||||||
bundle_type=""
|
|
||||||
;;
|
|
||||||
"fd")
|
|
||||||
do_reset_changes=1
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
|
||||||
RELEASE_NAME=linux-x86-server-fastdebug
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -z "${INC_BUILD:-}" ]; then
|
|
||||||
do_configure || do_exit $?
|
|
||||||
make clean CONF=$RELEASE_NAME || do_exit $?
|
|
||||||
fi
|
|
||||||
make images CONF=$RELEASE_NAME || do_exit $?
|
|
||||||
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
JSDK=$IMAGES_DIR/jdk
|
|
||||||
JSDK_MODS_DIR=$IMAGES_DIR/jmods
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
|
|
||||||
echo Fixing permissions
|
|
||||||
chmod -R a+r $JSDK
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create runtime image bundle
|
|
||||||
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
|
|
||||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
# create sdk image bundle
|
|
||||||
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
|
|
||||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x86-b${build_number}
|
|
||||||
echo Creating "$JBRSDK_TEST" ...
|
|
||||||
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
|
|
||||||
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
|
|
||||||
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
|
||||||
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
|
|
||||||
gzip "$JBRSDK_TEST".tar || do_exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
do_exit 0
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
|
|
||||||
|
|
||||||
source "$SCRIPT_DIR/jetsign-common.sh" || exit 1
|
|
||||||
|
|
||||||
function isMacOsBinary() {
|
|
||||||
file "$1" | grep -q 'Mach-O'
|
|
||||||
}
|
|
||||||
|
|
||||||
function isSigned() {
|
|
||||||
codesign --verify "$1" >/dev/null 2>&1 && ! grep -q Signature=adhoc < <(codesign --display --verbose "$1" 2>&1)
|
|
||||||
}
|
|
||||||
|
|
||||||
# last argument is a path to be signed
|
|
||||||
pathToBeSigned="$(pwd)/${*: -1}"
|
|
||||||
jetSignArgs=("${@:1:$#-1}")
|
|
||||||
if [[ ! -f "$pathToBeSigned" ]]; then
|
|
||||||
echo "$pathToBeSigned is missing or not a file"
|
|
||||||
exit 1
|
|
||||||
elif isSigned "$pathToBeSigned" && ! isForced "${jetSignArgs[@]}" ; then
|
|
||||||
echo "Already signed: $pathToBeSigned"
|
|
||||||
elif [[ "$JETSIGN_CLIENT" == "null" ]]; then
|
|
||||||
echo "JetSign client is missing, cannot proceed with signing"
|
|
||||||
exit 1
|
|
||||||
elif ! isMacOsBinary "$pathToBeSigned" && [[ "$pathToBeSigned" != *.sit ]] && [[ "$pathToBeSigned" != *.tar.gz ]]; then
|
|
||||||
echo "$pathToBeSigned won't be signed, assumed not to be a macOS executable"
|
|
||||||
else
|
|
||||||
if isMacOsBinary "$pathToBeSigned" && ! isSigned "$pathToBeSigned" ; then
|
|
||||||
echo "Unsigned macOS binary: $pathToBeSigned"
|
|
||||||
fi
|
|
||||||
workDir=$(dirname "$pathToBeSigned")
|
|
||||||
pathSigned="$workDir/signed/${pathToBeSigned##*/}"
|
|
||||||
jetSignExtensions=$(jetSignExtensions "${jetSignArgs[@]}")
|
|
||||||
contentType=$(jetSignContentType "$pathToBeSigned")
|
|
||||||
(
|
|
||||||
cd "$workDir" || exit 1
|
|
||||||
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
|
|
||||||
# SRE-1223 (Codesign removes execute bits in executable files) workaround
|
|
||||||
chmod "$(stat -f %A "$pathToBeSigned")" "$pathSigned"
|
|
||||||
if isMacOsBinary "$pathSigned"; then
|
|
||||||
isSigned "$pathSigned"
|
|
||||||
fi
|
|
||||||
rm "$pathToBeSigned"
|
|
||||||
mv "$pathSigned" "$pathToBeSigned"
|
|
||||||
rm -rf "$workDir/signed"
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>com.apple.security.cs.allow-jit</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.cs.disable-library-validation</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.cs.disable-executable-page-protection</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
function isForced() {
|
|
||||||
for arg in "$@"; do
|
|
||||||
if [[ "$arg" == --force ]]; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
function jetSignExtensions() {
|
|
||||||
args=("$@")
|
|
||||||
((lastElementIndex=${#args[@]}-1))
|
|
||||||
for index in "${!args[@]}"; do
|
|
||||||
arg=${args[$index]}
|
|
||||||
case "$arg" in
|
|
||||||
--sign | -s)
|
|
||||||
echo -n 'mac_codesign_identity='
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
--entitlements)
|
|
||||||
echo -n 'mac_codesign_entitlements='
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
--options=runtime)
|
|
||||||
echo -n 'mac_codesign_options=runtime'
|
|
||||||
;;
|
|
||||||
--force)
|
|
||||||
echo -n 'mac_codesign_force=true'
|
|
||||||
;;
|
|
||||||
--timestamp | --verbose | -v)
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo -n "$arg"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
if [[ $index != "$lastElementIndex" ]]; then
|
|
||||||
echo -n ","
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# See jetbrains.sign.util.FileUtil.contentType
|
|
||||||
function jetSignContentType() {
|
|
||||||
case "${1##*/}" in
|
|
||||||
*.sit)
|
|
||||||
echo -n 'application/x-mac-app-zip'
|
|
||||||
;;
|
|
||||||
*.tar.gz)
|
|
||||||
echo -n 'application/x-mac-app-targz'
|
|
||||||
;;
|
|
||||||
*.pkg)
|
|
||||||
echo -n 'application/x-mac-pkg'
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo -n 'application/x-mac-app-bin'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,191 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# jcef - the release bundles with jcef
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
|
|
||||||
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
|
|
||||||
#
|
|
||||||
# Environment variables:
|
|
||||||
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
|
|
||||||
# to configure
|
|
||||||
# By default JDK_BUILD_NUMBER is set zero
|
|
||||||
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
|
|
||||||
# By default JCEF binaries should be located in ./jcef_mac
|
|
||||||
# MACOSX_VERSION_MAX - specifies value for the --with-macosx-version-max parameter. By default it is 10.12.00 for x64
|
|
||||||
# and 11.00.00 for aarch64
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
|
|
||||||
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
|
|
||||||
|
|
||||||
function do_configure {
|
|
||||||
if [[ "${architecture}" == *aarch64* ]]; then
|
|
||||||
|
|
||||||
sh configure \
|
|
||||||
$WITH_DEBUG_LEVEL \
|
|
||||||
--with-vendor-name="${VENDOR_NAME}" \
|
|
||||||
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
|
|
||||||
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
|
|
||||||
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
|
|
||||||
--with-jvm-features=shenandoahgc \
|
|
||||||
--with-version-pre= \
|
|
||||||
--with-version-build="${JDK_BUILD_NUMBER}" \
|
|
||||||
--with-version-opt=b"${build_number}" \
|
|
||||||
--with-boot-jdk="$BOOT_JDK" \
|
|
||||||
--with-macosx-version-max="${MACOSX_VERSION_MAX:="11.00.00"}" \
|
|
||||||
--disable-hotspot-gtest --disable-javac-server --disable-full-docs --disable-manpages \
|
|
||||||
--enable-cds=no \
|
|
||||||
$STATIC_CONF_ARGS \
|
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
|
||||||
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
|
||||||
|| do_exit $?
|
|
||||||
else
|
|
||||||
sh configure \
|
|
||||||
$WITH_DEBUG_LEVEL \
|
|
||||||
--with-vendor-name="$VENDOR_NAME" \
|
|
||||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
|
||||||
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
|
|
||||||
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
|
|
||||||
--with-jvm-features=shenandoahgc \
|
|
||||||
--with-version-pre= \
|
|
||||||
--with-version-build="$JDK_BUILD_NUMBER" \
|
|
||||||
--with-version-opt=b"$build_number" \
|
|
||||||
--with-boot-jdk="$BOOT_JDK" \
|
|
||||||
--with-macosx-version-max="${MACOSX_VERSION_MAX:="10.12.00"}" \
|
|
||||||
--enable-cds=yes \
|
|
||||||
$STATIC_CONF_ARGS \
|
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
|
||||||
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
|
||||||
|| do_exit $?
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_image_bundle {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
__modules_path=$3
|
|
||||||
__modules=$4
|
|
||||||
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
tmp=.bundle.$$.tmp
|
|
||||||
mkdir "$tmp" || do_exit $?
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
|
|
||||||
|
|
||||||
JRE_CONTENTS=$tmp/$__root_dir/Contents
|
|
||||||
mkdir -p "$JRE_CONTENTS" || do_exit $?
|
|
||||||
|
|
||||||
echo Running jlink...
|
|
||||||
"$JSDK"/bin/jlink \
|
|
||||||
--module-path "$__modules_path" --no-man-pages --compress=2 \
|
|
||||||
--add-modules "$__modules" --output "$JRE_CONTENTS/Home" || do_exit $?
|
|
||||||
|
|
||||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$JRE_CONTENTS/Home/release"
|
|
||||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
sed 's/JBR/JBRSDK/g' $JRE_CONTENTS/Home/release > release
|
|
||||||
mv release $JRE_CONTENTS/Home/release
|
|
||||||
cp $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home/lib/src.zip $JRE_CONTENTS/Home/lib
|
|
||||||
copy_jmods "$__modules" "$__modules_path" "$JRE_CONTENTS"/Home/jmods
|
|
||||||
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ]; then
|
|
||||||
cat $JCEF_PATH/jcef.version >> "$JRE_CONTENTS/Home/release"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -R "$JSDK"/../MacOS "$JRE_CONTENTS"
|
|
||||||
cp "$JSDK"/../Info.plist "$JRE_CONTENTS"
|
|
||||||
|
|
||||||
[ -n "$bundle_type" ] && (cp -a $JCEF_PATH/Frameworks "$JRE_CONTENTS" || do_exit $?)
|
|
||||||
|
|
||||||
echo Creating "$JBR".tar.gz ...
|
|
||||||
# Normalize timestamp
|
|
||||||
find "$tmp"/"$__root_dir" -print0 | xargs -0 touch -c -h -t "$TOUCH_TIME"
|
|
||||||
|
|
||||||
(cd "$tmp" &&
|
|
||||||
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
|
|
||||||
COPYFILE_DISABLE=1 tar $REPRODUCIBLE_TAR_OPTS --no-recursion --null -T - \
|
|
||||||
-czf "$JBR".tar.gz --exclude='*.dSYM' --exclude='man') || do_exit $?
|
|
||||||
mv "$tmp"/"$JBR".tar.gz "$JBR".tar.gz
|
|
||||||
rm -rf "$tmp"
|
|
||||||
}
|
|
||||||
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
|
||||||
CONF_ARCHITECTURE=x86_64
|
|
||||||
if [[ "${architecture}" == *aarch64* ]]; then
|
|
||||||
CONF_ARCHITECTURE=aarch64
|
|
||||||
fi
|
|
||||||
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-release
|
|
||||||
|
|
||||||
case "$bundle_type" in
|
|
||||||
"jcef")
|
|
||||||
do_reset_changes=1
|
|
||||||
do_maketest=1
|
|
||||||
;;
|
|
||||||
"nomod" | "")
|
|
||||||
bundle_type=""
|
|
||||||
;;
|
|
||||||
"fd")
|
|
||||||
do_reset_changes=1
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
|
||||||
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-fastdebug
|
|
||||||
JBSDK=macosx-${architecture}-server-release
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -z "${INC_BUILD:-}" ]; then
|
|
||||||
do_configure || do_exit $?
|
|
||||||
make clean CONF=$RELEASE_NAME || do_exit $?
|
|
||||||
fi
|
|
||||||
make images CONF=$RELEASE_NAME || do_exit $?
|
|
||||||
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
|
|
||||||
JSDK=$IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home
|
|
||||||
JSDK_MODS_DIR=$IMAGES_DIR/jmods
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
|
|
||||||
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
|
|
||||||
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
|
|
||||||
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create runtime image bundle
|
|
||||||
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
|
|
||||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
# create sdk image bundle
|
|
||||||
modules=$(cat "$JSDK"/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
|
|
||||||
fi
|
|
||||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
|
|
||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
|
|
||||||
echo Creating "$JBRSDK_TEST" ...
|
|
||||||
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
|
|
||||||
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
|
|
||||||
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
|
|
||||||
COPYFILE_DISABLE=1 tar -pczf "$JBRSDK_TEST".tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
do_exit 0
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
#immediately exit script with an error if a command fails
|
|
||||||
set -euo pipefail
|
|
||||||
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
|
|
||||||
|
|
||||||
APP_PATH=$1
|
|
||||||
|
|
||||||
if [[ -z "$APP_PATH" ]]; then
|
|
||||||
echo "Usage: $0 AppPath"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ ! -f "$APP_PATH" ]]; then
|
|
||||||
echo "AppName '$APP_PATH' does not exist or not a file"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
function log() {
|
|
||||||
echo "$(date '+[%H:%M:%S]') $*"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# check required parameters
|
|
||||||
: "${APPLE_ISSUER_ID}"
|
|
||||||
: "${APPLE_KEY_ID}"
|
|
||||||
: "${APPLE_PRIVATE_KEY}"
|
|
||||||
|
|
||||||
# shellcheck disable=SC2064
|
|
||||||
trap "rm -f \"$PWD/tmp_key\"" INT EXIT RETURN
|
|
||||||
echo -n "${APPLE_PRIVATE_KEY}" > tmp_key
|
|
||||||
|
|
||||||
log "Notarizing $APP_PATH..."
|
|
||||||
xcrun notarytool submit --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" "$APP_PATH" 2>&1 | tee "notarytool.submit.out"
|
|
||||||
REQUEST_ID="$(grep -e " id: " "notarytool.submit.out" | grep -oE '([0-9a-f-]{36})'| head -n1)"
|
|
||||||
|
|
||||||
xcrun notarytool wait "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" --timeout 6h ||:
|
|
||||||
xcrun notarytool log "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" developer_log.json ||:
|
|
||||||
xcrun notarytool info "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}"
|
|
||||||
|
|
||||||
log "Notarizing finished"
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
|
|
||||||
|
|
||||||
source "$SCRIPT_DIR/jetsign-common.sh" || exit 1
|
|
||||||
|
|
||||||
function isSigned() {
|
|
||||||
pkgutil --check-signature "$1" >/dev/null 2>&1 && grep -q "signed by a developer certificate" < <(pkgutil --check-signature "$1" 2>&1)
|
|
||||||
}
|
|
||||||
|
|
||||||
# second last argument is a path to be signed
|
|
||||||
pathToBeSigned="$(pwd)/${*:(-2):1}"
|
|
||||||
# last argument is a path to signed file
|
|
||||||
pathOut="$(pwd)/${*:(-1)}"
|
|
||||||
jetSignArgs=("${@:1:$#-2}")
|
|
||||||
if [[ ! -f "$pathToBeSigned" ]]; then
|
|
||||||
echo "$pathToBeSigned is missing or not a file"
|
|
||||||
exit 1
|
|
||||||
elif isSigned "$pathToBeSigned" && ! isForced "${jetSignArgs[@]}" ; then
|
|
||||||
echo "Already signed: $pathToBeSigned"
|
|
||||||
elif [[ "$JETSIGN_CLIENT" == "null" ]]; then
|
|
||||||
echo "JetSign client is missing, cannot proceed with signing"
|
|
||||||
exit 1
|
|
||||||
elif [[ "$pathToBeSigned" != *.pkg ]]; then
|
|
||||||
echo "$pathToBeSigned won't be signed, assumed not to be a macOS package"
|
|
||||||
else
|
|
||||||
if ! isSigned "$pathToBeSigned" ; then
|
|
||||||
echo "Unsigned macOS package: $pathToBeSigned"
|
|
||||||
fi
|
|
||||||
workDir=$(dirname "$pathToBeSigned")
|
|
||||||
pathSigned="$workDir/signed/${pathToBeSigned##*/}"
|
|
||||||
jetSignExtensions=$(jetSignExtensions "${jetSignArgs[@]}")
|
|
||||||
contentType=$(jetSignContentType "$pathToBeSigned")
|
|
||||||
(
|
|
||||||
cd "$workDir" || exit 1
|
|
||||||
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
|
|
||||||
isSigned "$pathSigned"
|
|
||||||
rm -f "$pathOut"
|
|
||||||
mv "$pathSigned" "$pathOut"
|
|
||||||
rm -rf "$workDir/signed"
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
#immediately exit script with an error if a command fails
|
|
||||||
set -euo pipefail
|
|
||||||
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
|
|
||||||
|
|
||||||
if [[ $# -lt 5 ]]; then
|
|
||||||
echo "Usage: $0 AppDirectory AppName BundleId CertificateID InstallerCertificateID"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
APPLICATION_PATH=$1
|
|
||||||
PKG_NAME=$2
|
|
||||||
BUNDLE_ID=$3
|
|
||||||
JB_DEVELOPER_CERT=$4
|
|
||||||
JB_INSTALLER_CERT=$5
|
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
|
|
||||||
|
|
||||||
# Use JetBrains sign utility if it's available
|
|
||||||
if [[ "${JETSIGN_CLIENT:=}" == "null" ]] || [[ "$JETSIGN_CLIENT" == "" ]]; then
|
|
||||||
JB_SIGN=false
|
|
||||||
SIGN_UTILITY="codesign"
|
|
||||||
PRODUCTSIGN_UTILITY="productsign"
|
|
||||||
else
|
|
||||||
JB_SIGN=true
|
|
||||||
SIGN_UTILITY="$SCRIPT_DIR/codesign.sh"
|
|
||||||
PRODUCTSIGN_UTILITY="$SCRIPT_DIR/productsign.sh"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -d "$APPLICATION_PATH" ]]; then
|
|
||||||
echo "AppDirectory '$APPLICATION_PATH' does not exist or not a directory"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
function log() {
|
|
||||||
echo "$(date '+[%H:%M:%S]') $*"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Cleanup files left from previous sign attempt (if any)
|
|
||||||
find "$APPLICATION_PATH" -name '*.cstemp' -exec rm '{}' \;
|
|
||||||
|
|
||||||
log "Signing libraries and executables..."
|
|
||||||
# -perm +111 searches for executables
|
|
||||||
for f in \
|
|
||||||
"Contents/Home/lib" "Contents/MacOS" \
|
|
||||||
"Contents/Home/Frameworks" \
|
|
||||||
"Contents/Frameworks"; do
|
|
||||||
if [ -d "$APPLICATION_PATH/$f" ]; then
|
|
||||||
find "$APPLICATION_PATH/$f" \
|
|
||||||
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "*.node" -o -perm +111 \) \
|
|
||||||
-exec "$SIGN_UTILITY" --timestamp \
|
|
||||||
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
|
|
||||||
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
log "Signing libraries in jars in $APPLICATION_PATH"
|
|
||||||
|
|
||||||
# todo: add set -euo pipefail; into the inner sh -c
|
|
||||||
# `-e` prevents `grep -q && printf` loginc
|
|
||||||
# with `-o pipefail` there's no input for 'while' loop
|
|
||||||
find "$APPLICATION_PATH" -name '*.jar' \
|
|
||||||
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '\.tbd\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
|
|
||||||
while IFS= read -r -d $'\0' file; do
|
|
||||||
log "Processing libraries in $file"
|
|
||||||
|
|
||||||
rm -rf jarfolder jar.jar
|
|
||||||
mkdir jarfolder
|
|
||||||
filename="${file##*/}"
|
|
||||||
log "Filename: $filename"
|
|
||||||
cp "$file" jarfolder && (cd jarfolder && jar xf "$filename" && rm "$filename")
|
|
||||||
|
|
||||||
find jarfolder \
|
|
||||||
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "jattach" \) \
|
|
||||||
-exec "$SIGN_UTILITY" --timestamp \
|
|
||||||
--force \
|
|
||||||
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
|
|
||||||
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
|
|
||||||
|
|
||||||
(cd jarfolder; zip -q -r -o -0 ../jar.jar .)
|
|
||||||
mv jar.jar "$file"
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -rf jarfolder jar.jar
|
|
||||||
|
|
||||||
log "Signing other files..."
|
|
||||||
# shellcheck disable=SC2043
|
|
||||||
for f in \
|
|
||||||
"Contents/Home/bin"; do
|
|
||||||
if [ -d "$APPLICATION_PATH/$f" ]; then
|
|
||||||
find "$APPLICATION_PATH/$f" \
|
|
||||||
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -perm +111 \) \
|
|
||||||
-exec "$SIGN_UTILITY" --timestamp \
|
|
||||||
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
|
|
||||||
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
log "Signing whole frameworks..."
|
|
||||||
# shellcheck disable=SC2043
|
|
||||||
if [ "$JB_SIGN" = true ]; then for f in \
|
|
||||||
"Contents/Home/Frameworks" "Contents/Frameworks"; do
|
|
||||||
if [ -d "$APPLICATION_PATH/$f" ]; then
|
|
||||||
find "$APPLICATION_PATH/$f" \( -name '*.framework' -o -name '*.app' \) -maxdepth 1 | while read -r line
|
|
||||||
do
|
|
||||||
log "Signing '$line':"
|
|
||||||
tar -pczf tmp-to-sign.tar.gz -C "$(dirname "$line")" "$(basename "$line")"
|
|
||||||
"$SIGN_UTILITY" --timestamp \
|
|
||||||
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
|
|
||||||
--force \
|
|
||||||
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
|
|
||||||
rm -rf "$line"
|
|
||||||
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$line")"
|
|
||||||
rm -f tmp-to-sign.tar.gz
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done; fi
|
|
||||||
|
|
||||||
log "Checking framework signatures..."
|
|
||||||
for f in \
|
|
||||||
"Contents/Home/Frameworks" "Contents/Frameworks"; do
|
|
||||||
if [ -d "$APPLICATION_PATH/$f" ]; then
|
|
||||||
find "$APPLICATION_PATH/$f" -name '*.framework' -maxdepth 1 | while read -r line
|
|
||||||
do
|
|
||||||
log "Checking '$line':"
|
|
||||||
codesign --verify --deep --strict --verbose=4 "$line"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
log "Signing whole app..."
|
|
||||||
if [ "$JB_SIGN" = true ]; then
|
|
||||||
tar -pczf tmp-to-sign.tar.gz --exclude='man' -C "$(dirname "$APPLICATION_PATH")" "$(basename "$APPLICATION_PATH")"
|
|
||||||
"$SIGN_UTILITY" --timestamp \
|
|
||||||
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
|
|
||||||
--force \
|
|
||||||
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz
|
|
||||||
rm -rf "$APPLICATION_PATH"
|
|
||||||
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$APPLICATION_PATH")"
|
|
||||||
rm -f tmp-to-sign.tar.gz
|
|
||||||
else
|
|
||||||
"$SIGN_UTILITY" --timestamp \
|
|
||||||
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
|
|
||||||
--force \
|
|
||||||
--entitlements "$SCRIPT_DIR/entitlements.xml" "$APPLICATION_PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
BUILD_NAME="$(basename "$APPLICATION_PATH")"
|
|
||||||
|
|
||||||
log "Creating $PKG_NAME..."
|
|
||||||
rm -rf "$PKG_NAME"
|
|
||||||
|
|
||||||
mkdir -p unsigned
|
|
||||||
pkgbuild --identifier $BUNDLE_ID --root $APPLICATION_PATH \
|
|
||||||
--install-location /Library/Java/JavaVirtualMachines/${BUILD_NAME} unsigned/${PKG_NAME}
|
|
||||||
log "Signing $PKG_NAME..."
|
|
||||||
"$PRODUCTSIGN_UTILITY" --timestamp --sign "$JB_INSTALLER_CERT" unsigned/${PKG_NAME} ${PKG_NAME}
|
|
||||||
|
|
||||||
log "Verifying java is not broken"
|
|
||||||
find "$APPLICATION_PATH" \
|
|
||||||
-type f -name 'java' -perm +111 -exec {} -version \;
|
|
||||||
@@ -1,136 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
#immediately exit script with an error if a command fails
|
|
||||||
set -euo pipefail
|
|
||||||
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
|
|
||||||
|
|
||||||
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
|
|
||||||
export COPYFILE_DISABLE=true
|
|
||||||
|
|
||||||
INPUT_FILE=$1
|
|
||||||
EXPLODED=$2.exploded
|
|
||||||
BACKUP_JMODS=$2.backup
|
|
||||||
USERNAME=$3
|
|
||||||
PASSWORD=$4
|
|
||||||
CODESIGN_STRING=$5
|
|
||||||
JB_INSTALLER_CERT=$6
|
|
||||||
NOTARIZE=$7
|
|
||||||
BUNDLE_ID=$8
|
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
|
|
||||||
|
|
||||||
function log() {
|
|
||||||
echo "$(date '+[%H:%M:%S]') $*"
|
|
||||||
}
|
|
||||||
|
|
||||||
log "Deleting $EXPLODED ..."
|
|
||||||
if test -d "$EXPLODED"; then
|
|
||||||
find "$EXPLODED" -mindepth 1 -maxdepth 1 -exec chmod -R u+wx '{}' \;
|
|
||||||
fi
|
|
||||||
rm -rf "$EXPLODED"
|
|
||||||
mkdir "$EXPLODED"
|
|
||||||
rm -rf "$BACKUP_JMODS"
|
|
||||||
mkdir "$BACKUP_JMODS"
|
|
||||||
|
|
||||||
log "Unzipping $INPUT_FILE to $EXPLODED ..."
|
|
||||||
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
|
|
||||||
BUILD_NAME="$(ls "$EXPLODED")"
|
|
||||||
#sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
|
|
||||||
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
|
|
||||||
rm "$INPUT_FILE"
|
|
||||||
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
|
|
||||||
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
|
|
||||||
fi
|
|
||||||
|
|
||||||
log "$INPUT_FILE extracted and removed"
|
|
||||||
|
|
||||||
APP_NAME=$(basename "$INPUT_FILE" | awk -F".tar" '{ print $1 }')
|
|
||||||
PKG_NAME="$APP_NAME.pkg"
|
|
||||||
APPLICATION_PATH=$EXPLODED/$(ls $EXPLODED)
|
|
||||||
|
|
||||||
find "$APPLICATION_PATH/Contents/Home/bin" \
|
|
||||||
-maxdepth 1 -type f -name '*.jnilib' -print0 |
|
|
||||||
while IFS= read -r -d $'\0' file; do
|
|
||||||
if [ -f "$file" ]; then
|
|
||||||
log "Linking $file"
|
|
||||||
b="$(basename "$file" .jnilib)"
|
|
||||||
ln -sf "$b.jnilib" "$(dirname "$file")/$b.dylib"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
find "$APPLICATION_PATH/Contents/" \
|
|
||||||
-maxdepth 1 -type f -name '*.txt' -print0 |
|
|
||||||
while IFS= read -r -d $'\0' file; do
|
|
||||||
if [ -f "$file" ]; then
|
|
||||||
log "Moving $file"
|
|
||||||
mv "$file" "$APPLICATION_PATH/Contents/Resources"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
non_plist=$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist' | wc -l)
|
|
||||||
if [[ $non_plist -gt 0 ]]; then
|
|
||||||
log "Only Info.plist file is allowed in Contents directory but found $non_plist file(s):"
|
|
||||||
log "$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist')"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${JETSIGN_CLIENT:=}" == "null" ]] || [[ "$JETSIGN_CLIENT" == "" ]]; then
|
|
||||||
log "Unlocking keychain..."
|
|
||||||
# Make sure *.p12 is imported into local KeyChain
|
|
||||||
security unlock-keychain -p "$PASSWORD" "/Users/$USERNAME/Library/Keychains/login.keychain"
|
|
||||||
fi
|
|
||||||
|
|
||||||
attempt=1
|
|
||||||
limit=3
|
|
||||||
set +e
|
|
||||||
while [[ $attempt -le $limit ]]; do
|
|
||||||
log "Signing (attempt $attempt) $APPLICATION_PATH ..."
|
|
||||||
"$SCRIPT_DIR/sign.sh" "$APPLICATION_PATH" "$PKG_NAME" "$BUNDLE_ID" "$CODESIGN_STRING" "$JB_INSTALLER_CERT"
|
|
||||||
ec=$?
|
|
||||||
if [[ $ec -ne 0 ]]; then
|
|
||||||
((attempt += 1))
|
|
||||||
if [ $attempt -eq $limit ]; then
|
|
||||||
set -e
|
|
||||||
fi
|
|
||||||
log "Signing failed, wait for 30 sec and try to sign again"
|
|
||||||
sleep 30
|
|
||||||
else
|
|
||||||
log "Signing done"
|
|
||||||
codesign -v "$APPLICATION_PATH" -vvvvv
|
|
||||||
log "Check sign done"
|
|
||||||
spctl -a -v $APPLICATION_PATH
|
|
||||||
((attempt += limit))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if [ "$NOTARIZE" = "yes" ]; then
|
|
||||||
log "Notarizing..."
|
|
||||||
"$SCRIPT_DIR/notarize.sh" "$PKG_NAME"
|
|
||||||
log "Stapling..."
|
|
||||||
xcrun stapler staple "$APPLICATION_PATH" ||:
|
|
||||||
xcrun stapler staple "$PKG_NAME" ||:
|
|
||||||
else
|
|
||||||
log "Notarization disabled"
|
|
||||||
log "Stapling disabled"
|
|
||||||
fi
|
|
||||||
|
|
||||||
log "Zipping $BUILD_NAME to $INPUT_FILE ..."
|
|
||||||
(
|
|
||||||
#cd "$EXPLODED"
|
|
||||||
#ditto -c -k --sequesterRsrc --keepParent "$BUILD_NAME" "../$INPUT_FILE"
|
|
||||||
if test -d $BACKUP_JMODS/jmods; then
|
|
||||||
mv $BACKUP_JMODS/jmods $APPLICATION_PATH/Contents/Home
|
|
||||||
fi
|
|
||||||
if [[ "$APPLICATION_PATH" != "$EXPLODED/$BUILD_NAME" ]]; then
|
|
||||||
mv $APPLICATION_PATH $EXPLODED/$BUILD_NAME
|
|
||||||
else
|
|
||||||
echo "No move, source == destination: $APPLICATION_PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
tar -pczvf $INPUT_FILE --exclude='man' -C $EXPLODED $BUILD_NAME
|
|
||||||
log "Finished zipping"
|
|
||||||
)
|
|
||||||
rm -rf "$EXPLODED"
|
|
||||||
log "Done"
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
|
|
||||||
index 522acb7cb43..c40e689d5de 100644
|
|
||||||
--- jb/project/tools/common/modules.list
|
|
||||||
+++ jb/project/tools/common/modules.list
|
|
||||||
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
|
|
||||||
jdk.xml.dom,
|
|
||||||
jdk.zipfs,
|
|
||||||
jdk.hotspot.agent,
|
|
||||||
-jdk.jcmd
|
|
||||||
+jdk.jcmd,
|
|
||||||
+jcef,
|
|
||||||
+gluegen.rt,
|
|
||||||
+jogl.all
|
|
||||||
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
|
|
||||||
index 897647ee368..781d1809493 100644
|
|
||||||
--- src/java.desktop/share/classes/module-info.java
|
|
||||||
+++ src/java.desktop/share/classes/module-info.java
|
|
||||||
@@ -116,7 +116,11 @@ module java.desktop {
|
|
||||||
// see make/GensrcModuleInfo.gmk
|
|
||||||
exports sun.awt to
|
|
||||||
jdk.accessibility,
|
|
||||||
- jdk.unsupported.desktop;
|
|
||||||
+ jdk.unsupported.desktop,
|
|
||||||
+ jcef,
|
|
||||||
+ jogl.all;
|
|
||||||
+
|
|
||||||
+ exports java.awt.peer to jcef;
|
|
||||||
|
|
||||||
exports java.awt.dnd.peer to jdk.unsupported.desktop;
|
|
||||||
exports sun.awt.dnd to jdk.unsupported.desktop;
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
|
|
||||||
index 522acb7..c40e689 100644
|
|
||||||
--- jb/project/tools/common/modules.list
|
|
||||||
+++ jb/project/tools/common/modules.list
|
|
||||||
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
|
|
||||||
jdk.xml.dom,
|
|
||||||
jdk.zipfs,
|
|
||||||
jdk.hotspot.agent,
|
|
||||||
-jdk.jcmd
|
|
||||||
+jdk.jcmd,
|
|
||||||
+jcef,
|
|
||||||
+gluegen.rt,
|
|
||||||
+jogl.all
|
|
||||||
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
|
|
||||||
index 897647e..781d180 100644
|
|
||||||
--- src/java.desktop/share/classes/module-info.java
|
|
||||||
+++ src/java.desktop/share/classes/module-info.java
|
|
||||||
@@ -116,7 +116,11 @@ module java.desktop {
|
|
||||||
// see make/GensrcModuleInfo.gmk
|
|
||||||
exports sun.awt to
|
|
||||||
jdk.accessibility,
|
|
||||||
- jdk.unsupported.desktop;
|
|
||||||
+ jdk.unsupported.desktop,
|
|
||||||
+ jcef,
|
|
||||||
+ jogl.all;
|
|
||||||
+
|
|
||||||
+ exports java.awt.peer to jcef;
|
|
||||||
|
|
||||||
exports java.awt.dnd.peer to jdk.unsupported.desktop;
|
|
||||||
exports sun.awt.dnd to jdk.unsupported.desktop;
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
TC_PRINT=0
|
|
||||||
# Always print TeamCity service messages if running under TeamCity
|
|
||||||
[[ -n "${TEAMCITY_VERSION:-}" ]] && TC_PRINT=1
|
|
||||||
|
|
||||||
while getopts ":t" o; do
|
|
||||||
case "${o}" in
|
|
||||||
t) TC_PRINT=1 ;;
|
|
||||||
*);;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift $((OPTIND-1))
|
|
||||||
|
|
||||||
NEWFILEPATH="$1"
|
|
||||||
CONFIGID="$2"
|
|
||||||
BUILDID="$3"
|
|
||||||
TOKEN="$4"
|
|
||||||
|
|
||||||
if [ ! -f "$NEWFILEPATH" ]; then
|
|
||||||
echo "File not found: $NEWFILEPATH"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
#
|
|
||||||
# Get the size of new artifact
|
|
||||||
#
|
|
||||||
|
|
||||||
unameOut="$(uname -s)"
|
|
||||||
case "${unameOut}" in
|
|
||||||
Linux*)
|
|
||||||
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
|
|
||||||
;;
|
|
||||||
Darwin*)
|
|
||||||
NEWFILESIZE=$(stat -f%z "$NEWFILEPATH")
|
|
||||||
;;
|
|
||||||
CYGWIN*)
|
|
||||||
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
|
|
||||||
;;
|
|
||||||
MINGW*)
|
|
||||||
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Unknown machine: ${unameOut}"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
FILENAME=$(basename "${NEWFILEPATH}")
|
|
||||||
|
|
||||||
#
|
|
||||||
# Get pattern of artifact name
|
|
||||||
# Base filename pattern: <BUNDLE_TYPE>-<JDK_VERSION>-<OS>-<ARCH>-b<BUILD>.tar.gz: jbr_dcevm-17.0.2-osx-x64-b1234.tar.gz
|
|
||||||
# BUNDLE_TYPE: jbr, jbrsdk, jbr_dcevm, jbrsdk_jcef etc.
|
|
||||||
# OS_ARCH_PATTERN - <os_architecture>: osx-x64, linux-aarch64, linux-musl-x64, windows-x64 etc.
|
|
||||||
|
|
||||||
BUNDLE_TYPE=jbrsdk
|
|
||||||
OS_ARCH_PATTERN=""
|
|
||||||
FILE_EXTENSION=tar.gz
|
|
||||||
|
|
||||||
re='(jbr[a-z_]*).*-[0-9_\.]+-(.+)-b[0-9]+(.+)'
|
|
||||||
if [[ $FILENAME =~ $re ]]; then
|
|
||||||
BUNDLE_TYPE=${BASH_REMATCH[1]}
|
|
||||||
OS_ARCH_PATTERN=${BASH_REMATCH[2]}
|
|
||||||
FILE_EXTENSION=${BASH_REMATCH[3]}
|
|
||||||
else
|
|
||||||
echo "File name $FILENAME does not match regex $re"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
function test_started_msg() {
|
|
||||||
if [ $TC_PRINT -eq 1 ]; then
|
|
||||||
echo "##teamcity[testStarted name='$1']"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function test_failed_msg() {
|
|
||||||
if [ $TC_PRINT -eq 1 ]; then
|
|
||||||
echo "##teamcity[testFailed name='$1' message='$2']"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function test_finished_msg() {
|
|
||||||
if [ $TC_PRINT -eq 1 ]; then
|
|
||||||
echo "##teamcity[testFinished name='$1']"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
test_name="${BUNDLE_TYPE}_${OS_ARCH_PATTERN//\-/_}${FILE_EXTENSION//\./_}"
|
|
||||||
test_started_msg "$test_name"
|
|
||||||
|
|
||||||
echo "BUNDLE_TYPE: $BUNDLE_TYPE"
|
|
||||||
echo "OS_ARCH_PATTERN: $OS_ARCH_PATTERN"
|
|
||||||
echo "FILE_EXTENSION: $FILE_EXTENSION"
|
|
||||||
echo "Size of $FILENAME is $NEWFILESIZE bytes"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Get previous successful build ID
|
|
||||||
# Example:
|
|
||||||
# CONFIGID=IntellijCustomJdk_Jdk17_Master_LinuxX64jcef
|
|
||||||
# BUILDID=12345678
|
|
||||||
#
|
|
||||||
# expected return value
|
|
||||||
# id="123".number="567"
|
|
||||||
#
|
|
||||||
CURL_RESPONSE=$(curl -sSL --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/?locator=buildType:(id:$CONFIGID),status:success,count:1,finishDate:(build:$BUILDID,condition:before)")
|
|
||||||
re='id=\"([0-9]+)\".+number=\"([0-9\.]+)\"'
|
|
||||||
|
|
||||||
# ID: Previous successful build id
|
|
||||||
ID=0
|
|
||||||
if [[ $CURL_RESPONSE =~ $re ]]; then
|
|
||||||
ID=${BASH_REMATCH[1]}
|
|
||||||
echo "Previous build ID: $ID"
|
|
||||||
echo "Previous build number: ${BASH_REMATCH[2]}"
|
|
||||||
else
|
|
||||||
msg="ERROR: cannot find previous build"
|
|
||||||
echo "$msg"
|
|
||||||
echo "$CURL_RESPONSE"
|
|
||||||
test_failed_msg "$test_name" "$msg"
|
|
||||||
test_finished_msg "$test_name"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Get artifacts from previous successful build
|
|
||||||
#
|
|
||||||
# expected return value
|
|
||||||
# name="jbrsdk_jcef*.tar.gz size="123'
|
|
||||||
#
|
|
||||||
CURL_RESPONSE=$(curl -sSL --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/$ID?fields=id,number,artifacts(file(name,size))")
|
|
||||||
echo "Artifacts of the previous build:"
|
|
||||||
echo "$CURL_RESPONSE"
|
|
||||||
|
|
||||||
# Find binary size (in response) with reg exp
|
|
||||||
re="name=\"(${BUNDLE_TYPE}[^\"]+${OS_ARCH_PATTERN}[^\"]+${FILE_EXTENSION})\" size=\"([0-9]+)\""
|
|
||||||
|
|
||||||
if [[ $CURL_RESPONSE =~ $re ]]; then
|
|
||||||
prevFileName=${BASH_REMATCH[1]}
|
|
||||||
echo "Previous artifact name: $prevFileName"
|
|
||||||
prevFileSize=${BASH_REMATCH[2]}
|
|
||||||
echo "Previous artifact size: $prevFileSize"
|
|
||||||
|
|
||||||
((allowedSize=prevFileSize+prevFileSize/20)) # use 5% threshold
|
|
||||||
echo "Allowed size: $allowedSize"
|
|
||||||
if [[ "$NEWFILESIZE" -gt "$allowedSize" ]]; then
|
|
||||||
msg="ERROR: new size is significantly greater than previous size (need to investigate)"
|
|
||||||
echo "$msg"
|
|
||||||
test_failed_msg "$test_name" "$msg"
|
|
||||||
test_finished_msg "$test_name"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "PASSED"
|
|
||||||
test_finished_msg "$test_name"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
msg="ERROR: cannot find string with size in xml response:"
|
|
||||||
echo "Regex: $re"
|
|
||||||
echo "$msg"
|
|
||||||
echo "$CURL_RESPONSE"
|
|
||||||
test_failed_msg "$test_name" "$msg"
|
|
||||||
test_finished_msg "$test_name"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
usage ()
|
|
||||||
{
|
|
||||||
echo "Usage: perfcmp.sh [options] <test_results_cur> <test_results_ref> <results> <test_prefix> <noHeaders>"
|
|
||||||
echo "Options:"
|
|
||||||
echo -e " -h, --help\tdisplay this help"
|
|
||||||
echo -e " -tc\tprint teacmity statistic"
|
|
||||||
echo -e "test_results_cur - the file with metrics values for the current measuring"
|
|
||||||
echo -e "test_results_ref - the file with metrics values for the reference measuring"
|
|
||||||
echo -e "results - results of comaprison"
|
|
||||||
echo -e "test_prefix - specifys measuring type, makes sense for enabled -tc, by default no prefixes"
|
|
||||||
echo -e "noHeaders - by default 1-st line contains headers"
|
|
||||||
echo -e ""
|
|
||||||
echo -e "test_results_* files content should be in csv format with header and tab separator:"
|
|
||||||
echo -e "The 1-st column is the test name"
|
|
||||||
echo -e "The 2-st column is the test value"
|
|
||||||
echo -e ""
|
|
||||||
echo -e "Example:"
|
|
||||||
echo -e "Test Value"
|
|
||||||
echo -e "Testname 51.54"
|
|
||||||
}
|
|
||||||
|
|
||||||
while [ -n "$1" ]
|
|
||||||
do
|
|
||||||
case "$1" in
|
|
||||||
-h | --help) usage
|
|
||||||
exit 1 ;;
|
|
||||||
-tc) tc=1
|
|
||||||
shift
|
|
||||||
break ;;
|
|
||||||
*) break;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ "$#" < "3" ]]; then
|
|
||||||
echo "Error: Invalid arguments"
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
curFile=$1
|
|
||||||
refFile=$2
|
|
||||||
resFile=$3
|
|
||||||
testNamePrefix=$4
|
|
||||||
noHeaders=$5
|
|
||||||
echo $curFile
|
|
||||||
echo $refFile
|
|
||||||
echo $resFile
|
|
||||||
|
|
||||||
curValues=`cat "$curFile" | cut -f 2 | tr -d '\t'`
|
|
||||||
if [ -z $noHeaders ]; then
|
|
||||||
curValuesHeader=`echo "$curValues" | head -n +1`_cur
|
|
||||||
header=`cat "$refFile" | head -n +1 | awk -F'\t' -v x=$curValuesHeader '{print " "$1"\t"$2"_ref\t"x"\tratio"}'`
|
|
||||||
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +2`
|
|
||||||
else
|
|
||||||
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +1`
|
|
||||||
fi
|
|
||||||
|
|
||||||
testContent=`echo "$testContent" | tr "," "." | awk -F'\t' '{
|
|
||||||
if ($3>$2+$2*0.1) {
|
|
||||||
print "* "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
|
|
||||||
} else {
|
|
||||||
print " "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
|
|
||||||
}
|
|
||||||
}'`
|
|
||||||
if [ -z $noHeaders ]; then
|
|
||||||
echo "$header" > $resFile
|
|
||||||
fi
|
|
||||||
echo "$testContent" >> $resFile
|
|
||||||
cat "$resFile" | tr '\t' ';' | column -t -s ';' | tee $resFile
|
|
||||||
|
|
||||||
if [ -z $tc ]; then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
failed=0
|
|
||||||
echo "$testContent" 2>&1 | (
|
|
||||||
while read -r s; do
|
|
||||||
testname=`echo "$s" | cut -f 1 | tr -d "[:space:]" | tr -d "*"`
|
|
||||||
duration=`echo "$s" | cut -f 3`
|
|
||||||
echo "$s" | cut -c1 | grep -c "*" && failed=1
|
|
||||||
echo \#\#teamcity[testStarted name=\'$testNamePrefix$testname\']
|
|
||||||
echo "===>$s"
|
|
||||||
echo \#\#teamcity[buildStatisticValue key=\'$testNamePrefix$testname\' value=\'$duration\']
|
|
||||||
[ $failed -eq 1 ] && echo \#\#teamcity[testFailed name=\'$testNamePrefix$testname\' message=\'$s\']
|
|
||||||
echo \#\#teamcity[testFinished name=\'$testNamePrefix$testname\' duration=\'$duration\']
|
|
||||||
failed=0
|
|
||||||
done
|
|
||||||
)
|
|
||||||
@@ -1,146 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# jcef - the release bundles with jcef
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
|
|
||||||
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
|
|
||||||
#
|
|
||||||
# Environment variables:
|
|
||||||
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
|
|
||||||
# to configure
|
|
||||||
# By default JDK_BUILD_NUMBER is set zero
|
|
||||||
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
|
|
||||||
# By default JCEF binaries should be located in ./jcef_win_aarch64
|
|
||||||
|
|
||||||
if [ -z "$BUILD_JDK" ]; then
|
|
||||||
echo "BUILD_JDK environment variable must be specified and point to a JDK built from the current sources" \
|
|
||||||
" and is able to run on the build system. See OpenJDK documentation for --with-build-jdk for more info."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
WORK_DIR=$(pwd)
|
|
||||||
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_aarch64}
|
|
||||||
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
|
|
||||||
|
|
||||||
function do_configure {
|
|
||||||
sh ./configure \
|
|
||||||
--enable-option-checking=fatal \
|
|
||||||
--openjdk-target=aarch64-unknown-cygwin \
|
|
||||||
$WITH_DEBUG_LEVEL \
|
|
||||||
--with-vendor-name="$VENDOR_NAME" \
|
|
||||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
|
||||||
--with-jvm-features=shenandoahgc \
|
|
||||||
--with-version-pre= \
|
|
||||||
--with-version-build=$JDK_BUILD_NUMBER \
|
|
||||||
--with-version-opt=b${build_number} \
|
|
||||||
--with-toolchain-version=$TOOLCHAIN_VERSION \
|
|
||||||
--with-boot-jdk=$BOOT_JDK \
|
|
||||||
--with-build-jdk=$BUILD_JDK \
|
|
||||||
--with-nvdacontrollerclient=$NVDA_PATH \
|
|
||||||
--disable-ccache \
|
|
||||||
--enable-cds=yes \
|
|
||||||
$STATIC_CONF_ARGS \
|
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
|
||||||
|| do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_image_bundle {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
__modules_path=$3
|
|
||||||
__modules=$4
|
|
||||||
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
|
|
||||||
|
|
||||||
echo Running jlink ...
|
|
||||||
${BUILD_JDK}/bin/jlink \
|
|
||||||
--module-path $__modules_path --no-man-pages --compress=2 \
|
|
||||||
--add-modules $__modules --output $__root_dir || do_exit $?
|
|
||||||
|
|
||||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
|
|
||||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
|
|
||||||
mv release $__root_dir/release
|
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
|
|
||||||
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
|
|
||||||
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
|
|
||||||
done
|
|
||||||
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
|
||||||
RELEASE_NAME=windows-aarch64-server-release
|
|
||||||
|
|
||||||
case "$bundle_type" in
|
|
||||||
"jcef")
|
|
||||||
do_reset_changes=0
|
|
||||||
do_maketest=1
|
|
||||||
;;
|
|
||||||
"nomod" | "")
|
|
||||||
bundle_type=""
|
|
||||||
;;
|
|
||||||
"fd")
|
|
||||||
do_reset_changes=0
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
|
||||||
RELEASE_NAME=windows-aarch64-server-fastdebug
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -z "${INC_BUILD:-}" ]; then
|
|
||||||
do_configure || do_exit $?
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
else
|
|
||||||
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
else
|
|
||||||
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
JSDK=$IMAGES_DIR/jdk
|
|
||||||
JSDK_MODS_DIR=$IMAGES_DIR/jmods
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
|
|
||||||
update_jsdk_mods "$BUILD_JDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
|
|
||||||
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
|
|
||||||
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
cat $JCEF_PATH/jcef.version >> $JSDK/release
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create runtime image bundle
|
|
||||||
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
|
|
||||||
modules+=",jdk.crypto.mscapi"
|
|
||||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
# create sdk image bundle
|
|
||||||
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g) || do_exit $?
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
|
|
||||||
fi
|
|
||||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
|
|
||||||
|
|
||||||
do_exit 0
|
|
||||||
@@ -1,137 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# jcef - the release bundles with jcef
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
|
|
||||||
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
|
|
||||||
#
|
|
||||||
# Environment variables:
|
|
||||||
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
|
|
||||||
# to configure
|
|
||||||
# By default JDK_BUILD_NUMBER is set zero
|
|
||||||
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
|
|
||||||
# By default JCEF binaries should be located in ./jcef_win_x64
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
WORK_DIR=$(pwd)
|
|
||||||
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_x64}
|
|
||||||
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
|
|
||||||
|
|
||||||
function do_configure {
|
|
||||||
sh ./configure \
|
|
||||||
$WITH_DEBUG_LEVEL \
|
|
||||||
--with-vendor-name="$VENDOR_NAME" \
|
|
||||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
|
||||||
--with-jvm-features=shenandoahgc \
|
|
||||||
--with-version-pre= \
|
|
||||||
--with-version-build=$JDK_BUILD_NUMBER \
|
|
||||||
--with-version-opt=b${build_number} \
|
|
||||||
--with-toolchain-version=$TOOLCHAIN_VERSION \
|
|
||||||
--with-boot-jdk=$BOOT_JDK \
|
|
||||||
--with-nvdacontrollerclient=$NVDA_PATH \
|
|
||||||
--disable-ccache \
|
|
||||||
--enable-cds=yes \
|
|
||||||
$STATIC_CONF_ARGS \
|
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
|
||||||
|| do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_image_bundle {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
__modules_path=$3
|
|
||||||
__modules=$4
|
|
||||||
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
|
|
||||||
|
|
||||||
echo Running jlink ...
|
|
||||||
${JSDK}/bin/jlink \
|
|
||||||
--module-path $__modules_path --no-man-pages --compress=2 \
|
|
||||||
--add-modules $__modules --output $__root_dir || do_exit $?
|
|
||||||
|
|
||||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
|
|
||||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
|
|
||||||
mv release $__root_dir/release
|
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
|
|
||||||
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
|
|
||||||
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
|
|
||||||
done
|
|
||||||
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
|
||||||
RELEASE_NAME=windows-x86_64-server-release
|
|
||||||
|
|
||||||
case "$bundle_type" in
|
|
||||||
"jcef")
|
|
||||||
do_reset_changes=0
|
|
||||||
do_maketest=1
|
|
||||||
;;
|
|
||||||
"nomod" | "")
|
|
||||||
bundle_type=""
|
|
||||||
;;
|
|
||||||
"fd")
|
|
||||||
do_reset_changes=0
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
|
||||||
RELEASE_NAME=windows-x86_64-server-fastdebug
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -z "${INC_BUILD:-}" ]; then
|
|
||||||
do_configure || do_exit $?
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
else
|
|
||||||
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
else
|
|
||||||
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
JSDK=$IMAGES_DIR/jdk
|
|
||||||
JSDK_MODS_DIR=$IMAGES_DIR/jmods
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
|
|
||||||
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
|
|
||||||
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
|
|
||||||
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
cat $JCEF_PATH/jcef.version >> $JSDK/release
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create runtime image bundle
|
|
||||||
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
|
|
||||||
modules+=",jdk.crypto.mscapi"
|
|
||||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
# create sdk image bundle
|
|
||||||
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
|
|
||||||
fi
|
|
||||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
|
|
||||||
|
|
||||||
do_exit 0
|
|
||||||
@@ -1,131 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# jcef - the release bundles with jcef
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
# $ ./java --version
|
|
||||||
# openjdk 11.0.6 2020-01-14
|
|
||||||
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
|
|
||||||
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
|
|
||||||
#
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
WORK_DIR=$(pwd)
|
|
||||||
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
|
|
||||||
|
|
||||||
|
|
||||||
function do_configure {
|
|
||||||
sh ./configure \
|
|
||||||
$WITH_DEBUG_LEVEL \
|
|
||||||
--with-vendor-name="$VENDOR_NAME" \
|
|
||||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
|
||||||
--with-jvm-features=shenandoahgc \
|
|
||||||
--with-version-pre= \
|
|
||||||
--with-version-build=$JDK_BUILD_NUMBER \
|
|
||||||
--with-version-opt=b${build_number} \
|
|
||||||
--with-toolchain-version=$TOOLCHAIN_VERSION \
|
|
||||||
--with-boot-jdk=$BOOT_JDK \
|
|
||||||
--with-nvdacontrollerclient=$NVDA_PATH \
|
|
||||||
--disable-ccache \
|
|
||||||
--enable-cds=yes \
|
|
||||||
$STATIC_CONF_ARGS \
|
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
|
||||||
|| do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_image_bundle {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
__modules_path=$3
|
|
||||||
__modules=$4
|
|
||||||
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
|
|
||||||
|
|
||||||
echo Running jlink ...
|
|
||||||
${JSDK}/bin/jlink \
|
|
||||||
--module-path $__modules_path --no-man-pages --compress=2 \
|
|
||||||
--add-modules $__modules --output $__root_dir || do_exit $?
|
|
||||||
|
|
||||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
|
|
||||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
|
|
||||||
mv release $__root_dir/release
|
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
|
|
||||||
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
|
|
||||||
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
|
|
||||||
done
|
|
||||||
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
|
||||||
RELEASE_NAME=windows-x86_64-server-release
|
|
||||||
|
|
||||||
case "$bundle_type" in
|
|
||||||
"jcef")
|
|
||||||
echo "not implemented" && do_exit 1
|
|
||||||
;;
|
|
||||||
"nomod" | "")
|
|
||||||
bundle_type=""
|
|
||||||
;;
|
|
||||||
"fd")
|
|
||||||
do_reset_changes=0
|
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
|
||||||
RELEASE_NAME=windows-x86_64-server-fastdebug
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -z "${INC_BUILD:-}" ]; then
|
|
||||||
do_configure || do_exit $?
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
else
|
|
||||||
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
|
|
||||||
else
|
|
||||||
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
JSDK=$IMAGES_DIR/jdk
|
|
||||||
JSDK_MODS_DIR=$IMAGES_DIR/jmods
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
|
|
||||||
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
|
|
||||||
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
|
|
||||||
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create runtime image bundle
|
|
||||||
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
|
|
||||||
modules+=",jdk.crypto.mscapi"
|
|
||||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
|
||||||
|
|
||||||
# create sdk image bundle
|
|
||||||
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
|
|
||||||
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
|
|
||||||
fi
|
|
||||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
|
|
||||||
|
|
||||||
do_exit 0
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# jcef - the release bundles with jcef
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
|
|
||||||
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
|
|
||||||
#
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
[ "$bundle_type" == "jcef" ] && do_maketest=1
|
|
||||||
|
|
||||||
function pack_jbr {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
|
|
||||||
|
|
||||||
echo Creating $JBR.tar.gz ...
|
|
||||||
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
|
|
||||||
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
[ "$bundle_type" == "nomod" ] && bundle_type=""
|
|
||||||
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
RELEASE_NAME=windows-aarch64-server-release
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
BASE_DIR=.
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
pack_jbr jbr${jbr_name_postfix} jbr
|
|
||||||
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
|
|
||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-aarch64-b$build_number
|
|
||||||
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
|
|
||||||
echo Creating $JBRSDK_TEST.tar.gz ...
|
|
||||||
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
|
||||||
fi
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# jcef - the release bundles with jcef
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
|
|
||||||
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
|
|
||||||
#
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
[ "$bundle_type" == "jcef" ] && do_maketest=1
|
|
||||||
|
|
||||||
function pack_jbr {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
|
|
||||||
|
|
||||||
echo Creating $JBR.tar.gz ...
|
|
||||||
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
|
|
||||||
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
[ "$bundle_type" == "nomod" ] && bundle_type=""
|
|
||||||
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
RELEASE_NAME=windows-x86_64-server-release
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
BASE_DIR=.
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
pack_jbr jbr${jbr_name_postfix} jbr
|
|
||||||
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
|
|
||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x64-b$build_number
|
|
||||||
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
|
|
||||||
echo Creating $JBRSDK_TEST.tar.gz ...
|
|
||||||
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
|
||||||
fi
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# The following parameters must be specified:
|
|
||||||
# build_number - specifies the number of JetBrainsRuntime build
|
|
||||||
# bundle_type - specifies bundle to be built;possible values:
|
|
||||||
# <empty> or nomod - the release bundles without any additional modules (jcef)
|
|
||||||
# fd - the fastdebug bundles which also include the jcef module
|
|
||||||
#
|
|
||||||
|
|
||||||
source jb/project/tools/common/scripts/common.sh
|
|
||||||
|
|
||||||
[ "$bundle_type" == "jcef" ] && echo "not implemented" && do_exit 1
|
|
||||||
|
|
||||||
function pack_jbr {
|
|
||||||
__bundle_name=$1
|
|
||||||
__arch_name=$2
|
|
||||||
|
|
||||||
fastdebug_infix=''
|
|
||||||
|
|
||||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
|
||||||
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
|
|
||||||
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
|
|
||||||
|
|
||||||
echo Creating $JBR.tar.gz ...
|
|
||||||
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
|
|
||||||
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
|
|
||||||
}
|
|
||||||
|
|
||||||
[ "$bundle_type" == "nomod" ] && bundle_type=""
|
|
||||||
|
|
||||||
JBRSDK_BUNDLE=jbrsdk
|
|
||||||
RELEASE_NAME=windows-x86_64-server-release
|
|
||||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
|
||||||
BASE_DIR=.
|
|
||||||
|
|
||||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
pack_jbr jbr${jbr_name_postfix} jbr
|
|
||||||
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
|
|
||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
|
||||||
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x86-b$build_number
|
|
||||||
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
|
|
||||||
echo Creating $JBRSDK_TEST.tar.gz ...
|
|
||||||
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $BASE_DIR --exclude='test/jdk/demos' test || do_exit $?
|
|
||||||
fi
|
|
||||||
@@ -228,23 +228,6 @@ else
|
|||||||
JMOD_SOURCE_DATE :=
|
JMOD_SOURCE_DATE :=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ENABLE_REPRODUCIBLE_BUILD), true)
|
|
||||||
# If boot JDK's jar supported --date, jrt-fs.jar would've been built with
|
|
||||||
# that option already.
|
|
||||||
ifneq ($(BOOT_JDK_JAR_SUPPORTS_DATE), true)
|
|
||||||
ifeq ($(MODULE), java.base)
|
|
||||||
JAR_FILE_TO_FIX := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jrt-fs.jar
|
|
||||||
$(eval $(call SetupExecute, fixup_jrtfs_jar, \
|
|
||||||
WARN := Fixing timestamps in modules_libs/java.base/jrt-fs.jar, \
|
|
||||||
DEPS := $(JAR_FILE_TO_FIX) $(JDK_OUTPUTDIR)/bin/jar, \
|
|
||||||
OUTPUT_DIR := $(JMODS_SUPPORT_DIR), \
|
|
||||||
COMMAND := $(BUILD_JAR) --date $(SOURCE_DATE_ISO_8601) --update --file $(JAR_FILE_TO_FIX) @$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/_the.jrt-fs.jar_contents, \
|
|
||||||
))
|
|
||||||
DEPS += $(fixup_jrtfs_jar_TARGET)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Create jmods in the support dir and then move them into place to keep the
|
# Create jmods in the support dir and then move them into place to keep the
|
||||||
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
|
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
|
||||||
$(eval $(call SetupExecute, create_$(JMOD_FILE), \
|
$(eval $(call SetupExecute, create_$(JMOD_FILE), \
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -88,10 +88,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
|
|||||||
$(CAT) $(LINK_OPT_DIR)/stderr $(JLI_TRACE_FILE) ; \
|
$(CAT) $(LINK_OPT_DIR)/stderr $(JLI_TRACE_FILE) ; \
|
||||||
exit $$exitcode \
|
exit $$exitcode \
|
||||||
)
|
)
|
||||||
$(GREP) -v HelloClasslist $@.raw.2 > $@.raw.3
|
$(GREP) -v HelloClasslist $@.raw.2 > $@
|
||||||
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java \
|
|
||||||
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
|
|
||||||
build.tools.classlist.SortClasslist $@.raw.3 > $@
|
|
||||||
|
|
||||||
# The jli trace is created by the same recipe as classlist. By declaring these
|
# The jli trace is created by the same recipe as classlist. By declaring these
|
||||||
# dependencies, make will correctly rebuild both jli trace and classlist
|
# dependencies, make will correctly rebuild both jli trace and classlist
|
||||||
|
|||||||
@@ -1,93 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright 2000-2023 JetBrains s.r.o.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code 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
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
include $(SPEC)
|
|
||||||
include MakeBase.gmk
|
|
||||||
include JavaCompilation.gmk
|
|
||||||
|
|
||||||
JBR_API_ROOT_DIR := $(TOPDIR)/src/jetbrains.api
|
|
||||||
JBR_API_TOOLS_DIR := $(JBR_API_ROOT_DIR)/tools
|
|
||||||
JBR_API_SRC_DIR := $(JBR_API_ROOT_DIR)/src
|
|
||||||
JBR_API_OUTPUT_DIR := $(OUTPUTDIR)/jbr-api
|
|
||||||
JBR_API_GENSRC_DIR := $(JBR_API_OUTPUT_DIR)/gensrc
|
|
||||||
JBR_API_BIN_DIR := $(JBR_API_OUTPUT_DIR)/bin
|
|
||||||
JBR_API_VERSION_PROPERTIES := $(JBR_API_ROOT_DIR)/version.properties
|
|
||||||
JBR_API_VERSION_GENSRC := $(JBR_API_OUTPUT_DIR)/jbr-api.version
|
|
||||||
JBR_API_GENSRC_BATCH := $(JBR_API_VERSION_GENSRC)
|
|
||||||
|
|
||||||
JBR_API_SRC_FILES := $(call FindFiles, $(JBR_API_SRC_DIR))
|
|
||||||
JBR_API_GENSRC_FILES := $(foreach f, $(call FindFiles, $(JBR_API_SRC_DIR)), \
|
|
||||||
$(JBR_API_GENSRC_DIR)/$(call RelativePath, $f, $(JBR_API_SRC_DIR)))
|
|
||||||
|
|
||||||
ifeq ($(JBR_API_JBR_VERSION),)
|
|
||||||
JBR_API_JBR_VERSION := DEVELOPMENT
|
|
||||||
JBR_API_FAIL_ON_HASH_MISMATCH := false
|
|
||||||
else
|
|
||||||
.PHONY: $(JBR_API_VERSION_PROPERTIES)
|
|
||||||
JBR_API_FAIL_ON_HASH_MISMATCH := true
|
|
||||||
endif
|
|
||||||
|
|
||||||
ARCHIVE_BUILD_JBR_API_BIN := $(JBR_API_BIN_DIR)
|
|
||||||
$(eval $(call SetupJavaCompilation, BUILD_JBR_API, \
|
|
||||||
SMALL_JAVA := true, \
|
|
||||||
COMPILER := bootjdk, \
|
|
||||||
SRC := $(JBR_API_GENSRC_DIR), \
|
|
||||||
EXTRA_FILES := $(JBR_API_GENSRC_FILES), \
|
|
||||||
BIN := $(JBR_API_BIN_DIR), \
|
|
||||||
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api.jar, \
|
|
||||||
))
|
|
||||||
|
|
||||||
$(eval $(call SetupJarArchive, BUILD_JBR_API_SOURCES_JAR, \
|
|
||||||
DEPENDENCIES := $(JBR_API_GENSRC_FILES), \
|
|
||||||
SRCS := $(JBR_API_GENSRC_DIR), \
|
|
||||||
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar, \
|
|
||||||
SUFFIXES := .java, \
|
|
||||||
BIN := $(JBR_API_BIN_DIR), \
|
|
||||||
))
|
|
||||||
|
|
||||||
# Grouped targets may not be supported, so hack dependencies: sources -> version file -> generated sources
|
|
||||||
$(JBR_API_VERSION_GENSRC): $(JBR_API_SRC_FILES) $(JBR_API_VERSION_PROPERTIES) $(JBR_API_TOOLS_DIR)/Gensrc.java
|
|
||||||
$(ECHO) Generating sources for JBR API
|
|
||||||
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/Gensrc.java" \
|
|
||||||
"$(TOPDIR)/src" "$(JBR_API_OUTPUT_DIR)" "$(JBR_API_JBR_VERSION)"
|
|
||||||
$(JBR_API_GENSRC_FILES): $(JBR_API_VERSION_GENSRC)
|
|
||||||
$(TOUCH) $@
|
|
||||||
|
|
||||||
jbr-api-check-version: $(JBR_API_GENSRC_FILES) $(JBR_API_VERSION_PROPERTIES)
|
|
||||||
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/CheckVersion.java" \
|
|
||||||
"$(JBR_API_ROOT_DIR)" "$(JBR_API_GENSRC_DIR)" "$(JBR_API_FAIL_ON_HASH_MISMATCH)"
|
|
||||||
|
|
||||||
jbr-api: $(BUILD_JBR_API) $(BUILD_JBR_API_SOURCES_JAR) jbr-api-check-version
|
|
||||||
|
|
||||||
.PHONY: jbr-api jbr-api-check-version
|
|
||||||
|
|
||||||
ifneq ($(JBR_API_CONF_FILE),)
|
|
||||||
$(JBR_API_CONF_FILE): $(JBR_API_GENSRC_FILES)
|
|
||||||
$(ECHO) "VERSION=`$(CAT) $(JBR_API_VERSION_GENSRC)`" > $(JBR_API_CONF_FILE)
|
|
||||||
$(ECHO) "JAR=$(JBR_API_OUTPUT_DIR)/jbr-api.jar" >> $(JBR_API_CONF_FILE)
|
|
||||||
$(ECHO) "SOURCES_JAR=$(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar" >> $(JBR_API_CONF_FILE)
|
|
||||||
jbr-api: $(JBR_API_CONF_FILE)
|
|
||||||
.PHONY: $(JBR_API_CONF_FILE)
|
|
||||||
endif
|
|
||||||
@@ -1325,14 +1325,6 @@ create-main-targets-include:
|
|||||||
@$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \
|
@$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \
|
||||||
$(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk
|
$(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# JBR API
|
|
||||||
|
|
||||||
$(eval $(call SetupTarget, jbr-api, \
|
|
||||||
MAKEFILE := JBRApi, \
|
|
||||||
TARGET := jbr-api \
|
|
||||||
))
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Hook to include the corresponding custom file, if present.
|
# Hook to include the corresponding custom file, if present.
|
||||||
$(eval $(call IncludeCustomExtension, Main-post.gmk))
|
$(eval $(call IncludeCustomExtension, Main-post.gmk))
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ define create-info-file
|
|||||||
$(if $(VENDOR_VERSION_STRING), \
|
$(if $(VENDOR_VERSION_STRING), \
|
||||||
$(call info-file-item, "IMPLEMENTOR_VERSION", "$(VENDOR_VERSION_STRING)"))
|
$(call info-file-item, "IMPLEMENTOR_VERSION", "$(VENDOR_VERSION_STRING)"))
|
||||||
$(call info-file-item, "JAVA_VERSION_DATE", "$(VERSION_DATE)")
|
$(call info-file-item, "JAVA_VERSION_DATE", "$(VERSION_DATE)")
|
||||||
$(call info-file-item, "JAVA_RUNTIME_VERSION", "$(VERSION_STRING)")
|
|
||||||
$(call info-file-item, "OS_NAME", "$(RELEASE_FILE_OS_NAME)")
|
$(call info-file-item, "OS_NAME", "$(RELEASE_FILE_OS_NAME)")
|
||||||
$(call info-file-item, "OS_ARCH", "$(RELEASE_FILE_OS_ARCH)")
|
$(call info-file-item, "OS_ARCH", "$(RELEASE_FILE_OS_ARCH)")
|
||||||
$(call info-file-item, "LIBC", "$(RELEASE_FILE_LIBC)")
|
$(call info-file-item, "LIBC", "$(RELEASE_FILE_LIBC)")
|
||||||
|
|||||||
@@ -798,15 +798,6 @@ define SetupRunJtregTestBody
|
|||||||
$1_JTREG_BASIC_OPTIONS += -ea -esa
|
$1_JTREG_BASIC_OPTIONS += -ea -esa
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($$(ASAN_ENABLED), yes)
|
|
||||||
$1_JTREG_BASIC_OPTIONS += -e:ASAN_OPTIONS=handle_segv=0:handle_sigfpe=0:detect_leaks=false
|
|
||||||
$1_JTREG_BASIC_OPTIONS += -e:LD_PRELOAD=libasan.so.5
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($$(USAN_ENABLED), yes)
|
|
||||||
$1_JTREG_BASIC_OPTIONS += -e:LD_PRELOAD=libubsan.so.1
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($$($1_JTREG_NATIVEPATH), )
|
ifneq ($$($1_JTREG_NATIVEPATH), )
|
||||||
$1_JTREG_BASIC_OPTIONS += -nativepath:$$($1_JTREG_NATIVEPATH)
|
$1_JTREG_BASIC_OPTIONS += -nativepath:$$($1_JTREG_NATIVEPATH)
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2014, 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -31,7 +31,6 @@ include JavaCompilation.gmk
|
|||||||
include Modules.gmk
|
include Modules.gmk
|
||||||
|
|
||||||
SRC_ZIP_WORK_DIR := $(SUPPORT_OUTPUTDIR)/src
|
SRC_ZIP_WORK_DIR := $(SUPPORT_OUTPUTDIR)/src
|
||||||
$(if $(filter $(TOPDIR)/%, $(SUPPORT_OUTPUTDIR)), $(eval SRC_ZIP_BASE := $(TOPDIR)), $(eval SRC_ZIP_BASE := $(SUPPORT_OUTPUTDIR)))
|
|
||||||
|
|
||||||
# Hook to include the corresponding custom file, if present.
|
# Hook to include the corresponding custom file, if present.
|
||||||
$(eval $(call IncludeCustomExtension, ZipSource.gmk))
|
$(eval $(call IncludeCustomExtension, ZipSource.gmk))
|
||||||
@@ -46,10 +45,10 @@ ALL_MODULES := $(FindAllModules)
|
|||||||
# again to create src.zip.
|
# again to create src.zip.
|
||||||
$(foreach m, $(ALL_MODULES), \
|
$(foreach m, $(ALL_MODULES), \
|
||||||
$(foreach d, $(call FindModuleSrcDirs, $m), \
|
$(foreach d, $(call FindModuleSrcDirs, $m), \
|
||||||
$(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(TOPDIR)/%,%,$(patsubst $(SUPPORT_OUTPUTDIR)/%,%,$d))/$m) \
|
$(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(TOPDIR)/%,%,$d)/$m) \
|
||||||
$(if $(SRC_GENERATED), , \
|
$(if $(SRC_GENERATED), , \
|
||||||
$(eval $$($d_TARGET): $d ; \
|
$(eval $$($d_TARGET): $d ; \
|
||||||
$$(if $(filter $(SRC_ZIP_BASE)/%, $d), $$(link-file-relative), $$(link-file-absolute)) \
|
$$(if $(filter $(TOPDIR)/%, $d), $$(link-file-relative), $$(link-file-absolute)) \
|
||||||
) \
|
) \
|
||||||
) \
|
) \
|
||||||
$(eval SRC_ZIP_SRCS += $$($d_TARGET)) \
|
$(eval SRC_ZIP_SRCS += $$($d_TARGET)) \
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ AC_DEFUN([BASIC_CHECK_LEFTOVER_OVERRIDDEN],
|
|||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
|
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
|
||||||
# Make sure to only use tools set up in BASIC_SETUP_FUNDAMENTAL_TOOLS.
|
|
||||||
AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
|
AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
|
||||||
[
|
[
|
||||||
# Save the current directory this script was started from
|
# Save the current directory this script was started from
|
||||||
@@ -213,18 +212,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
|
|||||||
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_toolchain_path)]
|
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_toolchain_path)]
|
||||||
)
|
)
|
||||||
|
|
||||||
AC_ARG_WITH([xcode-path], [AS_HELP_STRING([--with-xcode-path],
|
|
||||||
[set up toolchain on Mac OS using a path to an Xcode installation])])
|
|
||||||
|
|
||||||
if test "x$with_xcode_path" != x; then
|
|
||||||
if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
|
|
||||||
UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],
|
|
||||||
$with_xcode_path/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:$with_xcode_path/Contents/Developer/usr/bin)
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([Option --with-xcode-path is only valid on Mac OS, ignoring.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_WITH([extra-path], [AS_HELP_STRING([--with-extra-path],
|
AC_ARG_WITH([extra-path], [AS_HELP_STRING([--with-extra-path],
|
||||||
[prepend these directories to the default path])],
|
[prepend these directories to the default path])],
|
||||||
[UTIL_PREPEND_TO_PATH([EXTRA_PATH],$with_extra_path)]
|
[UTIL_PREPEND_TO_PATH([EXTRA_PATH],$with_extra_path)]
|
||||||
@@ -235,7 +222,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
|
|||||||
# If not, detect if Xcode is installed by running xcodebuild -version
|
# If not, detect if Xcode is installed by running xcodebuild -version
|
||||||
# if no Xcode installed, xcodebuild exits with 1
|
# if no Xcode installed, xcodebuild exits with 1
|
||||||
# if Xcode is installed, even if xcode-select is misconfigured, then it exits with 0
|
# if Xcode is installed, even if xcode-select is misconfigured, then it exits with 0
|
||||||
if test "x$DEVKIT_ROOT" != x || test "x$TOOLCHAIN_PATH" != x || /usr/bin/xcodebuild -version >/dev/null 2>&1; then
|
if test "x$DEVKIT_ROOT" != x || /usr/bin/xcodebuild -version >/dev/null 2>&1; then
|
||||||
# We need to use xcodebuild in the toolchain dir provided by the user
|
# We need to use xcodebuild in the toolchain dir provided by the user
|
||||||
UTIL_LOOKUP_PROGS(XCODEBUILD, xcodebuild, $TOOLCHAIN_PATH)
|
UTIL_LOOKUP_PROGS(XCODEBUILD, xcodebuild, $TOOLCHAIN_PATH)
|
||||||
if test x$XCODEBUILD = x; then
|
if test x$XCODEBUILD = x; then
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Setup the most fundamental tools, used for setting up build platform and
|
# Setup the most fundamental tools that relies on not much else to set up,
|
||||||
# path handling.
|
# but is used by much of the early bootstrap code.
|
||||||
AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
|
AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
|
||||||
[
|
[
|
||||||
# Bootstrapping: These tools are needed by UTIL_LOOKUP_PROGS
|
# Bootstrapping: These tools are needed by UTIL_LOOKUP_PROGS
|
||||||
@@ -37,28 +37,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
|
|||||||
UTIL_CHECK_NONEMPTY(FILE)
|
UTIL_CHECK_NONEMPTY(FILE)
|
||||||
AC_PATH_PROGS(LDD, ldd)
|
AC_PATH_PROGS(LDD, ldd)
|
||||||
|
|
||||||
# Required tools
|
# First are all the fundamental required tools.
|
||||||
UTIL_REQUIRE_PROGS(ECHO, echo)
|
|
||||||
UTIL_REQUIRE_PROGS(TR, tr)
|
|
||||||
UTIL_REQUIRE_PROGS(UNAME, uname)
|
|
||||||
UTIL_REQUIRE_PROGS(WC, wc)
|
|
||||||
|
|
||||||
# Required tools with some special treatment
|
|
||||||
UTIL_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
|
|
||||||
UTIL_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
|
|
||||||
UTIL_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
|
|
||||||
|
|
||||||
# Tools only needed on some platforms
|
|
||||||
UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
|
|
||||||
UTIL_LOOKUP_PROGS(CMD, cmd.exe, $PATH:/cygdrive/c/windows/system32:/mnt/c/windows/system32:/c/windows/system32)
|
|
||||||
])
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# Setup further tools that should be resolved early but after setting up
|
|
||||||
# build platform and path handling.
|
|
||||||
AC_DEFUN_ONCE([BASIC_SETUP_TOOLS],
|
|
||||||
[
|
|
||||||
# Required tools
|
|
||||||
UTIL_REQUIRE_PROGS(BASH, bash)
|
UTIL_REQUIRE_PROGS(BASH, bash)
|
||||||
UTIL_REQUIRE_PROGS(CAT, cat)
|
UTIL_REQUIRE_PROGS(CAT, cat)
|
||||||
UTIL_REQUIRE_PROGS(CHMOD, chmod)
|
UTIL_REQUIRE_PROGS(CHMOD, chmod)
|
||||||
@@ -66,6 +45,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_TOOLS],
|
|||||||
UTIL_REQUIRE_PROGS(CUT, cut)
|
UTIL_REQUIRE_PROGS(CUT, cut)
|
||||||
UTIL_REQUIRE_PROGS(DATE, date)
|
UTIL_REQUIRE_PROGS(DATE, date)
|
||||||
UTIL_REQUIRE_PROGS(DIFF, gdiff diff)
|
UTIL_REQUIRE_PROGS(DIFF, gdiff diff)
|
||||||
|
UTIL_REQUIRE_PROGS(ECHO, echo)
|
||||||
UTIL_REQUIRE_PROGS(EXPR, expr)
|
UTIL_REQUIRE_PROGS(EXPR, expr)
|
||||||
UTIL_REQUIRE_PROGS(FIND, find)
|
UTIL_REQUIRE_PROGS(FIND, find)
|
||||||
UTIL_REQUIRE_PROGS(GUNZIP, gunzip)
|
UTIL_REQUIRE_PROGS(GUNZIP, gunzip)
|
||||||
@@ -87,18 +67,26 @@ AC_DEFUN_ONCE([BASIC_SETUP_TOOLS],
|
|||||||
UTIL_REQUIRE_PROGS(TAR, gtar tar)
|
UTIL_REQUIRE_PROGS(TAR, gtar tar)
|
||||||
UTIL_REQUIRE_PROGS(TEE, tee)
|
UTIL_REQUIRE_PROGS(TEE, tee)
|
||||||
UTIL_REQUIRE_PROGS(TOUCH, touch)
|
UTIL_REQUIRE_PROGS(TOUCH, touch)
|
||||||
|
UTIL_REQUIRE_PROGS(TR, tr)
|
||||||
|
UTIL_REQUIRE_PROGS(UNAME, uname)
|
||||||
|
UTIL_REQUIRE_PROGS(WC, wc)
|
||||||
UTIL_REQUIRE_PROGS(XARGS, xargs)
|
UTIL_REQUIRE_PROGS(XARGS, xargs)
|
||||||
|
|
||||||
# Required tools with some special treatment
|
# Then required tools that require some special treatment.
|
||||||
|
UTIL_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
|
||||||
|
UTIL_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
|
||||||
UTIL_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
|
UTIL_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
|
||||||
|
UTIL_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
|
||||||
|
|
||||||
# Optional tools, we can do without them
|
# Optional tools, we can do without them
|
||||||
UTIL_LOOKUP_PROGS(DF, df)
|
UTIL_LOOKUP_PROGS(DF, df)
|
||||||
UTIL_LOOKUP_PROGS(NICE, nice)
|
UTIL_LOOKUP_PROGS(NICE, nice)
|
||||||
UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
|
UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
|
||||||
|
|
||||||
# Tools only needed on some platforms
|
# These are only needed on some platforms
|
||||||
|
UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
|
||||||
UTIL_LOOKUP_PROGS(LSB_RELEASE, lsb_release)
|
UTIL_LOOKUP_PROGS(LSB_RELEASE, lsb_release)
|
||||||
|
UTIL_LOOKUP_PROGS(CMD, cmd.exe, $PATH:/cygdrive/c/windows/system32:/mnt/c/windows/system32:/c/windows/system32)
|
||||||
|
|
||||||
# For compare.sh only
|
# For compare.sh only
|
||||||
UTIL_LOOKUP_PROGS(CMP, cmp)
|
UTIL_LOOKUP_PROGS(CMP, cmp)
|
||||||
@@ -173,7 +161,7 @@ AC_DEFUN([BASIC_CHECK_MAKE_OUTPUT_SYNC],
|
|||||||
[
|
[
|
||||||
# Check if make supports the output sync option and if so, setup using it.
|
# Check if make supports the output sync option and if so, setup using it.
|
||||||
UTIL_ARG_WITH(NAME: output-sync, TYPE: literal,
|
UTIL_ARG_WITH(NAME: output-sync, TYPE: literal,
|
||||||
VALID_VALUES: [none recurse line target], DEFAULT: none,
|
VALID_VALUES: [none recurse line target], DEFAULT: recurse,
|
||||||
OPTIONAL: true, ENABLED_DEFAULT: true,
|
OPTIONAL: true, ENABLED_DEFAULT: true,
|
||||||
ENABLED_RESULT: OUTPUT_SYNC_SUPPORTED,
|
ENABLED_RESULT: OUTPUT_SYNC_SUPPORTED,
|
||||||
CHECKING_MSG: [for make --output-sync value],
|
CHECKING_MSG: [for make --output-sync value],
|
||||||
|
|||||||
65
make/autoconf/build-aux/config.guess
vendored
65
make/autoconf/build-aux/config.guess
vendored
@@ -29,40 +29,7 @@
|
|||||||
# and fix the broken property, if needed.
|
# and fix the broken property, if needed.
|
||||||
|
|
||||||
DIR=`dirname $0`
|
DIR=`dirname $0`
|
||||||
OUT=`. $DIR/autoconf-config.guess 2> /dev/null`
|
OUT=`. $DIR/autoconf-config.guess`
|
||||||
|
|
||||||
# Handle some cases that autoconf-config.guess is not capable of
|
|
||||||
if [ "x$OUT" = x ]; then
|
|
||||||
if [ `uname -s` = Linux ]; then
|
|
||||||
# Test and fix little endian MIPS.
|
|
||||||
if [ `uname -m` = mipsel ]; then
|
|
||||||
OUT=mipsel-unknown-linux-gnu
|
|
||||||
elif [ `uname -m` = mips64el ]; then
|
|
||||||
OUT=mips64el-unknown-linux-gnu
|
|
||||||
# Test and fix little endian PowerPC64.
|
|
||||||
elif [ `uname -m` = ppc64le ]; then
|
|
||||||
OUT=powerpc64le-unknown-linux-gnu
|
|
||||||
# Test and fix LoongArch64.
|
|
||||||
elif [ `uname -m` = loongarch64 ]; then
|
|
||||||
OUT=loongarch64-unknown-linux-gnu
|
|
||||||
# Test and fix RISC-V.
|
|
||||||
elif [ `uname -m` = riscv64 ]; then
|
|
||||||
OUT=riscv64-unknown-linux-gnu
|
|
||||||
fi
|
|
||||||
# Test and fix cygwin machine arch .x86_64
|
|
||||||
elif [[ `uname -s` = CYGWIN* ]]; then
|
|
||||||
if [ `uname -m` = ".x86_64" ]; then
|
|
||||||
OUT=x86_64-unknown-cygwin
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "x$OUT" = x ]; then
|
|
||||||
# Run autoconf-config.guess again to get the error message.
|
|
||||||
. $DIR/autoconf-config.guess > /dev/null
|
|
||||||
else
|
|
||||||
printf "guessed by custom config.guess... " >&2
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Detect C library.
|
# Detect C library.
|
||||||
# Use '-gnu' suffix on systems that use glibc.
|
# Use '-gnu' suffix on systems that use glibc.
|
||||||
@@ -114,6 +81,36 @@ if test $? = 0; then
|
|||||||
OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'`
|
OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Test and fix little endian PowerPC64.
|
||||||
|
# TODO: should be handled by autoconf-config.guess.
|
||||||
|
if [ "x$OUT" = x ]; then
|
||||||
|
if [ `uname -m` = ppc64le ]; then
|
||||||
|
if [ `uname -s` = Linux ]; then
|
||||||
|
OUT=powerpc64le-unknown-linux-gnu
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test and fix little endian MIPS.
|
||||||
|
if [ "x$OUT" = x ]; then
|
||||||
|
if [ `uname -s` = Linux ]; then
|
||||||
|
if [ `uname -m` = mipsel ]; then
|
||||||
|
OUT=mipsel-unknown-linux-gnu
|
||||||
|
elif [ `uname -m` = mips64el ]; then
|
||||||
|
OUT=mips64el-unknown-linux-gnu
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test and fix LoongArch64.
|
||||||
|
if [ "x$OUT" = x ]; then
|
||||||
|
if [ `uname -s` = Linux ]; then
|
||||||
|
if [ `uname -m` = loongarch64 ]; then
|
||||||
|
OUT=loongarch64-unknown-linux-gnu
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Test and fix cpu on macos-aarch64, uname -p reports arm, buildsys expects aarch64
|
# Test and fix cpu on macos-aarch64, uname -p reports arm, buildsys expects aarch64
|
||||||
echo $OUT | grep arm-apple-darwin > /dev/null 2> /dev/null
|
echo $OUT | grep arm-apple-darwin > /dev/null 2> /dev/null
|
||||||
if test $? != 0; then
|
if test $? != 0; then
|
||||||
|
|||||||
@@ -86,7 +86,6 @@ PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
|
|||||||
|
|
||||||
# Continue setting up basic stuff. Most remaining code require fundamental tools.
|
# Continue setting up basic stuff. Most remaining code require fundamental tools.
|
||||||
BASIC_SETUP_PATHS
|
BASIC_SETUP_PATHS
|
||||||
BASIC_SETUP_TOOLS
|
|
||||||
|
|
||||||
# Check if it's a pure open build or if custom sources are to be used.
|
# Check if it's a pure open build or if custom sources are to be used.
|
||||||
JDKOPT_SETUP_OPEN_OR_CUSTOM
|
JDKOPT_SETUP_OPEN_OR_CUSTOM
|
||||||
@@ -218,9 +217,6 @@ JDKOPT_SETUP_CODE_COVERAGE
|
|||||||
# AddressSanitizer
|
# AddressSanitizer
|
||||||
JDKOPT_SETUP_ADDRESS_SANITIZER
|
JDKOPT_SETUP_ADDRESS_SANITIZER
|
||||||
|
|
||||||
# UndefinedBehaviorSanitizer
|
|
||||||
JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
# Check dependencies for external and internal libraries.
|
# Check dependencies for external and internal libraries.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -188,10 +188,6 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
|||||||
WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
|
WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
|
||||||
|
|
||||||
DISABLED_WARNINGS="unused-parameter unused"
|
DISABLED_WARNINGS="unused-parameter unused"
|
||||||
# gcc10/11 on ppc generate lots of abi warnings about layout of aggregates containing vectors
|
|
||||||
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xppc"; then
|
|
||||||
DISABLED_WARNINGS="$DISABLED_WARNINGS psabi"
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
clang)
|
clang)
|
||||||
@@ -268,7 +264,7 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
|||||||
DISABLE_FORTIFY_CFLAGS="-U_FORTIFY_SOURCE"
|
DISABLE_FORTIFY_CFLAGS="-U_FORTIFY_SOURCE"
|
||||||
# ASan doesn't work well with _FORTIFY_SOURCE
|
# ASan doesn't work well with _FORTIFY_SOURCE
|
||||||
# See https://github.com/google/sanitizers/wiki/AddressSanitizer#faq
|
# See https://github.com/google/sanitizers/wiki/AddressSanitizer#faq
|
||||||
if test "x$ASAN_ENABLED" = xyes || test "x$USAN_ENABLED" = xyes; then
|
if test "x$ASAN_ENABLED" = xyes; then
|
||||||
ENABLE_FORTIFY_CFLAGS="${DISABLE_FORTIFY_CFLAGS}"
|
ENABLE_FORTIFY_CFLAGS="${DISABLE_FORTIFY_CFLAGS}"
|
||||||
else
|
else
|
||||||
ENABLE_FORTIFY_CFLAGS="-D_FORTIFY_SOURCE=2"
|
ENABLE_FORTIFY_CFLAGS="-D_FORTIFY_SOURCE=2"
|
||||||
@@ -645,7 +641,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
STATIC_LIBS_CFLAGS="-DSTATIC_BUILD=1"
|
STATIC_LIBS_CFLAGS="-DSTATIC_BUILD=1"
|
||||||
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -ffunction-sections -fdata-sections \
|
STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -ffunction-sections -fdata-sections \
|
||||||
-DJNIEXPORT='__attribute__((visibility(\"default\")))'"
|
-DJNIEXPORT='__attribute__((visibility(\"hidden\")))'"
|
||||||
else
|
else
|
||||||
STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -DJNIEXPORT="
|
STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -DJNIEXPORT="
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -489,14 +489,14 @@ UTIL_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
|
|||||||
UTIL_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
|
UTIL_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
|
||||||
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
|
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
|
||||||
[
|
[
|
||||||
FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: ARG_ARGUMENT,
|
FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
|
||||||
IF_TRUE: [C_COMP_SUPPORTS="yes"],
|
IF_TRUE: [C_COMP_SUPPORTS="yes"],
|
||||||
IF_FALSE: [C_COMP_SUPPORTS="no"],
|
IF_FALSE: [C_COMP_SUPPORTS="no"],
|
||||||
PREFIX: ARG_PREFIX)
|
PREFIX: [ARG_PREFIX])
|
||||||
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: ARG_ARGUMENT,
|
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
|
||||||
IF_TRUE: [CXX_COMP_SUPPORTS="yes"],
|
IF_TRUE: [CXX_COMP_SUPPORTS="yes"],
|
||||||
IF_FALSE: [CXX_COMP_SUPPORTS="no"],
|
IF_FALSE: [CXX_COMP_SUPPORTS="no"],
|
||||||
PREFIX: ARG_PREFIX)
|
PREFIX: [ARG_PREFIX])
|
||||||
|
|
||||||
AC_MSG_CHECKING([if both ARG_PREFIX[CC] and ARG_PREFIX[CXX] support "ARG_ARGUMENT"])
|
AC_MSG_CHECKING([if both ARG_PREFIX[CC] and ARG_PREFIX[CXX] support "ARG_ARGUMENT"])
|
||||||
supports=no
|
supports=no
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -248,31 +248,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
|||||||
fi
|
fi
|
||||||
AC_SUBST(HOTSPOT_OVERRIDE_LIBPATH)
|
AC_SUBST(HOTSPOT_OVERRIDE_LIBPATH)
|
||||||
|
|
||||||
# Should we build the client for the JAWS screen reader?
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xwindows; then
|
|
||||||
AC_MSG_CHECKING([if JAWS client support is enabled])
|
|
||||||
|
|
||||||
A11Y_JAWS_ANNOUNCING_ENABLED=true
|
|
||||||
AC_ARG_ENABLE(
|
|
||||||
[jaws-client],
|
|
||||||
[AS_HELP_STRING([--disable-jaws-client], [Set to disable to exclude the client for the JAWS screen reader from the build])],
|
|
||||||
[
|
|
||||||
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
|
|
||||||
AC_MSG_WARN([--[enable|disable]-jaws-client[=*] flags are ignored for headless builds])
|
|
||||||
elif test "x$enableval" != xyes; then
|
|
||||||
A11Y_JAWS_ANNOUNCING_ENABLED=false
|
|
||||||
fi
|
|
||||||
]
|
|
||||||
)
|
|
||||||
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
|
|
||||||
A11Y_JAWS_ANNOUNCING_ENABLED=false
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_RESULT([$A11Y_JAWS_ANNOUNCING_ENABLED])
|
|
||||||
else
|
|
||||||
A11Y_JAWS_ANNOUNCING_ENABLED=false
|
|
||||||
fi
|
|
||||||
AC_SUBST(A11Y_JAWS_ANNOUNCING_ENABLED)
|
|
||||||
])
|
])
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@@ -484,45 +459,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
|
|||||||
AC_SUBST(ASAN_ENABLED)
|
AC_SUBST(ASAN_ENABLED)
|
||||||
])
|
])
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
#
|
|
||||||
# UndefinedBehaviorSanitizer
|
|
||||||
#
|
|
||||||
AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
|
|
||||||
[
|
|
||||||
UTIL_ARG_ENABLE(NAME: usan, DEFAULT: false,
|
|
||||||
DESC: [enable UndefinedBehaviorSanitizer],
|
|
||||||
CHECK_AVAILABLE: [
|
|
||||||
AC_MSG_CHECKING([if UndefinedBehaviorSanitizer (usan) is available])
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
|
|
||||||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
AVAILABLE=false
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
IF_ENABLED: [
|
|
||||||
USAN_FLAGS="-fsanitize=undefined"
|
|
||||||
USAN_CFLAGS="$USAN_FLAGS -fno-omit-frame-pointer"
|
|
||||||
USAN_LDFLAGS="$USAN_FLAGS"
|
|
||||||
JVM_CFLAGS="$JVM_CFLAGS $USAN_CFLAGS"
|
|
||||||
JVM_LDFLAGS="$JVM_LDFLAGS $USAN_LDFLAGS"
|
|
||||||
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $USAN_CFLAGS"
|
|
||||||
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $USAN_CFLAGS"
|
|
||||||
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $USAN_CFLAGS"
|
|
||||||
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $USAN_CFLAGS"
|
|
||||||
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $USAN_LDFLAGS"
|
|
||||||
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $USAN_LDFLAGS"
|
|
||||||
USAN_ENABLED="yes"
|
|
||||||
],
|
|
||||||
IF_DISABLED: [
|
|
||||||
USAN_ENABLED="no"
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_SUBST(USAN_ENABLED)
|
|
||||||
])
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Static build support. When enabled will generate static
|
# Static build support. When enabled will generate static
|
||||||
@@ -783,7 +719,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_REPRODUCIBLE_BUILD],
|
|||||||
if test "x$OPENJDK_BUILD_OS" = xwindows && \
|
if test "x$OPENJDK_BUILD_OS" = xwindows && \
|
||||||
test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = xfalse && \
|
test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = xfalse && \
|
||||||
test "x$ENABLE_REPRODUCIBLE_BUILD" = xfalse; then
|
test "x$ENABLE_REPRODUCIBLE_BUILD" = xfalse; then
|
||||||
AC_MSG_NOTICE([On Windows it is not possible to combine --disable-reproducible-build])
|
AC_MSG_NOTICE([On Windows it is not possible to combine --disable-reproducible-builds])
|
||||||
AC_MSG_NOTICE([with --disable-absolute-paths-in-output.])
|
AC_MSG_NOTICE([with --disable-absolute-paths-in-output.])
|
||||||
AC_MSG_ERROR([Cannot continue])
|
AC_MSG_ERROR([Cannot continue])
|
||||||
fi
|
fi
|
||||||
@@ -812,7 +748,7 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
|
|||||||
$RM "$CODESIGN_TESTFILE"
|
$RM "$CODESIGN_TESTFILE"
|
||||||
$TOUCH "$CODESIGN_TESTFILE"
|
$TOUCH "$CODESIGN_TESTFILE"
|
||||||
CODESIGN_SUCCESS=false
|
CODESIGN_SUCCESS=false
|
||||||
eval \"$CODESIGN\" $PARAMS \"$CODESIGN_TESTFILE\" 2>&AS_MESSAGE_LOG_FD \
|
$CODESIGN $PARAMS "$CODESIGN_TESTFILE" 2>&AS_MESSAGE_LOG_FD \
|
||||||
>&AS_MESSAGE_LOG_FD && CODESIGN_SUCCESS=true
|
>&AS_MESSAGE_LOG_FD && CODESIGN_SUCCESS=true
|
||||||
$RM "$CODESIGN_TESTFILE"
|
$RM "$CODESIGN_TESTFILE"
|
||||||
AC_MSG_CHECKING([$MESSAGE])
|
AC_MSG_CHECKING([$MESSAGE])
|
||||||
@@ -825,7 +761,7 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
|
|||||||
|
|
||||||
AC_DEFUN([JDKOPT_CHECK_CODESIGN_HARDENED],
|
AC_DEFUN([JDKOPT_CHECK_CODESIGN_HARDENED],
|
||||||
[
|
[
|
||||||
JDKOPT_CHECK_CODESIGN_PARAMS([-s \"$MACOSX_CODESIGN_IDENTITY\" --option runtime],
|
JDKOPT_CHECK_CODESIGN_PARAMS([-s "$MACOSX_CODESIGN_IDENTITY" --option runtime],
|
||||||
[if codesign with hardened runtime is possible])
|
[if codesign with hardened runtime is possible])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -248,11 +248,8 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_CDS],
|
|||||||
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_DTRACE],
|
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_DTRACE],
|
||||||
[
|
[
|
||||||
JVM_FEATURES_CHECK_AVAILABILITY(dtrace, [
|
JVM_FEATURES_CHECK_AVAILABILITY(dtrace, [
|
||||||
AC_MSG_CHECKING([for dtrace tool and platform support])
|
AC_MSG_CHECKING([for dtrace tool])
|
||||||
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xppc"; then
|
if test "x$DTRACE" != "x" && test -x "$DTRACE"; then
|
||||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU_ARCH])
|
|
||||||
AVAILABLE=false
|
|
||||||
elif test "x$DTRACE" != "x" && test -x "$DTRACE"; then
|
|
||||||
AC_MSG_RESULT([$DTRACE])
|
AC_MSG_RESULT([$DTRACE])
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
|
|||||||
@@ -1,121 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# Copyright (c) 2022, JetBrains s.r.o.. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code 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
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Setup nvdacontrollerclient (The library for communication with
|
|
||||||
# NVDA - a screen reader for Microsoft Windows)
|
|
||||||
################################################################################
|
|
||||||
AC_DEFUN_ONCE([LIB_SETUP_NVDACONTROLLERCLIENT], [
|
|
||||||
# To enable NVDA, user specifies neither --with-nvdacontrollerclient or
|
|
||||||
# a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)
|
|
||||||
AC_ARG_WITH(nvdacontrollerclient, [AS_HELP_STRING([--with-nvdacontrollerclient],
|
|
||||||
[specify prefix directory for the NVDA Controller Client library package
|
|
||||||
(expecting headers and libs under PATH/<target-arch>/)])])
|
|
||||||
AC_ARG_WITH(nvdacontrollerclient-include, [AS_HELP_STRING([--with-nvdacontrollerclient-include],
|
|
||||||
[specify directory for the NVDA Controller Client include files])])
|
|
||||||
AC_ARG_WITH(nvdacontrollerclient-lib, [AS_HELP_STRING([--with-nvdacontrollerclient-lib],
|
|
||||||
[specify directory for the NVDA Controller Client library])])
|
|
||||||
|
|
||||||
NVDACONTROLLERCLIENT_FOUND=no
|
|
||||||
NVDACONTROLLERCLIENT_LIB=
|
|
||||||
NVDACONTROLLERCLIENT_DLL=
|
|
||||||
NVDACONTROLLERCLIENT_CFLAGS=
|
|
||||||
|
|
||||||
if test "x${NEEDS_LIB_NVDACONTROLLERCLIENT}" = "xtrue" ; then
|
|
||||||
if (test "x${with_nvdacontrollerclient_include}" = "x" && test "x${with_nvdacontrollerclient_lib}" != "x") || \
|
|
||||||
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" = "x") ; then
|
|
||||||
AC_MSG_ERROR([Must specify both or neither of --with-nvdacontrollerclient-include and --with-nvdacontrollerclient-lib])
|
|
||||||
elif (test "x${with_nvdacontrollerclient}" != "x" && test "x${with_nvdacontrollerclient_include}" != "x") ; then
|
|
||||||
AC_MSG_ERROR([Must specify either --with-nvdacontrollerclient or a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if (test "x${with_nvdacontrollerclient}" != "x") || \
|
|
||||||
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" != "x") ; then
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for nvdacontrollerclient])
|
|
||||||
|
|
||||||
if test "x${OPENJDK_TARGET_OS}" != "xwindows" ; then
|
|
||||||
AC_MSG_ERROR([--with-nvdacontrollerclient[-*] flags are applicable only to Windows builds])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${OPENJDK_TARGET_CPU_ARCH}" = "xaarch64" ; then
|
|
||||||
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
|
|
||||||
NVDACONTROLLERCLIENT_ARCHDIR="arm64"
|
|
||||||
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x64" ; then
|
|
||||||
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient64"
|
|
||||||
NVDACONTROLLERCLIENT_ARCHDIR="x64"
|
|
||||||
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x32" ; then
|
|
||||||
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
|
|
||||||
NVDACONTROLLERCLIENT_ARCHDIR="x86"
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([The nvdacontrollerclient library exists only for x86_32, x86_64, AArch64 architectures])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${with_nvdacontrollerclient}" != "x" ; then
|
|
||||||
# NVDACONTROLLERCLIENT_ARCHDIR is used only here
|
|
||||||
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
|
|
||||||
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
|
|
||||||
else
|
|
||||||
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient_include}"
|
|
||||||
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient_lib}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
POTENTIAL_NVDACONTROLLERCLIENT_DLL="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll"
|
|
||||||
POTENTIAL_NVDACONTROLLERCLIENT_LIB="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib"
|
|
||||||
POTENTIAL_NVDACONTROLLERCLIENT_EXP="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp"
|
|
||||||
|
|
||||||
if ! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_DLL}" || \
|
|
||||||
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_LIB}" || \
|
|
||||||
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_EXP}" ; then
|
|
||||||
AC_MSG_ERROR([Could not find ${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp inside ${NVDACONTROLLERCLIENT_BIN_PATH}])
|
|
||||||
fi
|
|
||||||
if ! test -s "${NVDACONTROLLERCLIENT_INC_PATH}/nvdaController.h" ; then
|
|
||||||
AC_MSG_ERROR([Could not find the header file nvdaController.h inside ${NVDACONTROLLERCLIENT_INC_PATH}])
|
|
||||||
fi
|
|
||||||
|
|
||||||
NVDACONTROLLERCLIENT_CFLAGS="-I${NVDACONTROLLERCLIENT_INC_PATH}"
|
|
||||||
NVDACONTROLLERCLIENT_DLL="${POTENTIAL_NVDACONTROLLERCLIENT_DLL}"
|
|
||||||
NVDACONTROLLERCLIENT_LIB="${POTENTIAL_NVDACONTROLLERCLIENT_LIB}"
|
|
||||||
NVDACONTROLLERCLIENT_FOUND=yes
|
|
||||||
|
|
||||||
AC_MSG_RESULT([includes at ${NVDACONTROLLERCLIENT_INC_PATH} ; binaries at ${NVDACONTROLLERCLIENT_BIN_PATH}])
|
|
||||||
fi
|
|
||||||
elif test "x${with_nvdacontrollerclient}" != "x" || \
|
|
||||||
test "x${with_nvdacontrollerclient_include}" != "x" || test "x${with_nvdacontrollerclient_lib}" != "x" ; then
|
|
||||||
AC_MSG_WARN([[nvdacontrollerclient is not used, so --with-nvdacontrollerclient[-*] is ignored]])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${NVDACONTROLLERCLIENT_FOUND}" = "xyes" ; then
|
|
||||||
A11Y_NVDA_ANNOUNCING_ENABLED=true
|
|
||||||
else
|
|
||||||
A11Y_NVDA_ANNOUNCING_ENABLED=false
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(A11Y_NVDA_ANNOUNCING_ENABLED)
|
|
||||||
AC_SUBST(NVDACONTROLLERCLIENT_CFLAGS)
|
|
||||||
AC_SUBST(NVDACONTROLLERCLIENT_DLL)
|
|
||||||
AC_SUBST(NVDACONTROLLERCLIENT_LIB)
|
|
||||||
])
|
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# Copyright (c) 2022, JetBrains s.r.o.. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code 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
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Setup speechd
|
|
||||||
################################################################################
|
|
||||||
AC_DEFUN_ONCE([LIB_SETUP_SPEECHD],
|
|
||||||
[
|
|
||||||
AC_ARG_WITH(speechd, [AS_HELP_STRING([--with-speechd],
|
|
||||||
[specify prefix directory for the libspeechd package
|
|
||||||
(expecting the headers under PATH/include); required for AccessibleAnnouncer to work])])
|
|
||||||
AC_ARG_WITH(speechd-include, [AS_HELP_STRING([--with-speechd-include],
|
|
||||||
[specify directory for the speechd include files])])
|
|
||||||
|
|
||||||
if test "x$NEEDS_LIB_SPEECHD" = xfalse || test "x${with_speechd}" = xno || \
|
|
||||||
test "x${with_speechd_include}" = xno; then
|
|
||||||
if (test "x${with_speechd}" != x && test "x${with_speechd}" != xno) || \
|
|
||||||
(test "x${with_speechd_include}" != x && test "x${with_speechd_include}" != xno); then
|
|
||||||
AC_MSG_WARN([[speechd not used, so --with-speechd[-*] is ignored]])
|
|
||||||
fi
|
|
||||||
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
|
|
||||||
SPEECHD_CFLAGS=
|
|
||||||
SPEECHD_LIBS=
|
|
||||||
else
|
|
||||||
SPEECHD_FOUND=no
|
|
||||||
|
|
||||||
if test "x${with_speechd}" != x && test "x${with_speechd}" != xyes; then
|
|
||||||
AC_MSG_CHECKING([for speechd header and library])
|
|
||||||
if test -s "${with_speechd}/include/libspeechd.h"; then
|
|
||||||
SPEECHD_CFLAGS="-I${with_speechd}/include"
|
|
||||||
SPEECHD_LIBS="-L${with_speechd}/lib -lspeechd"
|
|
||||||
SPEECHD_FOUND=yes
|
|
||||||
AC_MSG_RESULT([$SPEECHD_FOUND])
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd option.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "x${with_speechd_include}" != x; then
|
|
||||||
AC_MSG_CHECKING([for speechd headers])
|
|
||||||
if test -s "${with_speechd_include}/libspeechd.h"; then
|
|
||||||
SPEECHD_CFLAGS="-I${with_speechd_include}"
|
|
||||||
SPEECHD_FOUND=yes
|
|
||||||
AC_MSG_RESULT([$SPEECHD_FOUND])
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd-include option.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "x$SPEECHD_FOUND" = xno; then
|
|
||||||
# Are the libspeechd headers installed in the default /usr/include location?
|
|
||||||
AC_CHECK_HEADERS([libspeechd.h],
|
|
||||||
[ SPEECHD_FOUND=yes ],
|
|
||||||
[ SPEECHD_FOUND=no; break ]
|
|
||||||
)
|
|
||||||
if test "x$SPEECHD_FOUND" = xyes; then
|
|
||||||
SPEECHD_CFLAGS=
|
|
||||||
SPEECHD_LIBS="-lspeechd"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "x$SPEECHD_FOUND" = xno; then
|
|
||||||
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
|
|
||||||
else
|
|
||||||
A11Y_SPEECHD_ANNOUNCING_ENABLED=true
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(A11Y_SPEECHD_ANNOUNCING_ENABLED)
|
|
||||||
AC_SUBST(SPEECHD_CFLAGS)
|
|
||||||
AC_SUBST(SPEECHD_LIBS)
|
|
||||||
])
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -96,29 +96,24 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
|
|||||||
OLD_CFLAGS="$CFLAGS"
|
OLD_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS $SYSROOT_CFLAGS $X_CFLAGS"
|
CFLAGS="$CFLAGS $SYSROOT_CFLAGS $X_CFLAGS"
|
||||||
|
|
||||||
|
HEADERS_TO_CHECK="X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h"
|
||||||
|
# There is no Xrandr extension on AIX
|
||||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||||
# There is no Xrandr extension on AIX. Code is duplicated to avoid autoconf
|
|
||||||
# 2.71+ warning "AC_CHECK_HEADERS: you should use literals"
|
|
||||||
X_CFLAGS="$X_CFLAGS -DNO_XRANDR"
|
X_CFLAGS="$X_CFLAGS -DNO_XRANDR"
|
||||||
AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h],
|
|
||||||
[X11_HEADERS_OK=yes],
|
|
||||||
[X11_HEADERS_OK=no; break],
|
|
||||||
[
|
|
||||||
# include <X11/Xlib.h>
|
|
||||||
# include <X11/Xutil.h>
|
|
||||||
]
|
|
||||||
)
|
|
||||||
else
|
else
|
||||||
AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h X11/extensions/Xrandr.h],
|
HEADERS_TO_CHECK="$HEADERS_TO_CHECK X11/extensions/Xrandr.h"
|
||||||
[X11_HEADERS_OK=yes],
|
|
||||||
[X11_HEADERS_OK=no; break],
|
|
||||||
[
|
|
||||||
# include <X11/Xlib.h>
|
|
||||||
# include <X11/Xutil.h>
|
|
||||||
]
|
|
||||||
)
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10
|
||||||
|
AC_CHECK_HEADERS([$HEADERS_TO_CHECK],
|
||||||
|
[X11_HEADERS_OK=yes],
|
||||||
|
[X11_HEADERS_OK=no; break],
|
||||||
|
[
|
||||||
|
# include <X11/Xlib.h>
|
||||||
|
# include <X11/Xutil.h>
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
if test "x$X11_HEADERS_OK" = xno; then
|
if test "x$X11_HEADERS_OK" = xno; then
|
||||||
HELP_MSG_MISSING_DEPENDENCY([x11])
|
HELP_MSG_MISSING_DEPENDENCY([x11])
|
||||||
AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h Xrandr.h XTest.h Intrinsic.h). $HELP_MSG])
|
AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h Xrandr.h XTest.h Intrinsic.h). $HELP_MSG])
|
||||||
|
|||||||
@@ -32,8 +32,6 @@ m4_include([lib-freetype.m4])
|
|||||||
m4_include([lib-std.m4])
|
m4_include([lib-std.m4])
|
||||||
m4_include([lib-x11.m4])
|
m4_include([lib-x11.m4])
|
||||||
m4_include([lib-fontconfig.m4])
|
m4_include([lib-fontconfig.m4])
|
||||||
m4_include([lib-speechd.m4])
|
|
||||||
m4_include([lib-nvdacontrollerclient.m4])
|
|
||||||
m4_include([lib-tests.m4])
|
m4_include([lib-tests.m4])
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -45,15 +43,12 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
|
|||||||
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||||
# No X11 support on windows or macosx
|
# No X11 support on windows or macosx
|
||||||
NEEDS_LIB_X11=false
|
NEEDS_LIB_X11=false
|
||||||
NEEDS_LIB_SPEECHD=false
|
|
||||||
elif test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
|
elif test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
|
||||||
# No X11 support needed when building headless only
|
# No X11 support needed when building headless only
|
||||||
NEEDS_LIB_X11=false
|
NEEDS_LIB_X11=false
|
||||||
NEEDS_LIB_SPEECHD=false
|
|
||||||
else
|
else
|
||||||
# All other instances need X11
|
# All other instances need X11
|
||||||
NEEDS_LIB_X11=true
|
NEEDS_LIB_X11=true
|
||||||
NEEDS_LIB_SPEECHD=true
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if fontconfig is needed
|
# Check if fontconfig is needed
|
||||||
@@ -92,13 +87,6 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
|
|||||||
else
|
else
|
||||||
NEEDS_LIB_FFI=false
|
NEEDS_LIB_FFI=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if nvdacontrollerclient is needed
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xwindows && test "x$ENABLE_HEADLESS_ONLY" != xtrue; then
|
|
||||||
NEEDS_LIB_NVDACONTROLLERCLIENT=true
|
|
||||||
else
|
|
||||||
NEEDS_LIB_NVDACONTROLLERCLIENT=false
|
|
||||||
fi
|
|
||||||
])
|
])
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -115,8 +103,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
|||||||
LIB_SETUP_LIBFFI
|
LIB_SETUP_LIBFFI
|
||||||
LIB_SETUP_BUNDLED_LIBS
|
LIB_SETUP_BUNDLED_LIBS
|
||||||
LIB_SETUP_MISC_LIBS
|
LIB_SETUP_MISC_LIBS
|
||||||
LIB_SETUP_SPEECHD
|
|
||||||
LIB_SETUP_NVDACONTROLLERCLIENT
|
|
||||||
LIB_TESTS_SETUP_GTEST
|
LIB_TESTS_SETUP_GTEST
|
||||||
|
|
||||||
BASIC_JDKLIB_LIBS=""
|
BASIC_JDKLIB_LIBS=""
|
||||||
@@ -167,7 +153,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
|||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xwindows; then
|
if test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
|
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
|
||||||
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib powrprof.lib uuid.lib \
|
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
|
||||||
wsock32.lib winmm.lib version.lib psapi.lib"
|
wsock32.lib winmm.lib version.lib psapi.lib"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -632,7 +632,6 @@ AC_DEFUN([PLATFORM_SET_MODULE_TARGET_OS_VALUES],
|
|||||||
])
|
])
|
||||||
|
|
||||||
#%%% Build and target systems %%%
|
#%%% Build and target systems %%%
|
||||||
# Make sure to only use tools set up in BASIC_SETUP_FUNDAMENTAL_TOOLS.
|
|
||||||
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET],
|
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET],
|
||||||
[
|
[
|
||||||
# Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
|
# Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
|
||||||
@@ -719,7 +718,7 @@ AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS],
|
|||||||
[
|
[
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
# Is the target little or big endian?
|
# Is the target little of big endian?
|
||||||
#
|
#
|
||||||
AC_C_BIGENDIAN([ENDIAN="big"],[ENDIAN="little"],[ENDIAN="unknown"],[ENDIAN="universal_endianness"])
|
AC_C_BIGENDIAN([ENDIAN="big"],[ENDIAN="little"],[ENDIAN="unknown"],[ENDIAN="universal_endianness"])
|
||||||
|
|
||||||
|
|||||||
@@ -428,16 +428,7 @@ JCOV_FILTERS=@JCOV_FILTERS@
|
|||||||
export ASAN_ENABLED:=@ASAN_ENABLED@
|
export ASAN_ENABLED:=@ASAN_ENABLED@
|
||||||
export DEVKIT_LIB_DIR:=@DEVKIT_LIB_DIR@
|
export DEVKIT_LIB_DIR:=@DEVKIT_LIB_DIR@
|
||||||
ifeq ($(ASAN_ENABLED), yes)
|
ifeq ($(ASAN_ENABLED), yes)
|
||||||
export ASAN_OPTIONS=handle_segv=0:handle_sigfpe=0:detect_leaks=false
|
export ASAN_OPTIONS=handle_segv=0 detect_leaks=0
|
||||||
ifneq ($(DEVKIT_LIB_DIR),)
|
|
||||||
export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# UndefinedBehaviorSanitizer
|
|
||||||
export USAN_ENABLED:=@USAN_ENABLED@
|
|
||||||
export DEVKIT_LIB_DIR:=@DEVKIT_LIB_DIR@
|
|
||||||
ifeq ($(USAN_ENABLED), yes)
|
|
||||||
ifneq ($(DEVKIT_LIB_DIR),)
|
ifneq ($(DEVKIT_LIB_DIR),)
|
||||||
export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
|
export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
|
||||||
endif
|
endif
|
||||||
@@ -447,20 +438,6 @@ endif
|
|||||||
X_CFLAGS:=@X_CFLAGS@
|
X_CFLAGS:=@X_CFLAGS@
|
||||||
X_LIBS:=@X_LIBS@
|
X_LIBS:=@X_LIBS@
|
||||||
|
|
||||||
# Linux speechd a11y announcer
|
|
||||||
A11Y_SPEECHD_ANNOUNCING_ENABLED:=@A11Y_SPEECHD_ANNOUNCING_ENABLED@
|
|
||||||
SPEECHD_CFLAGS:=@SPEECHD_CFLAGS@
|
|
||||||
SPEECHD_LIBS:=@SPEECHD_LIBS@
|
|
||||||
|
|
||||||
# Windows NVDA a11y announcer
|
|
||||||
A11Y_NVDA_ANNOUNCING_ENABLED:=@A11Y_NVDA_ANNOUNCING_ENABLED@
|
|
||||||
NVDACONTROLLERCLIENT_CFLAGS:=@NVDACONTROLLERCLIENT_CFLAGS@
|
|
||||||
NVDACONTROLLERCLIENT_DLL:=@NVDACONTROLLERCLIENT_DLL@
|
|
||||||
NVDACONTROLLERCLIENT_LIB:=@NVDACONTROLLERCLIENT_LIB@
|
|
||||||
|
|
||||||
# Windows the client for the JAWS screen reader
|
|
||||||
A11Y_JAWS_ANNOUNCING_ENABLED:=@A11Y_JAWS_ANNOUNCING_ENABLED@
|
|
||||||
|
|
||||||
# The lowest required version of macosx
|
# The lowest required version of macosx
|
||||||
MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@
|
MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@
|
||||||
# The highest allowed version of macosx
|
# The highest allowed version of macosx
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -52,7 +52,7 @@ m4_include([util_paths.m4])
|
|||||||
AC_DEFUN([UTIL_DEFUN_NAMED],
|
AC_DEFUN([UTIL_DEFUN_NAMED],
|
||||||
[
|
[
|
||||||
AC_DEFUN($1, [
|
AC_DEFUN($1, [
|
||||||
m4_foreach([arg], m4_split(m4_normalize($2)), [
|
m4_foreach(arg, m4_split(m4_normalize($2)), [
|
||||||
m4_if(m4_bregexp(arg, [^\*]), -1,
|
m4_if(m4_bregexp(arg, [^\*]), -1,
|
||||||
[
|
[
|
||||||
m4_set_add(legal_named_args, arg)
|
m4_set_add(legal_named_args, arg)
|
||||||
@@ -64,18 +64,13 @@ AC_DEFUN([UTIL_DEFUN_NAMED],
|
|||||||
)
|
)
|
||||||
])
|
])
|
||||||
|
|
||||||
# Delicate quoting and unquoting sequence to ensure the actual value is passed along unchanged
|
m4_foreach([arg], [$3], [
|
||||||
# For details on how this works, see https://git.openjdk.org/jdk/pull/11458#discussion_r1038173051
|
m4_if(m4_bregexp(arg, [: ]), -1, m4_define([arg], m4_bpatsubst(arg, [:], [: ])))
|
||||||
# WARNING: Proceed at the risk of your own sanity, getting this to work has made me completely
|
m4_define(arg_name, m4_substr(arg, 0, m4_bregexp(arg, [: ])))
|
||||||
# incapable of feeling love or any other positive emotion
|
|
||||||
# ~Julian
|
|
||||||
m4_foreach([arg], m4_dquote(m4_dquote_elt($3)), [
|
|
||||||
m4_if(m4_index(arg, [: ]), -1, [m4_define([arg], m4_dquote(m4_bpatsubst(m4_dquote(arg), [:], [: ])))])
|
|
||||||
m4_define(arg_name, m4_substr(arg, 0, m4_index(arg, [: ])))
|
|
||||||
m4_set_contains(legal_named_args, arg_name, [],[AC_MSG_ERROR([Internal error: m4_if(arg_name, , arg, arg_name) is not a valid named argument to [$1]. Valid arguments are 'm4_set_contents(defined_args, [ ]) m4_set_contents(legal_named_args, [ ])'.])])
|
m4_set_contains(legal_named_args, arg_name, [],[AC_MSG_ERROR([Internal error: m4_if(arg_name, , arg, arg_name) is not a valid named argument to [$1]. Valid arguments are 'm4_set_contents(defined_args, [ ]) m4_set_contents(legal_named_args, [ ])'.])])
|
||||||
m4_set_remove(required_named_args, arg_name)
|
m4_set_remove(required_named_args, arg_name)
|
||||||
m4_set_remove(legal_named_args, arg_name)
|
m4_set_remove(legal_named_args, arg_name)
|
||||||
m4_pushdef([ARG_][]arg_name, m4_bpatsubst(m4_bpatsubst(m4_dquote(m4_dquote(arg)), arg_name[: ]), [^\s*]))
|
m4_pushdef([ARG_][]arg_name, m4_bpatsubst(m4_substr(arg, m4_incr(m4_incr(m4_bregexp(arg, [: ])))), [^\s*], []))
|
||||||
m4_set_add(defined_args, arg_name)
|
m4_set_add(defined_args, arg_name)
|
||||||
m4_undefine([arg_name])
|
m4_undefine([arg_name])
|
||||||
])
|
])
|
||||||
@@ -235,6 +230,8 @@ AC_DEFUN([UTIL_GET_MATCHING_VALUES],
|
|||||||
# Converts an ISO-8601 date/time string to a unix epoch timestamp. If no
|
# Converts an ISO-8601 date/time string to a unix epoch timestamp. If no
|
||||||
# suitable conversion method was found, an empty string is returned.
|
# suitable conversion method was found, an empty string is returned.
|
||||||
#
|
#
|
||||||
|
# Sets the specified variable to the resulting list.
|
||||||
|
#
|
||||||
# $1: result variable name
|
# $1: result variable name
|
||||||
# $2: input date/time string
|
# $2: input date/time string
|
||||||
AC_DEFUN([UTIL_GET_EPOCH_TIMESTAMP],
|
AC_DEFUN([UTIL_GET_EPOCH_TIMESTAMP],
|
||||||
@@ -244,16 +241,11 @@ AC_DEFUN([UTIL_GET_EPOCH_TIMESTAMP],
|
|||||||
timestamp=$($DATE --utc --date=$2 +"%s" 2> /dev/null)
|
timestamp=$($DATE --utc --date=$2 +"%s" 2> /dev/null)
|
||||||
else
|
else
|
||||||
# BSD date
|
# BSD date
|
||||||
# ISO-8601 date&time in Zulu 'date'T'time'Z
|
timestamp=$($DATE -u -j -f "%F %T" "$2" "+%s" 2> /dev/null)
|
||||||
timestamp=$($DATE -u -j -f "%FT%TZ" "$2" "+%s" 2> /dev/null)
|
|
||||||
if test "x$timestamp" = x; then
|
if test "x$timestamp" = x; then
|
||||||
# BSD date cannot handle trailing milliseconds.
|
# Perhaps the time was missing
|
||||||
# Try again ignoring characters at end
|
timestamp=$($DATE -u -j -f "%F %T" "$2 00:00:00" "+%s" 2> /dev/null)
|
||||||
timestamp=$($DATE -u -j -f "%Y-%m-%dT%H:%M:%S" "$2" "+%s" 2> /dev/null)
|
# If this did not work, we give up and return the empty string
|
||||||
fi
|
|
||||||
if test "x$timestamp" = x; then
|
|
||||||
# Perhaps the time was missing.
|
|
||||||
timestamp=$($DATE -u -j -f "%FT%TZ" "$2""T00:00:00Z" "+%s" 2> /dev/null)
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
$1=$timestamp
|
$1=$timestamp
|
||||||
@@ -381,18 +373,18 @@ UTIL_DEFUN_NAMED([UTIL_ARG_ENABLE],
|
|||||||
m4_define(ARG_GIVEN, m4_translit(ARG_NAME, [a-z-], [A-Z_])[_GIVEN])
|
m4_define(ARG_GIVEN, m4_translit(ARG_NAME, [a-z-], [A-Z_])[_GIVEN])
|
||||||
|
|
||||||
# If DESC is not specified, set it to a generic description.
|
# If DESC is not specified, set it to a generic description.
|
||||||
m4_define([ARG_DESC], m4_if(m4_quote(ARG_DESC), , [[Enable the ARG_NAME feature]], [m4_normalize(ARG_DESC)]))
|
m4_define([ARG_DESC], m4_if(ARG_DESC, , [Enable the ARG_NAME feature], m4_normalize(ARG_DESC)))
|
||||||
|
|
||||||
# If CHECKING_MSG is not specified, set it to a generic description.
|
# If CHECKING_MSG is not specified, set it to a generic description.
|
||||||
m4_define([ARG_CHECKING_MSG], m4_if(m4_quote(ARG_CHECKING_MSG), , [[for --enable-ARG_NAME]], [m4_normalize(ARG_CHECKING_MSG)]))
|
m4_define([ARG_CHECKING_MSG], m4_if(ARG_CHECKING_MSG, , [for --enable-ARG_NAME], m4_normalize(ARG_CHECKING_MSG)))
|
||||||
|
|
||||||
# If the code blocks are not given, set them to the empty statements to avoid
|
# If the code blocks are not given, set them to the empty statements to avoid
|
||||||
# tripping up bash.
|
# tripping up bash.
|
||||||
m4_if(ARG_CHECK_AVAILABLE, , [m4_define([ARG_CHECK_AVAILABLE], [:])])
|
m4_define([ARG_CHECK_AVAILABLE], m4_if(ARG_CHECK_AVAILABLE, , :, ARG_CHECK_AVAILABLE))
|
||||||
m4_if(ARG_IF_GIVEN, , [m4_define([ARG_IF_GIVEN], [:])])
|
m4_define([ARG_IF_GIVEN], m4_if(ARG_IF_GIVEN, , :, ARG_IF_GIVEN))
|
||||||
m4_if(ARG_IF_NOT_GIVEN, , [m4_define([ARG_IF_NOT_GIVEN], [:])])
|
m4_define([ARG_IF_NOT_GIVEN], m4_if(ARG_IF_NOT_GIVEN, , :, ARG_IF_NOT_GIVEN))
|
||||||
m4_if(ARG_IF_ENABLED, , [m4_define([ARG_IF_ENABLED], [:])])
|
m4_define([ARG_IF_ENABLED], m4_if(ARG_IF_ENABLED, , :, ARG_IF_ENABLED))
|
||||||
m4_if(ARG_IF_DISABLED, , [m4_define([ARG_IF_DISABLED], [:])])
|
m4_define([ARG_IF_DISABLED], m4_if(ARG_IF_DISABLED, , :, ARG_IF_DISABLED))
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# Part 2: Set up autoconf shell code
|
# Part 2: Set up autoconf shell code
|
||||||
@@ -655,21 +647,21 @@ UTIL_DEFUN_NAMED([UTIL_ARG_WITH],
|
|||||||
m4_define(ARG_GIVEN, m4_translit(ARG_NAME, [a-z-], [A-Z_])[_GIVEN])
|
m4_define(ARG_GIVEN, m4_translit(ARG_NAME, [a-z-], [A-Z_])[_GIVEN])
|
||||||
|
|
||||||
# If DESC is not specified, set it to a generic description.
|
# If DESC is not specified, set it to a generic description.
|
||||||
m4_define([ARG_DESC], m4_if(m4_quote(ARG_DESC), , [[Give a value for the ARG_NAME feature]], [m4_normalize(ARG_DESC)]))
|
m4_define([ARG_DESC], m4_if(ARG_DESC, , [Give a value for the ARG_NAME feature], m4_normalize(ARG_DESC)))
|
||||||
|
|
||||||
# If CHECKING_MSG is not specified, set it to a generic description.
|
# If CHECKING_MSG is not specified, set it to a generic description.
|
||||||
m4_define([ARG_CHECKING_MSG], m4_if(m4_quote(ARG_CHECKING_MSG), , [[for --with-ARG_NAME]], [m4_normalize(ARG_CHECKING_MSG)]))
|
m4_define([ARG_CHECKING_MSG], m4_if(ARG_CHECKING_MSG, , [for --with-ARG_NAME], m4_normalize(ARG_CHECKING_MSG)))
|
||||||
|
|
||||||
m4_define([ARG_HAS_AUTO_BLOCK], m4_if(ARG_IF_AUTO, , false, true))
|
m4_define([ARG_HAS_AUTO_BLOCK], m4_if(ARG_IF_AUTO, , false, true))
|
||||||
|
|
||||||
# If the code blocks are not given, set them to the empty statements to avoid
|
# If the code blocks are not given, set them to the empty statements to avoid
|
||||||
# tripping up bash.
|
# tripping up bash.
|
||||||
m4_if(ARG_CHECK_AVAILABLE, , [m4_define([ARG_CHECK_AVAILABLE], [:])])
|
m4_define([ARG_CHECK_AVAILABLE], m4_if(ARG_CHECK_AVAILABLE, , :, ARG_CHECK_AVAILABLE))
|
||||||
m4_if(ARG_CHECK_VALUE, , [m4_define([ARG_CHECK_VALUE], [:])])
|
m4_define([ARG_CHECK_VALUE], m4_if(ARG_CHECK_VALUE, , :, ARG_CHECK_VALUE))
|
||||||
m4_if(ARG_CHECK_FOR_FILES, , [m4_define([ARG_CHECK_FOR_FILES], [:])])
|
m4_define([ARG_CHECK_FOR_FILES], m4_if(ARG_CHECK_FOR_FILES, , :, ARG_CHECK_FOR_FILES))
|
||||||
m4_if(ARG_IF_AUTO, , [m4_define([ARG_IF_AUTO], [:])])
|
m4_define([ARG_IF_AUTO], m4_if(ARG_IF_AUTO, , :, ARG_IF_AUTO))
|
||||||
m4_if(ARG_IF_GIVEN, , [m4_define([ARG_IF_GIVEN], [:])])
|
m4_define([ARG_IF_GIVEN], m4_if(ARG_IF_GIVEN, , :, ARG_IF_GIVEN))
|
||||||
m4_if(ARG_IF_NOT_GIVEN, , [m4_define([ARG_IF_NOT_GIVEN], [:])])
|
m4_define([ARG_IF_NOT_GIVEN], m4_if(ARG_IF_NOT_GIVEN, , :, ARG_IF_NOT_GIVEN))
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# Part 2: Set up autoconf shell code
|
# Part 2: Set up autoconf shell code
|
||||||
@@ -707,6 +699,7 @@ UTIL_DEFUN_NAMED([UTIL_ARG_WITH],
|
|||||||
ARG_CHECK_AVAILABLE
|
ARG_CHECK_AVAILABLE
|
||||||
|
|
||||||
# Check if the option should be turned on
|
# Check if the option should be turned on
|
||||||
|
echo check msg:ARG_CHECKING_MSG:
|
||||||
AC_MSG_CHECKING(ARG_CHECKING_MSG)
|
AC_MSG_CHECKING(ARG_CHECKING_MSG)
|
||||||
|
|
||||||
if test x$AVAILABLE = xfalse; then
|
if test x$AVAILABLE = xfalse; then
|
||||||
|
|||||||
@@ -307,36 +307,17 @@ endef
|
|||||||
# There are two versions, either creating a relative or an absolute link. Be
|
# There are two versions, either creating a relative or an absolute link. Be
|
||||||
# careful when using this on Windows since the symlink created is only valid in
|
# careful when using this on Windows since the symlink created is only valid in
|
||||||
# the unix emulation environment.
|
# the unix emulation environment.
|
||||||
# In msys2 we use mklink /J because its ln would perform a deep copy of the target.
|
define link-file-relative
|
||||||
# This inhibits performance and can lead to issues with long paths. With mklink /J
|
|
||||||
# relative linking does not work, so we handle the link as absolute path.
|
|
||||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
|
||||||
define link-file-relative
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
|
||||||
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
define link-file-relative
|
|
||||||
$(call MakeTargetDir)
|
$(call MakeTargetDir)
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
$(RM) '$(call DecodeSpace, $@)'
|
||||||
$(LN) -s '$(call DecodeSpace, $(call RelativePath, $<, $(@D)))' '$(call DecodeSpace, $@)'
|
$(LN) -s '$(call DecodeSpace, $(call RelativePath, $<, $(@D)))' '$(call DecodeSpace, $@)'
|
||||||
endef
|
endef
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
define link-file-absolute
|
||||||
define link-file-absolute
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
|
||||||
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
define link-file-absolute
|
|
||||||
$(call MakeTargetDir)
|
$(call MakeTargetDir)
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
$(RM) '$(call DecodeSpace, $@)'
|
||||||
$(LN) -s '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
$(LN) -s '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||||
endef
|
endef
|
||||||
endif
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
|||||||
@@ -343,15 +343,10 @@ define SetupCompileNativeFileBody
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(DISABLE_WARNING_PREFIX), )
|
|
||||||
$1_WARNINGS_FLAGS := $$(addprefix $(DISABLE_WARNING_PREFIX), \
|
|
||||||
$$($$($1_BASE)_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)_$$($1_FILENAME)))
|
|
||||||
endif
|
|
||||||
|
|
||||||
$1_BASE_CFLAGS := $$($$($1_BASE)_CFLAGS) $$($$($1_BASE)_EXTRA_CFLAGS) \
|
$1_BASE_CFLAGS := $$($$($1_BASE)_CFLAGS) $$($$($1_BASE)_EXTRA_CFLAGS) \
|
||||||
$$($$($1_BASE)_SYSROOT_CFLAGS) $$($1_WARNINGS_FLAGS)
|
$$($$($1_BASE)_SYSROOT_CFLAGS)
|
||||||
$1_BASE_CXXFLAGS := $$($$($1_BASE)_CXXFLAGS) $$($$($1_BASE)_EXTRA_CXXFLAGS) \
|
$1_BASE_CXXFLAGS := $$($$($1_BASE)_CXXFLAGS) $$($$($1_BASE)_EXTRA_CXXFLAGS) \
|
||||||
$$($$($1_BASE)_SYSROOT_CFLAGS) $$($1_EXTRA_CXXFLAGS) $$($1_WARNINGS_FLAGS)
|
$$($$($1_BASE)_SYSROOT_CFLAGS) $$($1_EXTRA_CXXFLAGS)
|
||||||
$1_BASE_ASFLAGS := $$($$($1_BASE)_ASFLAGS) $$($$($1_BASE)_EXTRA_ASFLAGS)
|
$1_BASE_ASFLAGS := $$($$($1_BASE)_ASFLAGS) $$($$($1_BASE)_EXTRA_ASFLAGS)
|
||||||
|
|
||||||
ifneq ($$(filter %.c, $$($1_FILENAME)), )
|
ifneq ($$(filter %.c, $$($1_FILENAME)), )
|
||||||
|
|||||||
@@ -26,16 +26,16 @@
|
|||||||
# Versions and download locations for dependencies used by GitHub Actions (GHA)
|
# Versions and download locations for dependencies used by GitHub Actions (GHA)
|
||||||
|
|
||||||
GTEST_VERSION=1.8.1
|
GTEST_VERSION=1.8.1
|
||||||
JTREG_VERSION=6.1+3
|
JTREG_VERSION=6.1+2
|
||||||
|
|
||||||
LINUX_X64_BOOT_JDK_EXT=tar.gz
|
LINUX_X64_BOOT_JDK_EXT=tar.gz
|
||||||
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz
|
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz
|
||||||
LINUX_X64_BOOT_JDK_SHA256=a0b1b9dd809d51a438f5fa08918f9aca7b2135721097f0858cf29f77a35d4289
|
LINUX_X64_BOOT_JDK_SHA256=288f34e3ba8a4838605636485d0365ce23e57d5f2f68997ac4c2e4c01967cd48
|
||||||
|
|
||||||
WINDOWS_X64_BOOT_JDK_EXT=zip
|
WINDOWS_X64_BOOT_JDK_EXT=zip
|
||||||
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jdk_x64_windows_hotspot_17.0.6_10.zip
|
WINDOWS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_windows_hotspot_17.0.2_8.zip
|
||||||
WINDOWS_X64_BOOT_JDK_SHA256=d544c4f00d414a1484c0a5c1758544f30f308c4df33f9a28bd4a404215d0d444
|
WINDOWS_X64_BOOT_JDK_SHA256=d083479ca927dce2f586f779373d895e8bf668c632505740279390384edf03fa
|
||||||
|
|
||||||
MACOS_X64_BOOT_JDK_EXT=tar.gz
|
MACOS_X64_BOOT_JDK_EXT=tar.gz
|
||||||
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jdk_x64_mac_hotspot_17.0.6_10.tar.gz
|
MACOS_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.2%2B8/OpenJDK17U-jdk_x64_mac_hotspot_17.0.2_8.tar.gz
|
||||||
MACOS_X64_BOOT_JDK_SHA256=faa2927584cf2bd0a35d2ac727b9f22725e23b2b24abfb3b2ac7140f4d65fbb4
|
MACOS_X64_BOOT_JDK_SHA256=3630e21a571b7180876bf08f85d0aac0bdbb3267b2ae9bd242f4933b21f9be32
|
||||||
|
|||||||
@@ -67,7 +67,6 @@
|
|||||||
* input.build_osenv
|
* input.build_osenv
|
||||||
* input.build_osenv_cpu
|
* input.build_osenv_cpu
|
||||||
* input.build_osenv_platform
|
* input.build_osenv_platform
|
||||||
* input.build_osenv_version
|
|
||||||
*
|
*
|
||||||
* For more complex nested attributes, there is a method "get":
|
* For more complex nested attributes, there is a method "get":
|
||||||
*
|
*
|
||||||
@@ -1048,10 +1047,10 @@ var getJibProfilesProfiles = function (input, common, data) {
|
|||||||
var getJibProfilesDependencies = function (input, common) {
|
var getJibProfilesDependencies = function (input, common) {
|
||||||
|
|
||||||
var devkit_platform_revisions = {
|
var devkit_platform_revisions = {
|
||||||
linux_x64: "gcc11.2.0-OL6.4+1.0",
|
linux_x64: "gcc10.3.0-OL6.4+1.0",
|
||||||
macosx: "Xcode12.4+1.0",
|
macosx: "Xcode12.4+1.0",
|
||||||
windows_x64: "VS2022-17.1.0+1.0",
|
windows_x64: "VS2022-17.1.0+1.0",
|
||||||
linux_aarch64: "gcc11.2.0-OL7.6+1.0",
|
linux_aarch64: "gcc10.3.0-OL7.6+1.0",
|
||||||
linux_arm: "gcc8.2.0-Fedora27+1.0",
|
linux_arm: "gcc8.2.0-Fedora27+1.0",
|
||||||
linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
|
linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
|
||||||
linux_s390x: "gcc8.2.0-Fedora27+1.0"
|
linux_s390x: "gcc8.2.0-Fedora27+1.0"
|
||||||
@@ -1099,23 +1098,9 @@ var getJibProfilesDependencies = function (input, common) {
|
|||||||
environment_path: common.boot_jdk_home + "/bin"
|
environment_path: common.boot_jdk_home + "/bin"
|
||||||
}
|
}
|
||||||
|
|
||||||
var makeRevision = "4.0+1.0";
|
var makeBinDir = (input.build_os == "windows"
|
||||||
var makeBinSubDir = "/bin";
|
? input.get("gnumake", "install_path") + "/cygwin/bin"
|
||||||
var makeModule = "gnumake-" + input.build_platform;
|
: input.get("gnumake", "install_path") + "/bin");
|
||||||
if (input.build_os == "windows") {
|
|
||||||
makeModule = "gnumake-" + input.build_osenv_platform;
|
|
||||||
if (input.build_osenv == "cygwin") {
|
|
||||||
var versionArray = input.build_osenv_version.split(/\./);
|
|
||||||
var majorVer = parseInt(versionArray[0]);
|
|
||||||
var minorVer = parseInt(versionArray[1]);
|
|
||||||
if (majorVer > 3 || (majorVer == 3 && minorVer >= 3)) {
|
|
||||||
makeRevision = "4.3+1.0";
|
|
||||||
} else {
|
|
||||||
makeBinSubDir = "/cygwin/bin";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var makeBinDir = input.get("gnumake", "install_path") + makeBinSubDir;
|
|
||||||
|
|
||||||
var dependencies = {
|
var dependencies = {
|
||||||
boot_jdk: boot_jdk,
|
boot_jdk: boot_jdk,
|
||||||
@@ -1187,12 +1172,18 @@ var getJibProfilesDependencies = function (input, common) {
|
|||||||
gnumake: {
|
gnumake: {
|
||||||
organization: common.organization,
|
organization: common.organization,
|
||||||
ext: "tar.gz",
|
ext: "tar.gz",
|
||||||
revision: makeRevision,
|
revision: "4.0+1.0",
|
||||||
module: makeModule,
|
|
||||||
|
module: (input.build_os == "windows"
|
||||||
|
? "gnumake-" + input.build_osenv_platform
|
||||||
|
: "gnumake-" + input.build_platform),
|
||||||
|
|
||||||
configure_args: "MAKE=" + makeBinDir + "/make",
|
configure_args: "MAKE=" + makeBinDir + "/make",
|
||||||
|
|
||||||
environment: {
|
environment: {
|
||||||
"MAKE": makeBinDir + "/make"
|
"MAKE": makeBinDir + "/make"
|
||||||
},
|
},
|
||||||
|
|
||||||
environment_path: makeBinDir
|
environment_path: makeBinDir
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -28,12 +28,12 @@
|
|||||||
|
|
||||||
DEFAULT_VERSION_FEATURE=17
|
DEFAULT_VERSION_FEATURE=17
|
||||||
DEFAULT_VERSION_INTERIM=0
|
DEFAULT_VERSION_INTERIM=0
|
||||||
DEFAULT_VERSION_UPDATE=8
|
DEFAULT_VERSION_UPDATE=6
|
||||||
DEFAULT_VERSION_PATCH=0
|
DEFAULT_VERSION_PATCH=0
|
||||||
DEFAULT_VERSION_EXTRA1=0
|
DEFAULT_VERSION_EXTRA1=0
|
||||||
DEFAULT_VERSION_EXTRA2=0
|
DEFAULT_VERSION_EXTRA2=0
|
||||||
DEFAULT_VERSION_EXTRA3=0
|
DEFAULT_VERSION_EXTRA3=0
|
||||||
DEFAULT_VERSION_DATE=2023-07-18
|
DEFAULT_VERSION_DATE=2023-01-17
|
||||||
DEFAULT_VERSION_CLASSFILE_MAJOR=61 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
DEFAULT_VERSION_CLASSFILE_MAJOR=61 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||||
DEFAULT_VERSION_DOCS_API_SINCE=11
|
DEFAULT_VERSION_DOCS_API_SINCE=11
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
Owner: CN=Certigna, O=Dhimyotis, C=FR
|
|
||||||
Issuer: CN=Certigna, O=Dhimyotis, C=FR
|
|
||||||
Serial number: fedce3010fc948ff
|
|
||||||
Valid from: Fri Jun 29 15:13:05 GMT 2007 until: Tue Jun 29 15:13:05 GMT 2027
|
|
||||||
Signature algorithm name: SHA1withRSA
|
|
||||||
Subject Public Key Algorithm: 2048-bit RSA key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV
|
|
||||||
BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X
|
|
||||||
DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ
|
|
||||||
BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3
|
|
||||||
DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4
|
|
||||||
QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny
|
|
||||||
gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw
|
|
||||||
zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q
|
|
||||||
130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2
|
|
||||||
JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw
|
|
||||||
DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw
|
|
||||||
ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT
|
|
||||||
AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj
|
|
||||||
AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG
|
|
||||||
9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h
|
|
||||||
bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc
|
|
||||||
fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu
|
|
||||||
HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w
|
|
||||||
t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
|
|
||||||
WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
Owner: CN=GTS Root R1, O=Google Trust Services LLC, C=US
|
|
||||||
Issuer: CN=GTS Root R1, O=Google Trust Services LLC, C=US
|
|
||||||
Serial number: 203e5936f31b01349886ba217
|
|
||||||
Valid from: Wed Jun 22 00:00:00 GMT 2016 until: Sun Jun 22 00:00:00 GMT 2036
|
|
||||||
Signature algorithm name: SHA384withRSA
|
|
||||||
Subject Public Key Algorithm: 4096-bit RSA key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw
|
|
||||||
CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
|
|
||||||
MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
|
|
||||||
MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
|
|
||||||
Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA
|
|
||||||
A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo
|
|
||||||
27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w
|
|
||||||
Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw
|
|
||||||
TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl
|
|
||||||
qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH
|
|
||||||
szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8
|
|
||||||
Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk
|
|
||||||
MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92
|
|
||||||
wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p
|
|
||||||
aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN
|
|
||||||
VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID
|
|
||||||
AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
|
|
||||||
FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb
|
|
||||||
C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe
|
|
||||||
QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy
|
|
||||||
h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4
|
|
||||||
7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J
|
|
||||||
ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef
|
|
||||||
MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/
|
|
||||||
Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT
|
|
||||||
6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ
|
|
||||||
0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm
|
|
||||||
2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb
|
|
||||||
bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
Owner: CN=GTS Root R2, O=Google Trust Services LLC, C=US
|
|
||||||
Issuer: CN=GTS Root R2, O=Google Trust Services LLC, C=US
|
|
||||||
Serial number: 203e5aec58d04251aab1125aa
|
|
||||||
Valid from: Wed Jun 22 00:00:00 GMT 2016 until: Sun Jun 22 00:00:00 GMT 2036
|
|
||||||
Signature algorithm name: SHA384withRSA
|
|
||||||
Subject Public Key Algorithm: 4096-bit RSA key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQsw
|
|
||||||
CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
|
|
||||||
MBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw
|
|
||||||
MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp
|
|
||||||
Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUA
|
|
||||||
A4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3LvCvpt
|
|
||||||
nfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY
|
|
||||||
6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAu
|
|
||||||
MC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7k
|
|
||||||
RXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWg
|
|
||||||
f9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1mKPV
|
|
||||||
+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K8Yzo
|
|
||||||
dDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW
|
|
||||||
Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKa
|
|
||||||
G73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCq
|
|
||||||
gc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwID
|
|
||||||
AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
|
|
||||||
FgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBAB/Kzt3H
|
|
||||||
vqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8
|
|
||||||
0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyC
|
|
||||||
B19m3H0Q/gxhswWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2u
|
|
||||||
NmSRXbBoGOqKYcl3qJfEycel/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMg
|
|
||||||
yALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVnjWQye+mew4K6Ki3pHrTgSAai/Gev
|
|
||||||
HyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y59PYjJbigapordwj6
|
|
||||||
xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M7YNR
|
|
||||||
TOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924Sg
|
|
||||||
JPFI/2R80L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV
|
|
||||||
7LXTWtiBmelDGDfrs7vRWGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl
|
|
||||||
6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjWHYbL
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
Owner: CN=GTS Root R3, O=Google Trust Services LLC, C=US
|
|
||||||
Issuer: CN=GTS Root R3, O=Google Trust Services LLC, C=US
|
|
||||||
Serial number: 203e5b882eb20f825276d3d66
|
|
||||||
Valid from: Wed Jun 22 00:00:00 GMT 2016 until: Sun Jun 22 00:00:00 GMT 2036
|
|
||||||
Signature algorithm name: SHA384withECDSA
|
|
||||||
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYD
|
|
||||||
VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG
|
|
||||||
A1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw
|
|
||||||
WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz
|
|
||||||
IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQAIgNi
|
|
||||||
AAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout736G
|
|
||||||
jOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL2
|
|
||||||
4CejQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
|
|
||||||
BBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7
|
|
||||||
VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azTL818+FsuVbu/3ZL3pAzcMeGiAjEA/Jdm
|
|
||||||
ZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV11RZt+cRLInUue4X
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
Owner: CN=GTS Root R4, O=Google Trust Services LLC, C=US
|
|
||||||
Issuer: CN=GTS Root R4, O=Google Trust Services LLC, C=US
|
|
||||||
Serial number: 203e5c068ef631a9c72905052
|
|
||||||
Valid from: Wed Jun 22 00:00:00 GMT 2016 until: Sun Jun 22 00:00:00 GMT 2036
|
|
||||||
Signature algorithm name: SHA384withECDSA
|
|
||||||
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYD
|
|
||||||
VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG
|
|
||||||
A1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw
|
|
||||||
WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz
|
|
||||||
IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi
|
|
||||||
AATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzuhXyi
|
|
||||||
QHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvR
|
|
||||||
HYqjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
|
|
||||||
BBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D
|
|
||||||
9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/Cr8deVl5c1RxYIigL9zC2L7F8AjEA8GE8
|
|
||||||
p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh4rsUecrNIdSUtUlD
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
Owner: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US
|
|
||||||
Issuer: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US
|
|
||||||
Serial number: 66f23daf87de8bb14aea0c573101c2ec
|
|
||||||
Valid from: Wed Dec 18 23:06:45 GMT 2019 until: Fri Jul 18 23:16:04 GMT 2042
|
|
||||||
Signature algorithm name: SHA384withECDSA
|
|
||||||
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw
|
|
||||||
CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD
|
|
||||||
VQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
|
|
||||||
MTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV
|
|
||||||
UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy
|
|
||||||
b3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq
|
|
||||||
hkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR
|
|
||||||
ogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb
|
|
||||||
hGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E
|
|
||||||
BTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3
|
|
||||||
FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV
|
|
||||||
L8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB
|
|
||||||
iudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M=
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
Owner: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US
|
|
||||||
Issuer: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US
|
|
||||||
Serial number: 1ed397095fd8b4b347701eaabe7f45b3
|
|
||||||
Valid from: Wed Dec 18 22:51:22 GMT 2019 until: Fri Jul 18 23:00:23 GMT 2042
|
|
||||||
Signature algorithm name: SHA384withRSA
|
|
||||||
Subject Public Key Algorithm: 4096-bit RSA key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBl
|
|
||||||
MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw
|
|
||||||
NAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
|
|
||||||
IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIwNzE4MjMwMDIzWjBlMQswCQYDVQQG
|
|
||||||
EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1N
|
|
||||||
aWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwggIi
|
|
||||||
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZ
|
|
||||||
Nt9GkMml7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0
|
|
||||||
ZdDMbRnMlfl7rEqUrQ7eS0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1
|
|
||||||
HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw71VdyvD/IybLeS2v4I2wDwAW9lcfNcztm
|
|
||||||
gGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+dkC0zVJhUXAoP8XFWvLJ
|
|
||||||
jEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49FyGcohJUc
|
|
||||||
aDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaG
|
|
||||||
YaRSMLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6
|
|
||||||
W6IYZVcSn2i51BVrlMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4K
|
|
||||||
UGsTuqwPN1q3ErWQgR5WrlcihtnJ0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH
|
|
||||||
+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJClTUFLkqqNfs+avNJVgyeY+Q
|
|
||||||
W5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/
|
|
||||||
BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC
|
|
||||||
NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZC
|
|
||||||
LgLNFgVZJ8og6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OC
|
|
||||||
gMNPOsduET/m4xaRhPtthH80dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6
|
|
||||||
tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk+ONVFT24bcMKpBLBaYVu32TxU5nh
|
|
||||||
SnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex/2kskZGT4d9Mozd2
|
|
||||||
TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDyAmH3
|
|
||||||
pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGR
|
|
||||||
xpl/j8nWZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiApp
|
|
||||||
GWSZI1b7rCoucL5mxAyE7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9
|
|
||||||
dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKTc0QWbej09+CVgI+WXTik9KveCjCHk9hN
|
|
||||||
AHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D5KbvtwEwXlGjefVwaaZB
|
|
||||||
RA+GsCyRxj3qrg+E
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
Owner: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW
|
|
||||||
Issuer: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW
|
|
||||||
Serial number: cbe
|
|
||||||
Valid from: Wed Jun 27 06:28:33 GMT 2012 until: Tue Dec 31 15:59:59 GMT 2030
|
|
||||||
Signature algorithm name: SHA256withRSA
|
|
||||||
Subject Public Key Algorithm: 4096-bit RSA key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx
|
|
||||||
EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT
|
|
||||||
VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5
|
|
||||||
NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT
|
|
||||||
B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG
|
|
||||||
SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF
|
|
||||||
10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz
|
|
||||||
0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh
|
|
||||||
MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH
|
|
||||||
zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc
|
|
||||||
46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2
|
|
||||||
yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi
|
|
||||||
laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP
|
|
||||||
oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA
|
|
||||||
BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE
|
|
||||||
qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm
|
|
||||||
4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
|
|
||||||
/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL
|
|
||||||
1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
|
|
||||||
LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF
|
|
||||||
H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo
|
|
||||||
RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+
|
|
||||||
nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh
|
|
||||||
15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW
|
|
||||||
6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW
|
|
||||||
nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j
|
|
||||||
wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz
|
|
||||||
aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy
|
|
||||||
KwbQBM0=
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
# based on GB18030-2000 mapping
|
# GB18030.java is NOT generated from this mapping right now. This
|
||||||
|
# map is here for testing only.
|
||||||
|
#
|
||||||
00 0000
|
00 0000
|
||||||
01 0001
|
01 0001
|
||||||
02 0002
|
02 0002
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -477,11 +477,6 @@ charset x-IBM874 IBM874
|
|||||||
alias ibm-874
|
alias ibm-874
|
||||||
alias 874
|
alias 874
|
||||||
|
|
||||||
# alias for GB18030 is generated at runtime
|
|
||||||
charset GB18030 GB18030
|
|
||||||
package sun.nio.cs
|
|
||||||
type source
|
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
#
|
#
|
||||||
# charsets provided by ExtendedCharsets provider.
|
# charsets provided by ExtendedCharsets provider.
|
||||||
@@ -569,6 +564,11 @@ charset GBK GBK # Simplified Chinese
|
|||||||
alias windows-936
|
alias windows-936
|
||||||
alias CP936
|
alias CP936
|
||||||
|
|
||||||
|
charset GB18030 GB18030
|
||||||
|
package sun.nio.cs.ext
|
||||||
|
type template
|
||||||
|
alias gb18030-2000
|
||||||
|
|
||||||
charset GB2312 EUC_CN
|
charset GB2312 EUC_CN
|
||||||
package sun.nio.cs.ext
|
package sun.nio.cs.ext
|
||||||
type dbcs
|
type dbcs
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ Big5_HKSCS
|
|||||||
EUC_CN
|
EUC_CN
|
||||||
EUC_KR
|
EUC_KR
|
||||||
GBK
|
GBK
|
||||||
|
GB18030
|
||||||
IBM856
|
IBM856
|
||||||
IBM921
|
IBM921
|
||||||
IBM922
|
IBM922
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ EUC_JP_LINUX
|
|||||||
EUC_JP_Open
|
EUC_JP_Open
|
||||||
EUC_TW
|
EUC_TW
|
||||||
GBK
|
GBK
|
||||||
|
GB18030
|
||||||
ISO_8859_11
|
ISO_8859_11
|
||||||
ISO_8859_3
|
ISO_8859_3
|
||||||
ISO_8859_6
|
ISO_8859_6
|
||||||
|
|||||||
26
make/data/charsetmapping/stdcs-solaris
Normal file
26
make/data/charsetmapping/stdcs-solaris
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#
|
||||||
|
# generate these charsets into sun.nio.cs
|
||||||
|
#
|
||||||
|
Big5
|
||||||
|
Big5_Solaris
|
||||||
|
Big5_HKSCS # always together with Big5
|
||||||
|
EUC_CN
|
||||||
|
EUC_KR
|
||||||
|
EUC_JP
|
||||||
|
EUC_JP_LINUX
|
||||||
|
EUC_JP_Open
|
||||||
|
EUC_TW
|
||||||
|
GBK
|
||||||
|
GB18030
|
||||||
|
ISO_8859_11
|
||||||
|
ISO_8859_3
|
||||||
|
ISO_8859_6
|
||||||
|
ISO_8859_8
|
||||||
|
Johab
|
||||||
|
PCK
|
||||||
|
TIS_620
|
||||||
|
JIS_X_0201
|
||||||
|
JIS_X_0208
|
||||||
|
JIS_X_0212
|
||||||
|
JIS_X_0208_Solaris
|
||||||
|
JIS_X_0212_Solaris
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
# generate these charsets into sun.nio.cs
|
# generate these charsets into sun.nio.cs
|
||||||
#
|
#
|
||||||
GBK
|
GBK
|
||||||
|
GB18030
|
||||||
Johab
|
Johab
|
||||||
MS1255
|
MS1255
|
||||||
MS1256
|
MS1256
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -32,7 +32,7 @@ formatVersion=3
|
|||||||
# Version of the currency code information in this class.
|
# Version of the currency code information in this class.
|
||||||
# It is a serial number that accompanies with each amendment.
|
# It is a serial number that accompanies with each amendment.
|
||||||
|
|
||||||
dataVersion=175
|
dataVersion=174
|
||||||
|
|
||||||
# List of all valid ISO 4217 currency codes.
|
# List of all valid ISO 4217 currency codes.
|
||||||
# To ensure compatibility, do not remove codes.
|
# To ensure compatibility, do not remove codes.
|
||||||
|
|||||||
@@ -52,8 +52,7 @@ allfonts.myanmar=Myanmar Text
|
|||||||
allfonts.dingbats=Wingdings
|
allfonts.dingbats=Wingdings
|
||||||
allfonts.symbol=Symbol
|
allfonts.symbol=Symbol
|
||||||
allfonts.symbols=Segoe UI Symbol
|
allfonts.symbols=Segoe UI Symbol
|
||||||
allfonts.emoji=Segoe UI Emoji
|
allfonts.thai=DokChampa
|
||||||
allfonts.thai=Tahoma
|
|
||||||
allfonts.georgian=Sylfaen
|
allfonts.georgian=Sylfaen
|
||||||
|
|
||||||
serif.plain.alphabetic=Times New Roman
|
serif.plain.alphabetic=Times New Roman
|
||||||
@@ -61,195 +60,195 @@ serif.plain.chinese-ms950=MingLiU
|
|||||||
serif.plain.chinese-ms950-extb=MingLiU-ExtB
|
serif.plain.chinese-ms950-extb=MingLiU-ExtB
|
||||||
serif.plain.hebrew=David
|
serif.plain.hebrew=David
|
||||||
serif.plain.japanese=MS Mincho
|
serif.plain.japanese=MS Mincho
|
||||||
serif.plain.korean=Malgun Gothic
|
serif.plain.korean=Batang
|
||||||
|
|
||||||
serif.bold.alphabetic=Times New Roman Bold
|
serif.bold.alphabetic=Times New Roman Bold
|
||||||
serif.bold.chinese-ms950=PMingLiU
|
serif.bold.chinese-ms950=PMingLiU
|
||||||
serif.bold.chinese-ms950-extb=PMingLiU-ExtB
|
serif.bold.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
serif.bold.hebrew=David Bold
|
serif.bold.hebrew=David Bold
|
||||||
serif.bold.japanese=MS Mincho
|
serif.bold.japanese=MS Mincho
|
||||||
serif.bold.korean=Malgun Gothic
|
serif.bold.korean=Batang
|
||||||
|
|
||||||
serif.italic.alphabetic=Times New Roman Italic
|
serif.italic.alphabetic=Times New Roman Italic
|
||||||
serif.italic.chinese-ms950=PMingLiU
|
serif.italic.chinese-ms950=PMingLiU
|
||||||
serif.italic.chinese-ms950-extb=PMingLiU-ExtB
|
serif.italic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
serif.italic.hebrew=David
|
serif.italic.hebrew=David
|
||||||
serif.italic.japanese=MS Mincho
|
serif.italic.japanese=MS Mincho
|
||||||
serif.italic.korean=Malgun Gothic
|
serif.italic.korean=Batang
|
||||||
|
|
||||||
serif.bolditalic.alphabetic=Times New Roman Bold Italic
|
serif.bolditalic.alphabetic=Times New Roman Bold Italic
|
||||||
serif.bolditalic.chinese-ms950=PMingLiU
|
serif.bolditalic.chinese-ms950=PMingLiU
|
||||||
serif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
serif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
serif.bolditalic.hebrew=David Bold
|
serif.bolditalic.hebrew=David Bold
|
||||||
serif.bolditalic.japanese=MS Mincho
|
serif.bolditalic.japanese=MS Mincho
|
||||||
serif.bolditalic.korean=Malgun Gothic
|
serif.bolditalic.korean=Batang
|
||||||
|
|
||||||
sansserif.plain.alphabetic=Arial
|
sansserif.plain.alphabetic=Arial
|
||||||
sansserif.plain.chinese-ms950=MingLiU
|
sansserif.plain.chinese-ms950=MingLiU
|
||||||
sansserif.plain.chinese-ms950-extb=MingLiU-ExtB
|
sansserif.plain.chinese-ms950-extb=MingLiU-ExtB
|
||||||
sansserif.plain.hebrew=David
|
sansserif.plain.hebrew=David
|
||||||
sansserif.plain.japanese=MS Gothic
|
sansserif.plain.japanese=MS Gothic
|
||||||
sansserif.plain.korean=Malgun Gothic
|
sansserif.plain.korean=Gulim
|
||||||
|
|
||||||
sansserif.bold.alphabetic=Arial Bold
|
sansserif.bold.alphabetic=Arial Bold
|
||||||
sansserif.bold.chinese-ms950=PMingLiU
|
sansserif.bold.chinese-ms950=PMingLiU
|
||||||
sansserif.bold.chinese-ms950-extb=PMingLiU-ExtB
|
sansserif.bold.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
sansserif.bold.hebrew=David Bold
|
sansserif.bold.hebrew=David Bold
|
||||||
sansserif.bold.japanese=MS Gothic
|
sansserif.bold.japanese=MS Gothic
|
||||||
sansserif.bold.korean=Malgun Gothic
|
sansserif.bold.korean=Gulim
|
||||||
|
|
||||||
sansserif.italic.alphabetic=Arial Italic
|
sansserif.italic.alphabetic=Arial Italic
|
||||||
sansserif.italic.chinese-ms950=PMingLiU
|
sansserif.italic.chinese-ms950=PMingLiU
|
||||||
sansserif.italic.chinese-ms950-extb=PMingLiU-ExtB
|
sansserif.italic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
sansserif.italic.hebrew=David
|
sansserif.italic.hebrew=David
|
||||||
sansserif.italic.japanese=MS Gothic
|
sansserif.italic.japanese=MS Gothic
|
||||||
sansserif.italic.korean=Malgun Gothic
|
sansserif.italic.korean=Gulim
|
||||||
|
|
||||||
sansserif.bolditalic.alphabetic=Arial Bold Italic
|
sansserif.bolditalic.alphabetic=Arial Bold Italic
|
||||||
sansserif.bolditalic.chinese-ms950=PMingLiU
|
sansserif.bolditalic.chinese-ms950=PMingLiU
|
||||||
sansserif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
sansserif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
sansserif.bolditalic.hebrew=David Bold
|
sansserif.bolditalic.hebrew=David Bold
|
||||||
sansserif.bolditalic.japanese=MS Gothic
|
sansserif.bolditalic.japanese=MS Gothic
|
||||||
sansserif.bolditalic.korean=Malgun Gothic
|
sansserif.bolditalic.korean=Gulim
|
||||||
|
|
||||||
monospaced.plain.alphabetic=Courier New
|
monospaced.plain.alphabetic=Courier New
|
||||||
monospaced.plain.chinese-ms950=MingLiU
|
monospaced.plain.chinese-ms950=MingLiU
|
||||||
monospaced.plain.chinese-ms950-extb=MingLiU-ExtB
|
monospaced.plain.chinese-ms950-extb=MingLiU-ExtB
|
||||||
monospaced.plain.hebrew=Courier New
|
monospaced.plain.hebrew=Courier New
|
||||||
monospaced.plain.japanese=MS Gothic
|
monospaced.plain.japanese=MS Gothic
|
||||||
monospaced.plain.korean=Malgun Gothic
|
monospaced.plain.korean=GulimChe
|
||||||
|
|
||||||
monospaced.bold.alphabetic=Courier New Bold
|
monospaced.bold.alphabetic=Courier New Bold
|
||||||
monospaced.bold.chinese-ms950=PMingLiU
|
monospaced.bold.chinese-ms950=PMingLiU
|
||||||
monospaced.bold.chinese-ms950-extb=PMingLiU-ExtB
|
monospaced.bold.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
monospaced.bold.hebrew=Courier New Bold
|
monospaced.bold.hebrew=Courier New Bold
|
||||||
monospaced.bold.japanese=MS Gothic
|
monospaced.bold.japanese=MS Gothic
|
||||||
monospaced.bold.korean=Malgun Gothic
|
monospaced.bold.korean=GulimChe
|
||||||
|
|
||||||
monospaced.italic.alphabetic=Courier New Italic
|
monospaced.italic.alphabetic=Courier New Italic
|
||||||
monospaced.italic.chinese-ms950=PMingLiU
|
monospaced.italic.chinese-ms950=PMingLiU
|
||||||
monospaced.italic.chinese-ms950-extb=PMingLiU-ExtB
|
monospaced.italic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
monospaced.italic.hebrew=Courier New
|
monospaced.italic.hebrew=Courier New
|
||||||
monospaced.italic.japanese=MS Gothic
|
monospaced.italic.japanese=MS Gothic
|
||||||
monospaced.italic.korean=Malgun Gothic
|
monospaced.italic.korean=GulimChe
|
||||||
|
|
||||||
monospaced.bolditalic.alphabetic=Courier New Bold Italic
|
monospaced.bolditalic.alphabetic=Courier New Bold Italic
|
||||||
monospaced.bolditalic.chinese-ms950=PMingLiU
|
monospaced.bolditalic.chinese-ms950=PMingLiU
|
||||||
monospaced.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
monospaced.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
monospaced.bolditalic.hebrew=Courier New Bold
|
monospaced.bolditalic.hebrew=Courier New Bold
|
||||||
monospaced.bolditalic.japanese=MS Gothic
|
monospaced.bolditalic.japanese=MS Gothic
|
||||||
monospaced.bolditalic.korean=Malgun Gothic
|
monospaced.bolditalic.korean=GulimChe
|
||||||
|
|
||||||
dialog.plain.alphabetic=Arial
|
dialog.plain.alphabetic=Arial
|
||||||
dialog.plain.chinese-ms950=MingLiU
|
dialog.plain.chinese-ms950=MingLiU
|
||||||
dialog.plain.chinese-ms950-extb=MingLiU-ExtB
|
dialog.plain.chinese-ms950-extb=MingLiU-ExtB
|
||||||
dialog.plain.hebrew=David
|
dialog.plain.hebrew=David
|
||||||
dialog.plain.japanese=MS Gothic
|
dialog.plain.japanese=MS Gothic
|
||||||
dialog.plain.korean=Malgun Gothic
|
dialog.plain.korean=Gulim
|
||||||
|
|
||||||
dialog.bold.alphabetic=Arial Bold
|
dialog.bold.alphabetic=Arial Bold
|
||||||
dialog.bold.chinese-ms950=PMingLiU
|
dialog.bold.chinese-ms950=PMingLiU
|
||||||
dialog.bold.chinese-ms950-extb=PMingLiU-ExtB
|
dialog.bold.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
dialog.bold.hebrew=David Bold
|
dialog.bold.hebrew=David Bold
|
||||||
dialog.bold.japanese=MS Gothic
|
dialog.bold.japanese=MS Gothic
|
||||||
dialog.bold.korean=Malgun Gothic
|
dialog.bold.korean=Gulim
|
||||||
|
|
||||||
dialog.italic.alphabetic=Arial Italic
|
dialog.italic.alphabetic=Arial Italic
|
||||||
dialog.italic.chinese-ms950=PMingLiU
|
dialog.italic.chinese-ms950=PMingLiU
|
||||||
dialog.italic.chinese-ms950-extb=PMingLiU-ExtB
|
dialog.italic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
dialog.italic.hebrew=David
|
dialog.italic.hebrew=David
|
||||||
dialog.italic.japanese=MS Gothic
|
dialog.italic.japanese=MS Gothic
|
||||||
dialog.italic.korean=Malgun Gothic
|
dialog.italic.korean=Gulim
|
||||||
|
|
||||||
dialog.bolditalic.alphabetic=Arial Bold Italic
|
dialog.bolditalic.alphabetic=Arial Bold Italic
|
||||||
dialog.bolditalic.chinese-ms950=PMingLiU
|
dialog.bolditalic.chinese-ms950=PMingLiU
|
||||||
dialog.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
dialog.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
dialog.bolditalic.hebrew=David Bold
|
dialog.bolditalic.hebrew=David Bold
|
||||||
dialog.bolditalic.japanese=MS Gothic
|
dialog.bolditalic.japanese=MS Gothic
|
||||||
dialog.bolditalic.korean=Malgun Gothic
|
dialog.bolditalic.korean=Gulim
|
||||||
|
|
||||||
dialoginput.plain.alphabetic=Courier New
|
dialoginput.plain.alphabetic=Courier New
|
||||||
dialoginput.plain.chinese-ms950=MingLiU
|
dialoginput.plain.chinese-ms950=MingLiU
|
||||||
dialoginput.plain.chinese-ms950-extb=MingLiU-ExtB
|
dialoginput.plain.chinese-ms950-extb=MingLiU-ExtB
|
||||||
dialoginput.plain.hebrew=David
|
dialoginput.plain.hebrew=David
|
||||||
dialoginput.plain.japanese=MS Gothic
|
dialoginput.plain.japanese=MS Gothic
|
||||||
dialoginput.plain.korean=Malgun Gothic
|
dialoginput.plain.korean=Gulim
|
||||||
|
|
||||||
dialoginput.bold.alphabetic=Courier New Bold
|
dialoginput.bold.alphabetic=Courier New Bold
|
||||||
dialoginput.bold.chinese-ms950=PMingLiU
|
dialoginput.bold.chinese-ms950=PMingLiU
|
||||||
dialoginput.bold.chinese-ms950-extb=PMingLiU-ExtB
|
dialoginput.bold.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
dialoginput.bold.hebrew=David Bold
|
dialoginput.bold.hebrew=David Bold
|
||||||
dialoginput.bold.japanese=MS Gothic
|
dialoginput.bold.japanese=MS Gothic
|
||||||
dialoginput.bold.korean=Malgun Gothic
|
dialoginput.bold.korean=Gulim
|
||||||
|
|
||||||
dialoginput.italic.alphabetic=Courier New Italic
|
dialoginput.italic.alphabetic=Courier New Italic
|
||||||
dialoginput.italic.chinese-ms950=PMingLiU
|
dialoginput.italic.chinese-ms950=PMingLiU
|
||||||
dialoginput.italic.chinese-ms950-extb=PMingLiU-ExtB
|
dialoginput.italic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
dialoginput.italic.hebrew=David
|
dialoginput.italic.hebrew=David
|
||||||
dialoginput.italic.japanese=MS Gothic
|
dialoginput.italic.japanese=MS Gothic
|
||||||
dialoginput.italic.korean=Malgun Gothic
|
dialoginput.italic.korean=Gulim
|
||||||
|
|
||||||
dialoginput.bolditalic.alphabetic=Courier New Bold Italic
|
dialoginput.bolditalic.alphabetic=Courier New Bold Italic
|
||||||
dialoginput.bolditalic.chinese-ms950=PMingLiU
|
dialoginput.bolditalic.chinese-ms950=PMingLiU
|
||||||
dialoginput.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
dialoginput.bolditalic.chinese-ms950-extb=PMingLiU-ExtB
|
||||||
dialoginput.bolditalic.hebrew=David Bold
|
dialoginput.bolditalic.hebrew=David Bold
|
||||||
dialoginput.bolditalic.japanese=MS Gothic
|
dialoginput.bolditalic.japanese=MS Gothic
|
||||||
dialoginput.bolditalic.korean=Malgun Gothic
|
dialoginput.bolditalic.korean=Gulim
|
||||||
|
|
||||||
# Search Sequences
|
# Search Sequences
|
||||||
|
|
||||||
sequence.allfonts=alphabetic/default,dingbats,symbol,symbols
|
sequence.allfonts=alphabetic/default,dingbats,symbol
|
||||||
|
|
||||||
sequence.serif.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb,symbols
|
sequence.serif.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb
|
||||||
sequence.sansserif.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb,symbols
|
sequence.sansserif.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb
|
||||||
sequence.monospaced.GBK=chinese-ms936,alphabetic,dingbats,symbol,chinese-ms936-extb,symbols
|
sequence.monospaced.GBK=chinese-ms936,alphabetic,dingbats,symbol,chinese-ms936-extb
|
||||||
sequence.dialog.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb,symbols
|
sequence.dialog.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb
|
||||||
sequence.dialoginput.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb,symbols
|
sequence.dialoginput.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb
|
||||||
|
|
||||||
sequence.serif.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb,symbols
|
sequence.serif.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb
|
||||||
sequence.sansserif.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb,symbols
|
sequence.sansserif.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb
|
||||||
sequence.monospaced.GB18030=chinese-gb18030,alphabetic,dingbats,symbol,chinese-gb18030-extb,symbols
|
sequence.monospaced.GB18030=chinese-gb18030,alphabetic,dingbats,symbol,chinese-gb18030-extb
|
||||||
sequence.dialog.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb,symbols
|
sequence.dialog.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb
|
||||||
sequence.dialoginput.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb,symbols
|
sequence.dialoginput.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb
|
||||||
|
|
||||||
sequence.serif.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.serif.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.sansserif.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.sansserif.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.monospaced.x-windows-950=chinese-ms950,alphabetic,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.monospaced.x-windows-950=chinese-ms950,alphabetic,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.dialog.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.dialog.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.dialoginput.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.dialoginput.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb
|
||||||
|
|
||||||
sequence.serif.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.serif.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.sansserif.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.sansserif.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.monospaced.x-MS950-HKSCS=chinese-ms950,alphabetic,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.monospaced.x-MS950-HKSCS=chinese-ms950,alphabetic,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.dialog.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.dialog.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.dialoginput.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.dialoginput.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
|
|
||||||
sequence.serif.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.serif.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.sansserif.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.sansserif.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.monospaced.x-MS950-HKSCS-XP=chinese-ms950,alphabetic,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.monospaced.x-MS950-HKSCS-XP=chinese-ms950,alphabetic,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.dialog.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.dialog.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
sequence.dialoginput.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb,symbols
|
sequence.dialoginput.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
|
||||||
|
|
||||||
sequence.allfonts.UTF-8.hi=alphabetic/1252,devanagari,dingbats,symbol,symbols
|
sequence.allfonts.UTF-8.hi=alphabetic/1252,devanagari,dingbats,symbol
|
||||||
sequence.allfonts.UTF-8.ja=alphabetic,japanese,devanagari,dingbats,symbol,symbols
|
sequence.allfonts.UTF-8.ja=alphabetic,japanese,dingbats,symbol
|
||||||
|
|
||||||
sequence.allfonts.windows-1255=hebrew,alphabetic/1252,dingbats,symbol,symbols
|
sequence.allfonts.windows-1255=hebrew,alphabetic/1252,dingbats,symbol
|
||||||
|
|
||||||
sequence.serif.windows-31j=alphabetic,japanese,dingbats,symbol,symbols
|
sequence.serif.windows-31j=alphabetic,japanese,dingbats,symbol
|
||||||
sequence.sansserif.windows-31j=alphabetic,japanese,dingbats,symbol,symbols
|
sequence.sansserif.windows-31j=alphabetic,japanese,dingbats,symbol
|
||||||
sequence.monospaced.windows-31j=japanese,alphabetic,dingbats,symbol,symbols
|
sequence.monospaced.windows-31j=japanese,alphabetic,dingbats,symbol
|
||||||
sequence.dialog.windows-31j=alphabetic,japanese,dingbats,symbol,symbols
|
sequence.dialog.windows-31j=alphabetic,japanese,dingbats,symbol
|
||||||
sequence.dialoginput.windows-31j=alphabetic,japanese,dingbats,symbol,symbols
|
sequence.dialoginput.windows-31j=alphabetic,japanese,dingbats,symbol
|
||||||
|
|
||||||
sequence.serif.x-windows-949=alphabetic,korean,dingbats,symbol,symbols
|
sequence.serif.x-windows-949=alphabetic,korean,dingbats,symbol
|
||||||
sequence.sansserif.x-windows-949=alphabetic,korean,dingbats,symbol,symbols
|
sequence.sansserif.x-windows-949=alphabetic,korean,dingbats,symbol
|
||||||
sequence.monospaced.x-windows-949=korean,alphabetic,dingbats,symbol,symbols
|
sequence.monospaced.x-windows-949=korean,alphabetic,dingbats,symbol
|
||||||
sequence.dialog.x-windows-949=alphabetic,korean,dingbats,symbol,symbols
|
sequence.dialog.x-windows-949=alphabetic,korean,dingbats,symbol
|
||||||
sequence.dialoginput.x-windows-949=alphabetic,korean,dingbats,symbol,symbols
|
sequence.dialoginput.x-windows-949=alphabetic,korean,dingbats,symbol
|
||||||
|
|
||||||
sequence.allfonts.x-windows-874=alphabetic,thai,dingbats,symbol,symbols
|
sequence.allfonts.x-windows-874=alphabetic,thai,dingbats,symbol
|
||||||
|
|
||||||
sequence.fallback=emoji,\
|
sequence.fallback=symbols,\
|
||||||
chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
|
chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
|
||||||
japanese,korean,chinese-ms950-extb,chinese-ms936-extb,\
|
japanese,korean,chinese-ms950-extb,chinese-ms936-extb,\
|
||||||
georgian,devanagari,bengali,gujarati,gurmukhi,kannada,\
|
georgian,devanagari,bengali,gujarati,gurmukhi,kannada,\
|
||||||
@@ -258,28 +257,9 @@ sequence.fallback=emoji,\
|
|||||||
|
|
||||||
# Exclusion Ranges
|
# Exclusion Ranges
|
||||||
|
|
||||||
exclusion.alphabetic=0700-1cff,1d80-1e9f,1f00-2017,2020-20ab,20ad-20b8,20bb-20bc,20be-24ff,2501-2501,2503-250b,250d-250f,2511-2513,2515-2517,2519-251b,251d-2523,2525-252b,252d-2533,2535-253b,253d-254f,256d-f8ff
|
exclusion.alphabetic=0700-1cff,1d80-1e9f,1f00-2017,2020-20ab,20ad-20b8,20bb-20bc,20be-f8ff
|
||||||
exclusion.chinese-gb18030=0390-03d6,2200-22ef,2701-27be
|
exclusion.chinese-gb18030=0390-03d6,2200-22ef,2701-27be
|
||||||
exclusion.hebrew=0041-005a,0060-007a,007f-00ff,20ac-20ac
|
exclusion.hebrew=0041-005a,0060-007a,007f-00ff,20ac-20ac
|
||||||
exclusion.symbols=000d-0022,0024-0029,002b-002f,003a-00a8,00aa-00ad,00af-02dc,2002-2003,\
|
|
||||||
2005-2005,200d-200d,2013-2014,2018-201a,201c-201e,2020-2022,2026-2026,\
|
|
||||||
2030-2030,2039-203a,2044-2044,20ac-20ac,20e3-20e3,2126-2126,2190-2193,\
|
|
||||||
219a-21a8,21ab-21ff,2206-2206,220f-220f,2211-2212,2219-221a,221e-221e,\
|
|
||||||
222b-222b,2248-2248,2260-2260,231a-231b,23e9-23ec,23f0-23f0,23f3-23f3,\
|
|
||||||
24b6-24c1,24c3-24cf,25a0-25a9,25ac-25b5,25b7-25bf,25c1-25fa,25fd-25ff,\
|
|
||||||
260f-2610,2612-2612,2614-2615,263b-263b,263f-263f,2641-2641,2643-2653,\
|
|
||||||
2672-267a,267c-267d,267f-267f,2693-2693,26a1-26a6,26a8-26ab,26bd-26be,\
|
|
||||||
26c4-26c5,26c7-26c7,26ce-26ce,26d4-26d4,26dd-26dd,26e3-26e3,26ea-26ea,\
|
|
||||||
26f2-26f3,26f5-26f5,26fa-26fa,26fd-26fd,2701-2701,2703-2705,270a-270b,\
|
|
||||||
270e-270e,2710-2710,2713-2713,2715-2715,2717-2718,2728-2728,2731-2732,\
|
|
||||||
2735-2743,2745-2746,2748-274c,274e-274e,2753-2755,2757-2757,2795-2797,\
|
|
||||||
27b0-27b0,27bf-27bf,2936-2937,2b12-2b1c,2b50-2b52,2b55-2b55,3244-3247,\
|
|
||||||
01f000-01f02b,01f0cf-01f0cf,01f172-01f17d,01f180-01f1ff,01f201-01f201,\
|
|
||||||
01f210-01f236,01f238-01f23a,01f250-01f320,01f32d-01f335,01f337-01f37c,\
|
|
||||||
01f37e-01f393,01f3a0-01f3ca,01f3cf-01f3d3,01f3e0-01f3f0,01f3f4-01f3f4,\
|
|
||||||
01f3f8-01f43e,01f440-01f440,01f442-01f4fc,01f4ff-01f53d,01f54b-01f567,\
|
|
||||||
01f57a-01f57a,01f595-01f596,01f5a4-01f5a4,01f5fb-01f64f,01f680-01f6c5,\
|
|
||||||
01f6cc-01f6cc,01f6d0-01f6d2,01f6eb-01f6ec,01f6f4-01f6f6,01f910-01f93a,01f93c-01f9c0
|
|
||||||
|
|
||||||
# Monospaced to Proportional width variant mapping
|
# Monospaced to Proportional width variant mapping
|
||||||
# (Experimental private syntax)
|
# (Experimental private syntax)
|
||||||
@@ -323,18 +303,21 @@ filename.MS_PMincho=MSMINCHO.TTC
|
|||||||
filename.MS_Gothic=MSGOTHIC.TTC
|
filename.MS_Gothic=MSGOTHIC.TTC
|
||||||
filename.MS_PGothic=MSGOTHIC.TTC
|
filename.MS_PGothic=MSGOTHIC.TTC
|
||||||
|
|
||||||
|
filename.Gulim=gulim.TTC
|
||||||
|
filename.Batang=batang.TTC
|
||||||
|
filename.GulimChe=gulim.TTC
|
||||||
|
|
||||||
filename.Gautami=gautami.ttf
|
filename.Gautami=gautami.ttf
|
||||||
filename.Iskoola_Pota=iskpota.ttf
|
filename.Iskoola_Pota=iskpota.ttf
|
||||||
filename.Kalinga=kalinga.ttf
|
filename.Kalinga=kalinga.ttf
|
||||||
filename.Kartika=kartika.ttf
|
filename.Kartika=kartika.ttf
|
||||||
filename.Latha=latha.ttf
|
filename.Latha=latha.ttf
|
||||||
filename.Malgun_Gothic=malgun.ttf
|
|
||||||
filename.Mangal=MANGAL.TTF
|
filename.Mangal=MANGAL.TTF
|
||||||
filename.Raavi=raavi.ttf
|
filename.Raavi=raavi.ttf
|
||||||
filename.Shruti=shruti.ttf
|
filename.Shruti=shruti.ttf
|
||||||
filename.Tahoma=tahoma.ttf
|
|
||||||
filename.Tunga=TUNGA.TTF
|
filename.Tunga=TUNGA.TTF
|
||||||
filename.Vrinda=vrinda.ttf
|
filename.Vrinda=vrinda.ttf
|
||||||
|
filename.DokChampa=dokchamp.ttf
|
||||||
filename.Khmer_UI=KhmerUI.ttf
|
filename.Khmer_UI=KhmerUI.ttf
|
||||||
filename.Mongolian_Baiti=monbaiti.ttf
|
filename.Mongolian_Baiti=monbaiti.ttf
|
||||||
filename.Myanmar_Text=mmrtext.ttf
|
filename.Myanmar_Text=mmrtext.ttf
|
||||||
@@ -343,4 +326,3 @@ filename.Wingdings=WINGDING.TTF
|
|||||||
|
|
||||||
filename.Sylfaen=sylfaen.ttf
|
filename.Sylfaen=sylfaen.ttf
|
||||||
filename.Segoe_UI_Symbol=SEGUISYM.TTF
|
filename.Segoe_UI_Symbol=SEGUISYM.TTF
|
||||||
filename.Segoe_UI_Emoji=seguiemj.ttf
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
File-Date: 2022-08-08
|
File-Date: 2021-05-11
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: aa
|
Subtag: aa
|
||||||
@@ -2146,16 +2146,9 @@ Added: 2009-07-29
|
|||||||
Macrolanguage: ar
|
Macrolanguage: ar
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: ajs
|
|
||||||
Description: Algerian Jewish Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: ajt
|
Subtag: ajt
|
||||||
Description: Judeo-Tunisian Arabic
|
Description: Judeo-Tunisian Arabic
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
Preferred-Value: aeb
|
|
||||||
Macrolanguage: jrb
|
Macrolanguage: jrb
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
@@ -5779,11 +5772,6 @@ Added: 2009-07-29
|
|||||||
Deprecated: 2020-03-28
|
Deprecated: 2020-03-28
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: bpc
|
|
||||||
Description: Mbuk
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: bpd
|
Subtag: bpd
|
||||||
Description: Banda-Banda
|
Description: Banda-Banda
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -6028,7 +6016,6 @@ Added: 2005-10-16
|
|||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: brb
|
Subtag: brb
|
||||||
Description: Brao
|
|
||||||
Description: Lave
|
Description: Lave
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
@@ -8168,11 +8155,6 @@ Added: 2020-03-28
|
|||||||
Macrolanguage: zh
|
Macrolanguage: zh
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: cnq
|
|
||||||
Description: Chung
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: cnr
|
Subtag: cnr
|
||||||
Description: Montenegrin
|
Description: Montenegrin
|
||||||
Added: 2018-01-23
|
Added: 2018-01-23
|
||||||
@@ -8775,8 +8757,6 @@ Subtag: cug
|
|||||||
Description: Chungmboko
|
Description: Chungmboko
|
||||||
Description: Cung
|
Description: Cung
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
Comments: see bpc, cnq
|
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: cuh
|
Subtag: cuh
|
||||||
@@ -10196,11 +10176,6 @@ Description: Tadaksahak
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: dsz
|
|
||||||
Description: Mardin Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: dta
|
Subtag: dta
|
||||||
Description: Daur
|
Description: Daur
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -10627,11 +10602,6 @@ Description: Emilian
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: egm
|
|
||||||
Description: Benamanga
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: ego
|
Subtag: ego
|
||||||
Description: Eggon
|
Description: Eggon
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -10943,7 +10913,7 @@ Added: 2009-07-29
|
|||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: env
|
Subtag: env
|
||||||
Description: Enwan (Edo State)
|
Description: Enwan (Edu State)
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
@@ -11359,7 +11329,6 @@ Added: 2009-07-29
|
|||||||
Type: language
|
Type: language
|
||||||
Subtag: fit
|
Subtag: fit
|
||||||
Description: Tornedalen Finnish
|
Description: Tornedalen Finnish
|
||||||
Description: Meänkieli
|
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
@@ -12869,11 +12838,6 @@ Description: Gavar
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: gov
|
|
||||||
Description: Goo
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: gow
|
Subtag: gow
|
||||||
Description: Gorowa
|
Description: Gorowa
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -14977,11 +14941,6 @@ Description: Marsian
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: imt
|
|
||||||
Description: Imotong
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: imy
|
Subtag: imy
|
||||||
Description: Milyan
|
Description: Milyan
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -19499,8 +19458,6 @@ Type: language
|
|||||||
Subtag: lak
|
Subtag: lak
|
||||||
Description: Laka (Nigeria)
|
Description: Laka (Nigeria)
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
Preferred-Value: ksp
|
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: lal
|
Subtag: lal
|
||||||
@@ -19996,11 +19953,6 @@ Description: Opuuo
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: lgo
|
|
||||||
Description: Lango (South Sudan)
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: lgq
|
Subtag: lgq
|
||||||
Description: Logba
|
Description: Logba
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -20600,8 +20552,6 @@ Type: language
|
|||||||
Subtag: lno
|
Subtag: lno
|
||||||
Description: Lango (South Sudan)
|
Description: Lango (South Sudan)
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
Comments: see imt, lgo, lqr, oie
|
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: lns
|
Subtag: lns
|
||||||
@@ -20774,11 +20724,6 @@ Description: Lopit
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: lqr
|
|
||||||
Description: Logir
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: lra
|
Subtag: lra
|
||||||
Description: Rara Bakati'
|
Description: Rara Bakati'
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -20864,12 +20809,6 @@ Description: Langue des Signes Burundaise
|
|||||||
Added: 2021-02-20
|
Added: 2021-02-20
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: lsc
|
|
||||||
Description: Albarradas Sign Language
|
|
||||||
Description: Lengua de señas Albarradas
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: lsd
|
Subtag: lsd
|
||||||
Description: Lishana Deni
|
Description: Lishana Deni
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -20944,13 +20883,6 @@ Description: Sivia Sign Language
|
|||||||
Added: 2019-04-16
|
Added: 2019-04-16
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: lsw
|
|
||||||
Description: Seychelles Sign Language
|
|
||||||
Description: Lalang Siny Seselwa
|
|
||||||
Description: Langue des Signes Seychelloise
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: lsy
|
Subtag: lsy
|
||||||
Description: Mauritian Sign Language
|
Description: Mauritian Sign Language
|
||||||
Added: 2010-03-11
|
Added: 2010-03-11
|
||||||
@@ -26847,11 +26779,6 @@ Description: Nawaru
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: nww
|
|
||||||
Description: Ndwewe
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: nwx
|
Subtag: nwx
|
||||||
Description: Middle Newar
|
Description: Middle Newar
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -27274,11 +27201,6 @@ Description: Oirata
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: oie
|
|
||||||
Description: Okolie
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: oin
|
Subtag: oin
|
||||||
Description: Inebu One
|
Description: Inebu One
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -28550,11 +28472,6 @@ Added: 2005-10-16
|
|||||||
Scope: collection
|
Scope: collection
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: phj
|
|
||||||
Description: Pahari
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: phk
|
Subtag: phk
|
||||||
Description: Phake
|
Description: Phake
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -28655,7 +28572,6 @@ Type: language
|
|||||||
Subtag: pii
|
Subtag: pii
|
||||||
Description: Pini
|
Description: Pini
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: pij
|
Subtag: pij
|
||||||
@@ -29503,7 +29419,6 @@ Added: 2009-07-29
|
|||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: psc
|
Subtag: psc
|
||||||
Description: Iranian Sign Language
|
|
||||||
Description: Persian Sign Language
|
Description: Persian Sign Language
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
@@ -29857,13 +29772,7 @@ Description: Pyen
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: pzh
|
|
||||||
Description: Pazeh
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: pzn
|
Subtag: pzn
|
||||||
Description: Jejara Naga
|
|
||||||
Description: Para Naga
|
Description: Para Naga
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
@@ -30485,11 +30394,6 @@ Description: Riang (India)
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: rib
|
|
||||||
Description: Bribri Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: rie
|
Subtag: rie
|
||||||
Description: Rien
|
Description: Rien
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -30723,11 +30627,6 @@ Added: 2009-07-29
|
|||||||
Deprecated: 2016-05-30
|
Deprecated: 2016-05-30
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: rnb
|
|
||||||
Description: Brunca Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: rnd
|
Subtag: rnd
|
||||||
Description: Ruund
|
Description: Ruund
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -30871,12 +30770,6 @@ Added: 2009-07-29
|
|||||||
Deprecated: 2017-02-23
|
Deprecated: 2017-02-23
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: rsk
|
|
||||||
Description: Ruthenian
|
|
||||||
Description: Rusyn
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: rsl
|
Subtag: rsl
|
||||||
Description: Russian Sign Language
|
Description: Russian Sign Language
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -30887,11 +30780,6 @@ Description: Miriwoong Sign Language
|
|||||||
Added: 2016-05-30
|
Added: 2016-05-30
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: rsn
|
|
||||||
Description: Rwandan Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: rtc
|
Subtag: rtc
|
||||||
Description: Rungtu Chin
|
Description: Rungtu Chin
|
||||||
Added: 2012-08-12
|
Added: 2012-08-12
|
||||||
@@ -32388,8 +32276,6 @@ Type: language
|
|||||||
Subtag: smd
|
Subtag: smd
|
||||||
Description: Sama
|
Description: Sama
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
Preferred-Value: kmb
|
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: smf
|
Subtag: smf
|
||||||
@@ -32496,8 +32382,6 @@ Type: language
|
|||||||
Subtag: snb
|
Subtag: snb
|
||||||
Description: Sebuyau
|
Description: Sebuyau
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
Preferred-Value: iba
|
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: snc
|
Subtag: snc
|
||||||
@@ -35315,11 +35199,6 @@ Description: Tojolabal
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: tok
|
|
||||||
Description: Toki Pona
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: tol
|
Subtag: tol
|
||||||
Description: Tolowa
|
Description: Tolowa
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -35662,8 +35541,6 @@ Added: 2009-07-29
|
|||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: trv
|
Subtag: trv
|
||||||
Description: Sediq
|
|
||||||
Description: Seediq
|
|
||||||
Description: Taroko
|
Description: Taroko
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
@@ -36555,11 +36432,6 @@ Description: Ughele
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: ugh
|
|
||||||
Description: Kubachi
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: ugn
|
Subtag: ugn
|
||||||
Description: Ugandan Sign Language
|
Description: Ugandan Sign Language
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -36870,11 +36742,6 @@ Deprecated: 2015-02-12
|
|||||||
Preferred-Value: ema
|
Preferred-Value: ema
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: uon
|
|
||||||
Description: Kulon
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: upi
|
Subtag: upi
|
||||||
Description: Umeda
|
Description: Umeda
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -37077,8 +36944,6 @@ Type: language
|
|||||||
Subtag: uun
|
Subtag: uun
|
||||||
Description: Kulon-Pazeh
|
Description: Kulon-Pazeh
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
Comments: see pzh, uon
|
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: uur
|
Subtag: uur
|
||||||
@@ -37849,11 +37714,6 @@ Description: Wadikali
|
|||||||
Added: 2013-09-10
|
Added: 2013-09-10
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: wdt
|
|
||||||
Description: Wendat
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: wdu
|
Subtag: wdu
|
||||||
Description: Wadjigu
|
Description: Wadjigu
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -38488,7 +38348,6 @@ Type: language
|
|||||||
Subtag: wrd
|
Subtag: wrd
|
||||||
Description: Warduji
|
Description: Warduji
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: wrg
|
Subtag: wrg
|
||||||
@@ -38754,8 +38613,6 @@ Type: language
|
|||||||
Subtag: wya
|
Subtag: wya
|
||||||
Description: Wyandot
|
Description: Wyandot
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Deprecated: 2022-02-25
|
|
||||||
Comments: see wdt, wyn
|
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: wyb
|
Subtag: wyb
|
||||||
@@ -38773,11 +38630,6 @@ Description: Wymysorys
|
|||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: wyn
|
|
||||||
Description: Wyandot
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: wyr
|
Subtag: wyr
|
||||||
Description: Wayoró
|
Description: Wayoró
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -39084,11 +38936,6 @@ Description: Kwandu
|
|||||||
Added: 2017-02-23
|
Added: 2017-02-23
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: xdq
|
|
||||||
Description: Kaitag
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: xdy
|
Subtag: xdy
|
||||||
Description: Malayic Dayak
|
Description: Malayic Dayak
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -39232,11 +39079,6 @@ Added: 2009-07-29
|
|||||||
Macrolanguage: lah
|
Macrolanguage: lah
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: xhm
|
|
||||||
Description: Middle Khmer (1400 to 1850 CE)
|
|
||||||
Added: 2022-02-25
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: xhr
|
Subtag: xhr
|
||||||
Description: Hernican
|
Description: Hernican
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -39373,7 +39215,6 @@ Added: 2009-07-29
|
|||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: xkk
|
Subtag: xkk
|
||||||
Description: Kachok
|
|
||||||
Description: Kaco'
|
Description: Kaco'
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
@@ -39628,7 +39469,6 @@ Macrolanguage: mg
|
|||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: xmx
|
Subtag: xmx
|
||||||
Description: Salawati
|
|
||||||
Description: Maden
|
Description: Maden
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
%%
|
%%
|
||||||
@@ -41888,12 +41728,6 @@ Added: 2009-07-29
|
|||||||
Macrolanguage: zap
|
Macrolanguage: zap
|
||||||
%%
|
%%
|
||||||
Type: language
|
Type: language
|
||||||
Subtag: zcd
|
|
||||||
Description: Las Delicias Zapotec
|
|
||||||
Added: 2022-02-25
|
|
||||||
Macrolanguage: zap
|
|
||||||
%%
|
|
||||||
Type: language
|
|
||||||
Subtag: zch
|
Subtag: zch
|
||||||
Description: Central Hongshuihe Zhuang
|
Description: Central Hongshuihe Zhuang
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -42866,13 +42700,6 @@ Prefix: ar
|
|||||||
Macrolanguage: ar
|
Macrolanguage: ar
|
||||||
%%
|
%%
|
||||||
Type: extlang
|
Type: extlang
|
||||||
Subtag: ajs
|
|
||||||
Description: Algerian Jewish Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
Preferred-Value: ajs
|
|
||||||
Prefix: sgn
|
|
||||||
%%
|
|
||||||
Type: extlang
|
|
||||||
Subtag: apc
|
Subtag: apc
|
||||||
Description: North Levantine Arabic
|
Description: North Levantine Arabic
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -43277,13 +43104,6 @@ Preferred-Value: dsl
|
|||||||
Prefix: sgn
|
Prefix: sgn
|
||||||
%%
|
%%
|
||||||
Type: extlang
|
Type: extlang
|
||||||
Subtag: dsz
|
|
||||||
Description: Mardin Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
Preferred-Value: dsz
|
|
||||||
Prefix: sgn
|
|
||||||
%%
|
|
||||||
Type: extlang
|
|
||||||
Subtag: dup
|
Subtag: dup
|
||||||
Description: Duano
|
Description: Duano
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -43718,14 +43538,6 @@ Preferred-Value: lsb
|
|||||||
Prefix: sgn
|
Prefix: sgn
|
||||||
%%
|
%%
|
||||||
Type: extlang
|
Type: extlang
|
||||||
Subtag: lsc
|
|
||||||
Description: Albarradas Sign Language
|
|
||||||
Description: Lengua de señas Albarradas
|
|
||||||
Added: 2022-02-25
|
|
||||||
Preferred-Value: lsc
|
|
||||||
Prefix: sgn
|
|
||||||
%%
|
|
||||||
Type: extlang
|
|
||||||
Subtag: lsg
|
Subtag: lsg
|
||||||
Description: Lyons Sign Language
|
Description: Lyons Sign Language
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -43777,15 +43589,6 @@ Preferred-Value: lsv
|
|||||||
Prefix: sgn
|
Prefix: sgn
|
||||||
%%
|
%%
|
||||||
Type: extlang
|
Type: extlang
|
||||||
Subtag: lsw
|
|
||||||
Description: Seychelles Sign Language
|
|
||||||
Description: Lalang Siny Seselwa
|
|
||||||
Description: Langue des Signes Seychelloise
|
|
||||||
Added: 2022-02-25
|
|
||||||
Preferred-Value: lsw
|
|
||||||
Prefix: sgn
|
|
||||||
%%
|
|
||||||
Type: extlang
|
|
||||||
Subtag: lsy
|
Subtag: lsy
|
||||||
Description: Mauritian Sign Language
|
Description: Mauritian Sign Language
|
||||||
Added: 2010-03-11
|
Added: 2010-03-11
|
||||||
@@ -44077,7 +43880,6 @@ Prefix: sgn
|
|||||||
%%
|
%%
|
||||||
Type: extlang
|
Type: extlang
|
||||||
Subtag: psc
|
Subtag: psc
|
||||||
Description: Iranian Sign Language
|
|
||||||
Description: Persian Sign Language
|
Description: Persian Sign Language
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
Preferred-Value: psc
|
Preferred-Value: psc
|
||||||
@@ -44142,13 +43944,6 @@ Preferred-Value: pys
|
|||||||
Prefix: sgn
|
Prefix: sgn
|
||||||
%%
|
%%
|
||||||
Type: extlang
|
Type: extlang
|
||||||
Subtag: rib
|
|
||||||
Description: Bribri Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
Preferred-Value: rib
|
|
||||||
Prefix: sgn
|
|
||||||
%%
|
|
||||||
Type: extlang
|
|
||||||
Subtag: rms
|
Subtag: rms
|
||||||
Description: Romanian Sign Language
|
Description: Romanian Sign Language
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -44156,13 +43951,6 @@ Preferred-Value: rms
|
|||||||
Prefix: sgn
|
Prefix: sgn
|
||||||
%%
|
%%
|
||||||
Type: extlang
|
Type: extlang
|
||||||
Subtag: rnb
|
|
||||||
Description: Brunca Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
Preferred-Value: rnb
|
|
||||||
Prefix: sgn
|
|
||||||
%%
|
|
||||||
Type: extlang
|
|
||||||
Subtag: rsi
|
Subtag: rsi
|
||||||
Description: Rennellese Sign Language
|
Description: Rennellese Sign Language
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -44185,13 +43973,6 @@ Preferred-Value: rsm
|
|||||||
Prefix: sgn
|
Prefix: sgn
|
||||||
%%
|
%%
|
||||||
Type: extlang
|
Type: extlang
|
||||||
Subtag: rsn
|
|
||||||
Description: Rwandan Sign Language
|
|
||||||
Added: 2022-02-25
|
|
||||||
Preferred-Value: rsn
|
|
||||||
Prefix: sgn
|
|
||||||
%%
|
|
||||||
Type: extlang
|
|
||||||
Subtag: sdl
|
Subtag: sdl
|
||||||
Description: Saudi Arabian Sign Language
|
Description: Saudi Arabian Sign Language
|
||||||
Added: 2009-07-29
|
Added: 2009-07-29
|
||||||
@@ -45012,11 +44793,6 @@ Description: Katakana
|
|||||||
Added: 2005-10-16
|
Added: 2005-10-16
|
||||||
%%
|
%%
|
||||||
Type: script
|
Type: script
|
||||||
Subtag: Kawi
|
|
||||||
Description: Kawi
|
|
||||||
Added: 2021-12-24
|
|
||||||
%%
|
|
||||||
Type: script
|
|
||||||
Subtag: Khar
|
Subtag: Khar
|
||||||
Description: Kharoshthi
|
Description: Kharoshthi
|
||||||
Added: 2005-10-16
|
Added: 2005-10-16
|
||||||
@@ -45236,11 +45012,6 @@ Description: Burmese
|
|||||||
Added: 2005-10-16
|
Added: 2005-10-16
|
||||||
%%
|
%%
|
||||||
Type: script
|
Type: script
|
||||||
Subtag: Nagm
|
|
||||||
Description: Nag Mundari
|
|
||||||
Added: 2021-12-24
|
|
||||||
%%
|
|
||||||
Type: script
|
|
||||||
Subtag: Nand
|
Subtag: Nand
|
||||||
Description: Nandinagari
|
Description: Nandinagari
|
||||||
Added: 2018-10-28
|
Added: 2018-10-28
|
||||||
@@ -45519,11 +45290,6 @@ Description: Sundanese
|
|||||||
Added: 2006-07-21
|
Added: 2006-07-21
|
||||||
%%
|
%%
|
||||||
Type: script
|
Type: script
|
||||||
Subtag: Sunu
|
|
||||||
Description: Sunuwar
|
|
||||||
Added: 2021-12-24
|
|
||||||
%%
|
|
||||||
Type: script
|
|
||||||
Subtag: Sylo
|
Subtag: Sylo
|
||||||
Description: Syloti Nagri
|
Description: Syloti Nagri
|
||||||
Added: 2005-10-16
|
Added: 2005-10-16
|
||||||
@@ -46970,7 +46736,6 @@ Preferred-Value: TL
|
|||||||
%%
|
%%
|
||||||
Type: region
|
Type: region
|
||||||
Subtag: TR
|
Subtag: TR
|
||||||
Description: Türkiye
|
|
||||||
Description: Turkey
|
Description: Turkey
|
||||||
Added: 2005-10-16
|
Added: 2005-10-16
|
||||||
%%
|
%%
|
||||||
@@ -47592,12 +47357,6 @@ Added: 2010-10-23
|
|||||||
Comments: Indicates that the content is transcribed according to X-SAMPA
|
Comments: Indicates that the content is transcribed according to X-SAMPA
|
||||||
%%
|
%%
|
||||||
Type: variant
|
Type: variant
|
||||||
Subtag: gallo
|
|
||||||
Description: Gallo
|
|
||||||
Added: 2021-08-05
|
|
||||||
Prefix: fr
|
|
||||||
%%
|
|
||||||
Type: variant
|
|
||||||
Subtag: gascon
|
Subtag: gascon
|
||||||
Description: Gascon
|
Description: Gascon
|
||||||
Added: 2018-04-22
|
Added: 2018-04-22
|
||||||
@@ -47767,19 +47526,6 @@ Comments: The dialect of Lipovaz/Lipovec is one of the minor local
|
|||||||
dialects of Resian
|
dialects of Resian
|
||||||
%%
|
%%
|
||||||
Type: variant
|
Type: variant
|
||||||
Subtag: ltg1929
|
|
||||||
Description: The Latgalian language orthography codified in 1929
|
|
||||||
Added: 2022-08-05
|
|
||||||
Prefix: ltg
|
|
||||||
%%
|
|
||||||
Type: variant
|
|
||||||
Subtag: ltg2007
|
|
||||||
Description: The Latgalian language orthography codified in the language
|
|
||||||
law in 2007
|
|
||||||
Added: 2022-06-23
|
|
||||||
Prefix: ltg
|
|
||||||
%%
|
|
||||||
Type: variant
|
|
||||||
Subtag: luna1918
|
Subtag: luna1918
|
||||||
Description: Post-1917 Russian orthography
|
Description: Post-1917 Russian orthography
|
||||||
Added: 2010-10-10
|
Added: 2010-10-10
|
||||||
@@ -48033,13 +47779,6 @@ Comments: Sutsilvan is one of the five traditional written standards or
|
|||||||
"idioms" of the Romansh language.
|
"idioms" of the Romansh language.
|
||||||
%%
|
%%
|
||||||
Type: variant
|
Type: variant
|
||||||
Subtag: synnejyl
|
|
||||||
Description: Synnejysk
|
|
||||||
Description: South Jutish
|
|
||||||
Added: 2021-07-17
|
|
||||||
Prefix: da
|
|
||||||
%%
|
|
||||||
Type: variant
|
|
||||||
Subtag: tarask
|
Subtag: tarask
|
||||||
Description: Belarusian in Taraskievica orthography
|
Description: Belarusian in Taraskievica orthography
|
||||||
Added: 2007-04-27
|
Added: 2007-04-27
|
||||||
|
|||||||
@@ -21,4 +21,4 @@
|
|||||||
# or visit www.oracle.com if you need additional information or have any
|
# or visit www.oracle.com if you need additional information or have any
|
||||||
# questions.
|
# questions.
|
||||||
#
|
#
|
||||||
tzdata2023c
|
tzdata2022g
|
||||||
|
|||||||
@@ -344,14 +344,6 @@ Rule Egypt 2007 only - Sep Thu>=1 24:00 0 -
|
|||||||
# From Mina Samuel (2016-07-04):
|
# From Mina Samuel (2016-07-04):
|
||||||
# Egyptian government took the decision to cancel the DST,
|
# Egyptian government took the decision to cancel the DST,
|
||||||
|
|
||||||
# From Ahmad ElDardiry (2023-03-01):
|
|
||||||
# Egypt officially announced today that daylight savings will be
|
|
||||||
# applied from last Friday of April to last Thursday of October.
|
|
||||||
# From Paul Eggert (2023-03-01):
|
|
||||||
# Assume transitions are at 00:00 and 24:00 respectively.
|
|
||||||
# From Amir Adib (2023-03-07):
|
|
||||||
# https://www.facebook.com/EgyptianCabinet/posts/638829614954129/
|
|
||||||
|
|
||||||
Rule Egypt 2008 only - Aug lastThu 24:00 0 -
|
Rule Egypt 2008 only - Aug lastThu 24:00 0 -
|
||||||
Rule Egypt 2009 only - Aug 20 24:00 0 -
|
Rule Egypt 2009 only - Aug 20 24:00 0 -
|
||||||
Rule Egypt 2010 only - Aug 10 24:00 0 -
|
Rule Egypt 2010 only - Aug 10 24:00 0 -
|
||||||
@@ -361,8 +353,6 @@ Rule Egypt 2014 only - May 15 24:00 1:00 S
|
|||||||
Rule Egypt 2014 only - Jun 26 24:00 0 -
|
Rule Egypt 2014 only - Jun 26 24:00 0 -
|
||||||
Rule Egypt 2014 only - Jul 31 24:00 1:00 S
|
Rule Egypt 2014 only - Jul 31 24:00 1:00 S
|
||||||
Rule Egypt 2014 only - Sep lastThu 24:00 0 -
|
Rule Egypt 2014 only - Sep lastThu 24:00 0 -
|
||||||
Rule Egypt 2023 max - Apr lastFri 0:00 1:00 S
|
|
||||||
Rule Egypt 2023 max - Oct lastThu 24:00 0 -
|
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
#STDOFF 2:05:08.9
|
#STDOFF 2:05:08.9
|
||||||
@@ -462,7 +452,7 @@ Zone Africa/Nairobi 2:27:16 - LMT 1908 May
|
|||||||
# President William R. Tolbert, Jr., July 23, 1971-July 31, 1972.
|
# President William R. Tolbert, Jr., July 23, 1971-July 31, 1972.
|
||||||
# Monrovia: Executive Mansion.
|
# Monrovia: Executive Mansion.
|
||||||
#
|
#
|
||||||
# Use the abbreviation "MMT" before 1972, as the more accurate numeric
|
# Use the abbreviation "MMT" before 1972, as the more-accurate numeric
|
||||||
# abbreviation "-004430" would be one byte over the POSIX limit.
|
# abbreviation "-004430" would be one byte over the POSIX limit.
|
||||||
#
|
#
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
@@ -599,8 +589,8 @@ Zone Africa/Tripoli 0:52:44 - LMT 1920
|
|||||||
# DST the coming summer...
|
# DST the coming summer...
|
||||||
#
|
#
|
||||||
# Some sources, in French:
|
# Some sources, in French:
|
||||||
# http://www.defimedia.info/news/946/Rashid-Beebeejaun-:-«-L%E2%80%99heure-d%E2%80%99été-ne-sera-pas-appliquée-cette-année-»
|
# http://www.defimedia.info/news/946/Rashid-Beebeejaun-:-%C2%AB-L%E2%80%99heure-d%E2%80%99%C3%A9t%C3%A9-ne-sera-pas-appliqu%C3%A9e-cette-ann%C3%A9e-%C2%BB
|
||||||
# http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-économie-d-énergie-de-l-heure-d-été-ont-été-atteints-
|
# http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints-
|
||||||
#
|
#
|
||||||
# Our wrap-up:
|
# Our wrap-up:
|
||||||
# https://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html
|
# https://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html
|
||||||
@@ -731,7 +721,7 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
|
|||||||
# More articles in the press
|
# More articles in the press
|
||||||
# https://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html
|
# https://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html
|
||||||
# http://www.lematin.ma/Actualite/Express/Article.asp?id=148923
|
# http://www.lematin.ma/Actualite/Express/Article.asp?id=148923
|
||||||
# http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT+1-a-partir-de-dim
|
# http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim
|
||||||
|
|
||||||
# From Petr Machata (2011-03-30):
|
# From Petr Machata (2011-03-30):
|
||||||
# They have it written in English here:
|
# They have it written in English here:
|
||||||
@@ -746,7 +736,7 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
|
|||||||
# According to Infomédiaire web site from Morocco (infomediaire.ma),
|
# According to Infomédiaire web site from Morocco (infomediaire.ma),
|
||||||
# on March 9, 2012, (in French) Heure légale:
|
# on March 9, 2012, (in French) Heure légale:
|
||||||
# Le Maroc adopte officiellement l'heure d'été
|
# Le Maroc adopte officiellement l'heure d'été
|
||||||
# http://www.infomediaire.ma/news/maroc/heure-légale-le-maroc-adopte-officiellement-lheure-dété
|
# http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9
|
||||||
# Governing Council adopted draft decree, that Morocco DST starts on
|
# Governing Council adopted draft decree, that Morocco DST starts on
|
||||||
# the last Sunday of March (March 25, 2012) and ends on
|
# the last Sunday of March (March 25, 2012) and ends on
|
||||||
# last Sunday of September (September 30, 2012)
|
# last Sunday of September (September 30, 2012)
|
||||||
@@ -870,28 +860,19 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
|
|||||||
# Friday or Saturday (and so the 2 days off are on a weekend), the next time
|
# Friday or Saturday (and so the 2 days off are on a weekend), the next time
|
||||||
# shift will be the next weekend.
|
# shift will be the next weekend.
|
||||||
#
|
#
|
||||||
# From Milamber (2021-03-31, 2022-03-10):
|
# From Paul Eggert (2020-05-31):
|
||||||
# https://www.mmsp.gov.ma/fr/actualites.aspx?id=2076
|
|
||||||
# https://www.ecoactu.ma/horaires-administration-ramadan-gmtheure-gmt-a-partir-de-dimanche-27-mars/
|
|
||||||
#
|
|
||||||
# From Milamber (2023-03-14, 2023-03-15):
|
|
||||||
# The return to legal GMT time will take place this Sunday, March 19 at 3 a.m.
|
|
||||||
# ... the return to GMT+1 will be made on Sunday April 23, 2023 at 2 a.m.
|
|
||||||
# https://www.mmsp.gov.ma/fr/actualites/passage-à-l%E2%80%99heure-gmt-à-partir-du-dimanche-19-mars-2023
|
|
||||||
#
|
|
||||||
# From Paul Eggert (2023-03-14):
|
|
||||||
# For now, guess that in the future Morocco will fall back at 03:00
|
# For now, guess that in the future Morocco will fall back at 03:00
|
||||||
# the last Sunday before Ramadan, and spring forward at 02:00 the
|
# the last Sunday before Ramadan, and spring forward at 02:00 the
|
||||||
# first Sunday after one day after Ramadan. To implement this,
|
# first Sunday after two days after Ramadan. To implement this,
|
||||||
# transition dates and times for 2019 through 2087 were determined by
|
# transition dates and times for 2019 through 2087 were determined by
|
||||||
# running the following program under GNU Emacs 28.2. (This algorithm
|
# running the following program under GNU Emacs 26.3. (This algorithm
|
||||||
# also produces the correct transition dates for 2016 through 2018,
|
# also produces the correct transition dates for 2016 through 2018,
|
||||||
# though the times differ due to Morocco's time zone change in 2018.)
|
# though the times differ due to Morocco's time zone change in 2018.)
|
||||||
# (let ((islamic-year 1440))
|
# (let ((islamic-year 1440))
|
||||||
# (require 'cal-islam)
|
# (require 'cal-islam)
|
||||||
# (while (< islamic-year 1511)
|
# (while (< islamic-year 1511)
|
||||||
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
||||||
# (b (+ 1 (calendar-islamic-to-absolute (list 10 1 islamic-year))))
|
# (b (+ 2 (calendar-islamic-to-absolute (list 10 1 islamic-year))))
|
||||||
# (sunday 0))
|
# (sunday 0))
|
||||||
# (while (/= sunday (mod (setq a (1- a)) 7)))
|
# (while (/= sunday (mod (setq a (1- a)) 7)))
|
||||||
# (while (/= sunday (mod b 7))
|
# (while (/= sunday (mod b 7))
|
||||||
@@ -905,6 +886,10 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
|
|||||||
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
|
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
|
||||||
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
|
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
|
||||||
# (setq islamic-year (+ 1 islamic-year))))
|
# (setq islamic-year (+ 1 islamic-year))))
|
||||||
|
#
|
||||||
|
# From Milamber (2021-03-31, 2022-03-10), confirming these predictions:
|
||||||
|
# https://www.mmsp.gov.ma/fr/actualites.aspx?id=2076
|
||||||
|
# https://www.ecoactu.ma/horaires-administration-ramadan-gmtheure-gmt-a-partir-de-dimanche-27-mars/
|
||||||
|
|
||||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||||
Rule Morocco 1939 only - Sep 12 0:00 1:00 -
|
Rule Morocco 1939 only - Sep 12 0:00 1:00 -
|
||||||
@@ -957,7 +942,7 @@ Rule Morocco 2021 only - May 16 2:00 0 -
|
|||||||
Rule Morocco 2022 only - Mar 27 3:00 -1:00 -
|
Rule Morocco 2022 only - Mar 27 3:00 -1:00 -
|
||||||
Rule Morocco 2022 only - May 8 2:00 0 -
|
Rule Morocco 2022 only - May 8 2:00 0 -
|
||||||
Rule Morocco 2023 only - Mar 19 3:00 -1:00 -
|
Rule Morocco 2023 only - Mar 19 3:00 -1:00 -
|
||||||
Rule Morocco 2023 only - Apr 23 2:00 0 -
|
Rule Morocco 2023 only - Apr 30 2:00 0 -
|
||||||
Rule Morocco 2024 only - Mar 10 3:00 -1:00 -
|
Rule Morocco 2024 only - Mar 10 3:00 -1:00 -
|
||||||
Rule Morocco 2024 only - Apr 14 2:00 0 -
|
Rule Morocco 2024 only - Apr 14 2:00 0 -
|
||||||
Rule Morocco 2025 only - Feb 23 3:00 -1:00 -
|
Rule Morocco 2025 only - Feb 23 3:00 -1:00 -
|
||||||
@@ -973,7 +958,7 @@ Rule Morocco 2029 only - Feb 18 2:00 0 -
|
|||||||
Rule Morocco 2029 only - Dec 30 3:00 -1:00 -
|
Rule Morocco 2029 only - Dec 30 3:00 -1:00 -
|
||||||
Rule Morocco 2030 only - Feb 10 2:00 0 -
|
Rule Morocco 2030 only - Feb 10 2:00 0 -
|
||||||
Rule Morocco 2030 only - Dec 22 3:00 -1:00 -
|
Rule Morocco 2030 only - Dec 22 3:00 -1:00 -
|
||||||
Rule Morocco 2031 only - Jan 26 2:00 0 -
|
Rule Morocco 2031 only - Feb 2 2:00 0 -
|
||||||
Rule Morocco 2031 only - Dec 14 3:00 -1:00 -
|
Rule Morocco 2031 only - Dec 14 3:00 -1:00 -
|
||||||
Rule Morocco 2032 only - Jan 18 2:00 0 -
|
Rule Morocco 2032 only - Jan 18 2:00 0 -
|
||||||
Rule Morocco 2032 only - Nov 28 3:00 -1:00 -
|
Rule Morocco 2032 only - Nov 28 3:00 -1:00 -
|
||||||
@@ -989,7 +974,7 @@ Rule Morocco 2036 only - Nov 23 2:00 0 -
|
|||||||
Rule Morocco 2037 only - Oct 4 3:00 -1:00 -
|
Rule Morocco 2037 only - Oct 4 3:00 -1:00 -
|
||||||
Rule Morocco 2037 only - Nov 15 2:00 0 -
|
Rule Morocco 2037 only - Nov 15 2:00 0 -
|
||||||
Rule Morocco 2038 only - Sep 26 3:00 -1:00 -
|
Rule Morocco 2038 only - Sep 26 3:00 -1:00 -
|
||||||
Rule Morocco 2038 only - Oct 31 2:00 0 -
|
Rule Morocco 2038 only - Nov 7 2:00 0 -
|
||||||
Rule Morocco 2039 only - Sep 18 3:00 -1:00 -
|
Rule Morocco 2039 only - Sep 18 3:00 -1:00 -
|
||||||
Rule Morocco 2039 only - Oct 23 2:00 0 -
|
Rule Morocco 2039 only - Oct 23 2:00 0 -
|
||||||
Rule Morocco 2040 only - Sep 2 3:00 -1:00 -
|
Rule Morocco 2040 only - Sep 2 3:00 -1:00 -
|
||||||
@@ -1005,7 +990,7 @@ Rule Morocco 2044 only - Aug 28 2:00 0 -
|
|||||||
Rule Morocco 2045 only - Jul 9 3:00 -1:00 -
|
Rule Morocco 2045 only - Jul 9 3:00 -1:00 -
|
||||||
Rule Morocco 2045 only - Aug 20 2:00 0 -
|
Rule Morocco 2045 only - Aug 20 2:00 0 -
|
||||||
Rule Morocco 2046 only - Jul 1 3:00 -1:00 -
|
Rule Morocco 2046 only - Jul 1 3:00 -1:00 -
|
||||||
Rule Morocco 2046 only - Aug 5 2:00 0 -
|
Rule Morocco 2046 only - Aug 12 2:00 0 -
|
||||||
Rule Morocco 2047 only - Jun 23 3:00 -1:00 -
|
Rule Morocco 2047 only - Jun 23 3:00 -1:00 -
|
||||||
Rule Morocco 2047 only - Jul 28 2:00 0 -
|
Rule Morocco 2047 only - Jul 28 2:00 0 -
|
||||||
Rule Morocco 2048 only - Jun 7 3:00 -1:00 -
|
Rule Morocco 2048 only - Jun 7 3:00 -1:00 -
|
||||||
@@ -1021,7 +1006,7 @@ Rule Morocco 2052 only - Jun 2 2:00 0 -
|
|||||||
Rule Morocco 2053 only - Apr 13 3:00 -1:00 -
|
Rule Morocco 2053 only - Apr 13 3:00 -1:00 -
|
||||||
Rule Morocco 2053 only - May 25 2:00 0 -
|
Rule Morocco 2053 only - May 25 2:00 0 -
|
||||||
Rule Morocco 2054 only - Apr 5 3:00 -1:00 -
|
Rule Morocco 2054 only - Apr 5 3:00 -1:00 -
|
||||||
Rule Morocco 2054 only - May 10 2:00 0 -
|
Rule Morocco 2054 only - May 17 2:00 0 -
|
||||||
Rule Morocco 2055 only - Mar 28 3:00 -1:00 -
|
Rule Morocco 2055 only - Mar 28 3:00 -1:00 -
|
||||||
Rule Morocco 2055 only - May 2 2:00 0 -
|
Rule Morocco 2055 only - May 2 2:00 0 -
|
||||||
Rule Morocco 2056 only - Mar 12 3:00 -1:00 -
|
Rule Morocco 2056 only - Mar 12 3:00 -1:00 -
|
||||||
@@ -1037,7 +1022,7 @@ Rule Morocco 2060 only - Mar 7 2:00 0 -
|
|||||||
Rule Morocco 2061 only - Jan 16 3:00 -1:00 -
|
Rule Morocco 2061 only - Jan 16 3:00 -1:00 -
|
||||||
Rule Morocco 2061 only - Feb 27 2:00 0 -
|
Rule Morocco 2061 only - Feb 27 2:00 0 -
|
||||||
Rule Morocco 2062 only - Jan 8 3:00 -1:00 -
|
Rule Morocco 2062 only - Jan 8 3:00 -1:00 -
|
||||||
Rule Morocco 2062 only - Feb 12 2:00 0 -
|
Rule Morocco 2062 only - Feb 19 2:00 0 -
|
||||||
Rule Morocco 2062 only - Dec 31 3:00 -1:00 -
|
Rule Morocco 2062 only - Dec 31 3:00 -1:00 -
|
||||||
Rule Morocco 2063 only - Feb 4 2:00 0 -
|
Rule Morocco 2063 only - Feb 4 2:00 0 -
|
||||||
Rule Morocco 2063 only - Dec 16 3:00 -1:00 -
|
Rule Morocco 2063 only - Dec 16 3:00 -1:00 -
|
||||||
@@ -1053,7 +1038,7 @@ Rule Morocco 2067 only - Dec 11 2:00 0 -
|
|||||||
Rule Morocco 2068 only - Oct 21 3:00 -1:00 -
|
Rule Morocco 2068 only - Oct 21 3:00 -1:00 -
|
||||||
Rule Morocco 2068 only - Dec 2 2:00 0 -
|
Rule Morocco 2068 only - Dec 2 2:00 0 -
|
||||||
Rule Morocco 2069 only - Oct 13 3:00 -1:00 -
|
Rule Morocco 2069 only - Oct 13 3:00 -1:00 -
|
||||||
Rule Morocco 2069 only - Nov 17 2:00 0 -
|
Rule Morocco 2069 only - Nov 24 2:00 0 -
|
||||||
Rule Morocco 2070 only - Oct 5 3:00 -1:00 -
|
Rule Morocco 2070 only - Oct 5 3:00 -1:00 -
|
||||||
Rule Morocco 2070 only - Nov 9 2:00 0 -
|
Rule Morocco 2070 only - Nov 9 2:00 0 -
|
||||||
Rule Morocco 2071 only - Sep 20 3:00 -1:00 -
|
Rule Morocco 2071 only - Sep 20 3:00 -1:00 -
|
||||||
@@ -1069,7 +1054,7 @@ Rule Morocco 2075 only - Sep 15 2:00 0 -
|
|||||||
Rule Morocco 2076 only - Jul 26 3:00 -1:00 -
|
Rule Morocco 2076 only - Jul 26 3:00 -1:00 -
|
||||||
Rule Morocco 2076 only - Sep 6 2:00 0 -
|
Rule Morocco 2076 only - Sep 6 2:00 0 -
|
||||||
Rule Morocco 2077 only - Jul 18 3:00 -1:00 -
|
Rule Morocco 2077 only - Jul 18 3:00 -1:00 -
|
||||||
Rule Morocco 2077 only - Aug 22 2:00 0 -
|
Rule Morocco 2077 only - Aug 29 2:00 0 -
|
||||||
Rule Morocco 2078 only - Jul 10 3:00 -1:00 -
|
Rule Morocco 2078 only - Jul 10 3:00 -1:00 -
|
||||||
Rule Morocco 2078 only - Aug 14 2:00 0 -
|
Rule Morocco 2078 only - Aug 14 2:00 0 -
|
||||||
Rule Morocco 2079 only - Jun 25 3:00 -1:00 -
|
Rule Morocco 2079 only - Jun 25 3:00 -1:00 -
|
||||||
@@ -1079,13 +1064,13 @@ Rule Morocco 2080 only - Jul 21 2:00 0 -
|
|||||||
Rule Morocco 2081 only - Jun 1 3:00 -1:00 -
|
Rule Morocco 2081 only - Jun 1 3:00 -1:00 -
|
||||||
Rule Morocco 2081 only - Jul 13 2:00 0 -
|
Rule Morocco 2081 only - Jul 13 2:00 0 -
|
||||||
Rule Morocco 2082 only - May 24 3:00 -1:00 -
|
Rule Morocco 2082 only - May 24 3:00 -1:00 -
|
||||||
Rule Morocco 2082 only - Jun 28 2:00 0 -
|
Rule Morocco 2082 only - Jul 5 2:00 0 -
|
||||||
Rule Morocco 2083 only - May 16 3:00 -1:00 -
|
Rule Morocco 2083 only - May 16 3:00 -1:00 -
|
||||||
Rule Morocco 2083 only - Jun 20 2:00 0 -
|
Rule Morocco 2083 only - Jun 20 2:00 0 -
|
||||||
Rule Morocco 2084 only - Apr 30 3:00 -1:00 -
|
Rule Morocco 2084 only - Apr 30 3:00 -1:00 -
|
||||||
Rule Morocco 2084 only - Jun 11 2:00 0 -
|
Rule Morocco 2084 only - Jun 11 2:00 0 -
|
||||||
Rule Morocco 2085 only - Apr 22 3:00 -1:00 -
|
Rule Morocco 2085 only - Apr 22 3:00 -1:00 -
|
||||||
Rule Morocco 2085 only - May 27 2:00 0 -
|
Rule Morocco 2085 only - Jun 3 2:00 0 -
|
||||||
Rule Morocco 2086 only - Apr 14 3:00 -1:00 -
|
Rule Morocco 2086 only - Apr 14 3:00 -1:00 -
|
||||||
Rule Morocco 2086 only - May 19 2:00 0 -
|
Rule Morocco 2086 only - May 19 2:00 0 -
|
||||||
Rule Morocco 2087 only - Mar 30 3:00 -1:00 -
|
Rule Morocco 2087 only - Mar 30 3:00 -1:00 -
|
||||||
@@ -1228,15 +1213,15 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
|
|||||||
# From P Chan (2020-12-03):
|
# From P Chan (2020-12-03):
|
||||||
# GMT was adopted as the standard time of Lagos on 1905-07-01.
|
# GMT was adopted as the standard time of Lagos on 1905-07-01.
|
||||||
# Lagos Weekly Record, 1905-06-24, p 3
|
# Lagos Weekly Record, 1905-06-24, p 3
|
||||||
# http://ddsnext.crl.edu/titles/31558#?c=0&m=668&s=0&cv=2&r=0&xywh=1446,5221,1931,1235
|
# http://ddsnext.crl.edu/titles/31558#?c=0&m=668&s=0&cv=2&r=0&xywh=1446%2C5221%2C1931%2C1235
|
||||||
# says "It is officially notified that on and after the 1st of July 1905
|
# says "It is officially notified that on and after the 1st of July 1905
|
||||||
# Greenwich Mean Solar Time will be adopted throughout the Colony and
|
# Greenwich Mean Solar Time will be adopted thought the Colony and
|
||||||
# Protectorate, and that it will be necessary to put all clocks 13 minutes and
|
# Protectorate, and that it will be necessary to put all clocks 13 minutes and
|
||||||
# 35 seconds back, recording local mean time."
|
# 35 seconds back, recording local mean time."
|
||||||
#
|
#
|
||||||
# It seemed that Lagos returned to LMT on 1908-07-01.
|
# It seemed that Lagos returned to LMT on 1908-07-01.
|
||||||
# [The Lagos Standard], 1908-07-01, p 5
|
# [The Lagos Standard], 1908-07-01, p 5
|
||||||
# http://ddsnext.crl.edu/titles/31556#?c=0&m=78&s=0&cv=4&r=0&xywh=-92,3590,3944,2523
|
# http://ddsnext.crl.edu/titles/31556#?c=0&m=78&s=0&cv=4&r=0&xywh=-92%2C3590%2C3944%2C2523
|
||||||
# says "Scarcely have the people become accustomed to this new time, when
|
# says "Scarcely have the people become accustomed to this new time, when
|
||||||
# another official notice has now appeared announcing that from and after the
|
# another official notice has now appeared announcing that from and after the
|
||||||
# 1st July next, return will be made to local mean time."
|
# 1st July next, return will be made to local mean time."
|
||||||
@@ -1248,7 +1233,7 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
|
|||||||
# https://libsysdigi.library.illinois.edu/ilharvest/Africana/Books2011-05/3064634/3064634_1914/3064634_1914_opt.pdf#page=27
|
# https://libsysdigi.library.illinois.edu/ilharvest/Africana/Books2011-05/3064634/3064634_1914/3064634_1914_opt.pdf#page=27
|
||||||
# "On January 1st [1914], a universal standard time for Nigeria was adopted,
|
# "On January 1st [1914], a universal standard time for Nigeria was adopted,
|
||||||
# viz., half an hour fast on Greenwich mean time, corresponding to the meridian
|
# viz., half an hour fast on Greenwich mean time, corresponding to the meridian
|
||||||
# 7° 30' E. long."
|
# 7 [degrees] 30' E. long."
|
||||||
# Lloyd's Register of Shipping (1915) says "Hitherto the time observed in Lagos
|
# Lloyd's Register of Shipping (1915) says "Hitherto the time observed in Lagos
|
||||||
# was the local mean time. On 1st January, 1914, standard time for the whole of
|
# was the local mean time. On 1st January, 1914, standard time for the whole of
|
||||||
# Nigeria was introduced ... Lagos time has been advanced about 16 minutes
|
# Nigeria was introduced ... Lagos time has been advanced about 16 minutes
|
||||||
@@ -1266,7 +1251,7 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
|
|||||||
# The Lagos Weekly Record, 1919-09-20, p 3 details discussion on the first
|
# The Lagos Weekly Record, 1919-09-20, p 3 details discussion on the first
|
||||||
# reading of this Bill by the Legislative Council of the Colony of Nigeria on
|
# reading of this Bill by the Legislative Council of the Colony of Nigeria on
|
||||||
# Thursday 1919-08-28:
|
# Thursday 1919-08-28:
|
||||||
# http://ddsnext.crl.edu/titles/31558?terms&item_id=303484#?m=1118&c=1&s=0&cv=2&r=0&xywh=1261,3408,2994,1915
|
# http://ddsnext.crl.edu/titles/31558?terms&item_id=303484#?m=1118&c=1&s=0&cv=2&r=0&xywh=1261%2C3408%2C2994%2C1915
|
||||||
# "The proposal is that the Globe should be divided into twelve zones East and
|
# "The proposal is that the Globe should be divided into twelve zones East and
|
||||||
# West of Greenwich, of one hour each, Nigeria falling into the zone with a
|
# West of Greenwich, of one hour each, Nigeria falling into the zone with a
|
||||||
# standard of one hour fast on Greenwich Mean Time. Nigeria standard time is
|
# standard of one hour fast on Greenwich Mean Time. Nigeria standard time is
|
||||||
|
|||||||
@@ -315,7 +315,7 @@ Zone Antarctica/Rothera 0 - -00 1976 Dec 1
|
|||||||
# but that he found it more convenient to keep GMT+12
|
# but that he found it more convenient to keep GMT+12
|
||||||
# as supplies for the station were coming from McMurdo Sound,
|
# as supplies for the station were coming from McMurdo Sound,
|
||||||
# which was on GMT+12 because New Zealand was on GMT+12 all year
|
# which was on GMT+12 because New Zealand was on GMT+12 all year
|
||||||
# at that time (1957). (Source: Siple's book 90° South.)
|
# at that time (1957). (Source: Siple's book 90 Degrees South.)
|
||||||
#
|
#
|
||||||
# From Susan Smith
|
# From Susan Smith
|
||||||
# http://www.cybertours.com/whs/pole10.html
|
# http://www.cybertours.com/whs/pole10.html
|
||||||
|
|||||||
@@ -2714,40 +2714,6 @@ Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1
|
|||||||
|
|
||||||
|
|
||||||
# Lebanon
|
# Lebanon
|
||||||
#
|
|
||||||
# From Saadallah Itani (2023-03-23):
|
|
||||||
# Lebanon ... announced today delay of Spring forward from March 25 to April 20.
|
|
||||||
#
|
|
||||||
# From Paul Eggert (2023-03-27):
|
|
||||||
# This announcement was by the Lebanese caretaker prime minister Najib Mikati.
|
|
||||||
# https://www.mtv.com.lb/en/News/Local/1352516/lebanon-postpones-daylight-saving-time-adoption
|
|
||||||
# A video was later leaked to the media of parliament speaker Nabih Berri
|
|
||||||
# asking Mikati to postpone DST to aid observance of Ramadan, Mikati objecting
|
|
||||||
# that this would cause problems such as scheduling airline flights, to which
|
|
||||||
# Berri interjected, "What flights?"
|
|
||||||
#
|
|
||||||
# The change was controversial and led to a partly-sectarian divide.
|
|
||||||
# Many Lebanese institutions, including the education ministry, the Maronite
|
|
||||||
# church, and two news channels LCBI and MTV, ignored the announcement and
|
|
||||||
# went ahead with the long-scheduled spring-forward on March 25/26, some
|
|
||||||
# arguing that the prime minister had not followed the law because the change
|
|
||||||
# had not been approved by the cabinet. Google went with the announcement;
|
|
||||||
# Apple ignored it. At least one bank followed the announcement for its doors,
|
|
||||||
# but ignored the announcement in internal computer systems.
|
|
||||||
# Beirut international airport listed two times for each departure.
|
|
||||||
# Dan Azzi wrote "My view is that this whole thing is a Dumb and Dumber movie."
|
|
||||||
# Eventually the prime minister backed down, said the cabinet had decided to
|
|
||||||
# stick with its 1998 decision, and that DST would begin midnight March 29/30.
|
|
||||||
# https://www.nna-leb.gov.lb/en/miscellaneous/604093/lebanon-has-two-times-of-day-amid-daylight-savings
|
|
||||||
# https://www.cnbc.com/2023/03/27/lebanon-in-two-different-time-zones-as-government-disagrees-on-daylight-savings.html
|
|
||||||
#
|
|
||||||
# Although we could model the chaos with two Zones, that would likely cause
|
|
||||||
# more trouble than it would cure. Since so many manual clocks and
|
|
||||||
# computer-based timestamps ignored the announcement, stick with official
|
|
||||||
# cabinet resolutions in the data while recording the prime minister's
|
|
||||||
# announcement as a comment. This is how we treated a similar situation in
|
|
||||||
# Rio de Janeiro in spring 1993.
|
|
||||||
#
|
|
||||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||||
Rule Lebanon 1920 only - Mar 28 0:00 1:00 S
|
Rule Lebanon 1920 only - Mar 28 0:00 1:00 S
|
||||||
Rule Lebanon 1920 only - Oct 25 0:00 0 -
|
Rule Lebanon 1920 only - Oct 25 0:00 0 -
|
||||||
@@ -2773,10 +2739,6 @@ Rule Lebanon 1992 only - Oct 4 0:00 0 -
|
|||||||
Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S
|
Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S
|
||||||
Rule Lebanon 1993 1998 - Sep lastSun 0:00 0 -
|
Rule Lebanon 1993 1998 - Sep lastSun 0:00 0 -
|
||||||
Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
|
Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
|
||||||
# This one-time rule, announced by the prime minister first for April 21
|
|
||||||
# then for March 30, is commented out for reasons described above.
|
|
||||||
#Rule Lebanon 2023 only - Mar 30 0:00 1:00 S
|
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Asia/Beirut 2:22:00 - LMT 1880
|
Zone Asia/Beirut 2:22:00 - LMT 1880
|
||||||
2:00 Lebanon EE%sT
|
2:00 Lebanon EE%sT
|
||||||
@@ -3015,7 +2977,7 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920
|
|||||||
# 9pm and moving clocks forward by one hour for the next three months. ...."
|
# 9pm and moving clocks forward by one hour for the next three months. ...."
|
||||||
#
|
#
|
||||||
# http://www.worldtimezone.com/dst_news/dst_news_pakistan01.html
|
# http://www.worldtimezone.com/dst_news/dst_news_pakistan01.html
|
||||||
# http://www.dailytimes.com.pk/default.asp?page=2008\05\15\story_15-5-2008_pg1_4
|
# http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4
|
||||||
|
|
||||||
# From Arthur David Olson (2008-05-19):
|
# From Arthur David Olson (2008-05-19):
|
||||||
# XXX--midnight transitions is a guess; 2008 only is a guess.
|
# XXX--midnight transitions is a guess; 2008 only is a guess.
|
||||||
@@ -3338,7 +3300,7 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
|||||||
# Some of many sources in Arabic:
|
# Some of many sources in Arabic:
|
||||||
# http://www.samanews.com/index.php?act=Show&id=122638
|
# http://www.samanews.com/index.php?act=Show&id=122638
|
||||||
#
|
#
|
||||||
# http://safa.ps/details/news/74352/بدء-التوقيت-الصيفي-بالضفة-وغزة-ليلة-الجمعة.html
|
# http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html
|
||||||
#
|
#
|
||||||
# Our brief summary:
|
# Our brief summary:
|
||||||
# https://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html
|
# https://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html
|
||||||
@@ -3348,7 +3310,7 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
|||||||
# time from midnight on Friday, March 29, 2013" (translated).
|
# time from midnight on Friday, March 29, 2013" (translated).
|
||||||
# [These are in Arabic and are for Gaza and for Ramallah, respectively.]
|
# [These are in Arabic and are for Gaza and for Ramallah, respectively.]
|
||||||
# http://www.samanews.com/index.php?act=Show&id=154120
|
# http://www.samanews.com/index.php?act=Show&id=154120
|
||||||
# http://safa.ps/details/news/99844/رام-الله-بدء-التوقيت-الصيفي-29-الجاري.html
|
# http://safa.ps/details/news/99844/%D8%B1%D8%A7%D9%85-%D8%A7%D9%84%D9%84%D9%87-%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-29-%D8%A7%D9%84%D8%AC%D8%A7%D8%B1%D9%8A.html
|
||||||
|
|
||||||
# From Steffen Thorsen (2013-09-24):
|
# From Steffen Thorsen (2013-09-24):
|
||||||
# The Gaza and West Bank are ending DST Thursday at midnight
|
# The Gaza and West Bank are ending DST Thursday at midnight
|
||||||
@@ -3446,41 +3408,9 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
|||||||
# (2022-08-31): ... the Saturday before the last Sunday in March and October
|
# (2022-08-31): ... the Saturday before the last Sunday in March and October
|
||||||
# at 2:00 AM ,for the years from 2023 to 2026.
|
# at 2:00 AM ,for the years from 2023 to 2026.
|
||||||
# (2022-09-05): https://mtit.pna.ps/Site/New/1453
|
# (2022-09-05): https://mtit.pna.ps/Site/New/1453
|
||||||
|
|
||||||
# From Heba Hamad (2023-03-22):
|
|
||||||
# ... summer time will begin in Palestine from Saturday 04-29-2023,
|
|
||||||
# 02:00 AM by 60 minutes forward.
|
|
||||||
#
|
#
|
||||||
# From Paul Eggert (2023-03-22):
|
# From Paul Eggert (2022-08-31):
|
||||||
# For now, guess that spring and fall transitions will normally
|
# For now, assume that this rule will also be used after 2026.
|
||||||
# continue to use 2022's rules, that during DST Palestine will switch
|
|
||||||
# to standard time at 02:00 the last Saturday before Ramadan and back
|
|
||||||
# to DST at 02:00 the first Saturday after Ramadan, and that
|
|
||||||
# if the normal spring-forward or fall-back transition occurs during
|
|
||||||
# Ramadan the former is delayed and the latter advanced.
|
|
||||||
# To implement this, I predicted Ramadan-oriented transition dates for
|
|
||||||
# 2023 through 2086 by running the following program under GNU Emacs 28.2,
|
|
||||||
# with the results integrated by hand into the table below.
|
|
||||||
# Predictions after 2086 are approximated without Ramadan.
|
|
||||||
#
|
|
||||||
# (let ((islamic-year 1444))
|
|
||||||
# (require 'cal-islam)
|
|
||||||
# (while (< islamic-year 1510)
|
|
||||||
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
|
||||||
# (b (+ 1 (calendar-islamic-to-absolute (list 10 1 islamic-year))))
|
|
||||||
# (saturday 6))
|
|
||||||
# (while (/= saturday (mod (setq a (1- a)) 7)))
|
|
||||||
# (while (/= saturday (mod b 7))
|
|
||||||
# (setq b (1+ b)))
|
|
||||||
# (setq a (calendar-gregorian-from-absolute a))
|
|
||||||
# (setq b (calendar-gregorian-from-absolute b))
|
|
||||||
# (insert
|
|
||||||
# (format
|
|
||||||
# (concat "Rule Palestine\t%d\tonly\t-\t%s\t%2d\t2:00\t0\t-\n"
|
|
||||||
# "Rule Palestine\t%d\tonly\t-\t%s\t%2d\t2:00\t1:00\tS\n")
|
|
||||||
# (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
|
|
||||||
# (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
|
|
||||||
# (setq islamic-year (+ 1 islamic-year))))
|
|
||||||
|
|
||||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||||
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
|
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
|
||||||
@@ -3520,86 +3450,8 @@ Rule Palestine 2020 2021 - Mar Sat<=30 0:00 1:00 S
|
|||||||
Rule Palestine 2020 only - Oct 24 1:00 0 -
|
Rule Palestine 2020 only - Oct 24 1:00 0 -
|
||||||
Rule Palestine 2021 only - Oct 29 1:00 0 -
|
Rule Palestine 2021 only - Oct 29 1:00 0 -
|
||||||
Rule Palestine 2022 only - Mar 27 0:00 1:00 S
|
Rule Palestine 2022 only - Mar 27 0:00 1:00 S
|
||||||
Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 -
|
Rule Palestine 2022 max - Oct Sat<=30 2:00 0 -
|
||||||
Rule Palestine 2023 only - Apr 29 2:00 1:00 S
|
Rule Palestine 2023 max - Mar Sat<=30 2:00 1:00 S
|
||||||
Rule Palestine 2024 only - Apr 13 2:00 1:00 S
|
|
||||||
Rule Palestine 2025 only - Apr 5 2:00 1:00 S
|
|
||||||
Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S
|
|
||||||
Rule Palestine 2036 only - Oct 18 2:00 0 -
|
|
||||||
Rule Palestine 2037 only - Oct 10 2:00 0 -
|
|
||||||
Rule Palestine 2038 only - Sep 25 2:00 0 -
|
|
||||||
Rule Palestine 2039 only - Sep 17 2:00 0 -
|
|
||||||
Rule Palestine 2039 only - Oct 22 2:00 1:00 S
|
|
||||||
Rule Palestine 2039 2067 - Oct Sat<=30 2:00 0 -
|
|
||||||
Rule Palestine 2040 only - Sep 1 2:00 0 -
|
|
||||||
Rule Palestine 2040 only - Oct 13 2:00 1:00 S
|
|
||||||
Rule Palestine 2041 only - Aug 24 2:00 0 -
|
|
||||||
Rule Palestine 2041 only - Sep 28 2:00 1:00 S
|
|
||||||
Rule Palestine 2042 only - Aug 16 2:00 0 -
|
|
||||||
Rule Palestine 2042 only - Sep 20 2:00 1:00 S
|
|
||||||
Rule Palestine 2043 only - Aug 1 2:00 0 -
|
|
||||||
Rule Palestine 2043 only - Sep 12 2:00 1:00 S
|
|
||||||
Rule Palestine 2044 only - Jul 23 2:00 0 -
|
|
||||||
Rule Palestine 2044 only - Aug 27 2:00 1:00 S
|
|
||||||
Rule Palestine 2045 only - Jul 15 2:00 0 -
|
|
||||||
Rule Palestine 2045 only - Aug 19 2:00 1:00 S
|
|
||||||
Rule Palestine 2046 only - Jun 30 2:00 0 -
|
|
||||||
Rule Palestine 2046 only - Aug 11 2:00 1:00 S
|
|
||||||
Rule Palestine 2047 only - Jun 22 2:00 0 -
|
|
||||||
Rule Palestine 2047 only - Jul 27 2:00 1:00 S
|
|
||||||
Rule Palestine 2048 only - Jun 6 2:00 0 -
|
|
||||||
Rule Palestine 2048 only - Jul 18 2:00 1:00 S
|
|
||||||
Rule Palestine 2049 only - May 29 2:00 0 -
|
|
||||||
Rule Palestine 2049 only - Jul 3 2:00 1:00 S
|
|
||||||
Rule Palestine 2050 only - May 21 2:00 0 -
|
|
||||||
Rule Palestine 2050 only - Jun 25 2:00 1:00 S
|
|
||||||
Rule Palestine 2051 only - May 6 2:00 0 -
|
|
||||||
Rule Palestine 2051 only - Jun 17 2:00 1:00 S
|
|
||||||
Rule Palestine 2052 only - Apr 27 2:00 0 -
|
|
||||||
Rule Palestine 2052 only - Jun 1 2:00 1:00 S
|
|
||||||
Rule Palestine 2053 only - Apr 12 2:00 0 -
|
|
||||||
Rule Palestine 2053 only - May 24 2:00 1:00 S
|
|
||||||
Rule Palestine 2054 only - Apr 4 2:00 0 -
|
|
||||||
Rule Palestine 2054 only - May 16 2:00 1:00 S
|
|
||||||
Rule Palestine 2055 only - May 1 2:00 1:00 S
|
|
||||||
Rule Palestine 2056 only - Apr 22 2:00 1:00 S
|
|
||||||
Rule Palestine 2057 only - Apr 7 2:00 1:00 S
|
|
||||||
Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S
|
|
||||||
Rule Palestine 2068 only - Oct 20 2:00 0 -
|
|
||||||
Rule Palestine 2069 only - Oct 12 2:00 0 -
|
|
||||||
Rule Palestine 2070 only - Oct 4 2:00 0 -
|
|
||||||
Rule Palestine 2071 only - Sep 19 2:00 0 -
|
|
||||||
Rule Palestine 2072 only - Sep 10 2:00 0 -
|
|
||||||
Rule Palestine 2072 only - Oct 15 2:00 1:00 S
|
|
||||||
Rule Palestine 2073 only - Sep 2 2:00 0 -
|
|
||||||
Rule Palestine 2073 only - Oct 7 2:00 1:00 S
|
|
||||||
Rule Palestine 2074 only - Aug 18 2:00 0 -
|
|
||||||
Rule Palestine 2074 only - Sep 29 2:00 1:00 S
|
|
||||||
Rule Palestine 2075 only - Aug 10 2:00 0 -
|
|
||||||
Rule Palestine 2075 only - Sep 14 2:00 1:00 S
|
|
||||||
Rule Palestine 2075 max - Oct Sat<=30 2:00 0 -
|
|
||||||
Rule Palestine 2076 only - Jul 25 2:00 0 -
|
|
||||||
Rule Palestine 2076 only - Sep 5 2:00 1:00 S
|
|
||||||
Rule Palestine 2077 only - Jul 17 2:00 0 -
|
|
||||||
Rule Palestine 2077 only - Aug 28 2:00 1:00 S
|
|
||||||
Rule Palestine 2078 only - Jul 9 2:00 0 -
|
|
||||||
Rule Palestine 2078 only - Aug 13 2:00 1:00 S
|
|
||||||
Rule Palestine 2079 only - Jun 24 2:00 0 -
|
|
||||||
Rule Palestine 2079 only - Aug 5 2:00 1:00 S
|
|
||||||
Rule Palestine 2080 only - Jun 15 2:00 0 -
|
|
||||||
Rule Palestine 2080 only - Jul 20 2:00 1:00 S
|
|
||||||
Rule Palestine 2081 only - Jun 7 2:00 0 -
|
|
||||||
Rule Palestine 2081 only - Jul 12 2:00 1:00 S
|
|
||||||
Rule Palestine 2082 only - May 23 2:00 0 -
|
|
||||||
Rule Palestine 2082 only - Jul 4 2:00 1:00 S
|
|
||||||
Rule Palestine 2083 only - May 15 2:00 0 -
|
|
||||||
Rule Palestine 2083 only - Jun 19 2:00 1:00 S
|
|
||||||
Rule Palestine 2084 only - Apr 29 2:00 0 -
|
|
||||||
Rule Palestine 2084 only - Jun 10 2:00 1:00 S
|
|
||||||
Rule Palestine 2085 only - Apr 21 2:00 0 -
|
|
||||||
Rule Palestine 2085 only - Jun 2 2:00 1:00 S
|
|
||||||
Rule Palestine 2086 only - Apr 13 2:00 0 -
|
|
||||||
Rule Palestine 2086 only - May 18 2:00 1:00 S
|
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
|
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
|
||||||
@@ -3803,7 +3655,7 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
|
|||||||
# standard time is SLST.
|
# standard time is SLST.
|
||||||
#
|
#
|
||||||
# From Paul Eggert (2016-10-18):
|
# From Paul Eggert (2016-10-18):
|
||||||
# "SLST" seems to be reasonably recent and rarely used outside time
|
# "SLST" seems to be reasonably recent and rarely-used outside time
|
||||||
# zone nerd sources. I searched Google News and found three uses of
|
# zone nerd sources. I searched Google News and found three uses of
|
||||||
# it in the International Business Times of India in February and
|
# it in the International Business Times of India in February and
|
||||||
# March of this year when discussing cricket match times, but nothing
|
# March of this year when discussing cricket match times, but nothing
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user