mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-18 23:39:40 +01:00
Compare commits
965 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12a61bce8d | ||
|
|
d9dd2d19b0 | ||
|
|
b21d7b23c1 | ||
|
|
867312a7e5 | ||
|
|
a4b49253e3 | ||
|
|
86fcbe09f8 | ||
|
|
48997f54c9 | ||
|
|
4e3bfc926e | ||
|
|
d0b4f9baab | ||
|
|
cb3c45a698 | ||
|
|
10f71f7dd4 | ||
|
|
a7964453cf | ||
|
|
5230786a0d | ||
|
|
378cd12f6b | ||
|
|
d96476d8bd | ||
|
|
b17a1c092f | ||
|
|
9e22b6dec3 | ||
|
|
fdbc2b24d3 | ||
|
|
31696a445c | ||
|
|
054362abe0 | ||
|
|
9b436d048e | ||
|
|
487c477181 | ||
|
|
d02cb742f7 | ||
|
|
02f240415c | ||
|
|
606df44141 | ||
|
|
33fd6ae986 | ||
|
|
8de5d2014a | ||
|
|
f15d423fb5 | ||
|
|
1a50bd09ef | ||
|
|
880c6b42ba | ||
|
|
c7d2841fb4 | ||
|
|
7ef2831293 | ||
|
|
8f0785325d | ||
|
|
6f690a5b01 | ||
|
|
b351b5f60e | ||
|
|
b3f540d354 | ||
|
|
30894126a4 | ||
|
|
ca9390755b | ||
|
|
60ea17e848 | ||
|
|
7564949a56 | ||
|
|
4c09d9f828 | ||
|
|
f7dbb98fe6 | ||
|
|
9b3694c4fc | ||
|
|
f73922b27d | ||
|
|
5dcb7a627e | ||
|
|
438121be6b | ||
|
|
d7d1afb0a8 | ||
|
|
7acfba288f | ||
|
|
c5c0867881 | ||
|
|
d85b0ca5cd | ||
|
|
326dbb1b13 | ||
|
|
9a8096feb8 | ||
|
|
6882b381e8 | ||
|
|
cbb6747e6b | ||
|
|
789f704d9a | ||
|
|
2c1b311f81 | ||
|
|
765ad0e40b | ||
|
|
8e903eeb1f | ||
|
|
3cbdf8d4d4 | ||
|
|
3944e67366 | ||
|
|
d0052c032c | ||
|
|
4369856c6d | ||
|
|
1f09467230 | ||
|
|
7dbd03388e | ||
|
|
9db7c95019 | ||
|
|
d826127970 | ||
|
|
67b9a08139 | ||
|
|
244f6ac222 | ||
|
|
a706e35b12 | ||
|
|
612b6896d2 | ||
|
|
dce9703155 | ||
|
|
b101dcb609 | ||
|
|
e0bab78640 | ||
|
|
31f70391e5 | ||
|
|
4a1cdd5ba9 | ||
|
|
664c993c41 | ||
|
|
8d3de45f4d | ||
|
|
9ee741d1e5 | ||
|
|
0f4154a9e9 | ||
|
|
64bbae7512 | ||
|
|
c7495fb35d | ||
|
|
454660d361 | ||
|
|
67d6f3ca9e | ||
|
|
ca30726352 | ||
|
|
29e10e4582 | ||
|
|
c7d2a5c1c4 | ||
|
|
d230b30353 | ||
|
|
1512011eaf | ||
|
|
6dac8d6452 | ||
|
|
9686e804a2 | ||
|
|
4de620732f | ||
|
|
1f9e62904c | ||
|
|
27af19d921 | ||
|
|
1c514b34c0 | ||
|
|
d07e530d33 | ||
|
|
f0bffbce35 | ||
|
|
b10158624b | ||
|
|
5ed0d52c84 | ||
|
|
91101f0d4f | ||
|
|
e0ac8249f5 | ||
|
|
d2d78ad18e | ||
|
|
7c83d7ab53 | ||
|
|
75220da26f | ||
|
|
a4c7be862c | ||
|
|
cfe91ed39c | ||
|
|
769b3e48ea | ||
|
|
8338946a6d | ||
|
|
4785461f61 | ||
|
|
24530022d0 | ||
|
|
51b2f80627 | ||
|
|
d29d5bfb7f | ||
|
|
c0ce7d871f | ||
|
|
10eb1cb639 | ||
|
|
2cae9a0397 | ||
|
|
9fd0e7349e | ||
|
|
8aeada105a | ||
|
|
e99f6a65a8 | ||
|
|
e650bdf465 | ||
|
|
e4fbb15c6a | ||
|
|
681137cad2 | ||
|
|
914423e3b7 | ||
|
|
5abc02927b | ||
|
|
d9e7b7e7da | ||
|
|
1e04ee6d57 | ||
|
|
32ee252c45 | ||
|
|
e930bc1fbb | ||
|
|
79a78f032e | ||
|
|
2f2dc2289b | ||
|
|
d481215126 | ||
|
|
7ab74c5f26 | ||
|
|
a7864af08a | ||
|
|
778ad00af8 | ||
|
|
bb4aed944e | ||
|
|
95c8a69b0e | ||
|
|
ba323b515d | ||
|
|
22ef827e2c | ||
|
|
2ab8ab5613 | ||
|
|
1b7d59f171 | ||
|
|
e304a8ae63 | ||
|
|
3634a91050 | ||
|
|
ffb0867e2c | ||
|
|
79f49983d3 | ||
|
|
ec88c6a872 | ||
|
|
b3e29db144 | ||
|
|
11e926cf50 | ||
|
|
44c1845ae7 | ||
|
|
922e312b0a | ||
|
|
1d889e54fc | ||
|
|
32636dcc3d | ||
|
|
707154235b | ||
|
|
4acafb809c | ||
|
|
921860d41d | ||
|
|
4a20691e9b | ||
|
|
f608918df3 | ||
|
|
1b04f6487c | ||
|
|
3cff588a31 | ||
|
|
2b4a4b7bd8 | ||
|
|
286cc163fd | ||
|
|
579cf705ff | ||
|
|
57bfd0e393 | ||
|
|
9a72068ef0 | ||
|
|
66d9bfce29 | ||
|
|
2ea365c945 | ||
|
|
789ac8b276 | ||
|
|
c8eea59f50 | ||
|
|
bc7d9e3d0b | ||
|
|
03b7a8586a | ||
|
|
43a2f17342 | ||
|
|
fed2b56017 | ||
|
|
6cda4c5985 | ||
|
|
c003c1207f | ||
|
|
6d718ae51a | ||
|
|
9b64ece514 | ||
|
|
3d4eb159e6 | ||
|
|
2cca83bc82 | ||
|
|
b8ae11e99b | ||
|
|
9a83dfee14 | ||
|
|
01060ad4ab | ||
|
|
673f767dad | ||
|
|
91ab088d5e | ||
|
|
9ac8d05a25 | ||
|
|
91caec07cb | ||
|
|
da6aa2a86c | ||
|
|
b8f2ec9091 | ||
|
|
0f3e2cc334 | ||
|
|
51ae08f72b | ||
|
|
4754f059f9 | ||
|
|
87a06b6ce4 | ||
|
|
e708d135e3 | ||
|
|
7b52d0acfc | ||
|
|
aa4c83a5bf | ||
|
|
cabe337400 | ||
|
|
2edb6d9813 | ||
|
|
1850914380 | ||
|
|
2f2cf38bb5 | ||
|
|
b5e1615c00 | ||
|
|
86eb5d9f3b | ||
|
|
be1d374bc5 | ||
|
|
ed81a478e1 | ||
|
|
08face8c4c | ||
|
|
793fd72fa6 | ||
|
|
891d5aedf1 | ||
|
|
f3d6fbf52e | ||
|
|
1b8dea4a92 | ||
|
|
0e7ea390bb | ||
|
|
72fbfe18cb | ||
|
|
08891553bb | ||
|
|
7f0ad513c3 | ||
|
|
617edf3f0d | ||
|
|
ffa4badb78 | ||
|
|
a3a367ef5d | ||
|
|
61db2f5b90 | ||
|
|
a083364520 | ||
|
|
16dba04e8d | ||
|
|
4e8deb396e | ||
|
|
08d51003d1 | ||
|
|
97ee2ffb89 | ||
|
|
985b9ce79a | ||
|
|
05f13e75ee | ||
|
|
7bf1989f59 | ||
|
|
253508b03a | ||
|
|
ebc520e83f | ||
|
|
236432dbdb | ||
|
|
b3b33667ad | ||
|
|
f66a586614 | ||
|
|
cd3e4c0366 | ||
|
|
c2cca2ab44 | ||
|
|
6d2aeb82bc | ||
|
|
cfdc64fcb4 | ||
|
|
0c934ff4e2 | ||
|
|
c099f14f07 | ||
|
|
6a35311468 | ||
|
|
f16265d69b | ||
|
|
5a2ba952b1 | ||
|
|
239c1b33b4 | ||
|
|
9b61a7608e | ||
|
|
a71b404785 | ||
|
|
af056c1676 | ||
|
|
da3001daf7 | ||
|
|
424eb60ded | ||
|
|
9b1d6d66b8 | ||
|
|
f8a3e4e428 | ||
|
|
ddd73b4583 | ||
|
|
0a9d1f8c89 | ||
|
|
c9a7b9772d | ||
|
|
7fd9d6c760 | ||
|
|
417d174aa1 | ||
|
|
303ac9f270 | ||
|
|
90758f6735 | ||
|
|
e19a421c30 | ||
|
|
2581935b47 | ||
|
|
b890336e11 | ||
|
|
4e6d851f3f | ||
|
|
612ae9289a | ||
|
|
1ea76d338b | ||
|
|
94af3c23ea | ||
|
|
1e5a2780d9 | ||
|
|
c2180d141c | ||
|
|
2a11e0da02 | ||
|
|
6829d9ac67 | ||
|
|
9d332e6591 | ||
|
|
98f6a80852 | ||
|
|
3d4185a9ce | ||
|
|
c4557a7b0d | ||
|
|
d59c12fe10 | ||
|
|
b4d1454085 | ||
|
|
37c477856d | ||
|
|
2170e99cb4 | ||
|
|
a0c5714dbc | ||
|
|
afed7d0b05 | ||
|
|
9ca90ccd6b | ||
|
|
92d33501e0 | ||
|
|
4f1a10f84b | ||
|
|
c3bc23fe48 | ||
|
|
8a9d77d58d | ||
|
|
3d511ff63e | ||
|
|
67f03f2a4f | ||
|
|
5f804b2ec1 | ||
|
|
52eda79522 | ||
|
|
d999b81e71 | ||
|
|
8291c94bcd | ||
|
|
42e3c842ae | ||
|
|
5cf8288b80 | ||
|
|
ae9ad862ee | ||
|
|
3479b46c5b | ||
|
|
9bfae8891e | ||
|
|
4e169d1ed7 | ||
|
|
7ffc9997bd | ||
|
|
e529101ea3 | ||
|
|
414a7fdc5e | ||
|
|
451cc23905 | ||
|
|
5f2b8d0224 | ||
|
|
8a49d47cf3 | ||
|
|
ce99198e3a | ||
|
|
f5ab7dff40 | ||
|
|
9f7779305c | ||
|
|
fb45bab8e1 | ||
|
|
6e805127f8 | ||
|
|
b78613b681 | ||
|
|
7652f9811b | ||
|
|
d6b7f9b170 | ||
|
|
b92bd67183 | ||
|
|
8acdd2d7c8 | ||
|
|
0a58cffe88 | ||
|
|
39a55e9779 | ||
|
|
b7ae0ae1d7 | ||
|
|
e611151796 | ||
|
|
44bdf9964e | ||
|
|
9bb6169a1c | ||
|
|
4eb1eaf044 | ||
|
|
d4c2edf2c9 | ||
|
|
beeffd4671 | ||
|
|
e0d1c4b38c | ||
|
|
0b0445be28 | ||
|
|
d84a8fd876 | ||
|
|
f1ce9b0ecc | ||
|
|
14198f502f | ||
|
|
ae999eae7e | ||
|
|
6422efa3c7 | ||
|
|
9160ef8b9d | ||
|
|
7c750fd95b | ||
|
|
de57d4b2e0 | ||
|
|
da9c23ace9 | ||
|
|
dc184f1099 | ||
|
|
259915168d | ||
|
|
6f7ddbec7d | ||
|
|
fa3e94d30f | ||
|
|
a33cb9045b | ||
|
|
910d77becd | ||
|
|
f9f8d0b480 | ||
|
|
f398cd2250 | ||
|
|
96c5c3fe75 | ||
|
|
ee4a9d3482 | ||
|
|
ab8d7b0ced | ||
|
|
fe8a2aff31 | ||
|
|
95f79c6787 | ||
|
|
b687aa5508 | ||
|
|
4083255440 | ||
|
|
43b109b111 | ||
|
|
7cff04fc8a | ||
|
|
8a4315f833 | ||
|
|
491b3b4563 | ||
|
|
9c02c8dd71 | ||
|
|
42ccb74399 | ||
|
|
61aff6db15 | ||
|
|
30bb066b19 | ||
|
|
c4867c62c4 | ||
|
|
8032d640c0 | ||
|
|
fa043aec42 | ||
|
|
a5005c87c4 | ||
|
|
1a944478a2 | ||
|
|
957eb611ce | ||
|
|
2f10a316ff | ||
|
|
c642f44bbe | ||
|
|
d04ac14bdb | ||
|
|
4e77cf881d | ||
|
|
7b4ba7f90a | ||
|
|
0bb5ae6451 | ||
|
|
4d32c607a4 | ||
|
|
e91492ab43 | ||
|
|
95a601316d | ||
|
|
5a4415a6bd | ||
|
|
4ba74475d4 | ||
|
|
7ce4a13c0a | ||
|
|
ea5eb74a65 | ||
|
|
beea5305b0 | ||
|
|
440782e016 | ||
|
|
5ded8da676 | ||
|
|
7c2c24fc05 | ||
|
|
ff4bf1cf9f | ||
|
|
abf54bb1e6 | ||
|
|
1484153c1a | ||
|
|
391bbbc7d0 | ||
|
|
adaa509b6e | ||
|
|
5a8df4106a | ||
|
|
3e3f7cf4bd | ||
|
|
d517d2df45 | ||
|
|
5053b70a7f | ||
|
|
32c7681cf3 | ||
|
|
f9a1d3381b | ||
|
|
b87a7e9906 | ||
|
|
1dac34fa75 | ||
|
|
5e8e8ef656 | ||
|
|
1b476f52ba | ||
|
|
1c5f1501ac | ||
|
|
65abf24fde | ||
|
|
d215bc4647 | ||
|
|
d11e70ade3 | ||
|
|
f95c937405 | ||
|
|
675fbe699e | ||
|
|
242446b07f | ||
|
|
45792c5829 | ||
|
|
1547a69651 | ||
|
|
784b8fce7a | ||
|
|
dea8076a58 | ||
|
|
dab92c51c7 | ||
|
|
9f43ce5a72 | ||
|
|
d654124502 | ||
|
|
7db6a3f0ee | ||
|
|
f47fc867b3 | ||
|
|
b9a142a224 | ||
|
|
d2d37c913e | ||
|
|
a706ca4fdb | ||
|
|
a643d6c7ac | ||
|
|
d47a4e9f63 | ||
|
|
0bf728212f | ||
|
|
ffbdfffbc7 | ||
|
|
c7d98df2ac | ||
|
|
aa4cddd4b8 | ||
|
|
c4ff58b9bc | ||
|
|
aaa90b3005 | ||
|
|
0a4eeeaa3c | ||
|
|
ad0b54d429 | ||
|
|
ac86f59e4f | ||
|
|
964d60892e | ||
|
|
2d622152b0 | ||
|
|
588e314e4b | ||
|
|
0d1216c7a1 | ||
|
|
42b1d858d1 | ||
|
|
230fac80f2 | ||
|
|
c8452615b1 | ||
|
|
ad78b7fa67 | ||
|
|
aafa15fc17 | ||
|
|
edd47c10eb | ||
|
|
1aebab780c | ||
|
|
0eff492e41 | ||
|
|
c6f611cfe0 | ||
|
|
0e1dca75ef | ||
|
|
7f299043a9 | ||
|
|
2baacfc169 | ||
|
|
7b79426a1d | ||
|
|
466a21d864 | ||
|
|
8af606fb8c | ||
|
|
b91083341a | ||
|
|
f12ed061ae | ||
|
|
8d78e8cadc | ||
|
|
524aaad983 | ||
|
|
95d2f8072e | ||
|
|
5746137e8a | ||
|
|
02c95a6d7e | ||
|
|
02a799c055 | ||
|
|
23a72a1f2f | ||
|
|
a2584a8341 | ||
|
|
df1ff056f1 | ||
|
|
3b8227ba24 | ||
|
|
f308e107ce | ||
|
|
a8b3f194e8 | ||
|
|
ae60d84500 | ||
|
|
7a35f922f0 | ||
|
|
fa02667d83 | ||
|
|
a8e62af733 | ||
|
|
1eec30a6c0 | ||
|
|
e8a2d5669c | ||
|
|
9b0bb03366 | ||
|
|
6c7764118e | ||
|
|
15862a2f11 | ||
|
|
4bbd972cbb | ||
|
|
f1509e007d | ||
|
|
f2c4a41304 | ||
|
|
9347bb7df8 | ||
|
|
b20fa7b48b | ||
|
|
c1a164528a | ||
|
|
36c9607f66 | ||
|
|
b33096f887 | ||
|
|
cf2c80e4fc | ||
|
|
77b71222a0 | ||
|
|
87bb66cea1 | ||
|
|
37c2469539 | ||
|
|
1d083eb15a | ||
|
|
9697bc3858 | ||
|
|
ce73fec882 | ||
|
|
58ef9e4805 | ||
|
|
3c77dad007 | ||
|
|
8ed319023e | ||
|
|
1f6d38f7a6 | ||
|
|
c60474b122 | ||
|
|
f78fa0556d | ||
|
|
f665e07ab2 | ||
|
|
a10845b553 | ||
|
|
8bc641ebe7 | ||
|
|
7c1fad4fb6 | ||
|
|
6bef0474c8 | ||
|
|
01125fa21b | ||
|
|
04271dfe7a | ||
|
|
f6cdcc6f65 | ||
|
|
99654ec3fb | ||
|
|
cd3a607576 | ||
|
|
73cdc9a070 | ||
|
|
e2c0cfef14 | ||
|
|
6f98d8f58f | ||
|
|
6969a9e0b2 | ||
|
|
7a41a525de | ||
|
|
3383ad6397 | ||
|
|
8771015d7e | ||
|
|
553d45b114 | ||
|
|
dd0b641819 | ||
|
|
389f6fe97c | ||
|
|
a024eed738 | ||
|
|
9912abf586 | ||
|
|
257a07d5ca | ||
|
|
c21672d8c9 | ||
|
|
cccc95358d | ||
|
|
4a78906db1 | ||
|
|
2056968777 | ||
|
|
c9255f3f5d | ||
|
|
beebce044d | ||
|
|
ae82405ff7 | ||
|
|
286cbf831c | ||
|
|
fe23068d94 | ||
|
|
33243d44a9 | ||
|
|
8bcd2e61ae | ||
|
|
c4fe5bf90c | ||
|
|
dd906ffdcb | ||
|
|
d3bf52628e | ||
|
|
4036d7d824 | ||
|
|
9108091f0c | ||
|
|
5ab8713b3f | ||
|
|
19e46eed58 | ||
|
|
0a24daeceb | ||
|
|
62d5d1e99c | ||
|
|
2a95cd473a | ||
|
|
e833bfc8ac | ||
|
|
4f529f8c23 | ||
|
|
44dc85001d | ||
|
|
b2fb5ea13b | ||
|
|
663acd2e17 | ||
|
|
f215899a08 | ||
|
|
b96b38c2c9 | ||
|
|
a863ef5d74 | ||
|
|
aca1e8365b | ||
|
|
3d11692bf3 | ||
|
|
9ce21d1382 | ||
|
|
130f71cadc | ||
|
|
f4caac8dea | ||
|
|
2cc8eccb36 | ||
|
|
33e81229bd | ||
|
|
22a1c617db | ||
|
|
ef4ec2d3b0 | ||
|
|
cff841f1de | ||
|
|
0630bb02eb | ||
|
|
60b61e588c | ||
|
|
b128bd7b5a | ||
|
|
819f3d6fc7 | ||
|
|
eb88343fb7 | ||
|
|
9b423a8509 | ||
|
|
4e4229438a | ||
|
|
bdcc2400db | ||
|
|
8b8fb6427e | ||
|
|
151ef5d4d2 | ||
|
|
7272939064 | ||
|
|
70d3f22b70 | ||
|
|
549bc6a039 | ||
|
|
76cda7b895 | ||
|
|
766d0b0fa0 | ||
|
|
4edac349a5 | ||
|
|
c615c18e9f | ||
|
|
fb63cbadb4 | ||
|
|
4e5c25ee43 | ||
|
|
16c7dcdb04 | ||
|
|
c3372c4555 | ||
|
|
a078b5e611 | ||
|
|
e3eb652c25 | ||
|
|
aa2edd4913 | ||
|
|
aee91fbc70 | ||
|
|
a920af233a | ||
|
|
f3bb3e2170 | ||
|
|
07facd0420 | ||
|
|
0bf516f7ba | ||
|
|
d13e53346f | ||
|
|
8bbd7251a5 | ||
|
|
5e2ced4b9e | ||
|
|
2b7176a55a | ||
|
|
e4ed7ced75 | ||
|
|
cfd19f0176 | ||
|
|
ffd850f17e | ||
|
|
377f2e538a | ||
|
|
006f090f98 | ||
|
|
a407dc9cbb | ||
|
|
ea06129851 | ||
|
|
b3bcc49491 | ||
|
|
1c238d43e8 | ||
|
|
ce9eac3819 | ||
|
|
5af6b45eef | ||
|
|
4dfaa9b5bd | ||
|
|
b9927aa3a4 | ||
|
|
c9442014e5 | ||
|
|
8031dabf83 | ||
|
|
c9f8d0eff7 | ||
|
|
b1b953c427 | ||
|
|
87e864bf21 | ||
|
|
ef745a6c6e | ||
|
|
d32f109219 | ||
|
|
ccc0d0f7b1 | ||
|
|
e818ab60a0 | ||
|
|
d43654e573 | ||
|
|
21480a7ae8 | ||
|
|
e6118ce784 | ||
|
|
a44ac026c5 | ||
|
|
8a8d928898 | ||
|
|
0014e0e6b9 | ||
|
|
ea3909acd1 | ||
|
|
7b2560b490 | ||
|
|
25871af36b | ||
|
|
1d06170758 | ||
|
|
f1d0e715b6 | ||
|
|
74b11ccf14 | ||
|
|
45ed97f15b | ||
|
|
e311ba32a5 | ||
|
|
e923dfe4c5 | ||
|
|
15190816f7 | ||
|
|
2bb5cf5f33 | ||
|
|
7bb59dc8da | ||
|
|
174d62652c | ||
|
|
e681e9b4d7 | ||
|
|
c439c8c73c | ||
|
|
165ba87e57 | ||
|
|
3ccb64c021 | ||
|
|
5c3838605d | ||
|
|
438e64310d | ||
|
|
80b381e91b | ||
|
|
7a895552c8 | ||
|
|
f60798a30e | ||
|
|
2555166247 | ||
|
|
09b88098ff | ||
|
|
9cc163a999 | ||
|
|
88a5dcead2 | ||
|
|
7157eea101 | ||
|
|
b4cea701c9 | ||
|
|
412e306d81 | ||
|
|
b07e1531b3 | ||
|
|
b6518a5db0 | ||
|
|
383fe6eaab | ||
|
|
2ea89268a1 | ||
|
|
3d5eeac3a3 | ||
|
|
6158da5e95 | ||
|
|
a92ad03946 | ||
|
|
fcb4a8ba26 | ||
|
|
3bd6982ec3 | ||
|
|
d9d926d669 | ||
|
|
1a6da3d5f0 | ||
|
|
281f9bdeb9 | ||
|
|
daa5a4bd12 | ||
|
|
8961077056 | ||
|
|
574ba1400e | ||
|
|
550a138622 | ||
|
|
57ebd045ea | ||
|
|
58ad399d19 | ||
|
|
1d52234e19 | ||
|
|
83c74d7307 | ||
|
|
0b9350e8b6 | ||
|
|
20be5e095f | ||
|
|
7e421ce9d0 | ||
|
|
3e65d90b4d | ||
|
|
936a47d7d6 | ||
|
|
ee7b2e9b3b | ||
|
|
3e185c70fe | ||
|
|
f889797e1f | ||
|
|
c4f5c5140a | ||
|
|
70acade9f1 | ||
|
|
35b30c81e0 | ||
|
|
3d62bbf4f2 | ||
|
|
5313dcc8f9 | ||
|
|
5394f57f00 | ||
|
|
20546c1ea0 | ||
|
|
bd67ac69a2 | ||
|
|
185e711bfe | ||
|
|
6d5699617f | ||
|
|
f6feeb03bb | ||
|
|
df04358223 | ||
|
|
c1dd82b4d2 | ||
|
|
b704e91241 | ||
|
|
8da175d094 | ||
|
|
3c1d1d93d7 | ||
|
|
650ca65a4f | ||
|
|
177092b952 | ||
|
|
eb60822a45 | ||
|
|
85261bcebc | ||
|
|
9f2a4fad17 | ||
|
|
8990864a53 | ||
|
|
46a2ce4eb4 | ||
|
|
252c62a66d | ||
|
|
32946e1882 | ||
|
|
6ee8407758 | ||
|
|
235ba9a702 | ||
|
|
f713766cab | ||
|
|
ec180d4782 | ||
|
|
571e6bc3f7 | ||
|
|
5853a2c009 | ||
|
|
b648ed0a08 | ||
|
|
60b65e6090 | ||
|
|
b0496096dc | ||
|
|
4b55fe5777 | ||
|
|
5eb2c596e2 | ||
|
|
003e86fe38 | ||
|
|
706b421cca | ||
|
|
fe0227e978 | ||
|
|
064628471b | ||
|
|
4895a15a77 | ||
|
|
fd331ff173 | ||
|
|
9fd78022b1 | ||
|
|
192ec387bc | ||
|
|
03e84178eb | ||
|
|
ff3e76fd0c | ||
|
|
811aadd9e7 | ||
|
|
5841cb3b51 | ||
|
|
89129e3f67 | ||
|
|
9445047d05 | ||
|
|
d2f9a1eb97 | ||
|
|
e4021adb28 | ||
|
|
3ccbc6d4d0 | ||
|
|
7744b0046a | ||
|
|
9d63fee49c | ||
|
|
01bda278d6 | ||
|
|
2fe2f3aff8 | ||
|
|
cd4c3aac63 | ||
|
|
e57a322d70 | ||
|
|
c8702ede97 | ||
|
|
f6f038a678 | ||
|
|
fb4cf1cc3c | ||
|
|
d1c6cd104e | ||
|
|
76cbe4883b | ||
|
|
f7c84137b5 | ||
|
|
941bee197f | ||
|
|
2ede14335a | ||
|
|
90df3b7fbb | ||
|
|
f11a496de6 | ||
|
|
bfff02eef6 | ||
|
|
e073d5b374 | ||
|
|
6e77d918e6 | ||
|
|
61fa4d45b6 | ||
|
|
56ff87a096 | ||
|
|
8a5b86c529 | ||
|
|
58911ccc2c | ||
|
|
97c180892b | ||
|
|
def257727d | ||
|
|
2f11afdae9 | ||
|
|
33d7127555 | ||
|
|
8de2f6f883 | ||
|
|
0203c7e612 | ||
|
|
2885469c4b | ||
|
|
31a1f9c493 | ||
|
|
274c805c51 | ||
|
|
140f56718b | ||
|
|
a293bdff91 | ||
|
|
da75e015b5 | ||
|
|
ddc3921cf9 | ||
|
|
273df6286a | ||
|
|
a3fecdb2f4 | ||
|
|
60d88b7ae2 | ||
|
|
3f1d9c441e | ||
|
|
5404b4eafc | ||
|
|
d22d560871 | ||
|
|
bc1a1a5861 | ||
|
|
b486709b06 | ||
|
|
1abb826210 | ||
|
|
c1c99a669b | ||
|
|
b9ef9f667e | ||
|
|
28b2019559 | ||
|
|
68f86dccce | ||
|
|
397d948310 | ||
|
|
f7069494f4 | ||
|
|
0f78d017af | ||
|
|
b8f675f45b | ||
|
|
3e9c381166 | ||
|
|
77a217df60 | ||
|
|
717a07b932 | ||
|
|
aebfd53e9d | ||
|
|
006a516aa0 | ||
|
|
c7fcd62302 | ||
|
|
2c8b432b89 | ||
|
|
2c45eca159 | ||
|
|
bde3fc0c03 | ||
|
|
e45fea5a80 | ||
|
|
ece7d4349a | ||
|
|
0db42906e3 | ||
|
|
5808f30b89 | ||
|
|
31ee5108e0 | ||
|
|
0656f08092 | ||
|
|
16061874ff | ||
|
|
2e3682a7f2 | ||
|
|
63684cd183 | ||
|
|
ecc603ca9b | ||
|
|
ff5c9a4dde | ||
|
|
9acce7a6f3 | ||
|
|
f0cd866a37 | ||
|
|
8817ba450c | ||
|
|
f778642613 | ||
|
|
7df492627b | ||
|
|
2ceeb6c001 | ||
|
|
b04b3047ff | ||
|
|
d9c84e763a | ||
|
|
5e544f1510 | ||
|
|
643dd48a2a | ||
|
|
70944ca54a | ||
|
|
279ed0ddd5 | ||
|
|
9731b1c8b0 | ||
|
|
c5150c7b81 | ||
|
|
86cb76728d | ||
|
|
b49ba426a7 | ||
|
|
dd6e4533eb | ||
|
|
e0fd6c4c9e | ||
|
|
51ed69a586 | ||
|
|
bea9acc55a | ||
|
|
d037a597a9 | ||
|
|
bab70193dd | ||
|
|
47df14590c | ||
|
|
b81b86da98 | ||
|
|
6276789fb5 | ||
|
|
316361b95c | ||
|
|
b80ba08518 | ||
|
|
4bba445d83 | ||
|
|
6736792b9a | ||
|
|
1e02a13a7f | ||
|
|
23d161de29 | ||
|
|
2e925f263d | ||
|
|
e75e1cb02c | ||
|
|
f9bc2db9a9 | ||
|
|
a8fbeec9e9 | ||
|
|
3b6629cec7 | ||
|
|
5fb5e6c8f0 | ||
|
|
2fcb816858 | ||
|
|
635cb3c976 | ||
|
|
5c9f03686d | ||
|
|
492b954f81 | ||
|
|
87131fb2f7 | ||
|
|
5ea21c3a61 | ||
|
|
a48289ac30 | ||
|
|
8907eda779 | ||
|
|
b9331cd25c | ||
|
|
71c5bbcec7 | ||
|
|
58e39c1932 | ||
|
|
19a99d023e | ||
|
|
b4ddddeff1 | ||
|
|
dfaf11a3d8 | ||
|
|
fbc1e6661e | ||
|
|
a887fd2144 | ||
|
|
e702646545 | ||
|
|
7e5ef79f95 | ||
|
|
94677200fb | ||
|
|
a4dd2e9532 | ||
|
|
212a253697 | ||
|
|
dd930c573b | ||
|
|
115f4193eb | ||
|
|
9ac3b77d0d | ||
|
|
747582484c | ||
|
|
6439375bb9 | ||
|
|
3ebf8c9359 | ||
|
|
be45de1f93 | ||
|
|
8648890f86 | ||
|
|
fc18201bbd | ||
|
|
7c66465763 | ||
|
|
6f087cbcd5 | ||
|
|
d1aad71209 | ||
|
|
51b0abc874 | ||
|
|
3a3b77dd4f | ||
|
|
d771ec6296 | ||
|
|
49d8e63833 | ||
|
|
3d50eaa6ed | ||
|
|
862e615696 | ||
|
|
040c93565c | ||
|
|
4a11db8b60 | ||
|
|
46d3d7b967 | ||
|
|
29992e1fca | ||
|
|
27353ad367 | ||
|
|
18c925cd33 | ||
|
|
3f4b167c97 | ||
|
|
8bc1867da7 | ||
|
|
8efe569b8d | ||
|
|
71d48bcc3d | ||
|
|
b71acc704a | ||
|
|
1131bb77ec | ||
|
|
6bc6392d2b | ||
|
|
9da5170a0e | ||
|
|
c1cfb43d8d | ||
|
|
5860a48c71 | ||
|
|
0b01144ece | ||
|
|
34f7974a40 | ||
|
|
27cfcef99f | ||
|
|
e1183ac044 | ||
|
|
12ad09a966 | ||
|
|
d80d478182 | ||
|
|
83eba863fe | ||
|
|
28216aa971 | ||
|
|
4276d5c004 | ||
|
|
6382a1290f | ||
|
|
d90e5b5b9f | ||
|
|
f3db2796b8 | ||
|
|
21867c929a | ||
|
|
b9da14012d | ||
|
|
a169c06361 | ||
|
|
8efd7aa6c1 | ||
|
|
f26e430899 | ||
|
|
e5e21a8a6e | ||
|
|
f762637be2 | ||
|
|
2931458711 | ||
|
|
41966885b9 | ||
|
|
802018306f | ||
|
|
8267d6565d | ||
|
|
16576b87b7 | ||
|
|
375bfac8e7 | ||
|
|
233619b3fb | ||
|
|
023f7f176b | ||
|
|
8dc43aa0fe | ||
|
|
1c691938e9 | ||
|
|
ee09801afd | ||
|
|
bea493bcb8 | ||
|
|
80c54b484f | ||
|
|
d954f3bd0c | ||
|
|
bdd9438b45 | ||
|
|
e3e6c2a899 | ||
|
|
16b842af8e | ||
|
|
92f5c0be8e | ||
|
|
866e7b6b77 | ||
|
|
f88f31dcbf | ||
|
|
021ed6aea9 | ||
|
|
3057dded48 | ||
|
|
db159149c1 | ||
|
|
925d82931c | ||
|
|
dd5d7d0770 | ||
|
|
6ae1cf12ce | ||
|
|
7eb78e3320 | ||
|
|
5ac067f6d6 | ||
|
|
5ae849d66f | ||
|
|
ed821cbe85 | ||
|
|
5cf457b743 | ||
|
|
8b934aab14 | ||
|
|
3b582dff84 | ||
|
|
816638e3be | ||
|
|
3d2283800a | ||
|
|
5cddc2de49 | ||
|
|
6b1b0e9d45 | ||
|
|
bc546c21a5 | ||
|
|
af7c6af0cc | ||
|
|
d3fc8df8af | ||
|
|
a85c8493ae | ||
|
|
70c8ff1c9a | ||
|
|
ecd2b7112a | ||
|
|
c2979c150b | ||
|
|
5698f7ad29 | ||
|
|
4a14cba2f1 | ||
|
|
9f5464ee95 | ||
|
|
3f5b75a5ef | ||
|
|
1e76e1fdfa | ||
|
|
9d052e9331 | ||
|
|
f2e5808b46 | ||
|
|
37c2279148 | ||
|
|
20cb6e786f | ||
|
|
d1b51e39c9 | ||
|
|
8a0ef811ed | ||
|
|
5b05f8e0c4 | ||
|
|
59c2aff1ed | ||
|
|
418deaf5a1 | ||
|
|
245514da51 | ||
|
|
df01cc528d | ||
|
|
bf93e77e72 | ||
|
|
991e04e7d7 | ||
|
|
4eefda9102 | ||
|
|
341dd57fa1 | ||
|
|
7ac2f914aa | ||
|
|
85cb4a9942 | ||
|
|
aa595dbda4 | ||
|
|
2af0312c95 | ||
|
|
7c7b961e73 | ||
|
|
2b79c22c43 | ||
|
|
47f33a59ea |
@@ -5,10 +5,11 @@ version=23
|
|||||||
|
|
||||||
[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
|
||||||
|
warning=issuestitle
|
||||||
|
|
||||||
[repository]
|
[repository]
|
||||||
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)
|
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)
|
||||||
branches=
|
branches=.*
|
||||||
|
|
||||||
[census]
|
[census]
|
||||||
version=0
|
version=0
|
||||||
|
|||||||
@@ -177,10 +177,11 @@ is equivalent to <code>make test TEST="tier1"</code>, but the latter is
|
|||||||
more tab-completion friendly. For more complex test runs, the
|
more tab-completion friendly. For more complex test runs, the
|
||||||
<code>test TEST="x"</code> solution needs to be used.</p>
|
<code>test TEST="x"</code> solution needs to be used.</p>
|
||||||
<p>The test specifications given in <code>TEST</code> is parsed into
|
<p>The test specifications given in <code>TEST</code> is parsed into
|
||||||
fully qualified test descriptors, which clearly and unambigously show
|
fully qualified test descriptors, which clearly and unambiguously show
|
||||||
which tests will be run. As an example, <code>:tier1</code> will expand
|
which tests will be run. As an example, <code>:tier1</code> will expand
|
||||||
to
|
to include all subcomponent test directories that define
|
||||||
<code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>.
|
<code>tier1</code>, for example:
|
||||||
|
<code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 ...</code>.
|
||||||
You can always submit a list of fully qualified test descriptors in the
|
You can always submit a list of fully qualified test descriptors in the
|
||||||
<code>TEST</code> variable if you want to shortcut the parser.</p>
|
<code>TEST</code> variable if you want to shortcut the parser.</p>
|
||||||
<h3 id="common-test-groups">Common Test Groups</h3>
|
<h3 id="common-test-groups">Common Test Groups</h3>
|
||||||
@@ -227,7 +228,7 @@ tests.</p></li>
|
|||||||
These contain, among other things, tests that either run for too long to
|
These contain, among other things, tests that either run for too long to
|
||||||
be at <code>tier1</code>, or may require special configuration, or tests
|
be at <code>tier1</code>, or may require special configuration, or tests
|
||||||
that are less stable, or cover the broader range of non-core JVM and JDK
|
that are less stable, or cover the broader range of non-core JVM and JDK
|
||||||
features/components(for example, XML).</p></li>
|
features/components (for example, XML).</p></li>
|
||||||
<li><p><code>tier3</code>: This test group includes more stressful
|
<li><p><code>tier3</code>: This test group includes more stressful
|
||||||
tests, the tests for corner cases not covered by previous tiers, plus
|
tests, the tests for corner cases not covered by previous tiers, plus
|
||||||
the tests that require GUIs. As such, this suite should either be run
|
the tests that require GUIs. As such, this suite should either be run
|
||||||
@@ -367,7 +368,7 @@ would give an error, while <code>JTREG_TMIEOUT_FACTOR=8</code> would
|
|||||||
just pass unnoticed.</p>
|
just pass unnoticed.</p>
|
||||||
<p>To separate multiple keyword=value pairs, use <code>;</code>
|
<p>To separate multiple keyword=value pairs, use <code>;</code>
|
||||||
(semicolon). Since the shell normally eats <code>;</code>, the
|
(semicolon). Since the shell normally eats <code>;</code>, the
|
||||||
recommended usage is to write the assignment inside qoutes, e.g.
|
recommended usage is to write the assignment inside quotes, e.g.
|
||||||
<code>JTREG="...;..."</code>. This will also make sure spaces are
|
<code>JTREG="...;..."</code>. This will also make sure spaces are
|
||||||
preserved, as in
|
preserved, as in
|
||||||
<code>JTREG="JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"</code>.</p>
|
<code>JTREG="JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"</code>.</p>
|
||||||
@@ -396,10 +397,8 @@ TEST_OPTS keywords.</p>
|
|||||||
<p>Applies to JTReg, GTest and Micro.</p>
|
<p>Applies to JTReg, GTest and Micro.</p>
|
||||||
<h4 id="vm_options">VM_OPTIONS</h4>
|
<h4 id="vm_options">VM_OPTIONS</h4>
|
||||||
<p>Applies to JTReg, GTest and Micro.</p>
|
<p>Applies to JTReg, GTest and Micro.</p>
|
||||||
<h4 id="aot_modules">AOT_MODULES</h4>
|
|
||||||
<p>Applies to JTReg and GTest.</p>
|
|
||||||
<h4 id="jcov">JCOV</h4>
|
<h4 id="jcov">JCOV</h4>
|
||||||
<p>This keywords applies globally to the test runner system. If set to
|
<p>This keyword applies globally to the test runner system. If set to
|
||||||
<code>true</code>, it enables JCov coverage reporting for all tests run.
|
<code>true</code>, it enables JCov coverage reporting for all tests run.
|
||||||
To be useful, the JDK under test must be run with a JDK built with JCov
|
To be useful, the JDK under test must be run with a JDK built with JCov
|
||||||
instrumentation
|
instrumentation
|
||||||
@@ -499,11 +498,6 @@ options to your test classes, use <code>JAVA_OPTIONS</code>.</p>
|
|||||||
<h4 id="launcher_options">LAUNCHER_OPTIONS</h4>
|
<h4 id="launcher_options">LAUNCHER_OPTIONS</h4>
|
||||||
<p>Additional Java options that are sent to the java launcher that
|
<p>Additional Java options that are sent to the java launcher that
|
||||||
starts the JTReg harness.</p>
|
starts the JTReg harness.</p>
|
||||||
<h4 id="aot_modules-1">AOT_MODULES</h4>
|
|
||||||
<p>Generate AOT modules before testing for the specified module, or set
|
|
||||||
of modules. If multiple modules are specified, they should be separated
|
|
||||||
by space (or, to help avoid quoting issues, the special value
|
|
||||||
<code>%20</code>).</p>
|
|
||||||
<h4 id="retry_count">RETRY_COUNT</h4>
|
<h4 id="retry_count">RETRY_COUNT</h4>
|
||||||
<p>Retry failed tests up to a set number of times, until they pass. This
|
<p>Retry failed tests up to a set number of times, until they pass. This
|
||||||
allows to pass the tests with intermittent failures. Defaults to 0.</p>
|
allows to pass the tests with intermittent failures. Defaults to 0.</p>
|
||||||
@@ -526,11 +520,6 @@ intermittent problem.</p>
|
|||||||
<p>Additional options to the Gtest test framework.</p>
|
<p>Additional options to the Gtest test framework.</p>
|
||||||
<p>Use <code>GTEST="OPTIONS=--help"</code> to see all available Gtest
|
<p>Use <code>GTEST="OPTIONS=--help"</code> to see all available Gtest
|
||||||
options.</p>
|
options.</p>
|
||||||
<h4 id="aot_modules-2">AOT_MODULES</h4>
|
|
||||||
<p>Generate AOT modules before testing for the specified module, or set
|
|
||||||
of modules. If multiple modules are specified, they should be separated
|
|
||||||
by space (or, to help avoid quoting issues, the special value
|
|
||||||
<code>%20</code>).</p>
|
|
||||||
<h3 id="microbenchmark-keywords">Microbenchmark keywords</h3>
|
<h3 id="microbenchmark-keywords">Microbenchmark keywords</h3>
|
||||||
<h4 id="fork">FORK</h4>
|
<h4 id="fork">FORK</h4>
|
||||||
<p>Override the number of benchmark forks to spawn. Same as specifying
|
<p>Override the number of benchmark forks to spawn. Same as specifying
|
||||||
@@ -574,7 +563,7 @@ docker image are required on Ubuntu 18.04 by using
|
|||||||
<p>If your locale is non-US, some tests are likely to fail. To work
|
<p>If your locale is non-US, some tests are likely to fail. To work
|
||||||
around this you can set the locale to US. On Unix platforms simply
|
around this you can set the locale to US. On Unix platforms simply
|
||||||
setting <code>LANG="en_US"</code> in the environment before running
|
setting <code>LANG="en_US"</code> in the environment before running
|
||||||
tests should work. On Windows or MacOS, setting
|
tests should work. On Windows or macOS, setting
|
||||||
<code>JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"</code>
|
<code>JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"</code>
|
||||||
helps for most, but not all test cases.</p>
|
helps for most, but not all test cases.</p>
|
||||||
<p>For example:</p>
|
<p>For example:</p>
|
||||||
@@ -609,7 +598,7 @@ provided below.</p>
|
|||||||
Shortcuts; select or deselect desired shortcut.</p>
|
Shortcuts; select or deselect desired shortcut.</p>
|
||||||
<p>For example,
|
<p>For example,
|
||||||
test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java
|
test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java
|
||||||
fails on MacOS because it uses <code>CTRL + F1</code> key sequence to
|
fails on macOS because it uses <code>CTRL + F1</code> key sequence to
|
||||||
show or hide tooltip message but the key combination is reserved by the
|
show or hide tooltip message but the key combination is reserved by the
|
||||||
operating system. To run the test correctly the default global key
|
operating system. To run the test correctly the default global key
|
||||||
shortcut should be disabled using the steps described above, and then
|
shortcut should be disabled using the steps described above, and then
|
||||||
|
|||||||
@@ -102,12 +102,12 @@ TEST="tier1"`, but the latter is more tab-completion friendly. For more complex
|
|||||||
test runs, the `test TEST="x"` solution needs to be used.
|
test runs, the `test TEST="x"` solution needs to be used.
|
||||||
|
|
||||||
The test specifications given in `TEST` is parsed into fully qualified test
|
The test specifications given in `TEST` is parsed into fully qualified test
|
||||||
descriptors, which clearly and unambigously show which tests will be run. As an
|
descriptors, which clearly and unambiguously show which tests will be run. As
|
||||||
example, `:tier1` will expand to `jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1
|
an example, `:tier1` will expand to include all subcomponent test directories
|
||||||
jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1
|
that define `tier1`, for example: `jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1
|
||||||
jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1`. You can
|
jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 ...`. You
|
||||||
always submit a list of fully qualified test descriptors in the `TEST` variable
|
can always submit a list of fully qualified test descriptors in the `TEST`
|
||||||
if you want to shortcut the parser.
|
variable if you want to shortcut the parser.
|
||||||
|
|
||||||
### Common Test Groups
|
### Common Test Groups
|
||||||
|
|
||||||
@@ -151,7 +151,7 @@ A brief description of the tiered test groups:
|
|||||||
- `tier2`: This test group covers even more ground. These contain, among other
|
- `tier2`: This test group covers even more ground. These contain, among other
|
||||||
things, tests that either run for too long to be at `tier1`, or may require
|
things, tests that either run for too long to be at `tier1`, or may require
|
||||||
special configuration, or tests that are less stable, or cover the broader
|
special configuration, or tests that are less stable, or cover the broader
|
||||||
range of non-core JVM and JDK features/components(for example, XML).
|
range of non-core JVM and JDK features/components (for example, XML).
|
||||||
|
|
||||||
- `tier3`: This test group includes more stressful tests, the tests for corner
|
- `tier3`: This test group includes more stressful tests, the tests for corner
|
||||||
cases not covered by previous tiers, plus the tests that require GUIs. As
|
cases not covered by previous tiers, plus the tests that require GUIs. As
|
||||||
@@ -294,7 +294,7 @@ would just pass unnoticed.
|
|||||||
|
|
||||||
To separate multiple keyword=value pairs, use `;` (semicolon). Since the shell
|
To separate multiple keyword=value pairs, use `;` (semicolon). Since the shell
|
||||||
normally eats `;`, the recommended usage is to write the assignment inside
|
normally eats `;`, the recommended usage is to write the assignment inside
|
||||||
qoutes, e.g. `JTREG="...;..."`. This will also make sure spaces are preserved,
|
quotes, e.g. `JTREG="...;..."`. This will also make sure spaces are preserved,
|
||||||
as in `JTREG="JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"`.
|
as in `JTREG="JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"`.
|
||||||
|
|
||||||
(Other ways are possible, e.g. using backslash:
|
(Other ways are possible, e.g. using backslash:
|
||||||
@@ -334,13 +334,9 @@ Applies to JTReg, GTest and Micro.
|
|||||||
|
|
||||||
Applies to JTReg, GTest and Micro.
|
Applies to JTReg, GTest and Micro.
|
||||||
|
|
||||||
#### AOT_MODULES
|
|
||||||
|
|
||||||
Applies to JTReg and GTest.
|
|
||||||
|
|
||||||
#### JCOV
|
#### JCOV
|
||||||
|
|
||||||
This keywords applies globally to the test runner system. If set to `true`, it
|
This keyword applies globally to the test runner system. If set to `true`, it
|
||||||
enables JCov coverage reporting for all tests run. To be useful, the JDK under
|
enables JCov coverage reporting for all tests run. To be useful, the JDK under
|
||||||
test must be run with a JDK built with JCov instrumentation (`configure
|
test must be run with a JDK built with JCov instrumentation (`configure
|
||||||
--with-jcov=<path to directory containing lib/jcov.jar>`, `make jcov-image`).
|
--with-jcov=<path to directory containing lib/jcov.jar>`, `make jcov-image`).
|
||||||
@@ -480,12 +476,6 @@ your test classes, use `JAVA_OPTIONS`.
|
|||||||
Additional Java options that are sent to the java launcher that starts the
|
Additional Java options that are sent to the java launcher that starts the
|
||||||
JTReg harness.
|
JTReg harness.
|
||||||
|
|
||||||
#### AOT_MODULES
|
|
||||||
|
|
||||||
Generate AOT modules before testing for the specified module, or set of
|
|
||||||
modules. If multiple modules are specified, they should be separated by space
|
|
||||||
(or, to help avoid quoting issues, the special value `%20`).
|
|
||||||
|
|
||||||
#### RETRY_COUNT
|
#### RETRY_COUNT
|
||||||
|
|
||||||
Retry failed tests up to a set number of times, until they pass. This allows to
|
Retry failed tests up to a set number of times, until they pass. This allows to
|
||||||
@@ -517,12 +507,6 @@ Additional options to the Gtest test framework.
|
|||||||
|
|
||||||
Use `GTEST="OPTIONS=--help"` to see all available Gtest options.
|
Use `GTEST="OPTIONS=--help"` to see all available Gtest options.
|
||||||
|
|
||||||
#### AOT_MODULES
|
|
||||||
|
|
||||||
Generate AOT modules before testing for the specified module, or set of
|
|
||||||
modules. If multiple modules are specified, they should be separated by space
|
|
||||||
(or, to help avoid quoting issues, the special value `%20`).
|
|
||||||
|
|
||||||
### Microbenchmark keywords
|
### Microbenchmark keywords
|
||||||
|
|
||||||
#### FORK
|
#### FORK
|
||||||
@@ -587,7 +571,7 @@ $ make test TEST="jtreg:test/hotspot/jtreg/containers/docker" \
|
|||||||
|
|
||||||
If your locale is non-US, some tests are likely to fail. To work around this
|
If your locale is non-US, some tests are likely to fail. To work around this
|
||||||
you can set the locale to US. On Unix platforms simply setting `LANG="en_US"`
|
you can set the locale to US. On Unix platforms simply setting `LANG="en_US"`
|
||||||
in the environment before running tests should work. On Windows or MacOS,
|
in the environment before running tests should work. On Windows or macOS,
|
||||||
setting `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` helps for
|
setting `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` helps for
|
||||||
most, but not all test cases.
|
most, but not all test cases.
|
||||||
|
|
||||||
@@ -635,7 +619,7 @@ select or deselect desired shortcut.
|
|||||||
|
|
||||||
For example,
|
For example,
|
||||||
test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java
|
test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java
|
||||||
fails on MacOS because it uses `CTRL + F1` key sequence to show or hide tooltip
|
fails on macOS because it uses `CTRL + F1` key sequence to show or hide tooltip
|
||||||
message but the key combination is reserved by the operating system. To run the
|
message but the key combination is reserved by the operating system. To run the
|
||||||
test correctly the default global key shortcut should be disabled using the
|
test correctly the default global key shortcut should be disabled using the
|
||||||
steps described above, and then deselect "Turn keyboard access on or off"
|
steps described above, and then deselect "Turn keyboard access on or off"
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. 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.
|
|
||||||
#
|
|
||||||
|
|
||||||
default: all
|
|
||||||
|
|
||||||
include $(SPEC)
|
|
||||||
include MakeBase.gmk
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
#
|
|
||||||
# Concatenate exported.symbols files for modules into a single global file.
|
|
||||||
#
|
|
||||||
|
|
||||||
GLOBAL_SYMBOLS_FILE := $(SUPPORT_OUTPUTDIR)/build-static/exported.symbols
|
|
||||||
|
|
||||||
EXPORTED_SYMBOLS_MODULES := java.base jdk.jdwp.agent
|
|
||||||
|
|
||||||
MODULES_SYMBOLS_FILES := $(foreach module, $(EXPORTED_SYMBOLS_MODULES), \
|
|
||||||
$(SUPPORT_OUTPUTDIR)/modules_libs/$(module)/$(module).symbols)
|
|
||||||
|
|
||||||
$(GLOBAL_SYMBOLS_FILE): $(MODULES_SYMBOLS_FILES)
|
|
||||||
$(call LogInfo, Generating global exported.symbols file)
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(CAT) $^ > $@
|
|
||||||
|
|
||||||
TARGETS += $(GLOBAL_SYMBOLS_FILE)
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
all: $(TARGETS)
|
|
||||||
|
|
||||||
.PHONY: default all
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2016, 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
|
||||||
@@ -28,6 +28,9 @@ default: all
|
|||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
|
include MakeIO.gmk
|
||||||
|
|
||||||
PRODUCT_TARGETS :=
|
PRODUCT_TARGETS :=
|
||||||
LEGACY_TARGETS :=
|
LEGACY_TARGETS :=
|
||||||
TEST_TARGETS :=
|
TEST_TARGETS :=
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2023, 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
|
||||||
@@ -31,8 +31,9 @@ default: all
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include JavaCompilation.gmk
|
include JavaCompilation.gmk
|
||||||
include NativeCompilation.gmk
|
|
||||||
include TextFileProcessing.gmk
|
include TextFileProcessing.gmk
|
||||||
include ZipArchive.gmk
|
include ZipArchive.gmk
|
||||||
|
|
||||||
@@ -182,7 +183,7 @@ $(eval $(call SetupBuildDemo, SwingSet2, \
|
|||||||
))
|
))
|
||||||
|
|
||||||
$(eval $(call SetupBuildDemo, Font2DTest, \
|
$(eval $(call SetupBuildDemo, Font2DTest, \
|
||||||
DISABLED_WARNINGS := rawtypes deprecation unchecked serial cast this-escape, \
|
DISABLED_WARNINGS := rawtypes deprecation unchecked serial cast this-escape dangling-doc-comments, \
|
||||||
DEMO_SUBDIR := jfc, \
|
DEMO_SUBDIR := jfc, \
|
||||||
))
|
))
|
||||||
|
|
||||||
@@ -215,7 +216,7 @@ $(eval $(call SetupBuildDemo, SampleTree, \
|
|||||||
))
|
))
|
||||||
|
|
||||||
$(eval $(call SetupBuildDemo, TableExample, \
|
$(eval $(call SetupBuildDemo, TableExample, \
|
||||||
DISABLED_WARNINGS := rawtypes unchecked deprecation this-escape, \
|
DISABLED_WARNINGS := rawtypes unchecked deprecation this-escape dangling-doc-comments, \
|
||||||
DEMO_SUBDIR := jfc, \
|
DEMO_SUBDIR := jfc, \
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ default: all
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include JavaCompilation.gmk
|
include JavaCompilation.gmk
|
||||||
include Modules.gmk
|
include Modules.gmk
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ $(eval $(call SetupJavaCompilation, BUILD_JIGSAW_TOOLS, \
|
|||||||
build/tools/jigsaw, \
|
build/tools/jigsaw, \
|
||||||
COPY := .properties .html, \
|
COPY := .properties .html, \
|
||||||
BIN := $(TOOLS_CLASSES_DIR), \
|
BIN := $(TOOLS_CLASSES_DIR), \
|
||||||
DISABLED_WARNINGS := fallthrough this-escape, \
|
DISABLED_WARNINGS := fallthrough, \
|
||||||
JAVAC_FLAGS := \
|
JAVAC_FLAGS := \
|
||||||
--add-modules jdk.jdeps \
|
--add-modules jdk.jdeps \
|
||||||
--add-exports java.base/jdk.internal.module=ALL-UNNAMED \
|
--add-exports java.base/jdk.internal.module=ALL-UNNAMED \
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2023, 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
|
||||||
@@ -27,6 +27,8 @@ default: all
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include JavaCompilation.gmk
|
include JavaCompilation.gmk
|
||||||
include TextFileProcessing.gmk
|
include TextFileProcessing.gmk
|
||||||
|
|
||||||
@@ -53,7 +55,7 @@ $(eval $(call SetupJavaCompilation, BUILD_TOOLS_JDK, \
|
|||||||
build/tools/depend \
|
build/tools/depend \
|
||||||
, \
|
, \
|
||||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
|
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
|
||||||
DISABLED_WARNINGS := options, \
|
DISABLED_WARNINGS := dangling-doc-comments options, \
|
||||||
JAVAC_FLAGS := \
|
JAVAC_FLAGS := \
|
||||||
--add-exports java.desktop/sun.awt=ALL-UNNAMED \
|
--add-exports java.desktop/sun.awt=ALL-UNNAMED \
|
||||||
--add-exports java.base/sun.text=ALL-UNNAMED \
|
--add-exports java.base/sun.text=ALL-UNNAMED \
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ default: all
|
|||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
|
|
||||||
LIBS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_LIBS)))
|
LIBS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_LIBS)))
|
||||||
CMDS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CMDS)))
|
CMDS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CMDS)))
|
||||||
CONF_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CONF)))
|
CONF_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CONF)))
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ default: all
|
|||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
|
|
||||||
##########################################################################################
|
##########################################################################################
|
||||||
|
|
||||||
### TZDB tool needs files from java.time.zone package
|
### TZDB tool needs files from java.time.zone package
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ default: all
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include Execute.gmk
|
include Execute.gmk
|
||||||
include Modules.gmk
|
include Modules.gmk
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ default: all
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include Execute.gmk
|
include Execute.gmk
|
||||||
include Modules.gmk
|
include Modules.gmk
|
||||||
include ModuleTools.gmk
|
include ModuleTools.gmk
|
||||||
@@ -679,28 +681,25 @@ ifeq ($(ENABLE_PANDOC), true)
|
|||||||
$(TOPDIR)/make/jdk/src/classes/build/tools/pandocfilter)
|
$(TOPDIR)/make/jdk/src/classes/build/tools/pandocfilter)
|
||||||
|
|
||||||
$(foreach m, $(ALL_MODULES), \
|
$(foreach m, $(ALL_MODULES), \
|
||||||
$(eval MAN_$m := $(call FindModuleManDirs, $m)) \
|
$(eval MAN_$m := $(call ApplySpecFilter, $(filter %.md, $(call FindFiles, \
|
||||||
$(foreach d, $(MAN_$m), \
|
$(call FindModuleManDirs, $m))))) \
|
||||||
$(foreach f, $(call ApplySpecFilter, $(filter %.md, $(call FindFiles, $d))), \
|
$(if $(MAN_$m), \
|
||||||
$(eval $m_$f_NAME := MAN_TO_HTML_$m_$(strip $(call RelativePath, $f, $(TOPDIR)))) \
|
$(eval $(call SetupProcessMarkdown, MAN_TO_HTML_$m, \
|
||||||
$(eval $(call SetupProcessMarkdown, $($m_$f_NAME), \
|
FILES := $(MAN_$m), \
|
||||||
SRC := $d, \
|
DEST := $(DOCS_OUTPUTDIR)/specs/man, \
|
||||||
FILES := $f, \
|
FILTER := $(PANDOC_HTML_MANPAGE_FILTER), \
|
||||||
DEST := $(DOCS_OUTPUTDIR)/specs/man, \
|
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
|
||||||
FILTER := $(PANDOC_HTML_MANPAGE_FILTER), \
|
REPLACEMENTS := \
|
||||||
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
|
@@COPYRIGHT_YEAR@@ => $(COPYRIGHT_YEAR) ; \
|
||||||
REPLACEMENTS := \
|
@@VERSION_SHORT@@ => $(VERSION_SHORT) ; \
|
||||||
@@COPYRIGHT_YEAR@@ => $(COPYRIGHT_YEAR) ; \
|
@@VERSION_SPECIFICATION@@ => $(VERSION_SPECIFICATION), \
|
||||||
@@VERSION_SHORT@@ => $(VERSION_SHORT) ; \
|
OPTIONS := --toc -V include-before='$(SPECS_TOP)' -V include-after='$(SPECS_BOTTOM_1)', \
|
||||||
@@VERSION_SPECIFICATION@@ => $(VERSION_SPECIFICATION), \
|
POST_PROCESS := $(TOOL_FIXUPPANDOC) --insert-nav --nav-right-info '$(HEADER_RIGHT_SIDE_INFO)' \
|
||||||
OPTIONS := --toc -V include-before='$(SPECS_TOP)' -V include-after='$(SPECS_BOTTOM_1)', \
|
--nav-subdirs 1 --nav-link-guides, \
|
||||||
POST_PROCESS := $(TOOL_FIXUPPANDOC) --insert-nav --nav-right-info '$(HEADER_RIGHT_SIDE_INFO)' \
|
EXTRA_DEPS := $(PANDOC_HTML_MANPAGE_FILTER) \
|
||||||
--nav-subdirs 1 --nav-link-guides, \
|
$(PANDOC_HTML_MANPAGE_FILTER_SOURCE), \
|
||||||
EXTRA_DEPS := $(PANDOC_HTML_MANPAGE_FILTER) \
|
)) \
|
||||||
$(PANDOC_HTML_MANPAGE_FILTER_SOURCE), \
|
$(eval JDK_SPECS_TARGETS += $(MAN_TO_HTML_$m)) \
|
||||||
)) \
|
|
||||||
$(eval JDK_SPECS_TARGETS += $($($m_$f_NAME))) \
|
|
||||||
) \
|
|
||||||
) \
|
) \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2016, 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
|
||||||
@@ -31,6 +31,8 @@ default: all
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include JavaCompilation.gmk
|
include JavaCompilation.gmk
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -41,6 +43,7 @@ $(eval $(call SetupJavaCompilation, CLASSLIST_JAR, \
|
|||||||
SMALL_JAVA := false, \
|
SMALL_JAVA := false, \
|
||||||
SRC := $(TOPDIR)/make/jdk/src/classes, \
|
SRC := $(TOPDIR)/make/jdk/src/classes, \
|
||||||
INCLUDES := build/tools/classlist, \
|
INCLUDES := build/tools/classlist, \
|
||||||
|
DISABLED_WARNINGS := dangling-doc-comments, \
|
||||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/classlist_classes, \
|
BIN := $(BUILDTOOLS_OUTPUTDIR)/classlist_classes, \
|
||||||
JAR := $(SUPPORT_OUTPUTDIR)/classlist.jar, \
|
JAR := $(SUPPORT_OUTPUTDIR)/classlist.jar, \
|
||||||
))
|
))
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ default: all
|
|||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
TARGETS :=
|
TARGETS :=
|
||||||
|
|||||||
@@ -136,11 +136,17 @@ ifeq ($(HSDIS_BACKEND), binutils)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Build libhsdis
|
||||||
|
################################################################################
|
||||||
|
|
||||||
$(eval $(call SetupJdkLibrary, BUILD_HSDIS, \
|
$(eval $(call SetupJdkLibrary, BUILD_HSDIS, \
|
||||||
NAME := hsdis, \
|
NAME := hsdis, \
|
||||||
LINK_TYPE := $(HSDIS_LINK_TYPE), \
|
LINK_TYPE := $(HSDIS_LINK_TYPE), \
|
||||||
SRC := $(TOPDIR)/src/utils/hsdis/$(HSDIS_BACKEND), \
|
SRC := $(TOPDIR)/src/utils/hsdis/$(HSDIS_BACKEND), \
|
||||||
EXTRA_HEADER_DIRS := $(TOPDIR)/src/utils/hsdis, \
|
EXTRA_HEADER_DIRS := \
|
||||||
|
java.base:include \
|
||||||
|
$(TOPDIR)/src/utils/hsdis, \
|
||||||
OUTPUT_DIR := $(HSDIS_OUTPUT_DIR), \
|
OUTPUT_DIR := $(HSDIS_OUTPUT_DIR), \
|
||||||
OBJECT_DIR := $(HSDIS_OUTPUT_DIR), \
|
OBJECT_DIR := $(HSDIS_OUTPUT_DIR), \
|
||||||
DISABLED_WARNINGS_gcc := undef format-nonliteral sign-compare, \
|
DISABLED_WARNINGS_gcc := undef format-nonliteral sign-compare, \
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ default: all
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include Execute.gmk
|
include Execute.gmk
|
||||||
include Modules.gmk
|
include Modules.gmk
|
||||||
include Utils.gmk
|
include Utils.gmk
|
||||||
|
|||||||
@@ -501,9 +501,12 @@ else # $(HAS_SPEC)=true
|
|||||||
# Failure logs are only supported for "parallel" main targets, not the
|
# Failure logs are only supported for "parallel" main targets, not the
|
||||||
# (trivial) sequential make targets (such as clean and reconfigure),
|
# (trivial) sequential make targets (such as clean and reconfigure),
|
||||||
# since the failure-logs directory creation will conflict with clean.
|
# since the failure-logs directory creation will conflict with clean.
|
||||||
|
# We also make sure the javatmp directory exists, which is needed if a java
|
||||||
|
# process (like javac) is using java.io.tmpdir.
|
||||||
define PrepareFailureLogs
|
define PrepareFailureLogs
|
||||||
$(RM) -r $(MAKESUPPORT_OUTPUTDIR)/failure-logs 2> /dev/null && \
|
$(RM) -r $(MAKESUPPORT_OUTPUTDIR)/failure-logs 2> /dev/null && \
|
||||||
$(MKDIR) -p $(MAKESUPPORT_OUTPUTDIR)/failure-logs
|
$(MKDIR) -p $(MAKESUPPORT_OUTPUTDIR)/failure-logs
|
||||||
|
$(MKDIR) -p $(JAVA_TMP_DIR)
|
||||||
$(RM) $(MAKESUPPORT_OUTPUTDIR)/exit-with-error 2> /dev/null
|
$(RM) $(MAKESUPPORT_OUTPUTDIR)/exit-with-error 2> /dev/null
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@@ -536,6 +539,31 @@ else # $(HAS_SPEC)=true
|
|||||||
endef
|
endef
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
# Functions for timers
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
# Store the build times in this directory.
|
||||||
|
BUILDTIMESDIR=$(OUTPUTDIR)/make-support/build-times
|
||||||
|
|
||||||
|
# Record starting time for build of a sub repository.
|
||||||
|
define RecordStartTime
|
||||||
|
$(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$(strip $1) && \
|
||||||
|
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$(strip $1)_human_readable
|
||||||
|
endef
|
||||||
|
|
||||||
|
# Record ending time and calculate the difference and store it in a
|
||||||
|
# easy to read format. Handles builds that cross midnight. Expects
|
||||||
|
# that a build will never take 24 hours or more.
|
||||||
|
define RecordEndTime
|
||||||
|
$(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$(strip $1)
|
||||||
|
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$(strip $1)_human_readable
|
||||||
|
$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$(strip $1)` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$(strip $1)` $1 | \
|
||||||
|
$(AWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
|
||||||
|
M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
|
||||||
|
> $(BUILDTIMESDIR)/build_time_diff_$(strip $1)
|
||||||
|
endef
|
||||||
|
|
||||||
define StartGlobalTimer
|
define StartGlobalTimer
|
||||||
$(RM) -r $(BUILDTIMESDIR) 2> /dev/null && \
|
$(RM) -r $(BUILDTIMESDIR) 2> /dev/null && \
|
||||||
$(MKDIR) -p $(BUILDTIMESDIR) && \
|
$(MKDIR) -p $(BUILDTIMESDIR) && \
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ default: all
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include JavaCompilation.gmk
|
include JavaCompilation.gmk
|
||||||
include JarArchive.gmk
|
include JarArchive.gmk
|
||||||
include TextFileProcessing.gmk
|
include TextFileProcessing.gmk
|
||||||
|
|||||||
@@ -25,6 +25,8 @@
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include TextFileProcessing.gmk
|
include TextFileProcessing.gmk
|
||||||
|
|
||||||
default: bundles
|
default: bundles
|
||||||
|
|||||||
@@ -96,14 +96,6 @@ $(eval $(call SetupTarget, buildtools-hotspot, \
|
|||||||
MAKEFILE := CompileToolsHotspot, \
|
MAKEFILE := CompileToolsHotspot, \
|
||||||
))
|
))
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Special targets for certain modules
|
|
||||||
|
|
||||||
$(eval $(call SetupTarget, generate-exported-symbols, \
|
|
||||||
MAKEFILE := BuildStatic, \
|
|
||||||
DEPS := java.base-libs jdk.jdwp.agent-libs, \
|
|
||||||
))
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Gensrc targets, generating source before java compilation can be done
|
# Gensrc targets, generating source before java compilation can be done
|
||||||
#
|
#
|
||||||
@@ -905,10 +897,6 @@ else
|
|||||||
|
|
||||||
$(LAUNCHER_TARGETS): java.base-libs
|
$(LAUNCHER_TARGETS): java.base-libs
|
||||||
|
|
||||||
ifeq ($(STATIC_BUILD), true)
|
|
||||||
$(LAUNCHER_TARGETS): generate-exported-symbols
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Declare dependency from <module>-java to <module>-gensrc
|
# Declare dependency from <module>-java to <module>-gensrc
|
||||||
$(foreach m, $(GENSRC_MODULES), $(eval $m-java: $m-gensrc))
|
$(foreach m, $(GENSRC_MODULES), $(eval $m-java: $m-gensrc))
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,8 @@ default: all
|
|||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
|
|
||||||
MODULE_SRC := $(TOPDIR)/src/$(MODULE)
|
MODULE_SRC := $(TOPDIR)/src/$(MODULE)
|
||||||
|
|
||||||
# All makefiles should add the targets to be built to this variable.
|
# All makefiles should add the targets to be built to this variable.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2017, 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
|
||||||
@@ -176,7 +176,3 @@ ULIMIT := ulimit
|
|||||||
ifeq ($(OPENJDK_BUILD_OS), windows)
|
ifeq ($(OPENJDK_BUILD_OS), windows)
|
||||||
PATHTOOL := cygpath
|
PATHTOOL := cygpath
|
||||||
endif
|
endif
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Simple macros from spec.gmk.in
|
|
||||||
SHARED_LIBRARY=$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX)
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2016, 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
|
||||||
@@ -41,6 +41,16 @@ $(eval $(call IncludeCustomExtension, SourceRevision-pre.gmk))
|
|||||||
|
|
||||||
STORED_SOURCE_REVISION := $(TOPDIR)/.src-rev
|
STORED_SOURCE_REVISION := $(TOPDIR)/.src-rev
|
||||||
|
|
||||||
|
# Locate all sourcecode repositories included in the forest, as absolute paths
|
||||||
|
FindAllReposAbs = \
|
||||||
|
$(strip $(sort $(dir $(filter-out $(TOPDIR)/build/%, $(wildcard \
|
||||||
|
$(addprefix $(TOPDIR)/, .git */.git */*/.git */*/*/.git */*/*/*/.git) \
|
||||||
|
)))))
|
||||||
|
|
||||||
|
# Locate all sourcecode repositories included in the forest, as relative paths
|
||||||
|
FindAllReposRel = \
|
||||||
|
$(strip $(subst $(TOPDIR)/,.,$(patsubst $(TOPDIR)/%/, %, $(FindAllReposAbs))))
|
||||||
|
|
||||||
USE_SCM := false
|
USE_SCM := false
|
||||||
ifneq ($(and $(GIT), $(wildcard $(TOPDIR)/.git)), )
|
ifneq ($(and $(GIT), $(wildcard $(TOPDIR)/.git)), )
|
||||||
USE_SCM := true
|
USE_SCM := true
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ default: all
|
|||||||
|
|
||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include Modules.gmk
|
include Modules.gmk
|
||||||
|
|
||||||
ALL_MODULES = $(call FindAllModules)
|
ALL_MODULES = $(call FindAllModules)
|
||||||
|
|||||||
@@ -28,6 +28,9 @@ default: all
|
|||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
|
|
||||||
|
# Hook to include the corresponding custom file, if present.
|
||||||
|
$(eval $(call IncludeCustomExtension, TestImage-pre.gmk))
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
|
BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 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
|
||||||
@@ -30,7 +30,7 @@ default: all
|
|||||||
include $(SPEC)
|
include $(SPEC)
|
||||||
include MakeBase.gmk
|
include MakeBase.gmk
|
||||||
include Execute.gmk
|
include Execute.gmk
|
||||||
include NativeCompilation.gmk
|
include JdkNativeCompilation.gmk
|
||||||
include ToolsJdk.gmk
|
include ToolsJdk.gmk
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -47,14 +47,14 @@ ifeq ($(COMPILE_TYPE), cross)
|
|||||||
$(error It is not possible to update the x11wrappers when cross-compiling)
|
$(error It is not possible to update the x11wrappers when cross-compiling)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
BITS := $(OPENJDK_TARGET_CPU_BITS)
|
||||||
|
|
||||||
X11WRAPPERS_OUTPUT := $(SUPPORT_OUTPUTDIR)/x11wrappers
|
X11WRAPPERS_OUTPUT := $(SUPPORT_OUTPUTDIR)/x11wrappers
|
||||||
GENERATOR_SOURCE_FILE := $(X11WRAPPERS_OUTPUT)/src/data_generator.c
|
GENERATOR_SOURCE_FILE := $(X11WRAPPERS_OUTPUT)/src/data_generator.c
|
||||||
|
|
||||||
GENSRC_X11WRAPPERS_DATADIR := $(TOPDIR)/src/java.desktop/unix/data/x11wrappergen
|
GENSRC_X11WRAPPERS_DATADIR := $(TOPDIR)/src/java.desktop/unix/data/x11wrappergen
|
||||||
WRAPPER_OUTPUT_FILE := $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(BITS).txt
|
WRAPPER_OUTPUT_FILE := $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(BITS).txt
|
||||||
|
|
||||||
BITS := $(OPENJDK_TARGET_CPU_BITS)
|
|
||||||
|
|
||||||
# Generate the C code for the program that will output the offset file.
|
# Generate the C code for the program that will output the offset file.
|
||||||
$(eval $(call SetupExecute, gensrc_generator, \
|
$(eval $(call SetupExecute, gensrc_generator, \
|
||||||
INFO := Generating X11 wrapper data generator source code, \
|
INFO := Generating X11 wrapper data generator source code, \
|
||||||
@@ -76,14 +76,17 @@ DATA_GENERATOR_INCLUDES := \
|
|||||||
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
|
-I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
|
||||||
#
|
#
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Build data_generator
|
||||||
|
################################################################################
|
||||||
|
|
||||||
# Compile the generated C code into an executable.
|
# Compile the generated C code into an executable.
|
||||||
$(eval $(call SetupNativeCompilation, BUILD_DATA_GENERATOR, \
|
$(eval $(call SetupJdkExecutable, BUILD_DATA_GENERATOR, \
|
||||||
PROGRAM := data_generator, \
|
NAME := data_generator, \
|
||||||
OUTPUT_DIR := $(X11WRAPPERS_OUTPUT)/bin, \
|
|
||||||
EXTRA_FILES := $(GENERATOR_SOURCE_FILE), \
|
EXTRA_FILES := $(GENERATOR_SOURCE_FILE), \
|
||||||
CFLAGS := $(X_CFLAGS) $(DATA_GENERATOR_INCLUDES) $(CFLAGS_JDKEXE), \
|
CFLAGS := $(X_CFLAGS) $(DATA_GENERATOR_INCLUDES), \
|
||||||
LDFLAGS := $(LDFLAGS_JDKEXE), \
|
|
||||||
LIBS := $(X_LIBS), \
|
LIBS := $(X_LIBS), \
|
||||||
|
OUTPUT_DIR := $(X11WRAPPERS_OUTPUT)/bin, \
|
||||||
OBJECT_DIR := $(X11WRAPPERS_OUTPUT)/objs, \
|
OBJECT_DIR := $(X11WRAPPERS_OUTPUT)/objs, \
|
||||||
))
|
))
|
||||||
|
|
||||||
@@ -92,6 +95,7 @@ $(eval $(call SetupExecute, run_wrappergen, \
|
|||||||
INFO := Generating X11 wrapper data files, \
|
INFO := Generating X11 wrapper data files, \
|
||||||
DEPS := $(BUILD_DATA_GENERATOR), \
|
DEPS := $(BUILD_DATA_GENERATOR), \
|
||||||
OUTPUT_FILE := $(WRAPPER_OUTPUT_FILE), \
|
OUTPUT_FILE := $(WRAPPER_OUTPUT_FILE), \
|
||||||
|
SUPPORT_DIR := $(X11WRAPPERS_OUTPUT)/run-wrapper, \
|
||||||
COMMAND := $(BUILD_DATA_GENERATOR_TARGET) | $(SORT) > $(WRAPPER_OUTPUT_FILE), \
|
COMMAND := $(BUILD_DATA_GENERATOR_TARGET) | $(SORT) > $(WRAPPER_OUTPUT_FILE), \
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 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
|
||||||
@@ -25,11 +25,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Attempt to guess a canonical system name.
|
# Attempt to guess a canonical system name.
|
||||||
# Copyright 1992-2022 Free Software Foundation, Inc.
|
# Copyright 1992-2024 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
||||||
|
|
||||||
timestamp='2022-09-17'
|
timestamp='2024-01-01'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
@@ -72,7 +72,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
|
|||||||
usage="\
|
usage="\
|
||||||
Usage: $0 [OPTION]
|
Usage: $0 [OPTION]
|
||||||
|
|
||||||
Output the configuration name of the system \`$me' is run on.
|
Output the configuration name of the system '$me' is run on.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-h, --help print this help, then exit
|
-h, --help print this help, then exit
|
||||||
@@ -85,13 +85,13 @@ version="\
|
|||||||
GNU config.guess ($timestamp)
|
GNU config.guess ($timestamp)
|
||||||
|
|
||||||
Originally written by Per Bothner.
|
Originally written by Per Bothner.
|
||||||
Copyright 1992-2022 Free Software Foundation, Inc.
|
Copyright 1992-2024 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
|
||||||
help="
|
help="
|
||||||
Try \`$me --help' for more information."
|
Try '$me --help' for more information."
|
||||||
|
|
||||||
# Parse command line
|
# Parse command line
|
||||||
while test $# -gt 0 ; do
|
while test $# -gt 0 ; do
|
||||||
@@ -127,8 +127,8 @@ GUESS=
|
|||||||
# temporary files to be created and, as you can see below, it is a
|
# temporary files to be created and, as you can see below, it is a
|
||||||
# headache to deal with in a portable fashion.
|
# headache to deal with in a portable fashion.
|
||||||
|
|
||||||
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
|
# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
|
||||||
# use `HOST_CC' if defined, but it is deprecated.
|
# use 'HOST_CC' if defined, but it is deprecated.
|
||||||
|
|
||||||
# Portable tmp directory creation inspired by the Autoconf team.
|
# Portable tmp directory creation inspired by the Autoconf team.
|
||||||
|
|
||||||
@@ -180,6 +180,9 @@ Linux|GNU|GNU/*)
|
|||||||
|
|
||||||
set_cc_for_build
|
set_cc_for_build
|
||||||
cat <<-EOF > "$dummy.c"
|
cat <<-EOF > "$dummy.c"
|
||||||
|
#if defined(__ANDROID__)
|
||||||
|
LIBC=android
|
||||||
|
#else
|
||||||
#include <features.h>
|
#include <features.h>
|
||||||
#if defined(__UCLIBC__)
|
#if defined(__UCLIBC__)
|
||||||
LIBC=uclibc
|
LIBC=uclibc
|
||||||
@@ -187,6 +190,8 @@ Linux|GNU|GNU/*)
|
|||||||
LIBC=dietlibc
|
LIBC=dietlibc
|
||||||
#elif defined(__GLIBC__)
|
#elif defined(__GLIBC__)
|
||||||
LIBC=gnu
|
LIBC=gnu
|
||||||
|
#elif defined(__LLVM_LIBC__)
|
||||||
|
LIBC=llvm
|
||||||
#else
|
#else
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
/* First heuristic to detect musl libc. */
|
/* First heuristic to detect musl libc. */
|
||||||
@@ -194,6 +199,7 @@ Linux|GNU|GNU/*)
|
|||||||
LIBC=musl
|
LIBC=musl
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
EOF
|
EOF
|
||||||
cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
|
cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
|
||||||
eval "$cc_set_libc"
|
eval "$cc_set_libc"
|
||||||
@@ -484,7 +490,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
|
|||||||
UNAME_RELEASE=`uname -v`
|
UNAME_RELEASE=`uname -v`
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
# Japanese Language versions have a version number like `4.1.3-JL'.
|
# Japanese Language versions have a version number like '4.1.3-JL'.
|
||||||
SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
|
SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
|
||||||
GUESS=sparc-sun-sunos$SUN_REL
|
GUESS=sparc-sun-sunos$SUN_REL
|
||||||
;;
|
;;
|
||||||
@@ -929,7 +935,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*:FreeBSD:*:*)
|
*:FreeBSD:*:*)
|
||||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
UNAME_PROCESSOR=`uname -p`
|
||||||
case $UNAME_PROCESSOR in
|
case $UNAME_PROCESSOR in
|
||||||
amd64)
|
amd64)
|
||||||
UNAME_PROCESSOR=x86_64 ;;
|
UNAME_PROCESSOR=x86_64 ;;
|
||||||
@@ -1001,7 +1007,27 @@ EOF
|
|||||||
GUESS=$UNAME_MACHINE-unknown-minix
|
GUESS=$UNAME_MACHINE-unknown-minix
|
||||||
;;
|
;;
|
||||||
aarch64:Linux:*:*)
|
aarch64:Linux:*:*)
|
||||||
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
set_cc_for_build
|
||||||
|
CPU=$UNAME_MACHINE
|
||||||
|
LIBCABI=$LIBC
|
||||||
|
if test "$CC_FOR_BUILD" != no_compiler_found; then
|
||||||
|
ABI=64
|
||||||
|
sed 's/^ //' << EOF > "$dummy.c"
|
||||||
|
#ifdef __ARM_EABI__
|
||||||
|
#ifdef __ARM_PCS_VFP
|
||||||
|
ABI=eabihf
|
||||||
|
#else
|
||||||
|
ABI=eabi
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
|
||||||
|
eval "$cc_set_abi"
|
||||||
|
case $ABI in
|
||||||
|
eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
GUESS=$CPU-unknown-linux-$LIBCABI
|
||||||
;;
|
;;
|
||||||
aarch64_be:Linux:*:*)
|
aarch64_be:Linux:*:*)
|
||||||
UNAME_MACHINE=aarch64_be
|
UNAME_MACHINE=aarch64_be
|
||||||
@@ -1067,6 +1093,15 @@ EOF
|
|||||||
k1om:Linux:*:*)
|
k1om:Linux:*:*)
|
||||||
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
||||||
;;
|
;;
|
||||||
|
kvx:Linux:*:*)
|
||||||
|
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
||||||
|
;;
|
||||||
|
kvx:cos:*:*)
|
||||||
|
GUESS=$UNAME_MACHINE-unknown-cos
|
||||||
|
;;
|
||||||
|
kvx:mbr:*:*)
|
||||||
|
GUESS=$UNAME_MACHINE-unknown-mbr
|
||||||
|
;;
|
||||||
loongarch32:Linux:*:* | loongarch64:Linux:*:*)
|
loongarch32:Linux:*:* | loongarch64:Linux:*:*)
|
||||||
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
||||||
;;
|
;;
|
||||||
@@ -1222,7 +1257,7 @@ EOF
|
|||||||
GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
|
GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
|
||||||
;;
|
;;
|
||||||
i*86:OS/2:*:*)
|
i*86:OS/2:*:*)
|
||||||
# If we were able to find `uname', then EMX Unix compatibility
|
# If we were able to find 'uname', then EMX Unix compatibility
|
||||||
# is probably installed.
|
# is probably installed.
|
||||||
GUESS=$UNAME_MACHINE-pc-os2-emx
|
GUESS=$UNAME_MACHINE-pc-os2-emx
|
||||||
;;
|
;;
|
||||||
@@ -1363,7 +1398,7 @@ EOF
|
|||||||
GUESS=ns32k-sni-sysv
|
GUESS=ns32k-sni-sysv
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
|
||||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||||
GUESS=i586-unisys-sysv4
|
GUESS=i586-unisys-sysv4
|
||||||
;;
|
;;
|
||||||
@@ -1585,6 +1620,9 @@ EOF
|
|||||||
*:Unleashed:*:*)
|
*:Unleashed:*:*)
|
||||||
GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
|
GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
|
||||||
;;
|
;;
|
||||||
|
*:Ironclad:*:*)
|
||||||
|
GUESS=$UNAME_MACHINE-unknown-ironclad
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Do we have a guess based on uname results?
|
# Do we have a guess based on uname results?
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 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
|
||||||
@@ -26,11 +26,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright 1992-2022 Free Software Foundation, Inc.
|
# Copyright 1992-2024 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
||||||
|
|
||||||
timestamp='2022-09-17'
|
timestamp='2024-01-01'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
@@ -102,13 +102,13 @@ Report bugs and patches to <config-patches@gnu.org>."
|
|||||||
version="\
|
version="\
|
||||||
GNU config.sub ($timestamp)
|
GNU config.sub ($timestamp)
|
||||||
|
|
||||||
Copyright 1992-2022 Free Software Foundation, Inc.
|
Copyright 1992-2024 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
|
||||||
help="
|
help="
|
||||||
Try \`$me --help' for more information."
|
Try '$me --help' for more information."
|
||||||
|
|
||||||
# Parse command line
|
# Parse command line
|
||||||
while test $# -gt 0 ; do
|
while test $# -gt 0 ; do
|
||||||
@@ -156,7 +156,7 @@ IFS=$saved_IFS
|
|||||||
# Separate into logical components for further validation
|
# Separate into logical components for further validation
|
||||||
case $1 in
|
case $1 in
|
||||||
*-*-*-*-*)
|
*-*-*-*-*)
|
||||||
echo Invalid configuration \`"$1"\': more than four components >&2
|
echo "Invalid configuration '$1': more than four components" >&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
*-*-*-*)
|
*-*-*-*)
|
||||||
@@ -171,7 +171,8 @@ case $1 in
|
|||||||
nto-qnx* | linux-* | uclinux-uclibc* \
|
nto-qnx* | linux-* | uclinux-uclibc* \
|
||||||
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
|
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
|
||||||
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
|
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
|
||||||
| storm-chaos* | os2-emx* | rtmk-nova* | managarm-*)
|
| storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \
|
||||||
|
| windows-* )
|
||||||
basic_machine=$field1
|
basic_machine=$field1
|
||||||
basic_os=$maybe_os
|
basic_os=$maybe_os
|
||||||
;;
|
;;
|
||||||
@@ -969,7 +970,7 @@ $basic_machine
|
|||||||
EOF
|
EOF
|
||||||
IFS=$saved_IFS
|
IFS=$saved_IFS
|
||||||
;;
|
;;
|
||||||
# We use `pc' rather than `unknown'
|
# We use 'pc' rather than 'unknown'
|
||||||
# because (1) that's what they normally are, and
|
# because (1) that's what they normally are, and
|
||||||
# (2) the word "unknown" tends to confuse beginning users.
|
# (2) the word "unknown" tends to confuse beginning users.
|
||||||
i*86 | x86_64)
|
i*86 | x86_64)
|
||||||
@@ -1101,7 +1102,7 @@ case $cpu-$vendor in
|
|||||||
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
||||||
cpu=i586
|
cpu=i586
|
||||||
;;
|
;;
|
||||||
pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
|
pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
|
||||||
cpu=i686
|
cpu=i686
|
||||||
;;
|
;;
|
||||||
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
||||||
@@ -1206,7 +1207,7 @@ case $cpu-$vendor in
|
|||||||
case $cpu in
|
case $cpu in
|
||||||
1750a | 580 \
|
1750a | 580 \
|
||||||
| a29k \
|
| a29k \
|
||||||
| aarch64 | aarch64_be \
|
| aarch64 | aarch64_be | aarch64c | arm64ec \
|
||||||
| abacus \
|
| abacus \
|
||||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
|
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
|
||||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
|
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
|
||||||
@@ -1225,12 +1226,14 @@ case $cpu-$vendor in
|
|||||||
| d10v | d30v | dlx | dsp16xx \
|
| d10v | d30v | dlx | dsp16xx \
|
||||||
| e2k | elxsi | epiphany \
|
| e2k | elxsi | epiphany \
|
||||||
| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
|
| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
|
||||||
|
| javascript \
|
||||||
| h8300 | h8500 \
|
| h8300 | h8500 \
|
||||||
| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||||
| hexagon \
|
| hexagon \
|
||||||
| i370 | i*86 | i860 | i960 | ia16 | ia64 \
|
| i370 | i*86 | i860 | i960 | ia16 | ia64 \
|
||||||
| ip2k | iq2000 \
|
| ip2k | iq2000 \
|
||||||
| k1om \
|
| k1om \
|
||||||
|
| kvx \
|
||||||
| le32 | le64 \
|
| le32 | le64 \
|
||||||
| lm32 \
|
| lm32 \
|
||||||
| loongarch32 | loongarch64 \
|
| loongarch32 | loongarch64 \
|
||||||
@@ -1239,36 +1242,13 @@ case $cpu-$vendor in
|
|||||||
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
|
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
|
||||||
| m88110 | m88k | maxq | mb | mcore | mep | metag \
|
| m88110 | m88k | maxq | mb | mcore | mep | metag \
|
||||||
| microblaze | microblazeel \
|
| microblaze | microblazeel \
|
||||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
| mips* \
|
||||||
| mips16 \
|
|
||||||
| mips64 | mips64eb | mips64el \
|
|
||||||
| mips64octeon | mips64octeonel \
|
|
||||||
| mips64orion | mips64orionel \
|
|
||||||
| mips64r5900 | mips64r5900el \
|
|
||||||
| mips64vr | mips64vrel \
|
|
||||||
| mips64vr4100 | mips64vr4100el \
|
|
||||||
| mips64vr4300 | mips64vr4300el \
|
|
||||||
| mips64vr5000 | mips64vr5000el \
|
|
||||||
| mips64vr5900 | mips64vr5900el \
|
|
||||||
| mipsisa32 | mipsisa32el \
|
|
||||||
| mipsisa32r2 | mipsisa32r2el \
|
|
||||||
| mipsisa32r3 | mipsisa32r3el \
|
|
||||||
| mipsisa32r5 | mipsisa32r5el \
|
|
||||||
| mipsisa32r6 | mipsisa32r6el \
|
|
||||||
| mipsisa64 | mipsisa64el \
|
|
||||||
| mipsisa64r2 | mipsisa64r2el \
|
|
||||||
| mipsisa64r3 | mipsisa64r3el \
|
|
||||||
| mipsisa64r5 | mipsisa64r5el \
|
|
||||||
| mipsisa64r6 | mipsisa64r6el \
|
|
||||||
| mipsisa64sb1 | mipsisa64sb1el \
|
|
||||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
|
||||||
| mipsr5900 | mipsr5900el \
|
|
||||||
| mipstx39 | mipstx39el \
|
|
||||||
| mmix \
|
| mmix \
|
||||||
| mn10200 | mn10300 \
|
| mn10200 | mn10300 \
|
||||||
| moxie \
|
| moxie \
|
||||||
| mt \
|
| mt \
|
||||||
| msp430 \
|
| msp430 \
|
||||||
|
| nanomips* \
|
||||||
| nds32 | nds32le | nds32be \
|
| nds32 | nds32le | nds32be \
|
||||||
| nfp \
|
| nfp \
|
||||||
| nios | nios2 | nios2eb | nios2el \
|
| nios | nios2 | nios2eb | nios2el \
|
||||||
@@ -1300,6 +1280,7 @@ case $cpu-$vendor in
|
|||||||
| ubicom32 \
|
| ubicom32 \
|
||||||
| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
|
| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
|
||||||
| vax \
|
| vax \
|
||||||
|
| vc4 \
|
||||||
| visium \
|
| visium \
|
||||||
| w65 \
|
| w65 \
|
||||||
| wasm32 | wasm64 \
|
| wasm32 | wasm64 \
|
||||||
@@ -1311,7 +1292,7 @@ case $cpu-$vendor in
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
|
echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1332,11 +1313,12 @@ esac
|
|||||||
|
|
||||||
# Decode manufacturer-specific aliases for certain operating systems.
|
# Decode manufacturer-specific aliases for certain operating systems.
|
||||||
|
|
||||||
if test x$basic_os != x
|
if test x"$basic_os" != x
|
||||||
then
|
then
|
||||||
|
|
||||||
# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
|
# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
|
||||||
# set os.
|
# set os.
|
||||||
|
obj=
|
||||||
case $basic_os in
|
case $basic_os in
|
||||||
gnu/linux*)
|
gnu/linux*)
|
||||||
kernel=linux
|
kernel=linux
|
||||||
@@ -1536,10 +1518,16 @@ case $os in
|
|||||||
os=eabi
|
os=eabi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
os=elf
|
os=
|
||||||
|
obj=elf
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
aout* | coff* | elf* | pe*)
|
||||||
|
# These are machine code file formats, not OSes
|
||||||
|
obj=$os
|
||||||
|
os=
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
# No normalization, but not necessarily accepted, that comes below.
|
# No normalization, but not necessarily accepted, that comes below.
|
||||||
;;
|
;;
|
||||||
@@ -1558,12 +1546,15 @@ else
|
|||||||
# system, and we'll never get to this point.
|
# system, and we'll never get to this point.
|
||||||
|
|
||||||
kernel=
|
kernel=
|
||||||
|
obj=
|
||||||
case $cpu-$vendor in
|
case $cpu-$vendor in
|
||||||
score-*)
|
score-*)
|
||||||
os=elf
|
os=
|
||||||
|
obj=elf
|
||||||
;;
|
;;
|
||||||
spu-*)
|
spu-*)
|
||||||
os=elf
|
os=
|
||||||
|
obj=elf
|
||||||
;;
|
;;
|
||||||
*-acorn)
|
*-acorn)
|
||||||
os=riscix1.2
|
os=riscix1.2
|
||||||
@@ -1573,28 +1564,35 @@ case $cpu-$vendor in
|
|||||||
os=gnu
|
os=gnu
|
||||||
;;
|
;;
|
||||||
arm*-semi)
|
arm*-semi)
|
||||||
os=aout
|
os=
|
||||||
|
obj=aout
|
||||||
;;
|
;;
|
||||||
c4x-* | tic4x-*)
|
c4x-* | tic4x-*)
|
||||||
os=coff
|
os=
|
||||||
|
obj=coff
|
||||||
;;
|
;;
|
||||||
c8051-*)
|
c8051-*)
|
||||||
os=elf
|
os=
|
||||||
|
obj=elf
|
||||||
;;
|
;;
|
||||||
clipper-intergraph)
|
clipper-intergraph)
|
||||||
os=clix
|
os=clix
|
||||||
;;
|
;;
|
||||||
hexagon-*)
|
hexagon-*)
|
||||||
os=elf
|
os=
|
||||||
|
obj=elf
|
||||||
;;
|
;;
|
||||||
tic54x-*)
|
tic54x-*)
|
||||||
os=coff
|
os=
|
||||||
|
obj=coff
|
||||||
;;
|
;;
|
||||||
tic55x-*)
|
tic55x-*)
|
||||||
os=coff
|
os=
|
||||||
|
obj=coff
|
||||||
;;
|
;;
|
||||||
tic6x-*)
|
tic6x-*)
|
||||||
os=coff
|
os=
|
||||||
|
obj=coff
|
||||||
;;
|
;;
|
||||||
# This must come before the *-dec entry.
|
# This must come before the *-dec entry.
|
||||||
pdp10-*)
|
pdp10-*)
|
||||||
@@ -1616,19 +1614,24 @@ case $cpu-$vendor in
|
|||||||
os=sunos3
|
os=sunos3
|
||||||
;;
|
;;
|
||||||
m68*-cisco)
|
m68*-cisco)
|
||||||
os=aout
|
os=
|
||||||
|
obj=aout
|
||||||
;;
|
;;
|
||||||
mep-*)
|
mep-*)
|
||||||
os=elf
|
os=
|
||||||
|
obj=elf
|
||||||
;;
|
;;
|
||||||
mips*-cisco)
|
mips*-cisco)
|
||||||
os=elf
|
os=
|
||||||
|
obj=elf
|
||||||
;;
|
;;
|
||||||
mips*-*)
|
mips*-*|nanomips*-*)
|
||||||
os=elf
|
os=
|
||||||
|
obj=elf
|
||||||
;;
|
;;
|
||||||
or32-*)
|
or32-*)
|
||||||
os=coff
|
os=
|
||||||
|
obj=coff
|
||||||
;;
|
;;
|
||||||
*-tti) # must be before sparc entry or we get the wrong os.
|
*-tti) # must be before sparc entry or we get the wrong os.
|
||||||
os=sysv3
|
os=sysv3
|
||||||
@@ -1637,7 +1640,8 @@ case $cpu-$vendor in
|
|||||||
os=sunos4.1.1
|
os=sunos4.1.1
|
||||||
;;
|
;;
|
||||||
pru-*)
|
pru-*)
|
||||||
os=elf
|
os=
|
||||||
|
obj=elf
|
||||||
;;
|
;;
|
||||||
*-be)
|
*-be)
|
||||||
os=beos
|
os=beos
|
||||||
@@ -1718,10 +1722,12 @@ case $cpu-$vendor in
|
|||||||
os=uxpv
|
os=uxpv
|
||||||
;;
|
;;
|
||||||
*-rom68k)
|
*-rom68k)
|
||||||
os=coff
|
os=
|
||||||
|
obj=coff
|
||||||
;;
|
;;
|
||||||
*-*bug)
|
*-*bug)
|
||||||
os=coff
|
os=
|
||||||
|
obj=coff
|
||||||
;;
|
;;
|
||||||
*-apple)
|
*-apple)
|
||||||
os=macos
|
os=macos
|
||||||
@@ -1739,10 +1745,11 @@ esac
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Now, validate our (potentially fixed-up) OS.
|
# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
|
||||||
|
|
||||||
case $os in
|
case $os in
|
||||||
# Sometimes we do "kernel-libc", so those need to count as OSes.
|
# Sometimes we do "kernel-libc", so those need to count as OSes.
|
||||||
musl* | newlib* | relibc* | uclibc*)
|
llvm* | musl* | newlib* | relibc* | uclibc*)
|
||||||
;;
|
;;
|
||||||
# Likewise for "kernel-abi"
|
# Likewise for "kernel-abi"
|
||||||
eabi* | gnueabi*)
|
eabi* | gnueabi*)
|
||||||
@@ -1750,6 +1757,9 @@ case $os in
|
|||||||
# VxWorks passes extra cpu info in the 4th filed.
|
# VxWorks passes extra cpu info in the 4th filed.
|
||||||
simlinux | simwindows | spe)
|
simlinux | simwindows | spe)
|
||||||
;;
|
;;
|
||||||
|
# See `case $cpu-$os` validation below
|
||||||
|
ghcjs)
|
||||||
|
;;
|
||||||
# Now accept the basic system types.
|
# Now accept the basic system types.
|
||||||
# The portable systems comes first.
|
# The portable systems comes first.
|
||||||
# Each alternative MUST end in a * to match a version number.
|
# Each alternative MUST end in a * to match a version number.
|
||||||
@@ -1758,7 +1768,7 @@ case $os in
|
|||||||
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
|
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
|
||||||
| sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
|
| sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
|
||||||
| hiux* | abug | nacl* | netware* | windows* \
|
| hiux* | abug | nacl* | netware* | windows* \
|
||||||
| os9* | macos* | osx* | ios* \
|
| os9* | macos* | osx* | ios* | tvos* | watchos* \
|
||||||
| mpw* | magic* | mmixware* | mon960* | lnews* \
|
| mpw* | magic* | mmixware* | mon960* | lnews* \
|
||||||
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
|
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
|
||||||
| aos* | aros* | cloudabi* | sortix* | twizzler* \
|
| aos* | aros* | cloudabi* | sortix* | twizzler* \
|
||||||
@@ -1767,11 +1777,11 @@ case $os in
|
|||||||
| mirbsd* | netbsd* | dicos* | openedition* | ose* \
|
| mirbsd* | netbsd* | dicos* | openedition* | ose* \
|
||||||
| bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
|
| bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
|
||||||
| ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
|
| ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
|
||||||
| bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
|
| bosx* | nextstep* | cxux* | oabi* \
|
||||||
| ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
|
| ptx* | ecoff* | winnt* | domain* | vsta* \
|
||||||
| udi* | lites* | ieee* | go32* | aux* | hcos* \
|
| udi* | lites* | ieee* | go32* | aux* | hcos* \
|
||||||
| chorusrdb* | cegcc* | glidix* | serenity* \
|
| chorusrdb* | cegcc* | glidix* | serenity* \
|
||||||
| cygwin* | msys* | pe* | moss* | proelf* | rtems* \
|
| cygwin* | msys* | moss* | proelf* | rtems* \
|
||||||
| midipix* | mingw32* | mingw64* | mint* \
|
| midipix* | mingw32* | mingw64* | mint* \
|
||||||
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
|
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
|
||||||
| interix* | uwin* | mks* | rhapsody* | darwin* \
|
| interix* | uwin* | mks* | rhapsody* | darwin* \
|
||||||
@@ -1784,62 +1794,116 @@ case $os in
|
|||||||
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
|
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
|
||||||
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
|
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
|
||||||
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
|
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
|
||||||
| fiwix* | mlibc* )
|
| fiwix* | mlibc* | cos* | mbr* | ironclad* )
|
||||||
;;
|
;;
|
||||||
# This one is extra strict with allowed versions
|
# This one is extra strict with allowed versions
|
||||||
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
|
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
|
||||||
# Don't forget version if it is 3.2v4 or newer.
|
# Don't forget version if it is 3.2v4 or newer.
|
||||||
;;
|
;;
|
||||||
|
# This refers to builds using the UEFI calling convention
|
||||||
|
# (which depends on the architecture) and PE file format.
|
||||||
|
# Note that this is both a different calling convention and
|
||||||
|
# different file format than that of GNU-EFI
|
||||||
|
# (x86_64-w64-mingw32).
|
||||||
|
uefi)
|
||||||
|
;;
|
||||||
none)
|
none)
|
||||||
;;
|
;;
|
||||||
kernel* )
|
kernel* | msvc* )
|
||||||
# Restricted further below
|
# Restricted further below
|
||||||
;;
|
;;
|
||||||
|
'')
|
||||||
|
if test x"$obj" = x
|
||||||
|
then
|
||||||
|
echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2
|
||||||
|
fi
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
|
echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $obj in
|
||||||
|
aout* | coff* | elf* | pe*)
|
||||||
|
;;
|
||||||
|
'')
|
||||||
|
# empty is fine
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Here we handle the constraint that a (synthetic) cpu and os are
|
||||||
|
# valid only in combination with each other and nowhere else.
|
||||||
|
case $cpu-$os in
|
||||||
|
# The "javascript-unknown-ghcjs" triple is used by GHC; we
|
||||||
|
# accept it here in order to tolerate that, but reject any
|
||||||
|
# variations.
|
||||||
|
javascript-ghcjs)
|
||||||
|
;;
|
||||||
|
javascript-* | *-ghcjs)
|
||||||
|
echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# As a final step for OS-related things, validate the OS-kernel combination
|
# As a final step for OS-related things, validate the OS-kernel combination
|
||||||
# (given a valid OS), if there is a kernel.
|
# (given a valid OS), if there is a kernel.
|
||||||
case $kernel-$os in
|
case $kernel-$os-$obj in
|
||||||
linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
|
linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
|
||||||
| linux-musl* | linux-relibc* | linux-uclibc* )
|
| linux-mlibc*- | linux-musl*- | linux-newlib*- \
|
||||||
|
| linux-relibc*- | linux-uclibc*- )
|
||||||
;;
|
;;
|
||||||
uclinux-uclibc* )
|
uclinux-uclibc*- )
|
||||||
;;
|
;;
|
||||||
managarm-mlibc* | managarm-kernel* )
|
managarm-mlibc*- | managarm-kernel*- )
|
||||||
;;
|
;;
|
||||||
-dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
|
windows*-msvc*-)
|
||||||
|
;;
|
||||||
|
-dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \
|
||||||
|
| -uclibc*- )
|
||||||
# These are just libc implementations, not actual OSes, and thus
|
# These are just libc implementations, not actual OSes, and thus
|
||||||
# require a kernel.
|
# require a kernel.
|
||||||
echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
|
echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
-kernel* )
|
-kernel*- )
|
||||||
echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2
|
echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
*-kernel* )
|
*-kernel*- )
|
||||||
echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2
|
echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
kfreebsd*-gnu* | kopensolaris*-gnu*)
|
*-msvc*- )
|
||||||
|
echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
|
||||||
|
exit 1
|
||||||
;;
|
;;
|
||||||
vxworks-simlinux | vxworks-simwindows | vxworks-spe)
|
kfreebsd*-gnu*- | kopensolaris*-gnu*-)
|
||||||
;;
|
;;
|
||||||
nto-qnx*)
|
vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
|
||||||
;;
|
;;
|
||||||
os2-emx)
|
nto-qnx*-)
|
||||||
;;
|
;;
|
||||||
*-eabi* | *-gnueabi*)
|
os2-emx-)
|
||||||
;;
|
;;
|
||||||
-*)
|
*-eabi*- | *-gnueabi*-)
|
||||||
|
;;
|
||||||
|
none--*)
|
||||||
|
# None (no kernel, i.e. freestanding / bare metal),
|
||||||
|
# can be paired with an machine code file format
|
||||||
|
;;
|
||||||
|
-*-)
|
||||||
# Blank kernel with real OS is always fine.
|
# Blank kernel with real OS is always fine.
|
||||||
;;
|
;;
|
||||||
*-*)
|
--*)
|
||||||
echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
|
# Blank kernel and OS with real machine code file format is always fine.
|
||||||
|
;;
|
||||||
|
*-*-*)
|
||||||
|
echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1922,7 +1986,7 @@ case $vendor in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "$cpu-$vendor-${kernel:+$kernel-}$os"
|
echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
|
||||||
exit
|
exit
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
|
|||||||
@@ -476,15 +476,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
# Always enable optional macros for VM.
|
# Always enable optional macros for VM.
|
||||||
ALWAYS_CFLAGS_JVM="-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
|
ALWAYS_CFLAGS_JVM="-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
|
||||||
|
|
||||||
# Setup some hard coded includes
|
|
||||||
ALWAYS_CFLAGS_JDK=" \
|
|
||||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
|
||||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base/\$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
|
|
||||||
-I${TOPDIR}/src/java.base/share/native/libjava \
|
|
||||||
-I${TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_TYPE/native/libjava \
|
|
||||||
-I${TOPDIR}/src/hotspot/share/include \
|
|
||||||
-I${TOPDIR}/src/hotspot/os/${HOTSPOT_TARGET_OS_TYPE}/include"
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# Adjust flags according to debug level.
|
# Adjust flags according to debug level.
|
||||||
@@ -577,8 +568,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
# The -utf-8 option sets source and execution character sets to UTF-8 to enable correct
|
# The -utf-8 option sets source and execution character sets to UTF-8 to enable correct
|
||||||
# compilation of all source files regardless of the active code page on Windows.
|
# compilation of all source files regardless of the active code page on Windows.
|
||||||
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -Zc:preprocessor -Zc:strictStrings -Zc:inline -permissive- -utf-8 -MP"
|
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -Zc:preprocessor -Zc:inline -permissive- -utf-8 -MP"
|
||||||
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:preprocessor -Zc:strictStrings -Zc:inline -utf-8 -Zc:wchar_t-"
|
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:preprocessor -Zc:inline -permissive- -utf-8 -Zc:wchar_t-"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# CFLAGS C language level for JDK sources (hotspot only uses C++)
|
# CFLAGS C language level for JDK sources (hotspot only uses C++)
|
||||||
@@ -650,11 +641,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
JDK_PICFLAG="$PICFLAG"
|
JDK_PICFLAG="$PICFLAG"
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||||
# Linking is different on MacOSX
|
# Linking is different on macOS
|
||||||
JDK_PICFLAG=''
|
JVM_PICFLAG=""
|
||||||
if test "x$STATIC_BUILD" = xtrue; then
|
|
||||||
JVM_PICFLAG=""
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Extra flags needed when building optional static versions of certain
|
# Extra flags needed when building optional static versions of certain
|
||||||
@@ -871,7 +859,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
|
|||||||
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
|
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
|
||||||
$REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
|
$REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
|
||||||
|
|
||||||
CFLAGS_JDK_COMMON="$ALWAYS_CFLAGS_JDK $ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
|
CFLAGS_JDK_COMMON="$ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
|
||||||
$OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
|
$OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
|
||||||
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK \
|
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK \
|
||||||
$FILE_MACRO_CFLAGS $REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
|
$FILE_MACRO_CFLAGS $REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
|
||||||
|
|||||||
@@ -31,22 +31,11 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS],
|
|||||||
FLAGS_SETUP_LDFLAGS_HELPER
|
FLAGS_SETUP_LDFLAGS_HELPER
|
||||||
|
|
||||||
# Setup the target toolchain
|
# Setup the target toolchain
|
||||||
|
|
||||||
# The target dir matches the name of VM variant
|
|
||||||
TARGET_JVM_VARIANT_PATH=$JVM_VARIANT_MAIN
|
|
||||||
|
|
||||||
# On some platforms (mac) the linker warns about non existing -L dirs.
|
|
||||||
FLAGS_SETUP_LDFLAGS_CPU_DEP([TARGET])
|
FLAGS_SETUP_LDFLAGS_CPU_DEP([TARGET])
|
||||||
|
|
||||||
# Setup the build toolchain
|
# Setup the build toolchain
|
||||||
|
|
||||||
# When building a buildjdk, it's always only the server variant
|
|
||||||
BUILD_JVM_VARIANT_PATH=server
|
|
||||||
|
|
||||||
FLAGS_SETUP_LDFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
|
FLAGS_SETUP_LDFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
|
||||||
|
|
||||||
LDFLAGS_TESTEXE="${TARGET_LDFLAGS_JDK_LIBPATH}"
|
|
||||||
AC_SUBST(LDFLAGS_TESTEXE)
|
|
||||||
AC_SUBST(ADLC_LDFLAGS)
|
AC_SUBST(ADLC_LDFLAGS)
|
||||||
])
|
])
|
||||||
|
|
||||||
@@ -82,7 +71,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
|||||||
LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"
|
LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||||
BASIC_LDFLAGS="-Wl,--exclude-libs,ALL"
|
BASIC_LDFLAGS="-fuse-ld=lld -Wl,--exclude-libs,ALL"
|
||||||
fi
|
fi
|
||||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||||
BASIC_LDFLAGS="-Wl,-b64 -Wl,-brtl -Wl,-bnorwexec -Wl,-bnolibpath -Wl,-bnoexpall \
|
BASIC_LDFLAGS="-Wl,-b64 -Wl,-brtl -Wl,-bnorwexec -Wl,-bnolibpath -Wl,-bnoexpall \
|
||||||
@@ -129,7 +118,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
|||||||
|
|
||||||
# Setup LDFLAGS for linking executables
|
# Setup LDFLAGS for linking executables
|
||||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||||
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
|
|
||||||
# Enabling pie on 32 bit builds prevents the JVM from allocating a continuous
|
# Enabling pie on 32 bit builds prevents the JVM from allocating a continuous
|
||||||
# java heap.
|
# java heap.
|
||||||
if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then
|
if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then
|
||||||
@@ -155,7 +143,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Export some intermediate variables for compatibility
|
# Export some intermediate variables for compatibility
|
||||||
LDFLAGS_CXX_JDK="$BASIC_LDFLAGS_ONLYCXX $BASIC_LDFLAGS_ONLYCXX_JDK_ONLY $DEBUGLEVEL_LDFLAGS_JDK_ONLY"
|
LDFLAGS_CXX_JDK="$DEBUGLEVEL_LDFLAGS_JDK_ONLY"
|
||||||
AC_SUBST(LDFLAGS_CXX_JDK)
|
AC_SUBST(LDFLAGS_CXX_JDK)
|
||||||
AC_SUBST(LDFLAGS_CXX_PARTIAL_LINKING)
|
AC_SUBST(LDFLAGS_CXX_PARTIAL_LINKING)
|
||||||
])
|
])
|
||||||
@@ -197,20 +185,11 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# JVM_VARIANT_PATH depends on if this is build or target...
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
|
||||||
$1_LDFLAGS_JDK_LIBPATH="-libpath:\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base"
|
|
||||||
else
|
|
||||||
$1_LDFLAGS_JDK_LIBPATH="-L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
|
|
||||||
-L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/${$1_JVM_VARIANT_PATH}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Export variables according to old definitions, prefix with $2 if present.
|
# Export variables according to old definitions, prefix with $2 if present.
|
||||||
LDFLAGS_JDK_COMMON="$BASIC_LDFLAGS $BASIC_LDFLAGS_JDK_ONLY \
|
LDFLAGS_JDK_COMMON="$BASIC_LDFLAGS $BASIC_LDFLAGS_JDK_ONLY \
|
||||||
$OS_LDFLAGS $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
|
$OS_LDFLAGS $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
|
||||||
$2LDFLAGS_JDKLIB="$LDFLAGS_JDK_COMMON $BASIC_LDFLAGS_JDK_LIB_ONLY \
|
$2LDFLAGS_JDKLIB="$LDFLAGS_JDK_COMMON $BASIC_LDFLAGS_JDK_LIB_ONLY \
|
||||||
${$1_LDFLAGS_JDK_LIBPATH} $SHARED_LIBRARY_FLAGS \
|
$SHARED_LIBRARY_FLAGS $REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
|
||||||
$REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
|
|
||||||
$2LDFLAGS_JDKEXE="$LDFLAGS_JDK_COMMON $EXECUTABLE_LDFLAGS \
|
$2LDFLAGS_JDKEXE="$LDFLAGS_JDK_COMMON $EXECUTABLE_LDFLAGS \
|
||||||
${$1_CPU_EXECUTABLE_LDFLAGS} $REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
|
${$1_CPU_EXECUTABLE_LDFLAGS} $REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2023, 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
|
||||||
@@ -190,6 +190,17 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
|||||||
fi
|
fi
|
||||||
AC_SUBST(INCLUDE_SA)
|
AC_SUBST(INCLUDE_SA)
|
||||||
|
|
||||||
|
# Setup default CDS alignment. On platforms where one build may run on machines with different
|
||||||
|
# page sizes, the JVM choses a compatible alignment to fit all possible page sizes. This slightly
|
||||||
|
# increases archive size.
|
||||||
|
# The only platform having this problem at the moment is Linux on aarch64, which may encounter
|
||||||
|
# three different page sizes: 4K, 64K, and if run on Mac m1 hardware, 16K.
|
||||||
|
COMPATIBLE_CDS_ALIGNMENT_DEFAULT=false
|
||||||
|
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
|
||||||
|
COMPATIBLE_CDS_ALIGNMENT_DEFAULT=true
|
||||||
|
fi
|
||||||
|
AC_SUBST(COMPATIBLE_CDS_ALIGNMENT_DEFAULT)
|
||||||
|
|
||||||
# Compress jars
|
# Compress jars
|
||||||
COMPRESS_JARS=false
|
COMPRESS_JARS=false
|
||||||
|
|
||||||
@@ -256,11 +267,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
|||||||
fi
|
fi
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
if test "x$STATIC_BUILD" = xtrue; then
|
with_native_debug_symbols="external"
|
||||||
with_native_debug_symbols="none"
|
|
||||||
else
|
|
||||||
with_native_debug_symbols="external"
|
|
||||||
fi
|
|
||||||
])
|
])
|
||||||
AC_MSG_RESULT([$with_native_debug_symbols])
|
AC_MSG_RESULT([$with_native_debug_symbols])
|
||||||
|
|
||||||
@@ -491,7 +498,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
|
|||||||
[
|
[
|
||||||
# GCC reports lots of likely false positives for stringop-truncation and format-overflow.
|
# GCC reports lots of likely false positives for stringop-truncation and format-overflow.
|
||||||
# Silence them for now.
|
# Silence them for now.
|
||||||
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base"
|
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base -fno-sanitize=alignment"
|
||||||
UBSAN_CFLAGS="$UBSAN_CHECKS -Wno-stringop-truncation -Wno-format-overflow -fno-omit-frame-pointer -DUNDEFINED_BEHAVIOR_SANITIZER"
|
UBSAN_CFLAGS="$UBSAN_CHECKS -Wno-stringop-truncation -Wno-format-overflow -fno-omit-frame-pointer -DUNDEFINED_BEHAVIOR_SANITIZER"
|
||||||
UBSAN_LDFLAGS="$UBSAN_CHECKS"
|
UBSAN_LDFLAGS="$UBSAN_CHECKS"
|
||||||
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,
|
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,
|
||||||
@@ -532,24 +539,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
|
|||||||
#
|
#
|
||||||
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],
|
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],
|
||||||
[
|
[
|
||||||
UTIL_ARG_ENABLE(NAME: static-build, DEFAULT: false, RESULT: STATIC_BUILD,
|
UTIL_DEPRECATED_ARG_ENABLE(static-build)
|
||||||
DESC: [enable static library build],
|
|
||||||
CHECKING_MSG: [if static build is enabled],
|
|
||||||
CHECK_AVAILABLE: [
|
|
||||||
AC_MSG_CHECKING([if static build is available])
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
AVAILABLE=false
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
IF_ENABLED: [
|
|
||||||
STATIC_BUILD_CFLAGS="-DSTATIC_BUILD=1"
|
|
||||||
CFLAGS_JDKLIB_EXTRA="$CFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
|
|
||||||
CXXFLAGS_JDKLIB_EXTRA="$CXXFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
|
|
||||||
])
|
|
||||||
AC_SUBST(STATIC_BUILD)
|
|
||||||
])
|
])
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -673,7 +663,7 @@ AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE],
|
|||||||
#
|
#
|
||||||
AC_DEFUN([JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT],
|
AC_DEFUN([JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT],
|
||||||
[
|
[
|
||||||
UTIL_ARG_ENABLE(NAME: compatible-cds-alignment, DEFAULT: false,
|
UTIL_ARG_ENABLE(NAME: compatible-cds-alignment, DEFAULT: $COMPATIBLE_CDS_ALIGNMENT_DEFAULT,
|
||||||
RESULT: ENABLE_COMPATIBLE_CDS_ALIGNMENT,
|
RESULT: ENABLE_COMPATIBLE_CDS_ALIGNMENT,
|
||||||
DESC: [enable use alternative compatible cds core region alignment],
|
DESC: [enable use alternative compatible cds core region alignment],
|
||||||
DEFAULT_DESC: [disabled],
|
DEFAULT_DESC: [disabled],
|
||||||
@@ -849,7 +839,7 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_DEBUG],
|
|||||||
|
|
||||||
AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
|
AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
|
||||||
[
|
[
|
||||||
ENABLE_CODESIGN=false
|
MACOSX_CODESIGN_MODE=disabled
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$CODESIGN" != "x"; then
|
if test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$CODESIGN" != "x"; then
|
||||||
|
|
||||||
UTIL_ARG_WITH(NAME: macosx-codesign, TYPE: literal, OPTIONAL: true,
|
UTIL_ARG_WITH(NAME: macosx-codesign, TYPE: literal, OPTIONAL: true,
|
||||||
@@ -859,7 +849,6 @@ AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
|
|||||||
DESC: [set the macosx code signing mode (hardened, debug, auto)]
|
DESC: [set the macosx code signing mode (hardened, debug, auto)]
|
||||||
)
|
)
|
||||||
|
|
||||||
MACOSX_CODESIGN_MODE=disabled
|
|
||||||
if test "x$MACOSX_CODESIGN_ENABLED" = "xtrue"; then
|
if test "x$MACOSX_CODESIGN_ENABLED" = "xtrue"; then
|
||||||
|
|
||||||
# Check for user provided code signing identity.
|
# Check for user provided code signing identity.
|
||||||
@@ -902,9 +891,9 @@ AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
|
|||||||
AC_MSG_ERROR([unknown value for --with-macosx-codesign: $MACOSX_CODESIGN])
|
AC_MSG_ERROR([unknown value for --with-macosx-codesign: $MACOSX_CODESIGN])
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
|
|
||||||
AC_SUBST(MACOSX_CODESIGN_MODE)
|
|
||||||
fi
|
fi
|
||||||
|
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
|
||||||
|
AC_SUBST(MACOSX_CODESIGN_MODE)
|
||||||
])
|
])
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2023, 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
|
||||||
@@ -46,7 +46,7 @@ m4_define(jvm_features_valid, m4_normalize( \
|
|||||||
\
|
\
|
||||||
cds compiler1 compiler2 dtrace epsilongc g1gc jfr jni-check \
|
cds compiler1 compiler2 dtrace epsilongc g1gc jfr jni-check \
|
||||||
jvmci jvmti link-time-opt management minimal opt-size parallelgc \
|
jvmci jvmti link-time-opt management minimal opt-size parallelgc \
|
||||||
serialgc services shenandoahgc static-build vm-structs zero zgc \
|
serialgc services shenandoahgc vm-structs zero zgc \
|
||||||
))
|
))
|
||||||
|
|
||||||
# Deprecated JVM features (these are ignored, but with a warning)
|
# Deprecated JVM features (these are ignored, but with a warning)
|
||||||
@@ -309,22 +309,6 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_SHENANDOAHGC],
|
|||||||
])
|
])
|
||||||
])
|
])
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
# Check if the feature 'static-build' is available on this platform.
|
|
||||||
#
|
|
||||||
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_STATIC_BUILD],
|
|
||||||
[
|
|
||||||
JVM_FEATURES_CHECK_AVAILABILITY(static-build, [
|
|
||||||
AC_MSG_CHECKING([if static-build is enabled in configure])
|
|
||||||
if test "x$STATIC_BUILD" = "xtrue"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no, use --enable-static-build to enable static build.])
|
|
||||||
AVAILABLE=false
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Check if the feature 'zgc' is available on this platform.
|
# Check if the feature 'zgc' is available on this platform.
|
||||||
#
|
#
|
||||||
@@ -395,7 +379,6 @@ AC_DEFUN_ONCE([JVM_FEATURES_PREPARE_PLATFORM],
|
|||||||
JVM_FEATURES_CHECK_DTRACE
|
JVM_FEATURES_CHECK_DTRACE
|
||||||
JVM_FEATURES_CHECK_JVMCI
|
JVM_FEATURES_CHECK_JVMCI
|
||||||
JVM_FEATURES_CHECK_SHENANDOAHGC
|
JVM_FEATURES_CHECK_SHENANDOAHGC
|
||||||
JVM_FEATURES_CHECK_STATIC_BUILD
|
|
||||||
JVM_FEATURES_CHECK_ZGC
|
JVM_FEATURES_CHECK_ZGC
|
||||||
|
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2021, 2023, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2021, 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
|
||||||
@@ -268,14 +268,16 @@ AC_DEFUN([LIB_SETUP_HSDIS_BINUTILS],
|
|||||||
disasm_header="\"$BINUTILS_INSTALL_DIR/include/dis-asm.h\""
|
disasm_header="\"$BINUTILS_INSTALL_DIR/include/dis-asm.h\""
|
||||||
if test -e $BINUTILS_INSTALL_DIR/lib/libbfd.a && \
|
if test -e $BINUTILS_INSTALL_DIR/lib/libbfd.a && \
|
||||||
test -e $BINUTILS_INSTALL_DIR/lib/libopcodes.a && \
|
test -e $BINUTILS_INSTALL_DIR/lib/libopcodes.a && \
|
||||||
(test -e $BINUTILS_INSTALL_DIR/lib/libiberty.a || test -e $BINUTILS_INSTALL_DIR/lib64/libiberty.a); then
|
(test -e $BINUTILS_INSTALL_DIR/lib/libiberty.a || test -e $BINUTILS_INSTALL_DIR/lib64/libiberty.a || test -e $BINUTILS_INSTALL_DIR/lib32/libiberty.a); then
|
||||||
HSDIS_CFLAGS="-DLIBARCH_$OPENJDK_TARGET_CPU_LEGACY_LIB -I$BINUTILS_INSTALL_DIR/include"
|
HSDIS_CFLAGS="-DLIBARCH_$OPENJDK_TARGET_CPU_LEGACY_LIB -I$BINUTILS_INSTALL_DIR/include"
|
||||||
|
|
||||||
# libiberty ignores --libdir and may be installed in $BINUTILS_INSTALL_DIR/lib or $BINUTILS_INSTALL_DIR/lib64
|
# libiberty ignores --libdir and may be installed in $BINUTILS_INSTALL_DIR/lib, $BINUTILS_INSTALL_DIR/lib32
|
||||||
# depending on system setup
|
# or $BINUTILS_INSTALL_DIR/lib64, depending on system setup
|
||||||
LIBIBERTY_LIB=""
|
LIBIBERTY_LIB=""
|
||||||
if test -e $BINUTILS_INSTALL_DIR/lib/libiberty.a; then
|
if test -e $BINUTILS_INSTALL_DIR/lib/libiberty.a; then
|
||||||
LIBIBERTY_LIB="$BINUTILS_INSTALL_DIR/lib/libiberty.a"
|
LIBIBERTY_LIB="$BINUTILS_INSTALL_DIR/lib/libiberty.a"
|
||||||
|
elif test -e $BINUTILS_INSTALL_DIR/lib32/libiberty.a; then
|
||||||
|
LIBIBERTY_LIB="$BINUTILS_INSTALL_DIR/lib32/libiberty.a"
|
||||||
else
|
else
|
||||||
LIBIBERTY_LIB="$BINUTILS_INSTALL_DIR/lib64/libiberty.a"
|
LIBIBERTY_LIB="$BINUTILS_INSTALL_DIR/lib64/libiberty.a"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -129,12 +129,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
|||||||
|
|
||||||
LIB_TESTS_SETUP_GTEST
|
LIB_TESTS_SETUP_GTEST
|
||||||
|
|
||||||
BASIC_JDKLIB_LIBS=""
|
|
||||||
BASIC_JDKLIB_LIBS_TARGET=""
|
|
||||||
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
|
|
||||||
BASIC_JDKLIB_LIBS="-ljava -ljvm"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Math library
|
# Math library
|
||||||
BASIC_JVM_LIBS="$LIBM"
|
BASIC_JVM_LIBS="$LIBM"
|
||||||
|
|
||||||
@@ -170,12 +164,10 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
|||||||
LIB_SETUP_JVM_LIBS(BUILD)
|
LIB_SETUP_JVM_LIBS(BUILD)
|
||||||
LIB_SETUP_JVM_LIBS(TARGET)
|
LIB_SETUP_JVM_LIBS(TARGET)
|
||||||
|
|
||||||
JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
|
|
||||||
JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_TARGET"
|
JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_TARGET"
|
||||||
OPENJDK_BUILD_JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
|
OPENJDK_BUILD_JDKLIB_LIBS=""
|
||||||
OPENJDK_BUILD_JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_BUILD"
|
OPENJDK_BUILD_JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_BUILD"
|
||||||
|
|
||||||
AC_SUBST(JDKLIB_LIBS)
|
|
||||||
AC_SUBST(JVM_LIBS)
|
AC_SUBST(JVM_LIBS)
|
||||||
AC_SUBST(OPENJDK_BUILD_JDKLIB_LIBS)
|
AC_SUBST(OPENJDK_BUILD_JDKLIB_LIBS)
|
||||||
AC_SUBST(OPENJDK_BUILD_JVM_LIBS)
|
AC_SUBST(OPENJDK_BUILD_JVM_LIBS)
|
||||||
|
|||||||
@@ -353,6 +353,8 @@ BUNDLES_OUTPUTDIR = $(OUTPUTDIR)/bundles
|
|||||||
TESTMAKE_OUTPUTDIR = $(OUTPUTDIR)/test-make
|
TESTMAKE_OUTPUTDIR = $(OUTPUTDIR)/test-make
|
||||||
MAKESUPPORT_OUTPUTDIR = $(OUTPUTDIR)/make-support
|
MAKESUPPORT_OUTPUTDIR = $(OUTPUTDIR)/make-support
|
||||||
|
|
||||||
|
JAVA_TMP_DIR = $(SUPPORT_OUTPUTDIR)/javatmp
|
||||||
|
|
||||||
# This does not get overridden in a bootcycle build
|
# This does not get overridden in a bootcycle build
|
||||||
CONFIGURESUPPORT_OUTPUTDIR := @CONFIGURESUPPORT_OUTPUTDIR@
|
CONFIGURESUPPORT_OUTPUTDIR := @CONFIGURESUPPORT_OUTPUTDIR@
|
||||||
BUILDJDK_OUTPUTDIR = $(OUTPUTDIR)/buildjdk
|
BUILDJDK_OUTPUTDIR = $(OUTPUTDIR)/buildjdk
|
||||||
@@ -555,7 +557,6 @@ SYSROOT := @SYSROOT@
|
|||||||
|
|
||||||
# LDFLAGS used to link the jdk native libraries (C-code)
|
# LDFLAGS used to link the jdk native libraries (C-code)
|
||||||
LDFLAGS_JDKLIB := @LDFLAGS_JDKLIB@
|
LDFLAGS_JDKLIB := @LDFLAGS_JDKLIB@
|
||||||
JDKLIB_LIBS := @JDKLIB_LIBS@
|
|
||||||
|
|
||||||
# LDFLAGS used to link the jdk native launchers (C-code)
|
# LDFLAGS used to link the jdk native launchers (C-code)
|
||||||
LDFLAGS_JDKEXE := @LDFLAGS_JDKEXE@
|
LDFLAGS_JDKEXE := @LDFLAGS_JDKEXE@
|
||||||
@@ -571,9 +572,6 @@ LDCXX := @LDCXX@
|
|||||||
# The flags for linking libstdc++ linker.
|
# The flags for linking libstdc++ linker.
|
||||||
LIBCXX := @LIBCXX@
|
LIBCXX := @LIBCXX@
|
||||||
|
|
||||||
# Compiler and linker flags used when building native tests
|
|
||||||
LDFLAGS_TESTEXE := @LDFLAGS_TESTEXE@
|
|
||||||
|
|
||||||
# BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
|
# BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
|
||||||
# build platform.
|
# build platform.
|
||||||
BUILD_CC := @BUILD_ICECC@ @BUILD_CC@
|
BUILD_CC := @BUILD_ICECC@ @BUILD_CC@
|
||||||
@@ -629,23 +627,16 @@ SHARED_LIBRARY_FLAGS := @SHARED_LIBRARY_FLAGS@
|
|||||||
SET_SHARED_LIBRARY_ORIGIN = @SET_SHARED_LIBRARY_ORIGIN@
|
SET_SHARED_LIBRARY_ORIGIN = @SET_SHARED_LIBRARY_ORIGIN@
|
||||||
SET_EXECUTABLE_ORIGIN = @SET_EXECUTABLE_ORIGIN@
|
SET_EXECUTABLE_ORIGIN = @SET_EXECUTABLE_ORIGIN@
|
||||||
|
|
||||||
# Different OS:es have different ways of naming shared libraries.
|
|
||||||
# The SHARED_LIBRARY and STATIC_LIBRARY macros takes "verify" as and argument and returns:
|
|
||||||
# "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform.
|
|
||||||
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
|
|
||||||
SHARED_LIBRARY = @SHARED_LIBRARY@
|
|
||||||
STATIC_LIBRARY = @STATIC_LIBRARY@
|
|
||||||
|
|
||||||
LIBRARY_PREFIX := @LIBRARY_PREFIX@
|
LIBRARY_PREFIX := @LIBRARY_PREFIX@
|
||||||
SHARED_LIBRARY_SUFFIX := @SHARED_LIBRARY_SUFFIX@
|
SHARED_LIBRARY_SUFFIX := @SHARED_LIBRARY_SUFFIX@
|
||||||
STATIC_LIBRARY_SUFFIX := @STATIC_LIBRARY_SUFFIX@
|
STATIC_LIBRARY_SUFFIX := @STATIC_LIBRARY_SUFFIX@
|
||||||
EXECUTABLE_SUFFIX := @EXECUTABLE_SUFFIX@
|
EXECUTABLE_SUFFIX := @EXECUTABLE_SUFFIX@
|
||||||
OBJ_SUFFIX := @OBJ_SUFFIX@
|
OBJ_SUFFIX := @OBJ_SUFFIX@
|
||||||
STATIC_BUILD := @STATIC_BUILD@
|
|
||||||
|
|
||||||
STRIPFLAGS := @STRIPFLAGS@
|
STRIPFLAGS := @STRIPFLAGS@
|
||||||
|
|
||||||
JAVA_FLAGS := @JAVA_FLAGS@
|
JAVA_FLAGS_TMPDIR := -Djava.io.tmpdir=$(JAVA_TMP_DIR)
|
||||||
|
JAVA_FLAGS := @JAVA_FLAGS@ $(JAVA_FLAGS_TMPDIR)
|
||||||
JAVA_FLAGS_BIG := @JAVA_FLAGS_BIG@
|
JAVA_FLAGS_BIG := @JAVA_FLAGS_BIG@
|
||||||
JAVA_FLAGS_SMALL := @JAVA_FLAGS_SMALL@
|
JAVA_FLAGS_SMALL := @JAVA_FLAGS_SMALL@
|
||||||
BUILD_JAVA_FLAGS_SMALL := @BUILD_JAVA_FLAGS_SMALL@
|
BUILD_JAVA_FLAGS_SMALL := @BUILD_JAVA_FLAGS_SMALL@
|
||||||
@@ -681,8 +672,12 @@ BUILD_JAR = @FIXPATH@ $(BUILD_JDK)/bin/jar
|
|||||||
|
|
||||||
DOCS_REFERENCE_JAVADOC := @DOCS_REFERENCE_JAVADOC@
|
DOCS_REFERENCE_JAVADOC := @DOCS_REFERENCE_JAVADOC@
|
||||||
|
|
||||||
|
# A file containing a way to uniquely identify the source code revision that
|
||||||
|
# the build was created from
|
||||||
|
SOURCE_REVISION_TRACKER := $(SUPPORT_OUTPUTDIR)/src-rev/source-revision-tracker
|
||||||
|
|
||||||
# Interim langtools modules and arguments
|
# Interim langtools modules and arguments
|
||||||
INTERIM_LANGTOOLS_BASE_MODULES := java.compiler jdk.compiler jdk.javadoc
|
INTERIM_LANGTOOLS_BASE_MODULES := java.compiler jdk.compiler jdk.internal.md jdk.javadoc
|
||||||
INTERIM_LANGTOOLS_MODULES := $(addsuffix .interim, $(INTERIM_LANGTOOLS_BASE_MODULES))
|
INTERIM_LANGTOOLS_MODULES := $(addsuffix .interim, $(INTERIM_LANGTOOLS_BASE_MODULES))
|
||||||
INTERIM_LANGTOOLS_ADD_EXPORTS := \
|
INTERIM_LANGTOOLS_ADD_EXPORTS := \
|
||||||
--add-exports java.base/sun.reflect.annotation=jdk.compiler.interim \
|
--add-exports java.base/sun.reflect.annotation=jdk.compiler.interim \
|
||||||
|
|||||||
@@ -174,40 +174,23 @@ AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
|
|||||||
LIBRARY_PREFIX=
|
LIBRARY_PREFIX=
|
||||||
SHARED_LIBRARY_SUFFIX='.dll'
|
SHARED_LIBRARY_SUFFIX='.dll'
|
||||||
STATIC_LIBRARY_SUFFIX='.lib'
|
STATIC_LIBRARY_SUFFIX='.lib'
|
||||||
SHARED_LIBRARY='[$]1.dll'
|
|
||||||
STATIC_LIBRARY='[$]1.lib'
|
|
||||||
OBJ_SUFFIX='.obj'
|
OBJ_SUFFIX='.obj'
|
||||||
EXECUTABLE_SUFFIX='.exe'
|
EXECUTABLE_SUFFIX='.exe'
|
||||||
else
|
else
|
||||||
LIBRARY_PREFIX=lib
|
LIBRARY_PREFIX=lib
|
||||||
SHARED_LIBRARY_SUFFIX='.so'
|
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||||
|
SHARED_LIBRARY_SUFFIX='.dylib'
|
||||||
|
else
|
||||||
|
SHARED_LIBRARY_SUFFIX='.so'
|
||||||
|
fi
|
||||||
STATIC_LIBRARY_SUFFIX='.a'
|
STATIC_LIBRARY_SUFFIX='.a'
|
||||||
SHARED_LIBRARY='lib[$]1.so'
|
|
||||||
STATIC_LIBRARY='lib[$]1.a'
|
|
||||||
OBJ_SUFFIX='.o'
|
OBJ_SUFFIX='.o'
|
||||||
EXECUTABLE_SUFFIX=''
|
EXECUTABLE_SUFFIX=''
|
||||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
|
||||||
# For full static builds, we're overloading the SHARED_LIBRARY
|
|
||||||
# variables in order to limit the amount of changes required.
|
|
||||||
# It would be better to remove SHARED and just use LIBRARY and
|
|
||||||
# LIBRARY_SUFFIX for libraries that can be built either
|
|
||||||
# shared or static and use STATIC_* for libraries that are
|
|
||||||
# always built statically.
|
|
||||||
if test "x$STATIC_BUILD" = xtrue; then
|
|
||||||
SHARED_LIBRARY='lib[$]1.a'
|
|
||||||
SHARED_LIBRARY_SUFFIX='.a'
|
|
||||||
else
|
|
||||||
SHARED_LIBRARY='lib[$]1.dylib'
|
|
||||||
SHARED_LIBRARY_SUFFIX='.dylib'
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST(LIBRARY_PREFIX)
|
AC_SUBST(LIBRARY_PREFIX)
|
||||||
AC_SUBST(SHARED_LIBRARY_SUFFIX)
|
AC_SUBST(SHARED_LIBRARY_SUFFIX)
|
||||||
AC_SUBST(STATIC_LIBRARY_SUFFIX)
|
AC_SUBST(STATIC_LIBRARY_SUFFIX)
|
||||||
AC_SUBST(SHARED_LIBRARY)
|
|
||||||
AC_SUBST(STATIC_LIBRARY)
|
|
||||||
AC_SUBST(OBJ_SUFFIX)
|
AC_SUBST(OBJ_SUFFIX)
|
||||||
AC_SUBST(EXECUTABLE_SUFFIX)
|
AC_SUBST(EXECUTABLE_SUFFIX)
|
||||||
])
|
])
|
||||||
@@ -953,11 +936,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
|
|||||||
# Setup hotspot lecagy names for toolchains
|
# Setup hotspot lecagy names for toolchains
|
||||||
HOTSPOT_TOOLCHAIN_TYPE=$TOOLCHAIN_TYPE
|
HOTSPOT_TOOLCHAIN_TYPE=$TOOLCHAIN_TYPE
|
||||||
if test "x$TOOLCHAIN_TYPE" = xclang; then
|
if test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
HOTSPOT_TOOLCHAIN_TYPE=gcc
|
||||||
HOTSPOT_TOOLCHAIN_TYPE=xlc
|
|
||||||
else
|
|
||||||
HOTSPOT_TOOLCHAIN_TYPE=gcc
|
|
||||||
fi
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
HOTSPOT_TOOLCHAIN_TYPE=visCPP
|
HOTSPOT_TOOLCHAIN_TYPE=visCPP
|
||||||
fi
|
fi
|
||||||
|
|||||||
303
make/common/FileUtils.gmk
Normal file
303
make/common/FileUtils.gmk
Normal file
@@ -0,0 +1,303 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
ifeq (,$(_MAKEBASE_GMK))
|
||||||
|
$(error You must include MakeBase.gmk prior to including FileUtils.gmk)
|
||||||
|
endif
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# Common file utility functions
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Replace question marks with space in string. This macro needs to be called on
|
||||||
|
# files from FindFiles in case any of them contains space in their file name,
|
||||||
|
# since FindFiles replaces space with ?.
|
||||||
|
# Param 1 - String to replace in
|
||||||
|
DecodeSpace = \
|
||||||
|
$(subst ?,$(SPACE),$(strip $1))
|
||||||
|
|
||||||
|
EncodeSpace = \
|
||||||
|
$(subst $(SPACE),?,$(strip $1))
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Take two paths and return the path of the last common directory.
|
||||||
|
# Ex: /foo/bar/baz, /foo/bar/banan -> /foo/bar
|
||||||
|
# foo/bar/baz, /foo/bar -> <empty>
|
||||||
|
#
|
||||||
|
# The x prefix is used to preserve the presence of the initial slash
|
||||||
|
# On Windows paths are treated as case-insensitive
|
||||||
|
#
|
||||||
|
# $1 - Path to compare
|
||||||
|
# $2 - Other path to compare
|
||||||
|
FindCommonPathPrefix = \
|
||||||
|
$(call DecodeSpace,$(patsubst x%,%,$(subst $(SPACE),/,$(strip \
|
||||||
|
$(call FindCommonPathPrefixHelper1, \
|
||||||
|
$(subst /,$(SPACE),x$(call EncodeSpace,$(strip $1))), \
|
||||||
|
$(subst /,$(SPACE),x$(call EncodeSpace,$(strip $2)))) \
|
||||||
|
))))
|
||||||
|
|
||||||
|
FindCommonPathPrefixHelper1 = \
|
||||||
|
$(if $(filter $(OPENJDK_TARGET_OS), windows), \
|
||||||
|
$(call FindCommonPathPrefixHelper2,$(call uppercase,$1),$(call uppercase,$2),$1), \
|
||||||
|
$(call FindCommonPathPrefixHelper2,$1,$2,$1))
|
||||||
|
|
||||||
|
FindCommonPathPrefixHelper2 = \
|
||||||
|
$(if $(call equals, $(firstword $1), $(firstword $2)), \
|
||||||
|
$(if $(call equals, $(firstword $1),),, \
|
||||||
|
$(firstword $3) \
|
||||||
|
$(call FindCommonPathPrefixHelper2, \
|
||||||
|
$(wordlist 2, $(words $1), $1), \
|
||||||
|
$(wordlist 2, $(words $2), $2), \
|
||||||
|
$(wordlist 2, $(words $3), $3) \
|
||||||
|
) \
|
||||||
|
) \
|
||||||
|
)
|
||||||
|
|
||||||
|
# Computes the relative path from a directory to a file
|
||||||
|
# $1 - File to compute the relative path to
|
||||||
|
# $2 - Directory to compute the relative path from
|
||||||
|
RelativePath = \
|
||||||
|
$(call DecodeSpace,$(strip $(call RelativePathHelper,$(call EncodeSpace \
|
||||||
|
,$(strip $1)),$(call EncodeSpace \
|
||||||
|
,$(strip $2)),$(call EncodeSpace \
|
||||||
|
,$(call FindCommonPathPrefix,$1,$2)))))
|
||||||
|
|
||||||
|
RelativePathHelper = \
|
||||||
|
$(eval $3_prefix_length := $(words $(subst /,$(SPACE),$3))) \
|
||||||
|
$(eval $1_words := $(subst /,$(SPACE),$1)) \
|
||||||
|
$(eval $2_words := $(subst /,$(SPACE),$2)) \
|
||||||
|
$(if $(call equals,$($3_prefix_length),0),, \
|
||||||
|
$(eval $1_words := $(wordlist 2,$(words $($1_words)),$(wordlist \
|
||||||
|
$($3_prefix_length),$(words $($1_words)),$($1_words)))) \
|
||||||
|
$(eval $2_words := $(wordlist 2,$(words $($2_words)),$(wordlist \
|
||||||
|
$($3_prefix_length),$(words $($2_words)),$($2_words)))) \
|
||||||
|
) \
|
||||||
|
$(eval $1_suffix := $(subst $(SPACE),/,$($1_words))) \
|
||||||
|
$(eval $2_dotdots := $(subst $(SPACE),/,$(foreach d,$($2_words),..))) \
|
||||||
|
$(if $($1_suffix), \
|
||||||
|
$(if $($2_dotdots), $($2_dotdots)/$($1_suffix), $($1_suffix)), \
|
||||||
|
$(if $($2_dotdots), $($2_dotdots), .))
|
||||||
|
|
||||||
|
# Make directory for target file. Should handle spaces in filenames. Just
|
||||||
|
# calling $(call MakeDir $(@D)) will not work if the directory contains a space
|
||||||
|
# and the target file already exists. In that case, the target file will have
|
||||||
|
# its wildcard ? resolved and the $(@D) will evaluate each space separated dir
|
||||||
|
# part on its own.
|
||||||
|
MakeTargetDir = \
|
||||||
|
$(call MakeDir, $(dir $(call EncodeSpace, $@)))
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# All install-file and related macros automatically call DecodeSpace when needed.
|
||||||
|
|
||||||
|
ifeq ($(call isTargetOs, macosx), true)
|
||||||
|
# On mac, extended attributes sometimes creep into the source files, which may later
|
||||||
|
# cause the creation of ._* files which confuses testing. Clear these with xattr if
|
||||||
|
# set. Some files get their write permissions removed after being copied to the
|
||||||
|
# output dir. When these are copied again to images, xattr would fail. By only clearing
|
||||||
|
# attributes when they are present, failing on this is avoided.
|
||||||
|
#
|
||||||
|
# If copying a soft link to a directory, need to delete the target first to avoid
|
||||||
|
# weird errors.
|
||||||
|
define install-file
|
||||||
|
$(call MakeTargetDir)
|
||||||
|
$(RM) '$(call DecodeSpace, $@)'
|
||||||
|
# Work around a weirdness with cp on Macosx. When copying a symlink, if
|
||||||
|
# the target of the link is write protected (e.g. 444), cp will add
|
||||||
|
# write permission for the user on the target file (644). Avoid this by
|
||||||
|
# using ln to create a new link instead.
|
||||||
|
if [ -h '$(call DecodeSpace, $<)' ]; then \
|
||||||
|
$(LN) -s "`$(READLINK) '$(call DecodeSpace, $<)'`" '$(call DecodeSpace, $@)'; \
|
||||||
|
else \
|
||||||
|
$(CP) -fRP '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \
|
||||||
|
fi
|
||||||
|
if [ -n "`$(XATTR) -ls '$(call DecodeSpace, $@)'`" ]; then \
|
||||||
|
$(XATTR) -cs '$(call DecodeSpace, $@)'; \
|
||||||
|
fi
|
||||||
|
endef
|
||||||
|
else
|
||||||
|
define install-file
|
||||||
|
$(call MakeTargetDir)
|
||||||
|
$(CP) -fP '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||||
|
endef
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Variant of install file that does not preserve symlinks
|
||||||
|
define install-file-nolink
|
||||||
|
$(call MakeTargetDir)
|
||||||
|
$(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||||
|
endef
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# link-file-* works similarly to install-file but creates a symlink instead.
|
||||||
|
# There are two versions, either creating a relative or an absolute link. Be
|
||||||
|
# careful when using this on Windows since the symlink created is only valid in
|
||||||
|
# the unix emulation environment.
|
||||||
|
# In msys2 we use mklink /J because its ln would perform a deep copy of the target.
|
||||||
|
# This inhibits performance and can lead to issues with long paths. With mklink /J
|
||||||
|
# relative linking does not work, so we handle the link as absolute path.
|
||||||
|
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
||||||
|
define link-file-relative
|
||||||
|
$(call MakeTargetDir)
|
||||||
|
$(RM) '$(call DecodeSpace, $@)'
|
||||||
|
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
||||||
|
endef
|
||||||
|
else
|
||||||
|
define link-file-relative
|
||||||
|
$(call MakeTargetDir)
|
||||||
|
$(RM) '$(call DecodeSpace, $@)'
|
||||||
|
$(LN) -s '$(call DecodeSpace, $(call RelativePath, $<, $(@D)))' '$(call DecodeSpace, $@)'
|
||||||
|
endef
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
||||||
|
define link-file-absolute
|
||||||
|
$(call MakeTargetDir)
|
||||||
|
$(RM) '$(call DecodeSpace, $@)'
|
||||||
|
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
||||||
|
endef
|
||||||
|
else
|
||||||
|
define link-file-absolute
|
||||||
|
$(call MakeTargetDir)
|
||||||
|
$(RM) '$(call DecodeSpace, $@)'
|
||||||
|
$(LN) -s '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||||
|
endef
|
||||||
|
endif
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# Recursive wildcard function. Walks down directories recursively and matches
|
||||||
|
# files with the search patterns. Patterns use standard file wildcards (* and
|
||||||
|
# ?).
|
||||||
|
#
|
||||||
|
# $1 - Directories to start search in
|
||||||
|
# $2 - Search patterns
|
||||||
|
rwildcard = \
|
||||||
|
$(strip \
|
||||||
|
$(foreach d, \
|
||||||
|
$(patsubst %/,%,$(sort $(dir $(wildcard $(addsuffix /*/*, $(strip $1)))))), \
|
||||||
|
$(call rwildcard,$d,$2) \
|
||||||
|
) \
|
||||||
|
$(call DoubleDollar, $(wildcard $(foreach p, $2, $(addsuffix /$(strip $p), $(strip $1))))) \
|
||||||
|
)
|
||||||
|
|
||||||
|
# Find non directories using recursive wildcard function. This function may
|
||||||
|
# be used directly when a small amount of directories is expected to be
|
||||||
|
# searched and caching is not expected to be of use.
|
||||||
|
#
|
||||||
|
# $1 - Directory to start search in
|
||||||
|
# $2 - Optional search patterns, defaults to '*'.
|
||||||
|
WildcardFindFiles = \
|
||||||
|
$(sort $(strip \
|
||||||
|
$(eval WildcardFindFiles_result := $(call rwildcard,$(patsubst %/,%,$1),$(if $(strip $2),$2,*))) \
|
||||||
|
$(filter-out $(patsubst %/,%,$(sort $(dir $(WildcardFindFiles_result)))), \
|
||||||
|
$(WildcardFindFiles_result) \
|
||||||
|
) \
|
||||||
|
))
|
||||||
|
|
||||||
|
# Find non directories using the find utility in the shell. Safe to call for
|
||||||
|
# non existing directories, or directories containing wildcards.
|
||||||
|
#
|
||||||
|
# Files containing space will get spaces replaced with ? because GNU Make
|
||||||
|
# cannot handle lists of files with space in them. By using ?, make will match
|
||||||
|
# the wildcard to space in many situations so we don't need to replace back
|
||||||
|
# to space on every use. While not a complete solution it does allow some uses
|
||||||
|
# of FindFiles to function with spaces in file names, including for
|
||||||
|
# SetupCopyFiles. Unfortunately this does not work for WildcardFindFiles so
|
||||||
|
# if files with spaces are anticipated, use ShellFindFiles directly.
|
||||||
|
#
|
||||||
|
# $1 - Directories to start search in.
|
||||||
|
# $2 - Optional search patterns, empty means find everything. Patterns use
|
||||||
|
# standard file wildcards (* and ?) and should not be quoted.
|
||||||
|
# $3 - Optional options to find.
|
||||||
|
ShellFindFiles = \
|
||||||
|
$(if $(wildcard $1), \
|
||||||
|
$(sort \
|
||||||
|
$(shell $(FIND) $3 $(patsubst %/,%,$(wildcard $1)) \( -type f -o -type l \) \
|
||||||
|
$(if $(strip $2), -a \( -name "$(firstword $2)" \
|
||||||
|
$(foreach p, $(filter-out $(firstword $2), $2), -o -name "$(p)") \)) \
|
||||||
|
| $(TR) ' ' '?' \
|
||||||
|
) \
|
||||||
|
) \
|
||||||
|
)
|
||||||
|
|
||||||
|
# Find non directories using the method most likely to work best for the
|
||||||
|
# current build host
|
||||||
|
#
|
||||||
|
# $1 - Directory to start search in
|
||||||
|
# $2 - Optional search patterns, defaults to '*'.
|
||||||
|
ifeq ($(OPENJDK_BUILD_OS)-$(RWILDCARD_WORKS), windows-true)
|
||||||
|
DirectFindFiles = $(WildcardFindFiles)
|
||||||
|
else
|
||||||
|
DirectFindFiles = $(ShellFindFiles)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Finds files using a cache that is populated by FillFindCache below. If any of
|
||||||
|
# the directories given have not been cached, DirectFindFiles is used for
|
||||||
|
# everything. Caching is especially useful in Cygwin, where file finds are very
|
||||||
|
# costly.
|
||||||
|
#
|
||||||
|
# $1 - Directories to start search in.
|
||||||
|
# $2 - Optional search patterns. If used, no caching is done.
|
||||||
|
CacheFindFiles_CACHED_DIRS :=
|
||||||
|
CacheFindFiles_CACHED_FILES :=
|
||||||
|
CacheFindFiles = \
|
||||||
|
$(if $2, \
|
||||||
|
$(call DirectFindFiles, $1, $2) \
|
||||||
|
, \
|
||||||
|
$(if $(filter-out $(addsuffix /%, $(CacheFindFiles_CACHED_DIRS)) \
|
||||||
|
$(CacheFindFiles_CACHED_DIRS), $1), \
|
||||||
|
$(call DirectFindFiles, $1) \
|
||||||
|
, \
|
||||||
|
$(filter $(addsuffix /%,$(patsubst %/,%,$1)) $1,$(CacheFindFiles_CACHED_FILES)) \
|
||||||
|
) \
|
||||||
|
)
|
||||||
|
|
||||||
|
# Explicitly adds files to the find cache used by CacheFindFiles.
|
||||||
|
#
|
||||||
|
# $1 - Directories to start search in
|
||||||
|
FillFindCache = \
|
||||||
|
$(eval CacheFindFiles_NEW_DIRS := $$(filter-out $$(addsuffix /%,\
|
||||||
|
$$(CacheFindFiles_CACHED_DIRS)) $$(CacheFindFiles_CACHED_DIRS), $1)) \
|
||||||
|
$(if $(CacheFindFiles_NEW_DIRS), \
|
||||||
|
$(eval CacheFindFiles_CACHED_DIRS += $$(patsubst %/,%,$$(CacheFindFiles_NEW_DIRS))) \
|
||||||
|
$(eval CacheFindFiles_CACHED_FILES := $$(sort $$(CacheFindFiles_CACHED_FILES) \
|
||||||
|
$$(call DirectFindFiles, $$(CacheFindFiles_NEW_DIRS)))) \
|
||||||
|
)
|
||||||
|
|
||||||
|
# Findfiles is the default macro that should be used to find files in the file
|
||||||
|
# system. This function does not always support files with spaces in the names.
|
||||||
|
# If files with spaces are anticipated, use ShellFindFiles directly.
|
||||||
|
#
|
||||||
|
# $1 - Directories to start search in.
|
||||||
|
# $2 - Optional search patterns, empty means find everything. Patterns use
|
||||||
|
# standard file wildcards (* and ?) and should not be quoted.
|
||||||
|
ifeq ($(DISABLE_CACHE_FIND), true)
|
||||||
|
FindFiles = $(DirectFindFiles)
|
||||||
|
else
|
||||||
|
FindFiles = $(CacheFindFiles)
|
||||||
|
endif
|
||||||
@@ -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
|
||||||
@@ -30,6 +30,8 @@ ifeq (,$(_MAKEBASE_GMK))
|
|||||||
$(error You must include MakeBase.gmk prior to including JarArchive.gmk)
|
$(error You must include MakeBase.gmk prior to including JarArchive.gmk)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
include MakeIO.gmk
|
||||||
|
|
||||||
FALSE_FIND_PATTERN:=-name FILE_NAME_THAT_DOESNT_EXIST
|
FALSE_FIND_PATTERN:=-name FILE_NAME_THAT_DOESNT_EXIST
|
||||||
|
|
||||||
# Setup make rules for creating a jar archive.
|
# Setup make rules for creating a jar archive.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2020, 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
|
||||||
@@ -30,6 +30,8 @@ ifeq (,$(_MAKEBASE_GMK))
|
|||||||
$(error You must include MakeBase.gmk prior to including JavaCompilation.gmk)
|
$(error You must include MakeBase.gmk prior to including JavaCompilation.gmk)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
include MakeIO.gmk
|
||||||
|
|
||||||
# Java compilation needs SetupJarArchive and/or SetupZipArchive, if we're
|
# Java compilation needs SetupJarArchive and/or SetupZipArchive, if we're
|
||||||
# generating a jar file or a source zip.
|
# generating a jar file or a source zip.
|
||||||
include JarArchive.gmk
|
include JarArchive.gmk
|
||||||
@@ -195,7 +197,7 @@ define SetupJavaCompilationBody
|
|||||||
|
|
||||||
ifeq ($$($1_COMPILER), bootjdk)
|
ifeq ($$($1_COMPILER), bootjdk)
|
||||||
# Javac server is not available when using the bootjdk compiler.
|
# Javac server is not available when using the bootjdk compiler.
|
||||||
$1_JAVAC_CMD := $$(JAVAC)
|
$1_JAVAC_CMD := $$(JAVAC) -J$$(JAVA_FLAGS_TMPDIR)
|
||||||
|
|
||||||
ifeq ($$($1_SMALL_JAVA), true)
|
ifeq ($$($1_SMALL_JAVA), true)
|
||||||
$1_FLAGS += $$(addprefix -J, $$(JAVA_FLAGS_SMALL))
|
$1_FLAGS += $$(addprefix -J, $$(JAVA_FLAGS_SMALL))
|
||||||
@@ -209,7 +211,7 @@ define SetupJavaCompilationBody
|
|||||||
$1_TARGET_RELEASE := $$(TARGET_RELEASE_BOOTJDK)
|
$1_TARGET_RELEASE := $$(TARGET_RELEASE_BOOTJDK)
|
||||||
endif
|
endif
|
||||||
else ifeq ($$($1_COMPILER), buildjdk)
|
else ifeq ($$($1_COMPILER), buildjdk)
|
||||||
$1_JAVAC_CMD := $$(BUILD_JAVAC)
|
$1_JAVAC_CMD := $$(BUILD_JAVAC) -J$$(JAVA_FLAGS_TMPDIR)
|
||||||
|
|
||||||
ifeq ($$($1_TARGET_RELEASE), )
|
ifeq ($$($1_TARGET_RELEASE), )
|
||||||
# If unspecified, default to the new jdk we're building
|
# If unspecified, default to the new jdk we're building
|
||||||
|
|||||||
@@ -35,12 +35,6 @@ include NativeCompilation.gmk
|
|||||||
# Hook to include the corresponding custom file, if present.
|
# Hook to include the corresponding custom file, if present.
|
||||||
$(eval $(call IncludeCustomExtension, common/JdkNativeCompilation.gmk))
|
$(eval $(call IncludeCustomExtension, common/JdkNativeCompilation.gmk))
|
||||||
|
|
||||||
FindSrcDirsForLib += \
|
|
||||||
$(call uniq, $(wildcard \
|
|
||||||
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native/lib$(strip $2) \
|
|
||||||
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native/lib$(strip $2) \
|
|
||||||
$(TOPDIR)/src/$(strip $1)/share/native/lib$(strip $2)))
|
|
||||||
|
|
||||||
FindSrcDirsForComponent += \
|
FindSrcDirsForComponent += \
|
||||||
$(call uniq, $(wildcard \
|
$(call uniq, $(wildcard \
|
||||||
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native/$(strip $2) \
|
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native/$(strip $2) \
|
||||||
@@ -82,18 +76,160 @@ endif
|
|||||||
GetJavaHeaderDir = \
|
GetJavaHeaderDir = \
|
||||||
$(if $(strip $1),$(wildcard $(SUPPORT_OUTPUTDIR)/headers/$(strip $1)))
|
$(if $(strip $1),$(wildcard $(SUPPORT_OUTPUTDIR)/headers/$(strip $1)))
|
||||||
|
|
||||||
# Process a dir description such as "java.base:headers" into a set of proper absolute paths.
|
HOTSPOT_INCLUDE_DIR := $(TOPDIR)/src/hotspot/share/include \
|
||||||
ProcessDir = \
|
$(TOPDIR)/src/hotspot/os/$(HOTSPOT_TARGET_OS_TYPE)/include
|
||||||
|
|
||||||
|
# Preprocess a source dir destination. Pass on absolute paths unchanged. Expand
|
||||||
|
# description such as "java.base:headers" into a set of proper absolute paths,
|
||||||
|
# by looking in $MODULE/[shared|$OS|$OSTYPE]/native.
|
||||||
|
# Treat *:libjvm as a special case, and replace it with the proper hotspot
|
||||||
|
# include directories.
|
||||||
|
ProcessSrcDir = \
|
||||||
$(if $(findstring :, $1), \
|
$(if $(findstring :, $1), \
|
||||||
$(call FindSrcDirsForComponent, $(firstword $(subst :, , $1)), $(lastword $(subst :, , $1))) \
|
$(if $(filter %:libjvm, $1), \
|
||||||
|
$(HOTSPOT_INCLUDE_DIR) \
|
||||||
|
, \
|
||||||
|
$(call FindSrcDirsForComponent, $(firstword $(subst :, , $1)), \
|
||||||
|
$(lastword $(subst :, , $1))) \
|
||||||
|
) \
|
||||||
, \
|
, \
|
||||||
$(if $(filter /%, $1), \
|
$(if $(filter /%, $1), \
|
||||||
$1 \
|
$1 \
|
||||||
, \
|
, \
|
||||||
$(call FindSrcDirsForComponent, $(MODULE), $1) \
|
$(if $(filter libjvm, $1), \
|
||||||
|
$(HOTSPOT_INCLUDE_DIR) \
|
||||||
|
, \
|
||||||
|
$(call FindSrcDirsForComponent, $(MODULE), $1) \
|
||||||
|
) \
|
||||||
) \
|
) \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Create a proper LIBPATH for the given library. Sets result in $1_$2_LIBPATH.
|
||||||
|
# $1: The name of the rule (namespace)
|
||||||
|
# $2: The safe namespace of the library
|
||||||
|
define ResolveLibPath
|
||||||
|
# Determine proper LIBPATH. This is quite messy due to historical reasons,
|
||||||
|
# and because we need to have special treatment for "gtest:" and ":jvm".
|
||||||
|
ifneq ($$($1_$2_MODULE), gtest)
|
||||||
|
ifneq ($$($1_$2_NAME), jvm)
|
||||||
|
# This is the common case
|
||||||
|
ifeq ($$(call isTargetOs, windows), true)
|
||||||
|
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/native/$$($1_$2_MODULE)/lib$$($1_$2_NAME)
|
||||||
|
else
|
||||||
|
ifeq ($(STATIC_LIBS), true)
|
||||||
|
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/native/$$($1_$2_MODULE)/lib$$($1_$2_NAME)/static
|
||||||
|
else ifeq ($$($1_$2_STATIC_LIBRARY), true)
|
||||||
|
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/native/$$($1_$2_MODULE)
|
||||||
|
else
|
||||||
|
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/modules_libs/$$($1_$2_MODULE)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
# Special treatment for hotspot
|
||||||
|
ifeq ($(CREATING_BUILDJDK), true)
|
||||||
|
# When building a buildjdk, it's always only the server variant
|
||||||
|
$1_$2_JVM_VARIANT_PATH := server
|
||||||
|
else
|
||||||
|
$1_$2_JVM_VARIANT_PATH := $(JVM_VARIANT_MAIN)
|
||||||
|
endif
|
||||||
|
ifeq ($$(call isTargetOs, windows), true)
|
||||||
|
ifeq ($(STATIC_LIBS), true)
|
||||||
|
$1_$2_LIBPATH := $$(HOTSPOT_OUTPUTDIR)/variant-$$($1_$2_JVM_VARIANT_PATH)/libjvm/objs/static
|
||||||
|
else
|
||||||
|
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/modules_libs/$$($1_$2_MODULE)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
ifeq ($(STATIC_LIBS), true)
|
||||||
|
$1_$2_LIBPATH := $$(HOTSPOT_OUTPUTDIR)/variant-$$($1_$2_JVM_VARIANT_PATH)/libjvm/objs/static
|
||||||
|
else
|
||||||
|
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/modules_libs/$$($1_$2_MODULE)/$$($1_$2_JVM_VARIANT_PATH)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
# Special treatment for virtual module "gtest"
|
||||||
|
ifeq ($$($1_$2_NAME), jvm)
|
||||||
|
ifeq ($$(call isTargetOs, windows), true)
|
||||||
|
ifeq ($(STATIC_LIBS), true)
|
||||||
|
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/gtest/objs/static
|
||||||
|
else
|
||||||
|
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/gtest/objs
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
ifeq ($(STATIC_LIBS), true)
|
||||||
|
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/gtest/objs/static
|
||||||
|
else
|
||||||
|
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/gtest
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else ifeq ($$($1_$2_NAME), gtest)
|
||||||
|
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/libgtest
|
||||||
|
ifeq ($(STATIC_LIBS), true)
|
||||||
|
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/libgtest/objs/static
|
||||||
|
else
|
||||||
|
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/libgtest
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endef
|
||||||
|
|
||||||
|
# Process a JDK library designation such as "java.desktop:jawt" into the needed
|
||||||
|
# additions to EXTRA_LINK_DEPS, LDFLAGS, LIBS and EXTRA_HEADER_DIRS.
|
||||||
|
# $1: The name of the rule (namespace)
|
||||||
|
# $2: The safe namespace of the library
|
||||||
|
# $3: The actual string given to represent the library
|
||||||
|
define AddJdkLibrary
|
||||||
|
$1_$2_NAME := $$(strip $$(lastword $$(subst :, , $3)))
|
||||||
|
$1_$2_MODULE := $$(strip $$(patsubst %$$($1_$2_NAME), %, $3))
|
||||||
|
|
||||||
|
ifeq ($$(filter lib%, $$($1_$2_NAME)),)
|
||||||
|
$$(error Library name $$($1_$2_NAME) missing lib prefix in $1)
|
||||||
|
endif
|
||||||
|
$1_$2_NAME := $$(strip $$(patsubst lib%, %, $$($1_$2_NAME)))
|
||||||
|
|
||||||
|
ifeq ($$($1_$2_MODULE),)
|
||||||
|
$1_$2_MODULE := $$(MODULE)
|
||||||
|
else
|
||||||
|
$1_$2_MODULE := $$(strip $$(patsubst %:, %, $$($1_$2_MODULE)))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Determine if the library in question is static.
|
||||||
|
# Ideally, we should not hardcode these
|
||||||
|
ifeq ($(call isTargetOs, aix)+$$($1_$2_MODULE):$$($1_$2_NAME), true+java.base:jli)
|
||||||
|
$1_$2_STATIC_LIBRARY := true
|
||||||
|
endif
|
||||||
|
ifeq ($$($1_$2_MODULE):$$($1_$2_NAME), gtest:gtest)
|
||||||
|
$1_$2_STATIC_LIBRARY := true
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Setup $1_$2_LIBPATH.
|
||||||
|
$$(eval $$(call ResolveLibPath,$1,$2))
|
||||||
|
|
||||||
|
$1_EXTRA_HEADER_DIRS += $$($1_$2_MODULE):lib$$($1_$2_NAME)
|
||||||
|
|
||||||
|
ifneq ($(STATIC_LIBS), true)
|
||||||
|
ifeq ($$(call isTargetOs, windows), true)
|
||||||
|
ifeq ($$(filter -libpath:$$($1_$2_LIBPATH), $$($1_LDFLAGS)), )
|
||||||
|
$1_LDFLAGS += -libpath:$$($1_$2_LIBPATH)
|
||||||
|
endif
|
||||||
|
$1_LIBS += $$($1_$2_NAME)$(STATIC_LIBRARY_SUFFIX)
|
||||||
|
$1_$2_LIBFILE := $(LIBRARY_PREFIX)$$($1_$2_NAME)$(STATIC_LIBRARY_SUFFIX)
|
||||||
|
else
|
||||||
|
ifeq ($$(filter -L$$($1_$2_LIBPATH), $$($1_LDFLAGS)), )
|
||||||
|
$1_LDFLAGS += -L$$($1_$2_LIBPATH)
|
||||||
|
endif
|
||||||
|
$1_LIBS += -l$$($1_$2_NAME)
|
||||||
|
ifeq ($$($1_$2_STATIC_LIBRARY), true)
|
||||||
|
$1_$2_LIBFILE := $(LIBRARY_PREFIX)$$($1_$2_NAME)$(STATIC_LIBRARY_SUFFIX)
|
||||||
|
else
|
||||||
|
$1_$2_LIBFILE := $(LIBRARY_PREFIX)$$($1_$2_NAME)$(SHARED_LIBRARY_SUFFIX)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
$1_EXTRA_LINK_DEPS += $$($1_$2_LIBPATH)/$$($1_$2_LIBFILE)
|
||||||
|
endif
|
||||||
|
endef
|
||||||
|
|
||||||
GLOBAL_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/common/version.rc
|
GLOBAL_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/common/version.rc
|
||||||
|
|
||||||
JDK_RCFLAGS=$(RCFLAGS) \
|
JDK_RCFLAGS=$(RCFLAGS) \
|
||||||
@@ -104,29 +240,76 @@ JDK_RCFLAGS=$(RCFLAGS) \
|
|||||||
-D"JDK_NAME=$(JDK_RC_NAME) $(VERSION_SHORT)" \
|
-D"JDK_NAME=$(JDK_RC_NAME) $(VERSION_SHORT)" \
|
||||||
-D"JDK_FVER=$(subst .,$(COMMA),$(VERSION_NUMBER_FOUR_POSITIONS))"
|
-D"JDK_FVER=$(subst .,$(COMMA),$(VERSION_NUMBER_FOUR_POSITIONS))"
|
||||||
|
|
||||||
# Setup make rules for creating a native shared library with suitable defaults
|
# Setup make rules for creating a native binary with suitable defaults
|
||||||
# for the OpenJDK project.
|
# for the OpenJDK project. This macro is mostly considered to be an internal
|
||||||
|
# support version. Please use SetupJdkLibrary or SetupJdkExecutable instead.
|
||||||
#
|
#
|
||||||
# Parameter 1 is the name of the rule. This name is used as variable prefix,
|
# Parameter 1 is the name of the rule. This name is used as variable prefix,
|
||||||
# and the targets generated are listed in a variable by that name.
|
# and the targets generated are listed in a variable by that name.
|
||||||
#
|
#
|
||||||
# Remaining parameters are named arguments. These are all passed on to
|
# Remaining parameters are named arguments. These are all passed on to
|
||||||
# SetupNativeCompilation, except for
|
# SetupNativeCompilation. This macro also adds the following additional
|
||||||
# EXTRA_RCFLAGS -- additional RCFLAGS to append.
|
# arguments:
|
||||||
# EXTRA_HEADER_DIRS -- additional directories to look for headers in
|
#
|
||||||
# EXTRA_SRC -- additional directories to look for source in
|
# SRC -- this is passed on after preprocessing. The preprocessing will pass on
|
||||||
|
# absolute paths unchanged, but relative paths will be expanded to include
|
||||||
|
# all directories with this name in $MODULE/[shared|$OS|$OSTYPE]/native.
|
||||||
|
# EXTRA_SRC -- additional directories to look for source in. This is processed
|
||||||
|
# like SRC.
|
||||||
# EXCLUDE_SRC_PATTERNS -- exclude source dirs matching these patterns from
|
# EXCLUDE_SRC_PATTERNS -- exclude source dirs matching these patterns from
|
||||||
# appearing in SRC.
|
# appearing in SRC.
|
||||||
|
# EXTRA_HEADER_DIRS -- additional directories to look for headers in. This can
|
||||||
|
# be specified either as an absolute path, or relative directory names which
|
||||||
|
# are preprocessed like SRC, or in the format <module>:<directory>, which
|
||||||
|
# will be processed like SRC but for the given module. The names
|
||||||
|
# "java.base:libjvm" and "gtest:libjvm" symbolise virtual libraries that
|
||||||
|
# will be replaced with proper values for hotspot.
|
||||||
# HEADERS_FROM_SRC -- if false, does not add source dirs automatically as
|
# HEADERS_FROM_SRC -- if false, does not add source dirs automatically as
|
||||||
# header include dirs. (Defaults to true.)
|
# header include dirs. (Defaults to true.)
|
||||||
# SRC -- this is passed on, but preprocessed to accept source dir designations
|
# JDK_LIBS -- libraries generated by the JDK build system to link against.
|
||||||
|
# These take the form <module>:<basename>. For the current module, the
|
||||||
|
# module name and colon can be omitted. The basename should be specified
|
||||||
|
# as the source directory, e.g. "libjava". The gtest module is a virtual
|
||||||
|
# module that will be replaced with correct values for gtest. When
|
||||||
|
# specifying JDK_LIBS, suitable values for EXTRA_LINK_DEPS, LDFLAGS, LIBS
|
||||||
|
# and EXTRA_HEADER_DIRS will be added.
|
||||||
|
# JDK_LIBS_<os> or JDK_LIBS_<osType> -- additional JDK_LIBS for the given OS
|
||||||
|
# or OS type only
|
||||||
|
# EXTRA_RCFLAGS -- additional RCFLAGS to append.
|
||||||
# RC_FILEDESC -- override the default FILEDESC for Windows version.rc
|
# RC_FILEDESC -- override the default FILEDESC for Windows version.rc
|
||||||
# such as "java.base:headers".
|
# DEFAULT_LIBCXX -- if false, do not add LIBCXX to LIBS for C++ compilations
|
||||||
SetupJdkLibrary = $(NamedParamsMacroTemplate)
|
# DEFAULT_CFLAGS -- if false, do not add default CFLAGS and CXXFLAGS
|
||||||
define SetupJdkLibraryBody
|
# DEFAULT_LDFLAGS -- if false, do not add default LDFLAGS
|
||||||
|
# CFLAGS_FILTER_OUT -- flags to filter out from default CFLAGS
|
||||||
|
# CXXFLAGS_FILTER_OUT -- flags to filter out from default CXXFLAGS
|
||||||
|
# LDFLAGS_FILTER_OUT -- flags to filter out from default LDFLAGS
|
||||||
|
# LD_SET_ORIGIN -- if false, do not add SET_*_ORIGIN flags to LDFLAGS
|
||||||
|
# APPEND_LDFLAGS -- a quirk to have additional LDFLAGS that will be set after
|
||||||
|
# the origin flags
|
||||||
|
# DEFAULT_VERSIONINFO_RESOURCE -- if false, do not set the default
|
||||||
|
# VERSIONINFO_RESOURCE
|
||||||
|
#
|
||||||
|
SetupJdkNativeCompilation = $(NamedParamsMacroTemplate)
|
||||||
|
define SetupJdkNativeCompilationBody
|
||||||
|
ifeq ($$($1_TYPE), EXECUTABLE)
|
||||||
|
$1_NATIVE_DIR_PREFIX :=
|
||||||
|
$1_MODULES_PATH := modules_cmds
|
||||||
|
$1_RC_EXT := exe
|
||||||
|
$1_RC_FTYPE := 0x1L
|
||||||
|
else
|
||||||
|
$1_NATIVE_DIR_PREFIX := lib
|
||||||
|
$1_MODULES_PATH := modules_libs
|
||||||
|
$1_RC_EXT := dll
|
||||||
|
$1_RC_FTYPE := 0x2L
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($$($1_OUTPUT_DIR), )
|
ifeq ($$($1_OUTPUT_DIR), )
|
||||||
ifneq ($$(MODULE), )
|
ifneq ($$(MODULE), )
|
||||||
$1_OUTPUT_DIR := $$(call FindLibDirForModule, $$(MODULE))
|
ifeq ($$($1_TYPE), STATIC_LIBRARY)
|
||||||
|
$1_OUTPUT_DIR := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)
|
||||||
|
else
|
||||||
|
$1_OUTPUT_DIR := $$(SUPPORT_OUTPUTDIR)/$$($1_MODULES_PATH)/$$(strip $$(MODULE))
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
$$(error Must specify OUTPUT_DIR in a MODULE free context)
|
$$(error Must specify OUTPUT_DIR in a MODULE free context)
|
||||||
endif
|
endif
|
||||||
@@ -134,27 +317,31 @@ define SetupJdkLibraryBody
|
|||||||
|
|
||||||
ifeq ($$($1_OBJECT_DIR), )
|
ifeq ($$($1_OBJECT_DIR), )
|
||||||
ifneq ($$(MODULE), )
|
ifneq ($$(MODULE), )
|
||||||
$1_OBJECT_DIR := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/lib$$($1_NAME)
|
$1_OBJECT_DIR := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/$$($1_NATIVE_DIR_PREFIX)$$($1_NAME)
|
||||||
else
|
else
|
||||||
$$(error Must specify OBJECT_DIR in a MODULE free context)
|
$$(error Must specify OBJECT_DIR in a MODULE free context)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($$($1_LINK_TYPE), C++)
|
ifneq ($$($1_DEFAULT_LIBCXX), false)
|
||||||
$1_LIBS += $(LIBCXX)
|
ifeq ($$($1_LINK_TYPE), C++)
|
||||||
|
$1_LIBS += $(LIBCXX)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($$($1_SRC), )
|
ifeq ($$($1_SRC), )
|
||||||
ifneq ($$(MODULE), )
|
ifneq ($$(MODULE), )
|
||||||
$1_SRC := $$(call FindSrcDirsForLib, $$(MODULE), $$($1_NAME))
|
$1_SRC := $$(call FindSrcDirsForComponent, $$(MODULE), $$($1_NATIVE_DIR_PREFIX)$$($1_NAME))
|
||||||
else
|
else
|
||||||
$$(error Must specify SRC in a MODULE free context)
|
ifeq ($$($1_EXTRA_FILES), )
|
||||||
|
$$(error Must specify SRC or EXTRA_FILES in a MODULE free context)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
$1_SRC := $$(foreach dir, $$($1_SRC), $$(call ProcessDir, $$(dir)))
|
$1_SRC := $$(foreach dir, $$($1_SRC), $$(call ProcessSrcDir, $$(dir)))
|
||||||
endif
|
endif
|
||||||
ifneq ($$($1_EXTRA_SRC), )
|
ifneq ($$($1_EXTRA_SRC), )
|
||||||
$1_SRC += $$(foreach dir, $$($1_EXTRA_SRC), $$(call ProcessDir, $$(dir)))
|
$1_SRC += $$(foreach dir, $$($1_EXTRA_SRC), $$(call ProcessSrcDir, $$(dir)))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($$($1_EXCLUDE_SRC_PATTERNS), )
|
ifneq ($$($1_EXCLUDE_SRC_PATTERNS), )
|
||||||
@@ -164,19 +351,20 @@ define SetupJdkLibraryBody
|
|||||||
$1_SRC := $$(filter-out $$($1_EXCLUDE_SRC), $$($1_SRC))
|
$1_SRC := $$(filter-out $$($1_EXCLUDE_SRC), $$($1_SRC))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($$($1_VERSIONINFO_RESOURCE), )
|
ifneq ($$($1_DEFAULT_VERSIONINFO_RESOURCE), false)
|
||||||
$1_VERSIONINFO_RESOURCE := $$(GLOBAL_VERSION_INFO_RESOURCE)
|
ifeq ($$($1_VERSIONINFO_RESOURCE), )
|
||||||
|
$1_VERSIONINFO_RESOURCE := $$(GLOBAL_VERSION_INFO_RESOURCE)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($$($1_RC_FILEDESC), )
|
ifeq ($$($1_RC_FILEDESC), )
|
||||||
$1_RC_FILEDESC := $(JDK_RC_NAME) binary
|
$1_RC_FILEDESC := $(JDK_RC_NAME) binary
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$1_RCFLAGS := $(JDK_RCFLAGS) \
|
$1_RCFLAGS := $(JDK_RCFLAGS) \
|
||||||
-D"JDK_FILEDESC=$$(strip $$($1_RC_FILEDESC))" \
|
-D"JDK_FILEDESC=$$($1_RC_FILEDESC)" \
|
||||||
-D"JDK_FNAME=$$($1_NAME).dll" \
|
-D"JDK_FNAME=$$($1_NAME).$$($1_RC_EXT)" \
|
||||||
-D"JDK_INTERNAL_NAME=$$($1_NAME)" \
|
-D"JDK_INTERNAL_NAME=$$($1_NAME)" \
|
||||||
-D"JDK_FTYPE=0x2L" \
|
-D"JDK_FTYPE=$$($1_RC_FTYPE)" \
|
||||||
-I$(TOPDIR)/src/java.base/windows/native/common \
|
-I$(TOPDIR)/src/java.base/windows/native/common \
|
||||||
$$($1_EXTRA_RCFLAGS)
|
$$($1_EXTRA_RCFLAGS)
|
||||||
|
|
||||||
@@ -185,25 +373,40 @@ define SetupJdkLibraryBody
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Add the module specific java header dir
|
# Add the module specific java header dir
|
||||||
$1_SRC_HEADER_FLAGS += $$(addprefix -I, $$(call GetJavaHeaderDir, $$(MODULE)))
|
ifneq ($$(MODULE), )
|
||||||
|
$1_SRC_HEADER_FLAGS += $$(addprefix -I, $$(call GetJavaHeaderDir, $$(MODULE)))
|
||||||
|
endif
|
||||||
|
|
||||||
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS))
|
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS))
|
||||||
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS_TYPE))
|
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS_TYPE))
|
||||||
# Prepend JDK libs before external libs
|
$$(foreach lib, $$($1_JDK_LIBS), \
|
||||||
$1_LIBS := $$($1_JDK_LIBS) $$($1_LIBS)
|
$$(eval $$(call AddJdkLibrary,$1,$$(subst :,_,$$(lib)),$$(lib))) \
|
||||||
|
)
|
||||||
|
|
||||||
ifneq ($$($1_EXTRA_HEADER_DIRS), )
|
# Add the include path for jni.h to all native compilations
|
||||||
$1_PROCESSED_EXTRA_HEADER_DIRS := $$(foreach dir, $$($1_EXTRA_HEADER_DIRS), \
|
$1_EXTRA_HEADER_DIRS += \
|
||||||
$$(call ProcessDir, $$(dir)))
|
$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
||||||
$1_EXTRA_HEADER_FLAGS := $$(addprefix -I, $$($1_PROCESSED_EXTRA_HEADER_DIRS))
|
java.base:include \
|
||||||
endif
|
#
|
||||||
|
|
||||||
|
$1_PROCESSED_EXTRA_HEADER_DIRS := $$(foreach dir, $$($1_EXTRA_HEADER_DIRS), \
|
||||||
|
$$(call ProcessSrcDir, $$(dir)))
|
||||||
|
$1_EXTRA_HEADER_FLAGS := $$(addprefix -I, $$($1_PROCESSED_EXTRA_HEADER_DIRS))
|
||||||
|
|
||||||
ifneq ($$($1_DEFAULT_CFLAGS), false)
|
ifneq ($$($1_DEFAULT_CFLAGS), false)
|
||||||
# Set the default flags first to be able to override
|
ifeq ($$($1_TYPE), EXECUTABLE)
|
||||||
$1_CFLAGS := $$(filter-out $$($1_CFLAGS_FILTER_OUT), $$(CFLAGS_JDKLIB)) $$($1_CFLAGS)
|
# Set the default flags first to be able to override
|
||||||
|
$1_CFLAGS := $$(filter-out $$($1_CFLAGS_FILTER_OUT), $$(CFLAGS_JDKEXE)) $$($1_CFLAGS)
|
||||||
|
|
||||||
# Set the default flags first to be able to override
|
# Set the default flags first to be able to override
|
||||||
$1_CXXFLAGS := $$(filter-out $$($1_CXXFLAGS_FILTER_OUT), $$(CXXFLAGS_JDKLIB)) $$($1_CXXFLAGS)
|
$1_CXXFLAGS := $$(filter-out $$($1_CXXFLAGS_FILTER_OUT), $$(CXXFLAGS_JDKEXE)) $$($1_CXXFLAGS)
|
||||||
|
else
|
||||||
|
# Set the default flags first to be able to override
|
||||||
|
$1_CFLAGS := $$(filter-out $$($1_CFLAGS_FILTER_OUT), $$(CFLAGS_JDKLIB)) $$($1_CFLAGS)
|
||||||
|
|
||||||
|
# Set the default flags first to be able to override
|
||||||
|
$1_CXXFLAGS := $$(filter-out $$($1_CXXFLAGS_FILTER_OUT), $$(CXXFLAGS_JDKLIB)) $$($1_CXXFLAGS)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($$($1_CFLAGS), )
|
ifneq ($$($1_CFLAGS), )
|
||||||
@@ -217,12 +420,21 @@ define SetupJdkLibraryBody
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($$($1_DEFAULT_LDFLAGS), false)
|
ifneq ($$($1_DEFAULT_LDFLAGS), false)
|
||||||
# Set the default flags first to be able to override
|
ifeq ($$($1_TYPE), EXECUTABLE)
|
||||||
$1_LDFLAGS := $$(filter-out $$($1_LDFLAGS_FILTER_OUT), $$(LDFLAGS_JDKLIB)) $$($1_LDFLAGS)
|
# Set the default flags first to be able to override
|
||||||
|
$1_LDFLAGS := $$(filter-out $$($1_LDFLAGS_FILTER_OUT), $$(LDFLAGS_JDKEXE)) $$($1_LDFLAGS)
|
||||||
|
else
|
||||||
|
# Set the default flags first to be able to override
|
||||||
|
$1_LDFLAGS := $$(filter-out $$($1_LDFLAGS_FILTER_OUT), $$(LDFLAGS_JDKLIB)) $$($1_LDFLAGS)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($$($1_LD_SET_ORIGIN), false)
|
ifneq ($$($1_LD_SET_ORIGIN), false)
|
||||||
$1_LDFLAGS += $$(call SET_SHARED_LIBRARY_ORIGIN)
|
ifeq ($$($1_TYPE), EXECUTABLE)
|
||||||
|
$1_LDFLAGS += $$(call SET_EXECUTABLE_ORIGIN)
|
||||||
|
else
|
||||||
|
$1_LDFLAGS += $$(call SET_SHARED_LIBRARY_ORIGIN)
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
# APPEND_LDFLAGS, if it exists, must be set after the origin flags
|
# APPEND_LDFLAGS, if it exists, must be set after the origin flags
|
||||||
# This is a workaround to keep existing behavior
|
# This is a workaround to keep existing behavior
|
||||||
@@ -230,112 +442,45 @@ define SetupJdkLibraryBody
|
|||||||
|
|
||||||
# Since we reuse the rule name ($1), all our arguments will pass through.
|
# Since we reuse the rule name ($1), all our arguments will pass through.
|
||||||
# We lose in transparency, but gain in brevity in this call...
|
# We lose in transparency, but gain in brevity in this call...
|
||||||
$$(eval $$(call SetupNativeCompilation, $1, ))
|
$$(eval $$(call SetupNativeCompilation, $1))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Setup make rules for creating a native executable with suitable defaults for
|
# Setup make rules for creating a native library with suitable defaults
|
||||||
# the OpenJDK project.
|
# for the OpenJDK project. The default is to create a shared library,
|
||||||
|
# but by passing TYPE := STATIC_LIBARY, a static library can be created.
|
||||||
#
|
#
|
||||||
# Parameter 1 is the name of the rule. This name is used as variable prefix,
|
# Parameter 1 is the name of the rule. This name is used as variable prefix,
|
||||||
# and the targets generated are listed in a variable by that name.
|
# and the targets generated are listed in a variable by that name.
|
||||||
#
|
#
|
||||||
# Remaining parameters are named arguments. These are all passed on to
|
# Remaining parameters are named arguments. These are all passed on to
|
||||||
# SetupNativeCompilation, except for
|
# SetupJdkNativeCompilation. Please see that macro for details.
|
||||||
# EXTRA_RCFLAGS -- additional RCFLAGS to append.
|
SetupJdkLibrary = $(NamedParamsMacroTemplate)
|
||||||
SetupJdkExecutable = $(NamedParamsMacroTemplate)
|
define SetupJdkLibraryBody
|
||||||
define SetupJdkExecutableBody
|
# If type is unspecified, default to LIBRARY
|
||||||
$1_TYPE := EXECUTABLE
|
ifeq ($$($1_TYPE), )
|
||||||
|
$1_TYPE := LIBRARY
|
||||||
ifeq ($$($1_OUTPUT_DIR), )
|
|
||||||
ifneq ($$(MODULE), )
|
|
||||||
$1_OUTPUT_DIR := $$(call FindExecutableDirForModule, $$(MODULE))
|
|
||||||
else
|
|
||||||
$$(error Must specify OUTPUT_DIR in a MODULE free context)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($$($1_OBJECT_DIR), )
|
|
||||||
ifneq ($$(MODULE), )
|
|
||||||
$1_OBJECT_DIR := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/$$($1_NAME)
|
|
||||||
else
|
|
||||||
$$(error Must specify OBJECT_DIR in a MODULE free context)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($$($1_LINK_TYPE), C++)
|
|
||||||
$1_LIBS += $(LIBCXX)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($$($1_SRC), )
|
|
||||||
ifneq ($$(MODULE), )
|
|
||||||
$1_SRC := $$(call FindSrcDirsForComponent, $$(MODULE), $$($1_NAME))
|
|
||||||
else
|
|
||||||
$$(error Must specify SRC in a MODULE free context)
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
$1_SRC := $$(foreach dir, $$($1_SRC), $$(call ProcessDir, $$(dir)))
|
|
||||||
endif
|
|
||||||
ifneq ($$($1_EXTRA_SRC), )
|
|
||||||
$1_SRC += $$(foreach dir, $$($1_EXTRA_SRC), $$(call ProcessDir, $$(dir)))
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($$($1_VERSIONINFO_RESOURCE), )
|
|
||||||
$1_VERSIONINFO_RESOURCE := $$(GLOBAL_VERSION_INFO_RESOURCE)
|
|
||||||
endif
|
|
||||||
|
|
||||||
$1_RCFLAGS := $(JDK_RCFLAGS) \
|
|
||||||
-D"JDK_FILEDESC=$(JDK_RC_NAME) binary" \
|
|
||||||
-D"JDK_FNAME=$$($1_NAME).exe" \
|
|
||||||
-D"JDK_INTERNAL_NAME=$$($1_NAME)" \
|
|
||||||
-D"JDK_FTYPE=0x1L" \
|
|
||||||
-I$(TOPDIR)/src/java.base/windows/native/common \
|
|
||||||
$$($1_EXTRA_RCFLAGS)
|
|
||||||
|
|
||||||
ifneq ($$($1_HEADERS_FROM_SRC), false)
|
|
||||||
$1_SRC_HEADER_FLAGS := $$(addprefix -I, $$(wildcard $$($1_SRC)))
|
|
||||||
endif
|
|
||||||
|
|
||||||
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS))
|
|
||||||
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS_TYPE))
|
|
||||||
# Prepend JDK libs before external libs
|
|
||||||
$1_LIBS := $$($1_JDK_LIBS) $$($1_LIBS)
|
|
||||||
|
|
||||||
ifneq ($$($1_EXTRA_HEADER_DIRS), )
|
|
||||||
$1_PROCESSED_EXTRA_HEADER_DIRS := $$(foreach dir, $$($1_EXTRA_HEADER_DIRS), \
|
|
||||||
$$(call ProcessDir, $$(dir)))
|
|
||||||
$1_EXTRA_HEADER_FLAGS := $$(addprefix -I, $$($1_PROCESSED_EXTRA_HEADER_DIRS))
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($$($1_DEFAULT_CFLAGS), false)
|
|
||||||
# Set the default flags first to be able to override
|
|
||||||
$1_CFLAGS := $$(filter-out $$($1_CFLAGS_FILTER_OUT), $$(CFLAGS_JDKEXE)) $$($1_CFLAGS)
|
|
||||||
|
|
||||||
# Set the default flags first to be able to override
|
|
||||||
$1_CXXFLAGS := $$(filter-out $$($1_CXXFLAGS_FILTER_OUT), $$(CXXFLAGS_JDKEXE)) $$($1_CXXFLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($$($1_CFLAGS), )
|
|
||||||
$1_CFLAGS += $$($1_SRC_HEADER_FLAGS) $$($1_EXTRA_HEADER_FLAGS)
|
|
||||||
endif
|
|
||||||
ifneq ($$($1_CXXFLAGS), )
|
|
||||||
$1_CXXFLAGS += $$($1_SRC_HEADER_FLAGS) $$($1_EXTRA_HEADER_FLAGS)
|
|
||||||
endif
|
|
||||||
ifeq ($$($1_CFLAGS)$$($1_CXXFLAGS), )
|
|
||||||
$1_CFLAGS += $$($1_SRC_HEADER_FLAGS) $$($1_EXTRA_HEADER_FLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($$($1_DEFAULT_LDFLAGS), false)
|
|
||||||
# Set the default flags first to be able to override
|
|
||||||
$1_LDFLAGS := $$(filter-out $$($1_LDFLAGS_FILTER_OUT), $$(LDFLAGS_JDKEXE)) $$($1_LDFLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($$($1_LD_SET_ORIGIN), false)
|
|
||||||
$1_LDFLAGS += $$(call SET_EXECUTABLE_ORIGIN)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Since we reuse the rule name ($1), all our arguments will pass through.
|
# Since we reuse the rule name ($1), all our arguments will pass through.
|
||||||
# We lose in transparency, but gain in brevity in this call...
|
# We lose in transparency, but gain in brevity in this call...
|
||||||
$$(eval $$(call SetupNativeCompilation, $1))
|
$$(eval $$(call SetupJdkNativeCompilation, $1))
|
||||||
|
endef
|
||||||
|
|
||||||
|
# Setup make rules for creating a native executable with suitable defaults
|
||||||
|
# for the OpenJDK project.
|
||||||
|
#
|
||||||
|
# Parameter 1 is the name of the rule. This name is used as variable prefix,
|
||||||
|
# and the targets generated are listed in a variable by that name.
|
||||||
|
#
|
||||||
|
# Remaining parameters are named arguments. These are all passed on to
|
||||||
|
# SetupJdkNativeCompilation. Please see that macro for details.
|
||||||
|
SetupJdkExecutable = $(NamedParamsMacroTemplate)
|
||||||
|
define SetupJdkExecutableBody
|
||||||
|
$1_TYPE := EXECUTABLE
|
||||||
|
|
||||||
|
# Since we reuse the rule name ($1), all our arguments will pass through.
|
||||||
|
# We lose in transparency, but gain in brevity in this call...
|
||||||
|
$$(eval $$(call SetupJdkNativeCompilation, $1))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
endif # _JDK_NATIVE_COMPILATION_GMK
|
endif # _JDK_NATIVE_COMPILATION_GMK
|
||||||
|
|||||||
@@ -24,9 +24,10 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
#
|
# MakeBase provides the core functionality needed and used by all makefiles. It
|
||||||
# Setup common utility functions.
|
# should be included by all makefiles. MakeBase provides essential
|
||||||
#
|
# functionality for named parameter functions, variable dependency, tool
|
||||||
|
# execution, logging and fixpath functionality.
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
ifndef _MAKEBASE_GMK
|
ifndef _MAKEBASE_GMK
|
||||||
@@ -64,9 +65,6 @@ define NEWLINE
|
|||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
# Make sure we have a value (could be overridden on command line by caller)
|
|
||||||
CREATING_BUILDJDK ?= false
|
|
||||||
|
|
||||||
# Certain features only work in newer version of GNU Make. The build will still
|
# Certain features only work in newer version of GNU Make. The build will still
|
||||||
# function in 3.81, but will be less performant.
|
# function in 3.81, but will be less performant.
|
||||||
ifeq (4.0, $(firstword $(sort 4.0 $(MAKE_VERSION))))
|
ifeq (4.0, $(firstword $(sort 4.0 $(MAKE_VERSION))))
|
||||||
@@ -75,67 +73,16 @@ ifeq (4.0, $(firstword $(sort 4.0 $(MAKE_VERSION))))
|
|||||||
RWILDCARD_WORKS := true
|
RWILDCARD_WORKS := true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
# For convenience, MakeBase.gmk continues to include these separate files, at
|
# For convenience, MakeBase.gmk continues to include these separate files, at
|
||||||
# least for now.
|
# least for now.
|
||||||
|
# Utils.gmk must be included before FileUtils.gmk, since it uses some of the
|
||||||
|
# basic utility functions there.
|
||||||
include $(TOPDIR)/make/common/Utils.gmk
|
include $(TOPDIR)/make/common/Utils.gmk
|
||||||
include $(TOPDIR)/make/common/MakeIO.gmk
|
include $(TOPDIR)/make/common/FileUtils.gmk
|
||||||
include $(TOPDIR)/make/common/CopyFiles.gmk
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Functions for timers
|
# Make sure we have a value (could be overridden on command line by caller)
|
||||||
################################################################################
|
CREATING_BUILDJDK ?= false
|
||||||
|
|
||||||
# Store the build times in this directory.
|
|
||||||
BUILDTIMESDIR=$(OUTPUTDIR)/make-support/build-times
|
|
||||||
|
|
||||||
# Record starting time for build of a sub repository.
|
|
||||||
define RecordStartTime
|
|
||||||
$(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$(strip $1) && \
|
|
||||||
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$(strip $1)_human_readable
|
|
||||||
endef
|
|
||||||
|
|
||||||
# Record ending time and calculate the difference and store it in a
|
|
||||||
# easy to read format. Handles builds that cross midnight. Expects
|
|
||||||
# that a build will never take 24 hours or more.
|
|
||||||
define RecordEndTime
|
|
||||||
$(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$(strip $1)
|
|
||||||
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$(strip $1)_human_readable
|
|
||||||
$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$(strip $1)` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$(strip $1)` $1 | \
|
|
||||||
$(AWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
|
|
||||||
M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
|
|
||||||
> $(BUILDTIMESDIR)/build_time_diff_$(strip $1)
|
|
||||||
endef
|
|
||||||
|
|
||||||
# Hook to be called when starting to execute a top-level target
|
|
||||||
define TargetEnter
|
|
||||||
$(PRINTF) "## Starting $(patsubst %-only,%,$@)\n"
|
|
||||||
$(call RecordStartTime,$(patsubst %-only,%,$@))
|
|
||||||
endef
|
|
||||||
|
|
||||||
# Hook to be called when finish executing a top-level target
|
|
||||||
define TargetExit
|
|
||||||
$(call RecordEndTime,$(patsubst %-only,%,$@))
|
|
||||||
$(PRINTF) "## Finished $(patsubst %-only,%,$@) (build time %s)\n\n" \
|
|
||||||
"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_$(patsubst %-only,%,$@) | $(CUT) -f 1 -d ' '`"
|
|
||||||
endef
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# A file containing a way to uniquely identify the source code revision that
|
|
||||||
# the build was created from
|
|
||||||
SOURCE_REVISION_TRACKER := $(SUPPORT_OUTPUTDIR)/src-rev/source-revision-tracker
|
|
||||||
|
|
||||||
# Locate all sourcecode repositories included in the forest, as absolute paths
|
|
||||||
FindAllReposAbs = \
|
|
||||||
$(strip $(sort $(dir $(filter-out $(TOPDIR)/build/%, $(wildcard \
|
|
||||||
$(addprefix $(TOPDIR)/, .git */.git */*/.git */*/*/.git */*/*/*/.git) \
|
|
||||||
)))))
|
|
||||||
|
|
||||||
# Locate all sourcecode repositories included in the forest, as relative paths
|
|
||||||
FindAllReposRel = \
|
|
||||||
$(strip $(subst $(TOPDIR)/,.,$(patsubst $(TOPDIR)/%/, %, $(FindAllReposAbs))))
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
@@ -237,224 +184,6 @@ define NamedParamsMacroTemplate
|
|||||||
$(call $(0)Body,$(strip $1))
|
$(call $(0)Body,$(strip $1))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Make directory without forking mkdir if not needed.
|
|
||||||
#
|
|
||||||
# If a directory with an encoded space is provided, the wildcard function
|
|
||||||
# sometimes returns false answers (typically if the dir existed when the
|
|
||||||
# makefile was parsed, but was deleted by a previous rule). In that case, always
|
|
||||||
# call mkdir regardless of what wildcard says.
|
|
||||||
#
|
|
||||||
# 1: List of directories to create
|
|
||||||
MakeDir = \
|
|
||||||
$(strip \
|
|
||||||
$(eval MakeDir_dirs_to_make := $(strip $(foreach d, $1, \
|
|
||||||
$(if $(findstring ?, $d), '$(call DecodeSpace, $d)', \
|
|
||||||
$(if $(wildcard $d), , $d) \
|
|
||||||
) \
|
|
||||||
))) \
|
|
||||||
$(if $(MakeDir_dirs_to_make), $(shell $(MKDIR) -p $(MakeDir_dirs_to_make))) \
|
|
||||||
)
|
|
||||||
|
|
||||||
# Make directory for target file. Should handle spaces in filenames. Just
|
|
||||||
# calling $(call MakeDir $(@D)) will not work if the directory contains a space
|
|
||||||
# and the target file already exists. In that case, the target file will have
|
|
||||||
# its wildcard ? resolved and the $(@D) will evaluate each space separated dir
|
|
||||||
# part on its own.
|
|
||||||
MakeTargetDir = \
|
|
||||||
$(call MakeDir, $(dir $(call EncodeSpace, $@)))
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# All install-file and related macros automatically call DecodeSpace when needed.
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, macosx), true)
|
|
||||||
# On mac, extended attributes sometimes creep into the source files, which may later
|
|
||||||
# cause the creation of ._* files which confuses testing. Clear these with xattr if
|
|
||||||
# set. Some files get their write permissions removed after being copied to the
|
|
||||||
# output dir. When these are copied again to images, xattr would fail. By only clearing
|
|
||||||
# attributes when they are present, failing on this is avoided.
|
|
||||||
#
|
|
||||||
# If copying a soft link to a directory, need to delete the target first to avoid
|
|
||||||
# weird errors.
|
|
||||||
define install-file
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
|
||||||
# Work around a weirdness with cp on Macosx. When copying a symlink, if
|
|
||||||
# the target of the link is write protected (e.g. 444), cp will add
|
|
||||||
# write permission for the user on the target file (644). Avoid this by
|
|
||||||
# using ln to create a new link instead.
|
|
||||||
if [ -h '$(call DecodeSpace, $<)' ]; then \
|
|
||||||
$(LN) -s "`$(READLINK) '$(call DecodeSpace, $<)'`" '$(call DecodeSpace, $@)'; \
|
|
||||||
else \
|
|
||||||
$(CP) -fRP '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \
|
|
||||||
fi
|
|
||||||
if [ -n "`$(XATTR) -ls '$(call DecodeSpace, $@)'`" ]; then \
|
|
||||||
$(XATTR) -cs '$(call DecodeSpace, $@)'; \
|
|
||||||
fi
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
define install-file
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(CP) -fP '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Variant of install file that does not preserve symlinks
|
|
||||||
define install-file-nolink
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
|
||||||
endef
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# link-file-* works similarly to install-file but creates a symlink instead.
|
|
||||||
# There are two versions, either creating a relative or an absolute link. Be
|
|
||||||
# careful when using this on Windows since the symlink created is only valid in
|
|
||||||
# the unix emulation environment.
|
|
||||||
# In msys2 we use mklink /J because its ln would perform a deep copy of the target.
|
|
||||||
# This inhibits performance and can lead to issues with long paths. With mklink /J
|
|
||||||
# relative linking does not work, so we handle the link as absolute path.
|
|
||||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
|
||||||
define link-file-relative
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
|
||||||
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
define link-file-relative
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
|
||||||
$(LN) -s '$(call DecodeSpace, $(call RelativePath, $<, $(@D)))' '$(call DecodeSpace, $@)'
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
|
||||||
define link-file-absolute
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
|
||||||
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
define link-file-absolute
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
|
||||||
$(LN) -s '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Recursive wildcard function. Walks down directories recursively and matches
|
|
||||||
# files with the search patterns. Patterns use standard file wildcards (* and
|
|
||||||
# ?).
|
|
||||||
#
|
|
||||||
# $1 - Directories to start search in
|
|
||||||
# $2 - Search patterns
|
|
||||||
rwildcard = \
|
|
||||||
$(strip \
|
|
||||||
$(foreach d, \
|
|
||||||
$(patsubst %/,%,$(sort $(dir $(wildcard $(addsuffix /*/*, $(strip $1)))))), \
|
|
||||||
$(call rwildcard,$d,$2) \
|
|
||||||
) \
|
|
||||||
$(call DoubleDollar, $(wildcard $(foreach p, $2, $(addsuffix /$(strip $p), $(strip $1))))) \
|
|
||||||
)
|
|
||||||
|
|
||||||
# Find non directories using recursive wildcard function. This function may
|
|
||||||
# be used directly when a small amount of directories is expected to be
|
|
||||||
# searched and caching is not expected to be of use.
|
|
||||||
#
|
|
||||||
# $1 - Directory to start search in
|
|
||||||
# $2 - Optional search patterns, defaults to '*'.
|
|
||||||
WildcardFindFiles = \
|
|
||||||
$(sort $(strip \
|
|
||||||
$(eval WildcardFindFiles_result := $(call rwildcard,$(patsubst %/,%,$1),$(if $(strip $2),$2,*))) \
|
|
||||||
$(filter-out $(patsubst %/,%,$(sort $(dir $(WildcardFindFiles_result)))), \
|
|
||||||
$(WildcardFindFiles_result) \
|
|
||||||
) \
|
|
||||||
))
|
|
||||||
|
|
||||||
# Find non directories using the find utility in the shell. Safe to call for
|
|
||||||
# non existing directories, or directories containing wildcards.
|
|
||||||
#
|
|
||||||
# Files containing space will get spaces replaced with ? because GNU Make
|
|
||||||
# cannot handle lists of files with space in them. By using ?, make will match
|
|
||||||
# the wildcard to space in many situations so we don't need to replace back
|
|
||||||
# to space on every use. While not a complete solution it does allow some uses
|
|
||||||
# of FindFiles to function with spaces in file names, including for
|
|
||||||
# SetupCopyFiles. Unfortunately this does not work for WildcardFindFiles so
|
|
||||||
# if files with spaces are anticipated, use ShellFindFiles directly.
|
|
||||||
#
|
|
||||||
# $1 - Directories to start search in.
|
|
||||||
# $2 - Optional search patterns, empty means find everything. Patterns use
|
|
||||||
# standard file wildcards (* and ?) and should not be quoted.
|
|
||||||
# $3 - Optional options to find.
|
|
||||||
ShellFindFiles = \
|
|
||||||
$(if $(wildcard $1), \
|
|
||||||
$(sort \
|
|
||||||
$(shell $(FIND) $3 $(patsubst %/,%,$(wildcard $1)) \( -type f -o -type l \) \
|
|
||||||
$(if $(strip $2), -a \( -name "$(firstword $2)" \
|
|
||||||
$(foreach p, $(filter-out $(firstword $2), $2), -o -name "$(p)") \)) \
|
|
||||||
| $(TR) ' ' '?' \
|
|
||||||
) \
|
|
||||||
) \
|
|
||||||
)
|
|
||||||
|
|
||||||
# Find non directories using the method most likely to work best for the
|
|
||||||
# current build host
|
|
||||||
#
|
|
||||||
# $1 - Directory to start search in
|
|
||||||
# $2 - Optional search patterns, defaults to '*'.
|
|
||||||
ifeq ($(OPENJDK_BUILD_OS)-$(RWILDCARD_WORKS), windows-true)
|
|
||||||
DirectFindFiles = $(WildcardFindFiles)
|
|
||||||
else
|
|
||||||
DirectFindFiles = $(ShellFindFiles)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Finds files using a cache that is populated by FillFindCache below. If any of
|
|
||||||
# the directories given have not been cached, DirectFindFiles is used for
|
|
||||||
# everything. Caching is especially useful in Cygwin, where file finds are very
|
|
||||||
# costly.
|
|
||||||
#
|
|
||||||
# $1 - Directories to start search in.
|
|
||||||
# $2 - Optional search patterns. If used, no caching is done.
|
|
||||||
CacheFindFiles_CACHED_DIRS :=
|
|
||||||
CacheFindFiles_CACHED_FILES :=
|
|
||||||
CacheFindFiles = \
|
|
||||||
$(if $2, \
|
|
||||||
$(call DirectFindFiles, $1, $2) \
|
|
||||||
, \
|
|
||||||
$(if $(filter-out $(addsuffix /%, $(CacheFindFiles_CACHED_DIRS)) \
|
|
||||||
$(CacheFindFiles_CACHED_DIRS), $1), \
|
|
||||||
$(call DirectFindFiles, $1) \
|
|
||||||
, \
|
|
||||||
$(filter $(addsuffix /%,$(patsubst %/,%,$1)) $1,$(CacheFindFiles_CACHED_FILES)) \
|
|
||||||
) \
|
|
||||||
)
|
|
||||||
|
|
||||||
# Explicitly adds files to the find cache used by CacheFindFiles.
|
|
||||||
#
|
|
||||||
# $1 - Directories to start search in
|
|
||||||
FillFindCache = \
|
|
||||||
$(eval CacheFindFiles_NEW_DIRS := $$(filter-out $$(addsuffix /%,\
|
|
||||||
$$(CacheFindFiles_CACHED_DIRS)) $$(CacheFindFiles_CACHED_DIRS), $1)) \
|
|
||||||
$(if $(CacheFindFiles_NEW_DIRS), \
|
|
||||||
$(eval CacheFindFiles_CACHED_DIRS += $$(patsubst %/,%,$$(CacheFindFiles_NEW_DIRS))) \
|
|
||||||
$(eval CacheFindFiles_CACHED_FILES := $$(sort $$(CacheFindFiles_CACHED_FILES) \
|
|
||||||
$$(call DirectFindFiles, $$(CacheFindFiles_NEW_DIRS)))) \
|
|
||||||
)
|
|
||||||
|
|
||||||
# Findfiles is the default macro that should be used to find files in the file
|
|
||||||
# system. This function does not always support files with spaces in the names.
|
|
||||||
# If files with spaces are anticipated, use ShellFindFiles directly.
|
|
||||||
#
|
|
||||||
# $1 - Directories to start search in.
|
|
||||||
# $2 - Optional search patterns, empty means find everything. Patterns use
|
|
||||||
# standard file wildcards (* and ?) and should not be quoted.
|
|
||||||
ifeq ($(DISABLE_CACHE_FIND), true)
|
|
||||||
FindFiles = $(DirectFindFiles)
|
|
||||||
else
|
|
||||||
FindFiles = $(CacheFindFiles)
|
|
||||||
endif
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# FixPath
|
# FixPath
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -241,32 +241,3 @@ else # HAS_FILE_FUNCTION = false
|
|||||||
$$(call ListPathsSafely_IfPrintf,$1,$2,29751,30000)
|
$$(call ListPathsSafely_IfPrintf,$1,$2,29751,30000)
|
||||||
endef
|
endef
|
||||||
endif # HAS_FILE_FUNCTION
|
endif # HAS_FILE_FUNCTION
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Write to and read from file
|
|
||||||
|
|
||||||
# Param 1 - File to read
|
|
||||||
ReadFile = \
|
|
||||||
$(shell $(CAT) $1)
|
|
||||||
|
|
||||||
# Param 1 - Text to write
|
|
||||||
# Param 2 - File to write to
|
|
||||||
ifeq ($(HAS_FILE_FUNCTION), true)
|
|
||||||
WriteFile = \
|
|
||||||
$(file >$2,$(strip $1))
|
|
||||||
else
|
|
||||||
# Use printf to get consistent behavior on all platforms.
|
|
||||||
WriteFile = \
|
|
||||||
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) > $2)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Param 1 - Text to write
|
|
||||||
# Param 2 - File to write to
|
|
||||||
ifeq ($(HAS_FILE_FUNCTION), true)
|
|
||||||
AppendFile = \
|
|
||||||
$(file >>$2,$(strip $1))
|
|
||||||
else
|
|
||||||
# Use printf to get consistent behavior on all platforms.
|
|
||||||
AppendFile = \
|
|
||||||
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) >> $2)
|
|
||||||
endif
|
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ ifeq ($(_MAKEBASE_GMK), )
|
|||||||
$(error You must include MakeBase.gmk prior to including NativeCompilation.gmk)
|
$(error You must include MakeBase.gmk prior to including NativeCompilation.gmk)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
include MakeIO.gmk
|
||||||
include native/CompileFile.gmk
|
include native/CompileFile.gmk
|
||||||
include native/DebugSymbols.gmk
|
include native/DebugSymbols.gmk
|
||||||
include native/Flags.gmk
|
include native/Flags.gmk
|
||||||
@@ -73,8 +74,6 @@ include native/Paths.gmk
|
|||||||
# used both for C and C++.
|
# used both for C and C++.
|
||||||
# LIBS_<toolchain>_<OS> the libraries to link to for the specified target
|
# LIBS_<toolchain>_<OS> the libraries to link to for the specified target
|
||||||
# OS and toolchain, used both for C and C++.
|
# OS and toolchain, used both for C and C++.
|
||||||
# ARFLAGS the archiver flags to be used on unix platforms
|
|
||||||
# LIBFLAGS the flags for the lib tool used on windows
|
|
||||||
# OBJECT_DIR the directory where we store the object files
|
# OBJECT_DIR the directory where we store the object files
|
||||||
# OUTPUT_DIR the directory where the resulting binary is put
|
# OUTPUT_DIR the directory where the resulting binary is put
|
||||||
# SYMBOLS_DIR the directory where the debug symbols are put, defaults to OUTPUT_DIR
|
# SYMBOLS_DIR the directory where the debug symbols are put, defaults to OUTPUT_DIR
|
||||||
@@ -86,6 +85,7 @@ include native/Paths.gmk
|
|||||||
# EXTRA_FILES List of extra files not in any of the SRC dirs
|
# EXTRA_FILES List of extra files not in any of the SRC dirs
|
||||||
# EXTRA_OBJECT_FILES List of extra object files to include when linking
|
# EXTRA_OBJECT_FILES List of extra object files to include when linking
|
||||||
# EXTRA_DEPS List of extra dependencies to be added to each compiled file
|
# EXTRA_DEPS List of extra dependencies to be added to each compiled file
|
||||||
|
# EXTRA_LINK_DEPS List of extra dependencies to be added to the link stage
|
||||||
# VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run
|
# VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run
|
||||||
# RCFLAGS flags for RC.
|
# RCFLAGS flags for RC.
|
||||||
# EMBED_MANIFEST if true, embed manifest on Windows.
|
# EMBED_MANIFEST if true, embed manifest on Windows.
|
||||||
@@ -229,6 +229,9 @@ endef
|
|||||||
################################################################################
|
################################################################################
|
||||||
# Verify that user passed arguments are valid
|
# Verify that user passed arguments are valid
|
||||||
define VerifyArguments
|
define VerifyArguments
|
||||||
|
ifeq ($$($1_NAME), )
|
||||||
|
$$(error NAME must not be empty in $1)
|
||||||
|
endif
|
||||||
ifneq ($$($1_NAME), $(basename $$($1_NAME)))
|
ifneq ($$($1_NAME), $(basename $$($1_NAME)))
|
||||||
$$(error NAME must not contain any directory path in $1)
|
$$(error NAME must not contain any directory path in $1)
|
||||||
endif
|
endif
|
||||||
@@ -256,14 +259,6 @@ define SetupBasicVariables
|
|||||||
$1_TYPE := LIBRARY
|
$1_TYPE := LIBRARY
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# If we're doing a static build and producing a library
|
|
||||||
# force it to be a static library and remove the -l libraries
|
|
||||||
ifeq ($(STATIC_BUILD), true)
|
|
||||||
ifeq ($$($1_TYPE), LIBRARY)
|
|
||||||
$1_TYPE := STATIC_LIBRARY
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# STATIC_LIBS is set from Main.gmk when building static versions of certain
|
# STATIC_LIBS is set from Main.gmk when building static versions of certain
|
||||||
# native libraries.
|
# native libraries.
|
||||||
ifeq ($(STATIC_LIBS), true)
|
ifeq ($(STATIC_LIBS), true)
|
||||||
|
|||||||
@@ -38,48 +38,53 @@ define ProcessMarkdown
|
|||||||
$1_$2_INPUT_FILE := $3/$2
|
$1_$2_INPUT_FILE := $3/$2
|
||||||
$1_$2_MARKER := $$(subst /,_,$1_$2)
|
$1_$2_MARKER := $$(subst /,_,$1_$2)
|
||||||
|
|
||||||
ifneq ($$($1_REPLACEMENTS), )
|
# Only continue if this target file hasn't been processed already. This lets
|
||||||
$1_$2_PANDOC_INPUT := $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_pre.tmp
|
# the first found source file override any other with the same name.
|
||||||
|
ifeq ($$($1_$2_OUTPUT_FILE_PROCESSED), )
|
||||||
|
$1_$2_OUTPUT_FILE_PROCESSED := true
|
||||||
|
|
||||||
$$(eval $$(call SetupTextFileProcessing, $1_$2_PREPROCESSED, \
|
ifneq ($$($1_REPLACEMENTS), )
|
||||||
SOURCE_FILES := $$($1_$2_INPUT_FILE), \
|
$1_$2_PANDOC_INPUT := $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_pre.tmp
|
||||||
OUTPUT_FILE := $$($1_$2_PANDOC_INPUT), \
|
|
||||||
REPLACEMENTS := $$($1_REPLACEMENTS), \
|
|
||||||
))
|
|
||||||
else
|
|
||||||
$1_$2_PANDOC_INPUT := $$($1_$2_INPUT_FILE)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($$($1_POST_PROCESS), )
|
$$(eval $$(call SetupTextFileProcessing, $1_$2_PREPROCESSED, \
|
||||||
$1_$2_PANDOC_OUTPUT := $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_post.tmp
|
SOURCE_FILES := $$($1_$2_INPUT_FILE), \
|
||||||
else
|
OUTPUT_FILE := $$($1_$2_PANDOC_INPUT), \
|
||||||
$1_$2_PANDOC_OUTPUT := $$($1_$2_OUTPUT_FILE)
|
REPLACEMENTS := $$($1_REPLACEMENTS), \
|
||||||
endif
|
))
|
||||||
|
|
||||||
ifneq ($$($1_CSS), )
|
|
||||||
ifneq ($$(findstring https:/, $$($1_CSS)), )
|
|
||||||
$1_$2_CSS_OPTION := --css '$$($1_CSS)'
|
|
||||||
else
|
else
|
||||||
$1_$2_CSS := $$(strip $$(call RelativePath, $$($1_CSS), $$($1_$2_TARGET_DIR)))
|
$1_$2_PANDOC_INPUT := $$($1_$2_INPUT_FILE)
|
||||||
$1_$2_CSS_OPTION := --css '$$($1_$2_CSS)'
|
|
||||||
endif
|
endif
|
||||||
endif
|
|
||||||
|
|
||||||
# This does not need to be included in VARDEPS since it's from the actual
|
ifneq ($$($1_POST_PROCESS), )
|
||||||
# source file. Only run the shell if the recipe gets executed below.
|
$1_$2_PANDOC_OUTPUT := $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_post.tmp
|
||||||
$1_$2_OPTIONS_FROM_SRC = \
|
else
|
||||||
$$(shell $$(GREP) _pandoc-options_: $3/$2 | $$(CUT) -d : -f 2-)
|
$1_$2_PANDOC_OUTPUT := $$($1_$2_OUTPUT_FILE)
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($$($1_FILTER), )
|
ifneq ($$($1_CSS), )
|
||||||
$1_$2_OPTIONS := --filter $$($1_FILTER)
|
ifneq ($$(findstring https:/, $$($1_CSS)), )
|
||||||
endif
|
$1_$2_CSS_OPTION := --css '$$($1_CSS)'
|
||||||
|
else
|
||||||
|
$1_$2_CSS := $$(strip $$(call RelativePath, $$($1_CSS), $$($1_$2_TARGET_DIR)))
|
||||||
|
$1_$2_CSS_OPTION := --css '$$($1_$2_CSS)'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
$1_$2_VARDEPS := $$($1_OPTIONS) $$($1_$2_OPTIONS) $$($1_CSS) \
|
# This does not need to be included in VARDEPS since it's from the actual
|
||||||
$$($1_REPLACEMENTS) $$($1_POST_PROCESS)
|
# source file. Only run the shell if the recipe gets executed below.
|
||||||
$1_$2_VARDEPS_FILE := $$(call DependOnVariable, $1_$2_VARDEPS, \
|
$1_$2_OPTIONS_FROM_SRC = \
|
||||||
$$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER).vardeps)
|
$$(shell $$(GREP) _pandoc-options_: $3/$2 | $$(CUT) -d : -f 2-)
|
||||||
|
|
||||||
$$($1_$2_PANDOC_OUTPUT): $$($1_$2_PANDOC_INPUT) $$($1_$2_VARDEPS_FILE) $$($1_EXTRA_DEPS)
|
ifneq ($$($1_FILTER), )
|
||||||
|
$1_$2_OPTIONS := --filter $$($1_FILTER)
|
||||||
|
endif
|
||||||
|
|
||||||
|
$1_$2_VARDEPS := $$($1_OPTIONS) $$($1_$2_OPTIONS) $$($1_CSS) \
|
||||||
|
$$($1_REPLACEMENTS) $$($1_POST_PROCESS)
|
||||||
|
$1_$2_VARDEPS_FILE := $$(call DependOnVariable, $1_$2_VARDEPS, \
|
||||||
|
$$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER).vardeps)
|
||||||
|
|
||||||
|
$$($1_$2_PANDOC_OUTPUT): $$($1_$2_PANDOC_INPUT) $$($1_$2_VARDEPS_FILE) $$($1_EXTRA_DEPS)
|
||||||
$$(call LogInfo, Converting $2 to $$($1_FORMAT))
|
$$(call LogInfo, Converting $2 to $$($1_FORMAT))
|
||||||
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))
|
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))
|
||||||
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
|
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
|
||||||
@@ -96,17 +101,18 @@ define ProcessMarkdown
|
|||||||
fi
|
fi
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# If we have no post processing, PANDOC_OUTPUT is set to OUTPUT_FILE. Otherwise
|
# If we have no post processing, PANDOC_OUTPUT is set to OUTPUT_FILE. Otherwise
|
||||||
# PANDOC_OUTPUT is a temporary file, and we must now create the real OUTPUT_FILE.
|
# PANDOC_OUTPUT is a temporary file, and we must now create the real OUTPUT_FILE.
|
||||||
ifneq ($$($1_POST_PROCESS), )
|
ifneq ($$($1_POST_PROCESS), )
|
||||||
$$($1_$2_OUTPUT_FILE): $$($1_$2_PANDOC_OUTPUT)
|
$$($1_$2_OUTPUT_FILE): $$($1_$2_PANDOC_OUTPUT)
|
||||||
$$(call LogInfo, Post-processing markdown file $2)
|
$$(call LogInfo, Post-processing markdown file $2)
|
||||||
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$($1_$2_TARGET_DIR))
|
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$($1_$2_TARGET_DIR))
|
||||||
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_post, \
|
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_post, \
|
||||||
( $$($1_POST_PROCESS) $$($1_$2_PANDOC_OUTPUT) > $$($1_$2_OUTPUT_FILE) ) )
|
( $$($1_POST_PROCESS) $$($1_$2_PANDOC_OUTPUT) > $$($1_$2_OUTPUT_FILE) ) )
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$1 += $$($1_$2_OUTPUT_FILE)
|
$1 += $$($1_$2_OUTPUT_FILE)
|
||||||
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ ifeq (,$(_MAKEBASE_GMK))
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
include NativeCompilation.gmk
|
include JdkNativeCompilation.gmk
|
||||||
|
|
||||||
# Setup make rules for creating a set of native test files (libraries or
|
# Setup make rules for creating a set of native test files (libraries or
|
||||||
# executables). This will locate native files matching a certain pattern,
|
# executables). This will locate native files matching a certain pattern,
|
||||||
@@ -56,27 +56,19 @@ define SetupTestFilesCompilationBody
|
|||||||
$$(error There are duplicate test file names for $1: $$($1_DUPLICATED_NAMES))
|
$$(error There are duplicate test file names for $1: $$($1_DUPLICATED_NAMES))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Always include common test functionality
|
|
||||||
TEST_CFLAGS := -I$(TOPDIR)/test/lib/native
|
|
||||||
|
|
||||||
# The list to depend on starts out empty
|
# The list to depend on starts out empty
|
||||||
$1 :=
|
$1 :=
|
||||||
ifeq ($$($1_TYPE), LIBRARY)
|
ifeq ($$($1_TYPE), LIBRARY)
|
||||||
$1_PREFIX = lib
|
$1_PREFIX = lib
|
||||||
$1_OUTPUT_SUBDIR := lib
|
$1_OUTPUT_SUBDIR := lib
|
||||||
$1_BASE_CFLAGS := $(CFLAGS_JDKLIB) $$(TEST_CFLAGS)
|
|
||||||
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKLIB) $$(TEST_CFLAGS)
|
|
||||||
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $$(call SET_SHARED_LIBRARY_ORIGIN)
|
|
||||||
$1_COMPILATION_TYPE := LIBRARY
|
$1_COMPILATION_TYPE := LIBRARY
|
||||||
$1_LOG_TYPE := library
|
$1_LOG_TYPE := library
|
||||||
else ifeq ($$($1_TYPE), PROGRAM)
|
else ifeq ($$($1_TYPE), PROGRAM)
|
||||||
$1_PREFIX = exe
|
$1_PREFIX = exe
|
||||||
$1_OUTPUT_SUBDIR := bin
|
$1_OUTPUT_SUBDIR := bin
|
||||||
$1_BASE_CFLAGS := $(CFLAGS_JDKEXE) $$(TEST_CFLAGS)
|
|
||||||
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKEXE) $$(TEST_CFLAGS)
|
|
||||||
$1_LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_TESTEXE)
|
|
||||||
$1_COMPILATION_TYPE := EXECUTABLE
|
$1_COMPILATION_TYPE := EXECUTABLE
|
||||||
$1_LOG_TYPE := executable
|
$1_LOG_TYPE := executable
|
||||||
|
$1_LD_SET_ORIGIN := false
|
||||||
else
|
else
|
||||||
$$(error Unknown type: $$($1_TYPE))
|
$$(error Unknown type: $$($1_TYPE))
|
||||||
endif
|
endif
|
||||||
@@ -99,24 +91,34 @@ define SetupTestFilesCompilationBody
|
|||||||
$1_COPY_DEBUG_SYMBOLS := true
|
$1_COPY_DEBUG_SYMBOLS := true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Always include common test functionality
|
||||||
|
TEST_CFLAGS := -I$(TOPDIR)/test/lib/native
|
||||||
|
|
||||||
# Setup a compilation for each and every one of them
|
# Setup a compilation for each and every one of them
|
||||||
$$(foreach file, $$($1_FILTERED_FILE_LIST),\
|
$$(foreach file, $$($1_FILTERED_FILE_LIST),\
|
||||||
$$(eval name := $$(strip $$(basename $$(notdir $$(file))))) \
|
$$(eval name := $$(strip $$(basename $$(notdir $$(file))))) \
|
||||||
$$(eval unprefixed_name := $$(patsubst $$($1_PREFIX)%, %, $$(name))) \
|
$$(eval unprefixed_name := $$(patsubst $$($1_PREFIX)%, %, $$(name))) \
|
||||||
$$(eval $$(call SetupNativeCompilation, BUILD_TEST_$$(name), \
|
$$(eval $$(call SetupJdkNativeCompilation, BUILD_TEST_$$(name), \
|
||||||
NAME := $$(unprefixed_name), \
|
NAME := $$(unprefixed_name), \
|
||||||
TYPE := $$($1_COMPILATION_TYPE), \
|
TYPE := $$($1_COMPILATION_TYPE), \
|
||||||
LINK_TYPE := $(if $$(filter %.cpp, $$(file)), C++, C), \
|
LINK_TYPE := $(if $$(filter %.cpp, $$(file)), C++, C), \
|
||||||
|
EXTRA_HEADER_DIRS := \
|
||||||
|
java.base:libjava \
|
||||||
|
java.base:libjvm, \
|
||||||
EXTRA_FILES := $$(file) $$($1_EXTRA_FILES), \
|
EXTRA_FILES := $$(file) $$($1_EXTRA_FILES), \
|
||||||
OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \
|
OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \
|
||||||
OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \
|
OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \
|
||||||
CFLAGS := $$($1_BASE_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
|
CFLAGS := $$(TEST_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
|
||||||
CXXFLAGS := $$($1_BASE_CXXFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
|
CXXFLAGS := $$(TEST_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
|
||||||
LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \
|
LD_SET_ORIGIN := $$($1_LD_SET_ORIGIN), \
|
||||||
|
LDFLAGS := $$($1_LDFLAGS_$$(name)), \
|
||||||
DISABLED_WARNINGS_gcc := format undef unused-function unused-value, \
|
DISABLED_WARNINGS_gcc := format undef unused-function unused-value, \
|
||||||
DISABLED_WARNINGS_clang := undef format-nonliteral \
|
DISABLED_WARNINGS_clang := undef format-nonliteral \
|
||||||
missing-field-initializers sometimes-uninitialized, \
|
missing-field-initializers sometimes-uninitialized, \
|
||||||
|
DEFAULT_LIBCXX := false, \
|
||||||
|
JDK_LIBS := $$($1_JDK_LIBS_$$(name)), \
|
||||||
LIBS := $$($1_LIBS_$$(name)), \
|
LIBS := $$($1_LIBS_$$(name)), \
|
||||||
|
DEFAULT_VERSIONINFO_RESOURCE := false, \
|
||||||
OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
|
OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
|
||||||
COPY_DEBUG_SYMBOLS := $$($1_COPY_DEBUG_SYMBOLS), \
|
COPY_DEBUG_SYMBOLS := $$($1_COPY_DEBUG_SYMBOLS), \
|
||||||
STRIP_SYMBOLS := $$(if $$($1_STRIP_SYMBOLS_$$(name)),$$($1_STRIP_SYMBOLS_$$(name)),false), \
|
STRIP_SYMBOLS := $$(if $$($1_STRIP_SYMBOLS_$$(name)),$$($1_STRIP_SYMBOLS_$$(name)),false), \
|
||||||
@@ -129,7 +131,7 @@ define SetupTestFilesCompilationBody
|
|||||||
|
|
||||||
# Setup rule for printing a summary of all the tests being compiled. On Warn
|
# Setup rule for printing a summary of all the tests being compiled. On Warn
|
||||||
# log level, this replaces the individual build info logging done by
|
# log level, this replaces the individual build info logging done by
|
||||||
# SetupNativeCompilation.
|
# SetupJdkNativeCompilation.
|
||||||
$$($1_BUILD_INFO): $$($1_BUILD_INFO_DEPS)
|
$$($1_BUILD_INFO): $$($1_BUILD_INFO_DEPS)
|
||||||
$$(call LogWarn, $$(strip Creating $$(words $$(filter-out %.vardeps, $$?)) \
|
$$(call LogWarn, $$(strip Creating $$(words $$(filter-out %.vardeps, $$?)) \
|
||||||
test $$($1_LOG_TYPE) file(s) for $1))
|
test $$($1_LOG_TYPE) file(s) for $1))
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -29,29 +29,34 @@ endif
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Common utility functions
|
# Basic utility functions available to MakeBase.gmk itself
|
||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
### Debug functions
|
# String equals
|
||||||
|
equals = \
|
||||||
|
$(if $(strip $1)$(strip $2),$(strip \
|
||||||
|
$(and $(findstring $(strip $1),$(strip $2)),\
|
||||||
|
$(findstring $(strip $2),$(strip $1)))), \
|
||||||
|
true \
|
||||||
|
)
|
||||||
|
|
||||||
# Prints the name and value of a variable
|
# Convert the string given to upper case, without any $(shell)
|
||||||
PrintVar = \
|
# Inspired by http://lists.gnu.org/archive/html/help-make/2013-09/msg00009.html
|
||||||
$(info $(strip $1) >$($(strip $1))<)
|
uppercase_table := a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O \
|
||||||
|
p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z
|
||||||
|
|
||||||
################################################################################
|
uppercase_internal = \
|
||||||
# This macro translates $ into \$ to protect the $ from expansion in the shell.
|
$(if $(strip $1), $$(subst $(firstword $1), $(call uppercase_internal, \
|
||||||
# To make this macro resilient against already escaped strings, first remove
|
$(wordlist 2, $(words $1), $1), $2)), $2)
|
||||||
# any present escapes before escaping so that no double escapes are added.
|
|
||||||
EscapeDollar = $(subst $$,\$$,$(subst \$$,$$,$(strip $1)))
|
|
||||||
|
|
||||||
################################################################################
|
# Convert a string to upper case. Works only on a-z.
|
||||||
# This macro works just like EscapeDollar above, but for #.
|
# $1 - The string to convert
|
||||||
EscapeHash = $(subst \#,\\\#,$(subst \\\#,\#,$(strip $1)))
|
uppercase = \
|
||||||
|
$(strip \
|
||||||
################################################################################
|
$(eval uppercase_result := $(call uppercase_internal, $(uppercase_table), $1)) \
|
||||||
# This macro translates $ into $$ to protect the string from make itself.
|
$(uppercase_result) \
|
||||||
DoubleDollar = $(subst $$,$$$$,$(strip $1))
|
)
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Creates a sequence of increasing numbers (inclusive).
|
# Creates a sequence of increasing numbers (inclusive).
|
||||||
@@ -68,23 +73,142 @@ _sequence-do = \
|
|||||||
$(words $(SEQUENCE_COUNT)) \
|
$(words $(SEQUENCE_COUNT)) \
|
||||||
$(call _sequence-do,$1))
|
$(call _sequence-do,$1))
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# This macro translates $ into \$ to protect the $ from expansion in the shell.
|
||||||
|
# To make this macro resilient against already escaped strings, first remove
|
||||||
|
# any present escapes before escaping so that no double escapes are added.
|
||||||
|
EscapeDollar = $(subst $$,\$$,$(subst \$$,$$,$(strip $1)))
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# This macro works just like EscapeDollar above, but for #.
|
||||||
|
EscapeHash = $(subst \#,\\\#,$(subst \\\#,\#,$(strip $1)))
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# This macro translates $ into $$ to protect the string from make itself.
|
||||||
|
DoubleDollar = $(subst $$,$$$$,$(strip $1))
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# ShellQuote
|
||||||
|
#
|
||||||
|
# Quotes a string with single quotes and replaces single quotes with '\'' so
|
||||||
|
# that the contents survives being given to the shell.
|
||||||
|
ShellQuote = \
|
||||||
|
$(SQUOTE)$(subst $(SQUOTE),$(SQUOTE)\$(SQUOTE)$(SQUOTE),$(strip $1))$(SQUOTE)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Write to and read from file
|
||||||
|
|
||||||
|
# Param 1 - File to read
|
||||||
|
ReadFile = \
|
||||||
|
$(shell $(CAT) $1)
|
||||||
|
|
||||||
|
# Param 1 - Text to write
|
||||||
|
# Param 2 - File to write to
|
||||||
|
ifeq ($(HAS_FILE_FUNCTION), true)
|
||||||
|
WriteFile = \
|
||||||
|
$(file >$2,$(strip $1))
|
||||||
|
else
|
||||||
|
# Use printf to get consistent behavior on all platforms.
|
||||||
|
WriteFile = \
|
||||||
|
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) > $2)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Param 1 - Text to write
|
||||||
|
# Param 2 - File to write to
|
||||||
|
ifeq ($(HAS_FILE_FUNCTION), true)
|
||||||
|
AppendFile = \
|
||||||
|
$(file >>$2,$(strip $1))
|
||||||
|
else
|
||||||
|
# Use printf to get consistent behavior on all platforms.
|
||||||
|
AppendFile = \
|
||||||
|
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) >> $2)
|
||||||
|
endif
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Make directory without forking mkdir if not needed.
|
||||||
|
#
|
||||||
|
# If a directory with an encoded space is provided, the wildcard function
|
||||||
|
# sometimes returns false answers (typically if the dir existed when the
|
||||||
|
# makefile was parsed, but was deleted by a previous rule). In that case, always
|
||||||
|
# call mkdir regardless of what wildcard says.
|
||||||
|
#
|
||||||
|
# 1: List of directories to create
|
||||||
|
MakeDir = \
|
||||||
|
$(strip \
|
||||||
|
$(eval MakeDir_dirs_to_make := $(strip $(foreach d, $1, \
|
||||||
|
$(if $(findstring ?, $d), '$(call DecodeSpace, $d)', \
|
||||||
|
$(if $(wildcard $d), , $d) \
|
||||||
|
) \
|
||||||
|
))) \
|
||||||
|
$(if $(MakeDir_dirs_to_make), $(shell $(MKDIR) -p $(MakeDir_dirs_to_make))) \
|
||||||
|
)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Check if our build or target conforms to certain restrictions. This set of
|
||||||
|
# functions all work in similar ways, testing the property that the name
|
||||||
|
# implies, so e.g. isTargetCpu test the CPU of the target system.
|
||||||
|
#
|
||||||
|
# $1 - A property, or a space separated list of properties to test for.
|
||||||
|
#
|
||||||
|
# Returns true if the actual property matches one of the properties in the list,
|
||||||
|
# and false otherwise.
|
||||||
|
#
|
||||||
|
# Examples: $(call isTargetOs, linux windows) will return true when executed
|
||||||
|
# on either linux or windows, and false otherwise.
|
||||||
|
# $(call isBuildCpuArch, x86) will return true iff the build CPU Arch is x86.
|
||||||
|
|
||||||
|
isTargetOs = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_TARGET_OS), $1), true, false))
|
||||||
|
|
||||||
|
isTargetOsType = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_TARGET_OS_TYPE), $1), true, false))
|
||||||
|
|
||||||
|
isTargetCpu = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_TARGET_CPU), $1), true, false))
|
||||||
|
|
||||||
|
isTargetCpuArch = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_ARCH), $1), true, false))
|
||||||
|
|
||||||
|
isTargetCpuBits = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_BITS), $1), true, false))
|
||||||
|
|
||||||
|
isBuildOs = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_BUILD_OS), $1), true, false))
|
||||||
|
|
||||||
|
isBuildOsType = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_BUILD_OS_TYPE), $1), true, false))
|
||||||
|
|
||||||
|
isBuildOsEnv = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_BUILD_OS_ENV), $1), true, false))
|
||||||
|
|
||||||
|
isBuildCpu = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_BUILD_CPU), $1), true, false))
|
||||||
|
|
||||||
|
isBuildCpuArch = \
|
||||||
|
$(strip $(if $(filter $(OPENJDK_BUILD_CPU_ARCH), $1), true, false))
|
||||||
|
|
||||||
|
isCompiler = \
|
||||||
|
$(strip $(if $(filter $(TOOLCHAIN_TYPE), $1), true, false))
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# Common utility functions
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
### Debug functions
|
||||||
|
|
||||||
|
# Prints the name and value of a variable
|
||||||
|
PrintVar = \
|
||||||
|
$(info $(strip $1) >$($(strip $1))<)
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Strip both arguments. Append the first argument to the second argument. If the
|
# Strip both arguments. Append the first argument to the second argument. If the
|
||||||
# first argument is empty, return the empty string.
|
# first argument is empty, return the empty string.
|
||||||
IfAppend = \
|
IfAppend = \
|
||||||
$(if $(strip $1),$(strip $1)$(strip $2),)
|
$(if $(strip $1),$(strip $1)$(strip $2),)
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Replace question marks with space in string. This macro needs to be called on
|
|
||||||
# files from FindFiles in case any of them contains space in their file name,
|
|
||||||
# since FindFiles replaces space with ?.
|
|
||||||
# Param 1 - String to replace in
|
|
||||||
DecodeSpace = \
|
|
||||||
$(subst ?,$(SPACE),$(strip $1))
|
|
||||||
|
|
||||||
EncodeSpace = \
|
|
||||||
$(subst $(SPACE),?,$(strip $1))
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Assign a variable only if it is empty
|
# Assign a variable only if it is empty
|
||||||
# Param 1 - Variable to assign
|
# Param 1 - Variable to assign
|
||||||
@@ -92,65 +216,6 @@ EncodeSpace = \
|
|||||||
SetIfEmpty = \
|
SetIfEmpty = \
|
||||||
$(if $($(strip $1)),,$(eval $(strip $1) := $2))
|
$(if $($(strip $1)),,$(eval $(strip $1) := $2))
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Take two paths and return the path of the last common directory.
|
|
||||||
# Ex: /foo/bar/baz, /foo/bar/banan -> /foo/bar
|
|
||||||
# foo/bar/baz, /foo/bar -> <empty>
|
|
||||||
#
|
|
||||||
# The x prefix is used to preserve the presence of the initial slash
|
|
||||||
# On Windows paths are treated as case-insensitive
|
|
||||||
#
|
|
||||||
# $1 - Path to compare
|
|
||||||
# $2 - Other path to compare
|
|
||||||
FindCommonPathPrefix = \
|
|
||||||
$(call DecodeSpace,$(patsubst x%,%,$(subst $(SPACE),/,$(strip \
|
|
||||||
$(call FindCommonPathPrefixHelper1, \
|
|
||||||
$(subst /,$(SPACE),x$(call EncodeSpace,$(strip $1))), \
|
|
||||||
$(subst /,$(SPACE),x$(call EncodeSpace,$(strip $2)))) \
|
|
||||||
))))
|
|
||||||
|
|
||||||
FindCommonPathPrefixHelper1 = \
|
|
||||||
$(if $(filter $(OPENJDK_TARGET_OS), windows), \
|
|
||||||
$(call FindCommonPathPrefixHelper2,$(call uppercase,$1),$(call uppercase,$2),$1), \
|
|
||||||
$(call FindCommonPathPrefixHelper2,$1,$2,$1))
|
|
||||||
|
|
||||||
FindCommonPathPrefixHelper2 = \
|
|
||||||
$(if $(call equals, $(firstword $1), $(firstword $2)), \
|
|
||||||
$(if $(call equals, $(firstword $1),),, \
|
|
||||||
$(firstword $3) \
|
|
||||||
$(call FindCommonPathPrefixHelper2, \
|
|
||||||
$(wordlist 2, $(words $1), $1), \
|
|
||||||
$(wordlist 2, $(words $2), $2), \
|
|
||||||
$(wordlist 2, $(words $3), $3) \
|
|
||||||
) \
|
|
||||||
) \
|
|
||||||
)
|
|
||||||
|
|
||||||
# Computes the relative path from a directory to a file
|
|
||||||
# $1 - File to compute the relative path to
|
|
||||||
# $2 - Directory to compute the relative path from
|
|
||||||
RelativePath = \
|
|
||||||
$(call DecodeSpace,$(strip $(call RelativePathHelper,$(call EncodeSpace \
|
|
||||||
,$(strip $1)),$(call EncodeSpace \
|
|
||||||
,$(strip $2)),$(call EncodeSpace \
|
|
||||||
,$(call FindCommonPathPrefix,$1,$2)))))
|
|
||||||
|
|
||||||
RelativePathHelper = \
|
|
||||||
$(eval $3_prefix_length := $(words $(subst /,$(SPACE),$3))) \
|
|
||||||
$(eval $1_words := $(subst /,$(SPACE),$1)) \
|
|
||||||
$(eval $2_words := $(subst /,$(SPACE),$2)) \
|
|
||||||
$(if $(call equals,$($3_prefix_length),0),, \
|
|
||||||
$(eval $1_words := $(wordlist 2,$(words $($1_words)),$(wordlist \
|
|
||||||
$($3_prefix_length),$(words $($1_words)),$($1_words)))) \
|
|
||||||
$(eval $2_words := $(wordlist 2,$(words $($2_words)),$(wordlist \
|
|
||||||
$($3_prefix_length),$(words $($2_words)),$($2_words)))) \
|
|
||||||
) \
|
|
||||||
$(eval $1_suffix := $(subst $(SPACE),/,$($1_words))) \
|
|
||||||
$(eval $2_dotdots := $(subst $(SPACE),/,$(foreach d,$($2_words),..))) \
|
|
||||||
$(if $($1_suffix), \
|
|
||||||
$(if $($2_dotdots), $($2_dotdots)/$($1_suffix), $($1_suffix)), \
|
|
||||||
$(if $($2_dotdots), $($2_dotdots), .))
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Filter out duplicate sub strings while preserving order. Keeps the first occurrence.
|
# Filter out duplicate sub strings while preserving order. Keeps the first occurrence.
|
||||||
uniq = \
|
uniq = \
|
||||||
@@ -173,14 +238,6 @@ dups = \
|
|||||||
$(strip $(foreach v, $(sort $1), $(if $(filter-out 1, \
|
$(strip $(foreach v, $(sort $1), $(if $(filter-out 1, \
|
||||||
$(words $(filter $v, $1))), $v)))
|
$(words $(filter $v, $1))), $v)))
|
||||||
|
|
||||||
# String equals
|
|
||||||
equals = \
|
|
||||||
$(if $(strip $1)$(strip $2),$(strip \
|
|
||||||
$(and $(findstring $(strip $1),$(strip $2)),\
|
|
||||||
$(findstring $(strip $2),$(strip $1)))), \
|
|
||||||
true \
|
|
||||||
)
|
|
||||||
|
|
||||||
# Remove a whole list of prefixes
|
# Remove a whole list of prefixes
|
||||||
# $1 - List of prefixes
|
# $1 - List of prefixes
|
||||||
# $2 - List of elements to process
|
# $2 - List of elements to process
|
||||||
@@ -188,23 +245,6 @@ remove-prefixes = \
|
|||||||
$(strip $(if $1,$(patsubst $(firstword $1)%,%,\
|
$(strip $(if $1,$(patsubst $(firstword $1)%,%,\
|
||||||
$(call remove-prefixes,$(filter-out $(firstword $1),$1),$2)),$2))
|
$(call remove-prefixes,$(filter-out $(firstword $1),$1),$2)),$2))
|
||||||
|
|
||||||
# Convert the string given to upper case, without any $(shell)
|
|
||||||
# Inspired by http://lists.gnu.org/archive/html/help-make/2013-09/msg00009.html
|
|
||||||
uppercase_table := a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O \
|
|
||||||
p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z
|
|
||||||
|
|
||||||
uppercase_internal = \
|
|
||||||
$(if $(strip $1), $$(subst $(firstword $1), $(call uppercase_internal, \
|
|
||||||
$(wordlist 2, $(words $1), $1), $2)), $2)
|
|
||||||
|
|
||||||
# Convert a string to upper case. Works only on a-z.
|
|
||||||
# $1 - The string to convert
|
|
||||||
uppercase = \
|
|
||||||
$(strip \
|
|
||||||
$(eval uppercase_result := $(call uppercase_internal, $(uppercase_table), $1)) \
|
|
||||||
$(uppercase_result) \
|
|
||||||
)
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Boolean operators.
|
# Boolean operators.
|
||||||
|
|
||||||
@@ -290,14 +330,6 @@ define ParseKeywordVariableBody
|
|||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# ShellQuote
|
|
||||||
#
|
|
||||||
# Quotes a string with single quotes and replaces single quotes with '\'' so
|
|
||||||
# that the contents survives being given to the shell.
|
|
||||||
ShellQuote = \
|
|
||||||
$(SQUOTE)$(subst $(SQUOTE),$(SQUOTE)\$(SQUOTE)$(SQUOTE),$(strip $1))$(SQUOTE)
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Find lib dir for module
|
# Find lib dir for module
|
||||||
# Param 1 - module name
|
# Param 1 - module name
|
||||||
@@ -329,53 +361,6 @@ check-jvm-variant = \
|
|||||||
$(error Internal error: Invalid variant tested: $1)) \
|
$(error Internal error: Invalid variant tested: $1)) \
|
||||||
$(if $(filter $1, $(JVM_VARIANTS)), true, false))
|
$(if $(filter $1, $(JVM_VARIANTS)), true, false))
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Check if our build or target conforms to certain restrictions. This set of
|
|
||||||
# functions all work in similar ways, testing the property that the name
|
|
||||||
# implies, so e.g. isTargetCpu test the CPU of the target system.
|
|
||||||
#
|
|
||||||
# $1 - A property, or a space separated list of properties to test for.
|
|
||||||
#
|
|
||||||
# Returns true if the actual property matches one of the properties in the list,
|
|
||||||
# and false otherwise.
|
|
||||||
#
|
|
||||||
# Examples: $(call isTargetOs, linux windows) will return true when executed
|
|
||||||
# on either linux or windows, and false otherwise.
|
|
||||||
# $(call isBuildCpuArch, x86) will return true iff the build CPU Arch is x86.
|
|
||||||
|
|
||||||
isTargetOs = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_TARGET_OS), $1), true, false))
|
|
||||||
|
|
||||||
isTargetOsType = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_TARGET_OS_TYPE), $1), true, false))
|
|
||||||
|
|
||||||
isTargetCpu = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU), $1), true, false))
|
|
||||||
|
|
||||||
isTargetCpuArch = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_ARCH), $1), true, false))
|
|
||||||
|
|
||||||
isTargetCpuBits = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_BITS), $1), true, false))
|
|
||||||
|
|
||||||
isBuildOs = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS), $1), true, false))
|
|
||||||
|
|
||||||
isBuildOsType = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS_TYPE), $1), true, false))
|
|
||||||
|
|
||||||
isBuildOsEnv = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS_ENV), $1), true, false))
|
|
||||||
|
|
||||||
isBuildCpu = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_BUILD_CPU), $1), true, false))
|
|
||||||
|
|
||||||
isBuildCpuArch = \
|
|
||||||
$(strip $(if $(filter $(OPENJDK_BUILD_CPU_ARCH), $1), true, false))
|
|
||||||
|
|
||||||
isCompiler = \
|
|
||||||
$(strip $(if $(filter $(TOOLCHAIN_TYPE), $1), true, false))
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Converts a space separated list to a comma separated list.
|
# Converts a space separated list to a comma separated list.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
# questions.
|
# questions.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
|
|
||||||
LIB_DST_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)
|
LIB_DST_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)
|
||||||
CONF_DST_DIR := $(SUPPORT_OUTPUTDIR)/modules_conf/$(MODULE)
|
CONF_DST_DIR := $(SUPPORT_OUTPUTDIR)/modules_conf/$(MODULE)
|
||||||
LEGAL_DST_DIR := $(SUPPORT_OUTPUTDIR)/modules_legal/$(MODULE)
|
LEGAL_DST_DIR := $(SUPPORT_OUTPUTDIR)/modules_legal/$(MODULE)
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
# questions.
|
# questions.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
include CopyFiles.gmk
|
||||||
include JdkNativeCompilation.gmk
|
include JdkNativeCompilation.gmk
|
||||||
include Modules.gmk
|
include Modules.gmk
|
||||||
include ProcessMarkdown.gmk
|
include ProcessMarkdown.gmk
|
||||||
@@ -107,23 +108,8 @@ define SetupBuildLauncherBody
|
|||||||
))
|
))
|
||||||
|
|
||||||
$1_LDFLAGS += -sectcreate __TEXT __info_plist $$($1_PLIST_FILE)
|
$1_LDFLAGS += -sectcreate __TEXT __info_plist $$($1_PLIST_FILE)
|
||||||
|
|
||||||
ifeq ($(STATIC_BUILD), true)
|
|
||||||
$1_LDFLAGS += -exported_symbols_list \
|
|
||||||
$(SUPPORT_OUTPUTDIR)/build-static/exported.symbols
|
|
||||||
$1_LIBS += \
|
|
||||||
$$(shell $(FIND) $(SUPPORT_OUTPUTDIR)/modules_libs/java.base -name "*.a") \
|
|
||||||
$(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/libdt_socket.a \
|
|
||||||
$(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/libjdwp.a \
|
|
||||||
-framework CoreFoundation \
|
|
||||||
-framework Foundation \
|
|
||||||
-framework SystemConfiguration \
|
|
||||||
-lstdc++ -liconv
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$1_WINDOWS_JLI_LIB := $(call FindStaticLib, java.base, jli, /libjli)
|
|
||||||
|
|
||||||
$1_EXTRA_FILES := $(LAUNCHER_SRC)/main.c
|
$1_EXTRA_FILES := $(LAUNCHER_SRC)/main.c
|
||||||
|
|
||||||
ifeq ($(ASAN_ENABLED), true)
|
ifeq ($(ASAN_ENABLED), true)
|
||||||
@@ -134,6 +120,10 @@ define SetupBuildLauncherBody
|
|||||||
$1_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
|
$1_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
## Build launcher "$1"
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
$$(eval $$(call SetupJdkExecutable, BUILD_LAUNCHER_$1, \
|
$$(eval $$(call SetupJdkExecutable, BUILD_LAUNCHER_$1, \
|
||||||
NAME := $1, \
|
NAME := $1, \
|
||||||
EXTRA_FILES := $$($1_EXTRA_FILES), \
|
EXTRA_FILES := $$($1_EXTRA_FILES), \
|
||||||
@@ -144,19 +134,13 @@ define SetupBuildLauncherBody
|
|||||||
-DPROGNAME='"$1"' \
|
-DPROGNAME='"$1"' \
|
||||||
$$($1_CFLAGS), \
|
$$($1_CFLAGS), \
|
||||||
CFLAGS_windows := $$($1_CFLAGS_windows), \
|
CFLAGS_windows := $$($1_CFLAGS_windows), \
|
||||||
|
EXTRA_HEADER_DIRS := java.base:libjvm, \
|
||||||
DISABLED_WARNINGS_gcc := unused-function, \
|
DISABLED_WARNINGS_gcc := unused-function, \
|
||||||
LDFLAGS := $$($1_LDFLAGS), \
|
LDFLAGS := $$($1_LDFLAGS), \
|
||||||
LDFLAGS_linux := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
|
LDFLAGS_linux := $$(call SET_EXECUTABLE_ORIGIN,/../lib), \
|
||||||
-L$(call FindLibDirForModule, java.base), \
|
LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN,/../lib), \
|
||||||
LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
|
JDK_LIBS := java.base:libjli, \
|
||||||
-L$(call FindLibDirForModule, java.base), \
|
JDK_LIBS_windows := java.base:libjava, \
|
||||||
LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
|
|
||||||
JDK_LIBS_linux := -ljli, \
|
|
||||||
JDK_LIBS_macosx := -ljli, \
|
|
||||||
JDK_LIBS_aix := -ljli_static, \
|
|
||||||
JDK_LIBS_windows := \
|
|
||||||
$(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib \
|
|
||||||
$$($1_WINDOWS_JLI_LIB), \
|
|
||||||
LIBS := $$($1_LIBS), \
|
LIBS := $$($1_LIBS), \
|
||||||
LIBS_unix := $(LIBZ_LIBS), \
|
LIBS_unix := $(LIBZ_LIBS), \
|
||||||
LIBS_linux := $(LIBDL) -lpthread, \
|
LIBS_linux := $(LIBDL) -lpthread, \
|
||||||
@@ -176,15 +160,6 @@ define SetupBuildLauncherBody
|
|||||||
|
|
||||||
$$(BUILD_LAUNCHER_$1): $$(BUILD_PLIST_$1)
|
$$(BUILD_LAUNCHER_$1): $$(BUILD_PLIST_$1)
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, aix), true)
|
|
||||||
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, jli_static)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
|
||||||
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, java, /libjava) \
|
|
||||||
$$($1_WINDOWS_JLI_LIB)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, macosx), true)
|
ifeq ($(call isTargetOs, macosx), true)
|
||||||
$$(BUILD_LAUNCHER_$1): $$($1_PLIST_FILE)
|
$$(BUILD_LAUNCHER_$1): $$($1_PLIST_FILE)
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -24,14 +24,3 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
include JdkNativeCompilation.gmk
|
include JdkNativeCompilation.gmk
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Absolute paths to lib files on windows for use in LIBS. Should figure out a more
|
|
||||||
# elegant solution to this.
|
|
||||||
WIN_JAVA_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
|
|
||||||
|
|
||||||
# Put the libraries here.
|
|
||||||
INSTALL_LIBRARIES_HERE := $(call FindLibDirForModule, $(MODULE))
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|||||||
@@ -36,47 +36,35 @@ define CreateDebugSymbols
|
|||||||
$1_ZIP_EXTERNAL_DEBUG_SYMBOLS := $(ZIP_EXTERNAL_DEBUG_SYMBOLS)
|
$1_ZIP_EXTERNAL_DEBUG_SYMBOLS := $(ZIP_EXTERNAL_DEBUG_SYMBOLS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$1_CREATE_DEBUGINFO := false
|
||||||
ifeq ($$($1_COPY_DEBUG_SYMBOLS), true)
|
ifeq ($$($1_COPY_DEBUG_SYMBOLS), true)
|
||||||
ifneq ($$($1_DEBUG_SYMBOLS), false)
|
ifneq ($$($1_DEBUG_SYMBOLS), false)
|
||||||
$$(call SetIfEmpty, $1_SYMBOLS_DIR, $$($1_OUTPUT_DIR))
|
$$(call SetIfEmpty, $1_SYMBOLS_DIR, $$($1_OUTPUT_DIR))
|
||||||
# Only copy debug symbols for dynamic libraries and programs.
|
# Only copy debug symbols for dynamic libraries and programs.
|
||||||
ifneq ($$($1_TYPE), STATIC_LIBRARY)
|
ifneq ($$($1_TYPE), STATIC_LIBRARY)
|
||||||
# Generate debuginfo files.
|
$1_CREATE_DEBUGINFO := true
|
||||||
|
|
||||||
|
# Setup where the platform specific debuginfo files end up
|
||||||
|
ifeq ($(call isTargetOs, windows), true)
|
||||||
|
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_BASENAME).pdb \
|
||||||
|
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).map
|
||||||
|
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_BASENAME).diz
|
||||||
|
else ifeq ($(call isTargetOs, macosx), true)
|
||||||
|
$1_DEBUGINFO_FILES := \
|
||||||
|
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM/Contents/Info.plist \
|
||||||
|
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM/Contents/Resources/DWARF/$$($1_BASENAME)
|
||||||
|
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).diz
|
||||||
|
else ifeq ($(call isTargetOsType, unix), true)
|
||||||
|
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
|
||||||
|
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).diz
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
ifeq ($(call isTargetOs, windows), true)
|
||||||
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_SYMBOLS_DIR)/$$($1_BASENAME).pdb" \
|
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_SYMBOLS_DIR)/$$($1_BASENAME).pdb" \
|
||||||
"-map:$$($1_SYMBOLS_DIR)/$$($1_BASENAME).map"
|
"-map:$$($1_SYMBOLS_DIR)/$$($1_BASENAME).map"
|
||||||
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
|
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
|
||||||
$1_EXTRA_LDFLAGS += "-pdbstripped:$$($1_SYMBOLS_DIR)/$$($1_BASENAME).stripped.pdb"
|
$1_EXTRA_LDFLAGS += "-pdbstripped:$$($1_SYMBOLS_DIR)/$$($1_BASENAME).stripped.pdb"
|
||||||
endif
|
endif
|
||||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_BASENAME).pdb \
|
|
||||||
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).map
|
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, linux), true)
|
|
||||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
|
|
||||||
# Setup the command line creating debuginfo files, to be run after linking.
|
|
||||||
# It cannot be run separately since it updates the original target file
|
|
||||||
# Creating the debuglink is done in another command rather than all at once
|
|
||||||
# so we can run it after strip is called, since strip can sometimes mangle the
|
|
||||||
# embedded debuglink, which we want to avoid.
|
|
||||||
$1_CREATE_DEBUGINFO_CMDS := \
|
|
||||||
$$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) && \
|
|
||||||
$$(CHMOD) -x $$($1_DEBUGINFO_FILES)
|
|
||||||
$1_CREATE_DEBUGLINK_CMDS := $(CD) $$($1_SYMBOLS_DIR) && \
|
|
||||||
$$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
|
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, aix), true)
|
|
||||||
# AIX does not provide the equivalent of OBJCOPY to extract debug symbols,
|
|
||||||
# so we copy the compiled object with symbols to the .debuginfo file, which
|
|
||||||
# happens prior to the STRIP_CMD on the original target object file.
|
|
||||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
|
|
||||||
$1_CREATE_DEBUGINFO_CMDS := $(CP) $$($1_TARGET) $$($1_DEBUGINFO_FILES)
|
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, macosx), true)
|
|
||||||
$1_DEBUGINFO_FILES := \
|
|
||||||
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM/Contents/Info.plist \
|
|
||||||
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM/Contents/Resources/DWARF/$$($1_BASENAME)
|
|
||||||
$1_CREATE_DEBUGINFO_CMDS := \
|
|
||||||
$(DSYMUTIL) --out $$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM $$($1_TARGET)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Since the link rule creates more than one file that we want to track,
|
# Since the link rule creates more than one file that we want to track,
|
||||||
@@ -98,19 +86,13 @@ define CreateDebugSymbols
|
|||||||
$1 += $$($1_DEBUGINFO_FILES)
|
$1 += $$($1_DEBUGINFO_FILES)
|
||||||
|
|
||||||
ifeq ($$($1_ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
|
ifeq ($$($1_ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
|
||||||
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_BASENAME).diz
|
|
||||||
else
|
|
||||||
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).diz
|
|
||||||
endif
|
|
||||||
$1 += $$($1_DEBUGINFO_ZIP)
|
|
||||||
|
|
||||||
# The dependency on TARGET is needed for debuginfo files
|
# The dependency on TARGET is needed for debuginfo files
|
||||||
# to be rebuilt properly.
|
# to be rebuilt properly.
|
||||||
$$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET)
|
$$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET)
|
||||||
$(CD) $$($1_SYMBOLS_DIR) && \
|
$(CD) $$($1_SYMBOLS_DIR) && \
|
||||||
$(ZIPEXE) -q -r $$@ $$(subst $$($1_SYMBOLS_DIR)/,, $$($1_DEBUGINFO_FILES))
|
$(ZIPEXE) -q -r $$@ $$(subst $$($1_SYMBOLS_DIR)/,, $$($1_DEBUGINFO_FILES))
|
||||||
|
|
||||||
|
$1 += $$($1_DEBUGINFO_ZIP)
|
||||||
endif
|
endif
|
||||||
endif # !STATIC_LIBRARY
|
endif # !STATIC_LIBRARY
|
||||||
endif # $1_DEBUG_SYMBOLS != false
|
endif # $1_DEBUG_SYMBOLS != false
|
||||||
|
|||||||
@@ -52,12 +52,9 @@ define SetupLinking
|
|||||||
# being copied.
|
# being copied.
|
||||||
$$(call SetIfEmpty, $1_STRIP_SYMBOLS, $$($1_COPY_DEBUG_SYMBOLS))
|
$$(call SetIfEmpty, $1_STRIP_SYMBOLS, $$($1_COPY_DEBUG_SYMBOLS))
|
||||||
|
|
||||||
ifneq ($$($1_STRIP_SYMBOLS), false)
|
# Default to using the global STRIPFLAGS. Allow for overriding with an
|
||||||
# Default to using the global STRIPFLAGS. Allow for overriding with an
|
# empty value
|
||||||
# empty value
|
$1_STRIPFLAGS ?= $(STRIPFLAGS)
|
||||||
$1_STRIPFLAGS ?= $(STRIPFLAGS)
|
|
||||||
$1_STRIP_CMD := $$($1_STRIP) $$($1_STRIPFLAGS) $$($1_TARGET)
|
|
||||||
endif
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -78,7 +75,7 @@ define CreateStaticLibrary
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$1_VARDEPS := $$($1_AR) $$(ARFLAGS) $$($1_ARFLAGS) $$($1_LIBS) \
|
$1_VARDEPS := $$($1_AR) $$(ARFLAGS) $$($1_LIBS) \
|
||||||
$$($1_EXTRA_LIBS)
|
$$($1_EXTRA_LIBS)
|
||||||
ifeq ($$($1_ENABLE_PARTIAL_LINKING), true)
|
ifeq ($$($1_ENABLE_PARTIAL_LINKING), true)
|
||||||
$1_VARDEPS += $$($1_LD) $$($1_SYSROOT_LDFLAGS)
|
$1_VARDEPS += $$($1_LD) $$($1_SYSROOT_LDFLAGS)
|
||||||
@@ -86,7 +83,7 @@ define CreateStaticLibrary
|
|||||||
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
||||||
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
||||||
|
|
||||||
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_VARDEPS_FILE)
|
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_EXTRA_LINK_DEPS) $$($1_VARDEPS_FILE)
|
||||||
|
|
||||||
$1_AR_OBJ_ARG := $$($1_LD_OBJ_ARG)
|
$1_AR_OBJ_ARG := $$($1_LD_OBJ_ARG)
|
||||||
# With clang on linux, partial linking is enabled and 'AR' takes the output
|
# With clang on linux, partial linking is enabled and 'AR' takes the output
|
||||||
@@ -109,22 +106,14 @@ define CreateStaticLibrary
|
|||||||
# Do partial linking.
|
# Do partial linking.
|
||||||
ifeq ($$($1_ENABLE_PARTIAL_LINKING), true)
|
ifeq ($$($1_ENABLE_PARTIAL_LINKING), true)
|
||||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_partial_link, \
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_partial_link, \
|
||||||
$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
||||||
$$($1_LD) $(LDFLAGS_CXX_PARTIAL_LINKING) $$($1_SYSROOT_LDFLAGS) \
|
$$($1_LD) $(LDFLAGS_CXX_PARTIAL_LINKING) $$($1_SYSROOT_LDFLAGS) \
|
||||||
-o $$($1_TARGET_RELOCATABLE) \
|
-o $$($1_TARGET_RELOCATABLE) $$($1_LD_OBJ_ARG))
|
||||||
$$($1_LD_OBJ_ARG))
|
|
||||||
endif
|
endif
|
||||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_run_ar, \
|
||||||
$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
||||||
$$($1_AR) $$(ARFLAGS) $$($1_ARFLAGS) -r -cs $$($1_TARGET) \
|
$$($1_AR) $$(ARFLAGS) -r -cs $$($1_TARGET) \
|
||||||
$$($1_AR_OBJ_ARG) $$($1_RES))
|
$$($1_AR_OBJ_ARG) $$($1_RES))
|
||||||
ifeq ($(STATIC_BUILD), true)
|
|
||||||
$(RM) $$(@D)/$$(basename $$(@F)).symbols; \
|
|
||||||
$(ECHO) "Getting symbols from nm"; \
|
|
||||||
$(NM) $(NMFLAGS) -m $$($1_TARGET) | $(GREP) "__TEXT" | \
|
|
||||||
$(EGREP) -v "non-external|private extern|__TEXT,__eh_frame" | \
|
|
||||||
$(SED) -e 's/.* //' > $$(@D)/$$(basename $$(@F)).symbols
|
|
||||||
endif
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@@ -135,13 +124,20 @@ define CreateDynamicLibraryOrExecutable
|
|||||||
$1_EXTRA_LDFLAGS += $$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
|
$1_EXTRA_LDFLAGS += $$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
|
||||||
|
$1_CODESIGN_OPTS := "$(MACOSX_CODESIGN_IDENTITY)" --timestamp \
|
||||||
|
--options runtime
|
||||||
|
else ifeq ($(MACOSX_CODESIGN_MODE), debug)
|
||||||
|
$1_CODESIGN_OPTS := -
|
||||||
|
endif
|
||||||
|
|
||||||
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) \
|
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) \
|
||||||
$$($1_EXTRA_LDFLAGS) $$($1_LIBS) $$($1_EXTRA_LIBS) \
|
$$($1_EXTRA_LDFLAGS) $$($1_LIBS) $$($1_EXTRA_LIBS) \
|
||||||
$$($1_CREATE_DEBUGINFO_CMDS) $$($1_STRIP_CMD) $$($1_CREATE_DEBUGLINK_CMDS)
|
$$($1_DEBUGINFO_FILES) $$($1_STRIPFLAGS)
|
||||||
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
||||||
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
||||||
|
|
||||||
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_VARDEPS_FILE)
|
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_EXTRA_LINK_DEPS) $$($1_VARDEPS_FILE)
|
||||||
|
|
||||||
$$($1_TARGET): $$($1_TARGET_DEPS)
|
$$($1_TARGET): $$($1_TARGET_DEPS)
|
||||||
ifneq ($$($1_OBJ_FILE_LIST), )
|
ifneq ($$($1_OBJ_FILE_LIST), )
|
||||||
@@ -153,25 +149,48 @@ define CreateDynamicLibraryOrExecutable
|
|||||||
endif
|
endif
|
||||||
$$(call LogInfo, Linking $$($1_BASENAME))
|
$$(call LogInfo, Linking $$($1_BASENAME))
|
||||||
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
|
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
|
||||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_run_ld, \
|
||||||
$$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
$$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
||||||
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
|
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
|
||||||
$$($1_SYSROOT_LDFLAGS) -o $$($1_TARGET) $$($1_LD_OBJ_ARG) \
|
$$($1_SYSROOT_LDFLAGS) -o $$($1_TARGET) $$($1_LD_OBJ_ARG) \
|
||||||
$$($1_LIBS) $$($1_EXTRA_LIBS))
|
$$($1_LIBS) $$($1_EXTRA_LIBS))
|
||||||
$$($1_CREATE_DEBUGINFO_CMDS)
|
ifeq ($$($1_CREATE_DEBUGINFO), true)
|
||||||
$$($1_STRIP_CMD)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
$$($1_CREATE_DEBUGLINK_CMDS)
|
# This cannot be run separately since it updates the original target
|
||||||
# On macosx, optionally run codesign on every binary.
|
# file.
|
||||||
# Remove signature explicitly first to avoid warnings if the linker
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_create_debuginfo, \
|
||||||
# added a default adhoc signature.
|
$$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES))
|
||||||
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
|
$$(CHMOD) -x $$($1_DEBUGINFO_FILES)
|
||||||
$(CODESIGN) --remove-signature $$@
|
else ifeq ($(call isTargetOs, aix), true)
|
||||||
$(CODESIGN) -f -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp \
|
# AIX does not provide the equivalent of objcopy to extract debug
|
||||||
--options runtime --entitlements \
|
# symbols, so we copy unstripped library instead.
|
||||||
$$(call GetEntitlementsFile, $$@) $$@
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_create_debuginfo, \
|
||||||
else ifeq ($(MACOSX_CODESIGN_MODE), debug)
|
$(CP) $$($1_TARGET) $$($1_DEBUGINFO_FILES))
|
||||||
$(CODESIGN) --remove-signature $$@
|
else ifeq ($(call isTargetOs, macosx), true)
|
||||||
$(CODESIGN) -f -s - --entitlements \
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_create_debuginfo, \
|
||||||
$$(call GetEntitlementsFile, $$@) $$@
|
$(DSYMUTIL) --out $$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM $$($1_TARGET))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifneq ($$($1_STRIP_SYMBOLS), false)
|
||||||
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_strip, \
|
||||||
|
$$($1_STRIP) $$($1_STRIPFLAGS) $$($1_TARGET))
|
||||||
|
endif
|
||||||
|
ifeq ($$($1_CREATE_DEBUGINFO), true)
|
||||||
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
|
# Run this after strip is called, since strip can sometimes mangle
|
||||||
|
# the embedded debuglink, which we want to avoid.
|
||||||
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_add_debuginfo_link, \
|
||||||
|
$(CD) $$($1_SYMBOLS_DIR) && \
|
||||||
|
$$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
ifneq ($(MACOSX_CODESIGN_MODE), disabled)
|
||||||
|
# Remove signature explicitly first to avoid warnings if the linker
|
||||||
|
# added a default adhoc signature.
|
||||||
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_codesign_clear, \
|
||||||
|
$(CODESIGN) --remove-signature $$@)
|
||||||
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_codesign_add, \
|
||||||
|
$(CODESIGN) -f -s $$($1_CODESIGN_OPTS) --entitlements \
|
||||||
|
$$(call GetEntitlementsFile, $$@) $$@)
|
||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
|||||||
@@ -38,19 +38,22 @@ endef
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
define CreateStaticLibraryMicrosoft
|
define CreateStaticLibraryMicrosoft
|
||||||
$1_VARDEPS := $$($1_LIB) $$(LIBFLAGS) $$($1_LIBFLAGS) $$($1_LIBS) \
|
$1_VARDEPS := $$($1_LIB) $$(LIBFLAGS) $$($1_LIBS) \
|
||||||
$$($1_EXTRA_LIBS)
|
$$($1_EXTRA_LIBS)
|
||||||
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
||||||
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
||||||
|
|
||||||
$$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_VARDEPS_FILE)
|
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_RES) $$($1_EXTRA_LINK_DEPS) \
|
||||||
|
$$($1_VARDEPS_FILE)
|
||||||
|
|
||||||
|
$$($1_TARGET): $$($1_TARGET_DEPS)
|
||||||
ifneq ($$($1_OBJ_FILE_LIST), )
|
ifneq ($$($1_OBJ_FILE_LIST), )
|
||||||
$$(eval $$(call ListPathsSafely, $1_ALL_OBJS, $$($1_OBJ_FILE_LIST)))
|
$$(eval $$(call ListPathsSafely, $1_ALL_OBJS, $$($1_OBJ_FILE_LIST)))
|
||||||
endif
|
endif
|
||||||
$$(call LogInfo, Building static library $$($1_BASENAME))
|
$$(call LogInfo, Building static library $$($1_BASENAME))
|
||||||
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
|
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
|
||||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_run_lib, \
|
||||||
$$($1_LIB) -nologo $$(LIBFLAGS) $$($1_LIBFLAGS) -out:$$($1_TARGET) \
|
$$($1_LIB) -nologo $$(LIBFLAGS) -out:$$($1_TARGET) \
|
||||||
$$($1_LD_OBJ_ARG) $$($1_RES))
|
$$($1_LD_OBJ_ARG) $$($1_RES))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
@@ -87,7 +90,7 @@ define CreateDynamicLibraryOrExecutableMicrosoft
|
|||||||
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
||||||
|
|
||||||
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_RES) $$($1_MANIFEST) \
|
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_RES) $$($1_MANIFEST) \
|
||||||
$$($1_VARDEPS_FILE)
|
$$($1_EXTRA_LINK_DEPS) $$($1_VARDEPS_FILE)
|
||||||
|
|
||||||
$$($1_TARGET): $$($1_TARGET_DEPS)
|
$$($1_TARGET): $$($1_TARGET_DEPS)
|
||||||
ifneq ($$($1_OBJ_FILE_LIST), )
|
ifneq ($$($1_OBJ_FILE_LIST), )
|
||||||
@@ -95,7 +98,7 @@ define CreateDynamicLibraryOrExecutableMicrosoft
|
|||||||
endif
|
endif
|
||||||
$$(call LogInfo, Linking $$($1_BASENAME))
|
$$(call LogInfo, Linking $$($1_BASENAME))
|
||||||
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
|
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
|
||||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_run_ld, \
|
||||||
$$($1_LD) -nologo $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
|
$$($1_LD) -nologo $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
|
||||||
$$($1_SYSROOT_LDFLAGS) -out:$$($1_TARGET) $$($1_LD_OBJ_ARG) \
|
$$($1_SYSROOT_LDFLAGS) -out:$$($1_TARGET) $$($1_LD_OBJ_ARG) \
|
||||||
$$($1_RES) $$($1_LIBS) $$($1_EXTRA_LIBS)) \
|
$$($1_RES) $$($1_LIBS) $$($1_EXTRA_LIBS)) \
|
||||||
|
|||||||
@@ -29,17 +29,17 @@ GTEST_VERSION=1.14.0
|
|||||||
JTREG_VERSION=7.3.1+1
|
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://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz
|
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk22/830ec9fcccef480bb3e73fb7ecafe059/36/GPL/openjdk-22_linux-x64_bin.tar.gz
|
||||||
LINUX_X64_BOOT_JDK_SHA256=a30c454a9bef8f46d5f1bf3122830014a8fbe7ac03b5f8729bc3add4b92a1d0a
|
LINUX_X64_BOOT_JDK_SHA256=4d65cc6ed28711768fd72c2043a7925f7c83f5f51bb64970bd9d52f7791fc6ac
|
||||||
|
|
||||||
MACOS_X64_BOOT_JDK_EXT=tar.gz
|
MACOS_X64_BOOT_JDK_EXT=tar.gz
|
||||||
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_macos-x64_bin.tar.gz
|
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk22/830ec9fcccef480bb3e73fb7ecafe059/36/GPL/openjdk-22_macos-x64_bin.tar.gz
|
||||||
MACOS_X64_BOOT_JDK_SHA256=af32e84c11009f72f783fdcdc9917efc277893988f097e198e2576875d1e88c1
|
MACOS_X64_BOOT_JDK_SHA256=ae31fe10916429e3fe284266095067a5ce9fecbdc03ff1a079d20459f731ca36
|
||||||
|
|
||||||
MACOS_AARCH64_BOOT_JDK_EXT=tar.gz
|
MACOS_AARCH64_BOOT_JDK_EXT=tar.gz
|
||||||
MACOS_AARCH64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_macos-aarch64_bin.tar.gz
|
MACOS_AARCH64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk22/830ec9fcccef480bb3e73fb7ecafe059/36/GPL/openjdk-22_macos-aarch64_bin.tar.gz
|
||||||
MACOS_AARCH64_BOOT_JDK_SHA256=f12e1e0a2dffc847951598f597c8ee60fb0913932f24b2b09c62cfd2f0f4dfb9
|
MACOS_AARCH64_BOOT_JDK_SHA256=d10f82429d01047968c52c7975c326388cb5d212791e14c1de21c987463a4b53
|
||||||
|
|
||||||
WINDOWS_X64_BOOT_JDK_EXT=zip
|
WINDOWS_X64_BOOT_JDK_EXT=zip
|
||||||
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_windows-x64_bin.zip
|
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk22/830ec9fcccef480bb3e73fb7ecafe059/36/GPL/openjdk-22_windows-x64_bin.zip
|
||||||
WINDOWS_X64_BOOT_JDK_SHA256=5434faaf029e66e7ce6e75770ca384de476750984a7d2881ef7686894c4b4944
|
WINDOWS_X64_BOOT_JDK_SHA256=8f5138fecb53c08c20abd4fa6812f9400051f3852582a2142ffda0dff73a5824
|
||||||
|
|||||||
@@ -390,8 +390,8 @@ var getJibProfilesCommon = function (input, data) {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
common.boot_jdk_version = "21";
|
common.boot_jdk_version = "22";
|
||||||
common.boot_jdk_build_number = "35";
|
common.boot_jdk_build_number = "36";
|
||||||
common.boot_jdk_home = input.get("boot_jdk", "install_path") + "/jdk-"
|
common.boot_jdk_home = input.get("boot_jdk", "install_path") + "/jdk-"
|
||||||
+ common.boot_jdk_version
|
+ common.boot_jdk_version
|
||||||
+ (input.build_os == "macosx" ? ".jdk/Contents/Home" : "");
|
+ (input.build_os == "macosx" ? ".jdk/Contents/Home" : "");
|
||||||
|
|||||||
@@ -120,6 +120,7 @@ NATIVE_ACCESS_MODULES= \
|
|||||||
jdk.dynalink \
|
jdk.dynalink \
|
||||||
jdk.httpserver \
|
jdk.httpserver \
|
||||||
jdk.incubator.vector \
|
jdk.incubator.vector \
|
||||||
|
jdk.internal.le \
|
||||||
jdk.internal.vm.ci \
|
jdk.internal.vm.ci \
|
||||||
jdk.jfr \
|
jdk.jfr \
|
||||||
jdk.jsobject \
|
jdk.jsobject \
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2023, 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
|
||||||
@@ -37,6 +37,6 @@ DEFAULT_VERSION_DATE=2024-09-17
|
|||||||
DEFAULT_VERSION_CLASSFILE_MAJOR=67 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
DEFAULT_VERSION_CLASSFILE_MAJOR=67 # "`$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
|
||||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="21 22 23"
|
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="22 23"
|
||||||
DEFAULT_JDK_SOURCE_TARGET_VERSION=23
|
DEFAULT_JDK_SOURCE_TARGET_VERSION=23
|
||||||
DEFAULT_PROMOTED_VERSION_PRE=ea
|
DEFAULT_PROMOTED_VERSION_PRE=ea
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
UNICODE LICENSE V3
|
UNICODE LICENSE V3
|
||||||
|
|
||||||
COPYRIGHT AND PERMISSION NOTICE
|
COPYRIGHT AND PERMISSION NOTICE
|
||||||
|
|
||||||
Copyright © 2019-2023 Unicode, Inc.
|
Copyright © 1991-2024 Unicode, Inc.
|
||||||
|
|
||||||
NOTICE TO USER: Carefully read the following legal agreement. BY
|
NOTICE TO USER: Carefully read the following legal agreement. BY
|
||||||
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
||||||
@@ -37,3 +37,5 @@ Except as contained in this notice, the name of a copyright holder shall
|
|||||||
not be used in advertising or otherwise to promote the sale, use or other
|
not be used in advertising or otherwise to promote the sale, use or other
|
||||||
dealings in these Data Files or Software without prior written
|
dealings in these Data Files or Software without prior written
|
||||||
authorization of the copyright holder.
|
authorization of the copyright holder.
|
||||||
|
|
||||||
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
CLDR - Unicode Common Locale Data Repository
|
|
||||||
http://cldr.unicode.org
|
|
||||||
|
|
||||||
CLDR version installed: 44
|
|
||||||
10
make/data/cldr/README-common.md
Normal file
10
make/data/cldr/README-common.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# CLDR Common Data
|
||||||
|
|
||||||
|
This zipfile contains [CLDR](http://cldr.unicode.org) Common Data.
|
||||||
|
|
||||||
|
## LICENSE
|
||||||
|
|
||||||
|
See [LICENSE.txt](./LICENSE.txt)
|
||||||
|
|
||||||
|
>Copyright © 2019-2022 Unicode, Inc. All rights reserved.
|
||||||
|
>Distributed under the Terms of Use in https://www.unicode.org/copyright.html
|
||||||
@@ -21,7 +21,7 @@ For terms of use, see http://www.unicode.org/copyright.html
|
|||||||
<type name="phonebk" description="Phonebook style ordering (such as in German)" alias="phonebook"/>
|
<type name="phonebk" description="Phonebook style ordering (such as in German)" alias="phonebook"/>
|
||||||
<type name="phonetic" description="Phonetic ordering (sorting based on pronunciation)"/>
|
<type name="phonetic" description="Phonetic ordering (sorting based on pronunciation)"/>
|
||||||
<type name="pinyin" description="Pinyin ordering for Latin and for CJK characters (used in Chinese)"/>
|
<type name="pinyin" description="Pinyin ordering for Latin and for CJK characters (used in Chinese)"/>
|
||||||
<type name="reformed" description="Reformed ordering (such as in Swedish)"/>
|
<type name="reformed" description="Reformed ordering (such as in Swedish)" deprecated="true"/>
|
||||||
<type name="search" description="Special collation type for string search" since="1.9"/>
|
<type name="search" description="Special collation type for string search" since="1.9"/>
|
||||||
<type name="searchjl" description="Special collation type for Korean initial consonant search" since="2.0.1"/>
|
<type name="searchjl" description="Special collation type for Korean initial consonant search" since="2.0.1"/>
|
||||||
<type name="standard" description="Default ordering for each language"/>
|
<type name="standard" description="Default ordering for each language"/>
|
||||||
|
|||||||
@@ -291,6 +291,7 @@ For terms of use, see http://www.unicode.org/copyright.html
|
|||||||
<type name="xbc" description="European Unit of Account (XBC)" since="1.9"/>
|
<type name="xbc" description="European Unit of Account (XBC)" since="1.9"/>
|
||||||
<type name="xbd" description="European Unit of Account (XBD)" since="1.9"/>
|
<type name="xbd" description="European Unit of Account (XBD)" since="1.9"/>
|
||||||
<type name="xcd" description="East Caribbean Dollar"/>
|
<type name="xcd" description="East Caribbean Dollar"/>
|
||||||
|
<type name="xcg" description="Caribbean Guilder"/>
|
||||||
<type name="xdr" description="Special Drawing Rights" since="1.9"/>
|
<type name="xdr" description="Special Drawing Rights" since="1.9"/>
|
||||||
<type name="xeu" description="European Currency Unit" since="1.9"/>
|
<type name="xeu" description="European Currency Unit" since="1.9"/>
|
||||||
<type name="xfo" description="French Gold Franc" since="1.9"/>
|
<type name="xfo" description="French Gold Franc" since="1.9"/>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 1991-2023 Unicode, Inc.
|
Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
|||||||
<!ATTLIST version number CDATA #REQUIRED >
|
<!ATTLIST version number CDATA #REQUIRED >
|
||||||
<!--@MATCH:regex/\$Revision.*\$-->
|
<!--@MATCH:regex/\$Revision.*\$-->
|
||||||
<!--@METADATA-->
|
<!--@METADATA-->
|
||||||
<!ATTLIST version cldrVersion CDATA #FIXED "44" >
|
<!ATTLIST version cldrVersion CDATA #FIXED "45" >
|
||||||
<!--@MATCH:any-->
|
<!--@MATCH:any-->
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
<!ATTLIST version draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
<!ATTLIST version draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Copyright © 1991-2023 Unicode, Inc.
|
Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||||
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
|
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
|
||||||
@@ -128,10 +128,10 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
<xs:element name="version">
|
<xs:element name="version">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:attribute name="number" use="required"/>
|
<xs:attribute name="number" use="required"/>
|
||||||
<xs:attribute default="44" name="cldrVersion">
|
<xs:attribute default="45" name="cldrVersion">
|
||||||
<xs:simpleType>
|
<xs:simpleType>
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
<xs:enumeration value="44"/>
|
<xs:enumeration value="45"/>
|
||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:attribute>
|
</xs:attribute>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 1991-2023 Unicode, Inc.
|
Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
|||||||
<!ATTLIST version number CDATA #REQUIRED >
|
<!ATTLIST version number CDATA #REQUIRED >
|
||||||
<!--@MATCH:regex/\$Revision.*\$-->
|
<!--@MATCH:regex/\$Revision.*\$-->
|
||||||
<!--@METADATA-->
|
<!--@METADATA-->
|
||||||
<!ATTLIST version cldrVersion CDATA #FIXED "44" >
|
<!ATTLIST version cldrVersion CDATA #FIXED "45" >
|
||||||
<!--@MATCH:version-->
|
<!--@MATCH:version-->
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Copyright © 1991-2023 Unicode, Inc.
|
Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||||
<xs:element name="ldmlBCP47">
|
<xs:element name="ldmlBCP47">
|
||||||
@@ -24,10 +24,10 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
<xs:element name="version">
|
<xs:element name="version">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:attribute name="number" use="required"/>
|
<xs:attribute name="number" use="required"/>
|
||||||
<xs:attribute default="44" name="cldrVersion">
|
<xs:attribute default="45" name="cldrVersion">
|
||||||
<xs:simpleType>
|
<xs:simpleType>
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
<xs:enumeration value="44"/>
|
<xs:enumeration value="45"/>
|
||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:attribute>
|
</xs:attribute>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 1991-2021 Unicode, Inc.
|
Copyright © 1991-2021 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 1991-2023 Unicode, Inc.
|
Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!ELEMENT supplementalData ( version, generation?, cldrVersion?, currencyData?, territoryContainment?, subdivisionContainment?, languageData?, territoryInfo?, postalCodeData?, calendarData?, calendarPreferenceData?, weekData?, timeData?, measurementData?, unitIdComponents?, unitConstants*, unitQuantities*, convertUnits*, unitPreferenceData?, timezoneData?, characters?, transforms?, metadata?, codeMappings?, parentLocales*, personNamesDefaults?, likelySubtags?, metazoneInfo?, plurals?, telephoneCodeData?, numberingSystems?, bcp47KeywordMappings?, gender?, references?, languageMatching?, dayPeriodRuleSet*, metaZones?, primaryZones?, windowsZones?, coverageLevels?, idValidity?, rgScope?, languageGroups?, grammaticalData? ) >
|
<!ELEMENT supplementalData ( version, generation?, cldrVersion?, currencyData?, territoryContainment?, subdivisionContainment?, languageData?, territoryInfo?, postalCodeData?, calendarData?, calendarPreferenceData?, weekData?, timeData?, measurementData?, unitIdComponents?, unitPrefixes?, unitConstants*, unitQuantities*, convertUnits*, unitPreferenceData?, timezoneData?, characters?, transforms?, metadata?, codeMappings?, parentLocales*, personNamesDefaults?, likelySubtags?, metazoneInfo?, plurals?, telephoneCodeData?, numberingSystems?, bcp47KeywordMappings?, gender?, references?, languageMatching?, dayPeriodRuleSet*, metaZones?, primaryZones?, windowsZones?, coverageLevels?, idValidity?, rgScope?, languageGroups?, grammaticalData? ) >
|
||||||
|
|
||||||
<!ELEMENT version EMPTY >
|
<!ELEMENT version EMPTY >
|
||||||
<!--@METADATA-->
|
<!--@METADATA-->
|
||||||
<!ATTLIST version number CDATA #REQUIRED >
|
<!ATTLIST version number CDATA #REQUIRED >
|
||||||
<!--@MATCH:any-->
|
<!--@MATCH:any-->
|
||||||
<!--@METADATA-->
|
<!--@METADATA-->
|
||||||
<!ATTLIST version cldrVersion CDATA #FIXED "44" >
|
<!ATTLIST version cldrVersion CDATA #FIXED "45" >
|
||||||
<!--@MATCH:version-->
|
<!--@MATCH:version-->
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
<!ATTLIST version unicodeVersion CDATA #FIXED "15.0.0" >
|
<!ATTLIST version unicodeVersion CDATA #FIXED "15.1.0" >
|
||||||
<!--@MATCH:version-->
|
<!--@MATCH:version-->
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
|
|
||||||
@@ -75,12 +75,18 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
|||||||
<!-- use from and to instead. -->
|
<!-- use from and to instead. -->
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
<!--@DEPRECATED-->
|
<!--@DEPRECATED-->
|
||||||
|
<!ATTLIST currency iso4217 NMTOKEN #REQUIRED >
|
||||||
|
<!--@MATCH:validity/currency-->
|
||||||
<!ATTLIST currency from NMTOKEN #IMPLIED >
|
<!ATTLIST currency from NMTOKEN #IMPLIED >
|
||||||
<!--@MATCH:time/yyyy-MM-dd-->
|
<!--@MATCH:time/yyyy-MM-dd-->
|
||||||
<!ATTLIST currency to NMTOKEN #IMPLIED >
|
<!ATTLIST currency to NMTOKEN #IMPLIED >
|
||||||
<!--@MATCH:time/yyyy-MM-dd-->
|
<!--@MATCH:time/yyyy-MM-dd-->
|
||||||
<!ATTLIST currency iso4217 NMTOKEN #REQUIRED >
|
<!ATTLIST currency tz CDATA #IMPLIED >
|
||||||
<!--@MATCH:validity/currency-->
|
<!--@MATCH:bcp47/tz-->
|
||||||
|
<!--@VALUE-->
|
||||||
|
<!ATTLIST currency to-tz CDATA #IMPLIED >
|
||||||
|
<!--@MATCH:bcp47/tz-->
|
||||||
|
<!--@VALUE-->
|
||||||
<!ATTLIST currency digits NMTOKEN #IMPLIED >
|
<!ATTLIST currency digits NMTOKEN #IMPLIED >
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
<!ATTLIST currency rounding NMTOKEN #IMPLIED >
|
<!ATTLIST currency rounding NMTOKEN #IMPLIED >
|
||||||
@@ -388,6 +394,23 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
|||||||
<!--@MATCH:set/regex/[a-z]+[0-9]*-->
|
<!--@MATCH:set/regex/[a-z]+[0-9]*-->
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
|
|
||||||
|
<!ELEMENT unitPrefixes ( unitPrefix* ) >
|
||||||
|
|
||||||
|
<!ELEMENT unitPrefix EMPTY >
|
||||||
|
<!-- <unitPrefix type='quecto' symbol='q' power10='-30'>
|
||||||
|
<unitPrefix type='kibi' symbol='Ki' power2='10'> -->
|
||||||
|
<!ATTLIST unitPrefix type NMTOKEN #REQUIRED >
|
||||||
|
<!--@MATCH:regex/[A-Za-z]{3,6}-->
|
||||||
|
<!ATTLIST unitPrefix symbol NMTOKEN #REQUIRED >
|
||||||
|
<!--@MATCH:regex/[a-zA-Zμ]{1,2}-->
|
||||||
|
<!--@VALUE-->
|
||||||
|
<!ATTLIST unitPrefix power10 NMTOKEN #IMPLIED >
|
||||||
|
<!--@MATCH:regex/-?[0-9]{1,2}-->
|
||||||
|
<!--@VALUE-->
|
||||||
|
<!ATTLIST unitPrefix power2 NMTOKEN #IMPLIED >
|
||||||
|
<!--@MATCH:regex/[0-9]0-->
|
||||||
|
<!--@VALUE-->
|
||||||
|
|
||||||
<!ELEMENT unitConstants ( unitConstant* ) >
|
<!ELEMENT unitConstants ( unitConstant* ) >
|
||||||
|
|
||||||
<!ELEMENT unitConstant EMPTY >
|
<!ELEMENT unitConstant EMPTY >
|
||||||
@@ -432,6 +455,9 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
|||||||
<!ATTLIST convertUnit offset CDATA #IMPLIED >
|
<!ATTLIST convertUnit offset CDATA #IMPLIED >
|
||||||
<!--@MATCH:regex/[-+*/\._ 0-9a-zA-Z]+-->
|
<!--@MATCH:regex/[-+*/\._ 0-9a-zA-Z]+-->
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
|
<!ATTLIST convertUnit special NMTOKEN #IMPLIED >
|
||||||
|
<!--@MATCH:regex/[A-Za-z][-A-Za-z0-9]*-->
|
||||||
|
<!--@VALUE-->
|
||||||
<!ATTLIST convertUnit systems NMTOKENS #IMPLIED >
|
<!ATTLIST convertUnit systems NMTOKENS #IMPLIED >
|
||||||
<!--@MATCH:set/literal/si, si_acceptable, metric, metric_adjacent, ussystem, uksystem, jpsystem, astronomical, person_age, other, prefixable-->
|
<!--@MATCH:set/literal/si, si_acceptable, metric, metric_adjacent, ussystem, uksystem, jpsystem, astronomical, person_age, other, prefixable-->
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
@@ -912,12 +938,15 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
|||||||
<!-- # Parent locales -->
|
<!-- # Parent locales -->
|
||||||
|
|
||||||
<!ELEMENT parentLocales ( parentLocale* ) >
|
<!ELEMENT parentLocales ( parentLocale* ) >
|
||||||
<!ATTLIST parentLocales component NMTOKEN #IMPLIED >
|
<!ATTLIST parentLocales component NMTOKENS #IMPLIED >
|
||||||
<!--@MATCH:literal/segmentations, collations-->
|
<!--@MATCH:set/literal/segmentations, collations, plurals, grammaticalFeatures-->
|
||||||
|
|
||||||
<!ELEMENT parentLocale EMPTY >
|
<!ELEMENT parentLocale EMPTY >
|
||||||
<!ATTLIST parentLocale parent NMTOKEN #REQUIRED >
|
<!ATTLIST parentLocale parent NMTOKEN #REQUIRED >
|
||||||
<!--@MATCH:validity/locale-->
|
<!--@MATCH:validity/locale-->
|
||||||
|
<!ATTLIST parentLocale localeRules NMTOKENS #IMPLIED >
|
||||||
|
<!--@MATCH:set/literal/nonlikelyScript-->
|
||||||
|
<!--@VALUE-->
|
||||||
<!ATTLIST parentLocale locales NMTOKENS #REQUIRED >
|
<!ATTLIST parentLocale locales NMTOKENS #REQUIRED >
|
||||||
<!--@MATCH:set/validity/locale-->
|
<!--@MATCH:set/validity/locale-->
|
||||||
<!--@VALUE-->
|
<!--@VALUE-->
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Copyright © 1991-2023 Unicode, Inc.
|
Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||||
<xs:element name="supplementalData">
|
<xs:element name="supplementalData">
|
||||||
@@ -28,6 +28,7 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
<xs:element minOccurs="0" ref="timeData"/>
|
<xs:element minOccurs="0" ref="timeData"/>
|
||||||
<xs:element minOccurs="0" ref="measurementData"/>
|
<xs:element minOccurs="0" ref="measurementData"/>
|
||||||
<xs:element minOccurs="0" ref="unitIdComponents"/>
|
<xs:element minOccurs="0" ref="unitIdComponents"/>
|
||||||
|
<xs:element minOccurs="0" ref="unitPrefixes"/>
|
||||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitConstants"/>
|
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitConstants"/>
|
||||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitQuantities"/>
|
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitQuantities"/>
|
||||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="convertUnits"/>
|
<xs:element maxOccurs="unbounded" minOccurs="0" ref="convertUnits"/>
|
||||||
@@ -63,17 +64,17 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
<xs:element name="version">
|
<xs:element name="version">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:attribute name="number" use="required"/>
|
<xs:attribute name="number" use="required"/>
|
||||||
<xs:attribute default="44" name="cldrVersion">
|
<xs:attribute default="45" name="cldrVersion">
|
||||||
<xs:simpleType>
|
<xs:simpleType>
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
<xs:enumeration value="44"/>
|
<xs:enumeration value="45"/>
|
||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:attribute>
|
</xs:attribute>
|
||||||
<xs:attribute default="15.0.0" name="unicodeVersion">
|
<xs:attribute default="15.1.0" name="unicodeVersion">
|
||||||
<xs:simpleType>
|
<xs:simpleType>
|
||||||
<xs:restriction base="xs:string">
|
<xs:restriction base="xs:string">
|
||||||
<xs:enumeration value="15.0.0"/>
|
<xs:enumeration value="15.1.0"/>
|
||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:attribute>
|
</xs:attribute>
|
||||||
@@ -209,9 +210,11 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="alternate"/>
|
<xs:element maxOccurs="unbounded" minOccurs="0" ref="alternate"/>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
<xs:attribute name="before" type="xs:NMTOKEN"/>
|
<xs:attribute name="before" type="xs:NMTOKEN"/>
|
||||||
|
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
|
||||||
<xs:attribute name="from" type="xs:NMTOKEN"/>
|
<xs:attribute name="from" type="xs:NMTOKEN"/>
|
||||||
<xs:attribute name="to" type="xs:NMTOKEN"/>
|
<xs:attribute name="to" type="xs:NMTOKEN"/>
|
||||||
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
|
<xs:attribute name="tz"/>
|
||||||
|
<xs:attribute name="to-tz"/>
|
||||||
<xs:attribute name="digits" type="xs:NMTOKEN"/>
|
<xs:attribute name="digits" type="xs:NMTOKEN"/>
|
||||||
<xs:attribute name="rounding" type="xs:NMTOKEN"/>
|
<xs:attribute name="rounding" type="xs:NMTOKEN"/>
|
||||||
<xs:attribute name="cashRounding" type="xs:NMTOKEN"/>
|
<xs:attribute name="cashRounding" type="xs:NMTOKEN"/>
|
||||||
@@ -251,6 +254,10 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<xs:element name="alternate">
|
<xs:element name="alternate">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
|
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
|
||||||
@@ -919,6 +926,32 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<xs:element name="unitPrefixes">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitPrefix"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="unitPrefix">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
|
||||||
|
<xs:attribute name="symbol" type="xs:NMTOKEN" use="required"/>
|
||||||
|
<xs:attribute name="power10" type="xs:NMTOKEN"/>
|
||||||
|
<xs:attribute name="power2" type="xs:NMTOKEN"/>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<!--
|
||||||
|
<unitPrefix type='quecto' symbol='q' power10='-30'>
|
||||||
|
<unitPrefix type='kibi' symbol='Ki' power2='10'>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<xs:element name="unitConstants">
|
<xs:element name="unitConstants">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@@ -976,6 +1009,7 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
<xs:attribute name="baseUnit" type="xs:NMTOKEN" use="required"/>
|
<xs:attribute name="baseUnit" type="xs:NMTOKEN" use="required"/>
|
||||||
<xs:attribute name="factor"/>
|
<xs:attribute name="factor"/>
|
||||||
<xs:attribute name="offset"/>
|
<xs:attribute name="offset"/>
|
||||||
|
<xs:attribute name="special" type="xs:NMTOKEN"/>
|
||||||
<xs:attribute name="systems" type="xs:NMTOKENS"/>
|
<xs:attribute name="systems" type="xs:NMTOKENS"/>
|
||||||
<xs:attribute name="description"/>
|
<xs:attribute name="description"/>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
@@ -991,6 +1025,8 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<xs:element name="unitPreferenceData">
|
<xs:element name="unitPreferenceData">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@@ -2049,19 +2085,22 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
|||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="parentLocale"/>
|
<xs:element maxOccurs="unbounded" minOccurs="0" ref="parentLocale"/>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
<xs:attribute name="component" type="xs:NMTOKEN"/>
|
<xs:attribute name="component" type="xs:NMTOKENS"/>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
|
||||||
<xs:element name="parentLocale">
|
<xs:element name="parentLocale">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:attribute name="parent" type="xs:NMTOKEN" use="required"/>
|
<xs:attribute name="parent" type="xs:NMTOKEN" use="required"/>
|
||||||
|
<xs:attribute name="localeRules" type="xs:NMTOKENS"/>
|
||||||
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
|
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<xs:element name="personNamesDefaults">
|
<xs:element name="personNamesDefaults">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:choice>
|
<xs:choice>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
|
|
||||||
Proper interpretation of these files requires synthesis of missing items, as per
|
Proper interpretation of these files requires synthesis of missing items, as per
|
||||||
@@ -1733,9 +1733,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="America/Creston">
|
<zone type="America/Creston">
|
||||||
<exemplarCity draft="unconfirmed">Крестон</exemplarCity>
|
<exemplarCity draft="unconfirmed">Крестон</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Yellowknife">
|
|
||||||
<exemplarCity draft="unconfirmed">Иеллоунаиф</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Edmonton">
|
<zone type="America/Edmonton">
|
||||||
<exemplarCity draft="unconfirmed">Едмонтон</exemplarCity>
|
<exemplarCity draft="unconfirmed">Едмонтон</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -1754,30 +1751,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="America/Resolute">
|
<zone type="America/Resolute">
|
||||||
<exemplarCity draft="unconfirmed">Резолиут</exemplarCity>
|
<exemplarCity draft="unconfirmed">Резолиут</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Rainy_River">
|
|
||||||
<exemplarCity draft="unconfirmed">Реини-Ривер</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Rankin_Inlet">
|
<zone type="America/Rankin_Inlet">
|
||||||
<exemplarCity draft="unconfirmed">Ранкин-Инлет</exemplarCity>
|
<exemplarCity draft="unconfirmed">Ранкин-Инлет</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Coral_Harbour">
|
<zone type="America/Coral_Harbour">
|
||||||
<exemplarCity draft="unconfirmed">Корал-Харбор</exemplarCity>
|
<exemplarCity draft="unconfirmed">Корал-Харбор</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Thunder_Bay">
|
|
||||||
<exemplarCity draft="unconfirmed">Тандер-Беи</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Nipigon">
|
|
||||||
<exemplarCity draft="unconfirmed">Нипигон</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Toronto">
|
<zone type="America/Toronto">
|
||||||
<exemplarCity draft="unconfirmed">Торонто</exemplarCity>
|
<exemplarCity draft="unconfirmed">Торонто</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Iqaluit">
|
<zone type="America/Iqaluit">
|
||||||
<exemplarCity draft="unconfirmed">Икалуит</exemplarCity>
|
<exemplarCity draft="unconfirmed">Икалуит</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Pangnirtung">
|
|
||||||
<exemplarCity draft="unconfirmed">Пангниртанг</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Moncton">
|
<zone type="America/Moncton">
|
||||||
<exemplarCity draft="unconfirmed">Монктон</exemplarCity>
|
<exemplarCity draft="unconfirmed">Монктон</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -2585,18 +2570,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="Africa/Dar_es_Salaam">
|
<zone type="Africa/Dar_es_Salaam">
|
||||||
<exemplarCity draft="unconfirmed">Дар-ес-Салам</exemplarCity>
|
<exemplarCity draft="unconfirmed">Дар-ес-Салам</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Europe/Uzhgorod">
|
|
||||||
<exemplarCity draft="unconfirmed">Ужҳород</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Europe/Kiev">
|
<zone type="Europe/Kiev">
|
||||||
<exemplarCity draft="unconfirmed">Киев</exemplarCity>
|
<exemplarCity draft="unconfirmed">Киев</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Europe/Simferopol">
|
<zone type="Europe/Simferopol">
|
||||||
<exemplarCity draft="unconfirmed">Симферопол</exemplarCity>
|
<exemplarCity draft="unconfirmed">Симферопол</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Europe/Zaporozhye">
|
|
||||||
<exemplarCity draft="unconfirmed">Запороже</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Africa/Kampala">
|
<zone type="Africa/Kampala">
|
||||||
<exemplarCity draft="unconfirmed">Кампала</exemplarCity>
|
<exemplarCity draft="unconfirmed">Кампала</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -2612,9 +2591,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="America/Nome">
|
<zone type="America/Nome">
|
||||||
<exemplarCity draft="unconfirmed">Ном</exemplarCity>
|
<exemplarCity draft="unconfirmed">Ном</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Pacific/Johnston">
|
|
||||||
<exemplarCity draft="unconfirmed">Џонстон</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Anchorage">
|
<zone type="America/Anchorage">
|
||||||
<exemplarCity draft="unconfirmed">Анкориџ</exemplarCity>
|
<exemplarCity draft="unconfirmed">Анкориџ</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -3314,11 +3290,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<daylight draft="unconfirmed">Макао, аԥхынтәи аамҭа</daylight>
|
<daylight draft="unconfirmed">Макао, аԥхынтәи аамҭа</daylight>
|
||||||
</long>
|
</long>
|
||||||
</metazone>
|
</metazone>
|
||||||
<metazone type="Macquarie">
|
|
||||||
<long>
|
|
||||||
<standard draft="unconfirmed">Маккуори</standard>
|
|
||||||
</long>
|
|
||||||
</metazone>
|
|
||||||
<metazone type="Magadan">
|
<metazone type="Magadan">
|
||||||
<long>
|
<long>
|
||||||
<generic draft="unconfirmed">Магадан</generic>
|
<generic draft="unconfirmed">Магадан</generic>
|
||||||
@@ -3358,13 +3329,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<standard draft="unconfirmed">Моусон</standard>
|
<standard draft="unconfirmed">Моусон</standard>
|
||||||
</long>
|
</long>
|
||||||
</metazone>
|
</metazone>
|
||||||
<metazone type="Mexico_Northwest">
|
|
||||||
<long>
|
|
||||||
<generic draft="unconfirmed">Аҩадамра-Ҭашәаратәи амексикатә аамҭа</generic>
|
|
||||||
<standard draft="unconfirmed">Аҩадамра-Ҭашәаратәи амексикатә астандартә аамҭа</standard>
|
|
||||||
<daylight draft="unconfirmed">Аҩадамра-Ҭашәаратәи амексикатә аԥхынтәи аамҭа</daylight>
|
|
||||||
</long>
|
|
||||||
</metazone>
|
|
||||||
<metazone type="Mexico_Pacific">
|
<metazone type="Mexico_Pacific">
|
||||||
<long>
|
<long>
|
||||||
<generic draft="unconfirmed">Аокеанҭынчтәи амексикатә аамҭа</generic>
|
<generic draft="unconfirmed">Аокеанҭынчтәи амексикатә аамҭа</generic>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
|
|
||||||
Proper interpretation of these files requires synthesis of missing items, as per
|
Proper interpretation of these files requires synthesis of missing items, as per
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
|
|
||||||
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
||||||
@@ -909,7 +909,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<type key="collation" type="phonebook">Foonboek-sorteervolgorde</type>
|
<type key="collation" type="phonebook">Foonboek-sorteervolgorde</type>
|
||||||
<type key="collation" type="phonetic">Fonetiese sorteerorde</type>
|
<type key="collation" type="phonetic">Fonetiese sorteerorde</type>
|
||||||
<type key="collation" type="pinyin">Pinyin-sorteervolgorde</type>
|
<type key="collation" type="pinyin">Pinyin-sorteervolgorde</type>
|
||||||
<type key="collation" type="reformed">Gereformeerde sorteervolgorde</type>
|
|
||||||
<type key="collation" type="search">Algemenedoel-soektog</type>
|
<type key="collation" type="search">Algemenedoel-soektog</type>
|
||||||
<type key="collation" type="searchjl">Soek volgens Hangul-beginkonsonant</type>
|
<type key="collation" type="searchjl">Soek volgens Hangul-beginkonsonant</type>
|
||||||
<type key="collation" type="standard">Standaard rangskikvolgorde</type>
|
<type key="collation" type="standard">Standaard rangskikvolgorde</type>
|
||||||
@@ -2053,9 +2052,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<regionFormat>{0}-tyd</regionFormat>
|
<regionFormat>{0}-tyd</regionFormat>
|
||||||
<regionFormat type="daylight">{0}-dagligtyd</regionFormat>
|
<regionFormat type="daylight">{0}-dagligtyd</regionFormat>
|
||||||
<regionFormat type="standard">{0}-standaardtyd</regionFormat>
|
<regionFormat type="standard">{0}-standaardtyd</regionFormat>
|
||||||
<zone type="America/Santa_Isabel">
|
|
||||||
<exemplarCity>Santa Isabel</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Etc/UTC">
|
<zone type="Etc/UTC">
|
||||||
<long>
|
<long>
|
||||||
<standard>Gekoördineerde universele tyd</standard>
|
<standard>Gekoördineerde universele tyd</standard>
|
||||||
@@ -2076,9 +2072,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="Europe/Vienna">
|
<zone type="Europe/Vienna">
|
||||||
<exemplarCity>Wene</exemplarCity>
|
<exemplarCity>Wene</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Australia/Currie">
|
|
||||||
<exemplarCity>Currie</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Asia/Baku">
|
<zone type="Asia/Baku">
|
||||||
<exemplarCity>Bakoe</exemplarCity>
|
<exemplarCity>Bakoe</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -2097,12 +2090,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="America/Cambridge_Bay">
|
<zone type="America/Cambridge_Bay">
|
||||||
<exemplarCity>Cambridgebaai</exemplarCity>
|
<exemplarCity>Cambridgebaai</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Rainy_River">
|
|
||||||
<exemplarCity>Rainyrivier</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Thunder_Bay">
|
|
||||||
<exemplarCity>Thunderbaai</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Goose_Bay">
|
<zone type="America/Goose_Bay">
|
||||||
<exemplarCity>Goosebaai</exemplarCity>
|
<exemplarCity>Goosebaai</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -2894,11 +2881,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<daylight>Lord Howe-dagligtyd</daylight>
|
<daylight>Lord Howe-dagligtyd</daylight>
|
||||||
</long>
|
</long>
|
||||||
</metazone>
|
</metazone>
|
||||||
<metazone type="Macquarie">
|
|
||||||
<long>
|
|
||||||
<standard>Macquarie-eiland-tyd</standard>
|
|
||||||
</long>
|
|
||||||
</metazone>
|
|
||||||
<metazone type="Magadan">
|
<metazone type="Magadan">
|
||||||
<long>
|
<long>
|
||||||
<generic>Magadan-tyd</generic>
|
<generic>Magadan-tyd</generic>
|
||||||
@@ -2938,13 +2920,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<standard>Mawson-tyd</standard>
|
<standard>Mawson-tyd</standard>
|
||||||
</long>
|
</long>
|
||||||
</metazone>
|
</metazone>
|
||||||
<metazone type="Mexico_Northwest">
|
|
||||||
<long>
|
|
||||||
<generic>Noordwes-Meksiko-tyd</generic>
|
|
||||||
<standard>Noordwes-Meksiko-standaardtyd</standard>
|
|
||||||
<daylight>Noordwes-Meksiko-dagligtyd</daylight>
|
|
||||||
</long>
|
|
||||||
</metazone>
|
|
||||||
<metazone type="Mexico_Pacific">
|
<metazone type="Mexico_Pacific">
|
||||||
<long>
|
<long>
|
||||||
<generic>Meksikaanse Pasifiese tyd</generic>
|
<generic>Meksikaanse Pasifiese tyd</generic>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
|
|
||||||
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
||||||
@@ -985,7 +985,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<type key="collation" type="phonebook">የስልክ ደብተር ድርድር ቅደም ተከተል</type>
|
<type key="collation" type="phonebook">የስልክ ደብተር ድርድር ቅደም ተከተል</type>
|
||||||
<type key="collation" type="phonetic">የፎነቲክ ድርደራ ቅደም ተከተል</type>
|
<type key="collation" type="phonetic">የፎነቲክ ድርደራ ቅደም ተከተል</type>
|
||||||
<type key="collation" type="pinyin">ፒንይን የድርድር ቅደም ተከተል</type>
|
<type key="collation" type="pinyin">ፒንይን የድርድር ቅደም ተከተል</type>
|
||||||
<type key="collation" type="reformed">ዳግም የተፈጠረ የድርድር ቅደም ተከተል</type>
|
|
||||||
<type key="collation" type="search">ለጠቅላላ ጉዳይ ፍለጋ</type>
|
<type key="collation" type="search">ለጠቅላላ ጉዳይ ፍለጋ</type>
|
||||||
<type key="collation" type="searchjl">በሃንጉል የመጀመሪያ ተነባቢ ፈልግ</type>
|
<type key="collation" type="searchjl">በሃንጉል የመጀመሪያ ተነባቢ ፈልግ</type>
|
||||||
<type key="collation" type="standard">መደበኛ</type>
|
<type key="collation" type="standard">መደበኛ</type>
|
||||||
@@ -1982,9 +1981,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<regionFormat>{0} ጊዜ</regionFormat>
|
<regionFormat>{0} ጊዜ</regionFormat>
|
||||||
<regionFormat type="daylight">{0} የቀን ብርሃን ሰዓት</regionFormat>
|
<regionFormat type="daylight">{0} የቀን ብርሃን ሰዓት</regionFormat>
|
||||||
<regionFormat type="standard">{0} መደበኛ ሰዓት</regionFormat>
|
<regionFormat type="standard">{0} መደበኛ ሰዓት</regionFormat>
|
||||||
<zone type="America/Santa_Isabel">
|
|
||||||
<exemplarCity>ሳንታ ኢዛቤል</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Etc/UTC">
|
<zone type="Etc/UTC">
|
||||||
<long>
|
<long>
|
||||||
<standard>የተቀነባበረ ሁለገብ ሰዓት</standard>
|
<standard>የተቀነባበረ ሁለገብ ሰዓት</standard>
|
||||||
@@ -2107,9 +2103,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="Australia/Melbourne">
|
<zone type="Australia/Melbourne">
|
||||||
<exemplarCity>ሜልቦርን</exemplarCity>
|
<exemplarCity>ሜልቦርን</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Australia/Currie">
|
|
||||||
<exemplarCity>ከሪ</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Australia/Hobart">
|
<zone type="Australia/Hobart">
|
||||||
<exemplarCity>ሆባርት</exemplarCity>
|
<exemplarCity>ሆባርት</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -2263,9 +2256,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="America/Creston">
|
<zone type="America/Creston">
|
||||||
<exemplarCity>ክረስተን</exemplarCity>
|
<exemplarCity>ክረስተን</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Yellowknife">
|
|
||||||
<exemplarCity>የሎውናይፍ</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Edmonton">
|
<zone type="America/Edmonton">
|
||||||
<exemplarCity>ኤድመንተን</exemplarCity>
|
<exemplarCity>ኤድመንተን</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -2284,30 +2274,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="America/Resolute">
|
<zone type="America/Resolute">
|
||||||
<exemplarCity>ሪዞሊዩት</exemplarCity>
|
<exemplarCity>ሪዞሊዩት</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Rainy_River">
|
|
||||||
<exemplarCity>ሬኒ ሪቨር</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Rankin_Inlet">
|
<zone type="America/Rankin_Inlet">
|
||||||
<exemplarCity>ራንኪን ኢንሌት</exemplarCity>
|
<exemplarCity>ራንኪን ኢንሌት</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Coral_Harbour">
|
<zone type="America/Coral_Harbour">
|
||||||
<exemplarCity>አቲኮካን</exemplarCity>
|
<exemplarCity>አቲኮካን</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Thunder_Bay">
|
|
||||||
<exemplarCity>ተንደር ቤይ</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Nipigon">
|
|
||||||
<exemplarCity>ኒፒጎን</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Toronto">
|
<zone type="America/Toronto">
|
||||||
<exemplarCity>ቶሮንቶ</exemplarCity>
|
<exemplarCity>ቶሮንቶ</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Iqaluit">
|
<zone type="America/Iqaluit">
|
||||||
<exemplarCity>ኢኳሊውት</exemplarCity>
|
<exemplarCity>ኢኳሊውት</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Pangnirtung">
|
|
||||||
<exemplarCity>ፓንግኒርተንግ</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Moncton">
|
<zone type="America/Moncton">
|
||||||
<exemplarCity>ሞንክቶን</exemplarCity>
|
<exemplarCity>ሞንክቶን</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -3121,18 +3099,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="Africa/Dar_es_Salaam">
|
<zone type="Africa/Dar_es_Salaam">
|
||||||
<exemplarCity>ዳሬ ሰላም</exemplarCity>
|
<exemplarCity>ዳሬ ሰላም</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Europe/Uzhgorod">
|
|
||||||
<exemplarCity>ኡዝጎሮድ</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Europe/Kiev">
|
<zone type="Europe/Kiev">
|
||||||
<exemplarCity>ኪየቭ</exemplarCity>
|
<exemplarCity>ኪየቭ</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Europe/Simferopol">
|
<zone type="Europe/Simferopol">
|
||||||
<exemplarCity>ሲምፈሮፖል</exemplarCity>
|
<exemplarCity>ሲምፈሮፖል</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Europe/Zaporozhye">
|
|
||||||
<exemplarCity>ዛፖሮዚይ</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Africa/Kampala">
|
<zone type="Africa/Kampala">
|
||||||
<exemplarCity>ካምፓላ</exemplarCity>
|
<exemplarCity>ካምፓላ</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -3151,9 +3123,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="Pacific/Honolulu">
|
<zone type="Pacific/Honolulu">
|
||||||
<exemplarCity>ሆኖሉሉ</exemplarCity>
|
<exemplarCity>ሆኖሉሉ</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Pacific/Johnston">
|
|
||||||
<exemplarCity>ጆንስተን</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Anchorage">
|
<zone type="America/Anchorage">
|
||||||
<exemplarCity>አንኮራጅ</exemplarCity>
|
<exemplarCity>አንኮራጅ</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -3803,11 +3772,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<daylight>የሎርድ ሆዌ የቀን ሰዓት አቆጣጠር</daylight>
|
<daylight>የሎርድ ሆዌ የቀን ሰዓት አቆጣጠር</daylight>
|
||||||
</long>
|
</long>
|
||||||
</metazone>
|
</metazone>
|
||||||
<metazone type="Macquarie">
|
|
||||||
<long>
|
|
||||||
<standard>የማከሪ ደሴት ሰዓት</standard>
|
|
||||||
</long>
|
|
||||||
</metazone>
|
|
||||||
<metazone type="Magadan">
|
<metazone type="Magadan">
|
||||||
<long>
|
<long>
|
||||||
<generic>የማጋዳን የሰዓት አቆጣጠር</generic>
|
<generic>የማጋዳን የሰዓት አቆጣጠር</generic>
|
||||||
@@ -3847,13 +3811,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<standard>የማውሰን ሰዓት</standard>
|
<standard>የማውሰን ሰዓት</standard>
|
||||||
</long>
|
</long>
|
||||||
</metazone>
|
</metazone>
|
||||||
<metazone type="Mexico_Northwest">
|
|
||||||
<long>
|
|
||||||
<generic>ሰሜናዊ ምእራብ የሜክሲኮ ሰዓት አቆጣጠር</generic>
|
|
||||||
<standard>ሰሜናዊ ምእራብ የሜክሲኮ መደበኛ ሰዓት አቆጣጠር</standard>
|
|
||||||
<daylight>ሰሜናዊ ምእራብ የሜክሲኮ የቀን ሰዓት አቆጣጠር</daylight>
|
|
||||||
</long>
|
|
||||||
</metazone>
|
|
||||||
<metazone type="Mexico_Pacific">
|
<metazone type="Mexico_Pacific">
|
||||||
<long>
|
<long>
|
||||||
<generic>የሜክሲኮ ፓሲፊክ ሰዓት አቆጣጠር</generic>
|
<generic>የሜክሲኮ ፓሲፊክ ሰዓት አቆጣጠር</generic>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
|
|
||||||
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
|
|
||||||
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
||||||
@@ -1114,7 +1114,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<type key="collation" type="phonebook">الترتيب حسب دليل الهاتف</type>
|
<type key="collation" type="phonebook">الترتيب حسب دليل الهاتف</type>
|
||||||
<type key="collation" type="phonetic">الترتيب حسب اللفظ</type>
|
<type key="collation" type="phonetic">الترتيب حسب اللفظ</type>
|
||||||
<type key="collation" type="pinyin">الترتيب حسب نظام بنيين الصيني</type>
|
<type key="collation" type="pinyin">الترتيب حسب نظام بنيين الصيني</type>
|
||||||
<type key="collation" type="reformed">الترتيب المحسَّن</type>
|
|
||||||
<type key="collation" type="search">بحث لأغراض عامة</type>
|
<type key="collation" type="search">بحث لأغراض عامة</type>
|
||||||
<type key="collation" type="searchjl" draft="contributed">بحث باستخدام حرف الهانغول الساكن الأول</type>
|
<type key="collation" type="searchjl" draft="contributed">بحث باستخدام حرف الهانغول الساكن الأول</type>
|
||||||
<type key="collation" type="standard">ترتيب الفرز القياسي</type>
|
<type key="collation" type="standard">ترتيب الفرز القياسي</type>
|
||||||
@@ -2817,9 +2816,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<regionFormat>توقيت {0}</regionFormat>
|
<regionFormat>توقيت {0}</regionFormat>
|
||||||
<regionFormat type="daylight">توقيت {0} الصيفي</regionFormat>
|
<regionFormat type="daylight">توقيت {0} الصيفي</regionFormat>
|
||||||
<regionFormat type="standard">توقيت {0} الرسمي</regionFormat>
|
<regionFormat type="standard">توقيت {0} الرسمي</regionFormat>
|
||||||
<zone type="America/Santa_Isabel">
|
|
||||||
<exemplarCity>سانتا إيزابيل</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Etc/UTC">
|
<zone type="Etc/UTC">
|
||||||
<long>
|
<long>
|
||||||
<standard>التوقيت العالمي المنسق</standard>
|
<standard>التوقيت العالمي المنسق</standard>
|
||||||
@@ -2942,9 +2938,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="Australia/Melbourne">
|
<zone type="Australia/Melbourne">
|
||||||
<exemplarCity>ميلبورن</exemplarCity>
|
<exemplarCity>ميلبورن</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Australia/Currie">
|
|
||||||
<exemplarCity>كوري</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Australia/Hobart">
|
<zone type="Australia/Hobart">
|
||||||
<exemplarCity>هوبارت</exemplarCity>
|
<exemplarCity>هوبارت</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -3098,9 +3091,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="America/Creston">
|
<zone type="America/Creston">
|
||||||
<exemplarCity>كريستون</exemplarCity>
|
<exemplarCity>كريستون</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Yellowknife">
|
|
||||||
<exemplarCity>يلونيف</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Edmonton">
|
<zone type="America/Edmonton">
|
||||||
<exemplarCity>ايدمونتون</exemplarCity>
|
<exemplarCity>ايدمونتون</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -3119,30 +3109,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="America/Resolute">
|
<zone type="America/Resolute">
|
||||||
<exemplarCity>ريزولوت</exemplarCity>
|
<exemplarCity>ريزولوت</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Rainy_River">
|
|
||||||
<exemplarCity>راني ريفر</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Rankin_Inlet">
|
<zone type="America/Rankin_Inlet">
|
||||||
<exemplarCity>رانكن انلت</exemplarCity>
|
<exemplarCity>رانكن انلت</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Coral_Harbour">
|
<zone type="America/Coral_Harbour">
|
||||||
<exemplarCity>كورال هاربر</exemplarCity>
|
<exemplarCity>كورال هاربر</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Thunder_Bay">
|
|
||||||
<exemplarCity>ثندر باي</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Nipigon">
|
|
||||||
<exemplarCity>نيبيجون</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Toronto">
|
<zone type="America/Toronto">
|
||||||
<exemplarCity>تورونتو</exemplarCity>
|
<exemplarCity>تورونتو</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Iqaluit">
|
<zone type="America/Iqaluit">
|
||||||
<exemplarCity>اكويلت</exemplarCity>
|
<exemplarCity>اكويلت</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="America/Pangnirtung">
|
|
||||||
<exemplarCity>بانجينتينج</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Moncton">
|
<zone type="America/Moncton">
|
||||||
<exemplarCity>وينكتون</exemplarCity>
|
<exemplarCity>وينكتون</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -3956,18 +3934,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="Africa/Dar_es_Salaam">
|
<zone type="Africa/Dar_es_Salaam">
|
||||||
<exemplarCity>دار السلام</exemplarCity>
|
<exemplarCity>دار السلام</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Europe/Uzhgorod">
|
|
||||||
<exemplarCity>أوزجرود</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Europe/Kiev">
|
<zone type="Europe/Kiev">
|
||||||
<exemplarCity>كييف</exemplarCity>
|
<exemplarCity>كييف</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Europe/Simferopol">
|
<zone type="Europe/Simferopol">
|
||||||
<exemplarCity>سيمفروبول</exemplarCity>
|
<exemplarCity>سيمفروبول</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Europe/Zaporozhye">
|
|
||||||
<exemplarCity>زابوروزي</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="Africa/Kampala">
|
<zone type="Africa/Kampala">
|
||||||
<exemplarCity>كامبالا</exemplarCity>
|
<exemplarCity>كامبالا</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -3986,9 +3958,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<zone type="Pacific/Honolulu">
|
<zone type="Pacific/Honolulu">
|
||||||
<exemplarCity>هونولولو</exemplarCity>
|
<exemplarCity>هونولولو</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
<zone type="Pacific/Johnston">
|
|
||||||
<exemplarCity>جونستون</exemplarCity>
|
|
||||||
</zone>
|
|
||||||
<zone type="America/Anchorage">
|
<zone type="America/Anchorage">
|
||||||
<exemplarCity>أنشوراج</exemplarCity>
|
<exemplarCity>أنشوراج</exemplarCity>
|
||||||
</zone>
|
</zone>
|
||||||
@@ -4646,11 +4615,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<daylight>التوقيت الصيفي للورد هاو</daylight>
|
<daylight>التوقيت الصيفي للورد هاو</daylight>
|
||||||
</long>
|
</long>
|
||||||
</metazone>
|
</metazone>
|
||||||
<metazone type="Macquarie">
|
|
||||||
<long>
|
|
||||||
<standard>توقيت ماكواري</standard>
|
|
||||||
</long>
|
|
||||||
</metazone>
|
|
||||||
<metazone type="Magadan">
|
<metazone type="Magadan">
|
||||||
<long>
|
<long>
|
||||||
<generic>توقيت ماغادان</generic>
|
<generic>توقيت ماغادان</generic>
|
||||||
@@ -4690,13 +4654,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
|||||||
<standard>توقيت ماوسون</standard>
|
<standard>توقيت ماوسون</standard>
|
||||||
</long>
|
</long>
|
||||||
</metazone>
|
</metazone>
|
||||||
<metazone type="Mexico_Northwest">
|
|
||||||
<long>
|
|
||||||
<generic>توقيت شمال غرب المكسيك</generic>
|
|
||||||
<standard>التوقيت الرسمي لشمال غرب المكسيك</standard>
|
|
||||||
<daylight>التوقيت الصيفي لشمال غرب المكسيك</daylight>
|
|
||||||
</long>
|
|
||||||
</metazone>
|
|
||||||
<metazone type="Mexico_Pacific">
|
<metazone type="Mexico_Pacific">
|
||||||
<long>
|
<long>
|
||||||
<generic>توقيت المحيط الهادي للمكسيك</generic>
|
<generic>توقيت المحيط الهادي للمكسيك</generic>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||||
For terms of use, see http://www.unicode.org/copyright.html
|
For terms of use, see http://www.unicode.org/copyright.html
|
||||||
SPDX-License-Identifier: Unicode-DFS-2016
|
SPDX-License-Identifier: Unicode-3.0
|
||||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||||
-->
|
-->
|
||||||
<ldml>
|
<ldml>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user