mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-07 01:50:12 +01:00
Compare commits
969 Commits
jb17.0.8-b
...
jbr17.1312
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61688d4a7d | ||
|
|
5f1d896b6f | ||
|
|
ceb9ce92bc | ||
|
|
4b77031fa0 | ||
|
|
e58645a922 | ||
|
|
100508e8c2 | ||
|
|
f44c819dd9 | ||
|
|
30371f901f | ||
|
|
bd49573825 | ||
|
|
f7bd1518c2 | ||
|
|
a656580a06 | ||
|
|
05cda0c705 | ||
|
|
258949a1ef | ||
|
|
1925355e36 | ||
|
|
2049c27971 | ||
|
|
fcc52f482a | ||
|
|
b86ff0c215 | ||
|
|
f4b9cb47ec | ||
|
|
1c9e5f52e7 | ||
|
|
f7c47bf3cf | ||
|
|
b8e9dbf8c9 | ||
|
|
da04a7546e | ||
|
|
693fe435f7 | ||
|
|
f66e589ce0 | ||
|
|
c8c4ac1c9a | ||
|
|
1b5242e6a9 | ||
|
|
b9e80c2784 | ||
|
|
923018b33b | ||
|
|
695c8ed961 | ||
|
|
8a7482a624 | ||
|
|
54a7172299 | ||
|
|
03912794ab | ||
|
|
20d0aeefd5 | ||
|
|
156ce15275 | ||
|
|
f2e1645f50 | ||
|
|
1c948e7fde | ||
|
|
883d8c47f0 | ||
|
|
de6e2dbe71 | ||
|
|
7567ce40f9 | ||
|
|
b9ec2903d5 | ||
|
|
298eb33da3 | ||
|
|
4f5fc8574e | ||
|
|
bdc87c40f6 | ||
|
|
794f6972ac | ||
|
|
ccfeb28318 | ||
|
|
e16f7cb4c3 | ||
|
|
e4076462e6 | ||
|
|
02a029592b | ||
|
|
94b5ce7ebf | ||
|
|
de90d67c85 | ||
|
|
e7fa0e07bd | ||
|
|
627f045c3a | ||
|
|
b355a00381 | ||
|
|
aff45070c9 | ||
|
|
3f921c4125 | ||
|
|
ceaaf2c04d | ||
|
|
bea2ea5627 | ||
|
|
e20718729f | ||
|
|
0adee38a83 | ||
|
|
ec4d59e5fd | ||
|
|
c1c3956f98 | ||
|
|
4363a43693 | ||
|
|
fc42102143 | ||
|
|
2218f19f3b | ||
|
|
591de61c4b | ||
|
|
437aed186a | ||
|
|
00466cd448 | ||
|
|
6bbc995766 | ||
|
|
b20605804d | ||
|
|
c37328a75b | ||
|
|
be376587ee | ||
|
|
a1d7792f64 | ||
|
|
b8491a8d5d | ||
|
|
47c58a9eb9 | ||
|
|
a5a527163d | ||
|
|
cecc0b9e05 | ||
|
|
337b1e231a | ||
|
|
80afae3bd8 | ||
|
|
770f2df53f | ||
|
|
07780d9a0d | ||
|
|
fa85acc304 | ||
|
|
21ce5bb712 | ||
|
|
2b4f63cc15 | ||
|
|
09abd8b1b5 | ||
|
|
dd37e50485 | ||
|
|
752a5cca70 | ||
|
|
199d656c86 | ||
|
|
4eaad3c216 | ||
|
|
09b59e303e | ||
|
|
55d0f7d5ab | ||
|
|
dfeb189a4c | ||
|
|
e5f4b58dd9 | ||
|
|
f5d73f5a81 | ||
|
|
0f3b87c498 | ||
|
|
f68ad57ef4 | ||
|
|
353ae682a6 | ||
|
|
8269aca7c3 | ||
|
|
96b3df071f | ||
|
|
2fb2d8d410 | ||
|
|
9f9b36f82e | ||
|
|
4f47c699cc | ||
|
|
50b2d9d46b | ||
|
|
05b0085d17 | ||
|
|
a014a2baba | ||
|
|
c254b2d9bb | ||
|
|
56fcdf5be0 | ||
|
|
2d67649c9b | ||
|
|
9a8e2b1cf6 | ||
|
|
6034a0012d | ||
|
|
e890b3c574 | ||
|
|
3dcc64ae74 | ||
|
|
2ad794eee5 | ||
|
|
1ee0c9ab44 | ||
|
|
fa93d6a60f | ||
|
|
b3225ab21c | ||
|
|
9a7f179af1 | ||
|
|
b606edf240 | ||
|
|
06fa983f48 | ||
|
|
38812606fe | ||
|
|
6b890178ed | ||
|
|
35b3e890e2 | ||
|
|
541811b321 | ||
|
|
5ae4d73252 | ||
|
|
f92f1ba8a3 | ||
|
|
881ca21da9 | ||
|
|
8720cc39e8 | ||
|
|
cf6755081b | ||
|
|
eca94d4426 | ||
|
|
a84365f20c | ||
|
|
1144650510 | ||
|
|
b10b53bce2 | ||
|
|
8ab6207a74 | ||
|
|
a86d006f47 | ||
|
|
69b5fa75cd | ||
|
|
e00814fe92 | ||
|
|
1a4e6e9313 | ||
|
|
1b6a59c37e | ||
|
|
722422f854 | ||
|
|
0c0800d974 | ||
|
|
b81d547594 | ||
|
|
f679d7432d | ||
|
|
d80312c99b | ||
|
|
89efb2b416 | ||
|
|
4acf98ef62 | ||
|
|
55a2171a44 | ||
|
|
40d0d51520 | ||
|
|
155aeaf49d | ||
|
|
1499d8c398 | ||
|
|
741cab5606 | ||
|
|
2e4bdfbd11 | ||
|
|
1a03f0b08d | ||
|
|
b8c2800dce | ||
|
|
e2ebb5ab24 | ||
|
|
7e1c69daf8 | ||
|
|
f6a1597ffb | ||
|
|
e45b8ad53f | ||
|
|
ac6f0191a0 | ||
|
|
58de9fbd05 | ||
|
|
974db11e4e | ||
|
|
1fbb6ff8bd | ||
|
|
3c7106bda2 | ||
|
|
fcb0c58110 | ||
|
|
6790484c75 | ||
|
|
2669682ae9 | ||
|
|
e64526dc14 | ||
|
|
b0749e3212 | ||
|
|
ad41c0c640 | ||
|
|
84687be2cf | ||
|
|
6d27d317bf | ||
|
|
13024d1bcb | ||
|
|
02ded4c017 | ||
|
|
f936620f8b | ||
|
|
c091003288 | ||
|
|
63a73bcf39 | ||
|
|
08e700038b | ||
|
|
dde917d8f9 | ||
|
|
bdc9e11286 | ||
|
|
b420de637a | ||
|
|
0c98a3e943 | ||
|
|
29c634dbe8 | ||
|
|
eed5ad035b | ||
|
|
1690e28920 | ||
|
|
471a41d048 | ||
|
|
093697b4c9 | ||
|
|
069d2ab4b6 | ||
|
|
3a688793ea | ||
|
|
705262906e | ||
|
|
64a26c0786 | ||
|
|
90badd6743 | ||
|
|
135343f5f3 | ||
|
|
68755d549d | ||
|
|
2ab2c602e5 | ||
|
|
7118baf4cc | ||
|
|
69dedc4d6c | ||
|
|
dcf0d2811b | ||
|
|
e4cfea9ae9 | ||
|
|
e9b4d16221 | ||
|
|
be91508875 | ||
|
|
13fdfdf8f3 | ||
|
|
4dfdd6ae0a | ||
|
|
55bacae387 | ||
|
|
a97e48923f | ||
|
|
7041ba1a71 | ||
|
|
9cf76a2f0a | ||
|
|
7c71b1d4da | ||
|
|
68cc5f57e4 | ||
|
|
2a4d3f6b8d | ||
|
|
452b95fa0b | ||
|
|
c21ae354e8 | ||
|
|
858d66728f | ||
|
|
e5aa2f5049 | ||
|
|
f91cf7623e | ||
|
|
c7cec41780 | ||
|
|
06054e5e55 | ||
|
|
05aea604d0 | ||
|
|
305a933c22 | ||
|
|
3f3e2b08a9 | ||
|
|
e1e8e67dc5 | ||
|
|
e5c2b3582a | ||
|
|
8f2f7c0574 | ||
|
|
05d8f3e06d | ||
|
|
3e7ac69eda | ||
|
|
1fce476a4b | ||
|
|
b11716cf2e | ||
|
|
8c8719cb4e | ||
|
|
a2b3536096 | ||
|
|
5ae6639d62 | ||
|
|
992e2271ac | ||
|
|
3ab0353b32 | ||
|
|
c8b660af40 | ||
|
|
9e0d9fa5a8 | ||
|
|
5b0e780514 | ||
|
|
4bd88e1fb3 | ||
|
|
9678c91448 | ||
|
|
19afbe1144 | ||
|
|
c333989e98 | ||
|
|
18f836bb07 | ||
|
|
7322c05f41 | ||
|
|
2f71a983c9 | ||
|
|
0c7ac79ceb | ||
|
|
65c241c864 | ||
|
|
9016a011ec | ||
|
|
36132cecf6 | ||
|
|
a7b90e6d9b | ||
|
|
43207fa878 | ||
|
|
755d80e0f2 | ||
|
|
d45e3470ad | ||
|
|
86ad8b3ad4 | ||
|
|
fda4c75f4f | ||
|
|
2752a875e5 | ||
|
|
4598134dc2 | ||
|
|
49982bd9de | ||
|
|
07710816d1 | ||
|
|
c35e66d2eb | ||
|
|
a6c085bbce | ||
|
|
0331beca29 | ||
|
|
7803214b5c | ||
|
|
f9c2f1efb7 | ||
|
|
8fd1b68ba2 | ||
|
|
cc61ce7786 | ||
|
|
29c4a5114a | ||
|
|
cf9c2d037a | ||
|
|
fea8d6e0eb | ||
|
|
dad48f28b4 | ||
|
|
858f5d2af7 | ||
|
|
808ec8d565 | ||
|
|
e30894160c | ||
|
|
f2fb83b9a8 | ||
|
|
4e192c9f27 | ||
|
|
b378aeae13 | ||
|
|
3decb31d9a | ||
|
|
772c328093 | ||
|
|
156e5d9b65 | ||
|
|
9dbbb5841e | ||
|
|
43a9a3a17a | ||
|
|
9a9f6c3e57 | ||
|
|
e4e4cdea2a | ||
|
|
99f479c037 | ||
|
|
0f37369f00 | ||
|
|
4f5094f985 | ||
|
|
d7d8d9b8e4 | ||
|
|
252ec1f0be | ||
|
|
3248ccb203 | ||
|
|
6c6b11d8d5 | ||
|
|
aac4fbae3c | ||
|
|
aaaad6b152 | ||
|
|
b80b620642 | ||
|
|
a86fb87ec1 | ||
|
|
5a462bc4ba | ||
|
|
470857e6ea | ||
|
|
75b06421ff | ||
|
|
54a944b2af | ||
|
|
0c4fe90ff4 | ||
|
|
ec2fac0b5a | ||
|
|
e9aab98a6c | ||
|
|
78c5a56adb | ||
|
|
9bea6a0004 | ||
|
|
93937603b3 | ||
|
|
2f54c24249 | ||
|
|
2fa63cd0bc | ||
|
|
2933ea89f0 | ||
|
|
3c2cbecc64 | ||
|
|
0c3c809646 | ||
|
|
853f700b76 | ||
|
|
cd1d10b4bd | ||
|
|
b9e7fffc5c | ||
|
|
6c6c95f7f0 | ||
|
|
7756d7a9d2 | ||
|
|
83dfcc6e8b | ||
|
|
7be14a878a | ||
|
|
adbb5cc60a | ||
|
|
841963a9be | ||
|
|
d33e29fc2b | ||
|
|
14b8ec25fa | ||
|
|
ef5b549b5a | ||
|
|
d31a706e91 | ||
|
|
57f9dbecdb | ||
|
|
fee7ff0c6c | ||
|
|
e120030e90 | ||
|
|
20468cf28b | ||
|
|
c771ad6ad3 | ||
|
|
9403395d26 | ||
|
|
0eaafd1262 | ||
|
|
0460118960 | ||
|
|
ea2c4bfc83 | ||
|
|
7af653070f | ||
|
|
5befaea6af | ||
|
|
b150e0e6ef | ||
|
|
4ec4e665e6 | ||
|
|
91573abaab | ||
|
|
e9b0b6c854 | ||
|
|
2b3ac6256c | ||
|
|
80c0dca4e8 | ||
|
|
42425fcd47 | ||
|
|
78c7a4d461 | ||
|
|
97a161e87c | ||
|
|
ce2f836140 | ||
|
|
d3ed7b8612 | ||
|
|
5cab854d9a | ||
|
|
bd48eb839f | ||
|
|
dcf3eec4db | ||
|
|
e6054b007c | ||
|
|
cda2954a13 | ||
|
|
91573407f6 | ||
|
|
e941459a96 | ||
|
|
c27e9b5b9f | ||
|
|
570a533af2 | ||
|
|
e9d3b2791d | ||
|
|
6652da60ad | ||
|
|
f1267ca967 | ||
|
|
064aaad37b | ||
|
|
2980220059 | ||
|
|
c0d7fd0938 | ||
|
|
c858b523b6 | ||
|
|
4757d06627 | ||
|
|
e64ada25e5 | ||
|
|
c13e01a527 | ||
|
|
dbb2b0da0d | ||
|
|
96b1742580 | ||
|
|
4f16da1d86 | ||
|
|
d6baec1061 | ||
|
|
1b9b0decc6 | ||
|
|
04e3162f10 | ||
|
|
40c37b8123 | ||
|
|
9a5e7e82c0 | ||
|
|
69b831f479 | ||
|
|
7fbe8c6d02 | ||
|
|
4f8105269e | ||
|
|
ffb3e9e316 | ||
|
|
3f1883be14 | ||
|
|
19eb05342f | ||
|
|
bcaaf859ed | ||
|
|
e228e4d82a | ||
|
|
5e3b62f396 | ||
|
|
c9ca4fb26e | ||
|
|
0b353c661f | ||
|
|
5b4ac0d3d6 | ||
|
|
ba33e7a004 | ||
|
|
1df9bd3678 | ||
|
|
957740ba81 | ||
|
|
230a826eee | ||
|
|
a8e573536e | ||
|
|
254da2b498 | ||
|
|
c9780b85cc | ||
|
|
f7f82d66d1 | ||
|
|
c42866954a | ||
|
|
4745843ca3 | ||
|
|
f1f84a54aa | ||
|
|
d9a4791d0d | ||
|
|
3048ec453f | ||
|
|
c59032824a | ||
|
|
53cda2b439 | ||
|
|
263a999560 | ||
|
|
c47fde5b32 | ||
|
|
1577ec0e3b | ||
|
|
559da43f48 | ||
|
|
91794c7d31 | ||
|
|
3216a30641 | ||
|
|
3d8d43cec4 | ||
|
|
36908d2e55 | ||
|
|
42bd9acadb | ||
|
|
514eea56ee | ||
|
|
4b507b21fc | ||
|
|
e68509206d | ||
|
|
d67de872b1 | ||
|
|
20cefd13ed | ||
|
|
bf84ffadbd | ||
|
|
35e6506081 | ||
|
|
c37b8443ec | ||
|
|
adf6a60dc6 | ||
|
|
40b517ce8a | ||
|
|
f103f2fc45 | ||
|
|
543632bb96 | ||
|
|
52c88af7a3 | ||
|
|
e1e097e048 | ||
|
|
af5f6fdaa8 | ||
|
|
73f84e1916 | ||
|
|
b08c2dfe78 | ||
|
|
8f6994c67f | ||
|
|
166c6940f9 | ||
|
|
c4860b7c11 | ||
|
|
a34df011cc | ||
|
|
4e7373b602 | ||
|
|
51cd0eff51 | ||
|
|
9e516548d8 | ||
|
|
9e013bb57a | ||
|
|
c7d8ae1c85 | ||
|
|
c03add1fd8 | ||
|
|
7fbb069279 | ||
|
|
e313dcb5c0 | ||
|
|
4ef434f73b | ||
|
|
ff97b0a986 | ||
|
|
6faa5aad6f | ||
|
|
eb7ce1c0c9 | ||
|
|
ed98f2ae5b | ||
|
|
10800552ce | ||
|
|
080a7c7870 | ||
|
|
eb530b199d | ||
|
|
2f61a16abe | ||
|
|
ba9e613dd5 | ||
|
|
05a8507644 | ||
|
|
acf0e33685 | ||
|
|
68dc583fa1 | ||
|
|
d7fa10f27e | ||
|
|
8aea0088d5 | ||
|
|
2907df4b90 | ||
|
|
9aaad3128f | ||
|
|
63676fda8a | ||
|
|
cdea6017f0 | ||
|
|
e607132564 | ||
|
|
b416ccf40f | ||
|
|
4302b2bbc0 | ||
|
|
f45661f900 | ||
|
|
0bab361fde | ||
|
|
6c26b12173 | ||
|
|
675a769054 | ||
|
|
7143f25dd1 | ||
|
|
5ca933d3ff | ||
|
|
9e73976342 | ||
|
|
e3c06858a1 | ||
|
|
d6a9cd82a9 | ||
|
|
5ea364c2e9 | ||
|
|
5f3eee4fa9 | ||
|
|
1011efbd8b | ||
|
|
182865de79 | ||
|
|
a9b31fcd4f | ||
|
|
cc66eeeb8e | ||
|
|
96cda7a0cb | ||
|
|
02f88265fa | ||
|
|
47c42732a7 | ||
|
|
c4c70508f6 | ||
|
|
216e93c9ba | ||
|
|
8358eaa1d9 | ||
|
|
7d70af072f | ||
|
|
e644bcb630 | ||
|
|
cbd98f723c | ||
|
|
4dfd5dfe1b | ||
|
|
9c6b6699cb | ||
|
|
29043ceaa9 | ||
|
|
345bc829c0 | ||
|
|
a30ae24192 | ||
|
|
d1da4df30d | ||
|
|
9c6a5bed32 | ||
|
|
be28150eeb | ||
|
|
c16e801fa5 | ||
|
|
16d3c78656 | ||
|
|
b4e509ea88 | ||
|
|
19304ffa8d | ||
|
|
ff96793208 | ||
|
|
30fbe4a8a3 | ||
|
|
70a3541280 | ||
|
|
30cd5a43cc | ||
|
|
8dc55a13df | ||
|
|
7b3211b6b5 | ||
|
|
69d8c519f2 | ||
|
|
77899799a3 | ||
|
|
3a666bf8a1 | ||
|
|
7493a5e0cf | ||
|
|
87283d927f | ||
|
|
88c74601a5 | ||
|
|
e5827b21c3 | ||
|
|
e4b17784a1 | ||
|
|
025b2de8aa | ||
|
|
cd666bea6e | ||
|
|
a899c9aeab | ||
|
|
0ce7612aa3 | ||
|
|
7a773dd690 | ||
|
|
34a258b680 | ||
|
|
72bab2382d | ||
|
|
20576a3b5f | ||
|
|
48c16d2aa5 | ||
|
|
f671447bff | ||
|
|
20dc83057b | ||
|
|
9ff9c92395 | ||
|
|
36de11e9a4 | ||
|
|
e2595fc67e | ||
|
|
4e3beeea16 | ||
|
|
dd74e5d361 | ||
|
|
9e8a07ea48 | ||
|
|
a2bd0702cb | ||
|
|
ad82733d2d | ||
|
|
aabc0ee26e | ||
|
|
cd4a92beee | ||
|
|
a8c820c486 | ||
|
|
c3b9b296eb | ||
|
|
508cf441d3 | ||
|
|
84c04b12fd | ||
|
|
d1c470f447 | ||
|
|
c4534c3525 | ||
|
|
2f41285420 | ||
|
|
a8ed22a0cf | ||
|
|
439e5acfd0 | ||
|
|
1df3ca46a1 | ||
|
|
15a54a9704 | ||
|
|
afc3af0030 | ||
|
|
33327afe2c | ||
|
|
c54229b748 | ||
|
|
3791eb5d3f | ||
|
|
502616179b | ||
|
|
191e7c5276 | ||
|
|
ee9f0d3d85 | ||
|
|
d41d4e379b | ||
|
|
b49e7a20cc | ||
|
|
4b1b24372a | ||
|
|
f0e292351a | ||
|
|
e72dfb7320 | ||
|
|
e42aab53cd | ||
|
|
f895223d70 | ||
|
|
93f86ba494 | ||
|
|
feede25916 | ||
|
|
29e64c7a70 | ||
|
|
fcc0ace7c0 | ||
|
|
1f97ee1928 | ||
|
|
f5f2c756b5 | ||
|
|
15745e7d1e | ||
|
|
889b5e16d4 | ||
|
|
211e614bd1 | ||
|
|
7212ed80ed | ||
|
|
01d691f5f6 | ||
|
|
bb24505f51 | ||
|
|
0257422324 | ||
|
|
0494e2b1df | ||
|
|
229d82eb2d | ||
|
|
940f27bbf3 | ||
|
|
b6b9e1f4da | ||
|
|
2f0426b4b5 | ||
|
|
5b7618ff6b | ||
|
|
77f42b77ee | ||
|
|
cdd6e68234 | ||
|
|
341028f68b | ||
|
|
836e276e40 | ||
|
|
9ec30b5cd1 | ||
|
|
46ecfe9ff4 | ||
|
|
aeaeac42c0 | ||
|
|
052a4b29f4 | ||
|
|
eb094630bc | ||
|
|
72c3b5173f | ||
|
|
7409b8bdaf | ||
|
|
b45f7ed360 | ||
|
|
4608318a57 | ||
|
|
0260e5c949 | ||
|
|
c826c2aea9 | ||
|
|
55e9a90632 | ||
|
|
db6b4e1405 | ||
|
|
2df09ec159 | ||
|
|
00cead832e | ||
|
|
99750ae231 | ||
|
|
d073aa25ba | ||
|
|
95777b6217 | ||
|
|
998b8f7265 | ||
|
|
0d6be5703e | ||
|
|
dc85e43445 | ||
|
|
55af258cce | ||
|
|
c84deb160b | ||
|
|
c50bb348d9 | ||
|
|
ae229c71dc | ||
|
|
f0d5a907ac | ||
|
|
b0a73e2a33 | ||
|
|
358c3d9baa | ||
|
|
2fd95d7128 | ||
|
|
afbe939af6 | ||
|
|
a398bc0185 | ||
|
|
d4a3e05d36 | ||
|
|
4b5c1f574b | ||
|
|
bdbe119934 | ||
|
|
50933cd23e | ||
|
|
45025a5027 | ||
|
|
5305726ece | ||
|
|
05a8ff9117 | ||
|
|
57c6cbe325 | ||
|
|
c5ba5ff4c8 | ||
|
|
95ada30c3f | ||
|
|
49b53da483 | ||
|
|
84c635c405 | ||
|
|
2be22e8578 | ||
|
|
74b52f068b | ||
|
|
98b3ac5221 | ||
|
|
5c7ffa6578 | ||
|
|
abfc3e2e79 | ||
|
|
2127a64497 | ||
|
|
8238bbcd4c | ||
|
|
0afe6c37bb | ||
|
|
ab95964027 | ||
|
|
15ff5a8489 | ||
|
|
0262d7e646 | ||
|
|
773ceb5f73 | ||
|
|
02a5148e02 | ||
|
|
86a7c75cc2 | ||
|
|
c57030a2ef | ||
|
|
6aebe7dd66 | ||
|
|
78265ab6a4 | ||
|
|
fe849d2ea0 | ||
|
|
d8ae52aeb0 | ||
|
|
ca5562225a | ||
|
|
9e65e2391a | ||
|
|
133a99192a | ||
|
|
b00a6465bb | ||
|
|
cc03cf1117 | ||
|
|
c13eb3036f | ||
|
|
4dd5ea93bb | ||
|
|
0dfbf34b37 | ||
|
|
8982db51d7 | ||
|
|
9a5348efce | ||
|
|
8617cb5c67 | ||
|
|
1d5bc2152d | ||
|
|
d2f126115a | ||
|
|
3169523d80 | ||
|
|
c48f588cb5 | ||
|
|
3fe2a97aa0 | ||
|
|
826f75ee48 | ||
|
|
c452e2f5ad | ||
|
|
473c41003d | ||
|
|
b967f5bc91 | ||
|
|
af3326b1b8 | ||
|
|
d56e00e293 | ||
|
|
9deb12dbc1 | ||
|
|
61e94d9aa7 | ||
|
|
21bae46b74 | ||
|
|
e9d6e1150b | ||
|
|
f1a34f4390 | ||
|
|
1748b24292 | ||
|
|
f092a3c76e | ||
|
|
656f7a2fa8 | ||
|
|
ebfacdd637 | ||
|
|
7b42048439 | ||
|
|
a8ad988250 | ||
|
|
a2703112f2 | ||
|
|
e4f8d7e13e | ||
|
|
bbc4ad42d0 | ||
|
|
fcf052df4c | ||
|
|
0a79213fa1 | ||
|
|
6feda5ca88 | ||
|
|
449452f051 | ||
|
|
54f8a715b9 | ||
|
|
53b3caa58b | ||
|
|
4943dc0720 | ||
|
|
f56d537424 | ||
|
|
1267ca63db | ||
|
|
26f6377c7e | ||
|
|
fb92bdaf15 | ||
|
|
4679b41038 | ||
|
|
5922c0aa67 | ||
|
|
9d30d3d16c | ||
|
|
fd0610c2ce | ||
|
|
7900d3e4fe | ||
|
|
bcd3447253 | ||
|
|
4429c3cf44 | ||
|
|
458ab075d4 | ||
|
|
56a216b3d6 | ||
|
|
3343389d77 | ||
|
|
90652ce3bb | ||
|
|
69df79f5a7 | ||
|
|
41d05bc30d | ||
|
|
9b4bffb101 | ||
|
|
218e204ea5 | ||
|
|
2e840ca335 | ||
|
|
09e6240c6a | ||
|
|
14d856ae03 | ||
|
|
e485d28c23 | ||
|
|
bf63b4b812 | ||
|
|
5d058bf401 | ||
|
|
9935db6805 | ||
|
|
e89301f8e7 | ||
|
|
7cb3236126 | ||
|
|
b6933a389f | ||
|
|
53c5a43b83 | ||
|
|
cc9979a6c0 | ||
|
|
4704be6dc1 | ||
|
|
cad64b1981 | ||
|
|
11f7f14e63 | ||
|
|
f6aceaabf2 | ||
|
|
6f16932c91 | ||
|
|
c32aec87d6 | ||
|
|
0729444ffb | ||
|
|
e65449afc3 | ||
|
|
7f9f729e54 | ||
|
|
81e1c15a3e | ||
|
|
7351d1afa5 | ||
|
|
1ac6d3006e | ||
|
|
e778d26422 | ||
|
|
555c1c3b4f | ||
|
|
65f79bdeb2 | ||
|
|
c6a0181325 | ||
|
|
8b55a056da | ||
|
|
05fe1d5e78 | ||
|
|
e8713d23aa | ||
|
|
16ae10eee5 | ||
|
|
e5a7cc0605 | ||
|
|
41559c686e | ||
|
|
ccff52f91e | ||
|
|
9d77723693 | ||
|
|
33bceb5b7c | ||
|
|
e3ff1a429f | ||
|
|
2af5f83dcb | ||
|
|
8f8394f07f | ||
|
|
30ac0e230f | ||
|
|
a28392d56d | ||
|
|
db6c9e77b4 | ||
|
|
9102b6c585 | ||
|
|
eeb4f6a56d | ||
|
|
b813bf11de | ||
|
|
3b31ef9de5 | ||
|
|
2d861503ed | ||
|
|
80ed097617 | ||
|
|
27858de10f | ||
|
|
b3c673e743 | ||
|
|
6847a435e5 | ||
|
|
9256549ba6 | ||
|
|
4b76a70f61 | ||
|
|
bfa0a17452 | ||
|
|
23611fd5a8 | ||
|
|
5b596cf707 | ||
|
|
b7bb7b3bde | ||
|
|
79c03e19d6 | ||
|
|
204e9a892e | ||
|
|
34fedbf44c | ||
|
|
4d659ba35e | ||
|
|
2bd34a053f | ||
|
|
861cf72a61 | ||
|
|
47159946f0 | ||
|
|
c68a5ce953 | ||
|
|
89d21a094b | ||
|
|
05d10da6bc | ||
|
|
2c7c994cf1 | ||
|
|
4f7567dffe | ||
|
|
bc727165be | ||
|
|
444edc153d | ||
|
|
f793ce9ed9 | ||
|
|
86e876bb47 | ||
|
|
83c0c3a5fe | ||
|
|
9a36772d45 | ||
|
|
6cf445acef | ||
|
|
3c2148b172 | ||
|
|
00f3dbf5fc | ||
|
|
5c56dacca5 | ||
|
|
03cff0381c | ||
|
|
48fe2a88b0 | ||
|
|
067cdc925b | ||
|
|
3e850a9197 | ||
|
|
199cc83ce1 | ||
|
|
8d3a91d03a | ||
|
|
8184a01371 | ||
|
|
444de0fd1f | ||
|
|
402350a19c | ||
|
|
a3706ef243 | ||
|
|
8a7c7660b1 | ||
|
|
650de8e00b | ||
|
|
4f1f757c4f | ||
|
|
1df90a7c24 | ||
|
|
779d501f0e | ||
|
|
0ed39ee6ba | ||
|
|
6b30424ef9 | ||
|
|
99d7262ad9 | ||
|
|
d372076ab9 | ||
|
|
3f21a79921 | ||
|
|
d298b7b39d | ||
|
|
944ceb2c3f | ||
|
|
9d690de4a4 | ||
|
|
a9fb594933 | ||
|
|
01f5bd7725 | ||
|
|
3ef2b66562 | ||
|
|
f21755dc92 | ||
|
|
8655fe2e9d | ||
|
|
2b1bbc1347 | ||
|
|
d019fffc3c | ||
|
|
6325f51055 | ||
|
|
7e77e4cccc | ||
|
|
fab0a2d1a9 | ||
|
|
78a01f7e88 | ||
|
|
3a8ae81ce7 | ||
|
|
1e7f6d5eed | ||
|
|
8abe7d7b9c | ||
|
|
011458dd22 | ||
|
|
3d6d2b297f | ||
|
|
ac04e0f9e6 | ||
|
|
e1c5c135e9 | ||
|
|
15baae99a6 | ||
|
|
f02f664710 | ||
|
|
07cd5c4a80 | ||
|
|
5f8d6fcf4a | ||
|
|
c3466be289 | ||
|
|
4418a7f0c8 | ||
|
|
ddd429f84c | ||
|
|
fb61de1665 | ||
|
|
22e715e995 | ||
|
|
76f9d18d87 | ||
|
|
3e27d6efe8 | ||
|
|
9c00be67a0 | ||
|
|
fb832c87f8 | ||
|
|
85ad6276dd | ||
|
|
424351d798 | ||
|
|
b18f47c41e | ||
|
|
5c418a4ec9 | ||
|
|
f292af5fa7 | ||
|
|
9bcc087c98 | ||
|
|
96d219307d | ||
|
|
7bb5b14139 | ||
|
|
f7327fd751 | ||
|
|
52794dd9bc | ||
|
|
bca9913f31 | ||
|
|
cfb8d5b26c | ||
|
|
d0a60de2ed | ||
|
|
ef5328dbbc | ||
|
|
b2d5dff5ad | ||
|
|
dc92abcbb6 | ||
|
|
6e04456212 | ||
|
|
3d00cdcf68 | ||
|
|
17c3eafa49 | ||
|
|
8868232a13 | ||
|
|
c0ef6cc95f | ||
|
|
6e07a8ea35 | ||
|
|
3a469d160a | ||
|
|
fbf39c42c6 | ||
|
|
92c1474b18 | ||
|
|
ae055660e5 | ||
|
|
2ea804ac7a | ||
|
|
e31c274246 | ||
|
|
7507bf0b44 | ||
|
|
f4674ac05b | ||
|
|
5119a5c6a9 | ||
|
|
d6dd29e68d | ||
|
|
3a096816a1 | ||
|
|
a99e0da332 | ||
|
|
1990cb26b7 | ||
|
|
84de67bb34 | ||
|
|
c2784bfeea | ||
|
|
43e41acbf1 | ||
|
|
bb909edcd0 | ||
|
|
90cea97164 | ||
|
|
09daa52fd0 | ||
|
|
1640b9b373 | ||
|
|
e52c4d7f97 | ||
|
|
80581817a8 | ||
|
|
e820354f16 | ||
|
|
85d75c3a11 | ||
|
|
dcedeac7d6 | ||
|
|
17f2dc9e0d | ||
|
|
28e9e0b0c0 | ||
|
|
25e5210602 | ||
|
|
78048de418 | ||
|
|
63e82d5f54 | ||
|
|
7d0e5b7edc | ||
|
|
da5103e807 | ||
|
|
9278f021bf | ||
|
|
7279689127 | ||
|
|
237ff02fda | ||
|
|
d3649d6ea5 | ||
|
|
4461a17f74 | ||
|
|
a5f39ba11d | ||
|
|
b2f72a1350 | ||
|
|
69d3294d8f | ||
|
|
d90e08c6fb | ||
|
|
d040df54e0 | ||
|
|
ca64dfcc30 | ||
|
|
700566dbdb | ||
|
|
2725897898 | ||
|
|
531fdf8901 | ||
|
|
9b4780a120 | ||
|
|
ecc9595f2d | ||
|
|
5f8f765c98 | ||
|
|
d15ab8c1c7 | ||
|
|
365e6a45e8 | ||
|
|
9591af2038 | ||
|
|
866e50c2b0 | ||
|
|
34d3be2264 | ||
|
|
acb0a3d205 | ||
|
|
4602376f98 | ||
|
|
df7c60374b | ||
|
|
4a0cb255b0 | ||
|
|
43f8c5f14c | ||
|
|
d292286e49 | ||
|
|
555caf6686 | ||
|
|
c6992f210a | ||
|
|
d8e46dc105 | ||
|
|
1dd6a3fdaf | ||
|
|
9b27778d76 | ||
|
|
db72722f21 | ||
|
|
e9f74daf1c | ||
|
|
b644a1e974 | ||
|
|
5d929ed419 | ||
|
|
d972faa607 | ||
|
|
fa2c6a1a03 | ||
|
|
242d98ded9 | ||
|
|
be797450aa | ||
|
|
8d7ef47e99 | ||
|
|
9e0238b23d | ||
|
|
1764efd82c | ||
|
|
d49ed11c67 | ||
|
|
efe5e7df82 | ||
|
|
49855c5eae | ||
|
|
2c2e0495e7 | ||
|
|
ec02179191 | ||
|
|
f0bcaac37e | ||
|
|
f23b698867 | ||
|
|
c9ef2094bb | ||
|
|
352ecc734e | ||
|
|
eaf54c376a | ||
|
|
b215a498ce | ||
|
|
3939ba1019 | ||
|
|
b3f592763f | ||
|
|
2a7bcda498 | ||
|
|
72057e07ce | ||
|
|
91f2bdc3e0 | ||
|
|
03a24669ad | ||
|
|
6f8d203c3e | ||
|
|
ca3bc76bf0 | ||
|
|
7143a33a6f | ||
|
|
a506b74390 | ||
|
|
5c1b303693 | ||
|
|
59858fdd3a | ||
|
|
a7d6226673 | ||
|
|
78bb738abd | ||
|
|
6227fe00c8 | ||
|
|
90b997935a | ||
|
|
cfa5829cb9 | ||
|
|
eedd728f53 | ||
|
|
9ac4d0f3b3 | ||
|
|
c8e3353140 | ||
|
|
e8ea8259dd | ||
|
|
ed8e703551 | ||
|
|
2752412c77 | ||
|
|
3f7a6e46a3 | ||
|
|
e847ecdb99 | ||
|
|
64173c43ce | ||
|
|
a724abc6f5 | ||
|
|
d26a19c187 | ||
|
|
36cf861aac | ||
|
|
11113008c8 | ||
|
|
55598693c3 |
6
.github/actions/get-bootjdk/action.yml
vendored
6
.github/actions/get-bootjdk/action.yml
vendored
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2023, 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
|
||||||
@@ -104,6 +104,6 @@ runs:
|
|||||||
- name: 'Export path to where BootJDK is installed'
|
- name: 'Export path to where BootJDK is installed'
|
||||||
id: path-name
|
id: path-name
|
||||||
run: |
|
run: |
|
||||||
# Export the path
|
# Export the absolute path
|
||||||
echo 'path=bootjdk/jdk' >> $GITHUB_OUTPUT
|
echo "path=`pwd`/bootjdk/jdk" >> $GITHUB_OUTPUT
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
2
.github/actions/get-gtest/action.yml
vendored
2
.github/actions/get-gtest/action.yml
vendored
@@ -40,7 +40,7 @@ runs:
|
|||||||
var: GTEST_VERSION
|
var: GTEST_VERSION
|
||||||
|
|
||||||
- name: 'Checkout GTest source'
|
- name: 'Checkout GTest source'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: google/googletest
|
repository: google/googletest
|
||||||
ref: 'release-${{ steps.version.outputs.value }}'
|
ref: 'release-${{ steps.version.outputs.value }}'
|
||||||
|
|||||||
2
.github/actions/get-jtreg/action.yml
vendored
2
.github/actions/get-jtreg/action.yml
vendored
@@ -47,7 +47,7 @@ runs:
|
|||||||
key: jtreg-${{ steps.version.outputs.value }}
|
key: jtreg-${{ steps.version.outputs.value }}
|
||||||
|
|
||||||
- name: 'Checkout the JTReg source'
|
- name: 'Checkout the JTReg source'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: openjdk/jtreg
|
repository: openjdk/jtreg
|
||||||
ref: jtreg-${{ steps.version.outputs.value }}
|
ref: jtreg-${{ steps.version.outputs.value }}
|
||||||
|
|||||||
7
.github/actions/get-msys2/action.yml
vendored
7
.github/actions/get-msys2/action.yml
vendored
@@ -30,15 +30,16 @@ runs:
|
|||||||
using: composite
|
using: composite
|
||||||
steps:
|
steps:
|
||||||
- name: 'Install MSYS2'
|
- name: 'Install MSYS2'
|
||||||
uses: msys2/setup-msys2@v2
|
# use a specific release of msys2/setup-msys2 to prevent jtreg build failures on newer release
|
||||||
|
uses: msys2/setup-msys2@7efe20baefed56359985e327d329042cde2434ff
|
||||||
with:
|
with:
|
||||||
install: 'autoconf tar unzip zip make'
|
install: 'autoconf tar unzip zip make'
|
||||||
path-type: minimal
|
path-type: minimal
|
||||||
location: msys2
|
location: ${{ runner.tool_cache }}/msys2
|
||||||
|
|
||||||
# We can't run bash until this is completed, so stick with pwsh
|
# We can't run bash until this is completed, so stick with pwsh
|
||||||
- name: 'Set MSYS2 path'
|
- name: 'Set MSYS2 path'
|
||||||
run: |
|
run: |
|
||||||
# Prepend msys2/msys64/usr/bin to the PATH
|
# Prepend msys2/msys64/usr/bin to the PATH
|
||||||
echo "$env:GITHUB_WORKSPACE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
|
echo "$env:RUNNER_TOOL_CACHE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|||||||
18
.github/scripts/gen-test-results.sh
vendored
18
.github/scripts/gen-test-results.sh
vendored
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2022, 2024, 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
|
||||||
@@ -44,8 +44,8 @@ for test in $failures $errors; do
|
|||||||
base_path="$(echo "$test" | tr '#' '_')"
|
base_path="$(echo "$test" | tr '#' '_')"
|
||||||
report_file="$report_dir/$base_path.jtr"
|
report_file="$report_dir/$base_path.jtr"
|
||||||
hs_err_files=$(ls $report_dir/$base_path/hs_err*.log 2> /dev/null || true)
|
hs_err_files=$(ls $report_dir/$base_path/hs_err*.log 2> /dev/null || true)
|
||||||
|
replay_files=$(ls $report_dir/$base_path/replay*.log 2> /dev/null || true)
|
||||||
echo "#### <a id="$anchor">$test"
|
echo "#### <a id="$anchor">$test"
|
||||||
|
|
||||||
echo '<details><summary>View test results</summary>'
|
echo '<details><summary>View test results</summary>'
|
||||||
echo ''
|
echo ''
|
||||||
echo '```'
|
echo '```'
|
||||||
@@ -73,6 +73,20 @@ for test in $failures $errors; do
|
|||||||
echo ''
|
echo ''
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "$replay_files" != "" ]]; then
|
||||||
|
echo '<details><summary>View HotSpot replay file</summary>'
|
||||||
|
echo ''
|
||||||
|
for replay in $replay_files; do
|
||||||
|
echo '```'
|
||||||
|
echo "$replay:"
|
||||||
|
echo ''
|
||||||
|
cat "$replay"
|
||||||
|
echo '```'
|
||||||
|
done
|
||||||
|
|
||||||
|
echo '</details>'
|
||||||
|
echo ''
|
||||||
|
fi
|
||||||
done >> $GITHUB_STEP_SUMMARY
|
done >> $GITHUB_STEP_SUMMARY
|
||||||
|
|
||||||
# With many failures, the summary can easily exceed 1024 kB, the limit set by Github
|
# With many failures, the summary can easily exceed 1024 kB, the limit set by Github
|
||||||
|
|||||||
1
.github/scripts/gen-test-summary.sh
vendored
1
.github/scripts/gen-test-summary.sh
vendored
@@ -42,6 +42,7 @@ error_count=$(echo $errors | wc -w || true)
|
|||||||
|
|
||||||
if [[ "$failures" = "" && "$errors" = "" ]]; then
|
if [[ "$failures" = "" && "$errors" = "" ]]; then
|
||||||
# We know something went wrong, but not what
|
# We know something went wrong, but not what
|
||||||
|
echo 'failure=true' >> $GITHUB_OUTPUT
|
||||||
echo 'error-message=Unspecified test suite failure. Please see log for job for details.' >> $GITHUB_OUTPUT
|
echo 'error-message=Unspecified test suite failure. Please see log for job for details.' >> $GITHUB_OUTPUT
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|||||||
73
.github/workflows/build-cross-compile.yml
vendored
73
.github/workflows/build-cross-compile.yml
vendored
@@ -29,22 +29,22 @@ on:
|
|||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
gcc-major-version:
|
gcc-major-version:
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
extra-conf-options:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: '10'
|
configure-arguments:
|
||||||
apt-gcc-version:
|
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: '10.3.0-1ubuntu1~20.04'
|
make-arguments:
|
||||||
apt-gcc-cross-suffix:
|
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: 'cross1'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-cross-compile:
|
build-cross-compile:
|
||||||
name: build
|
name: build
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@@ -54,24 +54,38 @@ jobs:
|
|||||||
- arm
|
- arm
|
||||||
- s390x
|
- s390x
|
||||||
- ppc64le
|
- ppc64le
|
||||||
|
- riscv64
|
||||||
include:
|
include:
|
||||||
- target-cpu: aarch64
|
- target-cpu: aarch64
|
||||||
debian-arch: arm64
|
|
||||||
gnu-arch: aarch64
|
gnu-arch: aarch64
|
||||||
|
debian-arch: arm64
|
||||||
|
debian-repository: https://httpredir.debian.org/debian/
|
||||||
|
debian-version: bullseye
|
||||||
- target-cpu: arm
|
- target-cpu: arm
|
||||||
debian-arch: armhf
|
|
||||||
gnu-arch: arm
|
gnu-arch: arm
|
||||||
|
debian-arch: armhf
|
||||||
|
debian-repository: https://httpredir.debian.org/debian/
|
||||||
|
debian-version: bullseye
|
||||||
gnu-abi: eabihf
|
gnu-abi: eabihf
|
||||||
- target-cpu: s390x
|
- target-cpu: s390x
|
||||||
debian-arch: s390x
|
|
||||||
gnu-arch: s390x
|
gnu-arch: s390x
|
||||||
|
debian-arch: s390x
|
||||||
|
debian-repository: https://httpredir.debian.org/debian/
|
||||||
|
debian-version: bullseye
|
||||||
- target-cpu: ppc64le
|
- target-cpu: ppc64le
|
||||||
debian-arch: ppc64el
|
|
||||||
gnu-arch: powerpc64le
|
gnu-arch: powerpc64le
|
||||||
|
debian-arch: ppc64el
|
||||||
|
debian-repository: https://httpredir.debian.org/debian/
|
||||||
|
debian-version: bullseye
|
||||||
|
- target-cpu: riscv64
|
||||||
|
gnu-arch: riscv64
|
||||||
|
debian-arch: riscv64
|
||||||
|
debian-repository: https://httpredir.debian.org/debian/
|
||||||
|
debian-version: sid
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: 'Checkout the JDK source'
|
- name: 'Checkout the JDK source'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: 'Get the BootJDK'
|
- name: 'Get the BootJDK'
|
||||||
id: bootjdk
|
id: bootjdk
|
||||||
@@ -86,6 +100,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
platform: linux-x64
|
platform: linux-x64
|
||||||
|
|
||||||
|
- name: 'Get GTest'
|
||||||
|
id: gtest
|
||||||
|
uses: ./.github/actions/get-gtest
|
||||||
|
|
||||||
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
|
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
|
||||||
- name: 'Install toolchain and dependencies'
|
- name: 'Install toolchain and dependencies'
|
||||||
run: |
|
run: |
|
||||||
@@ -93,10 +111,10 @@ jobs:
|
|||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install --only-upgrade apt
|
sudo apt-get install --only-upgrade apt
|
||||||
sudo apt-get install \
|
sudo apt-get install \
|
||||||
gcc-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
|
gcc-${{ inputs.gcc-major-version }} \
|
||||||
g++-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
|
g++-${{ inputs.gcc-major-version }} \
|
||||||
gcc-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-version }}${{ inputs.apt-gcc-cross-suffix }} \
|
gcc-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}} \
|
||||||
g++-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-version }}${{ inputs.apt-gcc-cross-suffix }} \
|
g++-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}} \
|
||||||
libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
|
libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
|
||||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
|
||||||
|
|
||||||
@@ -113,14 +131,15 @@ jobs:
|
|||||||
|
|
||||||
- name: 'Create sysroot'
|
- name: 'Create sysroot'
|
||||||
run: >
|
run: >
|
||||||
sudo qemu-debootstrap
|
sudo debootstrap
|
||||||
--arch=${{ matrix.debian-arch }}
|
--arch=${{ matrix.debian-arch }}
|
||||||
--verbose
|
--verbose
|
||||||
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev
|
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype-dev,libpng-dev
|
||||||
--resolve-deps
|
--resolve-deps
|
||||||
buster
|
--variant=minbase
|
||||||
|
${{ matrix.debian-version }}
|
||||||
sysroot
|
sysroot
|
||||||
https://httpredir.debian.org/debian/
|
${{ matrix.debian-repository }}
|
||||||
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
|
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
|
||||||
|
|
||||||
- name: 'Prepare sysroot'
|
- name: 'Prepare sysroot'
|
||||||
@@ -128,7 +147,10 @@ jobs:
|
|||||||
# Prepare sysroot and remove unused files to minimize cache
|
# Prepare sysroot and remove unused files to minimize cache
|
||||||
sudo chroot sysroot symlinks -cr .
|
sudo chroot sysroot symlinks -cr .
|
||||||
sudo chown ${USER} -R sysroot
|
sudo chown ${USER} -R sysroot
|
||||||
rm -rf sysroot/{dev,proc,run,sys}
|
rm -rf sysroot/{dev,proc,run,sys,var}
|
||||||
|
rm -rf sysroot/usr/{sbin,bin,share}
|
||||||
|
rm -rf sysroot/usr/lib/{apt,gcc,udev,systemd}
|
||||||
|
rm -rf sysroot/usr/libexec/gcc
|
||||||
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
|
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
|
||||||
|
|
||||||
- name: 'Configure'
|
- name: 'Configure'
|
||||||
@@ -137,18 +159,23 @@ jobs:
|
|||||||
--with-conf-name=linux-${{ matrix.target-cpu }}
|
--with-conf-name=linux-${{ matrix.target-cpu }}
|
||||||
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
|
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
|
||||||
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
|
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
|
||||||
|
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||||
--with-zlib=system
|
--with-zlib=system
|
||||||
--enable-debug
|
--enable-debug
|
||||||
--disable-precompiled-headers
|
--disable-precompiled-headers
|
||||||
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
|
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
|
||||||
--with-sysroot=sysroot
|
--with-sysroot=sysroot
|
||||||
--with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
|
--with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
|
||||||
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-10
|
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
|
||||||
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-10
|
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
|
||||||
|
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||||
|
echo "Dumping config.log:" &&
|
||||||
|
cat config.log &&
|
||||||
|
exit 1)
|
||||||
|
|
||||||
- name: 'Build'
|
- name: 'Build'
|
||||||
id: build
|
id: build
|
||||||
uses: ./.github/actions/do-build
|
uses: ./.github/actions/do-build
|
||||||
with:
|
with:
|
||||||
make-target: 'hotspot'
|
make-target: 'hotspot ${{ inputs.make-arguments }}'
|
||||||
platform: linux-${{ matrix.target-cpu }}
|
platform: linux-${{ matrix.target-cpu }}
|
||||||
|
|||||||
27
.github/workflows/build-linux.yml
vendored
27
.github/workflows/build-linux.yml
vendored
@@ -42,20 +42,30 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: '[ "debug", "release" ]'
|
default: '[ "debug", "release" ]'
|
||||||
apt-gcc-version:
|
gcc-major-version:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
gcc-package-suffix:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: ''
|
||||||
apt-architecture:
|
apt-architecture:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
apt-extra-packages:
|
apt-extra-packages:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
configure-arguments:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
make-arguments:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-linux:
|
build-linux:
|
||||||
name: build
|
name: build
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@@ -68,7 +78,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: 'Checkout the JDK source'
|
- name: 'Checkout the JDK source'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: 'Get the BootJDK'
|
- name: 'Get the BootJDK'
|
||||||
id: bootjdk
|
id: bootjdk
|
||||||
@@ -101,8 +111,8 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install --only-upgrade apt
|
sudo apt-get install --only-upgrade apt
|
||||||
sudo apt-get install gcc-${{ inputs.apt-gcc-version }} g++-${{ inputs.apt-gcc-version }} libxrandr-dev${{ steps.arch.outputs.suffix }} libxtst-dev${{ steps.arch.outputs.suffix }} libcups2-dev${{ steps.arch.outputs.suffix }} libasound2-dev${{ steps.arch.outputs.suffix }} ${{ inputs.apt-extra-packages }}
|
sudo apt-get install gcc-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} g++-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} libxrandr-dev${{ steps.arch.outputs.suffix }} libxtst-dev${{ steps.arch.outputs.suffix }} libcups2-dev${{ steps.arch.outputs.suffix }} libasound2-dev${{ steps.arch.outputs.suffix }} ${{ inputs.apt-extra-packages }}
|
||||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
|
||||||
|
|
||||||
- name: 'Configure'
|
- name: 'Configure'
|
||||||
run: >
|
run: >
|
||||||
@@ -115,13 +125,16 @@ jobs:
|
|||||||
--with-gtest=${{ steps.gtest.outputs.path }}
|
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||||
--enable-jtreg-failure-handler
|
--enable-jtreg-failure-handler
|
||||||
--with-zlib=system
|
--with-zlib=system
|
||||||
${{ inputs.extra-conf-options }}
|
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||||
|
echo "Dumping config.log:" &&
|
||||||
|
cat config.log &&
|
||||||
|
exit 1)
|
||||||
|
|
||||||
- name: 'Build'
|
- name: 'Build'
|
||||||
id: build
|
id: build
|
||||||
uses: ./.github/actions/do-build
|
uses: ./.github/actions/do-build
|
||||||
with:
|
with:
|
||||||
make-target: '${{ inputs.make-target }}'
|
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
|
||||||
platform: ${{ inputs.platform }}
|
platform: ${{ inputs.platform }}
|
||||||
debug-suffix: '${{ matrix.suffix }}'
|
debug-suffix: '${{ matrix.suffix }}'
|
||||||
|
|
||||||
|
|||||||
15
.github/workflows/build-macos.yml
vendored
15
.github/workflows/build-macos.yml
vendored
@@ -45,6 +45,12 @@ on:
|
|||||||
xcode-toolset-version:
|
xcode-toolset-version:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
configure-arguments:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
make-arguments:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-macos:
|
build-macos:
|
||||||
@@ -62,7 +68,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: 'Checkout the JDK source'
|
- name: 'Checkout the JDK source'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: 'Get the BootJDK'
|
- name: 'Get the BootJDK'
|
||||||
id: bootjdk
|
id: bootjdk
|
||||||
@@ -97,13 +103,16 @@ jobs:
|
|||||||
--with-gtest=${{ steps.gtest.outputs.path }}
|
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||||
--enable-jtreg-failure-handler
|
--enable-jtreg-failure-handler
|
||||||
--with-zlib=system
|
--with-zlib=system
|
||||||
${{ inputs.extra-conf-options }}
|
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||||
|
echo "Dumping config.log:" &&
|
||||||
|
cat config.log &&
|
||||||
|
exit 1)
|
||||||
|
|
||||||
- name: 'Build'
|
- name: 'Build'
|
||||||
id: build
|
id: build
|
||||||
uses: ./.github/actions/do-build
|
uses: ./.github/actions/do-build
|
||||||
with:
|
with:
|
||||||
make-target: '${{ inputs.make-target }}'
|
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
|
||||||
platform: ${{ inputs.platform }}
|
platform: ${{ inputs.platform }}
|
||||||
debug-suffix: '${{ matrix.suffix }}'
|
debug-suffix: '${{ matrix.suffix }}'
|
||||||
|
|
||||||
|
|||||||
16
.github/workflows/build-windows.yml
vendored
16
.github/workflows/build-windows.yml
vendored
@@ -48,6 +48,12 @@ on:
|
|||||||
msvc-toolset-architecture:
|
msvc-toolset-architecture:
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
|
configure-arguments:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
make-arguments:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# These are needed to make the MSYS2 bash work properly
|
# These are needed to make the MSYS2 bash work properly
|
||||||
@@ -73,7 +79,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: 'Checkout the JDK source'
|
- name: 'Checkout the JDK source'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: 'Get MSYS2'
|
- name: 'Get MSYS2'
|
||||||
uses: ./.github/actions/get-msys2
|
uses: ./.github/actions/get-msys2
|
||||||
@@ -124,17 +130,21 @@ jobs:
|
|||||||
--with-gtest=${{ steps.gtest.outputs.path }}
|
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||||
--enable-jtreg-failure-handler
|
--enable-jtreg-failure-handler
|
||||||
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
|
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
|
||||||
${{ inputs.extra-conf-options }}
|
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||||
|
echo "Dumping config.log:" &&
|
||||||
|
cat config.log &&
|
||||||
|
exit 1)
|
||||||
env:
|
env:
|
||||||
# We need a minimal PATH on Windows
|
# We need a minimal PATH on Windows
|
||||||
# Set PATH to "", so just GITHUB_PATH is included
|
# Set PATH to "", so just GITHUB_PATH is included
|
||||||
PATH: ''
|
PATH: ''
|
||||||
|
shell: env /usr/bin/bash --login -eo pipefail {0}
|
||||||
|
|
||||||
- name: 'Build'
|
- name: 'Build'
|
||||||
id: build
|
id: build
|
||||||
uses: ./.github/actions/do-build
|
uses: ./.github/actions/do-build
|
||||||
with:
|
with:
|
||||||
make-target: '${{ inputs.make-target }}'
|
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
|
||||||
platform: ${{ inputs.platform }}
|
platform: ${{ inputs.platform }}
|
||||||
debug-suffix: '${{ matrix.suffix }}'
|
debug-suffix: '${{ matrix.suffix }}'
|
||||||
|
|
||||||
|
|||||||
75
.github/workflows/main.yml
vendored
75
.github/workflows/main.yml
vendored
@@ -36,6 +36,12 @@ on:
|
|||||||
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
|
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
|
||||||
required: true
|
required: true
|
||||||
default: 'linux-x64, linux-x86, linux-x64-variants, linux-cross-compile, macos-x64, macos-aarch64, windows-x64, windows-aarch64'
|
default: 'linux-x64, linux-x86, linux-x64-variants, linux-cross-compile, macos-x64, macos-aarch64, windows-x64, windows-aarch64'
|
||||||
|
configure-arguments:
|
||||||
|
description: 'Additional configure arguments'
|
||||||
|
required: false
|
||||||
|
make-arguments:
|
||||||
|
description: 'Additional make arguments'
|
||||||
|
required: false
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
@@ -49,7 +55,7 @@ jobs:
|
|||||||
|
|
||||||
select:
|
select:
|
||||||
name: 'Select platforms'
|
name: 'Select platforms'
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-22.04
|
||||||
outputs:
|
outputs:
|
||||||
linux-x64: ${{ steps.include.outputs.linux-x64 }}
|
linux-x64: ${{ steps.include.outputs.linux-x64 }}
|
||||||
linux-x86: ${{ steps.include.outputs.linux-x86 }}
|
linux-x86: ${{ steps.include.outputs.linux-x86 }}
|
||||||
@@ -71,19 +77,17 @@ jobs:
|
|||||||
# 'false' otherwise.
|
# 'false' otherwise.
|
||||||
# arg $1: platform name or names to look for
|
# arg $1: platform name or names to look for
|
||||||
function check_platform() {
|
function check_platform() {
|
||||||
if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
|
|
||||||
# If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
|
|
||||||
echo 'false'
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
|
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
|
||||||
input='${{ github.event.inputs.platforms }}'
|
input='${{ github.event.inputs.platforms }}'
|
||||||
elif [[ $GITHUB_EVENT_NAME == push ]]; then
|
elif [[ $GITHUB_EVENT_NAME == push ]]; then
|
||||||
input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
|
if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
|
||||||
else
|
# If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
|
||||||
echo 'Internal error in GHA'
|
>&2 echo 'JDK_SUBMIT_FILTER is set and not a "submit/" branch'
|
||||||
exit 1
|
echo 'false'
|
||||||
|
return
|
||||||
|
else
|
||||||
|
input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
normalized_input="$(echo ,$input, | tr -d ' ')"
|
normalized_input="$(echo ,$input, | tr -d ' ')"
|
||||||
@@ -123,7 +127,9 @@ jobs:
|
|||||||
uses: ./.github/workflows/build-linux.yml
|
uses: ./.github/workflows/build-linux.yml
|
||||||
with:
|
with:
|
||||||
platform: linux-x64
|
platform: linux-x64
|
||||||
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
|
gcc-major-version: '10'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
|
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
|
||||||
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
|
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
|
||||||
|
|
||||||
@@ -133,12 +139,15 @@ jobs:
|
|||||||
uses: ./.github/workflows/build-linux.yml
|
uses: ./.github/workflows/build-linux.yml
|
||||||
with:
|
with:
|
||||||
platform: linux-x86
|
platform: linux-x86
|
||||||
apt-gcc-version: '10-multilib'
|
gcc-major-version: '10'
|
||||||
|
gcc-package-suffix: '-multilib'
|
||||||
apt-architecture: 'i386'
|
apt-architecture: 'i386'
|
||||||
# Some multilib libraries do not have proper inter-dependencies, so we have to
|
# Some multilib libraries do not have proper inter-dependencies, so we have to
|
||||||
# install their dependencies manually.
|
# install their dependencies manually.
|
||||||
apt-extra-packages: 'libfreetype6-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386'
|
apt-extra-packages: 'libfreetype-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386'
|
||||||
extra-conf-options: '--with-target-bits=32'
|
extra-conf-options: '--with-target-bits=32'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.linux-x86 == 'true'
|
if: needs.select.outputs.linux-x86 == 'true'
|
||||||
|
|
||||||
build-linux-x64-hs-nopch:
|
build-linux-x64-hs-nopch:
|
||||||
@@ -149,8 +158,10 @@ jobs:
|
|||||||
platform: linux-x64
|
platform: linux-x64
|
||||||
make-target: 'hotspot'
|
make-target: 'hotspot'
|
||||||
debug-levels: '[ "debug" ]'
|
debug-levels: '[ "debug" ]'
|
||||||
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
|
gcc-major-version: '10'
|
||||||
extra-conf-options: '--disable-precompiled-headers'
|
extra-conf-options: '--disable-precompiled-headers'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.linux-x64-variants == 'true'
|
if: needs.select.outputs.linux-x64-variants == 'true'
|
||||||
|
|
||||||
build-linux-x64-hs-zero:
|
build-linux-x64-hs-zero:
|
||||||
@@ -161,8 +172,10 @@ jobs:
|
|||||||
platform: linux-x64
|
platform: linux-x64
|
||||||
make-target: 'hotspot'
|
make-target: 'hotspot'
|
||||||
debug-levels: '[ "debug" ]'
|
debug-levels: '[ "debug" ]'
|
||||||
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
|
gcc-major-version: '10'
|
||||||
extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
|
extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.linux-x64-variants == 'true'
|
if: needs.select.outputs.linux-x64-variants == 'true'
|
||||||
|
|
||||||
build-linux-x64-hs-minimal:
|
build-linux-x64-hs-minimal:
|
||||||
@@ -173,8 +186,10 @@ jobs:
|
|||||||
platform: linux-x64
|
platform: linux-x64
|
||||||
make-target: 'hotspot'
|
make-target: 'hotspot'
|
||||||
debug-levels: '[ "debug" ]'
|
debug-levels: '[ "debug" ]'
|
||||||
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
|
gcc-major-version: '10'
|
||||||
extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
|
extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.linux-x64-variants == 'true'
|
if: needs.select.outputs.linux-x64-variants == 'true'
|
||||||
|
|
||||||
build-linux-x64-hs-optimized:
|
build-linux-x64-hs-optimized:
|
||||||
@@ -186,8 +201,10 @@ jobs:
|
|||||||
make-target: 'hotspot'
|
make-target: 'hotspot'
|
||||||
# Technically this is not the "debug" level, but we can't inject a new matrix state for just this job
|
# Technically this is not the "debug" level, but we can't inject a new matrix state for just this job
|
||||||
debug-levels: '[ "debug" ]'
|
debug-levels: '[ "debug" ]'
|
||||||
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
|
gcc-major-version: '10'
|
||||||
extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
|
extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.linux-x64-variants == 'true'
|
if: needs.select.outputs.linux-x64-variants == 'true'
|
||||||
|
|
||||||
build-linux-cross-compile:
|
build-linux-cross-compile:
|
||||||
@@ -196,6 +213,10 @@ jobs:
|
|||||||
- select
|
- select
|
||||||
- build-linux-x64
|
- build-linux-x64
|
||||||
uses: ./.github/workflows/build-cross-compile.yml
|
uses: ./.github/workflows/build-cross-compile.yml
|
||||||
|
with:
|
||||||
|
gcc-major-version: '10'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.linux-cross-compile == 'true'
|
if: needs.select.outputs.linux-cross-compile == 'true'
|
||||||
|
|
||||||
build-macos-x64:
|
build-macos-x64:
|
||||||
@@ -204,7 +225,9 @@ jobs:
|
|||||||
uses: ./.github/workflows/build-macos.yml
|
uses: ./.github/workflows/build-macos.yml
|
||||||
with:
|
with:
|
||||||
platform: macos-x64
|
platform: macos-x64
|
||||||
xcode-toolset-version: '11.7'
|
xcode-toolset-version: '12.5.1'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.macos-x64 == 'true'
|
if: needs.select.outputs.macos-x64 == 'true'
|
||||||
|
|
||||||
build-macos-aarch64:
|
build-macos-aarch64:
|
||||||
@@ -213,8 +236,10 @@ jobs:
|
|||||||
uses: ./.github/workflows/build-macos.yml
|
uses: ./.github/workflows/build-macos.yml
|
||||||
with:
|
with:
|
||||||
platform: macos-aarch64
|
platform: macos-aarch64
|
||||||
xcode-toolset-version: '12.4'
|
xcode-toolset-version: '12.5.1'
|
||||||
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
|
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.macos-aarch64 == 'true'
|
if: needs.select.outputs.macos-aarch64 == 'true'
|
||||||
|
|
||||||
build-windows-x64:
|
build-windows-x64:
|
||||||
@@ -225,6 +250,8 @@ jobs:
|
|||||||
platform: windows-x64
|
platform: windows-x64
|
||||||
msvc-toolset-version: '14.29'
|
msvc-toolset-version: '14.29'
|
||||||
msvc-toolset-architecture: 'x86.x64'
|
msvc-toolset-architecture: 'x86.x64'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.windows-x64 == 'true'
|
if: needs.select.outputs.windows-x64 == 'true'
|
||||||
|
|
||||||
build-windows-aarch64:
|
build-windows-aarch64:
|
||||||
@@ -237,6 +264,8 @@ jobs:
|
|||||||
msvc-toolset-architecture: 'arm64'
|
msvc-toolset-architecture: 'arm64'
|
||||||
make-target: 'hotspot'
|
make-target: 'hotspot'
|
||||||
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
|
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
|
||||||
|
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||||
|
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||||
if: needs.select.outputs.windows-aarch64 == 'true'
|
if: needs.select.outputs.windows-aarch64 == 'true'
|
||||||
|
|
||||||
###
|
###
|
||||||
@@ -251,7 +280,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
platform: linux-x64
|
platform: linux-x64
|
||||||
bootjdk-platform: linux-x64
|
bootjdk-platform: linux-x64
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
test-linux-x86:
|
test-linux-x86:
|
||||||
name: linux-x86
|
name: linux-x86
|
||||||
@@ -261,7 +290,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
platform: linux-x86
|
platform: linux-x86
|
||||||
bootjdk-platform: linux-x64
|
bootjdk-platform: linux-x64
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
test-macos-x64:
|
test-macos-x64:
|
||||||
name: macos-x64
|
name: macos-x64
|
||||||
@@ -286,7 +315,7 @@ jobs:
|
|||||||
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
|
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
|
||||||
remove-bundles:
|
remove-bundles:
|
||||||
name: 'Remove bundle artifacts'
|
name: 'Remove bundle artifacts'
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-22.04
|
||||||
if: always()
|
if: always()
|
||||||
needs:
|
needs:
|
||||||
- build-linux-x64
|
- build-linux-x64
|
||||||
|
|||||||
28
.github/workflows/test.yml
vendored
28
.github/workflows/test.yml
vendored
@@ -60,10 +60,14 @@ jobs:
|
|||||||
- 'jdk/tier1 part 3'
|
- 'jdk/tier1 part 3'
|
||||||
- 'langtools/tier1'
|
- 'langtools/tier1'
|
||||||
- 'hs/tier1 common'
|
- 'hs/tier1 common'
|
||||||
- 'hs/tier1 compiler'
|
- 'hs/tier1 compiler part 1'
|
||||||
|
- 'hs/tier1 compiler part 2'
|
||||||
|
- 'hs/tier1 compiler part 3'
|
||||||
|
- 'hs/tier1 compiler not-xcomp'
|
||||||
- 'hs/tier1 gc'
|
- 'hs/tier1 gc'
|
||||||
- 'hs/tier1 runtime'
|
- 'hs/tier1 runtime'
|
||||||
- 'hs/tier1 serviceability'
|
- 'hs/tier1 serviceability'
|
||||||
|
- 'lib-test/tier1'
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- test-name: 'jdk/tier1 part 1'
|
- test-name: 'jdk/tier1 part 1'
|
||||||
@@ -82,8 +86,20 @@ jobs:
|
|||||||
test-suite: 'test/hotspot/jtreg/:tier1_common'
|
test-suite: 'test/hotspot/jtreg/:tier1_common'
|
||||||
debug-suffix: -debug
|
debug-suffix: -debug
|
||||||
|
|
||||||
- test-name: 'hs/tier1 compiler'
|
- test-name: 'hs/tier1 compiler part 1'
|
||||||
test-suite: 'test/hotspot/jtreg/:tier1_compiler'
|
test-suite: 'test/hotspot/jtreg/:tier1_compiler_1'
|
||||||
|
debug-suffix: -debug
|
||||||
|
|
||||||
|
- test-name: 'hs/tier1 compiler part 2'
|
||||||
|
test-suite: 'test/hotspot/jtreg/:tier1_compiler_2'
|
||||||
|
debug-suffix: -debug
|
||||||
|
|
||||||
|
- test-name: 'hs/tier1 compiler part 3'
|
||||||
|
test-suite: 'test/hotspot/jtreg/:tier1_compiler_3'
|
||||||
|
debug-suffix: -debug
|
||||||
|
|
||||||
|
- test-name: 'hs/tier1 compiler not-xcomp'
|
||||||
|
test-suite: 'test/hotspot/jtreg/:tier1_compiler_not_xcomp'
|
||||||
debug-suffix: -debug
|
debug-suffix: -debug
|
||||||
|
|
||||||
- test-name: 'hs/tier1 gc'
|
- test-name: 'hs/tier1 gc'
|
||||||
@@ -98,9 +114,13 @@ jobs:
|
|||||||
test-suite: 'test/hotspot/jtreg/:tier1_serviceability'
|
test-suite: 'test/hotspot/jtreg/:tier1_serviceability'
|
||||||
debug-suffix: -debug
|
debug-suffix: -debug
|
||||||
|
|
||||||
|
- test-name: 'lib-test/tier1'
|
||||||
|
test-suite: 'test/lib-test/:tier1'
|
||||||
|
debug-suffix: -debug
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: 'Checkout the JDK source'
|
- name: 'Checkout the JDK source'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: 'Get MSYS2'
|
- name: 'Get MSYS2'
|
||||||
uses: ./.github/actions/get-msys2
|
uses: ./.github/actions/get-msys2
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -22,3 +22,4 @@ NashornProfile.txt
|
|||||||
/.cache
|
/.cache
|
||||||
*.class
|
*.class
|
||||||
.idea/workspace.xml
|
.idea/workspace.xml
|
||||||
|
/jbr-api/
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[general]
|
[general]
|
||||||
project=jdk-updates
|
project=jdk-updates
|
||||||
jbs=JDK
|
jbs=JDK
|
||||||
version=17.0.8
|
version=17.0.11
|
||||||
|
|
||||||
[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
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -9,11 +9,13 @@ It includes a number of enhancements in font rendering, ligatures, HiDPI support
|
|||||||
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
|
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
|
||||||
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).
|
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).
|
||||||
|
|
||||||
| IDE Version | Latest JBR | Date Released |
|
| 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 |
|
| 2023.3 | [17.0.9b1087.7](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.9b1087.7) | 20-Nov-2023 |
|
||||||
| 2022.3 | [17.0.5-b653.25](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b653.25) | 10-Jan-2023 |
|
| 2023.2 | [17.0.9b1000.46](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.9b1000.46) | 01-Nov-2023 |
|
||||||
| 2022.2 | [17.0.5-b469.71](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b469.71) | 14-Nov-2022 |
|
| 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
|
## Contents
|
||||||
|
|||||||
@@ -175,22 +175,22 @@
|
|||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="header">
|
<tr class="header">
|
||||||
<th style="text-align: left;">Operating system</th>
|
<th>Operating system</th>
|
||||||
<th style="text-align: left;">Vendor/version used</th>
|
<th>Vendor/version used</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">Linux</td>
|
<td>Linux</td>
|
||||||
<td style="text-align: left;">Oracle Enterprise Linux 6.4 / 7.6</td>
|
<td>Oracle Enterprise Linux 6.4 / 7.6</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">macOS</td>
|
<td>macOS</td>
|
||||||
<td style="text-align: left;">Mac OS X 10.13 (High Sierra)</td>
|
<td>Mac OS X 10.13 (High Sierra)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">Windows</td>
|
<td>Windows</td>
|
||||||
<td style="text-align: left;">Windows Server 2012 R2</td>
|
<td>Windows Server 2012 R2</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -545,27 +545,27 @@
|
|||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="header">
|
<tr class="header">
|
||||||
<th style="text-align: left;">Supported devkit targets</th>
|
<th>Supported devkit targets</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">x86_64-linux-gnu</td>
|
<td>x86_64-linux-gnu</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">aarch64-linux-gnu</td>
|
<td>aarch64-linux-gnu</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">arm-linux-gnueabihf</td>
|
<td>arm-linux-gnueabihf</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">ppc64-linux-gnu</td>
|
<td>ppc64-linux-gnu</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">ppc64le-linux-gnu</td>
|
<td>ppc64le-linux-gnu</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">s390x-linux-gnu</td>
|
<td>s390x-linux-gnu</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -679,103 +679,103 @@ ls build/linux-aarch64-server-release/</code></pre></li>
|
|||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr class="header">
|
<tr class="header">
|
||||||
<th style="text-align: left;">Target</th>
|
<th>Target</th>
|
||||||
<th style="text-align: left;">Debian tree</th>
|
<th>Debian tree</th>
|
||||||
<th style="text-align: left;">Debian arch</th>
|
<th>Debian arch</th>
|
||||||
<th style="text-align: left;"><code>--openjdk-target=...</code></th>
|
<th><code>--openjdk-target=...</code></th>
|
||||||
<th><code>--with-jvm-variants=...</code></th>
|
<th><code>--with-jvm-variants=...</code></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">x86</td>
|
<td>x86</td>
|
||||||
<td style="text-align: left;">buster</td>
|
<td>buster</td>
|
||||||
<td style="text-align: left;">i386</td>
|
<td>i386</td>
|
||||||
<td style="text-align: left;">i386-linux-gnu</td>
|
<td>i386-linux-gnu</td>
|
||||||
<td>(all)</td>
|
<td>(all)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">arm</td>
|
<td>arm</td>
|
||||||
<td style="text-align: left;">buster</td>
|
<td>buster</td>
|
||||||
<td style="text-align: left;">armhf</td>
|
<td>armhf</td>
|
||||||
<td style="text-align: left;">arm-linux-gnueabihf</td>
|
<td>arm-linux-gnueabihf</td>
|
||||||
<td>(all)</td>
|
<td>(all)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">aarch64</td>
|
<td>aarch64</td>
|
||||||
<td style="text-align: left;">buster</td>
|
<td>buster</td>
|
||||||
<td style="text-align: left;">arm64</td>
|
<td>arm64</td>
|
||||||
<td style="text-align: left;">aarch64-linux-gnu</td>
|
<td>aarch64-linux-gnu</td>
|
||||||
<td>(all)</td>
|
<td>(all)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">ppc64le</td>
|
<td>ppc64le</td>
|
||||||
<td style="text-align: left;">buster</td>
|
<td>buster</td>
|
||||||
<td style="text-align: left;">ppc64el</td>
|
<td>ppc64el</td>
|
||||||
<td style="text-align: left;">powerpc64le-linux-gnu</td>
|
<td>powerpc64le-linux-gnu</td>
|
||||||
<td>(all)</td>
|
<td>(all)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">s390x</td>
|
<td>s390x</td>
|
||||||
<td style="text-align: left;">buster</td>
|
<td>buster</td>
|
||||||
<td style="text-align: left;">s390x</td>
|
<td>s390x</td>
|
||||||
<td style="text-align: left;">s390x-linux-gnu</td>
|
<td>s390x-linux-gnu</td>
|
||||||
<td>(all)</td>
|
<td>(all)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">mipsle</td>
|
<td>mipsle</td>
|
||||||
<td style="text-align: left;">buster</td>
|
<td>buster</td>
|
||||||
<td style="text-align: left;">mipsel</td>
|
<td>mipsel</td>
|
||||||
<td style="text-align: left;">mipsel-linux-gnu</td>
|
<td>mipsel-linux-gnu</td>
|
||||||
<td>zero</td>
|
<td>zero</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">mips64le</td>
|
<td>mips64le</td>
|
||||||
<td style="text-align: left;">buster</td>
|
<td>buster</td>
|
||||||
<td style="text-align: left;">mips64el</td>
|
<td>mips64el</td>
|
||||||
<td style="text-align: left;">mips64el-linux-gnueabi64</td>
|
<td>mips64el-linux-gnueabi64</td>
|
||||||
<td>zero</td>
|
<td>zero</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">armel</td>
|
<td>armel</td>
|
||||||
<td style="text-align: left;">buster</td>
|
<td>buster</td>
|
||||||
<td style="text-align: left;">arm</td>
|
<td>arm</td>
|
||||||
<td style="text-align: left;">arm-linux-gnueabi</td>
|
<td>arm-linux-gnueabi</td>
|
||||||
<td>zero</td>
|
<td>zero</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">ppc</td>
|
<td>ppc</td>
|
||||||
<td style="text-align: left;">sid</td>
|
<td>sid</td>
|
||||||
<td style="text-align: left;">powerpc</td>
|
<td>powerpc</td>
|
||||||
<td style="text-align: left;">powerpc-linux-gnu</td>
|
<td>powerpc-linux-gnu</td>
|
||||||
<td>zero</td>
|
<td>zero</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">ppc64be</td>
|
<td>ppc64be</td>
|
||||||
<td style="text-align: left;">sid</td>
|
<td>sid</td>
|
||||||
<td style="text-align: left;">ppc64</td>
|
<td>ppc64</td>
|
||||||
<td style="text-align: left;">powerpc64-linux-gnu</td>
|
<td>powerpc64-linux-gnu</td>
|
||||||
<td>(all)</td>
|
<td>(all)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">m68k</td>
|
<td>m68k</td>
|
||||||
<td style="text-align: left;">sid</td>
|
<td>sid</td>
|
||||||
<td style="text-align: left;">m68k</td>
|
<td>m68k</td>
|
||||||
<td style="text-align: left;">m68k-linux-gnu</td>
|
<td>m68k-linux-gnu</td>
|
||||||
<td>zero</td>
|
<td>zero</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">alpha</td>
|
<td>alpha</td>
|
||||||
<td style="text-align: left;">sid</td>
|
<td>sid</td>
|
||||||
<td style="text-align: left;">alpha</td>
|
<td>alpha</td>
|
||||||
<td style="text-align: left;">alpha-linux-gnu</td>
|
<td>alpha-linux-gnu</td>
|
||||||
<td>zero</td>
|
<td>zero</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">sh4</td>
|
<td>sh4</td>
|
||||||
<td style="text-align: left;">sid</td>
|
<td>sid</td>
|
||||||
<td style="text-align: left;">sh4</td>
|
<td>sh4</td>
|
||||||
<td style="text-align: left;">sh4-linux-gnu</td>
|
<td>sh4-linux-gnu</td>
|
||||||
<td>zero</td>
|
<td>zero</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@@ -154,11 +154,11 @@ This table lists the OS versions used by Oracle when building the JDK. Such
|
|||||||
information is always subject to change, but this table is up to date at the
|
information is always subject to change, but this table is up to date at the
|
||||||
time of writing.
|
time of writing.
|
||||||
|
|
||||||
Operating system Vendor/version used
|
| Operating system | Vendor/version used |
|
||||||
----------------- -------------------------------------------------------
|
| ----------------- | ---------------------------------- |
|
||||||
Linux Oracle Enterprise Linux 6.4 / 7.6
|
| Linux | Oracle Enterprise Linux 6.4 / 7.6 |
|
||||||
macOS Mac OS X 10.13 (High Sierra)
|
| macOS | Mac OS X 10.13 (High Sierra) |
|
||||||
Windows Windows Server 2012 R2
|
| Windows | Windows Server 2012 R2 |
|
||||||
|
|
||||||
The double version numbers for Linux are due to the hybrid model
|
The double version numbers for Linux are due to the hybrid model
|
||||||
used at Oracle, where header files and external libraries from an older version
|
used at Oracle, where header files and external libraries from an older version
|
||||||
@@ -957,14 +957,14 @@ https://sourceware.org/autobook/autobook/autobook_17.html). If no
|
|||||||
targets are given, a native toolchain for the current platform will be
|
targets are given, a native toolchain for the current platform will be
|
||||||
created. Currently, at least the following targets are known to work:
|
created. Currently, at least the following targets are known to work:
|
||||||
|
|
||||||
Supported devkit targets
|
| Supported devkit targets |
|
||||||
-------------------------
|
| ------------------------ |
|
||||||
x86_64-linux-gnu
|
| x86_64-linux-gnu |
|
||||||
aarch64-linux-gnu
|
| aarch64-linux-gnu |
|
||||||
arm-linux-gnueabihf
|
| arm-linux-gnueabihf |
|
||||||
ppc64-linux-gnu
|
| ppc64-linux-gnu |
|
||||||
ppc64le-linux-gnu
|
| ppc64le-linux-gnu |
|
||||||
s390x-linux-gnu
|
| s390x-linux-gnu |
|
||||||
|
|
||||||
`BASE_OS` must be one of "OEL6" for Oracle Enterprise Linux 6 or
|
`BASE_OS` must be one of "OEL6" for Oracle Enterprise Linux 6 or
|
||||||
"Fedora" (if not specified "OEL6" will be the default). If the base OS
|
"Fedora" (if not specified "OEL6" will be the default). If the base OS
|
||||||
@@ -1184,21 +1184,21 @@ it might require a little nudge with:
|
|||||||
|
|
||||||
Architectures that are known to successfully cross-compile like this are:
|
Architectures that are known to successfully cross-compile like this are:
|
||||||
|
|
||||||
Target Debian tree Debian arch `--openjdk-target=...` `--with-jvm-variants=...`
|
| Target | Debian tree | Debian arch | `--openjdk-target=...` | `--with-jvm-variants=...` |
|
||||||
------------ ------------ ------------- ------------------------ --------------
|
| ------------ | ------------ | ------------- | ------------------------ | ------------------------- |
|
||||||
x86 buster i386 i386-linux-gnu (all)
|
| x86 | buster | i386 | i386-linux-gnu | (all) |
|
||||||
arm buster armhf arm-linux-gnueabihf (all)
|
| arm | buster | armhf | arm-linux-gnueabihf | (all) |
|
||||||
aarch64 buster arm64 aarch64-linux-gnu (all)
|
| aarch64 | buster | arm64 | aarch64-linux-gnu | (all) |
|
||||||
ppc64le buster ppc64el powerpc64le-linux-gnu (all)
|
| ppc64le | buster | ppc64el | powerpc64le-linux-gnu | (all) |
|
||||||
s390x buster s390x s390x-linux-gnu (all)
|
| s390x | buster | s390x | s390x-linux-gnu | (all) |
|
||||||
mipsle buster mipsel mipsel-linux-gnu zero
|
| mipsle | buster | mipsel | mipsel-linux-gnu | zero |
|
||||||
mips64le buster mips64el mips64el-linux-gnueabi64 zero
|
| mips64le | buster | mips64el | mips64el-linux-gnueabi64 | zero |
|
||||||
armel buster arm arm-linux-gnueabi zero
|
| armel | buster | arm | arm-linux-gnueabi | zero |
|
||||||
ppc sid powerpc powerpc-linux-gnu zero
|
| ppc | sid | powerpc | powerpc-linux-gnu | zero |
|
||||||
ppc64be sid ppc64 powerpc64-linux-gnu (all)
|
| ppc64be | sid | ppc64 | powerpc64-linux-gnu | (all) |
|
||||||
m68k sid m68k m68k-linux-gnu zero
|
| m68k | sid | m68k | m68k-linux-gnu | zero |
|
||||||
alpha sid alpha alpha-linux-gnu zero
|
| alpha | sid | alpha | alpha-linux-gnu | zero |
|
||||||
sh4 sid sh4 sh4-linux-gnu zero
|
| sh4 | sid | sh4 | sh4-linux-gnu | zero |
|
||||||
|
|
||||||
### Building for ARM/aarch64
|
### Building for ARM/aarch64
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ $ make exploded-test TEST=tier2</code></pre>
|
|||||||
<p>Individual JTReg tests or directories containing JTReg tests can also be specified, like <code>test/hotspot/jtreg/native_sanity/JniVersion.java</code> or <code>hotspot/jtreg/native_sanity</code>. Just like for test root selection, you can either specify an absolute path (which can even point to JTReg tests outside the source tree), or a path relative to either the JDK top directory or the <code>test</code> directory. <code>hotspot</code> can be used as an alias for <code>hotspot/jtreg</code> here as well.</p>
|
<p>Individual JTReg tests or directories containing JTReg tests can also be specified, like <code>test/hotspot/jtreg/native_sanity/JniVersion.java</code> or <code>hotspot/jtreg/native_sanity</code>. Just like for test root selection, you can either specify an absolute path (which can even point to JTReg tests outside the source tree), or a path relative to either the JDK top directory or the <code>test</code> directory. <code>hotspot</code> can be used as an alias for <code>hotspot/jtreg</code> here as well.</p>
|
||||||
<p>As long as the test groups or test paths can be uniquely resolved, you do not need to enter the <code>jtreg:</code> prefix. If this is not possible, or if you want to use a fully qualified test descriptor, add <code>jtreg:</code>, e.g. <code>jtreg:test/hotspot/jtreg/native_sanity</code>.</p>
|
<p>As long as the test groups or test paths can be uniquely resolved, you do not need to enter the <code>jtreg:</code> prefix. If this is not possible, or if you want to use a fully qualified test descriptor, add <code>jtreg:</code>, e.g. <code>jtreg:test/hotspot/jtreg/native_sanity</code>.</p>
|
||||||
<h3 id="gtest">Gtest</h3>
|
<h3 id="gtest">Gtest</h3>
|
||||||
|
<p><strong>Note:</strong> To be able to run the Gtest suite, you need to configure your build to be able to find a proper version of the gtest source. For details, see the section <a href="building.html#running-tests">"Running Tests" in the build documentation</a>.</p>
|
||||||
<p>Since the Hotspot Gtest suite is so quick, the default is to run all tests. This is specified by just <code>gtest</code>, or as a fully qualified test descriptor <code>gtest:all</code>.</p>
|
<p>Since the Hotspot Gtest suite is so quick, the default is to run all tests. This is specified by just <code>gtest</code>, or as a fully qualified test descriptor <code>gtest:all</code>.</p>
|
||||||
<p>If you want, you can single out an individual test or a group of tests, for instance <code>gtest:LogDecorations</code> or <code>gtest:LogDecorations.level_test_vm</code>. This can be particularly useful if you want to run a shaky test repeatedly.</p>
|
<p>If you want, you can single out an individual test or a group of tests, for instance <code>gtest:LogDecorations</code> or <code>gtest:LogDecorations.level_test_vm</code>. This can be particularly useful if you want to run a shaky test repeatedly.</p>
|
||||||
<p>For Gtest, there is a separate test suite for each JVM variant. The JVM variant is defined by adding <code>/<variant></code> to the test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no variant, gtest will run once for each JVM variant present (e.g. server, client). So if you only have the server JVM present, then <code>gtest:all</code> will be equivalent to <code>gtest:all/server</code>.</p>
|
<p>For Gtest, there is a separate test suite for each JVM variant. The JVM variant is defined by adding <code>/<variant></code> to the test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no variant, gtest will run once for each JVM variant present (e.g. server, client). So if you only have the server JVM present, then <code>gtest:all</code> will be equivalent to <code>gtest:all/server</code>.</p>
|
||||||
|
|||||||
@@ -142,6 +142,11 @@ use a fully qualified test descriptor, add `jtreg:`, e.g.
|
|||||||
|
|
||||||
### Gtest
|
### Gtest
|
||||||
|
|
||||||
|
**Note:** To be able to run the Gtest suite, you need to configure your build to
|
||||||
|
be able to find a proper version of the gtest source. For details, see the
|
||||||
|
section ["Running Tests" in the build
|
||||||
|
documentation](building.html#running-tests).
|
||||||
|
|
||||||
Since the Hotspot Gtest suite is so quick, the default is to run all tests.
|
Since the Hotspot Gtest suite is so quick, the default is to run all tests.
|
||||||
This is specified by just `gtest`, or as a fully qualified test descriptor
|
This is specified by just `gtest`, or as a fully qualified test descriptor
|
||||||
`gtest:all`.
|
`gtest:all`.
|
||||||
|
|||||||
274
jb/branchdiff.py
Executable file
274
jb/branchdiff.py
Executable file
@@ -0,0 +1,274 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os.path
|
||||||
|
import sys
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
errors_count = 0
|
||||||
|
|
||||||
|
|
||||||
|
def fatal(msg):
|
||||||
|
sys.stderr.write(f"[fatal] {msg}\n")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
def error(msg):
|
||||||
|
global errors_count
|
||||||
|
errors_count += 1
|
||||||
|
sys.stderr.write(f"[error] {msg}\n")
|
||||||
|
|
||||||
|
|
||||||
|
def verbose(options, *msg):
|
||||||
|
if options.verbose:
|
||||||
|
sys.stderr.write(f"[verbose] ")
|
||||||
|
sys.stderr.write(*msg)
|
||||||
|
sys.stderr.write('\n')
|
||||||
|
|
||||||
|
|
||||||
|
def first_line(str):
|
||||||
|
return "" if not str else str.splitlines()[0]
|
||||||
|
|
||||||
|
|
||||||
|
class Options:
|
||||||
|
def __init__(self):
|
||||||
|
ap = argparse.ArgumentParser(description="Show commit differences between branches of JBR git repos",
|
||||||
|
epilog="Example: %(prog)s --from origin/jbr17 --to jbr17.b469 --path "
|
||||||
|
"src/hotspot --limit 200")
|
||||||
|
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git root', required=True)
|
||||||
|
ap.add_argument('--from', dest='frombranch', help='branch to take commits from', required=True)
|
||||||
|
ap.add_argument('--to', dest='tobranch', help='branch to apply new commits to', required=True)
|
||||||
|
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
|
||||||
|
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int,
|
||||||
|
default=-1)
|
||||||
|
ap.add_argument('--html', dest="ishtml", help="print out HTML rather than plain text", action='store_true')
|
||||||
|
ap.add_argument('-o', dest="output", help="print the list of missing commits to this file"
|
||||||
|
" to be used as exclude list later")
|
||||||
|
ap.add_argument('--exclude', dest='exclude', help='exclude commits listed in the given file '
|
||||||
|
'(can use edited -o output file as input here)')
|
||||||
|
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
|
||||||
|
args = ap.parse_args()
|
||||||
|
|
||||||
|
if not os.path.isdir(args.jbrpath):
|
||||||
|
fatal(f"{args.jbrpath} not a directory")
|
||||||
|
|
||||||
|
if not git_is_available():
|
||||||
|
fatal("can't run git commands; make sure git is in PATH")
|
||||||
|
|
||||||
|
self.frombranch = args.frombranch
|
||||||
|
self.tobranch = args.tobranch
|
||||||
|
self.jbrpath = args.jbrpath
|
||||||
|
self.path = args.path
|
||||||
|
self.limit = args.limit
|
||||||
|
self.exclude = args.exclude
|
||||||
|
self.output = args.output
|
||||||
|
self.ishtml = args.ishtml
|
||||||
|
self.verbose = args.verbose
|
||||||
|
|
||||||
|
|
||||||
|
class GitRepo:
|
||||||
|
def __init__(self, rootpath):
|
||||||
|
self.rootpath = rootpath
|
||||||
|
|
||||||
|
def run_git_cmd(self, git_args):
|
||||||
|
args = ["git", "-C", self.rootpath]
|
||||||
|
args.extend(git_args)
|
||||||
|
# print(f"Runnig git cmd '{' '.join(args)}'")
|
||||||
|
p = subprocess.run(args, capture_output=True, text=True)
|
||||||
|
if p.returncode != 0:
|
||||||
|
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
|
||||||
|
return p.stdout
|
||||||
|
|
||||||
|
def save_git_cmd(self, fname, git_args):
|
||||||
|
args = ["git", "-C", self.rootpath]
|
||||||
|
args.extend(git_args)
|
||||||
|
# print(f"Runnig git cmd '{' '.join(args)}'")
|
||||||
|
with open(fname, "w") as stdout_file:
|
||||||
|
p = subprocess.run(args, stdout=stdout_file)
|
||||||
|
if p.returncode != 0:
|
||||||
|
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
|
||||||
|
|
||||||
|
def current_branch(self):
|
||||||
|
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
|
||||||
|
return branch_name
|
||||||
|
|
||||||
|
def log(self, branch, path=None, limit=None):
|
||||||
|
cmds = ["log", "--no-decorate", branch]
|
||||||
|
if limit:
|
||||||
|
cmds.extend(["-n", str(limit)])
|
||||||
|
if path:
|
||||||
|
cmds.append(path)
|
||||||
|
full_log = self.run_git_cmd(cmds)
|
||||||
|
return full_log
|
||||||
|
|
||||||
|
|
||||||
|
class Commit:
|
||||||
|
def __init__(self, lines):
|
||||||
|
self.sha = lines[0].split()[1]
|
||||||
|
self.message = ""
|
||||||
|
self.fullmessage = ""
|
||||||
|
self.bugid = ""
|
||||||
|
|
||||||
|
# Commit message starts after one blank line
|
||||||
|
read_message = False
|
||||||
|
for l in lines:
|
||||||
|
if read_message:
|
||||||
|
self.fullmessage += l.strip() + "\n"
|
||||||
|
if not read_message and l == "":
|
||||||
|
read_message = True
|
||||||
|
|
||||||
|
if len(self.fullmessage) > 0:
|
||||||
|
self.message = first_line(self.fullmessage).strip()
|
||||||
|
t = self.message.split(' ')
|
||||||
|
if len(t) > 1:
|
||||||
|
bugid = t[0]
|
||||||
|
if bugid.startswith("fixup"):
|
||||||
|
bugid = t[1]
|
||||||
|
bugid = bugid.strip(":")
|
||||||
|
if bugid.startswith("JBR-") or bugid.isnumeric():
|
||||||
|
self.bugid = bugid
|
||||||
|
|
||||||
|
|
||||||
|
class History:
|
||||||
|
def __init__(self, log):
|
||||||
|
log_itr = iter(log.splitlines())
|
||||||
|
self.commits = []
|
||||||
|
self.unique_fullmessages = set()
|
||||||
|
self.duplicates = set()
|
||||||
|
commit_lines = []
|
||||||
|
for line in log_itr:
|
||||||
|
if line.startswith("commit ") and len(commit_lines) > 0:
|
||||||
|
commit = Commit(commit_lines)
|
||||||
|
self.add_commit(commit)
|
||||||
|
commit_lines = []
|
||||||
|
commit_lines.append(line)
|
||||||
|
|
||||||
|
if len(commit_lines) > 0:
|
||||||
|
commit = Commit(commit_lines)
|
||||||
|
self.add_commit(commit)
|
||||||
|
|
||||||
|
def add_commit(self, commit):
|
||||||
|
self.commits.append(commit)
|
||||||
|
if commit.fullmessage in self.unique_fullmessages:
|
||||||
|
self.duplicates.add(commit.fullmessage)
|
||||||
|
else:
|
||||||
|
self.unique_fullmessages.add(commit.fullmessage)
|
||||||
|
|
||||||
|
def appears_more_than_once(self, commit):
|
||||||
|
return commit.fullmessage in self.duplicates
|
||||||
|
|
||||||
|
def contains(self, commit):
|
||||||
|
return commit.fullmessage in self.unique_fullmessages
|
||||||
|
|
||||||
|
def size(self):
|
||||||
|
return len(self.commits)
|
||||||
|
|
||||||
|
|
||||||
|
def print_explanation(options, jbr):
|
||||||
|
verbose(options, f"Reading history from '{jbr.rootpath}'")
|
||||||
|
if options.path:
|
||||||
|
verbose(options, f"\t(only under '{options.path}')")
|
||||||
|
if options.limit > 0:
|
||||||
|
verbose(options, f"\t(up to '{options.limit}' commits)")
|
||||||
|
verbose(options, f"Searching for missing fixes in '{options.tobranch}' compared with '{options.frombranch}'")
|
||||||
|
|
||||||
|
|
||||||
|
def git_is_available():
|
||||||
|
p = None
|
||||||
|
try:
|
||||||
|
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
return p is not None and p.returncode == 0
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
check_python_min_requirements()
|
||||||
|
options = Options()
|
||||||
|
jbr = GitRepo(options.jbrpath)
|
||||||
|
print_explanation(options, jbr)
|
||||||
|
|
||||||
|
commits_to_save = []
|
||||||
|
try:
|
||||||
|
log_from = jbr.log(options.frombranch, options.path, options.limit)
|
||||||
|
log_to = jbr.log(options.tobranch, options.path, options.limit)
|
||||||
|
history_from = History(log_from)
|
||||||
|
history_to = History(log_to)
|
||||||
|
|
||||||
|
verbose(options,
|
||||||
|
f"Read {history_from.size()} commits from '{options.frombranch}', {history_to.size()} from {options.tobranch}")
|
||||||
|
|
||||||
|
exclude_list = []
|
||||||
|
if options.exclude:
|
||||||
|
with open(options.exclude, "r") as exclude_file:
|
||||||
|
l = exclude_file.read().split('\n')
|
||||||
|
exclude_list = list(filter(lambda line: not line.startswith("#"), l))
|
||||||
|
|
||||||
|
warned = set()
|
||||||
|
for c in history_from.commits:
|
||||||
|
if c.message:
|
||||||
|
verbose(options, f"Looking for commit '{c.message}'")
|
||||||
|
if c.message in exclude_list:
|
||||||
|
verbose(options, "...nope, in exclude list")
|
||||||
|
continue
|
||||||
|
|
||||||
|
if not history_to.contains(c):
|
||||||
|
commits_to_save.append(c)
|
||||||
|
else:
|
||||||
|
if history_from.appears_more_than_once(c) and c.fullmessage not in warned:
|
||||||
|
# Not sure which of those seemingly identical commits are present in the target branch
|
||||||
|
error(f"Commit '{c.message}' appears more than once in branch '{options.frombranch}'. ")
|
||||||
|
warned.add(c.fullmessage)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
fatal("Interrupted")
|
||||||
|
|
||||||
|
print_out_commits(options, commits_to_save)
|
||||||
|
save_commits_to_file(commits_to_save, options)
|
||||||
|
if errors_count > 0:
|
||||||
|
error(f"{errors_count} error(s) generated to stderr. MANUAL CHECK OF COMMITS IS REQUIRED.")
|
||||||
|
|
||||||
|
|
||||||
|
def save_commits_to_file(commits_to_save, options):
|
||||||
|
if len(commits_to_save) > 0 and options.output:
|
||||||
|
print()
|
||||||
|
with open(options.output, "w") as out:
|
||||||
|
for i, c in enumerate(reversed(commits_to_save)):
|
||||||
|
print(f"# {c.sha}", file=out)
|
||||||
|
print(c.message, file=out)
|
||||||
|
|
||||||
|
|
||||||
|
def print_out_commits(options, commits_to_save):
|
||||||
|
if options.ishtml:
|
||||||
|
print("<html><body>")
|
||||||
|
print(f"<p><b>Commits on <code>{options.frombranch}</code>"
|
||||||
|
f" missing from <code>{options.tobranch}</code></b></p></h1>")
|
||||||
|
if len(commits_to_save) > 0:
|
||||||
|
for c in sorted(commits_to_save, key=lambda commit: commit.bugid):
|
||||||
|
if options.ishtml:
|
||||||
|
msg = c.message
|
||||||
|
bugurl = ""
|
||||||
|
if c.bugid:
|
||||||
|
if c.bugid.isnumeric():
|
||||||
|
bugurl = f"https://bugs.openjdk.org/browse/JDK-{c.bugid}"
|
||||||
|
elif c.bugid.startswith("JBR-"):
|
||||||
|
bugurl = f"https://youtrack.jetbrains.com/issue/{c.bugid}"
|
||||||
|
|
||||||
|
if len(bugurl) > 0:
|
||||||
|
msg = msg.replace(c.bugid, f"<a href='{bugurl}'>{c.bugid}</a>")
|
||||||
|
|
||||||
|
sha = f"<a href='https://jetbrains.team/p/jbre/repositories/jbr/commits?commits={c.sha}'>" \
|
||||||
|
f"{c.sha[0:8]}</a>"
|
||||||
|
print(f"<li>{msg} ({sha})</li>")
|
||||||
|
else:
|
||||||
|
print(f"{c.message} ({c.sha[0:8]})")
|
||||||
|
if options.ishtml:
|
||||||
|
print("</body></html>")
|
||||||
|
|
||||||
|
|
||||||
|
def check_python_min_requirements():
|
||||||
|
if sys.version_info < (3, 6):
|
||||||
|
fatal("Minimum version 3.6 is required to run this script")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
1
jb/jbr-api.version
Normal file
1
jb/jbr-api.version
Normal file
@@ -0,0 +1 @@
|
|||||||
|
1.0.0
|
||||||
230
jb/jdkdiff.py
Executable file
230
jb/jdkdiff.py
Executable file
@@ -0,0 +1,230 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import math
|
||||||
|
import os.path
|
||||||
|
import sys
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
|
def fatal(msg):
|
||||||
|
sys.stderr.write(f"[fatal] {msg}\n")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
def verbose(options, *msg):
|
||||||
|
if options.verbose:
|
||||||
|
sys.stdout.write(f"[verbose] ")
|
||||||
|
sys.stdout.write(*msg)
|
||||||
|
sys.stdout.write('\n')
|
||||||
|
|
||||||
|
|
||||||
|
def first_line(str):
|
||||||
|
return "" if not str else str.splitlines()[0]
|
||||||
|
|
||||||
|
|
||||||
|
class Options:
|
||||||
|
def __init__(self):
|
||||||
|
ap = argparse.ArgumentParser(description="Show bugfixes differences between JBR and OpenJDK git repos",
|
||||||
|
epilog="Example: %(prog)s --jdk ./jdk11u/ --jbr ./JetBrainsRuntime/ --path src/hotspot --limit 200")
|
||||||
|
ap.add_argument('--jdk', dest='jdkpath', help='path to OpenJDK git repo', required=True)
|
||||||
|
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git repo', required=True)
|
||||||
|
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
|
||||||
|
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int, default=-1)
|
||||||
|
ap.add_argument('-o', dest="output_dir", help="save patches to this directory (created if necessary)")
|
||||||
|
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
|
||||||
|
args = ap.parse_args()
|
||||||
|
|
||||||
|
if not os.path.isdir(args.jdkpath):
|
||||||
|
fatal(f"{args.jdkpath} not a directory")
|
||||||
|
|
||||||
|
if not os.path.isdir(args.jbrpath):
|
||||||
|
fatal(f"{args.jbrpath} not a directory")
|
||||||
|
|
||||||
|
if not git_is_available():
|
||||||
|
fatal("can't run git commands; make sure git is in PATH")
|
||||||
|
|
||||||
|
self.jdkpath = args.jdkpath
|
||||||
|
self.jbrpath = args.jbrpath
|
||||||
|
self.path = args.path
|
||||||
|
self.limit = args.limit
|
||||||
|
self.output_dir = args.output_dir
|
||||||
|
self.verbose = args.verbose
|
||||||
|
|
||||||
|
|
||||||
|
class GitRepo:
|
||||||
|
def __init__(self, rootpath):
|
||||||
|
self.rootpath = rootpath
|
||||||
|
|
||||||
|
def run_git_cmd(self, git_args):
|
||||||
|
args = ["git", "-C", self.rootpath]
|
||||||
|
args.extend(git_args)
|
||||||
|
# print(f"Runnig git cmd '{' '.join(args)}'")
|
||||||
|
p = subprocess.run(args, capture_output=True, text=True)
|
||||||
|
if p.returncode != 0:
|
||||||
|
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
|
||||||
|
return p.stdout
|
||||||
|
|
||||||
|
def save_git_cmd(self, fname, git_args):
|
||||||
|
args = ["git", "-C", self.rootpath]
|
||||||
|
args.extend(git_args)
|
||||||
|
# print(f"Runnig git cmd '{' '.join(args)}'")
|
||||||
|
with open(fname, "w") as stdout_file:
|
||||||
|
p = subprocess.run(args, stdout=stdout_file)
|
||||||
|
if p.returncode != 0:
|
||||||
|
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
|
||||||
|
|
||||||
|
def current_branch(self):
|
||||||
|
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
|
||||||
|
return branch_name
|
||||||
|
|
||||||
|
def log(self, path=None, limit=None):
|
||||||
|
cmds = ["log", "--no-decorate"]
|
||||||
|
if limit:
|
||||||
|
cmds.extend(["-n", str(limit)])
|
||||||
|
if path:
|
||||||
|
cmds.append(path)
|
||||||
|
full_log = self.run_git_cmd(cmds)
|
||||||
|
return full_log
|
||||||
|
|
||||||
|
|
||||||
|
class Commit:
|
||||||
|
def __init__(self, lines):
|
||||||
|
self.sha = lines[0].split()[1]
|
||||||
|
self.message = ""
|
||||||
|
self.bugid = None
|
||||||
|
|
||||||
|
# Commit message starts after one blank line
|
||||||
|
read_message = False
|
||||||
|
for l in lines:
|
||||||
|
if read_message:
|
||||||
|
self.message += l + "\n"
|
||||||
|
if not read_message and l == "":
|
||||||
|
read_message = True
|
||||||
|
|
||||||
|
if self.message and self.message != "" and ":" in self.message:
|
||||||
|
maybe_bugid = self.message.split(":")[0].strip()
|
||||||
|
if 10 >= len(maybe_bugid) >= 4:
|
||||||
|
self.bugid = maybe_bugid
|
||||||
|
|
||||||
|
|
||||||
|
class History:
|
||||||
|
def __init__(self, log):
|
||||||
|
log_itr = iter(log.splitlines())
|
||||||
|
self.commits = []
|
||||||
|
commit_lines = []
|
||||||
|
for line in log_itr:
|
||||||
|
if line.startswith("commit ") and len(commit_lines) > 0:
|
||||||
|
commit = Commit(commit_lines)
|
||||||
|
self.commits.append(commit)
|
||||||
|
commit_lines = []
|
||||||
|
commit_lines.append(line)
|
||||||
|
|
||||||
|
if len(commit_lines) > 0:
|
||||||
|
commit = Commit(commit_lines)
|
||||||
|
self.commits.append(commit)
|
||||||
|
|
||||||
|
def contains(self, str):
|
||||||
|
return any(str in commit.message for commit in self.commits)
|
||||||
|
|
||||||
|
def size(self):
|
||||||
|
return len(self.commits)
|
||||||
|
|
||||||
|
|
||||||
|
def print_explanation(options, jdk, jbr):
|
||||||
|
verbose(options, f"Reading history from '{jdk.rootpath}' on branch '{jdk.current_branch()}'")
|
||||||
|
if options.path:
|
||||||
|
verbose(options, f"\t(only under '{options.path}')")
|
||||||
|
verbose(options, f"Searching for same fixes in '{jbr.rootpath}' on branch '{jbr.current_branch()}'")
|
||||||
|
|
||||||
|
|
||||||
|
def git_is_available():
|
||||||
|
p = None
|
||||||
|
try:
|
||||||
|
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
return p is not None and p.returncode == 0
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
check_python_min_requirements()
|
||||||
|
|
||||||
|
options = Options()
|
||||||
|
|
||||||
|
jdk = GitRepo(options.jdkpath)
|
||||||
|
jbr = GitRepo(options.jbrpath)
|
||||||
|
|
||||||
|
print_explanation(options, jdk, jbr)
|
||||||
|
|
||||||
|
commits_to_save = []
|
||||||
|
try:
|
||||||
|
jdk_log = jdk.log(options.path, options.limit)
|
||||||
|
jdk_history = History(jdk_log)
|
||||||
|
|
||||||
|
jbr_log = jbr.log(options.path)
|
||||||
|
jbr_history = History(jbr_log)
|
||||||
|
|
||||||
|
verbose(options, f"Read {jdk_history.size()} commits in JDK, {jbr_history.size()} in JBR")
|
||||||
|
|
||||||
|
for c in jdk_history.commits:
|
||||||
|
if c.bugid:
|
||||||
|
verbose(options, f"Looking for bugfix for {c.bugid}")
|
||||||
|
if not jbr_history.contains(c.bugid):
|
||||||
|
commits_to_save.append(c)
|
||||||
|
print(f"[note] Fix for {c.bugid} not found in JBR ({jbr.rootpath})")
|
||||||
|
print(f" commit {c.sha}")
|
||||||
|
print(f" {first_line(c.message).strip()}")
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
fatal("Interrupted")
|
||||||
|
|
||||||
|
if len(commits_to_save) > 0 and options.output_dir:
|
||||||
|
print()
|
||||||
|
if not os.path.exists(options.output_dir):
|
||||||
|
verbose(options, f"Creating output directory {options.output_dir}")
|
||||||
|
os.makedirs(options.output_dir)
|
||||||
|
nzeroes = len(str(len(commits_to_save)))
|
||||||
|
for i, c in enumerate(reversed(commits_to_save)):
|
||||||
|
fname = os.path.join(options.output_dir, f"{str(i).zfill(nzeroes)}-{c.bugid}.patch")
|
||||||
|
print(f"[note] {c.bugid} saved as {fname}")
|
||||||
|
fname = os.path.abspath(fname)
|
||||||
|
jdk.save_git_cmd(fname, ["format-patch", "-1", c.sha, "--stdout"])
|
||||||
|
|
||||||
|
script_fname = os.path.join(options.output_dir, "apply.sh")
|
||||||
|
with open(script_fname, "w") as script_file:
|
||||||
|
print(apply_script_code.format(os.path.abspath(jbr.rootpath), os.path.abspath(options.output_dir)),
|
||||||
|
file=script_file)
|
||||||
|
print(f"[note] Execute 'bash {script_fname}' to apply patches to {jbr.rootpath}")
|
||||||
|
|
||||||
|
|
||||||
|
def check_python_min_requirements():
|
||||||
|
if sys.version_info < (3, 6):
|
||||||
|
fatal("Minimum version 3.6 is required to run this script")
|
||||||
|
|
||||||
|
|
||||||
|
apply_script_code = """
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
GITROOT={0}
|
||||||
|
PATCHROOT={1}
|
||||||
|
|
||||||
|
cd $PATCHROOT || exit 1
|
||||||
|
PATCHES=$(find $PATCHROOT -name '*.patch' | sort -n)
|
||||||
|
|
||||||
|
for P in $PATCHES; do
|
||||||
|
git -C $GITROOT am $P
|
||||||
|
if [ $? != 0 ]; then
|
||||||
|
mv "$P" "$P.failed"
|
||||||
|
echo "[ERROR] Patch $P did not apply cleanly. Try applying it manually."
|
||||||
|
echo "[NOTE] Execute this script to apply the remaining patches."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
mv "$P" "$P.done"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "[NOTE] Done applying patches; check $PATCHROOT for .patch and .patch.failed to see if all have been applied."
|
||||||
|
"""
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
@@ -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>
|
|
||||||
|
|
||||||
@@ -4,7 +4,6 @@
|
|||||||
<modules>
|
<modules>
|
||||||
<module fileurl="file://$PROJECT_DIR$/.idea/jdk.iml" filepath="$PROJECT_DIR$/.idea/jdk.iml" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/jdk.iml" filepath="$PROJECT_DIR$/.idea/jdk.iml" />
|
||||||
###MODULE_IMLS###
|
###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" />
|
<module fileurl="file://$PROJECT_DIR$/.idea/test.iml" filepath="$PROJECT_DIR$/.idea/test.iml" />
|
||||||
</modules>
|
</modules>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@@ -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']"
|
|
||||||
@@ -5,7 +5,7 @@ set -x
|
|||||||
|
|
||||||
function check_bundle_type_maketest() {
|
function check_bundle_type_maketest() {
|
||||||
# check whether last char is 't', if so remove it
|
# check whether last char is 't', if so remove it
|
||||||
if [ "${bundle_type: -1}" == "t" ]; then
|
if [ "${bundle_type: -1}" == "t" ] && [ "${bundle_type: -2}" != "ft" ]; then
|
||||||
bundle_type="${bundle_type%?}"
|
bundle_type="${bundle_type%?}"
|
||||||
do_maketest=1
|
do_maketest=1
|
||||||
else
|
else
|
||||||
@@ -17,9 +17,11 @@ function getVersionProp() {
|
|||||||
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
|
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
|
||||||
}
|
}
|
||||||
|
|
||||||
while getopts ":i?" o; do
|
DISABLE_WARNINGS_AS_ERRORS=""
|
||||||
|
while getopts ":iw?" o; do
|
||||||
case "${o}" in
|
case "${o}" in
|
||||||
i) INC_BUILD=1 ;;
|
i) INC_BUILD=1 ;;
|
||||||
|
w) DISABLE_WARNINGS_AS_ERRORS="--disable-warnings-as-errors" ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
shift $((OPTIND-1))
|
shift $((OPTIND-1))
|
||||||
@@ -90,6 +92,15 @@ case "$OS_NAME" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
|
||||||
|
|
||||||
|
if [ "$bundle_type" == "nomodft" ]; then
|
||||||
|
WITH_BUNDLED_FREETYPE="--with-freetype=bundled"
|
||||||
|
else
|
||||||
|
WITH_BUNDLED_FREETYPE=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
|
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
|
||||||
|
|
||||||
REPRODUCIBLE_BUILD_OPTS="--enable-reproducible-build
|
REPRODUCIBLE_BUILD_OPTS="--enable-reproducible-build
|
||||||
|
|||||||
@@ -35,9 +35,11 @@ function do_configure {
|
|||||||
--with-version-opt=b"$build_number" \
|
--with-version-opt=b"$build_number" \
|
||||||
--with-boot-jdk="$BOOT_JDK" \
|
--with-boot-jdk="$BOOT_JDK" \
|
||||||
--enable-cds=yes \
|
--enable-cds=yes \
|
||||||
|
$DISABLE_WARNINGS_AS_ERRORS \
|
||||||
$STATIC_CONF_ARGS \
|
$STATIC_CONF_ARGS \
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
$REPRODUCIBLE_BUILD_OPTS \
|
||||||
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
||||||
|
$WITH_BUNDLED_FREETYPE \
|
||||||
|| do_exit $?
|
|| do_exit $?
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,7 +67,6 @@ function create_image_bundle {
|
|||||||
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix}b${build_number}
|
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}
|
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix:-}b${build_number}
|
||||||
|
|
||||||
|
|
||||||
echo Running jlink....
|
echo Running jlink....
|
||||||
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
|
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
|
||||||
$JSDK/bin/jlink \
|
$JSDK/bin/jlink \
|
||||||
@@ -78,11 +79,14 @@ function create_image_bundle {
|
|||||||
mv release "$IMAGES_DIR"/"$__root_dir"/release
|
mv release "$IMAGES_DIR"/"$__root_dir"/release
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
|
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
|
||||||
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
|
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
|
||||||
|
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump
|
||||||
|
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump -XX:-UseCompressedOops
|
||||||
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
|
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# jmod does not preserve file permissions (JDK-8173610)
|
# 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
|
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
|
||||||
|
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/cef_server ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/cef_server
|
||||||
|
|
||||||
echo Creating "$JBR".tar.gz ...
|
echo Creating "$JBR".tar.gz ...
|
||||||
|
|
||||||
@@ -100,16 +104,23 @@ function create_image_bundle {
|
|||||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
||||||
RELEASE_NAME=linux-aarch64-server-release
|
RELEASE_NAME=linux-aarch64-server-release
|
||||||
|
|
||||||
|
jbr_name_postfix=""
|
||||||
|
|
||||||
case "$bundle_type" in
|
case "$bundle_type" in
|
||||||
"jcef")
|
"jcef")
|
||||||
do_reset_changes=1
|
do_reset_changes=1
|
||||||
|
jbr_name_postfix="_${bundle_type}"
|
||||||
do_maketest=1
|
do_maketest=1
|
||||||
;;
|
;;
|
||||||
"nomod" | "")
|
"nomod" | "")
|
||||||
bundle_type=""
|
bundle_type=""
|
||||||
;;
|
;;
|
||||||
|
"nomodft" | "")
|
||||||
|
jbr_name_postfix="_ft"
|
||||||
|
;;
|
||||||
"fd")
|
"fd")
|
||||||
do_reset_changes=1
|
do_reset_changes=1
|
||||||
|
jbr_name_postfix="_${bundle_type}"
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
||||||
RELEASE_NAME=linux-aarch64-server-fastdebug
|
RELEASE_NAME=linux-aarch64-server-fastdebug
|
||||||
;;
|
;;
|
||||||
@@ -133,11 +144,7 @@ if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
|
|||||||
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
|
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 $?
|
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
|
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
|
||||||
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
cat $JCEF_PATH/jcef.version >> $JSDK/release
|
cat $JCEF_PATH/jcef.version >> $JSDK/release
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# create runtime image bundle
|
# create runtime image bundle
|
||||||
@@ -155,8 +162,7 @@ if [ $do_maketest -eq 1 ]; then
|
|||||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-aarch64-b${build_number}
|
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-aarch64-b${build_number}
|
||||||
echo Creating "$JBRSDK_TEST" ...
|
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
|
[ $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 $?
|
make test-image 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 $?
|
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"
|
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
|
||||||
gzip "$JBRSDK_TEST".tar || do_exit $?
|
gzip "$JBRSDK_TEST".tar || do_exit $?
|
||||||
|
|||||||
@@ -35,9 +35,11 @@ function do_configure {
|
|||||||
--with-version-opt=b"$build_number" \
|
--with-version-opt=b"$build_number" \
|
||||||
--with-boot-jdk="$BOOT_JDK" \
|
--with-boot-jdk="$BOOT_JDK" \
|
||||||
--enable-cds=yes \
|
--enable-cds=yes \
|
||||||
|
$DISABLE_WARNINGS_AS_ERRORS \
|
||||||
$STATIC_CONF_ARGS \
|
$STATIC_CONF_ARGS \
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
$REPRODUCIBLE_BUILD_OPTS \
|
||||||
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
||||||
|
$WITH_BUNDLED_FREETYPE \
|
||||||
|| do_exit $?
|
|| do_exit $?
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,11 +79,14 @@ function create_image_bundle {
|
|||||||
mv release "$IMAGES_DIR"/"$__root_dir"/release
|
mv release "$IMAGES_DIR"/"$__root_dir"/release
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
|
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
|
||||||
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
|
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
|
||||||
|
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump
|
||||||
|
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump -XX:-UseCompressedOops
|
||||||
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
|
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# jmod does not preserve file permissions (JDK-8173610)
|
# 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
|
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
|
||||||
|
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/cef_server ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/cef_server
|
||||||
|
|
||||||
echo Creating "$JBR".tar.gz ...
|
echo Creating "$JBR".tar.gz ...
|
||||||
|
|
||||||
@@ -99,16 +104,23 @@ function create_image_bundle {
|
|||||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
||||||
RELEASE_NAME=linux-x86_64-server-release
|
RELEASE_NAME=linux-x86_64-server-release
|
||||||
|
|
||||||
|
jbr_name_postfix=""
|
||||||
|
|
||||||
case "$bundle_type" in
|
case "$bundle_type" in
|
||||||
"jcef")
|
"jcef")
|
||||||
do_reset_changes=1
|
do_reset_changes=1
|
||||||
|
jbr_name_postfix="_${bundle_type}"
|
||||||
do_maketest=1
|
do_maketest=1
|
||||||
;;
|
;;
|
||||||
"nomod" | "")
|
"nomod" | "")
|
||||||
bundle_type=""
|
bundle_type=""
|
||||||
;;
|
;;
|
||||||
|
"nomodft" | "")
|
||||||
|
jbr_name_postfix="_ft"
|
||||||
|
;;
|
||||||
"fd")
|
"fd")
|
||||||
do_reset_changes=1
|
do_reset_changes=1
|
||||||
|
jbr_name_postfix="_${bundle_type}"
|
||||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
||||||
RELEASE_NAME=linux-x86_64-server-fastdebug
|
RELEASE_NAME=linux-x86_64-server-fastdebug
|
||||||
;;
|
;;
|
||||||
@@ -132,11 +144,7 @@ if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
|
|||||||
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
|
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 $?
|
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
|
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
|
||||||
|
|
||||||
jbr_name_postfix="_${bundle_type}"
|
|
||||||
cat $JCEF_PATH/jcef.version >> $JSDK/release
|
cat $JCEF_PATH/jcef.version >> $JSDK/release
|
||||||
else
|
|
||||||
jbr_name_postfix=""
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# create runtime image bundle
|
# create runtime image bundle
|
||||||
@@ -154,8 +162,7 @@ if [ $do_maketest -eq 1 ]; then
|
|||||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x64-b${build_number}
|
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x64-b${build_number}
|
||||||
echo Creating "$JBRSDK_TEST" ...
|
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
|
[ $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 $?
|
make test-image 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 $?
|
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"
|
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
|
||||||
gzip "$JBRSDK_TEST".tar || do_exit $?
|
gzip "$JBRSDK_TEST".tar || do_exit $?
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ function do_configure {
|
|||||||
--with-boot-jdk="$BOOT_JDK" \
|
--with-boot-jdk="$BOOT_JDK" \
|
||||||
$STATIC_CONF_ARGS \
|
$STATIC_CONF_ARGS \
|
||||||
--enable-cds=yes \
|
--enable-cds=yes \
|
||||||
|
$DISABLE_WARNINGS_AS_ERRORS \
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
$REPRODUCIBLE_BUILD_OPTS \
|
||||||
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
||||||
|| do_exit $?
|
|| do_exit $?
|
||||||
@@ -66,6 +67,7 @@ function create_image_bundle {
|
|||||||
mv release "$IMAGES_DIR"/"$__root_dir"/release
|
mv release "$IMAGES_DIR"/"$__root_dir"/release
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
|
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
|
||||||
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
|
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
|
||||||
|
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump
|
||||||
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
|
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -134,8 +136,7 @@ if [ $do_maketest -eq 1 ]; then
|
|||||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x86-b${build_number}
|
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x86-b${build_number}
|
||||||
echo Creating "$JBRSDK_TEST" ...
|
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
|
[ $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 $?
|
make test-image 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 $?
|
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"
|
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
|
||||||
gzip "$JBRSDK_TEST".tar || do_exit $?
|
gzip "$JBRSDK_TEST".tar || do_exit $?
|
||||||
|
|||||||
@@ -29,44 +29,28 @@ BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
|
|||||||
|
|
||||||
function do_configure {
|
function do_configure {
|
||||||
if [[ "${architecture}" == *aarch64* ]]; then
|
if [[ "${architecture}" == *aarch64* ]]; then
|
||||||
|
MACOSX_VERSION_MAX="11.00.00"
|
||||||
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
|
else
|
||||||
sh configure \
|
MACOSX_VERSION_MAX="10.12.00"
|
||||||
$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
|
fi
|
||||||
|
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}" \
|
||||||
|
--enable-cds=yes \
|
||||||
|
$DISABLE_WARNINGS_AS_ERRORS \
|
||||||
|
$STATIC_CONF_ARGS \
|
||||||
|
$REPRODUCIBLE_BUILD_OPTS \
|
||||||
|
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|
||||||
|
|| do_exit $?
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_image_bundle {
|
function create_image_bundle {
|
||||||
@@ -98,6 +82,8 @@ function create_image_bundle {
|
|||||||
mv release $JRE_CONTENTS/Home/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
|
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
|
copy_jmods "$__modules" "$__modules_path" "$JRE_CONTENTS"/Home/jmods
|
||||||
|
"$JRE_CONTENTS"/Home/bin/java -Xshare:dump
|
||||||
|
"$JRE_CONTENTS"/Home/bin/java -Xshare:dump -XX:-UseCompressedOops
|
||||||
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
|
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -182,8 +168,7 @@ if [ $do_maketest -eq 1 ]; then
|
|||||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
|
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
|
||||||
echo Creating "$JBRSDK_TEST" ...
|
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
|
[ $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 $?
|
make test-image 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"
|
[ -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 $?
|
COPYFILE_DISABLE=1 tar -pczf "$JBRSDK_TEST".tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ done
|
|||||||
log "Signing whole frameworks..."
|
log "Signing whole frameworks..."
|
||||||
# shellcheck disable=SC2043
|
# shellcheck disable=SC2043
|
||||||
if [ "$JB_SIGN" = true ]; then for f in \
|
if [ "$JB_SIGN" = true ]; then for f in \
|
||||||
"Contents/Home/Frameworks" "Contents/Frameworks"; do
|
"Contents/Frameworks/cef_server.app/Contents/Frameworks" "Contents/Home/Frameworks" "Contents/Frameworks"; do
|
||||||
if [ -d "$APPLICATION_PATH/$f" ]; then
|
if [ -d "$APPLICATION_PATH/$f" ]; then
|
||||||
find "$APPLICATION_PATH/$f" \( -name '*.framework' -o -name '*.app' \) -maxdepth 1 | while read -r line
|
find "$APPLICATION_PATH/$f" \( -name '*.framework' -o -name '*.app' \) -maxdepth 1 | while read -r line
|
||||||
do
|
do
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ function do_configure {
|
|||||||
--with-nvdacontrollerclient=$NVDA_PATH \
|
--with-nvdacontrollerclient=$NVDA_PATH \
|
||||||
--disable-ccache \
|
--disable-ccache \
|
||||||
--enable-cds=yes \
|
--enable-cds=yes \
|
||||||
|
$DISABLE_WARNINGS_AS_ERRORS \
|
||||||
$STATIC_CONF_ARGS \
|
$STATIC_CONF_ARGS \
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
$REPRODUCIBLE_BUILD_OPTS \
|
||||||
|| do_exit $?
|
|| do_exit $?
|
||||||
@@ -103,13 +104,13 @@ esac
|
|||||||
if [ -z "${INC_BUILD:-}" ]; then
|
if [ -z "${INC_BUILD:-}" ]; then
|
||||||
do_configure || do_exit $?
|
do_configure || do_exit $?
|
||||||
if [ $do_maketest -eq 1 ]; then
|
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 $?
|
make LOG=info CONF=$RELEASE_NAME clean images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
|
||||||
else
|
else
|
||||||
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
|
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ $do_maketest -eq 1 ]; then
|
if [ $do_maketest -eq 1 ]; then
|
||||||
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
|
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
|
||||||
else
|
else
|
||||||
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
|
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ function do_configure {
|
|||||||
--with-nvdacontrollerclient=$NVDA_PATH \
|
--with-nvdacontrollerclient=$NVDA_PATH \
|
||||||
--disable-ccache \
|
--disable-ccache \
|
||||||
--enable-cds=yes \
|
--enable-cds=yes \
|
||||||
|
$DISABLE_WARNINGS_AS_ERRORS \
|
||||||
$STATIC_CONF_ARGS \
|
$STATIC_CONF_ARGS \
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
$REPRODUCIBLE_BUILD_OPTS \
|
||||||
|| do_exit $?
|
|| do_exit $?
|
||||||
@@ -61,8 +62,8 @@ function create_image_bundle {
|
|||||||
--module-path $__modules_path --no-man-pages --compress=2 \
|
--module-path $__modules_path --no-man-pages --compress=2 \
|
||||||
--add-modules $__modules --output $__root_dir || do_exit $?
|
--add-modules $__modules --output $__root_dir || do_exit $?
|
||||||
|
|
||||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
|
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
|
||||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
||||||
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
|
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
|
||||||
mv release $__root_dir/release
|
mv release $__root_dir/release
|
||||||
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
|
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
|
||||||
@@ -70,6 +71,8 @@ function create_image_bundle {
|
|||||||
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
|
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
|
||||||
done
|
done
|
||||||
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
|
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
|
||||||
|
"$__root_dir"/bin/java -Xshare:dump
|
||||||
|
"$__root_dir"/bin/java -Xshare:dump -XX:-UseCompressedOops
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,13 +97,13 @@ esac
|
|||||||
if [ -z "${INC_BUILD:-}" ]; then
|
if [ -z "${INC_BUILD:-}" ]; then
|
||||||
do_configure || do_exit $?
|
do_configure || do_exit $?
|
||||||
if [ $do_maketest -eq 1 ]; then
|
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 $?
|
make LOG=info CONF=$RELEASE_NAME clean images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
|
||||||
else
|
else
|
||||||
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
|
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ $do_maketest -eq 1 ]; then
|
if [ $do_maketest -eq 1 ]; then
|
||||||
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
|
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
|
||||||
else
|
else
|
||||||
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
|
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ function do_configure {
|
|||||||
--with-nvdacontrollerclient=$NVDA_PATH \
|
--with-nvdacontrollerclient=$NVDA_PATH \
|
||||||
--disable-ccache \
|
--disable-ccache \
|
||||||
--enable-cds=yes \
|
--enable-cds=yes \
|
||||||
|
$DISABLE_WARNINGS_AS_ERRORS \
|
||||||
$STATIC_CONF_ARGS \
|
$STATIC_CONF_ARGS \
|
||||||
$REPRODUCIBLE_BUILD_OPTS \
|
$REPRODUCIBLE_BUILD_OPTS \
|
||||||
|| do_exit $?
|
|| do_exit $?
|
||||||
@@ -66,6 +67,7 @@ function create_image_bundle {
|
|||||||
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
|
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
|
||||||
done
|
done
|
||||||
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
|
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
|
||||||
|
"$__root_dir"/bin/java -Xshare:dump
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,13 +91,13 @@ esac
|
|||||||
if [ -z "${INC_BUILD:-}" ]; then
|
if [ -z "${INC_BUILD:-}" ]; then
|
||||||
do_configure || do_exit $?
|
do_configure || do_exit $?
|
||||||
if [ $do_maketest -eq 1 ]; then
|
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 $?
|
make LOG=info CONF=$RELEASE_NAME clean images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
|
||||||
else
|
else
|
||||||
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
|
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ $do_maketest -eq 1 ]; then
|
if [ $do_maketest -eq 1 ]; then
|
||||||
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
|
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
|
||||||
else
|
else
|
||||||
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
|
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
|
|||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
if [ $do_maketest -eq 1 ]; then
|
||||||
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-aarch64-b$build_number
|
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 ...
|
echo Creating $JBRSDK_TEST.tar.gz ...
|
||||||
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
||||||
fi
|
fi
|
||||||
@@ -51,7 +51,6 @@ pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
|
|||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
if [ $do_maketest -eq 1 ]; then
|
||||||
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x64-b$build_number
|
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 ...
|
echo Creating $JBRSDK_TEST.tar.gz ...
|
||||||
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
|
||||||
fi
|
fi
|
||||||
@@ -47,7 +47,6 @@ pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
|
|||||||
|
|
||||||
if [ $do_maketest -eq 1 ]; then
|
if [ $do_maketest -eq 1 ]; then
|
||||||
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x86-b$build_number
|
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 ...
|
echo Creating $JBRSDK_TEST.tar.gz ...
|
||||||
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $BASE_DIR --exclude='test/jdk/demos' test || do_exit $?
|
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $BASE_DIR --exclude='test/jdk/demos' test || do_exit $?
|
||||||
fi
|
fi
|
||||||
@@ -100,6 +100,7 @@ $(eval $(call SetupJavaCompilation, $(MODULE), \
|
|||||||
BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
|
BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
|
||||||
HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
|
HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
|
||||||
CREATE_API_DIGEST := true, \
|
CREATE_API_DIGEST := true, \
|
||||||
|
PROCESS_JBR_API := true, \
|
||||||
CLEAN := $(CLEAN), \
|
CLEAN := $(CLEAN), \
|
||||||
CLEAN_FILES := $(CLEAN_FILES), \
|
CLEAN_FILES := $(CLEAN_FILES), \
|
||||||
COPY := $(COPY), \
|
COPY := $(COPY), \
|
||||||
|
|||||||
@@ -75,17 +75,25 @@ $(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \
|
|||||||
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
|
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
|
||||||
SRC := $(TOPDIR)/make/jdk/src/classes, \
|
SRC := $(TOPDIR)/make/jdk/src/classes, \
|
||||||
INCLUDES := build/tools/depend, \
|
INCLUDES := build/tools/depend, \
|
||||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/depend, \
|
BIN := $(BUILDTOOLS_OUTPUTDIR)/plugins, \
|
||||||
DISABLED_WARNINGS := options, \
|
DISABLED_WARNINGS := options, \
|
||||||
))
|
))
|
||||||
|
|
||||||
DEPEND_SERVICE_PROVIDER := $(BUILDTOOLS_OUTPUTDIR)/depend/META-INF/services/com.sun.source.util.Plugin
|
$(eval $(call SetupJavaCompilation, COMPILE_JBR_API_PLUGIN, \
|
||||||
|
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
|
||||||
|
SRC := $(TOPDIR)/make/jdk/src/classes, \
|
||||||
|
INCLUDES := build/tools/jbrapi, \
|
||||||
|
BIN := $(BUILDTOOLS_OUTPUTDIR)/plugins, \
|
||||||
|
))
|
||||||
|
|
||||||
$(DEPEND_SERVICE_PROVIDER):
|
PLUGINS_SERVICE_PROVIDER := $(BUILDTOOLS_OUTPUTDIR)/plugins/META-INF/services/com.sun.source.util.Plugin
|
||||||
$(call MakeDir, $(BUILDTOOLS_OUTPUTDIR)/depend/META-INF/services)
|
|
||||||
|
$(PLUGINS_SERVICE_PROVIDER):
|
||||||
|
$(call MakeDir, $(BUILDTOOLS_OUTPUTDIR)/plugins/META-INF/services)
|
||||||
$(ECHO) build.tools.depend.Depend > $@
|
$(ECHO) build.tools.depend.Depend > $@
|
||||||
|
$(ECHO) build.tools.jbrapi.JBRApiPlugin >> $@
|
||||||
|
|
||||||
TARGETS += $(COMPILE_DEPEND) $(DEPEND_SERVICE_PROVIDER)
|
TARGETS += $(COMPILE_DEPEND) $(COMPILE_JBR_API_PLUGIN) $(PLUGINS_SERVICE_PROVIDER)
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 2023, 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
|
||||||
@@ -138,7 +138,10 @@ ifeq ($(HAS_SPEC),)
|
|||||||
# The spec files depend on the autoconf source code. This check makes sure
|
# The spec files depend on the autoconf source code. This check makes sure
|
||||||
# the configuration is up to date after changes to configure.
|
# the configuration is up to date after changes to configure.
|
||||||
$(SPECS): $(wildcard $(topdir)/make/autoconf/*) \
|
$(SPECS): $(wildcard $(topdir)/make/autoconf/*) \
|
||||||
$(if $(CUSTOM_CONFIG_DIR), $(wildcard $(CUSTOM_CONFIG_DIR)/*))
|
$(if $(CUSTOM_CONFIG_DIR), $(wildcard $(CUSTOM_CONFIG_DIR)/*)) \
|
||||||
|
$(addprefix $(topdir)/make/conf/, version-numbers.conf branding.conf) \
|
||||||
|
$(if $(CUSTOM_CONF_DIR), $(wildcard $(addprefix $(CUSTOM_CONF_DIR)/, \
|
||||||
|
version-numbers.conf branding.conf)))
|
||||||
ifeq ($(CONF_CHECK), fail)
|
ifeq ($(CONF_CHECK), fail)
|
||||||
@echo Error: The configuration is not up to date for \
|
@echo Error: The configuration is not up to date for \
|
||||||
"'$(lastword $(subst /, , $(dir $@)))'."
|
"'$(lastword $(subst /, , $(dir $@)))'."
|
||||||
|
|||||||
101
make/JBRApi.gmk
101
make/JBRApi.gmk
@@ -25,69 +25,50 @@
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
include JavaCompilation.gmk
|
include Utils.gmk
|
||||||
|
|
||||||
JBR_API_ROOT_DIR := $(TOPDIR)/src/jetbrains.api
|
JBR_API_ORIGIN := https://github.com/JetBrains/JetBrainsRuntimeApi.git
|
||||||
JBR_API_TOOLS_DIR := $(JBR_API_ROOT_DIR)/tools
|
JBR_API_DIR := $(TOPDIR)/jbr-api
|
||||||
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))
|
ARTIFACT_NAME := jbr-api-SNAPSHOT
|
||||||
JBR_API_GENSRC_FILES := $(foreach f, $(call FindFiles, $(JBR_API_SRC_DIR)), \
|
ifeq ($(call isBuildOsEnv, windows.cygwin windows.msys2), true)
|
||||||
$(JBR_API_GENSRC_DIR)/$(call RelativePath, $f, $(JBR_API_SRC_DIR)))
|
HOME := $$USERPROFILE
|
||||||
|
M2_REPO := $(shell $(PATHTOOL) $(HOME))/.m2/repository
|
||||||
ifeq ($(JBR_API_JBR_VERSION),)
|
else ifeq ($(call isBuildOsEnv, windows.wsl1 windows.wsl2), true)
|
||||||
JBR_API_JBR_VERSION := DEVELOPMENT
|
HOME := `cmd.exe /C "echo %USERPROFILE%" 2> /dev/null`
|
||||||
JBR_API_FAIL_ON_HASH_MISMATCH := false
|
M2_REPO := $(shell $(PATHTOOL) $(HOME))/.m2/repository
|
||||||
else
|
else
|
||||||
.PHONY: $(JBR_API_VERSION_PROPERTIES)
|
M2_REPO := $(HOME)/.m2/repository
|
||||||
JBR_API_FAIL_ON_HASH_MISMATCH := true
|
|
||||||
endif
|
endif
|
||||||
|
M2_ARTIFACT := $(M2_REPO)/com/jetbrains/jbr-api/SNAPSHOT
|
||||||
|
M2_POM_CONTENT := \
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?> \
|
||||||
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" \
|
||||||
|
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> \
|
||||||
|
<modelVersion>4.0.0</modelVersion> \
|
||||||
|
<groupId>com.jetbrains</groupId> \
|
||||||
|
<artifactId>jbr-api</artifactId> \
|
||||||
|
<version>SNAPSHOT</version> \
|
||||||
|
</project> \
|
||||||
|
|
||||||
ARCHIVE_BUILD_JBR_API_BIN := $(JBR_API_BIN_DIR)
|
jbr-api:
|
||||||
$(eval $(call SetupJavaCompilation, BUILD_JBR_API, \
|
if [ -d "$(JBR_API_DIR)" ]; then \
|
||||||
SMALL_JAVA := true, \
|
$(GIT) -C "$(JBR_API_DIR)" fetch; \
|
||||||
COMPILER := bootjdk, \
|
$(GIT) -C "$(JBR_API_DIR)" merge-base --is-ancestor origin/main HEAD || \
|
||||||
SRC := $(JBR_API_GENSRC_DIR), \
|
$(ECHO) "!!! Current JBR API revision is outdated, update the branch in $(JBR_API_DIR) !!!"; \
|
||||||
EXTRA_FILES := $(JBR_API_GENSRC_FILES), \
|
else \
|
||||||
BIN := $(JBR_API_BIN_DIR), \
|
$(ECHO) "JBR API directory does not exist. Initializing..."; \
|
||||||
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api.jar, \
|
$(GIT) clone "$(JBR_API_ORIGIN)" "$(JBR_API_DIR)" --config core.autocrlf=false; \
|
||||||
))
|
fi
|
||||||
|
$(ECHO) "Building JBR API requires at least Java 18, so using \$$JAVA_HOME instead of boot JDK"
|
||||||
|
$(BASH) "$(JBR_API_DIR)/tools/build.sh" dev "$(JAVA_HOME)"
|
||||||
|
if [ -d "$(M2_REPO)" ]; then \
|
||||||
|
$(MKDIR) -p $(M2_ARTIFACT); \
|
||||||
|
$(ECHO) "$(M2_POM_CONTENT)" > $(M2_ARTIFACT)/$(ARTIFACT_NAME).pom; \
|
||||||
|
$(CP) "$(JBR_API_DIR)/out/$(ARTIFACT_NAME).jar" "$(M2_ARTIFACT)"; \
|
||||||
|
$(ECHO) "Installed into local Maven repository as com.jetbrains:jbr-api:SNAPSHOT"; \
|
||||||
|
else \
|
||||||
|
$(ECHO) "No Maven repository found at $(M2_REPO) - skipping local installation"; \
|
||||||
|
fi
|
||||||
|
|
||||||
$(eval $(call SetupJarArchive, BUILD_JBR_API_SOURCES_JAR, \
|
.PHONY: jbr-api
|
||||||
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
|
|
||||||
|
|||||||
@@ -523,7 +523,7 @@ define SetupRunGtestTestBody
|
|||||||
$$(subst $$(TOPDIR)/, , $$($1_TEST_RESULTS_DIR))))
|
$$(subst $$(TOPDIR)/, , $$($1_TEST_RESULTS_DIR))))
|
||||||
$$(if $$(wildcard $$($1_RESULT_FILE)), \
|
$$(if $$(wildcard $$($1_RESULT_FILE)), \
|
||||||
$$(eval $1_TOTAL := $$(shell $$(AWK) '/==========.* tests? from .* \
|
$$(eval $1_TOTAL := $$(shell $$(AWK) '/==========.* tests? from .* \
|
||||||
test cases? ran/ { print $$$$2 }' $$($1_RESULT_FILE))) \
|
test (cases?|suites?) ran/ { print $$$$2 }' $$($1_RESULT_FILE))) \
|
||||||
$$(if $$($1_TOTAL), , $$(eval $1_TOTAL := 0)) \
|
$$(if $$($1_TOTAL), , $$(eval $1_TOTAL := 0)) \
|
||||||
$$(eval $1_PASSED := $$(shell $$(AWK) '/\[ PASSED \] .* tests?./ \
|
$$(eval $1_PASSED := $$(shell $$(AWK) '/\[ PASSED \] .* tests?./ \
|
||||||
{ print $$$$4 }' $$($1_RESULT_FILE))) \
|
{ print $$$$4 }' $$($1_RESULT_FILE))) \
|
||||||
@@ -785,8 +785,10 @@ define SetupRunJtregTestBody
|
|||||||
$1_JTREG_BASIC_OPTIONS += -e:JDK8_HOME=$$(BOOT_JDK)
|
$1_JTREG_BASIC_OPTIONS += -e:JDK8_HOME=$$(BOOT_JDK)
|
||||||
# If running on Windows, propagate the _NT_SYMBOL_PATH to enable
|
# If running on Windows, propagate the _NT_SYMBOL_PATH to enable
|
||||||
# symbol lookup in hserr files
|
# symbol lookup in hserr files
|
||||||
|
# The minidumps are disabled by default on client Windows, so enable them
|
||||||
ifeq ($$(call isTargetOs, windows), true)
|
ifeq ($$(call isTargetOs, windows), true)
|
||||||
$1_JTREG_BASIC_OPTIONS += -e:_NT_SYMBOL_PATH
|
$1_JTREG_BASIC_OPTIONS += -e:_NT_SYMBOL_PATH
|
||||||
|
$1_JTREG_BASIC_OPTIONS += -vmoption:-XX:+CreateCoredumpOnCrash
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$1_JTREG_BASIC_OPTIONS += \
|
$1_JTREG_BASIC_OPTIONS += \
|
||||||
@@ -850,11 +852,12 @@ define SetupRunJtregTestBody
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean-workdir-$1:
|
clean-outputdirs-$1:
|
||||||
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
|
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
|
||||||
|
$$(RM) -r $$($1_TEST_RESULTS_DIR)
|
||||||
|
|
||||||
$1_COMMAND_LINE := \
|
$1_COMMAND_LINE := \
|
||||||
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
|
$$(JTREG_JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
|
||||||
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
|
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
|
||||||
$$($1_JTREG_BASIC_OPTIONS) \
|
$$($1_JTREG_BASIC_OPTIONS) \
|
||||||
-testjdk:$$(JDK_UNDER_TEST) \
|
-testjdk:$$(JDK_UNDER_TEST) \
|
||||||
@@ -896,7 +899,7 @@ define SetupRunJtregTestBody
|
|||||||
done
|
done
|
||||||
endif
|
endif
|
||||||
|
|
||||||
run-test-$1: pre-run-test clean-workdir-$1
|
run-test-$1: pre-run-test clean-outputdirs-$1
|
||||||
$$(call LogWarn)
|
$$(call LogWarn)
|
||||||
$$(call LogWarn, Running test '$$($1_TEST)')
|
$$(call LogWarn, Running test '$$($1_TEST)')
|
||||||
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
|
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
|
||||||
@@ -933,9 +936,9 @@ define SetupRunJtregTestBody
|
|||||||
$$(eval $1_TOTAL := 1) \
|
$$(eval $1_TOTAL := 1) \
|
||||||
)
|
)
|
||||||
|
|
||||||
$1: run-test-$1 parse-test-$1 clean-workdir-$1
|
$1: run-test-$1 parse-test-$1 clean-outputdirs-$1
|
||||||
|
|
||||||
TARGETS += $1 run-test-$1 parse-test-$1 clean-workdir-$1
|
TARGETS += $1 run-test-$1 parse-test-$1 clean-outputdirs-$1
|
||||||
TEST_TARGETS += parse-test-$1
|
TEST_TARGETS += parse-test-$1
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|||||||
@@ -122,6 +122,7 @@ $(eval $(call SetupVariable,JT_HOME))
|
|||||||
$(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk))
|
$(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk))
|
||||||
$(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test))
|
$(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test))
|
||||||
$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols,NO_CHECK))
|
$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols,NO_CHECK))
|
||||||
|
$(eval $(call SetupVariable,JTREG_JDK,$(BOOT_JDK)))
|
||||||
|
|
||||||
# Provide default values for tools that we need
|
# Provide default values for tools that we need
|
||||||
$(eval $(call SetupVariable,MAKE,make,NO_CHECK))
|
$(eval $(call SetupVariable,MAKE,make,NO_CHECK))
|
||||||
@@ -157,6 +158,10 @@ ifeq ($(UNAME_OS), CYGWIN)
|
|||||||
OPENJDK_TARGET_OS := windows
|
OPENJDK_TARGET_OS := windows
|
||||||
OPENJDK_TARGET_OS_TYPE := windows
|
OPENJDK_TARGET_OS_TYPE := windows
|
||||||
OPENJDK_TARGET_OS_ENV := windows.cygwin
|
OPENJDK_TARGET_OS_ENV := windows.cygwin
|
||||||
|
else ifeq ($(UNAME_OS), MINGW64)
|
||||||
|
OPENJDK_TARGET_OS := windows
|
||||||
|
OPENJDK_TARGET_OS_TYPE := windows
|
||||||
|
OPENJDK_TARGET_OS_ENV := windows.msys2
|
||||||
else
|
else
|
||||||
OPENJDK_TARGET_OS_TYPE:=unix
|
OPENJDK_TARGET_OS_TYPE:=unix
|
||||||
ifeq ($(UNAME_OS), Linux)
|
ifeq ($(UNAME_OS), Linux)
|
||||||
@@ -169,6 +174,9 @@ else
|
|||||||
OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS)
|
OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Sanity check env detection
|
||||||
|
$(info Detected target OS, type and env: [$(OPENJDK_TARGET_OS)] [$(OPENJDK_TARGET_OS_TYPE)] [$(OPENJDK_TARGET_OS_ENV)])
|
||||||
|
|
||||||
# Assume little endian unless otherwise specified
|
# Assume little endian unless otherwise specified
|
||||||
OPENJDK_TARGET_CPU_ENDIAN := little
|
OPENJDK_TARGET_CPU_ENDIAN := little
|
||||||
|
|
||||||
@@ -248,6 +256,7 @@ $(call CreateNewSpec, $(NEW_SPEC), \
|
|||||||
TOPDIR := $(TOPDIR), \
|
TOPDIR := $(TOPDIR), \
|
||||||
OUTPUTDIR := $(OUTPUTDIR), \
|
OUTPUTDIR := $(OUTPUTDIR), \
|
||||||
BOOT_JDK := $(BOOT_JDK), \
|
BOOT_JDK := $(BOOT_JDK), \
|
||||||
|
JTREG_JDK := $(JTREG_JDK), \
|
||||||
JT_HOME := $(JT_HOME), \
|
JT_HOME := $(JT_HOME), \
|
||||||
JDK_IMAGE_DIR := $(JDK_IMAGE_DIR), \
|
JDK_IMAGE_DIR := $(JDK_IMAGE_DIR), \
|
||||||
JCOV_IMAGE_DIR := $(JCOV_IMAGE_DIR), \
|
JCOV_IMAGE_DIR := $(JCOV_IMAGE_DIR), \
|
||||||
|
|||||||
@@ -124,6 +124,8 @@ JAR := $(FIXPATH) $(JAR_CMD)
|
|||||||
JLINK := $(FIXPATH) $(JLINK_CMD)
|
JLINK := $(FIXPATH) $(JLINK_CMD)
|
||||||
JMOD := $(FIXPATH) $(JMOD_CMD)
|
JMOD := $(FIXPATH) $(JMOD_CMD)
|
||||||
|
|
||||||
|
JTREG_JAVA := $(FIXPATH) $(JTREG_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
|
||||||
|
|
||||||
BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA
|
BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA
|
||||||
################################################################################
|
################################################################################
|
||||||
# Some common tools. Assume most common name and no path.
|
# Some common tools. Assume most common name and no path.
|
||||||
|
|||||||
@@ -358,9 +358,9 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
|
|||||||
# WARNING: This might be a bad thing to do. You need to be sure you want to
|
# WARNING: This might be a bad thing to do. You need to be sure you want to
|
||||||
# have a configuration in this directory. Do some sanity checks!
|
# have a configuration in this directory. Do some sanity checks!
|
||||||
|
|
||||||
if test ! -e "$OUTPUTDIR/spec.gmk"; then
|
if test ! -e "$OUTPUTDIR/spec.gmk" && test ! -e "$OUTPUTDIR/configure-support/generated-configure.sh"; then
|
||||||
# If we have a spec.gmk, we have run here before and we are OK. Otherwise, check for
|
# If we have a spec.gmk or configure-support/generated-configure.sh,
|
||||||
# other files
|
# we have run here before and we are OK. Otherwise, check for other files
|
||||||
files_present=`$LS $OUTPUTDIR`
|
files_present=`$LS $OUTPUTDIR`
|
||||||
# Configure has already touched config.log and confdefs.h in the current dir when this check
|
# Configure has already touched config.log and confdefs.h in the current dir when this check
|
||||||
# is performed.
|
# is performed.
|
||||||
@@ -375,8 +375,9 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
|
|||||||
AC_MSG_NOTICE([Current directory is $CONFIGURE_START_DIR.])
|
AC_MSG_NOTICE([Current directory is $CONFIGURE_START_DIR.])
|
||||||
AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
|
AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
|
||||||
AC_MSG_NOTICE([(as opposed to creating a configuration in <src_root>/build/<conf-name>).])
|
AC_MSG_NOTICE([(as opposed to creating a configuration in <src_root>/build/<conf-name>).])
|
||||||
AC_MSG_NOTICE([However, this directory is not empty. This is not allowed, since it could])
|
AC_MSG_NOTICE([However, this directory is not empty, additionally to some allowed files])
|
||||||
AC_MSG_NOTICE([seriously mess up just about everything.])
|
AC_MSG_NOTICE([it contains $filtered_files.])
|
||||||
|
AC_MSG_NOTICE([This is not allowed, since it could seriously mess up just about everything.])
|
||||||
AC_MSG_NOTICE([Try 'cd $TOPDIR' and restart configure])
|
AC_MSG_NOTICE([Try 'cd $TOPDIR' and restart configure])
|
||||||
AC_MSG_NOTICE([(or create a new empty directory and cd to it).])
|
AC_MSG_NOTICE([(or create a new empty directory and cd to it).])
|
||||||
AC_MSG_ERROR([Will not continue creating configuration in $CONFIGURE_START_DIR])
|
AC_MSG_ERROR([Will not continue creating configuration in $CONFIGURE_START_DIR])
|
||||||
|
|||||||
10
make/autoconf/build-aux/config.sub
vendored
10
make/autoconf/build-aux/config.sub
vendored
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2014, 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
|
||||||
@@ -46,6 +46,13 @@ if echo $* | grep pc-msys >/dev/null ; then
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Canonicalize for riscv which autoconf-config.sub doesn't handle
|
||||||
|
if echo $* | grep '^riscv\(32\|64\)-linux' >/dev/null ; then
|
||||||
|
result=`echo $@ | sed 's/linux/unknown-linux/'`
|
||||||
|
echo $result
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
# Filter out everything that doesn't begin with "aarch64-"
|
# Filter out everything that doesn't begin with "aarch64-"
|
||||||
if ! echo $* | grep '^aarch64-' >/dev/null ; then
|
if ! echo $* | grep '^aarch64-' >/dev/null ; then
|
||||||
. $DIR/autoconf-config.sub "$@"
|
. $DIR/autoconf-config.sub "$@"
|
||||||
@@ -78,4 +85,3 @@ result=`echo $result | sed "s/^arm-/aarch64-/"`
|
|||||||
|
|
||||||
echo $result
|
echo $result
|
||||||
exit $exitcode
|
exit $exitcode
|
||||||
|
|
||||||
|
|||||||
@@ -191,18 +191,15 @@ TOOLCHAIN_POST_DETECTION
|
|||||||
TOOLCHAIN_SETUP_BUILD_COMPILERS
|
TOOLCHAIN_SETUP_BUILD_COMPILERS
|
||||||
TOOLCHAIN_MISC_CHECKS
|
TOOLCHAIN_MISC_CHECKS
|
||||||
|
|
||||||
# Setup the JTReg Regression Test Harness.
|
|
||||||
TOOLCHAIN_SETUP_JTREG
|
|
||||||
|
|
||||||
# Setup the Java Microbenchmark Harness (JMH)
|
|
||||||
LIB_TESTS_SETUP_JMH
|
|
||||||
|
|
||||||
# Setup Jib dependency tool
|
|
||||||
TOOLCHAIN_SETUP_JIB
|
|
||||||
|
|
||||||
# After toolchain setup, we need to process some flags to be able to continue.
|
# After toolchain setup, we need to process some flags to be able to continue.
|
||||||
FLAGS_POST_TOOLCHAIN
|
FLAGS_POST_TOOLCHAIN
|
||||||
|
|
||||||
|
# Setup the tools needed to test the JDK (JTReg Regression Test Harness,
|
||||||
|
# Java Microbenchmark Harness (JMH) and the Jib dependency tool).
|
||||||
|
LIB_TESTS_SETUP_JTREG
|
||||||
|
LIB_TESTS_SETUP_JMH
|
||||||
|
LIB_TESTS_SETUP_JIB
|
||||||
|
|
||||||
# Now we can test some aspects on the target using configure macros.
|
# Now we can test some aspects on the target using configure macros.
|
||||||
PLATFORM_SETUP_OPENJDK_TARGET_BITS
|
PLATFORM_SETUP_OPENJDK_TARGET_BITS
|
||||||
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
|
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
|
||||||
@@ -247,7 +244,8 @@ HOTSPOT_SETUP_MISC
|
|||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
|
LIB_TESTS_ENABLE_DISABLE_FAILURE_HANDLER
|
||||||
|
|
||||||
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
|
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
|
||||||
JDKOPT_EXCLUDE_TRANSLATIONS
|
JDKOPT_EXCLUDE_TRANSLATIONS
|
||||||
JDKOPT_ENABLE_DISABLE_MANPAGES
|
JDKOPT_ENABLE_DISABLE_MANPAGES
|
||||||
|
|||||||
@@ -171,6 +171,8 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
|||||||
if test "x$TOOLCHAIN_VERSION" = x2017; then
|
if test "x$TOOLCHAIN_VERSION" = x2017; then
|
||||||
# VS2017 incorrectly triggers this warning for constexpr
|
# VS2017 incorrectly triggers this warning for constexpr
|
||||||
DISABLED_WARNINGS+=" 4307"
|
DISABLED_WARNINGS+=" 4307"
|
||||||
|
# VS2017 incorrectly triggers this warning for static cast (test_atomic.cpp)
|
||||||
|
DISABLED_WARNINGS+=" 4309"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
|||||||
@@ -564,29 +564,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JLINK_OPTIONS],
|
|||||||
AC_SUBST(JLINK_KEEP_PACKAGED_MODULES)
|
AC_SUBST(JLINK_KEEP_PACKAGED_MODULES)
|
||||||
])
|
])
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Check if building of the jtreg failure handler should be enabled.
|
|
||||||
#
|
|
||||||
AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER],
|
|
||||||
[
|
|
||||||
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: auto,
|
|
||||||
RESULT: BUILD_FAILURE_HANDLER,
|
|
||||||
DESC: [enable keeping of packaged modules in jdk image],
|
|
||||||
DEFAULT_DESC: [enabled if jtreg is present],
|
|
||||||
CHECKING_MSG: [if the jtreg failure handler should be built],
|
|
||||||
CHECK_AVAILABLE: [
|
|
||||||
AC_MSG_CHECKING([if the jtreg failure handler is available])
|
|
||||||
if test "x$JT_HOME" != "x"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AVAILABLE=false
|
|
||||||
AC_MSG_RESULT([no (jtreg not present)])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
AC_SUBST(BUILD_FAILURE_HANDLER)
|
|
||||||
])
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Enable or disable generation of the classlist at build time
|
# Enable or disable generation of the classlist at build time
|
||||||
@@ -812,6 +789,9 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
|
|||||||
$RM "$CODESIGN_TESTFILE"
|
$RM "$CODESIGN_TESTFILE"
|
||||||
$TOUCH "$CODESIGN_TESTFILE"
|
$TOUCH "$CODESIGN_TESTFILE"
|
||||||
CODESIGN_SUCCESS=false
|
CODESIGN_SUCCESS=false
|
||||||
|
|
||||||
|
$ECHO "check codesign, calling $CODESIGN $PARAMS $CODESIGN_TESTFILE" >&AS_MESSAGE_LOG_FD
|
||||||
|
|
||||||
eval \"$CODESIGN\" $PARAMS \"$CODESIGN_TESTFILE\" 2>&AS_MESSAGE_LOG_FD \
|
eval \"$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"
|
||||||
|
|||||||
@@ -311,7 +311,8 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_SHENANDOAHGC],
|
|||||||
AC_MSG_CHECKING([if platform is supported by Shenandoah])
|
AC_MSG_CHECKING([if platform is supported by Shenandoah])
|
||||||
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || \
|
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || \
|
||||||
test "x$OPENJDK_TARGET_CPU" = "xaarch64" || \
|
test "x$OPENJDK_TARGET_CPU" = "xaarch64" || \
|
||||||
test "x$OPENJDK_TARGET_CPU" = "xppc64le"; then
|
test "x$OPENJDK_TARGET_CPU" = "xppc64le" || \
|
||||||
|
test "x$OPENJDK_TARGET_CPU" = "xriscv64"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
|
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
|
||||||
@@ -361,7 +362,8 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_ZGC],
|
|||||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
|
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
|
||||||
AVAILABLE=false
|
AVAILABLE=false
|
||||||
fi
|
fi
|
||||||
elif test "x$OPENJDK_TARGET_CPU" = "xppc64le"; then
|
elif test "x$OPENJDK_TARGET_CPU" = "xppc64le" || \
|
||||||
|
test "x$OPENJDK_TARGET_CPU" = "xriscv64"; then
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
|
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -166,7 +166,9 @@ AC_DEFUN_ONCE([LIB_SETUP_ZLIB],
|
|||||||
|
|
||||||
DEFAULT_ZLIB=system
|
DEFAULT_ZLIB=system
|
||||||
if test "x$OPENJDK_TARGET_OS" = xwindows -o "x$OPENJDK_TARGET_OS" = xaix; then
|
if test "x$OPENJDK_TARGET_OS" = xwindows -o "x$OPENJDK_TARGET_OS" = xaix; then
|
||||||
# On windows and aix default is bundled, on others default is system
|
# On windows and aix default is bundled
|
||||||
|
DEFAULT_ZLIB=bundled
|
||||||
|
elif test "x$OPENJDK_TARGET_OS" = xmacosx -a "x$OPENJDK_TARGET_CPU" = xaarch64; then
|
||||||
DEFAULT_ZLIB=bundled
|
DEFAULT_ZLIB=bundled
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
55
make/autoconf/lib-dbus.m4
Normal file
55
make/autoconf/lib-dbus.m4
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
# Copyright (c) 2024, 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Check if a potential dbus library match is correct and usable
|
||||||
|
################################################################################
|
||||||
|
AC_DEFUN_ONCE([LIB_SETUP_DBUS],
|
||||||
|
[
|
||||||
|
AC_ARG_WITH(dbus-includes, [AS_HELP_STRING([--with-dbus-includes],
|
||||||
|
[specify include directories for the dbus files as list separated by space])])
|
||||||
|
|
||||||
|
if test "x$NEEDS_LIB_DBUS" = xfalse; then
|
||||||
|
DBUS_CFLAGS=
|
||||||
|
DBUS_FOUND=false
|
||||||
|
else
|
||||||
|
if test "x${with_dbus_includes}" != x; then
|
||||||
|
DBUS_FOUND=true
|
||||||
|
DBUS_CFLAGS=""
|
||||||
|
for include in $with_dbus_includes; do
|
||||||
|
DBUS_CFLAGS="${DBUS_CFLAGS}-I${include} "
|
||||||
|
done
|
||||||
|
else
|
||||||
|
PKG_CHECK_MODULES(DBUS, dbus-1, [DBUS_FOUND=true], [
|
||||||
|
DBUS_FOUND=false
|
||||||
|
AC_MSG_NOTICE([Can't find dbus-1 library. This library is needed to use some features. You can install dbus-1 library or specify include directories manually by giving --with-dbus-includes option.])
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(DBUS_CFLAGS)
|
||||||
|
AC_SUBST(DBUS_FOUND)
|
||||||
|
])
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2018, 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
|
||||||
@@ -23,6 +23,13 @@
|
|||||||
# questions.
|
# questions.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Setup libraries and functionalities needed to test the JDK.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# Minimum supported version
|
||||||
|
JTREG_MINIMUM_VERSION=7.3.1
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
# Setup and check for gtest framework source files
|
# Setup and check for gtest framework source files
|
||||||
@@ -47,9 +54,25 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GTEST],
|
|||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
AC_MSG_ERROR([Can't find 'googlemock/include/gmock/gmock.h' under ${with_gtest} given with the --with-gtest option.])
|
AC_MSG_ERROR([Can't find 'googlemock/include/gmock/gmock.h' under ${with_gtest} given with the --with-gtest option.])
|
||||||
else
|
else
|
||||||
GTEST_FRAMEWORK_SRC=${with_gtest}
|
GTEST_FRAMEWORK_SRC=$with_gtest
|
||||||
AC_MSG_RESULT([$GTEST_FRAMEWORK_SRC])
|
AC_MSG_RESULT([$GTEST_FRAMEWORK_SRC])
|
||||||
UTIL_FIXUP_PATH([GTEST_FRAMEWORK_SRC])
|
UTIL_FIXUP_PATH([GTEST_FRAMEWORK_SRC])
|
||||||
|
|
||||||
|
# Try to verify version. We require 1.8.1, but this can not be directly
|
||||||
|
# determined. :-( Instead, there are different, incorrect version
|
||||||
|
# numbers we can look for.
|
||||||
|
GTEST_VERSION_1="`$GREP GOOGLETEST_VERSION $GTEST_FRAMEWORK_SRC/CMakeLists.txt | $SED -E -e 's/set\(GOOGLETEST_VERSION (.*)\)/\1/'`"
|
||||||
|
if test "x$GTEST_VERSION_1" != "x1.9.0"; then
|
||||||
|
AC_MSG_ERROR([gtest at $GTEST_FRAMEWORK_SRC does not seem to be version 1.8.1])
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We cannot grep for "AC_IN*T" as a literal since then m4 will treat it as a macro
|
||||||
|
# and expand it.
|
||||||
|
# Additional [] needed to keep m4 from mangling shell constructs.
|
||||||
|
[ GTEST_VERSION_2="`$GREP -A1 ^.C_INIT $GTEST_FRAMEWORK_SRC/configure.ac | $TAIL -n 1 | $SED -E -e 's/ +\[(.*)],/\1/'`" ]
|
||||||
|
if test "x$GTEST_VERSION_2" != "x1.8.0"; then
|
||||||
|
AC_MSG_ERROR([gtest at $GTEST_FRAMEWORK_SRC does not seem to be version 1.8.1 B])
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -118,3 +141,198 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_JMH],
|
|||||||
AC_SUBST(JMH_COMMONS_MATH_JAR)
|
AC_SUBST(JMH_COMMONS_MATH_JAR)
|
||||||
AC_SUBST(JMH_VERSION)
|
AC_SUBST(JMH_VERSION)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
# Setup the JTReg Regression Test Harness.
|
||||||
|
AC_DEFUN_ONCE([LIB_TESTS_SETUP_JTREG],
|
||||||
|
[
|
||||||
|
AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
|
||||||
|
[Regression Test Harness @<:@probed@:>@])])
|
||||||
|
|
||||||
|
if test "x$with_jtreg" = xno; then
|
||||||
|
# jtreg disabled
|
||||||
|
AC_MSG_CHECKING([for jtreg test harness])
|
||||||
|
AC_MSG_RESULT([no, disabled])
|
||||||
|
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
|
||||||
|
if test -d "$with_jtreg"; then
|
||||||
|
# An explicit path is specified, use it.
|
||||||
|
JT_HOME="$with_jtreg"
|
||||||
|
else
|
||||||
|
case "$with_jtreg" in
|
||||||
|
*.zip )
|
||||||
|
JTREG_SUPPORT_DIR=$CONFIGURESUPPORT_OUTPUTDIR/jtreg
|
||||||
|
$RM -rf $JTREG_SUPPORT_DIR
|
||||||
|
$MKDIR -p $JTREG_SUPPORT_DIR
|
||||||
|
$UNZIP -qq -d $JTREG_SUPPORT_DIR $with_jtreg
|
||||||
|
|
||||||
|
# Try to find jtreg to determine JT_HOME path
|
||||||
|
JTREG_PATH=`$FIND $JTREG_SUPPORT_DIR | $GREP "/bin/jtreg"`
|
||||||
|
if test "x$JTREG_PATH" != x; then
|
||||||
|
JT_HOME=$($DIRNAME $($DIRNAME $JTREG_PATH))
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
UTIL_FIXUP_PATH([JT_HOME])
|
||||||
|
if test ! -d "$JT_HOME"; then
|
||||||
|
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
|
||||||
|
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([for jtreg test harness])
|
||||||
|
AC_MSG_RESULT([$JT_HOME])
|
||||||
|
else
|
||||||
|
# Try to locate jtreg using the JT_HOME environment variable
|
||||||
|
if test "x$JT_HOME" != x; then
|
||||||
|
# JT_HOME set in environment, use it
|
||||||
|
if test ! -d "$JT_HOME"; then
|
||||||
|
AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
|
||||||
|
JT_HOME=
|
||||||
|
else
|
||||||
|
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
|
||||||
|
AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])
|
||||||
|
JT_HOME=
|
||||||
|
else
|
||||||
|
AC_MSG_NOTICE([Located jtreg using JT_HOME from environment])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x$JT_HOME" = x; then
|
||||||
|
# JT_HOME is not set in environment, or was deemed invalid.
|
||||||
|
# Try to find jtreg on path
|
||||||
|
UTIL_LOOKUP_PROGS(JTREGEXE, jtreg)
|
||||||
|
if test "x$JTREGEXE" != x; then
|
||||||
|
# That's good, now try to derive JT_HOME
|
||||||
|
JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
|
||||||
|
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
|
||||||
|
AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found])
|
||||||
|
JT_HOME=
|
||||||
|
else
|
||||||
|
AC_MSG_NOTICE([Located jtreg using jtreg executable in path])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([for jtreg test harness])
|
||||||
|
if test "x$JT_HOME" != x; then
|
||||||
|
AC_MSG_RESULT([$JT_HOME])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no, not found])
|
||||||
|
|
||||||
|
if test "x$with_jtreg" = xyes; then
|
||||||
|
AC_MSG_ERROR([--with-jtreg was specified, but no jtreg found.])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
UTIL_FIXUP_PATH(JT_HOME)
|
||||||
|
AC_SUBST(JT_HOME)
|
||||||
|
|
||||||
|
# Specify a JDK for running jtreg. Defaults to the BOOT_JDK.
|
||||||
|
AC_ARG_WITH(jtreg-jdk, [AS_HELP_STRING([--with-jdk],
|
||||||
|
[path to JDK for running jtreg @<:@BOOT_JDK@:>@])])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([for jtreg jdk])
|
||||||
|
if test "x${with_jtreg_jdk}" != x; then
|
||||||
|
if test "x${with_jtreg_jdk}" = xno; then
|
||||||
|
AC_MSG_RESULT([no, jtreg jdk not specified])
|
||||||
|
elif test "x${with_jtreg_jdk}" = xyes; then
|
||||||
|
AC_MSG_RESULT([not specified])
|
||||||
|
AC_MSG_ERROR([--with-jtreg-jdk needs a value])
|
||||||
|
else
|
||||||
|
JTREG_JDK="${with_jtreg_jdk}"
|
||||||
|
AC_MSG_RESULT([$JTREG_JDK])
|
||||||
|
UTIL_FIXUP_PATH(JTREG_JDK)
|
||||||
|
if test ! -f "$JTREG_JDK/bin/java"; then
|
||||||
|
AC_MSG_ERROR([Could not find jtreg java at $JTREG_JDK/bin/java])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
JTREG_JDK="${BOOT_JDK}"
|
||||||
|
AC_MSG_RESULT([no, using BOOT_JDK])
|
||||||
|
fi
|
||||||
|
|
||||||
|
UTIL_FIXUP_PATH(JTREG_JDK)
|
||||||
|
AC_SUBST([JTREG_JDK])
|
||||||
|
# For use in the configure script
|
||||||
|
JTREG_JAVA="$FIXPATH $JTREG_JDK/bin/java"
|
||||||
|
|
||||||
|
# Verify jtreg version
|
||||||
|
if test "x$JT_HOME" != x; then
|
||||||
|
AC_MSG_CHECKING([jtreg jar existence])
|
||||||
|
if test ! -f "$JT_HOME/lib/jtreg.jar"; then
|
||||||
|
AC_MSG_ERROR([Could not find jtreg jar at $JT_HOME/lib/jtreg.jar])
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([jtreg version number])
|
||||||
|
# jtreg -version looks like this: "jtreg 6.1+1-19"
|
||||||
|
# Extract actual version part ("6.1" in this case)
|
||||||
|
jtreg_version_full=$($JTREG_JAVA -jar $JT_HOME/lib/jtreg.jar -version | $HEAD -n 1 | $CUT -d ' ' -f 2)
|
||||||
|
|
||||||
|
jtreg_version=${jtreg_version_full/%+*}
|
||||||
|
AC_MSG_RESULT([$jtreg_version])
|
||||||
|
|
||||||
|
# This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION
|
||||||
|
comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$jtreg_version"`
|
||||||
|
comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$JTREG_MINIMUM_VERSION"`
|
||||||
|
if test $comparable_actual_version -lt $comparable_minimum_version ; then
|
||||||
|
AC_MSG_ERROR([jtreg version is too old, at least version $JTREG_MINIMUM_VERSION is required])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
# Setup the JIB dependency resolver
|
||||||
|
AC_DEFUN_ONCE([LIB_TESTS_SETUP_JIB],
|
||||||
|
[
|
||||||
|
AC_ARG_WITH(jib, [AS_HELP_STRING([--with-jib],
|
||||||
|
[Jib dependency management tool @<:@not used@:>@])])
|
||||||
|
|
||||||
|
if test "x$with_jib" = xno || test "x$with_jib" = x; then
|
||||||
|
# jib disabled
|
||||||
|
AC_MSG_CHECKING([for jib])
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
elif test "x$with_jib" = xyes; then
|
||||||
|
AC_MSG_ERROR([Must supply a value to --with-jib])
|
||||||
|
else
|
||||||
|
JIB_HOME="${with_jib}"
|
||||||
|
AC_MSG_CHECKING([for jib])
|
||||||
|
AC_MSG_RESULT(${JIB_HOME})
|
||||||
|
if test ! -d "${JIB_HOME}"; then
|
||||||
|
AC_MSG_ERROR([--with-jib must be a directory])
|
||||||
|
fi
|
||||||
|
JIB_JAR=$(ls ${JIB_HOME}/lib/jib-*.jar)
|
||||||
|
if test ! -f "${JIB_JAR}"; then
|
||||||
|
AC_MSG_ERROR([Could not find jib jar file in ${JIB_HOME}])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_SUBST(JIB_HOME)
|
||||||
|
])
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# Check if building of the jtreg failure handler should be enabled.
|
||||||
|
#
|
||||||
|
AC_DEFUN_ONCE([LIB_TESTS_ENABLE_DISABLE_FAILURE_HANDLER],
|
||||||
|
[
|
||||||
|
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: auto,
|
||||||
|
RESULT: BUILD_FAILURE_HANDLER,
|
||||||
|
DESC: [enable building of the jtreg failure handler],
|
||||||
|
DEFAULT_DESC: [enabled if jtreg is present],
|
||||||
|
CHECKING_MSG: [if the jtreg failure handler should be built],
|
||||||
|
CHECK_AVAILABLE: [
|
||||||
|
AC_MSG_CHECKING([if the jtreg failure handler is available])
|
||||||
|
if test "x$JT_HOME" != "x"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
else
|
||||||
|
AVAILABLE=false
|
||||||
|
AC_MSG_RESULT([no (jtreg not present)])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
AC_SUBST(BUILD_FAILURE_HANDLER)
|
||||||
|
])
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2023, 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
|
||||||
@@ -35,6 +35,7 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
|
|||||||
X_CFLAGS=
|
X_CFLAGS=
|
||||||
X_LIBS=
|
X_LIBS=
|
||||||
else
|
else
|
||||||
|
x_libraries_orig="$x_libraries"
|
||||||
|
|
||||||
if test "x${with_x}" = xno; then
|
if test "x${with_x}" = xno; then
|
||||||
AC_MSG_ERROR([It is not possible to disable the use of X11. Remove the --without-x option.])
|
AC_MSG_ERROR([It is not possible to disable the use of X11. Remove the --without-x option.])
|
||||||
@@ -48,6 +49,7 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
|
|||||||
fi
|
fi
|
||||||
if test "x$x_libraries" = xNONE; then
|
if test "x$x_libraries" = xNONE; then
|
||||||
x_libraries="${with_x}/lib"
|
x_libraries="${with_x}/lib"
|
||||||
|
x_libraries_orig="$x_libraries"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# Check if the user has specified sysroot, but not --with-x, --x-includes or --x-libraries.
|
# Check if the user has specified sysroot, but not --with-x, --x-includes or --x-libraries.
|
||||||
@@ -82,8 +84,8 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
|
|||||||
AC_PATH_XTRA
|
AC_PATH_XTRA
|
||||||
|
|
||||||
# AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
|
# AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
|
||||||
# this doesn't make sense so we remove it.
|
# this doesn't make sense so we remove it; same for sysroot (devkit).
|
||||||
if test "x$COMPILE_TYPE" = xcross; then
|
if test "x$COMPILE_TYPE" = xcross || (test "x$SYSROOT" != "x" && test "x$x_libraries_orig" = xNONE); then
|
||||||
X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[[^ ]]*//g'`
|
X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[[^ ]]*//g'`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2021, 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
|
||||||
@@ -34,6 +34,7 @@ m4_include([lib-x11.m4])
|
|||||||
m4_include([lib-fontconfig.m4])
|
m4_include([lib-fontconfig.m4])
|
||||||
m4_include([lib-speechd.m4])
|
m4_include([lib-speechd.m4])
|
||||||
m4_include([lib-nvdacontrollerclient.m4])
|
m4_include([lib-nvdacontrollerclient.m4])
|
||||||
|
m4_include([lib-dbus.m4])
|
||||||
m4_include([lib-tests.m4])
|
m4_include([lib-tests.m4])
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -79,11 +80,13 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
|
|||||||
NEEDS_LIB_FREETYPE=true
|
NEEDS_LIB_FREETYPE=true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if alsa is needed
|
# Check if alsa and dbus is needed
|
||||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||||
NEEDS_LIB_ALSA=true
|
NEEDS_LIB_ALSA=true
|
||||||
|
NEEDS_LIB_DBUS=true
|
||||||
else
|
else
|
||||||
NEEDS_LIB_ALSA=false
|
NEEDS_LIB_ALSA=false
|
||||||
|
NEEDS_LIB_DBUS=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if ffi is needed
|
# Check if ffi is needed
|
||||||
@@ -117,6 +120,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
|||||||
LIB_SETUP_MISC_LIBS
|
LIB_SETUP_MISC_LIBS
|
||||||
LIB_SETUP_SPEECHD
|
LIB_SETUP_SPEECHD
|
||||||
LIB_SETUP_NVDACONTROLLERCLIENT
|
LIB_SETUP_NVDACONTROLLERCLIENT
|
||||||
|
LIB_SETUP_DBUS
|
||||||
LIB_TESTS_SETUP_GTEST
|
LIB_TESTS_SETUP_GTEST
|
||||||
|
|
||||||
BASIC_JDKLIB_LIBS=""
|
BASIC_JDKLIB_LIBS=""
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2021, 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
|
||||||
@@ -561,6 +561,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
|
|||||||
HOTSPOT_$1_CPU_DEFINE=PPC64
|
HOTSPOT_$1_CPU_DEFINE=PPC64
|
||||||
elif test "x$OPENJDK_$1_CPU" = xppc64le; then
|
elif test "x$OPENJDK_$1_CPU" = xppc64le; then
|
||||||
HOTSPOT_$1_CPU_DEFINE=PPC64
|
HOTSPOT_$1_CPU_DEFINE=PPC64
|
||||||
|
elif test "x$OPENJDK_$1_CPU" = xriscv64; then
|
||||||
|
HOTSPOT_$1_CPU_DEFINE=RISCV64
|
||||||
|
|
||||||
# The cpu defines below are for zero, we don't support them directly.
|
# The cpu defines below are for zero, we don't support them directly.
|
||||||
elif test "x$OPENJDK_$1_CPU" = xsparc; then
|
elif test "x$OPENJDK_$1_CPU" = xsparc; then
|
||||||
@@ -571,8 +573,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
|
|||||||
HOTSPOT_$1_CPU_DEFINE=S390
|
HOTSPOT_$1_CPU_DEFINE=S390
|
||||||
elif test "x$OPENJDK_$1_CPU" = xs390x; then
|
elif test "x$OPENJDK_$1_CPU" = xs390x; then
|
||||||
HOTSPOT_$1_CPU_DEFINE=S390
|
HOTSPOT_$1_CPU_DEFINE=S390
|
||||||
elif test "x$OPENJDK_$1_CPU" = xriscv64; then
|
elif test "x$OPENJDK_$1_CPU" = xloongarch64; then
|
||||||
HOTSPOT_$1_CPU_DEFINE=RISCV
|
HOTSPOT_$1_CPU_DEFINE=LOONGARCH64
|
||||||
elif test "x$OPENJDK_$1_CPU" != x; then
|
elif test "x$OPENJDK_$1_CPU" != x; then
|
||||||
HOTSPOT_$1_CPU_DEFINE=$(echo $OPENJDK_$1_CPU | tr a-z A-Z)
|
HOTSPOT_$1_CPU_DEFINE=$(echo $OPENJDK_$1_CPU | tr a-z A-Z)
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -447,6 +447,10 @@ endif
|
|||||||
X_CFLAGS:=@X_CFLAGS@
|
X_CFLAGS:=@X_CFLAGS@
|
||||||
X_LIBS:=@X_LIBS@
|
X_LIBS:=@X_LIBS@
|
||||||
|
|
||||||
|
# Necessary additional compiler flags to compile dbus
|
||||||
|
DBUS_CFLAGS := @DBUS_CFLAGS@
|
||||||
|
DBUS_FOUND := @DBUS_FOUND@
|
||||||
|
|
||||||
# Linux speechd a11y announcer
|
# Linux speechd a11y announcer
|
||||||
A11Y_SPEECHD_ANNOUNCING_ENABLED:=@A11Y_SPEECHD_ANNOUNCING_ENABLED@
|
A11Y_SPEECHD_ANNOUNCING_ENABLED:=@A11Y_SPEECHD_ANNOUNCING_ENABLED@
|
||||||
SPEECHD_CFLAGS:=@SPEECHD_CFLAGS@
|
SPEECHD_CFLAGS:=@SPEECHD_CFLAGS@
|
||||||
@@ -676,6 +680,9 @@ JAR = $(JAR_CMD)
|
|||||||
JLINK = $(JLINK_CMD)
|
JLINK = $(JLINK_CMD)
|
||||||
JMOD = $(JMOD_CMD) $(JAVA_TOOL_FLAGS_SMALL)
|
JMOD = $(JMOD_CMD) $(JAVA_TOOL_FLAGS_SMALL)
|
||||||
|
|
||||||
|
JTREG_JDK := @JTREG_JDK@
|
||||||
|
JTREG_JAVA = @FIXPATH@ $(JTREG_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
|
||||||
|
|
||||||
BUILD_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
|
BUILD_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
|
||||||
BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
|
BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
|
||||||
BUILD_JAVAC=@FIXPATH@ $(BUILD_JDK)/bin/javac
|
BUILD_JAVAC=@FIXPATH@ $(BUILD_JDK)/bin/javac
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2024, 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
|
||||||
@@ -369,6 +369,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
|
|||||||
# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
|
# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
|
||||||
CFLAGS="$ORG_CFLAGS"
|
CFLAGS="$ORG_CFLAGS"
|
||||||
CXXFLAGS="$ORG_CXXFLAGS"
|
CXXFLAGS="$ORG_CXXFLAGS"
|
||||||
|
|
||||||
|
# filter out some unwanted additions autoconf may add to CXX; we saw this on macOS with autoconf 2.72
|
||||||
|
UTIL_GET_NON_MATCHING_VALUES(cxx_filtered, $CXX, -std=c++11 -std=gnu++11)
|
||||||
|
CXX="$cxx_filtered"
|
||||||
])
|
])
|
||||||
|
|
||||||
# Check if a compiler is of the toolchain type we expect, and save the version
|
# Check if a compiler is of the toolchain type we expect, and save the version
|
||||||
@@ -991,123 +995,3 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
|
|||||||
fi
|
fi
|
||||||
AC_SUBST(HOTSPOT_TOOLCHAIN_TYPE)
|
AC_SUBST(HOTSPOT_TOOLCHAIN_TYPE)
|
||||||
])
|
])
|
||||||
|
|
||||||
# Setup the JTReg Regression Test Harness.
|
|
||||||
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
|
|
||||||
[
|
|
||||||
AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
|
|
||||||
[Regression Test Harness @<:@probed@:>@])])
|
|
||||||
|
|
||||||
if test "x$with_jtreg" = xno; then
|
|
||||||
# jtreg disabled
|
|
||||||
AC_MSG_CHECKING([for jtreg test harness])
|
|
||||||
AC_MSG_RESULT([no, disabled])
|
|
||||||
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
|
|
||||||
if test -d "$with_jtreg"; then
|
|
||||||
# An explicit path is specified, use it.
|
|
||||||
JT_HOME="$with_jtreg"
|
|
||||||
else
|
|
||||||
case "$with_jtreg" in
|
|
||||||
*.zip )
|
|
||||||
JTREG_SUPPORT_DIR=$CONFIGURESUPPORT_OUTPUTDIR/jtreg
|
|
||||||
$RM -rf $JTREG_SUPPORT_DIR
|
|
||||||
$MKDIR -p $JTREG_SUPPORT_DIR
|
|
||||||
$UNZIP -qq -d $JTREG_SUPPORT_DIR $with_jtreg
|
|
||||||
|
|
||||||
# Try to find jtreg to determine JT_HOME path
|
|
||||||
JTREG_PATH=`$FIND $JTREG_SUPPORT_DIR | $GREP "/bin/jtreg"`
|
|
||||||
if test "x$JTREG_PATH" != x; then
|
|
||||||
JT_HOME=$($DIRNAME $($DIRNAME $JTREG_PATH))
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
* )
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
UTIL_FIXUP_PATH([JT_HOME])
|
|
||||||
if test ! -d "$JT_HOME"; then
|
|
||||||
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
|
|
||||||
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for jtreg test harness])
|
|
||||||
AC_MSG_RESULT([$JT_HOME])
|
|
||||||
else
|
|
||||||
# Try to locate jtreg using the JT_HOME environment variable
|
|
||||||
if test "x$JT_HOME" != x; then
|
|
||||||
# JT_HOME set in environment, use it
|
|
||||||
if test ! -d "$JT_HOME"; then
|
|
||||||
AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
|
|
||||||
JT_HOME=
|
|
||||||
else
|
|
||||||
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
|
|
||||||
AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])
|
|
||||||
JT_HOME=
|
|
||||||
else
|
|
||||||
AC_MSG_NOTICE([Located jtreg using JT_HOME from environment])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$JT_HOME" = x; then
|
|
||||||
# JT_HOME is not set in environment, or was deemed invalid.
|
|
||||||
# Try to find jtreg on path
|
|
||||||
UTIL_LOOKUP_PROGS(JTREGEXE, jtreg)
|
|
||||||
if test "x$JTREGEXE" != x; then
|
|
||||||
# That's good, now try to derive JT_HOME
|
|
||||||
JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
|
|
||||||
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
|
|
||||||
AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found])
|
|
||||||
JT_HOME=
|
|
||||||
else
|
|
||||||
AC_MSG_NOTICE([Located jtreg using jtreg executable in path])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for jtreg test harness])
|
|
||||||
if test "x$JT_HOME" != x; then
|
|
||||||
AC_MSG_RESULT([$JT_HOME])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no, not found])
|
|
||||||
|
|
||||||
if test "x$with_jtreg" = xyes; then
|
|
||||||
AC_MSG_ERROR([--with-jtreg was specified, but no jtreg found.])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
UTIL_FIXUP_PATH(JT_HOME)
|
|
||||||
AC_SUBST(JT_HOME)
|
|
||||||
])
|
|
||||||
|
|
||||||
# Setup the JIB dependency resolver
|
|
||||||
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JIB],
|
|
||||||
[
|
|
||||||
AC_ARG_WITH(jib, [AS_HELP_STRING([--with-jib],
|
|
||||||
[Jib dependency management tool @<:@not used@:>@])])
|
|
||||||
|
|
||||||
if test "x$with_jib" = xno || test "x$with_jib" = x; then
|
|
||||||
# jib disabled
|
|
||||||
AC_MSG_CHECKING([for jib])
|
|
||||||
AC_MSG_RESULT(no)
|
|
||||||
elif test "x$with_jib" = xyes; then
|
|
||||||
AC_MSG_ERROR([Must supply a value to --with-jib])
|
|
||||||
else
|
|
||||||
JIB_HOME="${with_jib}"
|
|
||||||
AC_MSG_CHECKING([for jib])
|
|
||||||
AC_MSG_RESULT(${JIB_HOME})
|
|
||||||
if test ! -d "${JIB_HOME}"; then
|
|
||||||
AC_MSG_ERROR([--with-jib must be a directory])
|
|
||||||
fi
|
|
||||||
JIB_JAR=$(ls ${JIB_HOME}/lib/jib-*.jar)
|
|
||||||
if test ! -f "${JIB_JAR}"; then
|
|
||||||
AC_MSG_ERROR([Could not find jib jar file in ${JIB_HOME}])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(JIB_HOME)
|
|
||||||
])
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2024, 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
|
||||||
@@ -199,7 +199,7 @@ AC_DEFUN([UTIL_GET_NON_MATCHING_VALUES],
|
|||||||
if test -z "$legal_values"; then
|
if test -z "$legal_values"; then
|
||||||
$1="$2"
|
$1="$2"
|
||||||
else
|
else
|
||||||
result=`$GREP -Fvx "$legal_values" <<< "$values_to_check" | $GREP -v '^$'`
|
result=`$GREP -Fvx -- "$legal_values" <<< "$values_to_check" | $GREP -v '^$'`
|
||||||
$1=${result//$'\n'/ }
|
$1=${result//$'\n'/ }
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
@@ -226,7 +226,7 @@ AC_DEFUN([UTIL_GET_MATCHING_VALUES],
|
|||||||
if test -z "$illegal_values"; then
|
if test -z "$illegal_values"; then
|
||||||
$1=""
|
$1=""
|
||||||
else
|
else
|
||||||
result=`$GREP -Fx "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'`
|
result=`$GREP -Fx -- "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'`
|
||||||
$1=${result//$'\n'/ }
|
$1=${result//$'\n'/ }
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -168,6 +168,7 @@ endef
|
|||||||
# CREATE_API_DIGEST:=Set to true to use a javac plugin to generate a public API
|
# CREATE_API_DIGEST:=Set to true to use a javac plugin to generate a public API
|
||||||
# hash which can be used for down stream dependencies to only rebuild
|
# hash which can be used for down stream dependencies to only rebuild
|
||||||
# when the API changes.
|
# when the API changes.
|
||||||
|
# PROCESS_JBR_API:=Set to true to use an annotation processor to generate JBR API bindings.
|
||||||
# KEEP_ALL_TRANSLATIONS:=Set to true to skip translation filtering
|
# KEEP_ALL_TRANSLATIONS:=Set to true to skip translation filtering
|
||||||
SetupJavaCompilation = $(NamedParamsMacroTemplate)
|
SetupJavaCompilation = $(NamedParamsMacroTemplate)
|
||||||
define SetupJavaCompilationBody
|
define SetupJavaCompilationBody
|
||||||
@@ -435,11 +436,20 @@ define SetupJavaCompilationBody
|
|||||||
|
|
||||||
ifeq ($$($1_CREATE_API_DIGEST), true)
|
ifeq ($$($1_CREATE_API_DIGEST), true)
|
||||||
$1_API_DIGEST_FLAGS := \
|
$1_API_DIGEST_FLAGS := \
|
||||||
-classpath $$(BUILDTOOLS_OUTPUTDIR)/depend \
|
|
||||||
-Xplugin:"depend $$($1_API_TARGET)" \
|
-Xplugin:"depend $$($1_API_TARGET)" \
|
||||||
#
|
#
|
||||||
|
|
||||||
$1_EXTRA_DEPS := $$(BUILDTOOLS_OUTPUTDIR)/depend/_the.COMPILE_DEPEND_batch
|
$1_EXTRA_DEPS := $$($1_EXTRA_DEPS) $$(BUILDTOOLS_OUTPUTDIR)/plugins/_the.COMPILE_DEPEND_batch
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($$($1_PROCESS_JBR_API), true)
|
||||||
|
# Automatic path conversion doesn't work for two arguments, so call fixpath manually
|
||||||
|
$1_JBR_API_FLAGS := -Xplugin:"jbr-api $$(call FixPath, $$($1_BIN)/java.base/META-INF/jbrapi.registry) $$(call FixPath, $(TOPDIR)/jb/jbr-api.version)"
|
||||||
|
$1_EXTRA_DEPS := $$($1_EXTRA_DEPS) $$(BUILDTOOLS_OUTPUTDIR)/plugins/_the.COMPILE_JBR_API_PLUGIN_batch
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($$(call Or, $$($1_CREATE_API_DIGEST) $$($1_PROCESS_JBR_API)), true)
|
||||||
|
$1_PROCESSORPATH := -processorpath $$(BUILDTOOLS_OUTPUTDIR)/plugins
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Create a file with all sources, to pass to javac in an @file.
|
# Create a file with all sources, to pass to javac in an @file.
|
||||||
@@ -456,7 +466,7 @@ define SetupJavaCompilationBody
|
|||||||
$$(call MakeDir, $$(@D))
|
$$(call MakeDir, $$(@D))
|
||||||
$$(call ExecuteWithLog, $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$$($1_SAFE_NAME)_batch, \
|
$$(call ExecuteWithLog, $$($1_BIN)$$($1_MODULE_SUBDIR)/_the.$$($1_SAFE_NAME)_batch, \
|
||||||
$$($1_JAVAC_CMD) $$($1_FLAGS) \
|
$$($1_JAVAC_CMD) $$($1_FLAGS) \
|
||||||
$$($1_API_DIGEST_FLAGS) \
|
$$($1_PROCESSORPATH) $$($1_API_DIGEST_FLAGS) $$($1_JBR_API_FLAGS) \
|
||||||
-d $$($1_BIN) $$($1_HEADERS_ARG) @$$($1_FILELIST)) && \
|
-d $$($1_BIN) $$($1_HEADERS_ARG) @$$($1_FILELIST)) && \
|
||||||
$(TOUCH) $$@
|
$(TOUCH) $$@
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
# 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=7.3.1+1
|
||||||
|
|
||||||
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.6%2B10/OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz
|
||||||
|
|||||||
@@ -457,7 +457,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
|||||||
target_os: "macosx",
|
target_os: "macosx",
|
||||||
target_cpu: "aarch64",
|
target_cpu: "aarch64",
|
||||||
dependencies: ["devkit", "gtest"],
|
dependencies: ["devkit", "gtest"],
|
||||||
configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
|
configure_args: concat(common.configure_args_64bit,
|
||||||
"--with-macosx-version-max=11.00.00"),
|
"--with-macosx-version-max=11.00.00"),
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -917,10 +917,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
|||||||
target_os: input.build_os,
|
target_os: input.build_os,
|
||||||
target_cpu: input.build_cpu,
|
target_cpu: input.build_cpu,
|
||||||
dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ],
|
dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ],
|
||||||
labels: "test",
|
labels: "test"
|
||||||
environment: {
|
|
||||||
"JT_JAVA": common.boot_jdk_home
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
profiles = concatObjects(profiles, testOnlyProfiles);
|
profiles = concatObjects(profiles, testOnlyProfiles);
|
||||||
@@ -1156,9 +1153,9 @@ var getJibProfilesDependencies = function (input, common) {
|
|||||||
jtreg: {
|
jtreg: {
|
||||||
server: "jpg",
|
server: "jpg",
|
||||||
product: "jtreg",
|
product: "jtreg",
|
||||||
version: "6",
|
version: "7.3.1",
|
||||||
build_number: "1",
|
build_number: "1",
|
||||||
file: "bundles/jtreg-6+1.zip",
|
file: "bundles/jtreg-7.3.1+1.zip",
|
||||||
environment_name: "JT_HOME",
|
environment_name: "JT_HOME",
|
||||||
environment_path: input.get("jtreg", "home_path") + "/bin",
|
environment_path: input.get("jtreg", "home_path") + "/bin",
|
||||||
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),
|
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),
|
||||||
@@ -1167,7 +1164,7 @@ var getJibProfilesDependencies = function (input, common) {
|
|||||||
jmh: {
|
jmh: {
|
||||||
organization: common.organization,
|
organization: common.organization,
|
||||||
ext: "tar.gz",
|
ext: "tar.gz",
|
||||||
revision: "1.28+1.0"
|
revision: "1.35+1.0"
|
||||||
},
|
},
|
||||||
|
|
||||||
jcov: {
|
jcov: {
|
||||||
@@ -1477,7 +1474,7 @@ var getVersionNumbers = function () {
|
|||||||
var isWsl = function (input) {
|
var isWsl = function (input) {
|
||||||
return ( input.build_osenv == "wsl"
|
return ( input.build_osenv == "wsl"
|
||||||
|| (input.build_os == "linux"
|
|| (input.build_os == "linux"
|
||||||
&& java.lang.System.getProperty("os.version").contains("Microsoft")));
|
&& java.lang.System.getProperty("os.version").toLowerCase().contains("microsoft")));
|
||||||
}
|
}
|
||||||
|
|
||||||
var error = function (s) {
|
var error = function (s) {
|
||||||
|
|||||||
@@ -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=11
|
||||||
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=2024-04-16
|
||||||
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
|
||||||
|
|||||||
20
make/data/cacerts/certainlyroote1
Normal file
20
make/data/cacerts/certainlyroote1
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
Owner: CN=Certainly Root E1, O=Certainly, C=US
|
||||||
|
Issuer: CN=Certainly Root E1, O=Certainly, C=US
|
||||||
|
Serial number: 62533b1470333275cf98d9ab9bfccf8
|
||||||
|
Valid from: Thu Apr 01 00:00:00 GMT 2021 until: Sun Apr 01 00:00:00 GMT 2046
|
||||||
|
Signature algorithm name: SHA384withECDSA
|
||||||
|
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw
|
||||||
|
CQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu
|
||||||
|
bHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ
|
||||||
|
BgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s
|
||||||
|
eSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK
|
||||||
|
+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2
|
||||||
|
QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E
|
||||||
|
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4
|
||||||
|
hevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm
|
||||||
|
ut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG
|
||||||
|
BtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR
|
||||||
|
-----END CERTIFICATE-----
|
||||||
38
make/data/cacerts/certainlyrootr1
Normal file
38
make/data/cacerts/certainlyrootr1
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
Owner: CN=Certainly Root R1, O=Certainly, C=US
|
||||||
|
Issuer: CN=Certainly Root R1, O=Certainly, C=US
|
||||||
|
Serial number: 8e0ff94b907168653354f4d44439b7e0
|
||||||
|
Valid from: Thu Apr 01 00:00:00 GMT 2021 until: Sun Apr 01 00:00:00 GMT 2046
|
||||||
|
Signature algorithm name: SHA256withRSA
|
||||||
|
Subject Public Key Algorithm: 4096-bit RSA key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw
|
||||||
|
PTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy
|
||||||
|
dGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9
|
||||||
|
MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0
|
||||||
|
YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2
|
||||||
|
1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT
|
||||||
|
vqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed
|
||||||
|
aFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0
|
||||||
|
1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5
|
||||||
|
r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5
|
||||||
|
cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ
|
||||||
|
wHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ
|
||||||
|
6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA
|
||||||
|
2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH
|
||||||
|
Wyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR
|
||||||
|
eiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB
|
||||||
|
/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u
|
||||||
|
d0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr
|
||||||
|
PbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d
|
||||||
|
8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi
|
||||||
|
1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd
|
||||||
|
rRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di
|
||||||
|
taY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7
|
||||||
|
lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj
|
||||||
|
yTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn
|
||||||
|
Kx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy
|
||||||
|
yCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n
|
||||||
|
wXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6
|
||||||
|
OV+KmalBWQewLK8=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
43
make/data/cacerts/certignarootca
Normal file
43
make/data/cacerts/certignarootca
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
Owner: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR
|
||||||
|
Issuer: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR
|
||||||
|
Serial number: cae91b89f155030da3e6416dc4e3a6e1
|
||||||
|
Valid from: Tue Oct 01 08:32:27 GMT 2013 until: Sat Oct 01 08:32:27 GMT 2033
|
||||||
|
Signature algorithm name: SHA256withRSA
|
||||||
|
Subject Public Key Algorithm: 4096-bit RSA key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw
|
||||||
|
WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw
|
||||||
|
MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x
|
||||||
|
MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD
|
||||||
|
VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX
|
||||||
|
BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
|
||||||
|
ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO
|
||||||
|
ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M
|
||||||
|
CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu
|
||||||
|
I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm
|
||||||
|
TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh
|
||||||
|
C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf
|
||||||
|
ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz
|
||||||
|
IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT
|
||||||
|
Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k
|
||||||
|
JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5
|
||||||
|
hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB
|
||||||
|
GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
|
||||||
|
FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of
|
||||||
|
1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov
|
||||||
|
L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo
|
||||||
|
dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr
|
||||||
|
aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq
|
||||||
|
hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L
|
||||||
|
6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG
|
||||||
|
HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6
|
||||||
|
0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB
|
||||||
|
lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi
|
||||||
|
o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1
|
||||||
|
gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v
|
||||||
|
faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63
|
||||||
|
Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh
|
||||||
|
jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw
|
||||||
|
3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
21
make/data/cacerts/digicertcseccrootg5
Normal file
21
make/data/cacerts/digicertcseccrootg5
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
Owner: CN=DigiCert CS ECC P384 Root G5, O="DigiCert, Inc.", C=US
|
||||||
|
Issuer: CN=DigiCert CS ECC P384 Root G5, O="DigiCert, Inc.", C=US
|
||||||
|
Serial number: 3698fe712d519f3ced0fdb7b1643011
|
||||||
|
Valid from: Fri Jan 15 00:00:00 GMT 2021 until: Sun Jan 14 23:59:59 GMT 2046
|
||||||
|
Signature algorithm name: SHA384withECDSA
|
||||||
|
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICFjCCAZ2gAwIBAgIQA2mP5xLVGfPO0P23sWQwETAKBggqhkjOPQQDAzBNMQsw
|
||||||
|
CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMTHERp
|
||||||
|
Z2lDZXJ0IENTIEVDQyBQMzg0IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcNNDYw
|
||||||
|
MTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIElu
|
||||||
|
Yy4xJTAjBgNVBAMTHERpZ2lDZXJ0IENTIEVDQyBQMzg0IFJvb3QgRzUwdjAQBgcq
|
||||||
|
hkjOPQIBBgUrgQQAIgNiAAR/FK2Ftpf9AiE1TWDoOJOTmz0FEG2v0/7v+rv7c5nz
|
||||||
|
7DISjcdouIveiaKIVHeNuyF+M5VWlgno1YyhBLibbhkAYuhCKKZYN4QZVSZ7Mzdn
|
||||||
|
8ppyraGurgBCPBx+uHqeIZyjQjBAMB0GA1UdDgQWBBTwjJhxOThlwjobphdmHcjt
|
||||||
|
Zd6SNjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQD
|
||||||
|
AwNnADBkAjAjb+EAGSZQ5EYgZYs3p8/rBuHMMskqoewyDXOiHgIcNWEqTmmrOXft
|
||||||
|
l4jAfWvqid0CMEPx0VijdT6Gm7ZVEYsX9z3+CmnFf07GdRtalMvqERHGCCKI3tB6
|
||||||
|
oqV56OMhp80Tsw==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
38
make/data/cacerts/digicertcsrsarootg5
Normal file
38
make/data/cacerts/digicertcsrsarootg5
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
Owner: CN=DigiCert CS RSA4096 Root G5, O="DigiCert, Inc.", C=US
|
||||||
|
Issuer: CN=DigiCert CS RSA4096 Root G5, O="DigiCert, Inc.", C=US
|
||||||
|
Serial number: 6cee131be6d55c807f7c0c7fb44e620
|
||||||
|
Valid from: Fri Jan 15 00:00:00 GMT 2021 until: Sun Jan 14 23:59:59 GMT 2046
|
||||||
|
Signature algorithm name: SHA384withRSA
|
||||||
|
Subject Public Key Algorithm: 4096-bit RSA key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFZDCCA0ygAwIBAgIQBs7hMb5tVcgH98DH+0TmIDANBgkqhkiG9w0BAQwFADBM
|
||||||
|
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJDAiBgNVBAMT
|
||||||
|
G0RpZ2lDZXJ0IENTIFJTQTQwOTYgUm9vdCBHNTAeFw0yMTAxMTUwMDAwMDBaFw00
|
||||||
|
NjAxMTQyMzU5NTlaMEwxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
|
||||||
|
SW5jLjEkMCIGA1UEAxMbRGlnaUNlcnQgQ1MgUlNBNDA5NiBSb290IEc1MIICIjAN
|
||||||
|
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtjNzgNhiA3AULBEcOV58rnyDhh3+
|
||||||
|
Ji9MJK2L6oNfqbw9W/wLmEwCRzDs4v7s6DRbZl6/O9cspiX/jFmz3+rafCnZRlBy
|
||||||
|
CB1u0RsK3R/NmYn6Dw9zxOGcHXUyzW+X2ipqlbJsyQnQ6gt7fRcGSZnv1t7gyFPU
|
||||||
|
rsZ38Ya7Ixy4wN9Z94590e+C5iaLWji1/3XVstlPCfM3iFDaEaSKFBTRUwQAffNq
|
||||||
|
RBj+UHAyBxyomg46HcUKH24LJmm3PKJXcCyG+kxulalYQ7msEtb/P+3XQxdrTM6e
|
||||||
|
xJCr//oQUJqjkFfW54wQrp8WGs81HX/Xdu2KnDWnKLinXSH8MDfd3ggZTxXG56ba
|
||||||
|
kEeO95RTTI5TAr79meXqhtCvAwLTm6qT8asojiAB/0z7zLcpQPWHpBITBR9DbtdR
|
||||||
|
UJ84tCDtFwkSj8y5Ga+fzb5pEdOvVRBtF4Z5llLGsgCd5a84sDX0iGuPDgQ9fO6v
|
||||||
|
zdNqEErGzYbKIj2hSlz7Dv+I31xip8C5HtmsbH44N/53kyXChYpPtTcGWgaBFPHO
|
||||||
|
lJ2ZkeoyWs5nPW4EZq0MTy2jLvee9Xid9wr9fo/jQopVlrzxnzct/J5flf6MGBv8
|
||||||
|
jv1LkK/XA2gSY6zik6eiywTlT2TOA/rGFJ/Zi+jM1GKMa+QALBmfGgbGMYFU+1Mk
|
||||||
|
mq9Vmbqdda64wt0CAwEAAaNCMEAwHQYDVR0OBBYEFGgBk7HSSkBCaZRGLBxaiKkl
|
||||||
|
tEdPMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
|
||||||
|
DAUAA4ICAQCS/O64AnkXAlF9IcVJZ6ek8agkOOsMaOpaQmuc9HPBaUotszcFUEKY
|
||||||
|
kp4GeSwuBpn2798roM2zkgGDtaDLJ7U8IxqYSaLsLZmlWUOs0rGT1lfXHLyT1sZA
|
||||||
|
4bNvGVW3E9flQzOktavL2sExZA101iztw41u67uvGUdhYS3A9AW5b3jcOvdCQGVT
|
||||||
|
kb2ZDZOSVKapN1krm8uZxrw99wSE8JQzHQ+CWjnLLkXDKBmjspuYyPwxa2CP9umG
|
||||||
|
KLzgPH10XRaJW2kkxxCLxEu7Nk/UWT/DsKSRmfgu0UoBnfWIEu+/WhFqWU9Za1pn
|
||||||
|
84+0Ew/A2C89KHKqGX8RfWpbn5XnX7eUT/E+oVr/Lcyd3yd3jzJzHGcKdvP6XLG/
|
||||||
|
vB29DCibsscXZwszD8O9Ntz7ukILq+2Ew2LWhBapsQdrqW7uxs/msEQpwvCzYYAq
|
||||||
|
i2/SFFwlh1Rk86RMwaH4p2vq/uo6/HnbDo/cxvPJ1Gze6YOhjh0i7Mk6sgB73Dun
|
||||||
|
Qhp/3IupET2Op8Agb10JXUNE5o9mzKlbB/Hvm3oOs1ThlP0OLMaT11X9cZg1uAlK
|
||||||
|
/8YpKCz2Ui3bFBiSJ+IWfozK1GG+goeR65g3P79fXXc/NKwbOEOraHKZMh46Ghml
|
||||||
|
ozhMI9ej58zVKpIXkAtaS70WvfuGauKJmezkoFUYyaMIHxPgMghy0A==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
21
make/data/cacerts/digicerttlseccrootg5
Normal file
21
make/data/cacerts/digicerttlseccrootg5
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
Owner: CN=DigiCert TLS ECC P384 Root G5, O="DigiCert, Inc.", C=US
|
||||||
|
Issuer: CN=DigiCert TLS ECC P384 Root G5, O="DigiCert, Inc.", C=US
|
||||||
|
Serial number: 9e09365acf7d9c8b93e1c0b042a2ef3
|
||||||
|
Valid from: Fri Jan 15 00:00:00 GMT 2021 until: Sun Jan 14 23:59:59 GMT 2046
|
||||||
|
Signature algorithm name: SHA384withECDSA
|
||||||
|
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw
|
||||||
|
CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp
|
||||||
|
Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2
|
||||||
|
MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ
|
||||||
|
bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG
|
||||||
|
ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS
|
||||||
|
7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp
|
||||||
|
0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS
|
||||||
|
B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49
|
||||||
|
BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ
|
||||||
|
LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4
|
||||||
|
DXZDjC5Ty3zfDBeWUA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
38
make/data/cacerts/digicerttlsrsarootg5
Normal file
38
make/data/cacerts/digicerttlsrsarootg5
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
Owner: CN=DigiCert TLS RSA4096 Root G5, O="DigiCert, Inc.", C=US
|
||||||
|
Issuer: CN=DigiCert TLS RSA4096 Root G5, O="DigiCert, Inc.", C=US
|
||||||
|
Serial number: 8f9b478a8fa7eda6a333789de7ccf8a
|
||||||
|
Valid from: Fri Jan 15 00:00:00 GMT 2021 until: Sun Jan 14 23:59:59 GMT 2046
|
||||||
|
Signature algorithm name: SHA384withRSA
|
||||||
|
Subject Public Key Algorithm: 4096-bit RSA key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN
|
||||||
|
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT
|
||||||
|
HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN
|
||||||
|
NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs
|
||||||
|
IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi
|
||||||
|
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+
|
||||||
|
ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0
|
||||||
|
2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp
|
||||||
|
wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM
|
||||||
|
pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD
|
||||||
|
nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po
|
||||||
|
sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx
|
||||||
|
Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd
|
||||||
|
Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX
|
||||||
|
KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe
|
||||||
|
XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL
|
||||||
|
tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv
|
||||||
|
TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN
|
||||||
|
AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw
|
||||||
|
GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H
|
||||||
|
PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF
|
||||||
|
O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ
|
||||||
|
REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik
|
||||||
|
AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv
|
||||||
|
/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+
|
||||||
|
p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw
|
||||||
|
MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF
|
||||||
|
qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK
|
||||||
|
ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+
|
||||||
|
-----END CERTIFICATE-----
|
||||||
22
make/data/cacerts/emsigneccrootcag3
Normal file
22
make/data/cacerts/emsigneccrootcag3
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Owner: CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
|
||||||
|
Issuer: CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
|
||||||
|
Serial number: 3cf607a968700eda8b84
|
||||||
|
Valid from: Sun Feb 18 18:30:00 GMT 2018 until: Wed Feb 18 18:30:00 GMT 2043
|
||||||
|
Signature algorithm name: SHA384withECDSA
|
||||||
|
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG
|
||||||
|
EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo
|
||||||
|
bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g
|
||||||
|
RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ
|
||||||
|
TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s
|
||||||
|
b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw
|
||||||
|
djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0
|
||||||
|
WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS
|
||||||
|
fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB
|
||||||
|
zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq
|
||||||
|
hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB
|
||||||
|
CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD
|
||||||
|
+JbNR6iC8hZVdyR+EhCVBCyj
|
||||||
|
-----END CERTIFICATE-----
|
||||||
29
make/data/cacerts/emsignrootcag1
Normal file
29
make/data/cacerts/emsignrootcag1
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
Owner: CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
|
||||||
|
Issuer: CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
|
||||||
|
Serial number: 31f5e4620c6c58edd6d8
|
||||||
|
Valid from: Sun Feb 18 18:30:00 GMT 2018 until: Wed Feb 18 18:30:00 GMT 2043
|
||||||
|
Signature algorithm name: SHA256withRSA
|
||||||
|
Subject Public Key Algorithm: 2048-bit RSA key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD
|
||||||
|
VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU
|
||||||
|
ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH
|
||||||
|
MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO
|
||||||
|
MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv
|
||||||
|
Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN
|
||||||
|
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz
|
||||||
|
f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO
|
||||||
|
8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq
|
||||||
|
d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM
|
||||||
|
tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt
|
||||||
|
Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB
|
||||||
|
o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD
|
||||||
|
AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x
|
||||||
|
PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM
|
||||||
|
wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d
|
||||||
|
GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH
|
||||||
|
6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby
|
||||||
|
RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
|
||||||
|
iN66zB+Afko=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
39
make/data/cacerts/emsignrootcag2
Normal file
39
make/data/cacerts/emsignrootcag2
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Owner: CN=emSign Root CA - G2, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
|
||||||
|
Issuer: CN=emSign Root CA - G2, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
|
||||||
|
Serial number: 864dbf0fe35ed77d8ed8
|
||||||
|
Valid from: Sun Feb 18 18:30:00 GMT 2018 until: Wed Feb 18 18:30:00 GMT 2043
|
||||||
|
Signature algorithm name: SHA384withRSA
|
||||||
|
Subject Public Key Algorithm: 4096-bit RSA key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFlTCCA32gAwIBAgILAIZNvw/jXtd9jtgwDQYJKoZIhvcNAQEMBQAwZzELMAkG
|
||||||
|
A1UEBhMCSU4xEzARBgNVBAsTCmVtU2lnbiBQS0kxJTAjBgNVBAoTHGVNdWRocmEg
|
||||||
|
VGVjaG5vbG9naWVzIExpbWl0ZWQxHDAaBgNVBAMTE2VtU2lnbiBSb290IENBIC0g
|
||||||
|
RzIwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBnMQswCQYDVQQGEwJJ
|
||||||
|
TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s
|
||||||
|
b2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMjCCAiIw
|
||||||
|
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMNwGIWW2kHfHK+sXTNwxF07K+IV
|
||||||
|
ySTuyFM2r1v002wUfcdT+zs5OM5QbMYFFnedXQI6gCFLsjKrcaej48Zt37OyEb3i
|
||||||
|
aPs7CsP4kAyTwzKH9aZe6gXYHrJq40/ZVMNcQVI2PcIp40B/SAN2gUZ+ZaUtIOvV
|
||||||
|
jEx26/ebNaXRIsthlkOG/caB+QRwDw1tl7338Zlv0M2oTBUy4B3e7dGP5pgXH71M
|
||||||
|
jqHPCoNo+xv9f0NTBT+hUDa8h8wUtcGQq9CDeJTpjWcD2bP2AMdVG6oVpMAUeUzo
|
||||||
|
cCyglvtFdUMjggxBbw4qhau1HXPG8Ot9hwL7ZMi8tkTzrvUIxxb8G9LF/7kKeCE7
|
||||||
|
tGZaVzDTnXuifl3msR4ErHsQ4P7lVu2AIjIAhrAXoedDidb7pMcf7TABdrYUT1Jo
|
||||||
|
G/AiK+J9jO6GTjeADD4LMDSBZhHMuBK/PJ/g0kGBt+/C1L+/HURzQhJkMlRnM6Rv
|
||||||
|
XoCtfKopSlns5trZmTi971Wjbn88QXP61lGpBCUPwCjs7rpOYvSUJtI+lcbF+37q
|
||||||
|
kIqOXYkVT3cupDSpw+H89kFtj5GKY+Xny4LxY+3IvDIRiyd6ky1DPj713DI0yqve
|
||||||
|
EpsIr3A0PdwuyUI7CS1jg0NnGFT6Xxyr0xB+VDt83FJYW8v16k2pbaQ4kVxA3aXd
|
||||||
|
X9dZYyVR1S59KM75AgMBAAGjQjBAMB0GA1UdDgQWBBTt7E1FYRgo57MjKBEcTaUn
|
||||||
|
DV7s9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
|
||||||
|
AQwFAAOCAgEACFC/ilQg8KTCVBxFJW/sazomkS0kNYbEIZg4B3obqwsJ7SX98z8Z
|
||||||
|
gfzBpz0nYClwwJjWbFN1R2zY8pCEot6/dgmA8Vbq0GxhwPM5YN/SZquNyRIxO3cU
|
||||||
|
dlAcwf+vSezdVCf9wOzvSAF3q0a5ljvbdbNJNpfScQVp7UUd5sBsZk8jXO1KQ/go
|
||||||
|
/Vf/GDPnrIFmxpAIGE3sgnO8lAv9FzUaAeuv7HWe47xN9J7+bQzF93yHuIXACPTL
|
||||||
|
pQHhg2zMv5C7BAbuDHfbj1Cu294Z832yhSfBcziWGskOvl3es2EcHytbS9c9P+0z
|
||||||
|
Mpka7zGC1FHrvLb/FoduH86TeZt0QjZ6pcplNzoaxDnDvzTJ6CC2Eny+qH/APFCu
|
||||||
|
VUv5/wjwF+HPm8Pup2ARj9cEp92+0qcerfHacNq5hMeGZdbA/dzdUR/5z5zXdxAk
|
||||||
|
nl8mcfGb0eMNSTXQmmB/i4AecNnr72uYjzlaXUGYN7Nrb6XouG0pnh0/BBtWWp0U
|
||||||
|
ShIPpWEAqs7RJBj6+1ZUYXZ4ObrCw962DxhN2p19Hxw9LtuUUcLqqTPrFXYvwO4t
|
||||||
|
ouj7KJnAkaTUfXGdEaFVtFig1EA30WzJY2X1vAQ7hVnniCjgaXAGqjsU6sklNM9n
|
||||||
|
xDx5rFCCCEtj9Kh8UHjGK2QqgP5kwgttjOApQMaCoezMfK4KD7WpOXU=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
21
make/data/cacerts/letsencryptisrgx2
Normal file
21
make/data/cacerts/letsencryptisrgx2
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
Owner: CN=ISRG Root X2, O=Internet Security Research Group, C=US
|
||||||
|
Issuer: CN=ISRG Root X2, O=Internet Security Research Group, C=US
|
||||||
|
Serial number: 41d29dd172eaeea780c12c6ce92f8752
|
||||||
|
Valid from: Fri Sep 04 00:00:00 GMT 2020 until: Mon Sep 17 16:00:00 GMT 2040
|
||||||
|
Signature algorithm name: SHA384withECDSA
|
||||||
|
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw
|
||||||
|
CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg
|
||||||
|
R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00
|
||||||
|
MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT
|
||||||
|
ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw
|
||||||
|
EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW
|
||||||
|
+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9
|
||||||
|
ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
|
||||||
|
AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI
|
||||||
|
zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW
|
||||||
|
tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1
|
||||||
|
/q4AaOeMSQ+2b1tbFfLn
|
||||||
|
-----END CERTIFICATE-----
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
Owner: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP
|
|
||||||
Issuer: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP
|
|
||||||
Serial number: 0
|
|
||||||
Valid from: Tue Sep 30 04:20:49 GMT 2003 until: Sat Sep 30 04:20:49 GMT 2023
|
|
||||||
Signature algorithm name: SHA1withRSA
|
|
||||||
Subject Public Key Algorithm: 2048-bit RSA key
|
|
||||||
Version: 3
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY
|
|
||||||
MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t
|
|
||||||
dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5
|
|
||||||
WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD
|
|
||||||
VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3
|
|
||||||
DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8
|
|
||||||
9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
|
|
||||||
DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9
|
|
||||||
Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N
|
|
||||||
QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ
|
|
||||||
xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G
|
|
||||||
A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T
|
|
||||||
AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG
|
|
||||||
kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr
|
|
||||||
Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5
|
|
||||||
Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU
|
|
||||||
JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot
|
|
||||||
RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw==
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
39
make/data/cacerts/teliarootcav2
Normal file
39
make/data/cacerts/teliarootcav2
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Owner: CN=Telia Root CA v2, O=Telia Finland Oyj, C=FI
|
||||||
|
Issuer: CN=Telia Root CA v2, O=Telia Finland Oyj, C=FI
|
||||||
|
Serial number: 1675f27d6fe7ae3e4acbe095b059e
|
||||||
|
Valid from: Thu Nov 29 11:55:54 GMT 2018 until: Sun Nov 29 11:55:54 GMT 2043
|
||||||
|
Signature algorithm name: SHA256withRSA
|
||||||
|
Subject Public Key Algorithm: 4096-bit RSA key
|
||||||
|
Version: 3
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQx
|
||||||
|
CzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UE
|
||||||
|
AwwQVGVsaWEgUm9vdCBDQSB2MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1
|
||||||
|
NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZ
|
||||||
|
MBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
|
||||||
|
ADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ76zBq
|
||||||
|
AMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9
|
||||||
|
vVYiQJ3q9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9
|
||||||
|
lRdU2HhE8Qx3FZLgmEKnpNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTOD
|
||||||
|
n3WhUidhOPFZPY5Q4L15POdslv5e2QJltI5c0BE0312/UqeBAMN/mUWZFdUXyApT
|
||||||
|
7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW5olWK8jjfN7j/4nlNW4o
|
||||||
|
6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNrRBH0pUPC
|
||||||
|
TEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6
|
||||||
|
WT0EBXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63R
|
||||||
|
DolUK5X6wK0dmBR4M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZI
|
||||||
|
pEYslOqodmJHixBTB0hXbOKSTbauBcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGj
|
||||||
|
YzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7Wxy+G2CQ5MB0GA1UdDgQWBBRy
|
||||||
|
rOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
|
||||||
|
AwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ
|
||||||
|
8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi
|
||||||
|
0f6X+J8wfBj5tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMM
|
||||||
|
A8iZGok1GTzTyVR8qPAs5m4HeW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBS
|
||||||
|
SRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+Cy748fdHif64W1lZYudogsYMVoe+K
|
||||||
|
TTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygCQMez2P2ccGrGKMOF
|
||||||
|
6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15h2Er
|
||||||
|
3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMt
|
||||||
|
Ty3EHD70sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pT
|
||||||
|
VmBds9hCG1xLEooc6+t9xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAW
|
||||||
|
ysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQraVplI/owd8k+BsHMYeB2F326CjYSlKA
|
||||||
|
rBPuUBQemMc=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
5019
make/data/charsetmapping/MS950_HKSCS.map
Normal file
5019
make/data/charsetmapping/MS950_HKSCS.map
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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=176
|
||||||
|
|
||||||
# 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.
|
||||||
@@ -55,7 +55,7 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
|
|||||||
SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
|
SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
|
||||||
TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
|
TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
|
||||||
UYU858-UZS860-VEB862-VED926-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
|
UYU858-UZS860-VEB862-VED926-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
|
||||||
XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
|
XBB956-XBC957-XBD958-XCD951-XCG532-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
|
||||||
XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
|
XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
|
||||||
ZWN942-ZWR935
|
ZWN942-ZWR935
|
||||||
|
|
||||||
@@ -189,11 +189,11 @@ CR=CRC
|
|||||||
# COTE D'IVOIRE
|
# COTE D'IVOIRE
|
||||||
CI=XOF
|
CI=XOF
|
||||||
# CROATIA
|
# CROATIA
|
||||||
HR=HRK;2022-12-31-23-00-00;EUR
|
HR=EUR
|
||||||
# CUBA
|
# CUBA
|
||||||
CU=CUP
|
CU=CUP
|
||||||
# Cura\u00e7ao
|
# Cura\u00e7ao
|
||||||
CW=ANG
|
CW=ANG;2025-04-01-04-00-00;XCG
|
||||||
# CYPRUS
|
# CYPRUS
|
||||||
CY=EUR
|
CY=EUR
|
||||||
# CZECHIA
|
# CZECHIA
|
||||||
@@ -510,7 +510,7 @@ SR=SRD
|
|||||||
# SVALBARD AND JAN MAYEN
|
# SVALBARD AND JAN MAYEN
|
||||||
SJ=NOK
|
SJ=NOK
|
||||||
# Sint Maarten (Dutch part)
|
# Sint Maarten (Dutch part)
|
||||||
SX=ANG
|
SX=ANG;2025-04-01-04-00-00;XCG
|
||||||
# ESWATINI
|
# ESWATINI
|
||||||
SZ=SZL
|
SZ=SZL
|
||||||
# SWEDEN
|
# SWEDEN
|
||||||
|
|||||||
@@ -154,7 +154,6 @@ JVM_IsRecord
|
|||||||
JVM_IsSameClassPackage
|
JVM_IsSameClassPackage
|
||||||
JVM_IsSharingEnabled
|
JVM_IsSharingEnabled
|
||||||
JVM_IsSupportedJNIVersion
|
JVM_IsSupportedJNIVersion
|
||||||
JVM_IsThreadAlive
|
|
||||||
JVM_IsVMGeneratedMethodIx
|
JVM_IsVMGeneratedMethodIx
|
||||||
JVM_LatestUserDefinedLoader
|
JVM_LatestUserDefinedLoader
|
||||||
JVM_LoadLibrary
|
JVM_LoadLibrary
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
Github: https://raw.githubusercontent.com/publicsuffix/list/3c213aab32b3c014f171b1673d4ce9b5cd72bf1c/public_suffix_list.dat
|
Github: https://raw.githubusercontent.com/publicsuffix/list/b5bf572c52988dbe9d865b8f090ea819024a9936/public_suffix_list.dat
|
||||||
Date: 2021-11-27
|
Date: 2023-11-09
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
tzdata2024a
|
||||||
|
|||||||
@@ -53,6 +53,10 @@
|
|||||||
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
|
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
|
||||||
# https://www.jstor.org/stable/1774359
|
# https://www.jstor.org/stable/1774359
|
||||||
#
|
#
|
||||||
|
# For the 1911/1912 establishment of standard time in French possessions, see:
|
||||||
|
# Société Française de Physique, Recueil de constantes physiques (1913),
|
||||||
|
# page 752, 18b.
|
||||||
|
#
|
||||||
# European-style abbreviations are commonly used along the Mediterranean.
|
# European-style abbreviations are commonly used along the Mediterranean.
|
||||||
# For sub-Saharan Africa abbreviations were less standardized.
|
# For sub-Saharan Africa abbreviations were less standardized.
|
||||||
# Previous editions of this database used WAT, CAT, SAT, and EAT
|
# Previous editions of this database used WAT, CAT, SAT, and EAT
|
||||||
@@ -136,7 +140,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
|
|||||||
|
|
||||||
# Chad
|
# Chad
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
|
Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena
|
||||||
1:00 - WAT 1979 Oct 14
|
1:00 - WAT 1979 Oct 14
|
||||||
1:00 1:00 WAST 1980 Mar 8
|
1:00 1:00 WAST 1980 Mar 8
|
||||||
1:00 - WAT
|
1:00 - WAT
|
||||||
@@ -162,7 +166,7 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
|
|||||||
# Inaccessible, Nightingale: uninhabited
|
# Inaccessible, Nightingale: uninhabited
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Africa/Abidjan -0:16:08 - LMT 1912
|
Zone Africa/Abidjan -0:16:08 - LMT 1912 Jan 1
|
||||||
0:00 - GMT
|
0:00 - GMT
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@@ -308,13 +312,6 @@ Rule Egypt 2007 only - Sep Thu>=1 24:00 0 -
|
|||||||
# reproduced by other (more accessible) sites[, e.g.,]...
|
# reproduced by other (more accessible) sites[, e.g.,]...
|
||||||
# http://elgornal.net/news/news.aspx?id=4699258
|
# http://elgornal.net/news/news.aspx?id=4699258
|
||||||
|
|
||||||
# From Paul Eggert (2014-06-04):
|
|
||||||
# Sarah El Deeb and Lee Keath of AP report that the Egyptian government says
|
|
||||||
# the change is because of blackouts in Cairo, even though Ahram Online (cited
|
|
||||||
# above) says DST had no affect on electricity consumption. There is
|
|
||||||
# no information about when DST will end this fall. See:
|
|
||||||
# http://abcnews.go.com/International/wireStory/el-sissi-pushes-egyptians-line-23614833
|
|
||||||
|
|
||||||
# From Steffen Thorsen (2015-04-08):
|
# From Steffen Thorsen (2015-04-08):
|
||||||
# Egypt will start DST on midnight after Thursday, April 30, 2015.
|
# Egypt will start DST on midnight after Thursday, April 30, 2015.
|
||||||
# This is based on a law (no 35) from May 15, 2014 saying it starts the last
|
# This is based on a law (no 35) from May 15, 2014 saying it starts the last
|
||||||
|
|||||||
@@ -103,6 +103,11 @@
|
|||||||
# - 2018 Oct 7 4:00 - 2019 Mar 17 3:00 - 2019 Oct 4 3:00 - 2020 Mar 8 3:00
|
# - 2018 Oct 7 4:00 - 2019 Mar 17 3:00 - 2019 Oct 4 3:00 - 2020 Mar 8 3:00
|
||||||
# and now - 2020 Oct 4 0:01
|
# and now - 2020 Oct 4 0:01
|
||||||
|
|
||||||
|
# From Paul Eggert (2023-12-20):
|
||||||
|
# Transitions from 2021 on are taken from:
|
||||||
|
# https://www.timeanddate.com/time/zone/antarctica/casey
|
||||||
|
# retrieved at various dates.
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Antarctica/Casey 0 - -00 1969
|
Zone Antarctica/Casey 0 - -00 1969
|
||||||
8:00 - +08 2009 Oct 18 2:00
|
8:00 - +08 2009 Oct 18 2:00
|
||||||
@@ -116,7 +121,12 @@ Zone Antarctica/Casey 0 - -00 1969
|
|||||||
8:00 - +08 2019 Oct 4 3:00
|
8:00 - +08 2019 Oct 4 3:00
|
||||||
11:00 - +11 2020 Mar 8 3:00
|
11:00 - +11 2020 Mar 8 3:00
|
||||||
8:00 - +08 2020 Oct 4 0:01
|
8:00 - +08 2020 Oct 4 0:01
|
||||||
11:00 - +11
|
11:00 - +11 2021 Mar 14 0:00
|
||||||
|
8:00 - +08 2021 Oct 3 0:01
|
||||||
|
11:00 - +11 2022 Mar 13 0:00
|
||||||
|
8:00 - +08 2022 Oct 2 0:01
|
||||||
|
11:00 - +11 2023 Mar 9 3:00
|
||||||
|
8:00 - +08
|
||||||
Zone Antarctica/Davis 0 - -00 1957 Jan 13
|
Zone Antarctica/Davis 0 - -00 1957 Jan 13
|
||||||
7:00 - +07 1964 Nov
|
7:00 - +07 1964 Nov
|
||||||
0 - -00 1969 Feb
|
0 - -00 1969 Feb
|
||||||
@@ -263,7 +273,50 @@ Zone Antarctica/Troll 0 - -00 2005 Feb 12
|
|||||||
# year-round from 1960/61 to 1992
|
# year-round from 1960/61 to 1992
|
||||||
|
|
||||||
# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
|
# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
|
||||||
# See Asia/Urumqi.
|
# From Craig Mundell (1994-12-15):
|
||||||
|
# http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP
|
||||||
|
# Vostok, which is one of the Russian stations, is set on the same
|
||||||
|
# time as Moscow, Russia.
|
||||||
|
#
|
||||||
|
# From Lee Hotz (2001-03-08):
|
||||||
|
# I queried the folks at Columbia who spent the summer at Vostok and this is
|
||||||
|
# what they had to say about time there:
|
||||||
|
# "in the US Camp (East Camp) we have been on New Zealand (McMurdo)
|
||||||
|
# time, which is 12 hours ahead of GMT. The Russian Station Vostok was
|
||||||
|
# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead
|
||||||
|
# of GMT). This is a time zone I think two hours east of Moscow. The
|
||||||
|
# natural time zone is in between the two: 8 hours ahead of GMT."
|
||||||
|
#
|
||||||
|
# From Paul Eggert (2001-05-04):
|
||||||
|
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
|
||||||
|
# in person. He said that some Antarctic locations set their local
|
||||||
|
# time so that noon is the warmest part of the day, and that this
|
||||||
|
# changes during the year and does not necessarily correspond to mean
|
||||||
|
# solar noon. So the Vostok time might have been whatever the clocks
|
||||||
|
# happened to be during their visit. So we still don't really know what time
|
||||||
|
# it is at Vostok.
|
||||||
|
#
|
||||||
|
# From Zakhary V. Akulov (2023-12-17 22:00:48 +0700):
|
||||||
|
# ... from December, 18, 2023 00:00 by my decision the local time of
|
||||||
|
# the Antarctic research base Vostok will correspond to UTC+5.
|
||||||
|
# (2023-12-19): We constantly interact with Progress base, with company who
|
||||||
|
# builds new wintering station, with sledge convoys, with aviation - they all
|
||||||
|
# use UTC+5. Besides, difference between Moscow time is just 2 hours now, not 4.
|
||||||
|
# (2023-12-19, in response to the question "Has local time at Vostok
|
||||||
|
# been UTC+6 ever since 1957, or has it changed before?"): No. At least
|
||||||
|
# since my antarctic career start, 10 years ago, Vostok base has UTC+7.
|
||||||
|
# (In response to a 2023-12-18 question "from 02:00 to 00:00 today"): This.
|
||||||
|
#
|
||||||
|
# From Paul Eggert (2023-12-18):
|
||||||
|
# For lack of better info, guess Vostok was at +07 from founding through today,
|
||||||
|
# except when closed.
|
||||||
|
|
||||||
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
|
Zone Antarctica/Vostok 0 - -00 1957 Dec 16
|
||||||
|
7:00 - +07 1994 Feb
|
||||||
|
0 - -00 1994 Nov
|
||||||
|
7:00 - +07 2023 Dec 18 2:00
|
||||||
|
5:00 - +05
|
||||||
|
|
||||||
# S Africa - year-round bases
|
# S Africa - year-round bases
|
||||||
# Marion Island, -4653+03752
|
# Marion Island, -4653+03752
|
||||||
|
|||||||
@@ -678,7 +678,6 @@ Zone Asia/Shanghai 8:05:43 - LMT 1901
|
|||||||
8:00 PRC C%sT
|
8:00 PRC C%sT
|
||||||
# Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi
|
# Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi
|
||||||
# / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
|
# / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
|
||||||
# Vostok base in Antarctica matches this since 1970.
|
|
||||||
Zone Asia/Urumqi 5:50:20 - LMT 1928
|
Zone Asia/Urumqi 5:50:20 - LMT 1928
|
||||||
6:00 - +06
|
6:00 - +06
|
||||||
|
|
||||||
@@ -2481,18 +2480,33 @@ Zone Asia/Amman 2:23:44 - LMT 1931
|
|||||||
# effective December 21st, 2018....
|
# effective December 21st, 2018....
|
||||||
# http://adilet.zan.kz/rus/docs/P1800000817 (russian language).
|
# http://adilet.zan.kz/rus/docs/P1800000817 (russian language).
|
||||||
|
|
||||||
|
# From Zhanbolat Raimbekov (2024-01-19):
|
||||||
|
# Kazakhstan (all parts) switching to UTC+5 on March 1, 2024
|
||||||
|
# https://www.gov.kz/memleket/entities/mti/press/news/details/688998?lang=ru
|
||||||
|
# [in Russian]
|
||||||
|
# (2024-01-20): https://primeminister.kz/ru/decisions/19012024-20
|
||||||
|
#
|
||||||
|
# From Alexander Krivenyshev (2024-01-19):
|
||||||
|
# According to a different news and the official web site for the Ministry of
|
||||||
|
# Trade and Integration of the Republic of Kazakhstan:
|
||||||
|
# https://en.inform.kz/news/kazakhstan-to-switch-to-single-hour-zone-mar-1-54ad0b/
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
#
|
#
|
||||||
# Almaty (formerly Alma-Ata), representing most locations in Kazakhstan
|
# Almaty (formerly Alma-Ata), representing most locations in Kazakhstan
|
||||||
# This includes KZ-AKM, KZ-ALA, KZ-ALM, KZ-AST, KZ-BAY, KZ-VOS, KZ-ZHA,
|
# This includes Abai/Abay (ISO 3166-2 code KZ-10), Aqmola/Akmola (KZ-11),
|
||||||
# KZ-KAR, KZ-SEV, KZ-PAV, and KZ-YUZ.
|
# Almaty (KZ-19), Almaty city (KZ-75), Astana city (KZ-71),
|
||||||
|
# East Kazkhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33),
|
||||||
|
# Karaganda (KZ-35), North Kazakhstan (KZ-59), Pavlodar (KZ-55),
|
||||||
|
# Shyumkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62).
|
||||||
Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata
|
Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata
|
||||||
5:00 - +05 1930 Jun 21
|
5:00 - +05 1930 Jun 21
|
||||||
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
|
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
|
||||||
5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s
|
5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s
|
||||||
6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s
|
6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s
|
||||||
6:00 - +06
|
6:00 - +06 2024 Mar 1 0:00
|
||||||
# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY)
|
5:00 - +05
|
||||||
|
# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-43)
|
||||||
Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
|
Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
|
||||||
4:00 - +04 1930 Jun 21
|
4:00 - +04 1930 Jun 21
|
||||||
5:00 - +05 1981 Apr 1
|
5:00 - +05 1981 Apr 1
|
||||||
@@ -2505,8 +2519,7 @@ Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
|
|||||||
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
||||||
6:00 - +06 2018 Dec 21 0:00
|
6:00 - +06 2018 Dec 21 0:00
|
||||||
5:00 - +05
|
5:00 - +05
|
||||||
#
|
# Qostanay (aka Kostanay, Kustanay) (KZ-39)
|
||||||
# Qostanay (aka Kostanay, Kustanay) (KZ-KUS)
|
|
||||||
# The 1991/2 rules are unclear partly because of the 1997 Turgai
|
# The 1991/2 rules are unclear partly because of the 1997 Turgai
|
||||||
# reorganization.
|
# reorganization.
|
||||||
Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2
|
Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2
|
||||||
@@ -2517,9 +2530,9 @@ Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2
|
|||||||
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
|
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
|
||||||
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
|
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
|
||||||
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
||||||
6:00 - +06
|
6:00 - +06 2024 Mar 1 0:00
|
||||||
|
5:00 - +05
|
||||||
# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT)
|
# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-15)
|
||||||
Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
|
Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
|
||||||
4:00 - +04 1930 Jun 21
|
4:00 - +04 1930 Jun 21
|
||||||
5:00 - +05 1981 Apr 1
|
5:00 - +05 1981 Apr 1
|
||||||
@@ -2529,7 +2542,7 @@ Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
|
|||||||
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
|
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
|
||||||
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
||||||
5:00 - +05
|
5:00 - +05
|
||||||
# Mangghystaū (KZ-MAN)
|
# Mangghystaū (KZ-47)
|
||||||
# Aqtau was not founded until 1963, but it represents an inhabited region,
|
# Aqtau was not founded until 1963, but it represents an inhabited region,
|
||||||
# so include timestamps before 1963.
|
# so include timestamps before 1963.
|
||||||
Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
|
Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
|
||||||
@@ -2541,7 +2554,7 @@ Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
|
|||||||
5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s
|
5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s
|
||||||
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
|
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
|
||||||
5:00 - +05
|
5:00 - +05
|
||||||
# Atyraū (KZ-ATY) is like Mangghystaū except it switched from
|
# Atyraū (KZ-23) is like Mangghystaū except it switched from
|
||||||
# +04/+05 to +05/+06 in spring 1999, not fall 1994.
|
# +04/+05 to +05/+06 in spring 1999, not fall 1994.
|
||||||
Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2
|
Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2
|
||||||
3:00 - +03 1930 Jun 21
|
3:00 - +03 1930 Jun 21
|
||||||
@@ -2552,7 +2565,7 @@ Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2
|
|||||||
5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s
|
5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s
|
||||||
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
|
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
|
||||||
5:00 - +05
|
5:00 - +05
|
||||||
# West Kazakhstan (KZ-ZAP)
|
# West Kazakhstan (KZ-27)
|
||||||
# From Paul Eggert (2016-03-18):
|
# From Paul Eggert (2016-03-18):
|
||||||
# The 1989 transition is from USSR act No. 227 (1989-03-14).
|
# The 1989 transition is from USSR act No. 227 (1989-03-14).
|
||||||
Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk
|
Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk
|
||||||
@@ -3450,20 +3463,30 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
|||||||
# From Heba Hamad (2023-03-22):
|
# From Heba Hamad (2023-03-22):
|
||||||
# ... summer time will begin in Palestine from Saturday 04-29-2023,
|
# ... summer time will begin in Palestine from Saturday 04-29-2023,
|
||||||
# 02:00 AM by 60 minutes forward.
|
# 02:00 AM by 60 minutes forward.
|
||||||
|
# From Heba Hemad (2023-10-09):
|
||||||
|
# ... winter time will begin in Palestine from Saturday 10-28-2023,
|
||||||
|
# 02:00 AM by 60 minutes back.
|
||||||
#
|
#
|
||||||
# From Paul Eggert (2023-03-22):
|
# From Heba Hamad (2024-01-25):
|
||||||
|
# the summer time for the years 2024,2025 will begin in Palestine
|
||||||
|
# from Saturday at 02:00 AM by 60 minutes forward as shown below:
|
||||||
|
# year date
|
||||||
|
# 2024 2024-04-20
|
||||||
|
# 2025 2025-04-12
|
||||||
|
#
|
||||||
|
# From Paul Eggert (2024-01-25):
|
||||||
# For now, guess that spring and fall transitions will normally
|
# For now, guess that spring and fall transitions will normally
|
||||||
# continue to use 2022's rules, that during DST Palestine will switch
|
# 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 standard time at 02:00 the last Saturday before Ramadan and back
|
||||||
# to DST at 02:00 the first Saturday after Ramadan, and that
|
# to DST at 02:00 the second Saturday after Ramadan, and that
|
||||||
# if the normal spring-forward or fall-back transition occurs during
|
# if the normal spring-forward or fall-back transition occurs during
|
||||||
# Ramadan the former is delayed and the latter advanced.
|
# Ramadan the former is delayed and the latter advanced.
|
||||||
# To implement this, I predicted Ramadan-oriented transition dates for
|
# To implement this, I predicted Ramadan-oriented transition dates for
|
||||||
# 2023 through 2086 by running the following program under GNU Emacs 28.2,
|
# 2026 through 2086 by running the following program under GNU Emacs 29.2,
|
||||||
# with the results integrated by hand into the table below.
|
# with the results integrated by hand into the table below.
|
||||||
# Predictions after 2086 are approximated without Ramadan.
|
# Predictions after 2086 are approximated without Ramadan.
|
||||||
#
|
#
|
||||||
# (let ((islamic-year 1444))
|
# (let ((islamic-year 1447))
|
||||||
# (require 'cal-islam)
|
# (require 'cal-islam)
|
||||||
# (while (< islamic-year 1510)
|
# (while (< islamic-year 1510)
|
||||||
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
||||||
@@ -3472,6 +3495,7 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
|||||||
# (while (/= saturday (mod (setq a (1- a)) 7)))
|
# (while (/= saturday (mod (setq a (1- a)) 7)))
|
||||||
# (while (/= saturday (mod b 7))
|
# (while (/= saturday (mod b 7))
|
||||||
# (setq b (1+ b)))
|
# (setq b (1+ b)))
|
||||||
|
# (setq b (+ 7 b))
|
||||||
# (setq a (calendar-gregorian-from-absolute a))
|
# (setq a (calendar-gregorian-from-absolute a))
|
||||||
# (setq b (calendar-gregorian-from-absolute b))
|
# (setq b (calendar-gregorian-from-absolute b))
|
||||||
# (insert
|
# (insert
|
||||||
@@ -3522,84 +3546,84 @@ 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 2035 - Oct Sat<=30 2:00 0 -
|
||||||
Rule Palestine 2023 only - Apr 29 2:00 1:00 S
|
Rule Palestine 2023 only - Apr 29 2:00 1:00 S
|
||||||
Rule Palestine 2024 only - Apr 13 2:00 1:00 S
|
Rule Palestine 2024 only - Apr 20 2:00 1:00 S
|
||||||
Rule Palestine 2025 only - Apr 5 2:00 1:00 S
|
Rule Palestine 2025 only - Apr 12 2:00 1:00 S
|
||||||
Rule Palestine 2026 2054 - Mar Sat<=30 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 2036 only - Oct 18 2:00 0 -
|
||||||
Rule Palestine 2037 only - Oct 10 2:00 0 -
|
Rule Palestine 2037 only - Oct 10 2:00 0 -
|
||||||
Rule Palestine 2038 only - Sep 25 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 - 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 - Sep 1 2:00 0 -
|
||||||
Rule Palestine 2040 only - Oct 13 2:00 1:00 S
|
Rule Palestine 2040 only - Oct 20 2:00 1:00 S
|
||||||
|
Rule Palestine 2040 2067 - Oct Sat<=30 2:00 0 -
|
||||||
Rule Palestine 2041 only - Aug 24 2:00 0 -
|
Rule Palestine 2041 only - Aug 24 2:00 0 -
|
||||||
Rule Palestine 2041 only - Sep 28 2:00 1:00 S
|
Rule Palestine 2041 only - Oct 5 2:00 1:00 S
|
||||||
Rule Palestine 2042 only - Aug 16 2:00 0 -
|
Rule Palestine 2042 only - Aug 16 2:00 0 -
|
||||||
Rule Palestine 2042 only - Sep 20 2:00 1:00 S
|
Rule Palestine 2042 only - Sep 27 2:00 1:00 S
|
||||||
Rule Palestine 2043 only - Aug 1 2:00 0 -
|
Rule Palestine 2043 only - Aug 1 2:00 0 -
|
||||||
Rule Palestine 2043 only - Sep 12 2:00 1:00 S
|
Rule Palestine 2043 only - Sep 19 2:00 1:00 S
|
||||||
Rule Palestine 2044 only - Jul 23 2:00 0 -
|
Rule Palestine 2044 only - Jul 23 2:00 0 -
|
||||||
Rule Palestine 2044 only - Aug 27 2:00 1:00 S
|
Rule Palestine 2044 only - Sep 3 2:00 1:00 S
|
||||||
Rule Palestine 2045 only - Jul 15 2:00 0 -
|
Rule Palestine 2045 only - Jul 15 2:00 0 -
|
||||||
Rule Palestine 2045 only - Aug 19 2:00 1:00 S
|
Rule Palestine 2045 only - Aug 26 2:00 1:00 S
|
||||||
Rule Palestine 2046 only - Jun 30 2:00 0 -
|
Rule Palestine 2046 only - Jun 30 2:00 0 -
|
||||||
Rule Palestine 2046 only - Aug 11 2:00 1:00 S
|
Rule Palestine 2046 only - Aug 18 2:00 1:00 S
|
||||||
Rule Palestine 2047 only - Jun 22 2:00 0 -
|
Rule Palestine 2047 only - Jun 22 2:00 0 -
|
||||||
Rule Palestine 2047 only - Jul 27 2:00 1:00 S
|
Rule Palestine 2047 only - Aug 3 2:00 1:00 S
|
||||||
Rule Palestine 2048 only - Jun 6 2:00 0 -
|
Rule Palestine 2048 only - Jun 6 2:00 0 -
|
||||||
Rule Palestine 2048 only - Jul 18 2:00 1:00 S
|
Rule Palestine 2048 only - Jul 25 2:00 1:00 S
|
||||||
Rule Palestine 2049 only - May 29 2:00 0 -
|
Rule Palestine 2049 only - May 29 2:00 0 -
|
||||||
Rule Palestine 2049 only - Jul 3 2:00 1:00 S
|
Rule Palestine 2049 only - Jul 10 2:00 1:00 S
|
||||||
Rule Palestine 2050 only - May 21 2:00 0 -
|
Rule Palestine 2050 only - May 21 2:00 0 -
|
||||||
Rule Palestine 2050 only - Jun 25 2:00 1:00 S
|
Rule Palestine 2050 only - Jul 2 2:00 1:00 S
|
||||||
Rule Palestine 2051 only - May 6 2:00 0 -
|
Rule Palestine 2051 only - May 6 2:00 0 -
|
||||||
Rule Palestine 2051 only - Jun 17 2:00 1:00 S
|
Rule Palestine 2051 only - Jun 24 2:00 1:00 S
|
||||||
Rule Palestine 2052 only - Apr 27 2:00 0 -
|
Rule Palestine 2052 only - Apr 27 2:00 0 -
|
||||||
Rule Palestine 2052 only - Jun 1 2:00 1:00 S
|
Rule Palestine 2052 only - Jun 8 2:00 1:00 S
|
||||||
Rule Palestine 2053 only - Apr 12 2:00 0 -
|
Rule Palestine 2053 only - Apr 12 2:00 0 -
|
||||||
Rule Palestine 2053 only - May 24 2:00 1:00 S
|
Rule Palestine 2053 only - May 31 2:00 1:00 S
|
||||||
Rule Palestine 2054 only - Apr 4 2:00 0 -
|
Rule Palestine 2054 only - Apr 4 2:00 0 -
|
||||||
Rule Palestine 2054 only - May 16 2:00 1:00 S
|
Rule Palestine 2054 only - May 23 2:00 1:00 S
|
||||||
Rule Palestine 2055 only - May 1 2:00 1:00 S
|
Rule Palestine 2055 only - May 8 2:00 1:00 S
|
||||||
Rule Palestine 2056 only - Apr 22 2:00 1:00 S
|
Rule Palestine 2056 only - Apr 29 2:00 1:00 S
|
||||||
Rule Palestine 2057 only - Apr 7 2:00 1:00 S
|
Rule Palestine 2057 only - Apr 14 2:00 1:00 S
|
||||||
Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S
|
Rule Palestine 2058 only - Apr 6 2:00 1:00 S
|
||||||
|
Rule Palestine 2059 max - Mar Sat<=30 2:00 1:00 S
|
||||||
Rule Palestine 2068 only - Oct 20 2:00 0 -
|
Rule Palestine 2068 only - Oct 20 2:00 0 -
|
||||||
Rule Palestine 2069 only - Oct 12 2:00 0 -
|
Rule Palestine 2069 only - Oct 12 2:00 0 -
|
||||||
Rule Palestine 2070 only - Oct 4 2:00 0 -
|
Rule Palestine 2070 only - Oct 4 2:00 0 -
|
||||||
Rule Palestine 2071 only - Sep 19 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 - Sep 10 2:00 0 -
|
||||||
Rule Palestine 2072 only - Oct 15 2:00 1:00 S
|
Rule Palestine 2072 only - Oct 22 2:00 1:00 S
|
||||||
|
Rule Palestine 2072 max - Oct Sat<=30 2:00 0 -
|
||||||
Rule Palestine 2073 only - Sep 2 2:00 0 -
|
Rule Palestine 2073 only - Sep 2 2:00 0 -
|
||||||
Rule Palestine 2073 only - Oct 7 2:00 1:00 S
|
Rule Palestine 2073 only - Oct 14 2:00 1:00 S
|
||||||
Rule Palestine 2074 only - Aug 18 2:00 0 -
|
Rule Palestine 2074 only - Aug 18 2:00 0 -
|
||||||
Rule Palestine 2074 only - Sep 29 2:00 1:00 S
|
Rule Palestine 2074 only - Oct 6 2:00 1:00 S
|
||||||
Rule Palestine 2075 only - Aug 10 2:00 0 -
|
Rule Palestine 2075 only - Aug 10 2:00 0 -
|
||||||
Rule Palestine 2075 only - Sep 14 2:00 1:00 S
|
Rule Palestine 2075 only - Sep 21 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 - Jul 25 2:00 0 -
|
||||||
Rule Palestine 2076 only - Sep 5 2:00 1:00 S
|
Rule Palestine 2076 only - Sep 12 2:00 1:00 S
|
||||||
Rule Palestine 2077 only - Jul 17 2:00 0 -
|
Rule Palestine 2077 only - Jul 17 2:00 0 -
|
||||||
Rule Palestine 2077 only - Aug 28 2:00 1:00 S
|
Rule Palestine 2077 only - Sep 4 2:00 1:00 S
|
||||||
Rule Palestine 2078 only - Jul 9 2:00 0 -
|
Rule Palestine 2078 only - Jul 9 2:00 0 -
|
||||||
Rule Palestine 2078 only - Aug 13 2:00 1:00 S
|
Rule Palestine 2078 only - Aug 20 2:00 1:00 S
|
||||||
Rule Palestine 2079 only - Jun 24 2:00 0 -
|
Rule Palestine 2079 only - Jun 24 2:00 0 -
|
||||||
Rule Palestine 2079 only - Aug 5 2:00 1:00 S
|
Rule Palestine 2079 only - Aug 12 2:00 1:00 S
|
||||||
Rule Palestine 2080 only - Jun 15 2:00 0 -
|
Rule Palestine 2080 only - Jun 15 2:00 0 -
|
||||||
Rule Palestine 2080 only - Jul 20 2:00 1:00 S
|
Rule Palestine 2080 only - Jul 27 2:00 1:00 S
|
||||||
Rule Palestine 2081 only - Jun 7 2:00 0 -
|
Rule Palestine 2081 only - Jun 7 2:00 0 -
|
||||||
Rule Palestine 2081 only - Jul 12 2:00 1:00 S
|
Rule Palestine 2081 only - Jul 19 2:00 1:00 S
|
||||||
Rule Palestine 2082 only - May 23 2:00 0 -
|
Rule Palestine 2082 only - May 23 2:00 0 -
|
||||||
Rule Palestine 2082 only - Jul 4 2:00 1:00 S
|
Rule Palestine 2082 only - Jul 11 2:00 1:00 S
|
||||||
Rule Palestine 2083 only - May 15 2:00 0 -
|
Rule Palestine 2083 only - May 15 2:00 0 -
|
||||||
Rule Palestine 2083 only - Jun 19 2:00 1:00 S
|
Rule Palestine 2083 only - Jun 26 2:00 1:00 S
|
||||||
Rule Palestine 2084 only - Apr 29 2:00 0 -
|
Rule Palestine 2084 only - Apr 29 2:00 0 -
|
||||||
Rule Palestine 2084 only - Jun 10 2:00 1:00 S
|
Rule Palestine 2084 only - Jun 17 2:00 1:00 S
|
||||||
Rule Palestine 2085 only - Apr 21 2:00 0 -
|
Rule Palestine 2085 only - Apr 21 2:00 0 -
|
||||||
Rule Palestine 2085 only - Jun 2 2:00 1:00 S
|
Rule Palestine 2085 only - Jun 9 2:00 1:00 S
|
||||||
Rule Palestine 2086 only - Apr 13 2:00 0 -
|
Rule Palestine 2086 only - Apr 13 2:00 0 -
|
||||||
Rule Palestine 2086 only - May 18 2:00 1:00 S
|
Rule Palestine 2086 only - May 25 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
|
||||||
@@ -3627,7 +3651,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
|
|||||||
|
|
||||||
# Philippines
|
# Philippines
|
||||||
|
|
||||||
# From Paul Eggert (2018-11-18):
|
# From Paul Eggert (2024-01-21):
|
||||||
# The Spanish initially used American (west-of-Greenwich) time.
|
# The Spanish initially used American (west-of-Greenwich) time.
|
||||||
# It is unknown what time Manila kept when the British occupied it from
|
# It is unknown what time Manila kept when the British occupied it from
|
||||||
# 1762-10-06 through 1764-04; for now assume it kept American time.
|
# 1762-10-06 through 1764-04; for now assume it kept American time.
|
||||||
@@ -3635,7 +3659,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
|
|||||||
# Philippines, issued a proclamation announcing that 1844-12-30 was to
|
# Philippines, issued a proclamation announcing that 1844-12-30 was to
|
||||||
# be immediately followed by 1845-01-01; see R.H. van Gent's
|
# be immediately followed by 1845-01-01; see R.H. van Gent's
|
||||||
# History of the International Date Line
|
# History of the International Date Line
|
||||||
# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm
|
# https://webspace.science.uu.nl/~gent0113/idl/idl_philippines.htm
|
||||||
# The rest of the data entries are from Shanks & Pottenger.
|
# The rest of the data entries are from Shanks & Pottenger.
|
||||||
|
|
||||||
# From Jesper Nørgaard Welen (2006-04-26):
|
# From Jesper Nørgaard Welen (2006-04-26):
|
||||||
@@ -4062,7 +4086,8 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
|
|||||||
# The English-language name of Vietnam's most populous city is "Ho Chi Minh
|
# The English-language name of Vietnam's most populous city is "Ho Chi Minh
|
||||||
# City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters.
|
# City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters.
|
||||||
|
|
||||||
# From Paul Eggert (2022-07-27) after a 2014 heads-up from Trần Ngọc Quân:
|
# From Paul Eggert (2024-01-14) after a 2014 heads-up from Trần Ngọc Quân
|
||||||
|
# and a 2024-01-14 heads-up from Đoàn Trần Công Danh:
|
||||||
# Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)"
|
# Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)"
|
||||||
# (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50,
|
# (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50,
|
||||||
# is quoted verbatim in:
|
# is quoted verbatim in:
|
||||||
@@ -4092,14 +4117,35 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
|
|||||||
#
|
#
|
||||||
# Trần cites the following sources; it's unclear which supplied the info above.
|
# Trần cites the following sources; it's unclear which supplied the info above.
|
||||||
#
|
#
|
||||||
# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội,
|
# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội,
|
||||||
# No. 9, Paris, February 1982.
|
# No. 9, Paris, February 1982.
|
||||||
#
|
#
|
||||||
# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)",
|
# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)",
|
||||||
# NXB Thống kê, Hanoi, 2000.
|
# NXB Thống kê, Hanoi, 2000.
|
||||||
#
|
#
|
||||||
# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu",
|
# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu",
|
||||||
# NXB Thuận Hoá, Huế, 1995.
|
# NXB Thuận Hoá, Huế, 1995.
|
||||||
|
#
|
||||||
|
# Here is the decision for the September 1945 transition:
|
||||||
|
# Võ Nguyên Giáp, Việt Nam Dân Quốc Công Báo, No. 1 (1945-09-29), page 13
|
||||||
|
# http://baochi.nlv.gov.vn/baochi/cgi-bin/baochi?a=d&d=JwvzO19450929.2.5&dliv=none
|
||||||
|
# It says that on 1945-09-01 at 24:00, Vietnam moved back two hours, to +07.
|
||||||
|
# It also mentions a 1945-03-29 decree (by a Japanese Goveror-General)
|
||||||
|
# to set the time zone to +09, but does not say whether that decree
|
||||||
|
# merely legalized an earlier change to +09.
|
||||||
|
#
|
||||||
|
# July 1955 transition:
|
||||||
|
# Ngô Đình Diệm, Công Báo Việt Nam, No. 92 (1955-07-02), page 1780-1781
|
||||||
|
# Ordinance (Dụ) No. 46 (1955-06-25)
|
||||||
|
# http://ddsnext.crl.edu/titles/32341#?c=0&m=29&s=0&cv=4&r=0&xywh=-89%2C342%2C1724%2C1216
|
||||||
|
# It says that on 1955-07-01 at 01:00, South Vietnam moved back 1 hour (to +07).
|
||||||
|
#
|
||||||
|
# December 1959 transition:
|
||||||
|
# Ngô Đình Diệm, Công Báo Việt Nam Cộng Hòa, 1960 part 1 (1960-01-02), page 62
|
||||||
|
# Decree (Sắc lệnh) No. 362-TTP (1959-12-30)
|
||||||
|
# http://ddsnext.crl.edu/titles/32341#?c=0&m=138&s=0&cv=793&r=0&xywh=-54%2C1504%2C1705%2C1202
|
||||||
|
# It says that on 1959-12-31 at 23:00, South Vietnam moved forward 1 hour (to +08).
|
||||||
|
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
#STDOFF 7:06:30.13
|
#STDOFF 7:06:30.13
|
||||||
@@ -4107,9 +4153,9 @@ Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1
|
|||||||
7:06:30 - PLMT 1911 May 1 # Phù Liễn MT
|
7:06:30 - PLMT 1911 May 1 # Phù Liễn MT
|
||||||
7:00 - +07 1942 Dec 31 23:00
|
7:00 - +07 1942 Dec 31 23:00
|
||||||
8:00 - +08 1945 Mar 14 23:00
|
8:00 - +08 1945 Mar 14 23:00
|
||||||
9:00 - +09 1945 Sep 2
|
9:00 - +09 1945 Sep 1 24:00
|
||||||
7:00 - +07 1947 Apr 1
|
7:00 - +07 1947 Apr 1
|
||||||
8:00 - +08 1955 Jul 1
|
8:00 - +08 1955 Jul 1 01:00
|
||||||
7:00 - +07 1959 Dec 31 23:00
|
7:00 - +07 1959 Dec 31 23:00
|
||||||
8:00 - +08 1975 Jun 13
|
8:00 - +08 1975 Jun 13
|
||||||
7:00 - +07
|
7:00 - +07
|
||||||
|
|||||||
@@ -414,8 +414,14 @@ Zone Antarctica/Macquarie 0 - -00 1899 Nov
|
|||||||
# Please note that there will not be any daylight savings time change
|
# Please note that there will not be any daylight savings time change
|
||||||
# in Fiji for 2022-2023....
|
# in Fiji for 2022-2023....
|
||||||
# https://www.facebook.com/FijianGovernment/posts/pfbid0mmWVTYmTibn66ybpFda75pDcf34SSpoSaskJW5gXwaKo5Sgc7273Q4fXWc6kQV6Hl
|
# https://www.facebook.com/FijianGovernment/posts/pfbid0mmWVTYmTibn66ybpFda75pDcf34SSpoSaskJW5gXwaKo5Sgc7273Q4fXWc6kQV6Hl
|
||||||
|
|
||||||
|
# From Almaz Mingaleev (2023-10-06):
|
||||||
|
# Cabinet approved the suspension of Daylight Saving and appropriate
|
||||||
|
# legislative changes will be considered including the repeal of the
|
||||||
|
# Daylight Saving Act 1998
|
||||||
|
# https://www.fiji.gov.fj/Media-Centre/Speeches/English/CABINET-DECISIONS-3-OCTOBER-2023
|
||||||
#
|
#
|
||||||
# From Paul Eggert (2022-10-27):
|
# From Paul Eggert (2023-10-06):
|
||||||
# For now, assume DST is suspended indefinitely.
|
# For now, assume DST is suspended indefinitely.
|
||||||
|
|
||||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||||
@@ -437,11 +443,11 @@ Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
|
|||||||
|
|
||||||
# French Polynesia
|
# French Polynesia
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea
|
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct 1 # Rikitea
|
||||||
-9:00 - -09
|
-9:00 - -09
|
||||||
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct
|
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct 1
|
||||||
-9:30 - -0930
|
-9:30 - -0930
|
||||||
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
|
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct 1 # Papeete
|
||||||
-10:00 - -10
|
-10:00 - -10
|
||||||
# Clipperton (near North America) is administered from French Polynesia;
|
# Clipperton (near North America) is administered from French Polynesia;
|
||||||
# it is uninhabited.
|
# it is uninhabited.
|
||||||
@@ -819,7 +825,7 @@ Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
|
|||||||
# Solomon Is
|
# Solomon Is
|
||||||
# excludes Bougainville, for which see Papua New Guinea
|
# excludes Bougainville, for which see Papua New Guinea
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara
|
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara
|
||||||
11:00 - +11
|
11:00 - +11
|
||||||
|
|
||||||
# Tokelau
|
# Tokelau
|
||||||
@@ -980,6 +986,10 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
|
|||||||
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
|
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
|
||||||
# https://www.jstor.org/stable/1774359
|
# https://www.jstor.org/stable/1774359
|
||||||
#
|
#
|
||||||
|
# For the 1911/1912 establishment of standard time in French possessions, see:
|
||||||
|
# Société Française de Physique, Recueil de constantes physiques (1913),
|
||||||
|
# page 752, 18b.
|
||||||
|
#
|
||||||
# A reliable and entertaining source about time zones is
|
# A reliable and entertaining source about time zones is
|
||||||
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
|
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
|
||||||
#
|
#
|
||||||
@@ -2056,7 +2066,7 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
|
|||||||
# ordaining - by a masterpiece of diplomatic flattery - that
|
# ordaining - by a masterpiece of diplomatic flattery - that
|
||||||
# the Fourth of July should be celebrated twice in that year."
|
# the Fourth of July should be celebrated twice in that year."
|
||||||
# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20.
|
# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20.
|
||||||
# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm
|
# https://webspace.science.uu.nl/~gent0113/idl/idl_alaska_samoa.htm
|
||||||
|
|
||||||
# Although Shanks & Pottenger says they both switched to UT -11:30
|
# Although Shanks & Pottenger says they both switched to UT -11:30
|
||||||
# in 1911, and to -11 in 1950. many earlier sources give -11
|
# in 1911, and to -11 in 1950. many earlier sources give -11
|
||||||
|
|||||||
@@ -228,7 +228,6 @@ Link America/Puerto_Rico America/Tortola
|
|||||||
Link Pacific/Port_Moresby Antarctica/DumontDUrville
|
Link Pacific/Port_Moresby Antarctica/DumontDUrville
|
||||||
Link Pacific/Auckland Antarctica/McMurdo
|
Link Pacific/Auckland Antarctica/McMurdo
|
||||||
Link Asia/Riyadh Antarctica/Syowa
|
Link Asia/Riyadh Antarctica/Syowa
|
||||||
Link Asia/Urumqi Antarctica/Vostok
|
|
||||||
Link Europe/Berlin Arctic/Longyearbyen
|
Link Europe/Berlin Arctic/Longyearbyen
|
||||||
Link Asia/Riyadh Asia/Aden
|
Link Asia/Riyadh Asia/Aden
|
||||||
Link Asia/Qatar Asia/Bahrain
|
Link Asia/Qatar Asia/Bahrain
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
# These entries are for uses not otherwise covered by the tz database.
|
# These entries are for uses not otherwise covered by the tz database.
|
||||||
# Their main practical use is for platforms like Android that lack
|
# Their main practical use is for platforms like Android that lack
|
||||||
# support for POSIX-style TZ strings. On such platforms these entries
|
# support for POSIX.1-2017-style TZ strings. On such platforms these entries
|
||||||
# can be useful if the timezone database is wrong or if a ship or
|
# can be useful if the timezone database is wrong or if a ship or
|
||||||
# aircraft at sea is not in a timezone.
|
# aircraft at sea is not in a timezone.
|
||||||
|
|
||||||
|
|||||||
@@ -1013,9 +1013,34 @@ Zone Europe/Sofia 1:33:16 - LMT 1880
|
|||||||
# Czech Republic (Czechia)
|
# Czech Republic (Czechia)
|
||||||
# Slovakia
|
# Slovakia
|
||||||
#
|
#
|
||||||
# From Paul Eggert (2018-04-15):
|
# From Ivan Benovic (2024-01-30):
|
||||||
# The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15.
|
# https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1946/54/
|
||||||
|
# (This is an official link to the Czechoslovak Summer Time Act of
|
||||||
|
# March 8, 1946 that authorizes the Czechoslovak government to set the
|
||||||
|
# exact dates of change to summer time and back to Central European Time.
|
||||||
|
# The act also implicitly confirms Central European Time as the
|
||||||
|
# official time zone of Czechoslovakia and currently remains in force
|
||||||
|
# in both the Czech Republic and Slovakia.)
|
||||||
|
# https://www.psp.cz/eknih/1945pns/tisky/t0216_00.htm
|
||||||
|
# (This is a link to the original legislative proposal dating back to
|
||||||
|
# February 22, 1946. The accompanying memorandum to the proposal says
|
||||||
|
# that an advisory committee on European railroad transportation that
|
||||||
|
# met in Brussels in October 1945 decided that the change of time
|
||||||
|
# should be carried out in all participating countries in a strictly
|
||||||
|
# coordinated manner....)
|
||||||
|
#
|
||||||
|
# From Paul Eggert (2024-01-30):
|
||||||
|
# The source for Czech data is: Kdy začíná a končí letní čas.
|
||||||
# https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas
|
# https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas
|
||||||
|
# Its main text disagrees with its quoted sources only in 1918,
|
||||||
|
# where the main text says spring and autumn transitions
|
||||||
|
# occurred at 02:00 and 03:00 respectively (as usual),
|
||||||
|
# whereas the 1918 source "Oznámení o zavedení letního času v roce 1918"
|
||||||
|
# says transitions were at 01:00 and 02:00 respectively.
|
||||||
|
# As the 1918 source appears to be a humorous piece, and it is
|
||||||
|
# unlikely that Prague would have disagreed with its neighbors by an hour,
|
||||||
|
# go with the main text for now.
|
||||||
|
#
|
||||||
# We know of no English-language name for historical Czech winter time;
|
# We know of no English-language name for historical Czech winter time;
|
||||||
# abbreviate it as "GMT", as it happened to be GMT.
|
# abbreviate it as "GMT", as it happened to be GMT.
|
||||||
#
|
#
|
||||||
@@ -1146,6 +1171,23 @@ Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn
|
|||||||
# 2. The shift *from* DST in 2023 happens as normal, but coincides with the
|
# 2. The shift *from* DST in 2023 happens as normal, but coincides with the
|
||||||
# shift to UTC-02 normaltime (people will not change their clocks here).
|
# shift to UTC-02 normaltime (people will not change their clocks here).
|
||||||
# 3. After this, DST is still observed, but as -02/-01 instead of -03/-02.
|
# 3. After this, DST is still observed, but as -02/-01 instead of -03/-02.
|
||||||
|
#
|
||||||
|
# From Múte Bourup Egede via Jógvan Svabo Samuelsen (2023-03-15):
|
||||||
|
# Greenland will not switch to Daylight Saving Time this year, 2023,
|
||||||
|
# because the standard time for Greenland will change from UTC -3 to UTC -2.
|
||||||
|
# However, Greenland will change to Daylight Saving Time again in 2024
|
||||||
|
# and onwards.
|
||||||
|
|
||||||
|
# From a contributor who wishes to remain anonymous for now (2023-10-29):
|
||||||
|
# https://www.dr.dk/nyheder/seneste/i-nat-skal-uret-stilles-en-time-tilbage-men-foerste-gang-sker-det-ikke-i-groenland
|
||||||
|
# with a link to that page:
|
||||||
|
# https://naalakkersuisut.gl/Nyheder/2023/10/2710_sommertid
|
||||||
|
# ... Ittoqqortoormiit joins the time of Nuuk at March 2024.
|
||||||
|
# What would mean that America/Scoresbysund would either be in -01 year round
|
||||||
|
# or in -02/-01 like America/Nuuk, but no longer in -01/+00.
|
||||||
|
#
|
||||||
|
# From Paul Eggert (2023-10-29):
|
||||||
|
# For now, assume it will be like America/Nuuk.
|
||||||
|
|
||||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||||
Rule Thule 1991 1992 - Mar lastSun 2:00 1:00 D
|
Rule Thule 1991 1992 - Mar lastSun 2:00 1:00 D
|
||||||
@@ -1166,10 +1208,12 @@ Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
|
|||||||
Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit
|
Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit
|
||||||
-2:00 - -02 1980 Apr 6 2:00
|
-2:00 - -02 1980 Apr 6 2:00
|
||||||
-2:00 C-Eur -02/-01 1981 Mar 29
|
-2:00 C-Eur -02/-01 1981 Mar 29
|
||||||
-1:00 EU -01/+00
|
-1:00 EU -01/+00 2024 Mar 31
|
||||||
|
-2:00 EU -02/-01
|
||||||
Zone America/Nuuk -3:26:56 - LMT 1916 Jul 28 # Godthåb
|
Zone America/Nuuk -3:26:56 - LMT 1916 Jul 28 # Godthåb
|
||||||
-3:00 - -03 1980 Apr 6 2:00
|
-3:00 - -03 1980 Apr 6 2:00
|
||||||
-3:00 EU -03/-02 2023 Oct 29 1:00u
|
-3:00 EU -03/-02 2023 Mar 26 1:00u
|
||||||
|
-2:00 - -02 2023 Oct 29 1:00u
|
||||||
-2:00 EU -02/-01
|
-2:00 EU -02/-01
|
||||||
Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik
|
Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik
|
||||||
-4:00 Thule A%sT
|
-4:00 Thule A%sT
|
||||||
@@ -3734,11 +3778,7 @@ Zone Europe/Istanbul 1:55:52 - LMT 1880
|
|||||||
# and not at 3:00 as would have been under EU rules.
|
# and not at 3:00 as would have been under EU rules.
|
||||||
# This is why I have set the change to EU rules into May 1996,
|
# This is why I have set the change to EU rules into May 1996,
|
||||||
# so that the change in March is stil covered by the Ukraine rule.
|
# so that the change in March is stil covered by the Ukraine rule.
|
||||||
# The next change in October 1996 happened under EU rules....
|
# The next change in October 1996 happened under EU rules.
|
||||||
# TZ database holds three other zones for Ukraine.... I have not yet
|
|
||||||
# worked out the consequences for these three zones, as we (me and my
|
|
||||||
# US colleague David Cochrane) are still trying to get more
|
|
||||||
# information upon these local deviations from Kiev rules.
|
|
||||||
#
|
#
|
||||||
# From Paul Eggert (2022-08-27):
|
# From Paul Eggert (2022-08-27):
|
||||||
# For now, assume that Ukraine's zones all followed the same rules,
|
# For now, assume that Ukraine's zones all followed the same rules,
|
||||||
|
|||||||
@@ -26,17 +26,22 @@
|
|||||||
# This file is in the public domain, so clarified as of
|
# This file is in the public domain, so clarified as of
|
||||||
# 2009-05-17 by Arthur David Olson.
|
# 2009-05-17 by Arthur David Olson.
|
||||||
#
|
#
|
||||||
# From Paul Eggert (2022-11-18):
|
# From Paul Eggert (2023-09-06):
|
||||||
# This file contains a table of two-letter country codes. Columns are
|
# This file contains a table of two-letter country codes. Columns are
|
||||||
# separated by a single tab. Lines beginning with '#' are comments.
|
# separated by a single tab. Lines beginning with '#' are comments.
|
||||||
# All text uses UTF-8 encoding. The columns of the table are as follows:
|
# All text uses UTF-8 encoding. The columns of the table are as follows:
|
||||||
#
|
#
|
||||||
# 1. ISO 3166-1 alpha-2 country code, current as of
|
# 1. ISO 3166-1 alpha-2 country code, current as of
|
||||||
# ISO 3166-1 N1087 (2022-09-02). See: Updates on ISO 3166-1
|
# ISO/TC 46 N1108 (2023-04-05). See: ISO/TC 46 Documents
|
||||||
# https://isotc.iso.org/livelink/livelink/Open/16944257
|
# https://www.iso.org/committee/48750.html?view=documents
|
||||||
# 2. The usual English name for the coded region,
|
# 2. The usual English name for the coded region. This sometimes
|
||||||
# chosen so that alphabetic sorting of subsets produces helpful lists.
|
# departs from ISO-listed names, sometimes so that sorted subsets
|
||||||
# This is not the same as the English name in the ISO 3166 tables.
|
# of names are useful (e.g., "Samoa (American)" and "Samoa
|
||||||
|
# (western)" rather than "American Samoa" and "Samoa"),
|
||||||
|
# sometimes to avoid confusion among non-experts (e.g.,
|
||||||
|
# "Czech Republic" and "Turkey" rather than "Czechia" and "Türkiye"),
|
||||||
|
# and sometimes to omit needless detail or churn (e.g., "Netherlands"
|
||||||
|
# rather than "Netherlands (the)" or "Netherlands (Kingdom of the)").
|
||||||
#
|
#
|
||||||
# The table is sorted by country code.
|
# The table is sorted by country code.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -26,13 +26,10 @@
|
|||||||
# This file is in the public domain.
|
# This file is in the public domain.
|
||||||
|
|
||||||
# This file is generated automatically from the data in the public-domain
|
# This file is generated automatically from the data in the public-domain
|
||||||
# NIST format leap-seconds.list file, which can be copied from
|
# NIST/IERS format leap-seconds.list file, which can be copied from
|
||||||
# <ftp://ftp.nist.gov/pub/time/leap-seconds.list>
|
|
||||||
# or <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>.
|
|
||||||
# The NIST file is used instead of its IERS upstream counterpart
|
|
||||||
# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>
|
# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>
|
||||||
# because under US law the NIST file is public domain
|
# or, in a variant with different comments, from
|
||||||
# whereas the IERS file's copyright and license status is unclear.
|
# <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>.
|
||||||
# For more about leap-seconds.list, please see
|
# For more about leap-seconds.list, please see
|
||||||
# The NTP Timescale and Leap Seconds
|
# The NTP Timescale and Leap Seconds
|
||||||
# <https://www.eecis.udel.edu/~mills/leap.html>.
|
# <https://www.eecis.udel.edu/~mills/leap.html>.
|
||||||
@@ -95,11 +92,11 @@ Leap 2016 Dec 31 23:59:60 + S
|
|||||||
# Any additional leap seconds will come after this.
|
# Any additional leap seconds will come after this.
|
||||||
# This Expires line is commented out for now,
|
# This Expires line is commented out for now,
|
||||||
# so that pre-2020a zic implementations do not reject this file.
|
# so that pre-2020a zic implementations do not reject this file.
|
||||||
#Expires 2023 Dec 28 00:00:00
|
#Expires 2024 Dec 28 00:00:00
|
||||||
|
|
||||||
# POSIX timestamps for the data in this file:
|
# POSIX timestamps for the data in this file:
|
||||||
#updated 1467936000 (2016-07-08 00:00:00 UTC)
|
#updated 1704708379 (2024-01-08 10:06:19 UTC)
|
||||||
#expires 1703721600 (2023-12-28 00:00:00 UTC)
|
#expires 1735344000 (2024-12-28 00:00:00 UTC)
|
||||||
|
|
||||||
# Updated through IERS Bulletin C65
|
# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat)
|
||||||
# File expires on: 28 December 2023
|
# File expires on 28 December 2024
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
#
|
||||||
# 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
|
||||||
@@ -1290,6 +1291,10 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
|
|||||||
# <http://cs.ucla.edu/~eggert/The-Waste-of-Daylight-19th.pdf>
|
# <http://cs.ucla.edu/~eggert/The-Waste-of-Daylight-19th.pdf>
|
||||||
# [PDF] (1914-03)
|
# [PDF] (1914-03)
|
||||||
#
|
#
|
||||||
|
# For the 1911/1912 establishment of standard time in French possessions, see:
|
||||||
|
# Société Française de Physique, Recueil de constantes physiques (1913),
|
||||||
|
# page 752, 18b.
|
||||||
|
#
|
||||||
# See the 'europe' file for Greenland.
|
# See the 'europe' file for Greenland.
|
||||||
|
|
||||||
# Canada
|
# Canada
|
||||||
@@ -1376,7 +1381,7 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
|
|||||||
# From Paul Eggert (2014-10-18):
|
# From Paul Eggert (2014-10-18):
|
||||||
# H. David Matthews and Mary Vincent's map
|
# H. David Matthews and Mary Vincent's map
|
||||||
# "It's about TIME", _Canadian Geographic_ (September-October 1998)
|
# "It's about TIME", _Canadian Geographic_ (September-October 1998)
|
||||||
# http://www.canadiangeographic.ca/Magazine/SO98/alacarte.asp
|
# https://web.archive.org/web/19990827055050/https://canadiangeographic.ca/SO98/geomap.htm
|
||||||
# contains detailed boundaries for regions observing nonstandard
|
# contains detailed boundaries for regions observing nonstandard
|
||||||
# time and daylight saving time arrangements in Canada circa 1998.
|
# time and daylight saving time arrangements in Canada circa 1998.
|
||||||
#
|
#
|
||||||
@@ -1475,7 +1480,7 @@ Rule StJohns 1989 2006 - Apr Sun>=1 0:01 1:00 D
|
|||||||
Rule StJohns 2007 2011 - Mar Sun>=8 0:01 1:00 D
|
Rule StJohns 2007 2011 - Mar Sun>=8 0:01 1:00 D
|
||||||
Rule StJohns 2007 2010 - Nov Sun>=1 0:01 0 S
|
Rule StJohns 2007 2010 - Nov Sun>=1 0:01 0 S
|
||||||
#
|
#
|
||||||
# St John's has an apostrophe, but Posix file names can't have apostrophes.
|
# St John's has an apostrophe, but POSIX file names can't have apostrophes.
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone America/St_Johns -3:30:52 - LMT 1884
|
Zone America/St_Johns -3:30:52 - LMT 1884
|
||||||
-3:30:52 StJohns N%sT 1918
|
-3:30:52 StJohns N%sT 1918
|
||||||
@@ -1664,6 +1669,15 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
|
|||||||
# Some cities in the United States have pushed the deadline back
|
# Some cities in the United States have pushed the deadline back
|
||||||
# three weeks and will change over from daylight saving in October.
|
# three weeks and will change over from daylight saving in October.
|
||||||
|
|
||||||
|
# From Chris Walton (2024-01-09):
|
||||||
|
# The [Toronto] changes in 1947, 1948, and 1949 took place at 2:00 a.m. local
|
||||||
|
# time instead of midnight.... Toronto Daily Star - ...
|
||||||
|
# April 2, 1947 - Page 39 ... April 7, 1948 - Page 13 ...
|
||||||
|
# April 2, 1949 - Page 1 ... April 7, 1949 - Page 24 ...
|
||||||
|
# November 25, 1949 - Page 52 ... April 21, 1950 - Page 14 ...
|
||||||
|
# September 19, 1950 - Page 46 ... September 20, 1950 - Page 3 ...
|
||||||
|
# November 24, 1950 - Page 21
|
||||||
|
|
||||||
# From Arthur David Olson (2010-07-17):
|
# From Arthur David Olson (2010-07-17):
|
||||||
#
|
#
|
||||||
# "Standard Time and Time Zones in Canada" appeared in
|
# "Standard Time and Time Zones in Canada" appeared in
|
||||||
@@ -1725,13 +1739,9 @@ Rule Toronto 1927 1937 - Sep Sun>=25 2:00 0 S
|
|||||||
Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D
|
Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D
|
||||||
Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D
|
Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D
|
||||||
Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S
|
Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S
|
||||||
Rule Toronto 1945 1946 - Sep lastSun 2:00 0 S
|
Rule Toronto 1945 1948 - Sep lastSun 2:00 0 S
|
||||||
Rule Toronto 1946 only - Apr lastSun 2:00 1:00 D
|
Rule Toronto 1946 1973 - Apr lastSun 2:00 1:00 D
|
||||||
Rule Toronto 1947 1949 - Apr lastSun 0:00 1:00 D
|
Rule Toronto 1949 1950 - Nov lastSun 2:00 0 S
|
||||||
Rule Toronto 1947 1948 - Sep lastSun 0:00 0 S
|
|
||||||
Rule Toronto 1949 only - Nov lastSun 0:00 0 S
|
|
||||||
Rule Toronto 1950 1973 - Apr lastSun 2:00 1:00 D
|
|
||||||
Rule Toronto 1950 only - Nov lastSun 2:00 0 S
|
|
||||||
Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S
|
Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S
|
||||||
# Shanks & Pottenger say Toronto ended DST a week early in 1971,
|
# Shanks & Pottenger say Toronto ended DST a week early in 1971,
|
||||||
# namely on 1971-10-24, but Mark Brader wrote (2003-05-31) that this
|
# namely on 1971-10-24, but Mark Brader wrote (2003-05-31) that this
|
||||||
@@ -3454,7 +3464,7 @@ Zone America/Jamaica -5:07:10 - LMT 1890 # Kingston
|
|||||||
# Martinique
|
# Martinique
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
|
Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
|
||||||
-4:04:20 - FFMT 1911 May # Fort-de-France MT
|
-4:04:20 - FFMT 1911 May 1 # Fort-de-France MT
|
||||||
-4:00 - AST 1980 Apr 6
|
-4:00 - AST 1980 Apr 6
|
||||||
-4:00 1:00 ADT 1980 Sep 28
|
-4:00 1:00 ADT 1980 Sep 28
|
||||||
-4:00 - AST
|
-4:00 - AST
|
||||||
@@ -3561,7 +3571,7 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
|
|||||||
# St Pierre and Miquelon
|
# St Pierre and Miquelon
|
||||||
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
|
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
|
Zone America/Miquelon -3:44:40 - LMT 1911 Jun 15 # St Pierre
|
||||||
-4:00 - AST 1980 May
|
-4:00 - AST 1980 May
|
||||||
-3:00 - -03 1987
|
-3:00 - -03 1987
|
||||||
-3:00 Canada -03/-02
|
-3:00 Canada -03/-02
|
||||||
|
|||||||
@@ -1593,8 +1593,11 @@ Zone Atlantic/Stanley -3:51:24 - LMT 1890
|
|||||||
-3:00 - -03
|
-3:00 - -03
|
||||||
|
|
||||||
# French Guiana
|
# French Guiana
|
||||||
|
# For the 1911/1912 establishment of standard time in French possessions, see:
|
||||||
|
# Société Française de Physique, Recueil de constantes physiques (1913),
|
||||||
|
# page 752, 18b.
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone America/Cayenne -3:29:20 - LMT 1911 Jul
|
Zone America/Cayenne -3:29:20 - LMT 1911 Jul 1
|
||||||
-4:00 - -04 1967 Oct
|
-4:00 - -04 1967 Oct
|
||||||
-3:00 - -03
|
-3:00 - -03
|
||||||
|
|
||||||
@@ -1720,6 +1723,12 @@ Rule Para 2010 2012 - Apr Sun>=8 0:00 0 -
|
|||||||
# From Carlos Raúl Perasso (2014-02-28):
|
# From Carlos Raúl Perasso (2014-02-28):
|
||||||
# Decree 1264 can be found at:
|
# Decree 1264 can be found at:
|
||||||
# http://www.presidencia.gov.py/archivos/documentos/DECRETO1264_ey9r8zai.pdf
|
# http://www.presidencia.gov.py/archivos/documentos/DECRETO1264_ey9r8zai.pdf
|
||||||
|
#
|
||||||
|
# From Paul Eggert (2023-07-26):
|
||||||
|
# Transition dates are now set by Law No. 7115, not by presidential decree.
|
||||||
|
# https://www.abc.com.py/politica/2023/07/12/promulgacion-el-cambio-de-hora-sera-por-ley/
|
||||||
|
# From Carlos Raúl Perasso (2023-07-27):
|
||||||
|
# http://silpy.congreso.gov.py/descarga/ley-144138
|
||||||
Rule Para 2013 max - Mar Sun>=22 0:00 0 -
|
Rule Para 2013 max - Mar Sun>=22 0:00 0 -
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ AR -3124-06411 America/Argentina/Cordoba Argentina (most areas: CB, CC, CN, ER,
|
|||||||
AR -2447-06525 America/Argentina/Salta Salta (SA, LP, NQ, RN)
|
AR -2447-06525 America/Argentina/Salta Salta (SA, LP, NQ, RN)
|
||||||
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY)
|
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY)
|
||||||
AR -2649-06513 America/Argentina/Tucuman Tucuman (TM)
|
AR -2649-06513 America/Argentina/Tucuman Tucuman (TM)
|
||||||
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT); Chubut (CH)
|
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT), Chubut (CH)
|
||||||
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR)
|
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR)
|
||||||
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ)
|
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ)
|
||||||
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ)
|
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ)
|
||||||
@@ -110,7 +110,7 @@ BN +0456+11455 Asia/Brunei
|
|||||||
BO -1630-06809 America/La_Paz
|
BO -1630-06809 America/La_Paz
|
||||||
BQ +120903-0681636 America/Kralendijk
|
BQ +120903-0681636 America/Kralendijk
|
||||||
BR -0351-03225 America/Noronha Atlantic islands
|
BR -0351-03225 America/Noronha Atlantic islands
|
||||||
BR -0127-04829 America/Belem Para (east); Amapa
|
BR -0127-04829 America/Belem Para (east), Amapa
|
||||||
BR -0343-03830 America/Fortaleza Brazil (northeast: MA, PI, CE, RN, PB)
|
BR -0343-03830 America/Fortaleza Brazil (northeast: MA, PI, CE, RN, PB)
|
||||||
BR -0803-03454 America/Recife Pernambuco
|
BR -0803-03454 America/Recife Pernambuco
|
||||||
BR -0712-04812 America/Araguaina Tocantins
|
BR -0712-04812 America/Araguaina Tocantins
|
||||||
@@ -130,21 +130,21 @@ BT +2728+08939 Asia/Thimphu
|
|||||||
BW -2439+02555 Africa/Gaborone
|
BW -2439+02555 Africa/Gaborone
|
||||||
BY +5354+02734 Europe/Minsk
|
BY +5354+02734 Europe/Minsk
|
||||||
BZ +1730-08812 America/Belize
|
BZ +1730-08812 America/Belize
|
||||||
CA +4734-05243 America/St_Johns Newfoundland; Labrador (southeast)
|
CA +4734-05243 America/St_Johns Newfoundland, Labrador (SE)
|
||||||
CA +4439-06336 America/Halifax Atlantic - NS (most areas); PE
|
CA +4439-06336 America/Halifax Atlantic - NS (most areas), PE
|
||||||
CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton)
|
CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton)
|
||||||
CA +4606-06447 America/Moncton Atlantic - New Brunswick
|
CA +4606-06447 America/Moncton Atlantic - New Brunswick
|
||||||
CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
|
CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
|
||||||
CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
|
CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
|
||||||
CA +4339-07923 America/Toronto Eastern - ON, QC (most areas)
|
CA +4339-07923 America/Toronto Eastern - ON & QC (most areas)
|
||||||
CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
|
CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
|
||||||
CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H)
|
CA +484531-0913718 America/Atikokan EST - ON (Atikokan), NU (Coral H)
|
||||||
CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba
|
CA +4953-09709 America/Winnipeg Central - ON (west), Manitoba
|
||||||
CA +744144-0944945 America/Resolute Central - NU (Resolute)
|
CA +744144-0944945 America/Resolute Central - NU (Resolute)
|
||||||
CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
|
CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
|
||||||
CA +5024-10439 America/Regina CST - SK (most areas)
|
CA +5024-10439 America/Regina CST - SK (most areas)
|
||||||
CA +5017-10750 America/Swift_Current CST - SK (midwest)
|
CA +5017-10750 America/Swift_Current CST - SK (midwest)
|
||||||
CA +5333-11328 America/Edmonton Mountain - AB; BC (E); NT (E); SK (W)
|
CA +5333-11328 America/Edmonton Mountain - AB, BC(E), NT(E), SK(W)
|
||||||
CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
|
CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
|
||||||
CA +682059-1334300 America/Inuvik Mountain - NT (west)
|
CA +682059-1334300 America/Inuvik Mountain - NT (west)
|
||||||
CA +4906-11631 America/Creston MST - BC (Creston)
|
CA +4906-11631 America/Creston MST - BC (Creston)
|
||||||
@@ -230,8 +230,8 @@ HT +1832-07220 America/Port-au-Prince
|
|||||||
HU +4730+01905 Europe/Budapest
|
HU +4730+01905 Europe/Budapest
|
||||||
ID -0610+10648 Asia/Jakarta Java, Sumatra
|
ID -0610+10648 Asia/Jakarta Java, Sumatra
|
||||||
ID -0002+10920 Asia/Pontianak Borneo (west, central)
|
ID -0002+10920 Asia/Pontianak Borneo (west, central)
|
||||||
ID -0507+11924 Asia/Makassar Borneo (east, south); Sulawesi/Celebes, Bali, Nusa Tengarra; Timor (west)
|
ID -0507+11924 Asia/Makassar Borneo (east, south), Sulawesi/Celebes, Bali, Nusa Tengarra, Timor (west)
|
||||||
ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya); Malukus/Moluccas
|
ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya), Malukus/Moluccas
|
||||||
IE +5320-00615 Europe/Dublin
|
IE +5320-00615 Europe/Dublin
|
||||||
IL +314650+0351326 Asia/Jerusalem
|
IL +314650+0351326 Asia/Jerusalem
|
||||||
IM +5409-00428 Europe/Isle_of_Man
|
IM +5409-00428 Europe/Isle_of_Man
|
||||||
@@ -378,7 +378,7 @@ RU +4310+13156 Asia/Vladivostok MSK+07 - Amur River
|
|||||||
RU +643337+1431336 Asia/Ust-Nera MSK+07 - Oymyakonsky
|
RU +643337+1431336 Asia/Ust-Nera MSK+07 - Oymyakonsky
|
||||||
RU +5934+15048 Asia/Magadan MSK+08 - Magadan
|
RU +5934+15048 Asia/Magadan MSK+08 - Magadan
|
||||||
RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island
|
RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island
|
||||||
RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E); N Kuril Is
|
RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E), N Kuril Is
|
||||||
RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka
|
RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka
|
||||||
RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea
|
RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea
|
||||||
RW -0157+03004 Africa/Kigali
|
RW -0157+03004 Africa/Kigali
|
||||||
@@ -441,7 +441,7 @@ US +470659-1011757 America/North_Dakota/Center Central - ND (Oliver)
|
|||||||
US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural)
|
US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural)
|
||||||
US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer)
|
US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer)
|
||||||
US +394421-1045903 America/Denver Mountain (most areas)
|
US +394421-1045903 America/Denver Mountain (most areas)
|
||||||
US +433649-1161209 America/Boise Mountain - ID (south); OR (east)
|
US +433649-1161209 America/Boise Mountain - ID (south), OR (east)
|
||||||
US +332654-1120424 America/Phoenix MST - AZ (except Navajo)
|
US +332654-1120424 America/Phoenix MST - AZ (except Navajo)
|
||||||
US +340308-1181434 America/Los_Angeles Pacific
|
US +340308-1181434 America/Los_Angeles Pacific
|
||||||
US +611305-1495401 America/Anchorage Alaska (most areas)
|
US +611305-1495401 America/Anchorage Alaska (most areas)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2018, 2023, 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
|
||||||
@@ -26,9 +26,9 @@
|
|||||||
# Create a bundle in the build directory, containing what's needed to
|
# Create a bundle in the build directory, containing what's needed to
|
||||||
# build and run JMH microbenchmarks from the OpenJDK build.
|
# build and run JMH microbenchmarks from the OpenJDK build.
|
||||||
|
|
||||||
JMH_VERSION=1.35
|
JMH_VERSION=1.37
|
||||||
COMMONS_MATH3_VERSION=3.2
|
COMMONS_MATH3_VERSION=3.6.1
|
||||||
JOPT_SIMPLE_VERSION=4.6
|
JOPT_SIMPLE_VERSION=5.0.4
|
||||||
|
|
||||||
BUNDLE_NAME=jmh-$JMH_VERSION.tar.gz
|
BUNDLE_NAME=jmh-$JMH_VERSION.tar.gz
|
||||||
|
|
||||||
@@ -40,10 +40,22 @@ mkdir -p $BUILD_DIR $JAR_DIR
|
|||||||
cd $JAR_DIR
|
cd $JAR_DIR
|
||||||
rm -f *
|
rm -f *
|
||||||
|
|
||||||
wget https://repo.maven.apache.org/maven2/org/apache/commons/commons-math3/$COMMONS_MATH3_VERSION/commons-math3-$COMMONS_MATH3_VERSION.jar
|
fetchJar() {
|
||||||
wget https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/$JOPT_SIMPLE_VERSION/jopt-simple-$JOPT_SIMPLE_VERSION.jar
|
url="https://repo.maven.apache.org/maven2/$1/$2/$3/$2-$3.jar"
|
||||||
wget https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-core/$JMH_VERSION/jmh-core-$JMH_VERSION.jar
|
if command -v curl > /dev/null; then
|
||||||
wget https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-generator-annprocess/$JMH_VERSION/jmh-generator-annprocess-$JMH_VERSION.jar
|
curl -O --fail $url
|
||||||
|
elif command -v wget > /dev/null; then
|
||||||
|
wget $url
|
||||||
|
else
|
||||||
|
echo "Could not find either curl or wget"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
fetchJar org/apache/commons commons-math3 $COMMONS_MATH3_VERSION
|
||||||
|
fetchJar net/sf/jopt-simple jopt-simple $JOPT_SIMPLE_VERSION
|
||||||
|
fetchJar org/openjdk/jmh jmh-core $JMH_VERSION
|
||||||
|
fetchJar org/openjdk/jmh jmh-generator-annprocess $JMH_VERSION
|
||||||
|
|
||||||
tar -cvzf ../$BUNDLE_NAME *
|
tar -cvzf ../$BUNDLE_NAME *
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2013, 2021, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2013, 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
|
||||||
@@ -149,6 +149,13 @@ ifeq ($(call check-jvm-feature, compiler2), true)
|
|||||||
)))
|
)))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(HOTSPOT_TARGET_CPU_ARCH), riscv)
|
||||||
|
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
|
||||||
|
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/$(HOTSPOT_TARGET_CPU_ARCH)_v.ad \
|
||||||
|
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/$(HOTSPOT_TARGET_CPU_ARCH)_b.ad \
|
||||||
|
)))
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(call check-jvm-feature, shenandoahgc), true)
|
ifeq ($(call check-jvm-feature, shenandoahgc), true)
|
||||||
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
|
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
|
||||||
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/shenandoah/shenandoah_$(HOTSPOT_TARGET_CPU).ad \
|
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/shenandoah/shenandoah_$(HOTSPOT_TARGET_CPU).ad \
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2001, 2023, 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,6 +32,7 @@ import java.io.FileInputStream;
|
|||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
@@ -339,9 +340,15 @@ public class GenerateCurrencyData {
|
|||||||
validCurrencyCodes.substring(i * 7 + 3, i * 7 + 6));
|
validCurrencyCodes.substring(i * 7 + 3, i * 7 + 6));
|
||||||
checkCurrencyCode(currencyCode);
|
checkCurrencyCode(currencyCode);
|
||||||
int tableEntry = mainTable[(currencyCode.charAt(0) - 'A') * A_TO_Z + (currencyCode.charAt(1) - 'A')];
|
int tableEntry = mainTable[(currencyCode.charAt(0) - 'A') * A_TO_Z + (currencyCode.charAt(1) - 'A')];
|
||||||
if (tableEntry == INVALID_COUNTRY_ENTRY ||
|
|
||||||
(tableEntry & SPECIAL_CASE_COUNTRY_MASK) != 0 ||
|
// Do not allow a future currency to be classified as an otherCurrency,
|
||||||
(tableEntry & SIMPLE_CASE_COUNTRY_FINAL_CHAR_MASK) != (currencyCode.charAt(2) - 'A')) {
|
// otherwise it will leak out into Currency:getAvailableCurrencies
|
||||||
|
boolean futureCurrency = Arrays.asList(specialCaseNewCurrencies).contains(currencyCode);
|
||||||
|
boolean simpleCurrency = (tableEntry & SIMPLE_CASE_COUNTRY_FINAL_CHAR_MASK) == (currencyCode.charAt(2) - 'A');
|
||||||
|
|
||||||
|
// If neither a simple currency, or one defined in the future
|
||||||
|
// then the current currency is applicable to be added to the otherTable
|
||||||
|
if (!futureCurrency && !simpleCurrency) {
|
||||||
if (otherCurrenciesCount == maxOtherCurrencies) {
|
if (otherCurrenciesCount == maxOtherCurrencies) {
|
||||||
throw new RuntimeException("too many other currencies");
|
throw new RuntimeException("too many other currencies");
|
||||||
}
|
}
|
||||||
|
|||||||
451
make/jdk/src/classes/build/tools/jbrapi/JBRApiPlugin.java
Normal file
451
make/jdk/src/classes/build/tools/jbrapi/JBRApiPlugin.java
Normal file
@@ -0,0 +1,451 @@
|
|||||||
|
package build.tools.jbrapi;
|
||||||
|
|
||||||
|
import com.sun.source.tree.CompilationUnitTree;
|
||||||
|
import com.sun.source.tree.Tree;
|
||||||
|
import com.sun.source.util.*;
|
||||||
|
|
||||||
|
import javax.lang.model.element.*;
|
||||||
|
import javax.lang.model.type.ArrayType;
|
||||||
|
import javax.lang.model.type.DeclaredType;
|
||||||
|
import javax.lang.model.type.ExecutableType;
|
||||||
|
import javax.lang.model.type.TypeMirror;
|
||||||
|
import javax.lang.model.util.ElementScanner14;
|
||||||
|
import javax.lang.model.util.Elements;
|
||||||
|
import javax.lang.model.util.Types;
|
||||||
|
import javax.tools.Diagnostic;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.RandomAccessFile;
|
||||||
|
import java.nio.channels.FileChannel;
|
||||||
|
import java.nio.channels.OverlappingFileLockException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.concurrent.locks.LockSupport;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class JBRApiPlugin implements Plugin {
|
||||||
|
|
||||||
|
enum Binding {
|
||||||
|
SERVICE,
|
||||||
|
PROVIDES,
|
||||||
|
PROVIDED,
|
||||||
|
TWO_WAY
|
||||||
|
}
|
||||||
|
|
||||||
|
record DiagnosticTree(CompilationUnitTree root, Tree tree) {}
|
||||||
|
record TypeBinding(DiagnosticTree diagnostic, TypeElement element, String currentType, String bindType, Binding binding) {}
|
||||||
|
record MethodBinding(DiagnosticTree diagnostic, ExecutableElement element, Registry.StaticDescriptor currentMethod, Registry.StaticMethod bindMethod) {}
|
||||||
|
|
||||||
|
final Map<String, TypeBinding> typeBindings = new HashMap<>();
|
||||||
|
final List<MethodBinding> methodBindings = new ArrayList<>();
|
||||||
|
Elements elements;
|
||||||
|
Trees trees;
|
||||||
|
Types types;
|
||||||
|
|
||||||
|
class Registry {
|
||||||
|
|
||||||
|
record Type(String type, Binding binding) {}
|
||||||
|
record StaticMethod(String type, String name) {}
|
||||||
|
record StaticDescriptor(StaticMethod method, String descriptor) {}
|
||||||
|
|
||||||
|
final Map<String, Type> types = new HashMap<>();
|
||||||
|
final Map<StaticDescriptor, StaticMethod> methods = new HashMap<>();
|
||||||
|
final Set<Object> internal = new HashSet<>();
|
||||||
|
|
||||||
|
void validateInternal(DiagnosticTree diagnostic, String currentType, Binding binding, TypeElement bindType) {
|
||||||
|
if (bindType.getKind() != ElementKind.CLASS && bindType.getKind() != ElementKind.INTERFACE) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid JBR API binding:" + currentType + " -> " +
|
||||||
|
bindType.getQualifiedName().toString() + " (not a class or interface)",
|
||||||
|
diagnostic.tree, diagnostic.root);
|
||||||
|
} else if (bindType.getModifiers().contains(Modifier.FINAL) || bindType.getModifiers().contains(Modifier.SEALED)) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid JBR API binding:" + currentType + " -> " +
|
||||||
|
bindType.getQualifiedName().toString() + " (not inheritable)",
|
||||||
|
diagnostic.tree, diagnostic.root);
|
||||||
|
}
|
||||||
|
if (binding != Binding.SERVICE) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid JBR API binding:" + currentType + " -> " +
|
||||||
|
bindType.getQualifiedName().toString() + " (internal, non-service)",
|
||||||
|
diagnostic.tree, diagnostic.root);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void validateInternalMethod(DiagnosticTree diagnostic, StaticDescriptor currentMethod, TypeElement bindType, String bindMethod) {
|
||||||
|
boolean methodFound = false;
|
||||||
|
for (Element m : bindType.getEnclosedElements()) {
|
||||||
|
if (m.getKind() == ElementKind.METHOD &&
|
||||||
|
!m.getModifiers().contains(Modifier.STATIC) &&
|
||||||
|
!m.getModifiers().contains(Modifier.FINAL) &&
|
||||||
|
m.getSimpleName().contentEquals(bindMethod) &&
|
||||||
|
descriptor(m.asType()).equals(currentMethod.descriptor)) {
|
||||||
|
methodFound = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!methodFound) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid static binding: " +
|
||||||
|
currentMethod.method.type + "#" + currentMethod.method.name + " -> " +
|
||||||
|
bindType.getQualifiedName().toString() + "#" + bindMethod +
|
||||||
|
" (no matching method found, type conversions are not allowed for internal bindings)",
|
||||||
|
diagnostic.tree, diagnostic.root);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> addBindings() {
|
||||||
|
List<String> unresolvedErrors = new ArrayList<>();
|
||||||
|
List<TypeBinding> addedTypes = new ArrayList<>();
|
||||||
|
List<MethodBinding> addedMethods = new ArrayList<>();
|
||||||
|
Set<Object> validated = new HashSet<>();
|
||||||
|
// Remove changed bindings.
|
||||||
|
for (TypeBinding type : typeBindings.values()) {
|
||||||
|
if (type.bindType != null) addedTypes.add(type);
|
||||||
|
types.remove(type.currentType);
|
||||||
|
}
|
||||||
|
for (MethodBinding method : methodBindings) {
|
||||||
|
if (method.bindMethod != null) addedMethods.add(method);
|
||||||
|
methods.remove(method.currentMethod);
|
||||||
|
}
|
||||||
|
methods.entrySet().removeIf(m -> typeBindings.containsKey(m.getKey().method.type));
|
||||||
|
// Build inverse binding map.
|
||||||
|
Map<String, String> inverseTypes = types.entrySet().stream().collect(Collectors.toMap(
|
||||||
|
e -> e.getValue().type, Map.Entry::getKey, (a, b) -> {
|
||||||
|
unresolvedErrors.add("Conflicting JBR API binding: " + a + " and "+ b + " binds to the same type");
|
||||||
|
return a + "," + b;
|
||||||
|
}));
|
||||||
|
Map<StaticDescriptor, StaticMethod> inverseMethods = methods.entrySet().stream().collect(Collectors.toMap(
|
||||||
|
e -> new StaticDescriptor(e.getValue(), e.getKey().descriptor), e -> e.getKey().method, (a, b) -> {
|
||||||
|
unresolvedErrors.add("Conflicting JBR API binding: " +
|
||||||
|
a.type + "#" + a.name + " and "+ b.type + "#" + b.name + " binds to the same method");
|
||||||
|
return new StaticMethod(a.type + "," + b.type, a.name + "," + b.name);
|
||||||
|
}));
|
||||||
|
// Add new bindings.
|
||||||
|
for (TypeBinding type : addedTypes) types.put(type.currentType, new Type(type.bindType, type.binding));
|
||||||
|
for (MethodBinding method : addedMethods) methods.put(method.currentMethod, method.bindMethod);
|
||||||
|
// Validate type bindings.
|
||||||
|
for (TypeBinding type : addedTypes) {
|
||||||
|
String inv = inverseTypes.get(type.bindType);
|
||||||
|
if (inv != null) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR,
|
||||||
|
"Conflicting JBR API binding: " + type.currentType + " -> " + type.bindType + " <- " + inv,
|
||||||
|
type.diagnostic.tree, type.diagnostic.root);
|
||||||
|
inverseTypes.put(type.bindType, inv + "," + type.currentType);
|
||||||
|
} else inverseTypes.put(type.bindType, type.currentType);
|
||||||
|
Type next = types.get(type.bindType);
|
||||||
|
if (next != null) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR,
|
||||||
|
"Conflicting JBR API binding: " + type.currentType + " -> " + type.bindType + " -> " + next,
|
||||||
|
type.diagnostic.tree, type.diagnostic.root);
|
||||||
|
}
|
||||||
|
String prev = inverseTypes.get(type.currentType);
|
||||||
|
if (prev != null) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR,
|
||||||
|
"Conflicting JBR API binding: " + prev + " -> " + type.currentType + " -> " + type.bindType,
|
||||||
|
type.diagnostic.tree, type.diagnostic.root);
|
||||||
|
}
|
||||||
|
if (validated.add(type.currentType)) {
|
||||||
|
TypeElement bindElement = elements.getTypeElement(type.bindType);
|
||||||
|
if (bindElement != null) {
|
||||||
|
internal.add(type.currentType);
|
||||||
|
validateInternal(type.diagnostic, type.currentType, type.binding, bindElement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Validate method bindings.
|
||||||
|
for (MethodBinding method : addedMethods) {
|
||||||
|
StaticDescriptor invDescriptor = new StaticDescriptor(method.bindMethod, method.currentMethod.descriptor);
|
||||||
|
StaticMethod inv = inverseMethods.get(invDescriptor);
|
||||||
|
if (inv != null) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR, "Conflicting JBR API binding: " +
|
||||||
|
method.currentMethod.method.type + "#" + method.currentMethod.method.name + " -> " +
|
||||||
|
method.bindMethod.type + "#" + method.bindMethod.name + " <- " +
|
||||||
|
inv.type + "#" + inv.name,
|
||||||
|
method.diagnostic.tree, method.diagnostic.root);
|
||||||
|
inverseMethods.put(invDescriptor, new StaticMethod(
|
||||||
|
inv.type + "," + method.currentMethod.method.type, inv.name + "," + method.currentMethod.method.name));
|
||||||
|
} else inverseMethods.put(invDescriptor, method.currentMethod.method);
|
||||||
|
if (validated.add(method.currentMethod)) {
|
||||||
|
TypeElement bindElement = elements.getTypeElement(method.bindMethod.type);
|
||||||
|
if (bindElement != null) {
|
||||||
|
internal.add(method.currentMethod);
|
||||||
|
validateInternalMethod(method.diagnostic, method.currentMethod, bindElement, method.bindMethod.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// [Re]validate remaining.
|
||||||
|
types.forEach((k, v) -> {
|
||||||
|
if (validated.add(k)) {
|
||||||
|
TypeBinding type = typeBindings.get(v.type);
|
||||||
|
if (type != null) {
|
||||||
|
internal.add(k);
|
||||||
|
validateInternal(type.diagnostic, k, v.binding, type.element);
|
||||||
|
} else if (elements.getTypeElement(v.type) != null) {
|
||||||
|
internal.add(k); // Couldn't validate, but at least found the type.
|
||||||
|
if (v.binding != Binding.SERVICE) {
|
||||||
|
unresolvedErrors.add("Invalid JBR API binding:" + k + " -> " + v.type + " (internal, non-service)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
methods.forEach((k, v) -> {
|
||||||
|
if (validated.add(k)) {
|
||||||
|
TypeBinding type = typeBindings.get(v.type);
|
||||||
|
if (type != null) {
|
||||||
|
internal.add(k);
|
||||||
|
validateInternalMethod(type.diagnostic, k, type.element, v.name);
|
||||||
|
} else if (elements.getTypeElement(v.type) != null) {
|
||||||
|
internal.add(k); // Couldn't validate, but at least found the type.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return unresolvedErrors;
|
||||||
|
}
|
||||||
|
|
||||||
|
void read(RandomAccessFile file) throws IOException {
|
||||||
|
String s;
|
||||||
|
while ((s = file.readLine()) != null) {
|
||||||
|
String[] tokens = s.split(" ");
|
||||||
|
switch (tokens[0]) {
|
||||||
|
case "TYPE" -> {
|
||||||
|
types.put(tokens[1], new Type(tokens[2], Binding.valueOf(tokens[3])));
|
||||||
|
if (tokens.length > 4 && tokens[4].equals("INTERNAL")) internal.add(tokens[1]);
|
||||||
|
}
|
||||||
|
case "STATIC" -> {
|
||||||
|
StaticDescriptor descriptor = new StaticDescriptor(new StaticMethod(
|
||||||
|
tokens[1], tokens[2]), tokens[3]);
|
||||||
|
methods.put(descriptor, new StaticMethod(tokens[4], tokens[5]));
|
||||||
|
if (tokens.length > 6 && tokens[6].equals("INTERNAL")) internal.add(descriptor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void write(RandomAccessFile file) throws IOException {
|
||||||
|
for (var t : types.entrySet()) {
|
||||||
|
file.writeBytes("TYPE " + t.getKey() + " " + t.getValue().type + " " + t.getValue().binding +
|
||||||
|
(internal.contains(t.getKey()) ? " INTERNAL\n" : "\n"));
|
||||||
|
}
|
||||||
|
for (var t : methods.entrySet()) {
|
||||||
|
file.writeBytes("STATIC " + t.getKey().method.type + " " + t.getKey().method.name + " " +
|
||||||
|
t.getKey().descriptor + " " + t.getValue().type + " " + t.getValue().name +
|
||||||
|
(internal.contains(t.getKey()) ? " INTERNAL\n" : "\n"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String descriptor(TypeMirror t) {
|
||||||
|
return switch (t.getKind()) {
|
||||||
|
case VOID -> "V";
|
||||||
|
case BOOLEAN -> "Z";
|
||||||
|
case BYTE -> "B";
|
||||||
|
case CHAR -> "C";
|
||||||
|
case SHORT -> "S";
|
||||||
|
case INT -> "I";
|
||||||
|
case LONG -> "J";
|
||||||
|
case FLOAT -> "F";
|
||||||
|
case DOUBLE -> "D";
|
||||||
|
case ARRAY -> "[" + descriptor(((ArrayType) t).getComponentType());
|
||||||
|
case DECLARED -> "L" + elements.getBinaryName((TypeElement) ((DeclaredType) t).asElement())
|
||||||
|
.toString().replace('.', '/') + ";";
|
||||||
|
case EXECUTABLE -> "(" + ((ExecutableType) t).getParameterTypes().stream().map(this::descriptor)
|
||||||
|
.collect(Collectors.joining()) + ")" + descriptor(((ExecutableType) t).getReturnType());
|
||||||
|
case TYPEVAR, WILDCARD, UNION, INTERSECTION -> descriptor(types.erasure(t));
|
||||||
|
default -> throw new RuntimeException("Cannot generate descriptor for type: " + t);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
Registry.StaticDescriptor staticDescriptor(String type, ExecutableElement e) {
|
||||||
|
return new Registry.StaticDescriptor(new Registry.StaticMethod(type, e.getSimpleName().toString()), descriptor(e.asType()));
|
||||||
|
}
|
||||||
|
|
||||||
|
AnnotationValue annotationValue(AnnotationMirror m) {
|
||||||
|
if (m == null) return null;
|
||||||
|
return m.getElementValues().entrySet().stream()
|
||||||
|
.filter(t -> t.getKey().getSimpleName().contentEquals("value"))
|
||||||
|
.map(Map.Entry::getValue).findFirst().orElseThrow();
|
||||||
|
}
|
||||||
|
|
||||||
|
static boolean isJavaIdentifier(String name, int from, int to) {
|
||||||
|
if (!Character.isJavaIdentifierStart(name.charAt(from))) return false;
|
||||||
|
for (int i = from + 1; i < to; i++) {
|
||||||
|
if (!Character.isJavaIdentifierPart(name.charAt(i))) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
static boolean isJavaIdentifier(String name) {
|
||||||
|
if (name == null || name.isEmpty()) return false;
|
||||||
|
return isJavaIdentifier(name, 0, name.length());
|
||||||
|
}
|
||||||
|
static boolean isJavaTypeIdentifier(String name) {
|
||||||
|
if (name == null || name.isEmpty()) return false;
|
||||||
|
for (int i = 0; i < name.length();) {
|
||||||
|
int next = name.indexOf('.', i);
|
||||||
|
if (next == -1) next = name.length();
|
||||||
|
if (!isJavaIdentifier(name, i, next)) return false;
|
||||||
|
i = next + 1;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void scan(CompilationUnitTree root, Element e) {
|
||||||
|
// Get current type name.
|
||||||
|
String currentType;
|
||||||
|
if (e.getKind() == ElementKind.CLASS || e.getKind() == ElementKind.INTERFACE) {
|
||||||
|
currentType = ((TypeElement) e).getQualifiedName().toString();
|
||||||
|
} else if (e.getKind() == ElementKind.METHOD && e.getModifiers().contains(Modifier.STATIC)) {
|
||||||
|
currentType = ((QualifiedNameable) e.getEnclosingElement()).getQualifiedName().toString();
|
||||||
|
} else currentType = null;
|
||||||
|
|
||||||
|
// Find the annotation.
|
||||||
|
AnnotationMirror providedMirror = null, providesMirror = null, serviceMirror = null;
|
||||||
|
for (AnnotationMirror m : elements.getAllAnnotationMirrors(e)) {
|
||||||
|
switch (m.getAnnotationType().toString()) {
|
||||||
|
case "com.jetbrains.exported.JBRApi.Provided" -> providedMirror = m;
|
||||||
|
case "com.jetbrains.exported.JBRApi.Provides" -> providesMirror = m;
|
||||||
|
case "com.jetbrains.exported.JBRApi.Service" -> serviceMirror = m;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AnnotationMirror mirror = null;
|
||||||
|
AnnotationValue value = null;
|
||||||
|
Binding binding = null;
|
||||||
|
if (serviceMirror != null) {
|
||||||
|
if (providesMirror == null) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR,
|
||||||
|
"@Service also requires @Provides", trees.getTree(e, serviceMirror), root);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (providedMirror != null) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR,
|
||||||
|
"@Service cannot be used with @Provided", trees.getTree(e, serviceMirror), root);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
value = annotationValue(mirror = providesMirror);
|
||||||
|
binding = Binding.SERVICE;
|
||||||
|
} else if (providesMirror != null) {
|
||||||
|
value = annotationValue(mirror = providesMirror);
|
||||||
|
if (providedMirror != null) {
|
||||||
|
AnnotationValue v = annotationValue(providedMirror);
|
||||||
|
if (!value.getValue().toString().equals(v.getValue().toString())) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR,
|
||||||
|
"@Provided and @Provides doesn't match", trees.getTree(e, mirror, value), root);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
binding = Binding.TWO_WAY;
|
||||||
|
} else binding = Binding.PROVIDES;
|
||||||
|
} else if (providedMirror != null) {
|
||||||
|
value = annotationValue(mirror = providedMirror);
|
||||||
|
binding = Binding.PROVIDED;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (value != null && value.getValue().toString().isEmpty()) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR,
|
||||||
|
"Empty JBR API binding",
|
||||||
|
trees.getTree(e, mirror, value), root);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentType == null) {
|
||||||
|
if (value != null) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR,
|
||||||
|
"JBR API annotations are only allowed on classes, interfaces and static methods",
|
||||||
|
trees.getTree(e, mirror), root);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (value != null && e.getKind() == ElementKind.METHOD && binding != Binding.PROVIDES) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR,
|
||||||
|
"Only @Provides is allowed for static methods",
|
||||||
|
trees.getTree(e, mirror), root);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine class/method names.
|
||||||
|
String bindType = null, bindMethod = null;
|
||||||
|
if (value != null) {
|
||||||
|
bindType = value.getValue().toString();
|
||||||
|
if (e.getKind() == ElementKind.METHOD) {
|
||||||
|
int splitIndex = bindType.indexOf('#');
|
||||||
|
if (splitIndex != -1) {
|
||||||
|
bindMethod = bindType.substring(splitIndex + 1);
|
||||||
|
bindType = bindType.substring(0, splitIndex);
|
||||||
|
if (!isJavaIdentifier(bindMethod)) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid method identifier: " + bindMethod,
|
||||||
|
trees.getTree(e, mirror, value), root);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else bindMethod = e.getSimpleName().toString();
|
||||||
|
}
|
||||||
|
if (!isJavaTypeIdentifier(bindType)) {
|
||||||
|
trees.printMessage(Diagnostic.Kind.ERROR, "Invalid type identifier: " + bindType,
|
||||||
|
trees.getTree(e, mirror, value), root);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (Character.isUpperCase(bindType.charAt(0))) bindType = "com.jetbrains." + bindType; // Short form
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add entry.
|
||||||
|
DiagnosticTree diagnostic = new DiagnosticTree(root, trees.getTree(e, mirror, value));
|
||||||
|
if (e.getKind() == ElementKind.METHOD) {
|
||||||
|
ExecutableElement m = (ExecutableElement) e;
|
||||||
|
methodBindings.add(new MethodBinding(diagnostic, m, staticDescriptor(currentType, m),
|
||||||
|
bindType == null ? null : new Registry.StaticMethod(bindType, bindMethod)));
|
||||||
|
} else {
|
||||||
|
typeBindings.put(currentType, new TypeBinding(diagnostic, (TypeElement) e, currentType, bindType, binding));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return "jbr-api";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(JavacTask jt, String... args) {
|
||||||
|
Path output = Path.of(args[0]);
|
||||||
|
String implVersion;
|
||||||
|
try {
|
||||||
|
implVersion = Files.readString(Path.of(args[1])).strip();
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
elements = jt.getElements();
|
||||||
|
trees = Trees.instance(jt);
|
||||||
|
types = jt.getTypes();
|
||||||
|
jt.addTaskListener(new TaskListener() {
|
||||||
|
@Override
|
||||||
|
public void finished(TaskEvent te) {
|
||||||
|
if (te.getKind() == TaskEvent.Kind.ANALYZE && te.getTypeElement() != null) {
|
||||||
|
new ElementScanner14<Void, CompilationUnitTree>() {
|
||||||
|
@Override
|
||||||
|
public Void visitModule(ModuleElement e, CompilationUnitTree unused) { return null; }
|
||||||
|
@Override
|
||||||
|
public Void visitPackage(PackageElement e, CompilationUnitTree unused) { return null; }
|
||||||
|
@Override
|
||||||
|
public Void scan(Element e, CompilationUnitTree root) {
|
||||||
|
JBRApiPlugin.this.scan(root, e);
|
||||||
|
e.accept(this, root);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}.scan(te.getTypeElement(), te.getCompilationUnit());
|
||||||
|
} else if (te.getKind() == TaskEvent.Kind.COMPILATION) {
|
||||||
|
try (RandomAccessFile file = new RandomAccessFile(output.toFile(), "rw");
|
||||||
|
FileChannel channel = file.getChannel()) {
|
||||||
|
for (;;) {
|
||||||
|
try { if (channel.lock() != null) break; } catch (OverlappingFileLockException ignore) {}
|
||||||
|
LockSupport.parkNanos(10_000000);
|
||||||
|
}
|
||||||
|
Registry r = new Registry();
|
||||||
|
r.read(file);
|
||||||
|
var unresolvedErrors = r.addBindings();
|
||||||
|
file.setLength(0);
|
||||||
|
file.writeBytes("VERSION " + implVersion + "\n");
|
||||||
|
r.write(file);
|
||||||
|
if (!unresolvedErrors.isEmpty()) {
|
||||||
|
throw new RuntimeException(String.join("\n", unresolvedErrors));
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -78,6 +78,10 @@ ifeq ($(call isTargetOs, windows), true)
|
|||||||
#
|
#
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DBUS_FOUND), false)
|
||||||
|
LIBAWT_EXFILES += dbus_interface.c dbus_interface.h
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, linux macosx aix), true)
|
ifeq ($(call isTargetOs, linux macosx aix), true)
|
||||||
LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
|
LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
|
||||||
endif
|
endif
|
||||||
@@ -112,6 +116,10 @@ LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
|
|||||||
|
|
||||||
LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
|
LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
|
||||||
|
|
||||||
|
ifeq ($(DBUS_FOUND), true)
|
||||||
|
LIBAWT_CFLAGS += -DDBUS_FOUND
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
ifeq ($(call isTargetOs, windows), true)
|
||||||
LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
|
LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
|
||||||
ifeq ($(call isTargetCpuBits, 64), true)
|
ifeq ($(call isTargetCpuBits, 64), true)
|
||||||
@@ -172,7 +180,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
|
|||||||
EXCLUDES := $(LIBAWT_EXCLUDES), \
|
EXCLUDES := $(LIBAWT_EXCLUDES), \
|
||||||
EXCLUDE_FILES := $(LIBAWT_EXFILES), \
|
EXCLUDE_FILES := $(LIBAWT_EXFILES), \
|
||||||
OPTIMIZATION := HIGHEST, \
|
OPTIMIZATION := HIGHEST, \
|
||||||
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
|
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS) $(DBUS_CFLAGS), \
|
||||||
EXTRA_HEADER_DIRS := $(LIBAWT_EXTRA_HEADER_DIRS), \
|
EXTRA_HEADER_DIRS := $(LIBAWT_EXTRA_HEADER_DIRS), \
|
||||||
DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
|
DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
|
||||||
format-nonliteral parentheses unused-value unused-function, \
|
format-nonliteral parentheses unused-value unused-function, \
|
||||||
@@ -296,7 +304,7 @@ ifeq ($(call isTargetOs, windows macosx), false)
|
|||||||
EXTRA_HEADER_DIRS := $(LIBAWT_XAWT_EXTRA_HEADER_DIRS), \
|
EXTRA_HEADER_DIRS := $(LIBAWT_XAWT_EXTRA_HEADER_DIRS), \
|
||||||
EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
|
EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
|
||||||
OPTIMIZATION := LOW, \
|
OPTIMIZATION := LOW, \
|
||||||
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
|
CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) $(DBUS_CFLAGS) \
|
||||||
$(X_CFLAGS), \
|
$(X_CFLAGS), \
|
||||||
WARNINGS_AS_ERRORS_xlc := false, \
|
WARNINGS_AS_ERRORS_xlc := false, \
|
||||||
DISABLED_WARNINGS_gcc := type-limits pointer-to-int-cast \
|
DISABLED_WARNINGS_gcc := type-limits pointer-to-int-cast \
|
||||||
@@ -323,7 +331,7 @@ endif
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# The fast floor code loses precision.
|
# The fast floor code loses precision.
|
||||||
LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR
|
LCMS_CFLAGS=-DCMS_DONT_USE_FAST_FLOOR -DCMS_NO_HALF_SUPPORT
|
||||||
|
|
||||||
ifeq ($(USE_EXTERNAL_LCMS), true)
|
ifeq ($(USE_EXTERNAL_LCMS), true)
|
||||||
# If we're using an external library, we'll just need the wrapper part.
|
# If we're using an external library, we'll just need the wrapper part.
|
||||||
@@ -438,7 +446,7 @@ ifeq ($(call isTargetOs, windows macosx), false)
|
|||||||
EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
|
EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
|
||||||
OPTIMIZATION := LOW, \
|
OPTIMIZATION := LOW, \
|
||||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||||
$(LIBAWT_HEADLESS_CFLAGS), \
|
$(LIBAWT_HEADLESS_CFLAGS) $(DBUS_CFLAGS), \
|
||||||
EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \
|
EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \
|
||||||
DISABLED_WARNINGS_gcc := unused-function, \
|
DISABLED_WARNINGS_gcc := unused-function, \
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
@@ -516,10 +524,18 @@ else
|
|||||||
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
|
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
|
||||||
LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz/hb-ft.cc
|
LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz/hb-ft.cc
|
||||||
|
|
||||||
HARFBUZZ_DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing
|
# list of disabled warnings and the compilers for which it was specifically added.
|
||||||
|
# array-bounds -> GCC 12 on Alpine Linux
|
||||||
|
# parentheses -> GCC 6
|
||||||
|
# range-loop-analysis -> clang on Xcode12
|
||||||
|
|
||||||
|
HARFBUZZ_DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing \
|
||||||
|
array-bounds parentheses
|
||||||
# noexcept-type required for GCC 7 builds. Not required for GCC 8+.
|
# noexcept-type required for GCC 7 builds. Not required for GCC 8+.
|
||||||
|
# expansion-to-defined required for GCC 9 builds. Not required for GCC 10+.
|
||||||
HARFBUZZ_DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
|
HARFBUZZ_DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
|
||||||
maybe-uninitialized class-memaccess unused-result extra use-after-free noexcept-type
|
maybe-uninitialized class-memaccess unused-result extra use-after-free noexcept-type \
|
||||||
|
expansion-to-defined dangling-reference
|
||||||
HARFBUZZ_DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
|
HARFBUZZ_DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
|
||||||
tautological-constant-out-of-range-compare int-to-pointer-cast \
|
tautological-constant-out-of-range-compare int-to-pointer-cast \
|
||||||
undef missing-field-initializers range-loop-analysis \
|
undef missing-field-initializers range-loop-analysis \
|
||||||
@@ -560,12 +576,10 @@ ifeq ($(call isTargetOs, windows), true)
|
|||||||
else ifeq ($(call isTargetOs, macosx), true)
|
else ifeq ($(call isTargetOs, macosx), true)
|
||||||
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
|
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
|
||||||
X11TextRenderer.c \
|
X11TextRenderer.c \
|
||||||
fontpath.c \
|
|
||||||
lcdglyph.c \
|
lcdglyph.c \
|
||||||
lcdglyphDW.cpp
|
lcdglyphDW.cpp
|
||||||
else
|
else
|
||||||
LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
|
LIBFONTMANAGER_EXCLUDE_FILES += lcdglyph.c \
|
||||||
lcdglyph.c \
|
|
||||||
lcdglyphDW.cpp
|
lcdglyphDW.cpp
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -892,7 +906,8 @@ ifeq ($(call isTargetOs, macosx), true)
|
|||||||
-framework ExceptionHandling \
|
-framework ExceptionHandling \
|
||||||
-framework JavaRuntimeSupport \
|
-framework JavaRuntimeSupport \
|
||||||
-framework OpenGL \
|
-framework OpenGL \
|
||||||
-framework QuartzCore -ljava, \
|
-framework QuartzCore \
|
||||||
|
-framework UniformTypeIdentifiers -ljava, \
|
||||||
))
|
))
|
||||||
|
|
||||||
TARGETS += $(BUILD_LIBAWT_LWAWT)
|
TARGETS += $(BUILD_LIBAWT_LWAWT)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2016, 2023 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
|
||||||
@@ -27,7 +27,7 @@ include LibCommon.gmk
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, linux macosx), true)
|
ifeq ($(call isTargetOs, linux macosx windows), true)
|
||||||
|
|
||||||
$(eval $(call SetupJdkLibrary, BUILD_LIBEXTNET, \
|
$(eval $(call SetupJdkLibrary, BUILD_LIBEXTNET, \
|
||||||
NAME := extnet, \
|
NAME := extnet, \
|
||||||
@@ -35,8 +35,9 @@ ifeq ($(call isTargetOs, linux macosx), true)
|
|||||||
CFLAGS := $(CFLAGS_JDKLIB), \
|
CFLAGS := $(CFLAGS_JDKLIB), \
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS := -ljava, \
|
LIBS_unix := -ljava, \
|
||||||
LIBS_linux := -ljvm, \
|
LIBS_linux := -ljvm, \
|
||||||
|
LIBS_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB), \
|
||||||
))
|
))
|
||||||
|
|
||||||
$(BUILD_LIBEXTNET): $(call FindLib, java.base, java)
|
$(BUILD_LIBEXTNET): $(call FindLib, java.base, java)
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user