mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-09 10:59:37 +01:00
Compare commits
1526 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a1f493478a | ||
|
|
10dbe83b2a | ||
|
|
9ae7921b89 | ||
|
|
dfee1f885f | ||
|
|
a9334fd7af | ||
|
|
459942acca | ||
|
|
0d31106b56 | ||
|
|
7cd98c80f5 | ||
|
|
94ed22086f | ||
|
|
0635a89ca5 | ||
|
|
b5107ed1b5 | ||
|
|
21f7fabe1f | ||
|
|
39803c9fe7 | ||
|
|
9e33e4f110 | ||
|
|
8838e7396e | ||
|
|
8a3342a6f0 | ||
|
|
ed6697aa20 | ||
|
|
bababbe74b | ||
|
|
c24c4b5f71 | ||
|
|
fd3d95e5f5 | ||
|
|
99b0a598c8 | ||
|
|
578b7d9671 | ||
|
|
c6204fddc8 | ||
|
|
c032e73d2d | ||
|
|
61bc4ca404 | ||
|
|
8e64d3b166 | ||
|
|
3559695d9d | ||
|
|
07c15d0cad | ||
|
|
1933fdced6 | ||
|
|
75eddf94d1 | ||
|
|
bc6de0086a | ||
|
|
e989f7c362 | ||
|
|
651770b5df | ||
|
|
cb0a4b76f5 | ||
|
|
e7ceea1e53 | ||
|
|
2a504c4c16 | ||
|
|
e1d1a88f95 | ||
|
|
60349d25cd | ||
|
|
dfc4b7f412 | ||
|
|
8e4345a87e | ||
|
|
abf322bf84 | ||
|
|
0c48f0d65b | ||
|
|
3e199d591f | ||
|
|
02991139fb | ||
|
|
f3b8781442 | ||
|
|
8feafa20cf | ||
|
|
abc61ba12d | ||
|
|
111563dc52 | ||
|
|
2b7ba88d55 | ||
|
|
7460f5d8f2 | ||
|
|
2fd7bebdb7 | ||
|
|
4f54772a87 | ||
|
|
f6211bc171 | ||
|
|
2bfd92234d | ||
|
|
c38cb52efd | ||
|
|
96b24787fb | ||
|
|
6f539c5cf9 | ||
|
|
f81d1132c9 | ||
|
|
beb9aa52b3 | ||
|
|
e6a321c094 | ||
|
|
4ebc538931 | ||
|
|
3d033b4e18 | ||
|
|
5a5a67d337 | ||
|
|
59653c4b36 | ||
|
|
69efabad3d | ||
|
|
01f717df41 | ||
|
|
5803a72162 | ||
|
|
6b57ff42fd | ||
|
|
448b1098db | ||
|
|
0b3b3b9ed6 | ||
|
|
c98aa66173 | ||
|
|
afcf500d46 | ||
|
|
6e913f4649 | ||
|
|
190aa531e4 | ||
|
|
9b31b837e2 | ||
|
|
199810bcd9 | ||
|
|
df63d80a19 | ||
|
|
59a52a797c | ||
|
|
1ef600adbd | ||
|
|
1cbd6b266b | ||
|
|
f48f666a63 | ||
|
|
a6957aa760 | ||
|
|
20fa9b2cc4 | ||
|
|
f973f48305 | ||
|
|
42525fd863 | ||
|
|
f48b1f2e8f | ||
|
|
aa612222bd | ||
|
|
44e95b7411 | ||
|
|
a077a5878c | ||
|
|
c1cefe0e75 | ||
|
|
b77e6762c8 | ||
|
|
080c64de24 | ||
|
|
baa27d9142 | ||
|
|
8eab35131e | ||
|
|
6937df0b31 | ||
|
|
ce4cb9925d | ||
|
|
4c1a2f6b6e | ||
|
|
73cad1123e | ||
|
|
e3d70c337d | ||
|
|
5adb3a81b5 | ||
|
|
dd07ab44f6 | ||
|
|
c1d96f4a1f | ||
|
|
671f8109d4 | ||
|
|
94654f35c9 | ||
|
|
0d3829a2c5 | ||
|
|
f3cdc9320a | ||
|
|
0dad6706b4 | ||
|
|
3823449fe8 | ||
|
|
30b9725a31 | ||
|
|
6942ba4479 | ||
|
|
50b734a4d8 | ||
|
|
fde11e8b69 | ||
|
|
7afb6b5a4a | ||
|
|
9489b894a1 | ||
|
|
7c9e12c92e | ||
|
|
ac06cc168b | ||
|
|
5ace67716d | ||
|
|
8692686567 | ||
|
|
2a12ca457d | ||
|
|
ea434b80ea | ||
|
|
c6e510d7a0 | ||
|
|
077dc1299b | ||
|
|
9482818663 | ||
|
|
ce5788b0f2 | ||
|
|
e93b135cc8 | ||
|
|
f49b12233e | ||
|
|
3b915b0d62 | ||
|
|
cabbc476d3 | ||
|
|
0f3b43e31b | ||
|
|
e35f40ee3a | ||
|
|
2deb777286 | ||
|
|
b81c3f5efa | ||
|
|
e648855012 | ||
|
|
8ba6ed54ec | ||
|
|
95988b663c | ||
|
|
9d7c1fdb62 | ||
|
|
c4c18e2921 | ||
|
|
338d1cc8f7 | ||
|
|
4fc69c38d0 | ||
|
|
469f89911f | ||
|
|
89506cf1ed | ||
|
|
20a158cf24 | ||
|
|
5e969c6129 | ||
|
|
9ce5ab0278 | ||
|
|
6ee0576ad9 | ||
|
|
e9700f0a24 | ||
|
|
c0377fea31 | ||
|
|
561f5f44de | ||
|
|
31b21fc4a4 | ||
|
|
2ee549276e | ||
|
|
e29c74a68b | ||
|
|
c5aef988e3 | ||
|
|
6a22949b3e | ||
|
|
e505d059ae | ||
|
|
700143865e | ||
|
|
bf689f8a34 | ||
|
|
57c71a917b | ||
|
|
624dda638e | ||
|
|
9cffae904e | ||
|
|
4209b88299 | ||
|
|
15ff4f278a | ||
|
|
38cfd5d70d | ||
|
|
c17726339a | ||
|
|
55168184d6 | ||
|
|
d768df399d | ||
|
|
509ced946c | ||
|
|
3ffc20bf08 | ||
|
|
a2902a562c | ||
|
|
3a74e0568f | ||
|
|
506300d94d | ||
|
|
f5a4ed3bcc | ||
|
|
7c18f827d7 | ||
|
|
a079697817 | ||
|
|
7ce6c06c44 | ||
|
|
4c4686dd55 | ||
|
|
070f6f324c | ||
|
|
a161f6e198 | ||
|
|
c301513708 | ||
|
|
cfec5ad9f9 | ||
|
|
d791ecac01 | ||
|
|
4b3efa84fa | ||
|
|
dc0184185c | ||
|
|
3798179e83 | ||
|
|
96603fcc12 | ||
|
|
01c768e4ca | ||
|
|
a550556929 | ||
|
|
1a6c31bc2b | ||
|
|
5e1d3eebdf | ||
|
|
9fb46dcea4 | ||
|
|
d251572201 | ||
|
|
a6d84bc811 | ||
|
|
1b87d19c87 | ||
|
|
f931c18437 | ||
|
|
6c25e1cdce | ||
|
|
50a2f8c16d | ||
|
|
2ecd2048d4 | ||
|
|
f4e105e841 | ||
|
|
258bd8a2ba | ||
|
|
efa036748b | ||
|
|
450d6e8d9a | ||
|
|
cff05c3432 | ||
|
|
ad08800a5d | ||
|
|
dfaa0d4cdf | ||
|
|
6b0b5941da | ||
|
|
2372340c55 | ||
|
|
edbf46c2da | ||
|
|
98a06dbf63 | ||
|
|
74eed1eb66 | ||
|
|
be34a18712 | ||
|
|
a3f1271a63 | ||
|
|
9fb30a7cc0 | ||
|
|
3332c6a1b6 | ||
|
|
d3a8c491bf | ||
|
|
f3883b4d54 | ||
|
|
b33626e87a | ||
|
|
ba42773298 | ||
|
|
40e8f0fb2a | ||
|
|
4fc6443589 | ||
|
|
3a8e9e6104 | ||
|
|
3693f0fe43 | ||
|
|
08973326c4 | ||
|
|
0041a04fb2 | ||
|
|
7b947b7a42 | ||
|
|
17888bc3c0 | ||
|
|
310990d4dc | ||
|
|
e0a4e74f80 | ||
|
|
cfc6c74d02 | ||
|
|
a3c4486681 | ||
|
|
41d6c584cd | ||
|
|
c06123ae0c | ||
|
|
587e9b4f49 | ||
|
|
09dcdbe0ff | ||
|
|
7e1dbd7a03 | ||
|
|
0192f2b6c8 | ||
|
|
c3183e79ed | ||
|
|
9940e879d4 | ||
|
|
cd47d982d9 | ||
|
|
b29242fed4 | ||
|
|
ba57c8f33a | ||
|
|
d87a192fe6 | ||
|
|
ed057d7f67 | ||
|
|
400aa66520 | ||
|
|
7a0d223ed6 | ||
|
|
a77ac5eb39 | ||
|
|
518ec0c168 | ||
|
|
b3e79c6c6c | ||
|
|
97292b3883 | ||
|
|
7d0f6b051c | ||
|
|
f6faa640b7 | ||
|
|
69aa6d19c3 | ||
|
|
42fca8fd3a | ||
|
|
cffc4ccb30 | ||
|
|
8a283686f2 | ||
|
|
2c9482428f | ||
|
|
b943c9c83d | ||
|
|
005f647e13 | ||
|
|
c6974571dd | ||
|
|
3e2f8ef7eb | ||
|
|
56132c0447 | ||
|
|
baec1b577c | ||
|
|
7138ff4750 | ||
|
|
b497391969 | ||
|
|
85d4c76d59 | ||
|
|
f2ca2f4835 | ||
|
|
ea28f47062 | ||
|
|
508c6f404d | ||
|
|
fa178171b6 | ||
|
|
d25dbaffeb | ||
|
|
5fc1a2e66e | ||
|
|
9f1ffb53dc | ||
|
|
c0d6562b8b | ||
|
|
4a2a6ebe99 | ||
|
|
b9e6895d3a | ||
|
|
3683f82865 | ||
|
|
01465edf46 | ||
|
|
089eea6bef | ||
|
|
0ec2d0eca1 | ||
|
|
015d7657e7 | ||
|
|
2d308ccc78 | ||
|
|
d92843c4dd | ||
|
|
de7785d2e8 | ||
|
|
7b7d3507db | ||
|
|
006def0451 | ||
|
|
8950ee8d8e | ||
|
|
07299b0a1e | ||
|
|
46a6f9366d | ||
|
|
12b4b456cb | ||
|
|
e5f92a2396 | ||
|
|
bfbf85b7a7 | ||
|
|
3ecf3e0fa1 | ||
|
|
0e1c5e521a | ||
|
|
db0efee3d4 | ||
|
|
b8f2831c68 | ||
|
|
323e3ce5ab | ||
|
|
d5a7ac9412 | ||
|
|
ae6769c77d | ||
|
|
37600f669c | ||
|
|
b819164293 | ||
|
|
32109cb7cf | ||
|
|
8a90e1d979 | ||
|
|
72218042af | ||
|
|
f6ee974ac7 | ||
|
|
b255b0eccc | ||
|
|
a0e6b7797c | ||
|
|
7c2e062ccb | ||
|
|
dd9799aaa2 | ||
|
|
805065faa4 | ||
|
|
545c4a7aa7 | ||
|
|
9dfe7b710e | ||
|
|
924af8d1c0 | ||
|
|
99d808ac37 | ||
|
|
9dad666a66 | ||
|
|
76177f7a48 | ||
|
|
bbd20b347d | ||
|
|
b5a0dffd57 | ||
|
|
086d1992b6 | ||
|
|
ac3052168c | ||
|
|
cf99e1e9f8 | ||
|
|
57a9560def | ||
|
|
c8ff3bb0cc | ||
|
|
1ee1acb94f | ||
|
|
69ee813add | ||
|
|
247874eb43 | ||
|
|
1a29d97330 | ||
|
|
7352937e75 | ||
|
|
ec59e22ec0 | ||
|
|
ebc31d93d9 | ||
|
|
1741706a00 | ||
|
|
15459fceae | ||
|
|
1ca90839e4 | ||
|
|
304f1400f9 | ||
|
|
5f01fd2c54 | ||
|
|
d74cd0bff8 | ||
|
|
0bc11358bb | ||
|
|
9a93f60e34 | ||
|
|
bc113af571 | ||
|
|
3269d85838 | ||
|
|
041b97af42 | ||
|
|
597f277dca | ||
|
|
4b62ceec81 | ||
|
|
ec8aa63648 | ||
|
|
271ed603e1 | ||
|
|
6acf436edc | ||
|
|
954444af1c | ||
|
|
d5036d16cd | ||
|
|
21312c5617 | ||
|
|
bba69953cd | ||
|
|
36efb40d10 | ||
|
|
4264d66e09 | ||
|
|
1e46927bba | ||
|
|
d3d427483f | ||
|
|
33b2586062 | ||
|
|
a77a5ac2a0 | ||
|
|
98f297ba23 | ||
|
|
3f9a51509a | ||
|
|
92e8e7960b | ||
|
|
594e178180 | ||
|
|
0f708d90df | ||
|
|
a70c2d02ad | ||
|
|
13c4ad8e20 | ||
|
|
2d9226ff60 | ||
|
|
2d0d3e1f63 | ||
|
|
20beadbcb1 | ||
|
|
95bc08f56b | ||
|
|
ec659dc825 | ||
|
|
aae19fd69c | ||
|
|
dc71b40a5f | ||
|
|
0006ef0cc8 | ||
|
|
2e8a110092 | ||
|
|
0aeb9d9a62 | ||
|
|
4bcab49b68 | ||
|
|
a6a7ed5f8c | ||
|
|
1e3b108ef9 | ||
|
|
dac856d4f2 | ||
|
|
607f822b20 | ||
|
|
2ba2192f6f | ||
|
|
b10e766b73 | ||
|
|
f01bc46dfe | ||
|
|
e44e04a5f5 | ||
|
|
7c2b3c6ab5 | ||
|
|
2c85ca538e | ||
|
|
0c33720da2 | ||
|
|
05b0b4f2ae | ||
|
|
0ca13f7ff6 | ||
|
|
d144cbfe09 | ||
|
|
ef3de8e1f7 | ||
|
|
3669ad06b0 | ||
|
|
9c64402c80 | ||
|
|
f4e81d2e19 | ||
|
|
3385cfe8cf | ||
|
|
00d35d412b | ||
|
|
4a304171a6 | ||
|
|
1acef3bef8 | ||
|
|
9cd12c0bcd | ||
|
|
8f5b808cfe | ||
|
|
cbf5f3e4de | ||
|
|
45f7bb6a9f | ||
|
|
45a7449ceb | ||
|
|
b697d670cb | ||
|
|
ee1b80e8e5 | ||
|
|
30c157894d | ||
|
|
81b0f3f5c0 | ||
|
|
959e0b9dfb | ||
|
|
9c503c5689 | ||
|
|
5707f715aa | ||
|
|
555b593770 | ||
|
|
14732a0d27 | ||
|
|
ff47163220 | ||
|
|
825a304b38 | ||
|
|
0193199d57 | ||
|
|
2f6d883fcb | ||
|
|
fd805805a8 | ||
|
|
48ca85ec46 | ||
|
|
fe4588a87e | ||
|
|
c815908774 | ||
|
|
4012f6cd34 | ||
|
|
6d519d366e | ||
|
|
5ced594638 | ||
|
|
84470be578 | ||
|
|
9791a38e93 | ||
|
|
1443b70f4d | ||
|
|
ac825d35af | ||
|
|
a3cd82292c | ||
|
|
c8bd932ff3 | ||
|
|
8f952922ba | ||
|
|
fafe66921e | ||
|
|
7f5093d00d | ||
|
|
a8f637446d | ||
|
|
f46ebab88c | ||
|
|
c3da3a5048 | ||
|
|
9c6ab6372f | ||
|
|
17f17157b9 | ||
|
|
399194bb7a | ||
|
|
a46962c4c1 | ||
|
|
8694cd7c62 | ||
|
|
d76f84108f | ||
|
|
cecb628970 | ||
|
|
27720df27a | ||
|
|
ee795ec927 | ||
|
|
9d978102bc | ||
|
|
7835898d92 | ||
|
|
5e6beee12c | ||
|
|
076a67b1bf | ||
|
|
158427237e | ||
|
|
663327f408 | ||
|
|
aebf95f6f2 | ||
|
|
de52238d06 | ||
|
|
9c6aee1cdf | ||
|
|
668e9414d8 | ||
|
|
27c0786c3b | ||
|
|
cd51c0ed25 | ||
|
|
b9d5b5cf10 | ||
|
|
bf8b18f80e | ||
|
|
ab549924e8 | ||
|
|
b745ee2833 | ||
|
|
79a5197d1d | ||
|
|
942b3e2aae | ||
|
|
97612e5913 | ||
|
|
12a9f18dcc | ||
|
|
e1675f98d4 | ||
|
|
22db6951dc | ||
|
|
3e904497b1 | ||
|
|
a94cb97f4a | ||
|
|
df18cb7401 | ||
|
|
e969599750 | ||
|
|
58de6a8294 | ||
|
|
7bea3e0303 | ||
|
|
8326ba3235 | ||
|
|
ace6464105 | ||
|
|
378bc323c2 | ||
|
|
41f7f6302b | ||
|
|
d21a6ce41f | ||
|
|
5f68d9921d | ||
|
|
b4cbe82e26 | ||
|
|
697f151896 | ||
|
|
162d75c68c | ||
|
|
86410b610b | ||
|
|
2995eff3e3 | ||
|
|
d2449123be | ||
|
|
d856a7745c | ||
|
|
e76be10b70 | ||
|
|
9406a69dc0 | ||
|
|
acce88acb5 | ||
|
|
b0b5725863 | ||
|
|
ed13841255 | ||
|
|
a908ea8cb5 | ||
|
|
be21bbbc25 | ||
|
|
c96c4e3fa4 | ||
|
|
136be0dd92 | ||
|
|
f83ca6dc04 | ||
|
|
fa4cc616ff | ||
|
|
1fcb6f273a | ||
|
|
fc6c57d330 | ||
|
|
7a1487a726 | ||
|
|
0d25b8c4d5 | ||
|
|
1f8b7c2711 | ||
|
|
7ded1f054b | ||
|
|
7daca4fc60 | ||
|
|
1b32c44aa3 | ||
|
|
867f3ba889 | ||
|
|
c82d4105ec | ||
|
|
5f0143a774 | ||
|
|
6827f384c9 | ||
|
|
30b3953b45 | ||
|
|
d3539e79ca | ||
|
|
7551efdd70 | ||
|
|
6a8b78d6db | ||
|
|
5fa0678ef1 | ||
|
|
36725334b1 | ||
|
|
10397e5d0e | ||
|
|
ac2ed39761 | ||
|
|
ac69a5f84a | ||
|
|
9e339b8ded | ||
|
|
f33961a1df | ||
|
|
40d87232e6 | ||
|
|
cb7dbaebc9 | ||
|
|
4c5ba0d841 | ||
|
|
539616f85a | ||
|
|
a1d2da174b | ||
|
|
24b07e7ae6 | ||
|
|
7ca7e599a5 | ||
|
|
72ce1c5159 | ||
|
|
f9788f6987 | ||
|
|
b972e52710 | ||
|
|
510522ff57 | ||
|
|
a1429e482e | ||
|
|
520f6fcc87 | ||
|
|
be06406cb8 | ||
|
|
5f9a26a009 | ||
|
|
ddaeb8933c | ||
|
|
191116a62e | ||
|
|
5977a2d6a7 | ||
|
|
e6f3ba89ec | ||
|
|
db677a6f75 | ||
|
|
479baa64e5 | ||
|
|
1f8105e44c | ||
|
|
3869025575 | ||
|
|
c25eebd321 | ||
|
|
ccebd55230 | ||
|
|
f9b7a3e692 | ||
|
|
3887a6d012 | ||
|
|
4bd7be25df | ||
|
|
1d56fdab49 | ||
|
|
5afc57be8e | ||
|
|
8a9ec2c624 | ||
|
|
f22e2721dc | ||
|
|
5da827856c | ||
|
|
6000901868 | ||
|
|
7bd91cdd6e | ||
|
|
299454e654 | ||
|
|
52739303db | ||
|
|
476ee44449 | ||
|
|
7c6f3c6cb2 | ||
|
|
abfc726cc4 | ||
|
|
e7ece2a742 | ||
|
|
df7b871807 | ||
|
|
95cfa1c3a7 | ||
|
|
cfdca5342c | ||
|
|
5f84978261 | ||
|
|
7c7523d968 | ||
|
|
3008f1f46e | ||
|
|
2ac69799ec | ||
|
|
df753a2942 | ||
|
|
425b53e062 | ||
|
|
7abee00e97 | ||
|
|
e565fbba32 | ||
|
|
0073cdd512 | ||
|
|
6e1303417c | ||
|
|
cfe8581b9b | ||
|
|
7ddcb409b6 | ||
|
|
533795bb75 | ||
|
|
b33087c6d3 | ||
|
|
2d533fa2a9 | ||
|
|
4659df3c49 | ||
|
|
46f9604fd6 | ||
|
|
9d5cdc4b03 | ||
|
|
9fbc16e840 | ||
|
|
39f063f94d | ||
|
|
f67d19788e | ||
|
|
1cfc57d91b | ||
|
|
9ea42aad43 | ||
|
|
fffeb599f8 | ||
|
|
13686b8d12 | ||
|
|
1ac29856e1 | ||
|
|
38d86a4aa3 | ||
|
|
9b65dbabc1 | ||
|
|
610e13c424 | ||
|
|
9f0f739be9 | ||
|
|
4ccb224ca8 | ||
|
|
9b26ab91a5 | ||
|
|
ead2757410 | ||
|
|
3cc3ab97ed | ||
|
|
5d17e0d33e | ||
|
|
76f9c11768 | ||
|
|
cbebb2687a | ||
|
|
3961e49115 | ||
|
|
9ace5d5b19 | ||
|
|
b0725ec91a | ||
|
|
e0ec1c804e | ||
|
|
36a08afe2a | ||
|
|
d228d3127c | ||
|
|
ffc91880e1 | ||
|
|
3a09f847bb | ||
|
|
0a228eec58 | ||
|
|
59fae43a26 | ||
|
|
ff7281a866 | ||
|
|
0b4df63ee2 | ||
|
|
d53f00fb69 | ||
|
|
ba9ddb94fa | ||
|
|
5070eb57b6 | ||
|
|
0f2f8f179e | ||
|
|
18a83d872b | ||
|
|
d8c00fda7b | ||
|
|
e6015c7c26 | ||
|
|
b70c4be0d9 | ||
|
|
2856b9535e | ||
|
|
62610f975f | ||
|
|
6bf7f5b84f | ||
|
|
c96654e8eb | ||
|
|
b37db2a9db | ||
|
|
adc42f10ab | ||
|
|
4ea71cf959 | ||
|
|
01ee621b40 | ||
|
|
ce62364df5 | ||
|
|
8bd7cfc472 | ||
|
|
50daea0824 | ||
|
|
8e09c4566e | ||
|
|
a1b4a3f698 | ||
|
|
f30ca2fd58 | ||
|
|
6667bfa0a9 | ||
|
|
33859eda7a | ||
|
|
487391eab6 | ||
|
|
d0bf1b11b1 | ||
|
|
511e7438d7 | ||
|
|
5071c6aa0a | ||
|
|
119aa701d0 | ||
|
|
d639db1a9d | ||
|
|
abcd88ab09 | ||
|
|
140e8ff0d9 | ||
|
|
7b1a6d8811 | ||
|
|
80e0df803f | ||
|
|
a1486e0c08 | ||
|
|
314ecdc15a | ||
|
|
39ab213a0a | ||
|
|
c750a3e42c | ||
|
|
fc851bfb71 | ||
|
|
89ba3aae12 | ||
|
|
cf9dd9cf3b | ||
|
|
1f03218e56 | ||
|
|
9cbc2661e1 | ||
|
|
1e4aa8a7d4 | ||
|
|
1540e46180 | ||
|
|
b9fbc2faab | ||
|
|
7313a31b92 | ||
|
|
9599296d97 | ||
|
|
8ac9bc5858 | ||
|
|
73785e645b | ||
|
|
5a41427b37 | ||
|
|
ec9b7d57ac | ||
|
|
a59952f4c9 | ||
|
|
9ad29a120a | ||
|
|
bc231c8c92 | ||
|
|
2fd128fe15 | ||
|
|
1b91bcb342 | ||
|
|
bd71369ca5 | ||
|
|
d548c65214 | ||
|
|
301215b860 | ||
|
|
76dfe7f707 | ||
|
|
46accc5829 | ||
|
|
bb9be9ed00 | ||
|
|
c3ee1cf7f9 | ||
|
|
ce074f86c3 | ||
|
|
082b8cb318 | ||
|
|
85e4d13987 | ||
|
|
d5546e27cf | ||
|
|
45569b3a65 | ||
|
|
ce79f12b7b | ||
|
|
c0b462dd42 | ||
|
|
5721fa222a | ||
|
|
d1e88d085e | ||
|
|
afe805a586 | ||
|
|
da83df8bb7 | ||
|
|
0f98d16ad1 | ||
|
|
1bf74156a2 | ||
|
|
25f79b38d8 | ||
|
|
0603a70b79 | ||
|
|
9b4334593c | ||
|
|
99b8ef66fd | ||
|
|
b67bc26c4d | ||
|
|
82da0a1808 | ||
|
|
1e318cc920 | ||
|
|
036e845b65 | ||
|
|
9a010b5d73 | ||
|
|
4ad03aebbb | ||
|
|
a70eddca0d | ||
|
|
b7d5d72f78 | ||
|
|
153bd2fc0d | ||
|
|
172ebc873c | ||
|
|
33a5a447a8 | ||
|
|
e27deedf24 | ||
|
|
3d631d7389 | ||
|
|
1b98d6343f | ||
|
|
34ff11cc2f | ||
|
|
c4b15b06e6 | ||
|
|
5e494c370a | ||
|
|
fbc7f2bbaf | ||
|
|
47bf575dfa | ||
|
|
08fe131e34 | ||
|
|
09e21afaaa | ||
|
|
fa918cde67 | ||
|
|
179d6df8c0 | ||
|
|
84dda879d0 | ||
|
|
070f9108ff | ||
|
|
4ae1928609 | ||
|
|
804ef2d9ee | ||
|
|
de3ed511b1 | ||
|
|
844d8fc641 | ||
|
|
963cefb1bb | ||
|
|
3eb017ee50 | ||
|
|
7ece654913 | ||
|
|
1b6556acac | ||
|
|
ff8aa96e68 | ||
|
|
a403696909 | ||
|
|
cd85c690df | ||
|
|
3afc06730d | ||
|
|
89a6bc1ca9 | ||
|
|
e1fa8cca42 | ||
|
|
6fd2cebd85 | ||
|
|
802519ea53 | ||
|
|
fdf8f817d3 | ||
|
|
51e16a559d | ||
|
|
7168e2bfeb | ||
|
|
a9d159b065 | ||
|
|
f3ce53be67 | ||
|
|
e5562a8fda | ||
|
|
3770ecec6f | ||
|
|
7f44e35134 | ||
|
|
ccf7d491f7 | ||
|
|
8f129be7fb | ||
|
|
139ce2d98a | ||
|
|
7f5b035542 | ||
|
|
501bad4fd6 | ||
|
|
9ffd90edcf | ||
|
|
a863f02fc0 | ||
|
|
abf04e0d1c | ||
|
|
cba74d6208 | ||
|
|
d0df777779 | ||
|
|
d353146b32 | ||
|
|
e59111ddf3 | ||
|
|
40dbde3a86 | ||
|
|
3f08a21500 | ||
|
|
ec891da5a7 | ||
|
|
c72c2bee4b | ||
|
|
d0b33ef971 | ||
|
|
77ad1e47c1 | ||
|
|
9bf6ef1857 | ||
|
|
ea9ee98dd7 | ||
|
|
2909ee7529 | ||
|
|
52979e6206 | ||
|
|
af9f073374 | ||
|
|
63b889aba6 | ||
|
|
f0908fd16b | ||
|
|
6a27f2c096 | ||
|
|
55c9a74046 | ||
|
|
370735f2e4 | ||
|
|
8d4b04a365 | ||
|
|
6f9ada3843 | ||
|
|
ae6fa39b20 | ||
|
|
1599f28a1f | ||
|
|
106518995c | ||
|
|
10e49d5a1e | ||
|
|
a95f19a9f3 | ||
|
|
5b3f2efc2e | ||
|
|
4e648d883d | ||
|
|
02ada73e46 | ||
|
|
e323998c19 | ||
|
|
b25a3c3f11 | ||
|
|
c21cf7cf4b | ||
|
|
d0dfef0321 | ||
|
|
9ccc60ae83 | ||
|
|
8b5dadd520 | ||
|
|
323665eec5 | ||
|
|
cec41c4c9d | ||
|
|
1c49ad8a03 | ||
|
|
ef856f2fe0 | ||
|
|
c569749a21 | ||
|
|
328abbe8d8 | ||
|
|
5fa3c57f37 | ||
|
|
92c14834f4 | ||
|
|
bb8ab4aa4f | ||
|
|
fa9d6d7682 | ||
|
|
6a31970946 | ||
|
|
47d1b9ee33 | ||
|
|
dce4a696bf | ||
|
|
b78021fcd1 | ||
|
|
b11b6e4dda | ||
|
|
d5d6252e5b | ||
|
|
14c0efd947 | ||
|
|
3d0da40b0d | ||
|
|
75e511ab32 | ||
|
|
43bb0877fc | ||
|
|
4953b8bfa5 | ||
|
|
a2cb0c3029 | ||
|
|
032af13e8b | ||
|
|
20acbf2a93 | ||
|
|
ced9a44bc8 | ||
|
|
830a24d326 | ||
|
|
cc5049f41e | ||
|
|
f105bf6f5b | ||
|
|
c3f4b6ec1b | ||
|
|
36b3d034d2 | ||
|
|
8d3dc3ed37 | ||
|
|
c77eb16a79 | ||
|
|
3fc15f302b | ||
|
|
e20614ed03 | ||
|
|
e6ade0739d | ||
|
|
5cbd245bad | ||
|
|
b4dae5f577 | ||
|
|
e30e21cdf5 | ||
|
|
a362528b38 | ||
|
|
de9f63b920 | ||
|
|
3b8a1fee1d | ||
|
|
b9cba282ee | ||
|
|
8765748af2 | ||
|
|
f7d05ab615 | ||
|
|
ec17932998 | ||
|
|
25236e8d34 | ||
|
|
35bca52095 | ||
|
|
6f619e30b6 | ||
|
|
0bff632023 | ||
|
|
d2f69b4d5d | ||
|
|
5c8b083c66 | ||
|
|
1b06646e3f | ||
|
|
9eaf76fc72 | ||
|
|
30f7f59109 | ||
|
|
9dfbcbea7a | ||
|
|
8b0a1174bd | ||
|
|
c4f77e41b6 | ||
|
|
eafb7ad68c | ||
|
|
337666a80c | ||
|
|
f3f36ae094 | ||
|
|
1b000de186 | ||
|
|
4671b2e4e2 | ||
|
|
8b5551f1eb | ||
|
|
0fa6fc2279 | ||
|
|
8861552c07 | ||
|
|
4e395f3ddd | ||
|
|
7946306583 | ||
|
|
c90c187756 | ||
|
|
43a30ad483 | ||
|
|
c9eb103b7f | ||
|
|
c11ba93098 | ||
|
|
af0211c200 | ||
|
|
dac656c955 | ||
|
|
6bc84f7865 | ||
|
|
a742ba1ba3 | ||
|
|
ebf8d79496 | ||
|
|
8efd785f67 | ||
|
|
007126d010 | ||
|
|
2c453c5844 | ||
|
|
86fa49b707 | ||
|
|
69a71c999c | ||
|
|
1f16d123b1 | ||
|
|
791afc42da | ||
|
|
cd63594f4a | ||
|
|
d3428db5c5 | ||
|
|
1d3b26e52b | ||
|
|
5c89631aef | ||
|
|
2bf3afe882 | ||
|
|
a6f9704a91 | ||
|
|
a5c9da18fb | ||
|
|
59c8f5f79f | ||
|
|
f44b5b5812 | ||
|
|
74fcfe6c7e | ||
|
|
30bfc8f549 | ||
|
|
a821772a15 | ||
|
|
09e2e03986 | ||
|
|
d29ac175d5 | ||
|
|
d51673ed91 | ||
|
|
f8400651e0 | ||
|
|
6eb76c4598 | ||
|
|
a3a11340ee | ||
|
|
467c036ccf | ||
|
|
849571d5b3 | ||
|
|
94927c382b | ||
|
|
f99fb50071 | ||
|
|
90cdae9775 | ||
|
|
b93ca70b9b | ||
|
|
57096116d9 | ||
|
|
74c45d049e | ||
|
|
12558e2ef9 | ||
|
|
c83fa3fdfc | ||
|
|
5fa281c0ee | ||
|
|
156b0a12aa | ||
|
|
1081efba4f | ||
|
|
72f3f7db44 | ||
|
|
66388c03c9 | ||
|
|
2cd87d4e3a | ||
|
|
abee2d7726 | ||
|
|
43b9e261ed | ||
|
|
30b95117d5 | ||
|
|
f33bdc967a | ||
|
|
f03bd3541a | ||
|
|
e89e1b79bf | ||
|
|
a0d920bae5 | ||
|
|
1de4ad84a2 | ||
|
|
743a35d2dc | ||
|
|
892dcc25fc | ||
|
|
2836fc5d02 | ||
|
|
a43e73eb81 | ||
|
|
e6157688b4 | ||
|
|
95b987c3ac | ||
|
|
d1c86caeaa | ||
|
|
799afd934d | ||
|
|
5782866b28 | ||
|
|
a3f0f7b59c | ||
|
|
66d59b683f | ||
|
|
d07885c3c6 | ||
|
|
6274287b95 | ||
|
|
3890c64b86 | ||
|
|
e0ae7fac7c | ||
|
|
c323bcdca8 | ||
|
|
1d37e604b0 | ||
|
|
05ec1c0816 | ||
|
|
8a8eafcc47 | ||
|
|
79235d3197 | ||
|
|
d09c9a8fd3 | ||
|
|
cb15ac68aa | ||
|
|
1209eff35b | ||
|
|
da097641d1 | ||
|
|
9fc4c79d3f | ||
|
|
689eb5c788 | ||
|
|
a639e6c992 | ||
|
|
b6828ac542 | ||
|
|
24e4bf6a80 | ||
|
|
6ddf2df795 | ||
|
|
99e6dce2a2 | ||
|
|
3419a755d7 | ||
|
|
0671e90755 | ||
|
|
152a77b4f6 | ||
|
|
c7ec06ba8e | ||
|
|
f96f3e5e85 | ||
|
|
3c164a7525 | ||
|
|
2b6f4a741d | ||
|
|
9e264f222c | ||
|
|
2c60c1d450 | ||
|
|
93603c443d | ||
|
|
08c6d2dba6 | ||
|
|
c2f3bed087 | ||
|
|
f93e67f60f | ||
|
|
059e06b49f | ||
|
|
b928899267 | ||
|
|
e1c4fbda9a | ||
|
|
6c38bc48ca | ||
|
|
42b9d6bc2e | ||
|
|
39d61f89a2 | ||
|
|
c18293c806 | ||
|
|
3c0eb44a7c | ||
|
|
29d2647a0a | ||
|
|
59b883333b | ||
|
|
d69e5e7e94 | ||
|
|
c3b4f37dce | ||
|
|
6f93677a16 | ||
|
|
1fba5dd495 | ||
|
|
80a5e57301 | ||
|
|
a786537995 | ||
|
|
8b65c43971 | ||
|
|
937ae45cd8 | ||
|
|
c210a09fdf | ||
|
|
6446da199d | ||
|
|
a046e398d5 | ||
|
|
c10042bc68 | ||
|
|
440adedd51 | ||
|
|
5232221c68 | ||
|
|
9b7ddf1602 | ||
|
|
a4f6289b4f | ||
|
|
056282a67b | ||
|
|
5657eb0c6c | ||
|
|
e4dad47833 | ||
|
|
c15d5acd01 | ||
|
|
3f5f0b4dc0 | ||
|
|
6d9634a306 | ||
|
|
a9c2b784c2 | ||
|
|
97439fb4ff | ||
|
|
82a0e26723 | ||
|
|
b3582e243e | ||
|
|
577403d2ca | ||
|
|
a8ad56bd5c | ||
|
|
2c192911dd | ||
|
|
f49894d78c | ||
|
|
30c9b2b165 | ||
|
|
870bea622a | ||
|
|
1258946332 | ||
|
|
61ee75c9d4 | ||
|
|
3704715569 | ||
|
|
2829f07b30 | ||
|
|
6702bf177f | ||
|
|
be40fd7800 | ||
|
|
441d03061d | ||
|
|
6e894d5474 | ||
|
|
e559289081 | ||
|
|
106a949bb5 | ||
|
|
8fa69349e2 | ||
|
|
9102dfec84 | ||
|
|
ea01b60d82 | ||
|
|
928809708d | ||
|
|
2768349b41 | ||
|
|
d680725432 | ||
|
|
8b05b38909 | ||
|
|
1289447ac4 | ||
|
|
f1c7c499bf | ||
|
|
fad054567f | ||
|
|
c81bf9bf17 | ||
|
|
b6bd9844c4 | ||
|
|
a6e7001098 | ||
|
|
28ab3c9991 | ||
|
|
662d105a15 | ||
|
|
35d80f6a3a | ||
|
|
8d7fa09ac3 | ||
|
|
9bfccebaa3 | ||
|
|
d0a2e6776c | ||
|
|
9119f29f16 | ||
|
|
59128f6107 | ||
|
|
64a4e00654 | ||
|
|
199b7bc5b2 | ||
|
|
d71f8f6c11 | ||
|
|
53b8114278 | ||
|
|
ec4a2991dc | ||
|
|
85b827115f | ||
|
|
8514873d3d | ||
|
|
a98e5a19c0 | ||
|
|
00b5a73ca2 | ||
|
|
974838e972 | ||
|
|
c5b3a96b64 | ||
|
|
02818b03d5 | ||
|
|
c3cc27b1d8 | ||
|
|
5a902e85b6 | ||
|
|
638f43b009 | ||
|
|
e850a9fde0 | ||
|
|
b771185497 | ||
|
|
4976ad0ccf | ||
|
|
958178facc | ||
|
|
9a127e2710 | ||
|
|
0ebc10bb13 | ||
|
|
1de50427de | ||
|
|
49878e46f3 | ||
|
|
9427bd6eec | ||
|
|
85db00acd6 | ||
|
|
a3943834e1 | ||
|
|
53ea54c90f | ||
|
|
666bd54f80 | ||
|
|
f31e66f99c | ||
|
|
0707071217 | ||
|
|
ea7f040a8e | ||
|
|
7acd8858d0 | ||
|
|
84ee878ee3 | ||
|
|
b633dc9918 | ||
|
|
092bb45d80 | ||
|
|
ccc8319e5f | ||
|
|
f5bfcb05b2 | ||
|
|
daca795ff4 | ||
|
|
67b3e95477 | ||
|
|
3892973c2b | ||
|
|
5683b67955 | ||
|
|
bf884c6dff | ||
|
|
877c60e798 | ||
|
|
c0323a859a | ||
|
|
1c95ce5e42 | ||
|
|
622ac75d6b | ||
|
|
43c224b608 | ||
|
|
87062ca29f | ||
|
|
bf0106a903 | ||
|
|
d7cfaf1336 | ||
|
|
714e978aac | ||
|
|
6d0e8939c1 | ||
|
|
fafb59a0dc | ||
|
|
7beeeca1de | ||
|
|
bb40d3f9f4 | ||
|
|
5eaf5ed9bc | ||
|
|
d312aad0c1 | ||
|
|
98ac731a94 | ||
|
|
f930f9f6f6 | ||
|
|
bf6c7ea1f7 | ||
|
|
569c7fb353 | ||
|
|
92f2120b41 | ||
|
|
2b9e2e9038 | ||
|
|
4799ed65a4 | ||
|
|
2a6a2b2d0a | ||
|
|
277bb6b756 | ||
|
|
e057d60ca1 | ||
|
|
dc542c9909 | ||
|
|
2928feab6a | ||
|
|
b7f5d60a7e | ||
|
|
11dbaed93f | ||
|
|
ebdae40c34 | ||
|
|
d447f02608 | ||
|
|
0b862d6dc1 | ||
|
|
2850e97062 | ||
|
|
1d6ad94698 | ||
|
|
50319d95be | ||
|
|
74a4760171 | ||
|
|
f9f4ba0203 | ||
|
|
545cea9371 | ||
|
|
c7a1eec197 | ||
|
|
f8deb3b653 | ||
|
|
58672f238e | ||
|
|
66ebef88a0 | ||
|
|
272537ad66 | ||
|
|
95afca84d2 | ||
|
|
8c1b558a38 | ||
|
|
8e680b0d66 | ||
|
|
4744f6dd1d | ||
|
|
6532572c0b | ||
|
|
85b77bf993 | ||
|
|
c5cb5b2ac5 | ||
|
|
34876429cb | ||
|
|
226dc93377 | ||
|
|
5751fb4a86 | ||
|
|
3e1629b963 | ||
|
|
2bea67436c | ||
|
|
163d5239e1 | ||
|
|
78034a3d3b | ||
|
|
8efc0954af | ||
|
|
6dbd0de785 | ||
|
|
1c74eea15d | ||
|
|
d69cbad3f9 | ||
|
|
689ccf050d | ||
|
|
99fe6f9a78 | ||
|
|
958027e9e5 | ||
|
|
33078ffeba | ||
|
|
2b5cf7aebd | ||
|
|
6303a14f1a | ||
|
|
dc409847c8 | ||
|
|
445a917081 | ||
|
|
ed8a1e0c94 | ||
|
|
dc1cd38b85 | ||
|
|
61c91a521d | ||
|
|
b4263161d9 | ||
|
|
d115f54e18 | ||
|
|
250c83949b | ||
|
|
8161661bbb | ||
|
|
c66f24bf21 | ||
|
|
69c6b12309 | ||
|
|
b4354d6d72 | ||
|
|
a8e5c16716 | ||
|
|
02a9029229 | ||
|
|
e60b163500 | ||
|
|
af629d027c | ||
|
|
cb909e068c | ||
|
|
5e1d1487de | ||
|
|
407d05d5e8 | ||
|
|
988204b65e | ||
|
|
8b11c10364 | ||
|
|
cff2cf5eaf | ||
|
|
5a5111e51f | ||
|
|
1372b916ff | ||
|
|
cde4fd9054 | ||
|
|
8df2ceb118 | ||
|
|
a7460d5856 | ||
|
|
8e81e037e7 | ||
|
|
5b3d1ed37b | ||
|
|
31933d1f8f | ||
|
|
6087c7f96c | ||
|
|
ac8579d7f8 | ||
|
|
e187503af0 | ||
|
|
95e9cd174d | ||
|
|
b0a9998899 | ||
|
|
4ac518143c | ||
|
|
78d7be03bf | ||
|
|
fcdf022370 | ||
|
|
a551d5bf05 | ||
|
|
a71320f229 | ||
|
|
e8cf8cce56 | ||
|
|
86e6e6be73 | ||
|
|
41a3a6c5d3 | ||
|
|
664095be9f | ||
|
|
aba5b47101 | ||
|
|
6ffc2c3b69 | ||
|
|
7115a56a21 | ||
|
|
71ed60ac69 | ||
|
|
404bb0d0ac | ||
|
|
2616d09d07 | ||
|
|
1703c46f8b | ||
|
|
82c2945b95 | ||
|
|
a3e56c5b67 | ||
|
|
07d9df5a7f | ||
|
|
800499ac95 | ||
|
|
20168f092c | ||
|
|
dbdf12e6a5 | ||
|
|
0a416094b6 | ||
|
|
069f218a98 | ||
|
|
5349d9af9a | ||
|
|
325b9e4abb | ||
|
|
e0de33a847 | ||
|
|
673ab99f16 | ||
|
|
e53317616f | ||
|
|
6da51f66cd | ||
|
|
034a5cae42 | ||
|
|
7bcad978ba | ||
|
|
b9ff98b776 | ||
|
|
df1266ed6e | ||
|
|
4f63d5b7d5 | ||
|
|
a8308c6690 | ||
|
|
9240eb2ee9 | ||
|
|
9c6fd0a346 | ||
|
|
638a8b7435 | ||
|
|
c125edce88 | ||
|
|
dfda4bf46a | ||
|
|
b806440fe3 | ||
|
|
687f622f95 | ||
|
|
c04d87b88b | ||
|
|
6742077be9 | ||
|
|
9111a2a768 | ||
|
|
383070b5f8 | ||
|
|
29ad75ff83 | ||
|
|
348fa7b88e | ||
|
|
f1a031d983 | ||
|
|
a3311881b5 | ||
|
|
861168c82e | ||
|
|
2142a46875 | ||
|
|
9fbb77c394 | ||
|
|
67feae118c | ||
|
|
f9f73b74a4 | ||
|
|
4246239742 | ||
|
|
32a189c4f9 | ||
|
|
a61df2e304 | ||
|
|
fd76da6d21 | ||
|
|
add77dda1a | ||
|
|
4964702bad | ||
|
|
ee88278d34 | ||
|
|
9a65ac929d | ||
|
|
9b428e449c | ||
|
|
70b9eef84e | ||
|
|
3cf1d6ac15 | ||
|
|
fe50fa5abf | ||
|
|
84c0953dfa | ||
|
|
7e7549fdeb | ||
|
|
44dd83da70 | ||
|
|
ed1e70076b | ||
|
|
0eb37550d3 | ||
|
|
3fc6cda1a6 | ||
|
|
9fb09f41b6 | ||
|
|
2107f2eeec | ||
|
|
e2900aaf68 | ||
|
|
20852f81df | ||
|
|
0033948814 | ||
|
|
674fadf1b3 | ||
|
|
613e94ca6f | ||
|
|
b7094ba03c | ||
|
|
f03cbcc678 | ||
|
|
ca1deee4d3 | ||
|
|
1dc8937659 | ||
|
|
ab7852e129 | ||
|
|
f622d7c806 | ||
|
|
c007822f02 | ||
|
|
1612a6cb79 | ||
|
|
1131098297 | ||
|
|
d6e13af09c | ||
|
|
5f797b5bda | ||
|
|
ca86a52a6c | ||
|
|
ff772aece8 | ||
|
|
9e42e3d20a | ||
|
|
b83a25de97 | ||
|
|
1269b98a27 | ||
|
|
5ffc202206 | ||
|
|
c39cff6af7 | ||
|
|
fc6d47bc5c | ||
|
|
6e1ccb9a07 | ||
|
|
75f0f16626 | ||
|
|
0357c1c077 | ||
|
|
f6f5a14a32 | ||
|
|
b53840e998 | ||
|
|
bac4f6c7ac | ||
|
|
6a9b345420 | ||
|
|
cc590754f3 | ||
|
|
4ec2080620 | ||
|
|
0fdddc243e | ||
|
|
66bc904d36 | ||
|
|
3de3451b3a | ||
|
|
26cb79b7bb | ||
|
|
ae1d532799 | ||
|
|
2eda2d142d | ||
|
|
911637a272 | ||
|
|
da3c1a9eba | ||
|
|
09b7902e14 | ||
|
|
dc1f4fe50e | ||
|
|
248bde3e58 | ||
|
|
82266506f2 | ||
|
|
423972a7d8 | ||
|
|
54229dbc54 | ||
|
|
89ccd723ce | ||
|
|
890f9e2884 | ||
|
|
087c7441f7 | ||
|
|
ebe950642c | ||
|
|
738aef1b75 | ||
|
|
6621aee4c0 | ||
|
|
431fcd571a | ||
|
|
399b71b9f0 | ||
|
|
051c64ad4d | ||
|
|
856768a6c0 | ||
|
|
7cdb3e5017 | ||
|
|
7b092df554 | ||
|
|
ad6da56fde | ||
|
|
f5f73282c8 | ||
|
|
ec1afe7a29 | ||
|
|
44b419af51 | ||
|
|
83958f54fb | ||
|
|
0bc2963b7d | ||
|
|
b1408532df | ||
|
|
6e582b4002 | ||
|
|
a346c5d21d | ||
|
|
bea72b4aae | ||
|
|
e31aa294c3 | ||
|
|
2152b58b60 | ||
|
|
9d6d4e292b | ||
|
|
93fbade63d | ||
|
|
232b9d793f | ||
|
|
9aca39d006 | ||
|
|
47d1996c00 | ||
|
|
be5a83c8ce | ||
|
|
01d2aff838 | ||
|
|
bc99763494 | ||
|
|
524b8ef2fe | ||
|
|
7982aae1c4 | ||
|
|
4af82ec887 | ||
|
|
ab91a77f0c | ||
|
|
169afafaf7 | ||
|
|
c7cad98c9d | ||
|
|
acf5a65a36 | ||
|
|
9740abac58 | ||
|
|
5a4de97cf0 | ||
|
|
b8587b3878 | ||
|
|
b47310ebf8 | ||
|
|
dae561e3ea | ||
|
|
2c5cec930a | ||
|
|
7a1eea097c | ||
|
|
65916660b9 | ||
|
|
8118725827 | ||
|
|
0db43a9227 | ||
|
|
c24783568e | ||
|
|
e9207384c5 | ||
|
|
becccc16ec | ||
|
|
b354aa367c | ||
|
|
089b5b16e3 | ||
|
|
5ffce97ffc | ||
|
|
c444c3eee7 | ||
|
|
665445dae9 | ||
|
|
75883dceb1 | ||
|
|
247532bf34 | ||
|
|
84066778b8 | ||
|
|
6f4a99a81f | ||
|
|
61d275095c | ||
|
|
d61593bed3 | ||
|
|
42c5e60cdc | ||
|
|
6bcf877494 | ||
|
|
3da2f5af5d | ||
|
|
c9d91bd0a8 | ||
|
|
bdb9312b86 | ||
|
|
762ad9c51c | ||
|
|
ad3a8d2791 | ||
|
|
5a2f55d0e0 | ||
|
|
31ff82c1c8 | ||
|
|
83c35d376a | ||
|
|
e0e7783359 | ||
|
|
96ca36886a | ||
|
|
d471bfae9b | ||
|
|
467fe2be80 | ||
|
|
b58a00d805 | ||
|
|
a6318f2dcd | ||
|
|
17c6b98e84 | ||
|
|
65b1500ae5 | ||
|
|
6d1f314a4b | ||
|
|
f65db39c04 | ||
|
|
3cd4eaa1f0 | ||
|
|
f5af1323da | ||
|
|
4f4ddb6e5f | ||
|
|
dedae49531 | ||
|
|
b5b00d6b8f | ||
|
|
669fa7396d | ||
|
|
15d761f763 | ||
|
|
159d2cd692 | ||
|
|
868cfdb5f4 | ||
|
|
2c50355271 | ||
|
|
4ed6125359 | ||
|
|
adfdb3ed81 | ||
|
|
9181202876 | ||
|
|
b171ddacd0 | ||
|
|
952f0b9b81 | ||
|
|
a4d1ec9d5f | ||
|
|
022b52007c | ||
|
|
d20f9f51bc | ||
|
|
160ad3376d | ||
|
|
1469ebc6da | ||
|
|
3336939f08 | ||
|
|
616b1a997f | ||
|
|
249b9c657d | ||
|
|
f5ff85a77a | ||
|
|
de7b261476 | ||
|
|
51c07ae53a | ||
|
|
ae64d0bc30 | ||
|
|
7873cba6b2 | ||
|
|
063b622daf | ||
|
|
b030a36386 | ||
|
|
72c2cfef4f | ||
|
|
5dc4f00ff5 | ||
|
|
8b1bd284bc | ||
|
|
1c38082fcc | ||
|
|
5955806228 | ||
|
|
3ff8da7657 | ||
|
|
6abc189f69 | ||
|
|
01ba4cd795 | ||
|
|
27ae28ada0 | ||
|
|
e9bfe21bdf | ||
|
|
2f1ee9427a | ||
|
|
c8143a724e | ||
|
|
0615005089 | ||
|
|
7cab00227f | ||
|
|
7c5f436a8a | ||
|
|
1513128fe7 | ||
|
|
45d8e3cd09 | ||
|
|
620632fa7b | ||
|
|
0fb0730525 | ||
|
|
1eec62606e | ||
|
|
8fb3eec82e | ||
|
|
6c299173e1 | ||
|
|
96500c22d7 | ||
|
|
747169f70e | ||
|
|
0929b68ecc | ||
|
|
bf203dac41 | ||
|
|
7749aaf387 | ||
|
|
cab4072f8d | ||
|
|
d3efececf3 | ||
|
|
1a335eb047 | ||
|
|
8863ec439e | ||
|
|
c45d65f8eb | ||
|
|
fafabe6da0 | ||
|
|
c9021fc009 | ||
|
|
2407655ab1 | ||
|
|
81bdd2ccc6 | ||
|
|
a8a4b778ca | ||
|
|
d1c6787aa1 | ||
|
|
32708baef1 | ||
|
|
16b47aa177 | ||
|
|
bd73f1cc1d | ||
|
|
c59424668d | ||
|
|
34c1a2b716 | ||
|
|
6612f2a7e6 | ||
|
|
d3cb1a4bdd | ||
|
|
60689cf49b | ||
|
|
756974b448 | ||
|
|
45109520ef | ||
|
|
0819253023 | ||
|
|
224bf60e30 | ||
|
|
448e208ddb | ||
|
|
75c70b068f | ||
|
|
0ec5b82c85 | ||
|
|
ed977156e5 | ||
|
|
8d1c6cf60e | ||
|
|
fd5b382022 | ||
|
|
f1f3aad11c | ||
|
|
d25a9c128f | ||
|
|
6e1235fe09 | ||
|
|
9852219b7e | ||
|
|
ab1010388d | ||
|
|
8dd8726505 | ||
|
|
4bc227715b | ||
|
|
e6e820c647 | ||
|
|
02db22f7e7 | ||
|
|
e088fb2b1a | ||
|
|
de00cc778c | ||
|
|
e9b8f2bab4 | ||
|
|
fa43b0cdd8 | ||
|
|
e3c38523b2 | ||
|
|
a4975758bb | ||
|
|
3c41c66fb1 | ||
|
|
73b50710f0 | ||
|
|
2a7fbdb25b | ||
|
|
e869a890ad | ||
|
|
6f12fe9039 | ||
|
|
40ce6ba310 | ||
|
|
64c2502a16 | ||
|
|
9d8e44db59 | ||
|
|
89d4179a4b | ||
|
|
4511ca18de | ||
|
|
ed9a60ae02 | ||
|
|
b6ce13798b | ||
|
|
8d2ee23293 | ||
|
|
81c085a1e2 | ||
|
|
6b52dbceb0 | ||
|
|
157ba53d27 | ||
|
|
97583c8f0d | ||
|
|
fcee5390db | ||
|
|
15070123fa | ||
|
|
098ed89645 | ||
|
|
a03f061ca2 | ||
|
|
6d0e0064bf | ||
|
|
40c94189f7 | ||
|
|
3cd36270b7 | ||
|
|
28a1130e8e | ||
|
|
5fb55770ff | ||
|
|
096686792a | ||
|
|
fa11842c27 | ||
|
|
7faffd3edc | ||
|
|
b620085c34 | ||
|
|
8fa5c69658 | ||
|
|
0f59afe906 | ||
|
|
c9fdb110ab | ||
|
|
cbc4f20d71 | ||
|
|
41613facec | ||
|
|
0a5bf67eff | ||
|
|
5e1834681a | ||
|
|
74da3063dc | ||
|
|
3e8100800a | ||
|
|
66a728edea | ||
|
|
87caad995c | ||
|
|
c50d00f9c1 | ||
|
|
63f2c9dfc8 | ||
|
|
c3c22d1d74 | ||
|
|
a4aedf8336 | ||
|
|
6b2f8098cf | ||
|
|
7f16ba284e | ||
|
|
d4979eff5b | ||
|
|
294b5f66f6 | ||
|
|
69ea97abed | ||
|
|
a2a420e7de | ||
|
|
80da503482 |
@@ -3,3 +3,4 @@
|
|||||||
/nbproject/private/
|
/nbproject/private/
|
||||||
^webrev
|
^webrev
|
||||||
^.hgtip
|
^.hgtip
|
||||||
|
.DS_Store
|
||||||
|
|||||||
23
.hgtags
23
.hgtags
@@ -131,3 +131,26 @@ c4f9ea1ecb55ff44e0dd21d2888ead308c86a3aa jdk8-b05
|
|||||||
bc5710332b294676661103bb20d47d2ea3ba8def jdk8-b07
|
bc5710332b294676661103bb20d47d2ea3ba8def jdk8-b07
|
||||||
24ee504f80412770c6874836cd9e55b536427b1d jdk8-b08
|
24ee504f80412770c6874836cd9e55b536427b1d jdk8-b08
|
||||||
fbf3cabc9e3bb1fcf710941d777cb0400505fbe6 jdk8-b09
|
fbf3cabc9e3bb1fcf710941d777cb0400505fbe6 jdk8-b09
|
||||||
|
f651ce87127980c58e3599daba964eba2f3b4026 jdk8-b10
|
||||||
|
cc1f5ce8e504d350e0b0c28c5f84333f8d540132 jdk8-b11
|
||||||
|
86db042b3385c338e17f7664447fdc7d406dd19e jdk8-b12
|
||||||
|
4cc0ef72c812943743ef4765f1100e2fbe2b1a08 jdk8-b13
|
||||||
|
9ffaa48dbfb0f5936c2b789867d0785faec7071d jdk8-b14
|
||||||
|
b5060eae3b32fd9f884a09774338cd8186d7fafa jdk8-b15
|
||||||
|
736a63b854f321c7824b7e47890135f80aee05e3 jdk8-b16
|
||||||
|
f0eccb2946986fb9626efde7d8ed9c8192623f5c jdk8-b17
|
||||||
|
885050364691ac1ac978305c63f3368a197fb04d jdk8-b18
|
||||||
|
0ff7113a0882ec82d642cb9f0297b4e497807ced jdk8-b19
|
||||||
|
6561530ea757c3f3a6fb171c9cc7b3885cdeca85 jdk8-b20
|
||||||
|
b3a426170188f52981cf4573a2f14d487fddab0d jdk8-b21
|
||||||
|
e8f03541af27e38aafb619b96863e17f65ffe53b jdk8-b22
|
||||||
|
498124337041ad53cbaa7eb110f3d7acd6d4eac4 jdk8-b23
|
||||||
|
7d3720d8c595d1519c31e9ff7366203fc2c61350 jdk8-b24
|
||||||
|
0071a6d64113a35ba345bb1580c256de5ce17d3e jdk8-b25
|
||||||
|
6c805d8ed4e5449ea5e4d158c7bdbd7b0b70efd1 jdk8-b26
|
||||||
|
c51754cddc037b9609e202b9ed38363d8683e7a8 jdk8-b27
|
||||||
|
16ba58282d117247f480aae7a79b88141ade52a3 jdk8-b28
|
||||||
|
e070119aa56ee4dc5506c19d2c4d2eecab8ad429 jdk8-b29
|
||||||
|
23da7804aca0c9c4e6e86532a1453125a76d95ee jdk8-b30
|
||||||
|
bac81e9f7d57b75fba5ab31b571f3fe0dc08af69 jdk8-b31
|
||||||
|
2c5208ccb863db936eab523f49450b3fcd230348 jdk8-b32
|
||||||
|
|||||||
@@ -131,3 +131,26 @@ b910aac18c772b823b1f7da03e2c6528725cc6de jdk8-b05
|
|||||||
0db7ae9f2b1017124c779bccd016c976928859a0 jdk8-b07
|
0db7ae9f2b1017124c779bccd016c976928859a0 jdk8-b07
|
||||||
fb1bc13260d76447e269e843859eb593fe2a8ab2 jdk8-b08
|
fb1bc13260d76447e269e843859eb593fe2a8ab2 jdk8-b08
|
||||||
8adb70647b5af5273dfe6a540f07be667cd50216 jdk8-b09
|
8adb70647b5af5273dfe6a540f07be667cd50216 jdk8-b09
|
||||||
|
a6c4c248e8fa350c35014fa94bab5ac1a1ac3299 jdk8-b10
|
||||||
|
1defbc57940a56f0aa41e9dee87b71e8c8b71103 jdk8-b11
|
||||||
|
8e2104d565baee473895d5eba20e39f85ab4bf9f jdk8-b12
|
||||||
|
26fb81a1e9ceb9baffba216acd9ded62e9e9d5ab jdk8-b13
|
||||||
|
23aa7f2c80a2fa354c80decf03e7c2018177ef4e jdk8-b14
|
||||||
|
a4f28069d44a379cda99dd1d921d19f819726d22 jdk8-b15
|
||||||
|
4e06ae613e99549835896720c7a68c29ad5543f5 jdk8-b17
|
||||||
|
4e06ae613e99549835896720c7a68c29ad5543f5 jdk8-b16
|
||||||
|
7010bd24cdd07bc7daef80702f39124854dec36c jdk8-b18
|
||||||
|
237bc29afbfc6f56a4fe4a6008e2befb59c44bac jdk8-b19
|
||||||
|
5a5eaf6374bcbe23530899579fed17a05b7705f3 jdk8-b20
|
||||||
|
cc771d92284f71765eca14d6d08703c4af254c04 jdk8-b21
|
||||||
|
7ad075c809952e355d25030605da6af30456ed74 jdk8-b22
|
||||||
|
60d6f64a86b1e511169d264727f6d51415978df0 jdk8-b23
|
||||||
|
1a5f1d6b98d6827cdb529a4abe6e52a886d944f4 jdk8-b24
|
||||||
|
221a378e06a326f45e5d89e2123cd6323e0181d1 jdk8-b25
|
||||||
|
2accafff224ae39caf5f532c305251ba624bf2c0 jdk8-b26
|
||||||
|
1533dfab9903e4edcfead3b0192643f38c418b9b jdk8-b27
|
||||||
|
6e2541d60f4e342b5b67140271d7611643929dc3 jdk8-b28
|
||||||
|
41460de042580bc4a4ce3f863779c66f39cb8578 jdk8-b29
|
||||||
|
6cea54809b51db92979c22fd8aa8fcb1cb13d12e jdk8-b30
|
||||||
|
0b66f43b89a6c0ac1c15d7ec51992c541cdc9089 jdk8-b31
|
||||||
|
88176171e940f02916a312c265a34c32552a8376 jdk8-b32
|
||||||
|
|||||||
@@ -2,3 +2,4 @@
|
|||||||
^dist/
|
^dist/
|
||||||
/nbproject/private/
|
/nbproject/private/
|
||||||
^.hgtip
|
^.hgtip
|
||||||
|
.DS_Store
|
||||||
|
|||||||
@@ -131,3 +131,26 @@ cc1b599b986a37cb57de4584c5e58169766ca535 jdk8-b05
|
|||||||
3d61f0856f349e2163bf98146465dab3b7437f63 jdk8-b07
|
3d61f0856f349e2163bf98146465dab3b7437f63 jdk8-b07
|
||||||
0d52b1c87aa8fdea7fdc9c4126ea58f95ca6b351 jdk8-b08
|
0d52b1c87aa8fdea7fdc9c4126ea58f95ca6b351 jdk8-b08
|
||||||
a891732c1a83082177ff7a4cf1506068d9cc0a47 jdk8-b09
|
a891732c1a83082177ff7a4cf1506068d9cc0a47 jdk8-b09
|
||||||
|
cda87f7fefcee3b89742a57ce5ad9b03a54c210d jdk8-b10
|
||||||
|
0199e4fef5cc2bd234c65b93220459ef7a3bb3b1 jdk8-b11
|
||||||
|
31d70911b712c6b4e580a3110363d5f044cfed7a jdk8-b12
|
||||||
|
5b9d9b839d3d7fe02347827221c97c6d242a6f96 jdk8-b13
|
||||||
|
e59c47de1ad8982ff3b0e843773a6902b36c2337 jdk8-b14
|
||||||
|
7da69e7175a7c7564ee6d0e52255cbb8a57ef577 jdk8-b15
|
||||||
|
82dc033975bb9b553b4ef97b6d483eda8de32e0f jdk8-b17
|
||||||
|
82dc033975bb9b553b4ef97b6d483eda8de32e0f jdk8-b16
|
||||||
|
312cf15d16577ef198b033d2a4cc0a52369b7343 jdk8-b18
|
||||||
|
e1366c5d84ef984095a332bcee70b3938232d07d jdk8-b19
|
||||||
|
51d8b6cb18c0978ecfa4f33e1537d35ee01b69fa jdk8-b20
|
||||||
|
f157fc2a71a38ce44007a6f18d5b011824dce705 jdk8-b21
|
||||||
|
a11d0062c445d5f36651c78650ab88aa594bcbff jdk8-b22
|
||||||
|
5218eb256658442b62b05295aafa5b5f35252972 jdk8-b23
|
||||||
|
b98f0e6dddf987df565029a1f58417fc1844c3f3 jdk8-b24
|
||||||
|
e45d6b406d5f91ff5256a5c82456ab1e7eb8becd jdk8-b25
|
||||||
|
79f709a099f40c08f76567fa6d813f9009a69826 jdk8-b26
|
||||||
|
4fffe75e4edd39a2517f10b743941bf94edb143d jdk8-b27
|
||||||
|
2082eb35d49a9c2aab90b8d4fd31cefb7a23b82e jdk8-b28
|
||||||
|
6117395d422682f89d228347e319fcaac7edc729 jdk8-b29
|
||||||
|
4605f8418bf562e78be79b25b6b8a5110281acae jdk8-b30
|
||||||
|
1954151dfae8f73db24e396380f7c02bdd47c486 jdk8-b31
|
||||||
|
5d820cb6b1afd75b619e7fd69e4f2b0eb1d5d6a1 jdk8-b32
|
||||||
|
|||||||
46
corba/make/common/Defs-bsd.gmk
Normal file
46
corba/make/common/Defs-bsd.gmk
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 1999, 2010, 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Makefile to specify compiler flags for programs and libraries
|
||||||
|
# targeted to BSD. Should not contain any rules.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Warning: the following variables are overriden by Defs.gmk. Set
|
||||||
|
# values will be silently ignored:
|
||||||
|
# CFLAGS (set $(OTHER_CFLAGS) instead)
|
||||||
|
# CPPFLAGS (set $(OTHER_CPPFLAGS) instead)
|
||||||
|
# CXXFLAGS (set $(OTHER_CXXFLAGS) instead)
|
||||||
|
# LDFLAGS (set $(OTHER_LDFAGS) instead)
|
||||||
|
# LDLIBS (set $(EXTRA_LIBS) instead)
|
||||||
|
# LDLIBS_COMMON (set $(EXTRA_LIBS) instead)
|
||||||
|
|
||||||
|
# Get shared JDK settings
|
||||||
|
include $(BUILDDIR)/common/shared/Defs.gmk
|
||||||
|
|
||||||
|
ifndef PLATFORM_SRC
|
||||||
|
PLATFORM_SRC = $(TOPDIR)/src/solaris
|
||||||
|
endif # PLATFORM_SRC
|
||||||
|
|
||||||
@@ -149,8 +149,8 @@ strip_prop_options_clean:
|
|||||||
# Strip the properties files
|
# Strip the properties files
|
||||||
strip_all_props: $(STRIPPROPERTIES_JARFILE) $(STRIP_PROP_options)
|
strip_all_props: $(STRIPPROPERTIES_JARFILE) $(STRIP_PROP_options)
|
||||||
@if [ -s $(STRIP_PROP_options) ] ; then \
|
@if [ -s $(STRIP_PROP_options) ] ; then \
|
||||||
$(ECHO) "$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) -optionsfile $(STRIP_PROP_options)" ; \
|
$(ECHO) "$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) @$(STRIP_PROP_options)" ; \
|
||||||
$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) -optionsfile $(STRIP_PROP_options) ; \
|
$(BOOT_JAVA_CMD) -jar $(STRIPPROPERTIES_JARFILE) @$(STRIP_PROP_options) ; \
|
||||||
fi
|
fi
|
||||||
@$(java-vm-cleanup)
|
@$(java-vm-cleanup)
|
||||||
|
|
||||||
|
|||||||
131
corba/make/common/shared/Defs-bsd.gmk
Normal file
131
corba/make/common/shared/Defs-bsd.gmk
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2005, 2010, 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Definitions for Bsd.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Default for COMPILER_WARNINGS_FATAL on Bsd (C & C++ compiler warnings)
|
||||||
|
ifndef COMPILER_WARNINGS_FATAL
|
||||||
|
COMPILER_WARNINGS_FATAL=false
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Bsd should use parallel compilation for best build times
|
||||||
|
ifndef COMPILE_APPROACH
|
||||||
|
COMPILE_APPROACH = parallel
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Indication that we are doing an incremental build.
|
||||||
|
# This may trigger the creation of make depend files.
|
||||||
|
ifndef INCREMENTAL_BUILD
|
||||||
|
INCREMENTAL_BUILD = false
|
||||||
|
endif
|
||||||
|
|
||||||
|
# FullPath just makes sure it never ends with a / and no duplicates
|
||||||
|
define FullPath
|
||||||
|
$(shell cd $1 2> $(DEV_NULL) && pwd)
|
||||||
|
endef
|
||||||
|
|
||||||
|
# OptFullPath: Absolute path name of a dir that might not initially exist.
|
||||||
|
define OptFullPath
|
||||||
|
$(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
|
||||||
|
endef
|
||||||
|
|
||||||
|
# Location on system where jdk installs might be
|
||||||
|
USRJDKINSTANCES_PATH =$(PACKAGE_PATH)
|
||||||
|
|
||||||
|
# UNIXCOMMAND_PATH: path to where the most common Unix commands are.
|
||||||
|
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
||||||
|
ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
|
||||||
|
UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
|
||||||
|
else
|
||||||
|
UNIXCOMMAND_PATH = /bin/
|
||||||
|
endif
|
||||||
|
|
||||||
|
# USRBIN_PATH: path to where the most common Unix commands are.
|
||||||
|
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
||||||
|
ifneq "$(origin ALT_USRBIN_PATH)" "undefined"
|
||||||
|
USRBIN_PATH :=$(call PrefixPath,$(ALT_USRBIN_PATH))
|
||||||
|
else
|
||||||
|
USRBIN_PATH = /usr/bin/
|
||||||
|
endif
|
||||||
|
|
||||||
|
# UNIXCCS_PATH: path to where the Solaris ported UNIX commands can be found
|
||||||
|
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
||||||
|
ifneq "$(origin ALT_UNIXCCS_PATH)" "undefined"
|
||||||
|
UNIXCCS_PATH :=$(call PrefixPath,$(ALT_UNIXCCS_PATH))
|
||||||
|
else
|
||||||
|
UNIXCCS_PATH = /usr/ccs/bin/
|
||||||
|
endif
|
||||||
|
|
||||||
|
# SLASH_JAVA: location of all network accessable files
|
||||||
|
ifdef ALT_SLASH_JAVA
|
||||||
|
SLASH_JAVA :=$(ALT_SLASH_JAVA)
|
||||||
|
else
|
||||||
|
SLASH_JAVA := $(call DirExists,/java,/java,/NOT-SET)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# JDK_DEVTOOLS_DIR: common path for all the java devtools
|
||||||
|
ifdef ALT_JDK_DEVTOOLS_DIR
|
||||||
|
JDK_DEVTOOLS_DIR =$(ALT_JDK_DEVTOOLS_DIR)
|
||||||
|
else
|
||||||
|
JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
|
||||||
|
endif
|
||||||
|
|
||||||
|
# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
|
||||||
|
# NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
||||||
|
ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
|
||||||
|
DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
|
||||||
|
else
|
||||||
|
DEVTOOLS_PATH =$(PACKAGE_PATH)/bin/
|
||||||
|
endif
|
||||||
|
|
||||||
|
# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
|
||||||
|
# _BOOTDIR2: Second choice
|
||||||
|
ifndef ALT_BOOTDIR
|
||||||
|
_BOOTDIR1 =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/binaries/$(PLATFORM)-$(ARCH)
|
||||||
|
_BOOTDIR2 =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Import JDK images allow for partial builds, components not built are
|
||||||
|
# imported (or copied from) these import areas when needed.
|
||||||
|
|
||||||
|
# BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for
|
||||||
|
# multiple platforms, e.g. windows-i586, solaris-sparc, bsd-586, etc.
|
||||||
|
ifdef ALT_BUILD_JDK_IMPORT_PATH
|
||||||
|
BUILD_JDK_IMPORT_PATH :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
|
||||||
|
else
|
||||||
|
BUILD_JDK_IMPORT_PATH = $(PROMOTED_BUILD_BINARIES)
|
||||||
|
endif
|
||||||
|
BUILD_JDK_IMPORT_PATH:=$(call AltCheckValue,BUILD_JDK_IMPORT_PATH)
|
||||||
|
|
||||||
|
# JDK_IMPORT_PATH: location of JDK install tree (this version) to import
|
||||||
|
ifdef ALT_JDK_IMPORT_PATH
|
||||||
|
JDK_IMPORT_PATH :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
|
||||||
|
else
|
||||||
|
JDK_IMPORT_PATH = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
|
||||||
|
endif
|
||||||
|
JDK_IMPORT_PATH:=$(call AltCheckValue,JDK_IMPORT_PATH)
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
# These input UTILS_* variables can be defined at anytime, ideally once.
|
# These input UTILS_* variables can be defined at anytime, ideally once.
|
||||||
# Unix Commands: Normally /bin/, /usr/bin/. or C:/mksnt/mksnt/
|
# Unix Commands: Normally /bin/, /usr/bin/. or C:/mksnt/mksnt/
|
||||||
# UTILS_COMMAND_PATH
|
# UTILS_COMMAND_PATH
|
||||||
# /usr/bin/
|
# /usr/bin/
|
||||||
# UTILS_USR_BIN_PATH
|
# UTILS_USR_BIN_PATH
|
||||||
# /usr/ccs/bin/ (sccs, m4, lex, yacc, as, ar, strip, mcs)
|
# /usr/ccs/bin/ (sccs, m4, lex, yacc, as, ar, strip, mcs)
|
||||||
# UTILS_CCS_BIN_PATH
|
# UTILS_CCS_BIN_PATH
|
||||||
@@ -53,6 +53,13 @@ ifeq ($(PLATFORM),linux)
|
|||||||
UTILS_DEVTOOL_PATH=$(USRBIN_PATH)
|
UTILS_DEVTOOL_PATH=$(USRBIN_PATH)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),bsd)
|
||||||
|
UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
|
||||||
|
UTILS_USR_BIN_PATH=$(USRBIN_PATH)
|
||||||
|
UTILS_CCS_BIN_PATH=$(USRBIN_PATH)
|
||||||
|
UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(PLATFORM),solaris)
|
ifeq ($(PLATFORM),solaris)
|
||||||
UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
|
UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
|
||||||
UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH)
|
UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH)
|
||||||
@@ -166,15 +173,15 @@ ifeq ($(PLATFORM),linux)
|
|||||||
# Also, some distribution (Ubuntu, Debian, others?) place the rpm command
|
# Also, some distribution (Ubuntu, Debian, others?) place the rpm command
|
||||||
# itself in /usr/bin rather than it's traditional home in /bin.
|
# itself in /usr/bin rather than it's traditional home in /bin.
|
||||||
RPM=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpm) \
|
RPM=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpm) \
|
||||||
$(wildcard $(UTILS_USR_BIN_PATH)rpm))
|
$(wildcard $(UTILS_USR_BIN_PATH)rpm))
|
||||||
RPMBUILD=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpmbuild) \
|
RPMBUILD=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpmbuild) \
|
||||||
$(wildcard $(UTILS_USR_BIN_PATH)rpmbuild) \
|
$(wildcard $(UTILS_USR_BIN_PATH)rpmbuild) \
|
||||||
$(wildcard $(UTILS_COMMAND_PATH)rpm) \
|
$(wildcard $(UTILS_COMMAND_PATH)rpm) \
|
||||||
$(wildcard $(UTILS_USR_BIN_PATH)rpm))
|
$(wildcard $(UTILS_USR_BIN_PATH)rpm))
|
||||||
# Most Linux distros have "sort" in /bin. Ubuntu, Debian and perhaps
|
# Most Linux distros have "sort" in /bin. Ubuntu, Debian and perhaps
|
||||||
# others have it in /usr/bin.
|
# others have it in /usr/bin.
|
||||||
SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \
|
SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \
|
||||||
$(wildcard $(UTILS_USR_BIN_PATH)sort))
|
$(wildcard $(UTILS_USR_BIN_PATH)sort))
|
||||||
NAWK = $(USRBIN_PATH)gawk
|
NAWK = $(USRBIN_PATH)gawk
|
||||||
# Intrinsic unix command, with backslash-escaped character interpretation
|
# Intrinsic unix command, with backslash-escaped character interpretation
|
||||||
ECHO = /bin/echo -e
|
ECHO = /bin/echo -e
|
||||||
@@ -198,3 +205,34 @@ ifeq ($(PLATFORM),solaris)
|
|||||||
ECHO = /usr/bin/echo
|
ECHO = /usr/bin/echo
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# BSD specific
|
||||||
|
ifeq ($(PLATFORM),bsd)
|
||||||
|
BASENAME = $(UTILS_USR_BIN_PATH)basename
|
||||||
|
EGREP = $(UTILS_USR_BIN_PATH)egrep
|
||||||
|
EXPR = $(UTILS_COMMAND_PATH)expr
|
||||||
|
FMT = $(UTILS_USR_BIN_PATH)fmt
|
||||||
|
GREP = $(UTILS_USR_BIN_PATH)grep
|
||||||
|
GUNZIP = $(UTILS_USR_BIN_PATH)gunzip
|
||||||
|
ID = $(UTILS_USR_BIN_PATH)id
|
||||||
|
MSGFMT = $(UTILS_DEVTOOL_PATH)msgfmt
|
||||||
|
SED = $(UTILS_USR_BIN_PATH)sed
|
||||||
|
SORT = $(UTILS_USR_BIN_PATH)sort
|
||||||
|
TEST = $(UTILS_COMMAND_PATH)test
|
||||||
|
TOUCH = $(UTILS_USR_BIN_PATH)touch
|
||||||
|
TRUE = $(UTILS_USR_BIN_PATH)true
|
||||||
|
UNAME = $(UTILS_USR_BIN_PATH)uname
|
||||||
|
# BSD OS_VENDOR specific
|
||||||
|
ifeq ($(OS_VENDOR), Apple)
|
||||||
|
NAWK = $(UTILS_USR_BIN_PATH)awk
|
||||||
|
UNZIPSFX = $(UTILS_USR_BIN_PATH)unzipsfx
|
||||||
|
ZIPEXE = $(UTILS_USR_BIN_PATH)zip
|
||||||
|
else
|
||||||
|
UNZIP = $(UTILS_DEVTOOL_PATH)unzip
|
||||||
|
endif
|
||||||
|
ifeq ($(OS_VENDOR), OpenBSD)
|
||||||
|
NAWK = $(UTILS_USR_BIN_PATH)awk
|
||||||
|
else
|
||||||
|
CPIO = $(UTILS_USR_BIN_PATH)cpio
|
||||||
|
TAR = $(UTILS_USR_BIN_PATH)tar
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ PLATFORM_SHARED=done
|
|||||||
# CLASSPATH_SEPARATOR separator in classpath, ; or :
|
# CLASSPATH_SEPARATOR separator in classpath, ; or :
|
||||||
# BUNDLE_FILE_SUFFIX suffix for bundles: .tar or .tar.gz
|
# BUNDLE_FILE_SUFFIX suffix for bundles: .tar or .tar.gz
|
||||||
# ISA_DIR solaris only: /sparcv9 or /amd64
|
# ISA_DIR solaris only: /sparcv9 or /amd64
|
||||||
# REQUIRED_WINDOWS_NAME windows only: basic name of windows
|
# REQUIRED_WINDOWS_NAME windows only: basic name of windows
|
||||||
# REQUIRED_WINDOWS_VERSION windows only: specific version of windows
|
# REQUIRED_WINDOWS_VERSION windows only: specific version of windows
|
||||||
# USING_CYGWIN windows only: true or false
|
# USING_CYGWIN windows only: true or false
|
||||||
# WINDOWS_NT_VERSION_STRING windows only: long version name
|
# WINDOWS_NT_VERSION_STRING windows only: long version name
|
||||||
# REQUIRED_OS_VERSION required OS version, e.g. 5.10, 2.4
|
# REQUIRED_OS_VERSION required OS version, e.g. 5.10, 2.4
|
||||||
@@ -135,7 +135,7 @@ ifeq ($(SYSTEM_UNAME), SunOS)
|
|||||||
BUNDLE_FILE_SUFFIX=.tar
|
BUNDLE_FILE_SUFFIX=.tar
|
||||||
# Required Solaris version
|
# Required Solaris version
|
||||||
REQUIRED_OS_VERSION = 5.10
|
REQUIRED_OS_VERSION = 5.10
|
||||||
# Minimum disk space needed as determined by running 'du -sk' on
|
# Minimum disk space needed as determined by running 'du -sk' on
|
||||||
# a fully built workspace.
|
# a fully built workspace.
|
||||||
ifeq ($(ARCH_FAMILY), sparc)
|
ifeq ($(ARCH_FAMILY), sparc)
|
||||||
REQUIRED_FREE_SPACE=1300000
|
REQUIRED_FREE_SPACE=1300000
|
||||||
@@ -207,7 +207,7 @@ ifeq ($(SYSTEM_UNAME), Linux)
|
|||||||
|
|
||||||
# Suffix for file bundles used in previous release
|
# Suffix for file bundles used in previous release
|
||||||
BUNDLE_FILE_SUFFIX=.tar.gz
|
BUNDLE_FILE_SUFFIX=.tar.gz
|
||||||
# Minimum disk space needed as determined by running 'du -sk' on
|
# Minimum disk space needed as determined by running 'du -sk' on
|
||||||
# a fully built workspace.
|
# a fully built workspace.
|
||||||
REQUIRED_FREE_SPACE=1460000
|
REQUIRED_FREE_SPACE=1460000
|
||||||
LINUX_VERSION_INFO = /etc/redhat-release
|
LINUX_VERSION_INFO = /etc/redhat-release
|
||||||
@@ -231,6 +231,98 @@ ifeq ($(SYSTEM_UNAME), Linux)
|
|||||||
MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2)
|
MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(SYSTEM_UNAME), FreeBSD)
|
||||||
|
PLATFORM = bsd
|
||||||
|
OS_NAME = freebsd
|
||||||
|
OS_VENDOR = FreeBSD
|
||||||
|
REQUIRED_OS_VERSION = 6.0
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(SYSTEM_UNAME), Darwin)
|
||||||
|
PLATFORM = bsd
|
||||||
|
OS_NAME = darwin
|
||||||
|
OS_VENDOR = Apple
|
||||||
|
REQUIRED_OS_VERSION = 8.0
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(SYSTEM_UNAME), NetBSD)
|
||||||
|
PLATFORM = bsd
|
||||||
|
OS_NAME = netbsd
|
||||||
|
OS_VENDOR = NetBSD
|
||||||
|
REQUIRED_OS_VERSION = 3.0
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(SYSTEM_UNAME), OpenBSD)
|
||||||
|
PLATFORM = bsd
|
||||||
|
OS_NAME = openbsd
|
||||||
|
OS_VENDOR = OpenBSD
|
||||||
|
REQUIRED_OS_VERSION = 4.9
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Platform settings specific to BSD
|
||||||
|
ifeq ($(PLATFORM), bsd)
|
||||||
|
OS_VERSION := $(shell uname -r)
|
||||||
|
# Arch and OS name/version
|
||||||
|
mach := $(shell uname -m)
|
||||||
|
archExpr = case "$(mach)" in \
|
||||||
|
i[3-9]86) \
|
||||||
|
echo i586 \
|
||||||
|
;; \
|
||||||
|
sparc64) \
|
||||||
|
echo sparcv9 \
|
||||||
|
;; \
|
||||||
|
sparc*) \
|
||||||
|
echo sparc \
|
||||||
|
;; \
|
||||||
|
x86_64) \
|
||||||
|
echo amd64 \
|
||||||
|
;; \
|
||||||
|
"Power Macintosh") \
|
||||||
|
echo ppc \
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
echo $(mach) \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
ARCH := $(shell $(archExpr) )
|
||||||
|
ARCH_FAMILY := $(ARCH)
|
||||||
|
|
||||||
|
# Darwin x86 builds are i386/amd64 universal.
|
||||||
|
ifeq ($(SYSTEM_UNAME), Darwin)
|
||||||
|
ifneq ($(ARCH), ppc)
|
||||||
|
ARCH=universal
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# i586, sparc, and ppc are 32 bit, amd64 and sparc64 are 64
|
||||||
|
ifneq (,$(findstring $(ARCH), i586 sparc ppc universal))
|
||||||
|
ARCH_DATA_MODEL=32
|
||||||
|
else
|
||||||
|
ARCH_DATA_MODEL=64
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH), i586)
|
||||||
|
LIBARCH = i386
|
||||||
|
else
|
||||||
|
LIBARCH = $(ARCH)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Value of Java os.arch property
|
||||||
|
ARCHPROP = $(LIBARCH)
|
||||||
|
|
||||||
|
# Suffix for file bundles used in previous release
|
||||||
|
BUNDLE_FILE_SUFFIX=.tar.gz
|
||||||
|
# Minimum disk space needed as determined by running 'du -sk' on
|
||||||
|
# a fully built workspace.
|
||||||
|
REQUIRED_FREE_SPACE=1500000
|
||||||
|
# How much RAM does this machine have:
|
||||||
|
ifeq ($(OS_VENDOR), OpenBSD)
|
||||||
|
MB_OF_MEMORY=$(shell sysctl -n hw.physmem | awk '{print int($$NF / 1048576); }' )
|
||||||
|
else
|
||||||
|
MB_OF_MEMORY=$(shell (sysctl -n hw.physmem64 2> /dev/null || sysctl -n hw.physmem) | awk '{print int($$NF / 1048576); }' )
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Windows with and without CYGWIN will be slightly different
|
# Windows with and without CYGWIN will be slightly different
|
||||||
ifeq ($(SYSTEM_UNAME), Windows_NT)
|
ifeq ($(SYSTEM_UNAME), Windows_NT)
|
||||||
PLATFORM = windows
|
PLATFORM = windows
|
||||||
@@ -327,7 +419,7 @@ ifeq ($(PLATFORM), windows)
|
|||||||
endif
|
endif
|
||||||
# Suffix for file bundles used in previous release
|
# Suffix for file bundles used in previous release
|
||||||
BUNDLE_FILE_SUFFIX=.tar
|
BUNDLE_FILE_SUFFIX=.tar
|
||||||
# Minimum disk space needed as determined by running 'du -sk' on
|
# Minimum disk space needed as determined by running 'du -sk' on
|
||||||
# a fully built workspace.
|
# a fully built workspace.
|
||||||
REQUIRED_FREE_SPACE=500000
|
REQUIRED_FREE_SPACE=500000
|
||||||
# How much RAM does this machine have:
|
# How much RAM does this machine have:
|
||||||
@@ -335,8 +427,8 @@ ifeq ($(PLATFORM), windows)
|
|||||||
MB_OF_MEMORY := $(shell \
|
MB_OF_MEMORY := $(shell \
|
||||||
if [ -f "C:/cygwin/bin/free.exe" ] ; then \
|
if [ -f "C:/cygwin/bin/free.exe" ] ; then \
|
||||||
( C:/cygwin/bin/bash.exe -c "C:/cygwin/bin/free.exe -m" ) | \
|
( C:/cygwin/bin/bash.exe -c "C:/cygwin/bin/free.exe -m" ) | \
|
||||||
grep Mem: | \
|
grep Mem: | \
|
||||||
sed -e 's@\ \ *@ @g' | cut -d' ' -f2 ; \
|
sed -e 's@\ \ *@ @g' | cut -d' ' -f2 ; \
|
||||||
else \
|
else \
|
||||||
echo "512"; \
|
echo "512"; \
|
||||||
fi)
|
fi)
|
||||||
@@ -392,7 +484,7 @@ ifneq ($(PLATFORM), windows)
|
|||||||
# Where is unwanted output to be delivered?
|
# Where is unwanted output to be delivered?
|
||||||
DEV_NULL = /dev/null
|
DEV_NULL = /dev/null
|
||||||
export DEV_NULL
|
export DEV_NULL
|
||||||
# Character used between entries in classpath
|
# Character used between entries in classpath
|
||||||
CLASSPATH_SEPARATOR = :
|
CLASSPATH_SEPARATOR = :
|
||||||
# User name determination (set _USER)
|
# User name determination (set _USER)
|
||||||
ifndef USER
|
ifndef USER
|
||||||
|
|||||||
@@ -25,21 +25,21 @@
|
|||||||
|
|
||||||
# Properties for jprt
|
# Properties for jprt
|
||||||
|
|
||||||
# The release to build
|
# Locked down to jdk8
|
||||||
jprt.tools.default.release=jdk8
|
jprt.tools.default.release=jdk8
|
||||||
|
|
||||||
# The different build flavors we want, we override here so we just get these 2
|
# The different build flavors we want, we override here so we just get these 2
|
||||||
jprt.build.flavors=product,fastdebug
|
jprt.build.flavors=product,fastdebug
|
||||||
|
|
||||||
# Standard list of jprt build targets for this source tree
|
# Standard list of jprt build targets for this source tree
|
||||||
jprt.build.targets= \
|
jprt.build.targets= \
|
||||||
solaris_sparc_5.10-{product|fastdebug}, \
|
solaris_sparc_5.10-{product|fastdebug}, \
|
||||||
solaris_sparcv9_5.10-{product|fastdebug}, \
|
solaris_sparcv9_5.10-{product|fastdebug}, \
|
||||||
solaris_i586_5.10-{product|fastdebug}, \
|
solaris_i586_5.10-{product|fastdebug}, \
|
||||||
solaris_x64_5.10-{product|fastdebug}, \
|
solaris_x64_5.10-{product|fastdebug}, \
|
||||||
linux_i586_2.6-{product|fastdebug}, \
|
linux_i586_2.6-{product|fastdebug}, \
|
||||||
linux_x64_2.6-{product|fastdebug}, \
|
linux_x64_2.6-{product|fastdebug}, \
|
||||||
windows_i586_5.1-{product|fastdebug}, \
|
windows_i586_5.1-{product|fastdebug}, \
|
||||||
windows_x64_5.2-{product|fastdebug}
|
windows_x64_5.2-{product|fastdebug}
|
||||||
|
|
||||||
# Directories to be excluded from the source bundles
|
# Directories to be excluded from the source bundles
|
||||||
|
|||||||
@@ -1,280 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2001, 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package build.tools.stripproperties;
|
|
||||||
|
|
||||||
import java.io.BufferedInputStream;
|
|
||||||
import java.io.BufferedWriter;
|
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.io.OutputStreamWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Enumeration;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Properties;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a properties file from standard input and writes an equivalent
|
|
||||||
* properties file without comments to standard output.
|
|
||||||
*/
|
|
||||||
public class StripProperties {
|
|
||||||
|
|
||||||
private static void error(String msg, Exception e) {
|
|
||||||
System.err.println("ERROR: stripproperties: " + msg);
|
|
||||||
if ( e != null ) {
|
|
||||||
System.err.println("EXCEPTION: " + e.toString());
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static List<String> parseOptions(String args[]) {
|
|
||||||
List<String> files = new ArrayList<String>();
|
|
||||||
for ( int i = 0; i < args.length ; i++ ) {
|
|
||||||
if ( "-optionsfile".equals(args[i]) && i+1 < args.length ) {
|
|
||||||
String filename = args[++i];
|
|
||||||
FileInputStream finput = null;
|
|
||||||
byte contents[] = null;
|
|
||||||
try {
|
|
||||||
finput = new FileInputStream(filename);
|
|
||||||
int byteCount = finput.available();
|
|
||||||
if ( byteCount <= 0 ) {
|
|
||||||
error("The -optionsfile file is empty", null);
|
|
||||||
files = null;
|
|
||||||
} else {
|
|
||||||
contents = new byte[byteCount];
|
|
||||||
int bytesRead = finput.read(contents);
|
|
||||||
if ( byteCount != bytesRead ) {
|
|
||||||
error("Cannot read all of -optionsfile file", null);
|
|
||||||
files = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch ( IOException e ) {
|
|
||||||
error("cannot open " + filename, e);
|
|
||||||
files = null;
|
|
||||||
}
|
|
||||||
if ( finput != null ) {
|
|
||||||
try {
|
|
||||||
finput.close();
|
|
||||||
} catch ( IOException e ) {
|
|
||||||
files = null;
|
|
||||||
error("cannot close " + filename, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( files != null && contents != null ) {
|
|
||||||
String tokens[] = (new String(contents)).split("\\s+");
|
|
||||||
if ( tokens.length > 0 ) {
|
|
||||||
List<String> ofiles = parseOptions(tokens);
|
|
||||||
if ( ofiles != null ) {
|
|
||||||
files.addAll(ofiles);
|
|
||||||
} else {
|
|
||||||
error("No files found in file", null);
|
|
||||||
files = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( files == null ) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
files.add(args[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return files;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean stripFiles(List<String> files) {
|
|
||||||
boolean ok = true;
|
|
||||||
for ( String file : files ) {
|
|
||||||
|
|
||||||
Properties prop = new Properties();
|
|
||||||
InputStream in = null;
|
|
||||||
try {
|
|
||||||
in = new BufferedInputStream(new FileInputStream(file));
|
|
||||||
prop.load(in);
|
|
||||||
} catch ( FileNotFoundException e ) {
|
|
||||||
error("Cannot access file " + file, e);
|
|
||||||
ok = false;
|
|
||||||
} catch ( IOException e ) {
|
|
||||||
error("IO exception processing file " + file, e);
|
|
||||||
ok = false;
|
|
||||||
}
|
|
||||||
if ( in != null ) {
|
|
||||||
try {
|
|
||||||
in.close();
|
|
||||||
} catch ( IOException e ) {
|
|
||||||
error("IO exception closing file " + file, e);
|
|
||||||
ok = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( !ok ) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
OutputStream out = null;
|
|
||||||
try {
|
|
||||||
out = new FileOutputStream(file);
|
|
||||||
storeProperties(prop, out);
|
|
||||||
out.flush();
|
|
||||||
} catch ( IOException e ) {
|
|
||||||
error("IO exception processing file " + file, e);
|
|
||||||
ok = false;
|
|
||||||
}
|
|
||||||
if ( out != null ) {
|
|
||||||
try {
|
|
||||||
out.close();
|
|
||||||
} catch ( IOException e ) {
|
|
||||||
error("IO exception closing file " + file, e);
|
|
||||||
ok = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( !ok ) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Strip the properties filenames supplied, replacing their contents.
|
|
||||||
* @param args Names of properties files to process and replace contents
|
|
||||||
*/
|
|
||||||
public static void main(String args[]) {
|
|
||||||
List<String> files = parseOptions(args);
|
|
||||||
if ( files == null || !stripFiles(files) ) {
|
|
||||||
System.exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// --- code below here is adapted from java.util.Properties ---
|
|
||||||
|
|
||||||
private static final String specialSaveChars = "=: \t\r\n\f#!";
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Converts unicodes to encoded \uxxxx
|
|
||||||
* and writes out any of the characters in specialSaveChars
|
|
||||||
* with a preceding slash
|
|
||||||
*/
|
|
||||||
private static String saveConvert(String theString, boolean escapeSpace) {
|
|
||||||
int len = theString.length();
|
|
||||||
StringBuffer outBuffer = new StringBuffer(len*2);
|
|
||||||
|
|
||||||
for(int x=0; x<len; x++) {
|
|
||||||
char aChar = theString.charAt(x);
|
|
||||||
switch(aChar) {
|
|
||||||
case ' ':
|
|
||||||
if (x == 0 || escapeSpace) {
|
|
||||||
outBuffer.append('\\');
|
|
||||||
}
|
|
||||||
outBuffer.append(' ');
|
|
||||||
break;
|
|
||||||
case '\\':
|
|
||||||
outBuffer.append('\\');
|
|
||||||
outBuffer.append('\\');
|
|
||||||
break;
|
|
||||||
case '\t':
|
|
||||||
outBuffer.append('\\');
|
|
||||||
outBuffer.append('t');
|
|
||||||
break;
|
|
||||||
case '\n':
|
|
||||||
outBuffer.append('\\');
|
|
||||||
outBuffer.append('n');
|
|
||||||
break;
|
|
||||||
case '\r':
|
|
||||||
outBuffer.append('\\');
|
|
||||||
outBuffer.append('r');
|
|
||||||
break;
|
|
||||||
case '\f':
|
|
||||||
outBuffer.append('\\');
|
|
||||||
outBuffer.append('f');
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
if ((aChar < 0x0020) || (aChar == 0x007e) || (aChar > 0x00ff)) {
|
|
||||||
outBuffer.append('\\');
|
|
||||||
outBuffer.append('u');
|
|
||||||
outBuffer.append(toHex((aChar >> 12) & 0xF));
|
|
||||||
outBuffer.append(toHex((aChar >> 8) & 0xF));
|
|
||||||
outBuffer.append(toHex((aChar >> 4) & 0xF));
|
|
||||||
outBuffer.append(toHex( aChar & 0xF));
|
|
||||||
} else {
|
|
||||||
if (specialSaveChars.indexOf(aChar) != -1) {
|
|
||||||
outBuffer.append('\\');
|
|
||||||
}
|
|
||||||
outBuffer.append(aChar);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return outBuffer.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes the content of <code>properties</code> to <code>out</code>.
|
|
||||||
* The format is that of Properties.store with the following modifications:
|
|
||||||
* <ul>
|
|
||||||
* <li>No header or date is written
|
|
||||||
* <li>Latin-1 characters are written as single bytes, not escape sequences
|
|
||||||
* <li>Line breaks are indicated by a single \n independent of platform
|
|
||||||
* <ul>
|
|
||||||
*/
|
|
||||||
private static void storeProperties(Properties properties, OutputStream out)
|
|
||||||
throws IOException {
|
|
||||||
BufferedWriter awriter;
|
|
||||||
awriter = new BufferedWriter(new OutputStreamWriter(out, "8859_1"));
|
|
||||||
for (Enumeration e = properties.keys(); e.hasMoreElements();) {
|
|
||||||
String key = (String)e.nextElement();
|
|
||||||
String val = (String)properties.get(key);
|
|
||||||
key = saveConvert(key, true);
|
|
||||||
|
|
||||||
/* No need to escape embedded and trailing spaces for value, hence
|
|
||||||
* pass false to flag.
|
|
||||||
*/
|
|
||||||
val = saveConvert(val, false);
|
|
||||||
writeln(awriter, key + "=" + val);
|
|
||||||
}
|
|
||||||
awriter.flush();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void writeln(BufferedWriter bw, String s) throws IOException {
|
|
||||||
bw.write(s);
|
|
||||||
bw.write("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert a nibble to a hex character
|
|
||||||
* @param nibble the nibble to convert.
|
|
||||||
*/
|
|
||||||
private static char toHex(int nibble) {
|
|
||||||
return hexDigit[(nibble & 0xF)];
|
|
||||||
}
|
|
||||||
|
|
||||||
/** A table of hex digits */
|
|
||||||
private static final char[] hexDigit = {
|
|
||||||
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,288 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2001, 2011, 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package build.tools.stripproperties;
|
||||||
|
|
||||||
|
import java.io.BufferedInputStream;
|
||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reads a properties file from standard input and writes an equivalent
|
||||||
|
* properties file without comments to standard output.
|
||||||
|
*/
|
||||||
|
public class StripPropertiesCorba {
|
||||||
|
|
||||||
|
private static void error(String msg, Exception e) {
|
||||||
|
System.err.println("ERROR: stripproperties: " + msg);
|
||||||
|
if ( e != null ) {
|
||||||
|
System.err.println("EXCEPTION: " + e.toString());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List<String> infiles = new ArrayList<String>();
|
||||||
|
private static List<String> outfiles = new ArrayList<String>();
|
||||||
|
|
||||||
|
private static boolean parseOptions(String args[]) {
|
||||||
|
boolean ok = true;
|
||||||
|
|
||||||
|
for ( int i = 0; i < args.length ; i++ ) {
|
||||||
|
if ( "-clean".equals(args[i]) && i+2 < args.length ) {
|
||||||
|
infiles.add(args[++i]);
|
||||||
|
outfiles.add(args[++i]);
|
||||||
|
} else if ( args[i].charAt(0)=='@') {
|
||||||
|
String filename = args[i].substring(1);
|
||||||
|
FileInputStream finput = null;
|
||||||
|
byte contents[] = null;
|
||||||
|
try {
|
||||||
|
finput = new FileInputStream(filename);
|
||||||
|
int byteCount = finput.available();
|
||||||
|
if ( byteCount <= 0 ) {
|
||||||
|
error("The @file is empty", null);
|
||||||
|
ok = false;
|
||||||
|
} else {
|
||||||
|
contents = new byte[byteCount];
|
||||||
|
int bytesRead = finput.read(contents);
|
||||||
|
if ( byteCount != bytesRead ) {
|
||||||
|
error("Cannot read all of @file", null);
|
||||||
|
ok = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch ( IOException e ) {
|
||||||
|
error("cannot open " + filename, e);
|
||||||
|
ok = false;
|
||||||
|
}
|
||||||
|
if ( finput != null ) {
|
||||||
|
try {
|
||||||
|
finput.close();
|
||||||
|
} catch ( IOException e ) {
|
||||||
|
ok = false;
|
||||||
|
error("cannot close " + filename, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( ok && contents != null ) {
|
||||||
|
String tokens[] = (new String(contents)).split("\\s+");
|
||||||
|
if ( tokens.length > 0 ) {
|
||||||
|
ok = parseOptions(tokens);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( !ok ) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
infiles.add(args[i]);
|
||||||
|
outfiles.add(args[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean stripFiles(List<String> infiles, List<String> outfiles) {
|
||||||
|
boolean ok = true;
|
||||||
|
Iterator<String> inIter = infiles.iterator();
|
||||||
|
Iterator<String> outIter = outfiles.iterator();
|
||||||
|
|
||||||
|
for (; inIter.hasNext(); ) {
|
||||||
|
String infile = inIter.next();
|
||||||
|
String outfile = outIter.next();
|
||||||
|
|
||||||
|
Properties prop = new Properties();
|
||||||
|
InputStream in = null;
|
||||||
|
try {
|
||||||
|
in = new BufferedInputStream(new FileInputStream(infile));
|
||||||
|
prop.load(in);
|
||||||
|
} catch ( FileNotFoundException e ) {
|
||||||
|
error("Cannot access file " + infile, e);
|
||||||
|
ok = false;
|
||||||
|
} catch ( IOException e ) {
|
||||||
|
error("IO exception processing file " + infile, e);
|
||||||
|
ok = false;
|
||||||
|
}
|
||||||
|
if ( in != null ) {
|
||||||
|
try {
|
||||||
|
in.close();
|
||||||
|
} catch ( IOException e ) {
|
||||||
|
error("IO exception closing file " + infile, e);
|
||||||
|
ok = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( !ok ) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
OutputStream out = null;
|
||||||
|
try {
|
||||||
|
out = new FileOutputStream(outfile);
|
||||||
|
storeProperties(prop, out);
|
||||||
|
out.flush();
|
||||||
|
} catch ( IOException e ) {
|
||||||
|
error("IO exception processing file " + outfile, e);
|
||||||
|
ok = false;
|
||||||
|
}
|
||||||
|
if ( out != null ) {
|
||||||
|
try {
|
||||||
|
out.close();
|
||||||
|
} catch ( IOException e ) {
|
||||||
|
error("IO exception closing file " + outfile, e);
|
||||||
|
ok = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( !ok ) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Strip the properties filenames supplied, replacing their contents.
|
||||||
|
* @param args Names of properties files to process and replace contents
|
||||||
|
*/
|
||||||
|
public static void main(String args[]) {
|
||||||
|
boolean ok = parseOptions(args);
|
||||||
|
if ( !ok || !stripFiles(infiles, outfiles) ) {
|
||||||
|
System.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- code below here is adapted from java.util.Properties ---
|
||||||
|
|
||||||
|
private static final String specialSaveChars = "=: \t\r\n\f#!";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Converts unicodes to encoded \uxxxx
|
||||||
|
* and writes out any of the characters in specialSaveChars
|
||||||
|
* with a preceding slash
|
||||||
|
*/
|
||||||
|
private static String saveConvert(String theString, boolean escapeSpace) {
|
||||||
|
int len = theString.length();
|
||||||
|
StringBuffer outBuffer = new StringBuffer(len*2);
|
||||||
|
|
||||||
|
for(int x=0; x<len; x++) {
|
||||||
|
char aChar = theString.charAt(x);
|
||||||
|
switch(aChar) {
|
||||||
|
case ' ':
|
||||||
|
if (x == 0 || escapeSpace) {
|
||||||
|
outBuffer.append('\\');
|
||||||
|
}
|
||||||
|
outBuffer.append(' ');
|
||||||
|
break;
|
||||||
|
case '\\':
|
||||||
|
outBuffer.append('\\');
|
||||||
|
outBuffer.append('\\');
|
||||||
|
break;
|
||||||
|
case '\t':
|
||||||
|
outBuffer.append('\\');
|
||||||
|
outBuffer.append('t');
|
||||||
|
break;
|
||||||
|
case '\n':
|
||||||
|
outBuffer.append('\\');
|
||||||
|
outBuffer.append('n');
|
||||||
|
break;
|
||||||
|
case '\r':
|
||||||
|
outBuffer.append('\\');
|
||||||
|
outBuffer.append('r');
|
||||||
|
break;
|
||||||
|
case '\f':
|
||||||
|
outBuffer.append('\\');
|
||||||
|
outBuffer.append('f');
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if ((aChar < 0x0020) || (aChar == 0x007e) || (aChar > 0x00ff)) {
|
||||||
|
outBuffer.append('\\');
|
||||||
|
outBuffer.append('u');
|
||||||
|
outBuffer.append(toHex((aChar >> 12) & 0xF));
|
||||||
|
outBuffer.append(toHex((aChar >> 8) & 0xF));
|
||||||
|
outBuffer.append(toHex((aChar >> 4) & 0xF));
|
||||||
|
outBuffer.append(toHex( aChar & 0xF));
|
||||||
|
} else {
|
||||||
|
if (specialSaveChars.indexOf(aChar) != -1) {
|
||||||
|
outBuffer.append('\\');
|
||||||
|
}
|
||||||
|
outBuffer.append(aChar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return outBuffer.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Writes the content of <code>properties</code> to <code>out</code>.
|
||||||
|
* The format is that of Properties.store with the following modifications:
|
||||||
|
* <ul>
|
||||||
|
* <li>No header or date is written
|
||||||
|
* <li>Latin-1 characters are written as single bytes, not escape sequences
|
||||||
|
* <li>Line breaks are indicated by a single \n independent of platform
|
||||||
|
* <ul>
|
||||||
|
*/
|
||||||
|
private static void storeProperties(Properties properties, OutputStream out)
|
||||||
|
throws IOException {
|
||||||
|
BufferedWriter awriter;
|
||||||
|
awriter = new BufferedWriter(new OutputStreamWriter(out, "8859_1"));
|
||||||
|
for (Enumeration<Object> e = properties.keys(); e.hasMoreElements();) {
|
||||||
|
String key = (String)e.nextElement();
|
||||||
|
String val = (String)properties.get(key);
|
||||||
|
key = saveConvert(key, true);
|
||||||
|
|
||||||
|
/* No need to escape embedded and trailing spaces for value, hence
|
||||||
|
* pass false to flag.
|
||||||
|
*/
|
||||||
|
val = saveConvert(val, false);
|
||||||
|
writeln(awriter, key + "=" + val);
|
||||||
|
}
|
||||||
|
awriter.flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void writeln(BufferedWriter bw, String s) throws IOException {
|
||||||
|
bw.write(s);
|
||||||
|
bw.write("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a nibble to a hex character
|
||||||
|
* @param nibble the nibble to convert.
|
||||||
|
*/
|
||||||
|
private static char toHex(int nibble) {
|
||||||
|
return hexDigit[(nibble & 0xF)];
|
||||||
|
}
|
||||||
|
|
||||||
|
/** A table of hex digits */
|
||||||
|
private static final char[] hexDigit = {
|
||||||
|
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -34,7 +34,7 @@ PROGRAM = stripproperties
|
|||||||
include $(BUILDDIR)/common/Defs.gmk
|
include $(BUILDDIR)/common/Defs.gmk
|
||||||
|
|
||||||
BUILDTOOL_SOURCE_ROOT = $(BUILDDIR)/tools/src
|
BUILDTOOL_SOURCE_ROOT = $(BUILDDIR)/tools/src
|
||||||
BUILDTOOL_MAIN = $(PKGDIR)/StripProperties.java
|
BUILDTOOL_MAIN = $(PKGDIR)/StripPropertiesCorba.java
|
||||||
|
|
||||||
#
|
#
|
||||||
# Build tool jar rules.
|
# Build tool jar rules.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2011, 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
|
||||||
@@ -82,6 +82,6 @@ public class DynAnyFactoryImpl
|
|||||||
private String[] __ids = { "IDL:omg.org/DynamicAny/DynAnyFactory:1.0" };
|
private String[] __ids = { "IDL:omg.org/DynamicAny/DynAnyFactory:1.0" };
|
||||||
|
|
||||||
public String[] _ids() {
|
public String[] _ids() {
|
||||||
return __ids;
|
return (String[]) __ids.clone();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2011, 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
|
||||||
@@ -195,6 +195,6 @@ abstract class DynAnyImpl extends org.omg.CORBA.LocalObject implements DynAny
|
|||||||
private String[] __ids = { "IDL:omg.org/DynamicAny/DynAny:1.0" };
|
private String[] __ids = { "IDL:omg.org/DynamicAny/DynAny:1.0" };
|
||||||
|
|
||||||
public String[] _ids() {
|
public String[] _ids() {
|
||||||
return __ids;
|
return (String[]) __ids.clone();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2011, 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
|
||||||
@@ -423,6 +423,13 @@ public abstract class CDRInputStream
|
|||||||
impl.setByteBufferWithInfo(bbwi);
|
impl.setByteBufferWithInfo(bbwi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return true if our ByteBuffer is sharing/equal to bb
|
||||||
|
*/
|
||||||
|
protected final boolean isSharing(ByteBuffer bb) {
|
||||||
|
return (getByteBuffer() == bb);
|
||||||
|
}
|
||||||
|
|
||||||
public final int getBufferLength() {
|
public final int getBufferLength() {
|
||||||
return impl.getBufferLength();
|
return impl.getBufferLength();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2011, 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
|
||||||
@@ -2412,7 +2412,6 @@ public class CDRInputStream_1_0 extends CDRInputStreamBase
|
|||||||
|
|
||||||
if (bbwi != null && getByteBuffer() != null)
|
if (bbwi != null && getByteBuffer() != null)
|
||||||
{
|
{
|
||||||
int bbHash = System.identityHashCode(bbwi.byteBuffer);
|
|
||||||
MessageMediator messageMediator = parent.getMessageMediator();
|
MessageMediator messageMediator = parent.getMessageMediator();
|
||||||
if (messageMediator != null)
|
if (messageMediator != null)
|
||||||
{
|
{
|
||||||
@@ -2420,19 +2419,12 @@ public class CDRInputStream_1_0 extends CDRInputStreamBase
|
|||||||
(CDROutputObject)messageMediator.getOutputObject();
|
(CDROutputObject)messageMediator.getOutputObject();
|
||||||
if (outputObj != null)
|
if (outputObj != null)
|
||||||
{
|
{
|
||||||
ByteBuffer outputBb = outputObj.getByteBuffer();
|
if (outputObj.isSharing(getByteBuffer()))
|
||||||
|
|
||||||
int oBbHash = 0;
|
|
||||||
if (outputBb != null)
|
|
||||||
{
|
{
|
||||||
oBbHash = System.identityHashCode(outputBb);
|
// Set OutputStream's ByteBuffer and bbwi to null
|
||||||
if (bbHash == oBbHash) // shared?
|
// so its ByteBuffer cannot be released to the pool
|
||||||
{
|
outputObj.setByteBuffer(null);
|
||||||
// Set OutputStream's ByteBuffer and bbwi to null
|
outputObj.setByteBufferWithInfo(null);
|
||||||
// so its ByteBuffer cannot be released to the pool
|
|
||||||
outputObj.setByteBuffer(null);
|
|
||||||
outputObj.setByteBufferWithInfo(null);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2011, 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
|
||||||
@@ -357,6 +357,13 @@ public abstract class CDROutputStream
|
|||||||
impl.setByteBuffer(byteBuffer);
|
impl.setByteBuffer(byteBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* return true if our ByteBuffer is sharing/equal to bb
|
||||||
|
*/
|
||||||
|
protected final boolean isSharing(ByteBuffer bb) {
|
||||||
|
return (getByteBuffer() == bb);
|
||||||
|
}
|
||||||
|
|
||||||
public final boolean isLittleEndian() {
|
public final boolean isLittleEndian() {
|
||||||
return impl.isLittleEndian();
|
return impl.isLittleEndian();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2011, 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
|
||||||
@@ -1902,7 +1902,6 @@ public class CDROutputStream_1_0 extends CDROutputStreamBase
|
|||||||
|
|
||||||
if (getByteBufferWithInfo() != null && getByteBuffer() != null)
|
if (getByteBufferWithInfo() != null && getByteBuffer() != null)
|
||||||
{
|
{
|
||||||
int bbHash = System.identityHashCode(bbwi.byteBuffer);
|
|
||||||
MessageMediator messageMediator = parent.getMessageMediator();
|
MessageMediator messageMediator = parent.getMessageMediator();
|
||||||
if (messageMediator != null)
|
if (messageMediator != null)
|
||||||
{
|
{
|
||||||
@@ -1910,19 +1909,12 @@ public class CDROutputStream_1_0 extends CDROutputStreamBase
|
|||||||
(CDRInputObject)messageMediator.getInputObject();
|
(CDRInputObject)messageMediator.getInputObject();
|
||||||
if (inputObj != null)
|
if (inputObj != null)
|
||||||
{
|
{
|
||||||
ByteBuffer inputBb = inputObj.getByteBuffer();
|
if (inputObj.isSharing(getByteBuffer()))
|
||||||
|
|
||||||
int iBbHash = 0;
|
|
||||||
if (inputBb != null)
|
|
||||||
{
|
{
|
||||||
iBbHash = System.identityHashCode(inputBb);
|
// Set InputStream's ByteBuffer and bbwi to null
|
||||||
if (bbHash == iBbHash) // shared?
|
// so its ByteBuffer cannot be released to the pool
|
||||||
{
|
inputObj.setByteBuffer(null);
|
||||||
// Set InputStream's ByteBuffer and bbwi to null
|
inputObj.setByteBufferWithInfo(null);
|
||||||
// so its ByteBuffer cannot be released to the pool
|
|
||||||
inputObj.setByteBuffer(null);
|
|
||||||
inputObj.setByteBufferWithInfo(null);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1998, 2011, 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
|
||||||
@@ -2243,6 +2243,10 @@ public class IIOPInputStream
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
Class fieldCl = fields[i].getClazz();
|
||||||
|
if (objectValue != null && !fieldCl.isInstance(objectValue)) {
|
||||||
|
throw new IllegalArgumentException();
|
||||||
|
}
|
||||||
bridge.putObject( o, fields[i].getFieldID(), objectValue ) ;
|
bridge.putObject( o, fields[i].getFieldID(), objectValue ) ;
|
||||||
// reflective code: fields[i].getField().set( o, objectValue ) ;
|
// reflective code: fields[i].getField().set( o, objectValue ) ;
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
@@ -2553,6 +2557,10 @@ public class IIOPInputStream
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
Field fld = c.getDeclaredField( fieldName ) ;
|
Field fld = c.getDeclaredField( fieldName ) ;
|
||||||
|
Class fieldCl = fld.getType();
|
||||||
|
if(v != null && !fieldCl.isInstance(v)) {
|
||||||
|
throw new Exception();
|
||||||
|
}
|
||||||
long key = bridge.objectFieldOffset( fld ) ;
|
long key = bridge.objectFieldOffset( fld ) ;
|
||||||
bridge.putObject( o, key, v ) ;
|
bridge.putObject( o, key, v ) ;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2001, 2011, 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
|
||||||
@@ -113,6 +113,9 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.ReferenceAddr;
|
|||||||
import com.sun.corba.se.impl.transport.CorbaContactInfoListIteratorImpl;
|
import com.sun.corba.se.impl.transport.CorbaContactInfoListIteratorImpl;
|
||||||
import com.sun.corba.se.impl.util.JDKBridge;
|
import com.sun.corba.se.impl.util.JDKBridge;
|
||||||
|
|
||||||
|
import java.util.concurrent.ConcurrentMap;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ClientDelegate is the RMI client-side subcontract or representation
|
* ClientDelegate is the RMI client-side subcontract or representation
|
||||||
* It implements RMI delegate as well as our internal ClientRequestDispatcher
|
* It implements RMI delegate as well as our internal ClientRequestDispatcher
|
||||||
@@ -122,6 +125,9 @@ public class CorbaClientRequestDispatcherImpl
|
|||||||
implements
|
implements
|
||||||
ClientRequestDispatcher
|
ClientRequestDispatcher
|
||||||
{
|
{
|
||||||
|
private ConcurrentMap<ContactInfo, Object> locks =
|
||||||
|
new ConcurrentHashMap<ContactInfo, Object>();
|
||||||
|
|
||||||
public OutputObject beginRequest(Object self, String opName,
|
public OutputObject beginRequest(Object self, String opName,
|
||||||
boolean isOneWay, ContactInfo contactInfo)
|
boolean isOneWay, ContactInfo contactInfo)
|
||||||
{
|
{
|
||||||
@@ -148,8 +154,21 @@ public class CorbaClientRequestDispatcherImpl
|
|||||||
|
|
||||||
// This locking is done so that multiple connections are not created
|
// This locking is done so that multiple connections are not created
|
||||||
// for the same endpoint
|
// for the same endpoint
|
||||||
//6929137 - Synchronized on contactInfo to avoid blocking across multiple endpoints
|
// 7046238 - Synchronization on a single monitor for contactInfo parameters
|
||||||
synchronized (contactInfo) {
|
// with identical hashCode(), so we lock on same monitor for equal parameters
|
||||||
|
// (which can refer to equal (in terms of equals()) but not the same objects)
|
||||||
|
|
||||||
|
Object lock = locks.get(contactInfo);
|
||||||
|
|
||||||
|
if (lock == null) {
|
||||||
|
Object newLock = new Object();
|
||||||
|
lock = locks.putIfAbsent(contactInfo, newLock);
|
||||||
|
if (lock == null) {
|
||||||
|
lock = newLock;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
synchronized (lock) {
|
||||||
if (contactInfo.isConnectionBased()) {
|
if (contactInfo.isConnectionBased()) {
|
||||||
if (contactInfo.shouldCacheConnection()) {
|
if (contactInfo.shouldCacheConnection()) {
|
||||||
connection = (CorbaConnection)
|
connection = (CorbaConnection)
|
||||||
@@ -254,7 +273,7 @@ public class CorbaClientRequestDispatcherImpl
|
|||||||
registerWaiter(messageMediator);
|
registerWaiter(messageMediator);
|
||||||
|
|
||||||
// Do connection reclaim now
|
// Do connection reclaim now
|
||||||
synchronized (contactInfo) {
|
synchronized (lock) {
|
||||||
if (contactInfo.isConnectionBased()) {
|
if (contactInfo.isConnectionBased()) {
|
||||||
if (contactInfo.shouldCacheConnection()) {
|
if (contactInfo.shouldCacheConnection()) {
|
||||||
OutboundConnectionCache connectionCache =
|
OutboundConnectionCache connectionCache =
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -138,7 +138,7 @@ public abstract class _CodeBaseImplBase extends org.omg.CORBA.portable.ObjectImp
|
|||||||
|
|
||||||
public String[] _ids ()
|
public String[] _ids ()
|
||||||
{
|
{
|
||||||
return __ids;
|
return (String[]) __ids.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,3 +6,4 @@
|
|||||||
^src/share/tools/IdealGraphVisualizer/build/
|
^src/share/tools/IdealGraphVisualizer/build/
|
||||||
^src/share/tools/IdealGraphVisualizer/dist/
|
^src/share/tools/IdealGraphVisualizer/dist/
|
||||||
^.hgtip
|
^.hgtip
|
||||||
|
.DS_Store
|
||||||
|
|||||||
@@ -191,3 +191,48 @@ da883b9e6d3788057f9577e72712998ed82c9b7e hs23-b01
|
|||||||
49ed7eacfd16616166ff066493143889741097af jdk8-b08
|
49ed7eacfd16616166ff066493143889741097af jdk8-b08
|
||||||
7c20d272643f47195478708eff593a9cce40fec4 jdk8-b09
|
7c20d272643f47195478708eff593a9cce40fec4 jdk8-b09
|
||||||
e4f412d2b75d2c797acff965aa2c420e3d358f09 hs23-b02
|
e4f412d2b75d2c797acff965aa2c420e3d358f09 hs23-b02
|
||||||
|
d815de2e85e511b7deab2a83cf80c0224d011da9 jdk8-b10
|
||||||
|
4d3850d9d326ac3a9bee2d867727e954322d014e hs23-b03
|
||||||
|
4538caeef7b6cbd4302bebced805d65e68ccf301 jdk8-b11
|
||||||
|
6534482ff68ad79066dfe15dfb6d8905f09681bd hs23-b04
|
||||||
|
1d3900713a67a0a39faf4e12c9c158d55aebef87 jdk8-b12
|
||||||
|
3e609627e780736f372eb14d29bb9b5e53b21fbf hs23-b05
|
||||||
|
b92ca8e229d29004f840c67e620833d23a346761 jdk8-b13
|
||||||
|
088d09a130ff02d8f5f05e92256baabe412f0439 jdk8-b14
|
||||||
|
6c2a55d4902f202e1c2de1df17b7da083a2c31e8 hs23-b06
|
||||||
|
fde2a39ed7f39233b287fbc278f437aac06c275b jdk8-b15
|
||||||
|
d1f29d4e0bc60e8bd7ae961f1306d8ab33290212 jdk8-b17
|
||||||
|
d1f29d4e0bc60e8bd7ae961f1306d8ab33290212 jdk8-b16
|
||||||
|
6de8c9ba5907e4c5ca05ac4b8d84a8e2cbd92399 hs23-b07
|
||||||
|
a2fef924d8e6f37dac2a887315e3502876cc8e24 hs23-b08
|
||||||
|
61165f53f1656b9f99e4fb806429bf98b99d59c3 jdk8-b18
|
||||||
|
4bcf61041217f8677dcec18e90e9196acc945bba hs23-b09
|
||||||
|
9232e0ecbc2cec54dcc8f93004fb00c214446460 jdk8-b19
|
||||||
|
fe2c8764998112b7fefcd7d41599714813ae4327 jdk8-b20
|
||||||
|
9952d1c439d64c5fd4ad1236a63a62bd5a49d4c3 jdk8-b21
|
||||||
|
513351373923f74a7c91755748b95c9771e59f96 hs23-b10
|
||||||
|
24727fb37561779077fdfa5a33342246f20e5c0f jdk8-b22
|
||||||
|
dcc292399a39113957eebbd3e487b7e05e2c79fc hs23-b11
|
||||||
|
e850d8e7ea54b91c7aa656e297f0f9f38dd4c296 jdk8-b23
|
||||||
|
9e177d44b10fe92ecffa965fef9c5ac5433c1b46 hs23-b12
|
||||||
|
a80fd4f45d7aaa154ed2f86a129f3c9c4035ec7a jdk8-b24
|
||||||
|
b22de824749922986ce4d442bed029916b832807 hs23-b13
|
||||||
|
64b46f975ab82948c1e021e17775ff4fab8bc40e hs23-b14
|
||||||
|
9ad8feb5afbddec46d3cfe29fb5f73c2e99d5a43 jdk8-b25
|
||||||
|
d71e662fe03741b6de498ca2077220148405a978 hs23-b15
|
||||||
|
fd3060701216a11c0df6dcd053c6fd7c2b17a42c jdk8-b26
|
||||||
|
f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16
|
||||||
|
f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16
|
||||||
|
931e5f39e365a0d550d79148ff87a7f9e864d2e1 hs23-b16
|
||||||
|
3b24e7e01d20ca590d0f86b1222bb7c3f1a2aa2d jdk8-b27
|
||||||
|
975c4105f1e2ef1190a75b77124033f1fd4290b5 hs24-b01
|
||||||
|
b183b0863611b85dbac16f3b08b40ba978756d19 jdk8-b28
|
||||||
|
030b5306d60f140e822e4a6d301744cb110ff0c8 hs24-b02
|
||||||
|
b45b5c564098c58ea69e7cff3f7d341f0254dd1d jdk8-b29
|
||||||
|
d61761bf305031c94f7f8eca49abd978b7d3c5da jdk8-b30
|
||||||
|
dfae0140457cfb2c381d7679735fbedbae862c62 hs24-b03
|
||||||
|
f4767e53d6e0d5da7e3f1775904076cce54247c1 hs24-b04
|
||||||
|
0cd147eaa673d1642b2f466f5dc257cf192db524 jdk8-b31
|
||||||
|
27863e4586de38be7dd17da4163f542038f4d1d7 hs24-b05
|
||||||
|
25410a347ebb0bef166c4338a90d9dea82463a20 jdk8-b32
|
||||||
|
cd47da9383cd932cb2b659064057feafa2a91134 hs24-b06
|
||||||
|
|||||||
406
hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m
Normal file
406
hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m
Normal file
@@ -0,0 +1,406 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2002, 2007, 2011, 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.
|
||||||
|
*
|
||||||
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* version 2 for more details (a copy is included in the LICENSE file that
|
||||||
|
* accompanied this code).
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License version
|
||||||
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*
|
||||||
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||||
|
* or visit www.oracle.com if you need additional information or have any
|
||||||
|
* questions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <objc/objc-runtime.h>
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <JavaNativeFoundation/JavaNativeFoundation.h>
|
||||||
|
|
||||||
|
#include <JavaVM/jni.h>
|
||||||
|
|
||||||
|
#import <mach/mach.h>
|
||||||
|
#import <mach/mach_types.h>
|
||||||
|
#import <sys/sysctl.h>
|
||||||
|
#import <stdlib.h>
|
||||||
|
|
||||||
|
jboolean debug = JNI_FALSE;
|
||||||
|
|
||||||
|
static jfieldID symbolicatorID = 0; // set in _init0
|
||||||
|
static jfieldID taskID = 0; // set in _init0
|
||||||
|
|
||||||
|
static void putSymbolicator(JNIEnv *env, jobject this_obj, id symbolicator) {
|
||||||
|
(*env)->SetLongField(env, this_obj, symbolicatorID, (jlong)(intptr_t)symbolicator);
|
||||||
|
}
|
||||||
|
|
||||||
|
static id getSymbolicator(JNIEnv *env, jobject this_obj) {
|
||||||
|
jlong ptr = (*env)->GetLongField(env, this_obj, symbolicatorID);
|
||||||
|
return (id)(intptr_t)ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void putTask(JNIEnv *env, jobject this_obj, task_t task) {
|
||||||
|
(*env)->SetLongField(env, this_obj, taskID, (jlong)task);
|
||||||
|
}
|
||||||
|
|
||||||
|
static task_t getTask(JNIEnv *env, jobject this_obj) {
|
||||||
|
jlong ptr = (*env)->GetLongField(env, this_obj, taskID);
|
||||||
|
return (task_t)ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define CHECK_EXCEPTION_(value) if ((*env)->ExceptionOccurred(env)) { return value; }
|
||||||
|
#define CHECK_EXCEPTION if ((*env)->ExceptionOccurred(env)) { return;}
|
||||||
|
#define THROW_NEW_DEBUGGER_EXCEPTION_(str, value) { throw_new_debugger_exception(env, str); return value; }
|
||||||
|
#define THROW_NEW_DEBUGGER_EXCEPTION(str) { throw_new_debugger_exception(env, str); return;}
|
||||||
|
|
||||||
|
static void throw_new_debugger_exception(JNIEnv* env, const char* errMsg) {
|
||||||
|
(*env)->ThrowNew(env, (*env)->FindClass(env, "sun/jvm/hotspot/debugger/DebuggerException"), errMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(__i386__)
|
||||||
|
#define hsdb_thread_state_t x86_thread_state32_t
|
||||||
|
#define hsdb_float_state_t x86_float_state32_t
|
||||||
|
#define HSDB_THREAD_STATE x86_THREAD_STATE32
|
||||||
|
#define HSDB_FLOAT_STATE x86_FLOAT_STATE32
|
||||||
|
#define HSDB_THREAD_STATE_COUNT x86_THREAD_STATE32_COUNT
|
||||||
|
#define HSDB_FLOAT_STATE_COUNT x86_FLOAT_STATE32_COUNT
|
||||||
|
#elif defined(__x86_64__)
|
||||||
|
#define hsdb_thread_state_t x86_thread_state64_t
|
||||||
|
#define hsdb_float_state_t x86_float_state64_t
|
||||||
|
#define HSDB_THREAD_STATE x86_THREAD_STATE64
|
||||||
|
#define HSDB_FLOAT_STATE x86_FLOAT_STATE64
|
||||||
|
#define HSDB_THREAD_STATE_COUNT x86_THREAD_STATE64_COUNT
|
||||||
|
#define HSDB_FLOAT_STATE_COUNT x86_FLOAT_STATE64_COUNT
|
||||||
|
#else
|
||||||
|
#error "Unsupported architecture"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
|
||||||
|
* Method: init0
|
||||||
|
* Signature: ()V
|
||||||
|
*/
|
||||||
|
JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_init0(JNIEnv *env, jclass cls) {
|
||||||
|
symbolicatorID = (*env)->GetFieldID(env, cls, "symbolicator", "J");
|
||||||
|
taskID = (*env)->GetFieldID(env, cls, "task", "J");
|
||||||
|
CHECK_EXCEPTION;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
|
||||||
|
* Method: lookupByName0
|
||||||
|
* Signature: (Ljava/lang/String;Ljava/lang/String;)J
|
||||||
|
*/
|
||||||
|
JNIEXPORT jlong JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_lookupByName0(JNIEnv *env, jobject this_obj, jstring objectName, jstring symbolName) {
|
||||||
|
jlong address = 0;
|
||||||
|
|
||||||
|
JNF_COCOA_ENTER(env);
|
||||||
|
NSString *symbolNameString = JNFJavaToNSString(env, symbolName);
|
||||||
|
|
||||||
|
if (debug) {
|
||||||
|
printf("lookupInProcess called for %s\n", [symbolNameString UTF8String]);
|
||||||
|
}
|
||||||
|
|
||||||
|
id symbolicator = getSymbolicator(env, this_obj);
|
||||||
|
if (symbolicator != nil) {
|
||||||
|
uint64_t (*dynamicCall)(id, SEL, NSString *) = (uint64_t (*)(id, SEL, NSString *))&objc_msgSend;
|
||||||
|
address = (jlong) dynamicCall(symbolicator, @selector(addressForSymbol:), symbolNameString);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (debug) {
|
||||||
|
printf("address of symbol %s = %llx\n", [symbolNameString UTF8String], address);
|
||||||
|
}
|
||||||
|
JNF_COCOA_EXIT(env);
|
||||||
|
|
||||||
|
return address;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
|
||||||
|
* Method: readBytesFromProcess0
|
||||||
|
* Signature: (JJ)Lsun/jvm/hotspot/debugger/ReadResult;
|
||||||
|
*/
|
||||||
|
JNIEXPORT jbyteArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_readBytesFromProcess0(JNIEnv *env, jobject this_obj, jlong addr, jlong numBytes) {
|
||||||
|
if (debug) printf("readBytesFromProcess called. addr = %llx numBytes = %lld\n", addr, numBytes);
|
||||||
|
|
||||||
|
// must allocate storage instead of using former parameter buf
|
||||||
|
jboolean isCopy;
|
||||||
|
jbyteArray array;
|
||||||
|
jbyte *bufPtr;
|
||||||
|
|
||||||
|
array = (*env)->NewByteArray(env, numBytes);
|
||||||
|
CHECK_EXCEPTION_(0);
|
||||||
|
|
||||||
|
unsigned long alignedAddress;
|
||||||
|
unsigned long alignedLength;
|
||||||
|
kern_return_t result;
|
||||||
|
vm_offset_t *pages;
|
||||||
|
int *mapped;
|
||||||
|
long pageCount;
|
||||||
|
uint byteCount;
|
||||||
|
int i;
|
||||||
|
unsigned long remaining;
|
||||||
|
|
||||||
|
alignedAddress = trunc_page(addr);
|
||||||
|
if (addr != alignedAddress) {
|
||||||
|
alignedLength += addr - alignedAddress;
|
||||||
|
}
|
||||||
|
alignedLength = round_page(numBytes);
|
||||||
|
pageCount = alignedLength/vm_page_size;
|
||||||
|
|
||||||
|
// Allocate storage for pages and flags.
|
||||||
|
pages = malloc(pageCount * sizeof(vm_offset_t));
|
||||||
|
mapped = calloc(pageCount, sizeof(int));
|
||||||
|
|
||||||
|
task_t gTask = getTask(env, this_obj);
|
||||||
|
// Try to read each of the pages.
|
||||||
|
for (i = 0; i < pageCount; i++) {
|
||||||
|
result = vm_read(gTask, alignedAddress + i*vm_page_size, vm_page_size,
|
||||||
|
&pages[i], &byteCount);
|
||||||
|
mapped[i] = (result == KERN_SUCCESS);
|
||||||
|
// assume all failures are unmapped pages
|
||||||
|
}
|
||||||
|
|
||||||
|
if (debug) fprintf(stderr, "%ld pages\n", pageCount);
|
||||||
|
|
||||||
|
remaining = numBytes;
|
||||||
|
|
||||||
|
for (i = 0; i < pageCount; i++) {
|
||||||
|
unsigned long len = vm_page_size;
|
||||||
|
unsigned long start = 0;
|
||||||
|
|
||||||
|
if (i == 0) {
|
||||||
|
start = addr - alignedAddress;
|
||||||
|
len = vm_page_size - start;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i == (pageCount - 1)) {
|
||||||
|
len = remaining;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mapped[i]) {
|
||||||
|
if (debug) fprintf(stderr, "page %d mapped (len %ld start %ld)\n", i, len, start);
|
||||||
|
(*env)->SetByteArrayRegion(env, array, 0, len, ((jbyte *) pages[i] + start));
|
||||||
|
vm_deallocate(mach_task_self(), pages[i], vm_page_size);
|
||||||
|
}
|
||||||
|
|
||||||
|
remaining -= len;
|
||||||
|
}
|
||||||
|
|
||||||
|
free (pages);
|
||||||
|
free (mapped);
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: sun_jvm_hotspot_debugger_macosx_MacOSXDebuggerLocal
|
||||||
|
* Method: getThreadIntegerRegisterSet0
|
||||||
|
* Signature: (I)[J
|
||||||
|
*/
|
||||||
|
JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_getThreadIntegerRegisterSet0(JNIEnv *env, jobject this_obj, jint lwp_id) {
|
||||||
|
if (debug)
|
||||||
|
printf("getThreadRegisterSet0 called\n");
|
||||||
|
|
||||||
|
kern_return_t result;
|
||||||
|
thread_t tid;
|
||||||
|
mach_msg_type_number_t count = HSDB_THREAD_STATE_COUNT;
|
||||||
|
hsdb_thread_state_t state;
|
||||||
|
unsigned int *r;
|
||||||
|
int i;
|
||||||
|
jlongArray registerArray;
|
||||||
|
jlong *primitiveArray;
|
||||||
|
|
||||||
|
tid = lwp_id;
|
||||||
|
|
||||||
|
result = thread_get_state(tid, HSDB_THREAD_STATE, (thread_state_t)&state, &count);
|
||||||
|
|
||||||
|
if (result != KERN_SUCCESS) {
|
||||||
|
if (debug)
|
||||||
|
printf("getregs: thread_get_state(%d) failed (%d)\n", tid, result);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 40 32-bit registers on ppc, 16 on x86.
|
||||||
|
// Output order is the same as the order in the ppc_thread_state/i386_thread_state struct.
|
||||||
|
#if defined(__i386__)
|
||||||
|
r = (unsigned int *)&state;
|
||||||
|
registerArray = (*env)->NewLongArray(env, 8);
|
||||||
|
primitiveArray = (*env)->GetLongArrayElements(env, registerArray, NULL);
|
||||||
|
primitiveArray[0] = r[0]; // eax
|
||||||
|
primitiveArray[1] = r[2]; // ecx
|
||||||
|
primitiveArray[2] = r[3]; // edx
|
||||||
|
primitiveArray[3] = r[1]; // ebx
|
||||||
|
primitiveArray[4] = r[7]; // esp
|
||||||
|
primitiveArray[5] = r[6]; // ebp
|
||||||
|
primitiveArray[6] = r[5]; // esi
|
||||||
|
primitiveArray[7] = r[4]; // edi
|
||||||
|
(*env)->ReleaseLongArrayElements(env, registerArray, primitiveArray, 0);
|
||||||
|
#elif defined(__x86_64__)
|
||||||
|
/* From AMD64ThreadContext.java
|
||||||
|
public static final int R15 = 0;
|
||||||
|
public static final int R14 = 1;
|
||||||
|
public static final int R13 = 2;
|
||||||
|
public static final int R12 = 3;
|
||||||
|
public static final int R11 = 4;
|
||||||
|
public static final int R10 = 5;
|
||||||
|
public static final int R9 = 6;
|
||||||
|
public static final int R8 = 7;
|
||||||
|
public static final int RDI = 8;
|
||||||
|
public static final int RSI = 9;
|
||||||
|
public static final int RBP = 10;
|
||||||
|
public static final int RBX = 11;
|
||||||
|
public static final int RDX = 12;
|
||||||
|
public static final int RCX = 13;
|
||||||
|
public static final int RAX = 14;
|
||||||
|
public static final int TRAPNO = 15;
|
||||||
|
public static final int ERR = 16;
|
||||||
|
public static final int RIP = 17;
|
||||||
|
public static final int CS = 18;
|
||||||
|
public static final int RFL = 19;
|
||||||
|
public static final int RSP = 20;
|
||||||
|
public static final int SS = 21;
|
||||||
|
public static final int FS = 22;
|
||||||
|
public static final int GS = 23;
|
||||||
|
public static final int ES = 24;
|
||||||
|
public static final int DS = 25;
|
||||||
|
public static final int FSBASE = 26;
|
||||||
|
public static final int GSBASE = 27;
|
||||||
|
*/
|
||||||
|
// 64 bit
|
||||||
|
if (debug) printf("Getting threads for a 64-bit process\n");
|
||||||
|
registerArray = (*env)->NewLongArray(env, 28);
|
||||||
|
primitiveArray = (*env)->GetLongArrayElements(env, registerArray, NULL);
|
||||||
|
|
||||||
|
primitiveArray[0] = state.__r15;
|
||||||
|
primitiveArray[1] = state.__r14;
|
||||||
|
primitiveArray[2] = state.__r13;
|
||||||
|
primitiveArray[3] = state.__r12;
|
||||||
|
primitiveArray[4] = state.__r11;
|
||||||
|
primitiveArray[5] = state.__r10;
|
||||||
|
primitiveArray[6] = state.__r9;
|
||||||
|
primitiveArray[7] = state.__r8;
|
||||||
|
primitiveArray[8] = state.__rdi;
|
||||||
|
primitiveArray[9] = state.__rsi;
|
||||||
|
primitiveArray[10] = state.__rbp;
|
||||||
|
primitiveArray[11] = state.__rbx;
|
||||||
|
primitiveArray[12] = state.__rdx;
|
||||||
|
primitiveArray[13] = state.__rcx;
|
||||||
|
primitiveArray[14] = state.__rax;
|
||||||
|
primitiveArray[15] = 0; // trapno ?
|
||||||
|
primitiveArray[16] = 0; // err ?
|
||||||
|
primitiveArray[17] = state.__rip;
|
||||||
|
primitiveArray[18] = state.__cs;
|
||||||
|
primitiveArray[19] = state.__rflags;
|
||||||
|
primitiveArray[20] = state.__rsp;
|
||||||
|
primitiveArray[21] = 0; // We don't have SS
|
||||||
|
primitiveArray[22] = state.__fs;
|
||||||
|
primitiveArray[23] = state.__gs;
|
||||||
|
primitiveArray[24] = 0;
|
||||||
|
primitiveArray[25] = 0;
|
||||||
|
primitiveArray[26] = 0;
|
||||||
|
primitiveArray[27] = 0;
|
||||||
|
|
||||||
|
if (debug) printf("set registers\n");
|
||||||
|
|
||||||
|
(*env)->ReleaseLongArrayElements(env, registerArray, primitiveArray, 0);
|
||||||
|
#else
|
||||||
|
#error Unsupported architecture
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return registerArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: sun_jvm_hotspot_debugger_macosx_MacOSXDebuggerLocal
|
||||||
|
* Method: translateTID0
|
||||||
|
* Signature: (I)I
|
||||||
|
*/
|
||||||
|
JNIEXPORT jint JNICALL
|
||||||
|
Java_sun_jvm_hotspot_debugger_macosx_MacOSXDebuggerLocal_translateTID0(JNIEnv *env, jobject this_obj, jint tid) {
|
||||||
|
if (debug)
|
||||||
|
printf("translateTID0 called on tid = 0x%x\n", (int)tid);
|
||||||
|
|
||||||
|
kern_return_t result;
|
||||||
|
thread_t foreign_tid, usable_tid;
|
||||||
|
mach_msg_type_name_t type;
|
||||||
|
|
||||||
|
foreign_tid = tid;
|
||||||
|
|
||||||
|
task_t gTask = getTask(env, this_obj);
|
||||||
|
result = mach_port_extract_right(gTask, foreign_tid,
|
||||||
|
MACH_MSG_TYPE_COPY_SEND,
|
||||||
|
&usable_tid, &type);
|
||||||
|
if (result != KERN_SUCCESS)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (debug)
|
||||||
|
printf("translateTID0: 0x%x -> 0x%x\n", foreign_tid, usable_tid);
|
||||||
|
|
||||||
|
return (jint) usable_tid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
|
||||||
|
* Method: attach0
|
||||||
|
* Signature: (I)V
|
||||||
|
*/
|
||||||
|
JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_attach0__I(JNIEnv *env, jobject this_obj, jint jpid) {
|
||||||
|
JNF_COCOA_ENTER(env);
|
||||||
|
if (getenv("JAVA_SAPROC_DEBUG") != NULL)
|
||||||
|
debug = JNI_TRUE;
|
||||||
|
else
|
||||||
|
debug = JNI_FALSE;
|
||||||
|
if (debug) printf("attach0 called for jpid=%d\n", (int)jpid);
|
||||||
|
|
||||||
|
kern_return_t result;
|
||||||
|
task_t gTask = 0;
|
||||||
|
result = task_for_pid(mach_task_self(), jpid, &gTask);
|
||||||
|
if (result != KERN_SUCCESS) {
|
||||||
|
fprintf(stderr, "attach: task_for_pid(%d) failed (%d)\n", (int)jpid, result);
|
||||||
|
THROW_NEW_DEBUGGER_EXCEPTION("Can't attach to the process");
|
||||||
|
}
|
||||||
|
putTask(env, this_obj, gTask);
|
||||||
|
|
||||||
|
id symbolicator = nil;
|
||||||
|
id jrsSymbolicator = objc_lookUpClass("JRSSymbolicator");
|
||||||
|
if (jrsSymbolicator != nil) {
|
||||||
|
id (*dynamicCall)(id, SEL, pid_t) = (id (*)(id, SEL, pid_t))&objc_msgSend;
|
||||||
|
symbolicator = dynamicCall(jrsSymbolicator, @selector(symbolicatorForPid:), (pid_t)jpid);
|
||||||
|
}
|
||||||
|
if (symbolicator != nil) {
|
||||||
|
CFRetain(symbolicator); // pin symbolicator while in java heap
|
||||||
|
}
|
||||||
|
|
||||||
|
putSymbolicator(env, this_obj, symbolicator);
|
||||||
|
if (symbolicator == nil) {
|
||||||
|
THROW_NEW_DEBUGGER_EXCEPTION("Can't attach symbolicator to the process");
|
||||||
|
}
|
||||||
|
|
||||||
|
JNF_COCOA_EXIT(env);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal
|
||||||
|
* Method: detach0
|
||||||
|
* Signature: ()V
|
||||||
|
*/
|
||||||
|
JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_detach0(JNIEnv *env, jobject this_obj) {
|
||||||
|
JNF_COCOA_ENTER(env);
|
||||||
|
if (debug) printf("detach0 called\n");
|
||||||
|
|
||||||
|
task_t gTask = getTask(env, this_obj);
|
||||||
|
mach_port_deallocate(mach_task_self(), gTask);
|
||||||
|
id symbolicator = getSymbolicator(env, this_obj);
|
||||||
|
if (symbolicator != nil) {
|
||||||
|
CFRelease(symbolicator);
|
||||||
|
}
|
||||||
|
JNF_COCOA_EXIT(env);
|
||||||
|
}
|
||||||
@@ -32,7 +32,6 @@ SOURCES = salibelf.c \
|
|||||||
libproc_impl.c \
|
libproc_impl.c \
|
||||||
ps_proc.c \
|
ps_proc.c \
|
||||||
ps_core.c \
|
ps_core.c \
|
||||||
hsearch_r.c \
|
|
||||||
BsdDebuggerLocal.c
|
BsdDebuggerLocal.c
|
||||||
|
|
||||||
INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/$(shell uname -s | tr "[:upper:]" "[:lower:]")
|
INCLUDES = -I${JAVA_HOME}/include -I${JAVA_HOME}/include/$(shell uname -s | tr "[:upper:]" "[:lower:]")
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ struct symtab* build_symtab(int fd) {
|
|||||||
|
|
||||||
if (shdr->sh_type == symsection) {
|
if (shdr->sh_type == symsection) {
|
||||||
ELF_SYM *syms;
|
ELF_SYM *syms;
|
||||||
int j, n, rslt;
|
int j, n;
|
||||||
size_t size;
|
size_t size;
|
||||||
|
|
||||||
// FIXME: there could be multiple data buffers associated with the
|
// FIXME: there could be multiple data buffers associated with the
|
||||||
@@ -138,6 +138,8 @@ struct symtab* build_symtab(int fd) {
|
|||||||
// manipulate the hash table.
|
// manipulate the hash table.
|
||||||
symtab->hash_table = dbopen(NULL, O_CREAT | O_RDWR, 0600, DB_HASH, NULL);
|
symtab->hash_table = dbopen(NULL, O_CREAT | O_RDWR, 0600, DB_HASH, NULL);
|
||||||
// guarantee(symtab->hash_table, "unexpected failure: dbopen");
|
// guarantee(symtab->hash_table, "unexpected failure: dbopen");
|
||||||
|
if (symtab->hash_table == NULL)
|
||||||
|
goto bad;
|
||||||
|
|
||||||
// shdr->sh_link points to the section that contains the actual strings
|
// shdr->sh_link points to the section that contains the actual strings
|
||||||
// for symbol names. the st_name field in ELF_SYM is just the
|
// for symbol names. the st_name field in ELF_SYM is just the
|
||||||
@@ -145,11 +147,15 @@ struct symtab* build_symtab(int fd) {
|
|||||||
// strings will not be destroyed by elf_end.
|
// strings will not be destroyed by elf_end.
|
||||||
size = scn_cache[shdr->sh_link].c_shdr->sh_size;
|
size = scn_cache[shdr->sh_link].c_shdr->sh_size;
|
||||||
symtab->strs = malloc(size);
|
symtab->strs = malloc(size);
|
||||||
|
if (symtab->strs == NULL)
|
||||||
|
goto bad;
|
||||||
memcpy(symtab->strs, scn_cache[shdr->sh_link].c_data, size);
|
memcpy(symtab->strs, scn_cache[shdr->sh_link].c_data, size);
|
||||||
|
|
||||||
// allocate memory for storing symbol offset and size;
|
// allocate memory for storing symbol offset and size;
|
||||||
symtab->num_symbols = n;
|
symtab->num_symbols = n;
|
||||||
symtab->symbols = calloc(n , sizeof(*symtab->symbols));
|
symtab->symbols = calloc(n , sizeof(*symtab->symbols));
|
||||||
|
if (symtab->symbols == NULL)
|
||||||
|
goto bad;
|
||||||
|
|
||||||
// copy symbols info our symtab and enter them info the hash table
|
// copy symbols info our symtab and enter them info the hash table
|
||||||
for (j = 0; j < n; j++, syms++) {
|
for (j = 0; j < n; j++, syms++) {
|
||||||
@@ -175,6 +181,11 @@ struct symtab* build_symtab(int fd) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
goto quit;
|
||||||
|
|
||||||
|
bad:
|
||||||
|
destroy_symtab(symtab);
|
||||||
|
symtab = NULL;
|
||||||
|
|
||||||
quit:
|
quit:
|
||||||
if (shbuf) free(shbuf);
|
if (shbuf) free(shbuf);
|
||||||
@@ -195,7 +206,7 @@ void destroy_symtab(struct symtab* symtab) {
|
|||||||
if (symtab->strs) free(symtab->strs);
|
if (symtab->strs) free(symtab->strs);
|
||||||
if (symtab->symbols) free(symtab->symbols);
|
if (symtab->symbols) free(symtab->symbols);
|
||||||
if (symtab->hash_table) {
|
if (symtab->hash_table) {
|
||||||
symtab->hash_table->close(symtab->hash_table);
|
(*symtab->hash_table->close)(symtab->hash_table);
|
||||||
}
|
}
|
||||||
free(symtab);
|
free(symtab);
|
||||||
}
|
}
|
||||||
@@ -219,7 +230,6 @@ uintptr_t search_symbol(struct symtab* symtab, uintptr_t base,
|
|||||||
return rslt;
|
return rslt;
|
||||||
}
|
}
|
||||||
|
|
||||||
quit:
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,12 +238,12 @@ const char* nearest_symbol(struct symtab* symtab, uintptr_t offset,
|
|||||||
int n = 0;
|
int n = 0;
|
||||||
if (!symtab) return NULL;
|
if (!symtab) return NULL;
|
||||||
for (; n < symtab->num_symbols; n++) {
|
for (; n < symtab->num_symbols; n++) {
|
||||||
struct elf_symbol* sym = &(symtab->symbols[n]);
|
struct elf_symbol* sym = &(symtab->symbols[n]);
|
||||||
if (sym->name != NULL &&
|
if (sym->name != NULL &&
|
||||||
offset >= sym->offset && offset < sym->offset + sym->size) {
|
offset >= sym->offset && offset < sym->offset + sym->size) {
|
||||||
if (poffset) *poffset = (offset - sym->offset);
|
if (poffset) *poffset = (offset - sym->offset);
|
||||||
return sym->name;
|
return sym->name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2002, 2009, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2002, 2012, 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
|
||||||
@@ -40,7 +40,7 @@ OBJS = $(SOURCES:.c=.o)
|
|||||||
|
|
||||||
LIBS = -lthread_db
|
LIBS = -lthread_db
|
||||||
|
|
||||||
CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES)
|
CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) -D_FILE_OFFSET_BITS=64
|
||||||
|
|
||||||
LIBSA = $(ARCH)/libsaproc.so
|
LIBSA = $(ARCH)/libsaproc.so
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012, 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
|
||||||
@@ -50,10 +50,6 @@ int pathmap_open(const char* name) {
|
|||||||
char alt_path[PATH_MAX + 1];
|
char alt_path[PATH_MAX + 1];
|
||||||
|
|
||||||
init_alt_root();
|
init_alt_root();
|
||||||
fd = open(name, O_RDONLY);
|
|
||||||
if (fd >= 0) {
|
|
||||||
return fd;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (alt_root_len > 0) {
|
if (alt_root_len > 0) {
|
||||||
strcpy(alt_path, alt_root);
|
strcpy(alt_path, alt_root);
|
||||||
@@ -73,6 +69,11 @@ int pathmap_open(const char* name) {
|
|||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
fd = open(name, O_RDONLY);
|
||||||
|
if (fd >= 0) {
|
||||||
|
return fd;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ public class BsdDebuggerLocal extends DebuggerBase implements BsdDebugger {
|
|||||||
private boolean useGCC32ABI;
|
private boolean useGCC32ABI;
|
||||||
private boolean attached;
|
private boolean attached;
|
||||||
private long p_ps_prochandle; // native debugger handle
|
private long p_ps_prochandle; // native debugger handle
|
||||||
|
private long symbolicator; // macosx symbolicator handle
|
||||||
|
private long task; // macosx task handle
|
||||||
private boolean isCore;
|
private boolean isCore;
|
||||||
|
|
||||||
// CDebugger support
|
// CDebugger support
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2011, 2012, 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
|
||||||
@@ -49,8 +49,12 @@ public class G1CollectedHeap extends SharedHeap {
|
|||||||
static private long g1CommittedFieldOffset;
|
static private long g1CommittedFieldOffset;
|
||||||
// size_t _summary_bytes_used;
|
// size_t _summary_bytes_used;
|
||||||
static private CIntegerField summaryBytesUsedField;
|
static private CIntegerField summaryBytesUsedField;
|
||||||
// G1MonitoringSupport* _g1mm
|
// G1MonitoringSupport* _g1mm;
|
||||||
static private AddressField g1mmField;
|
static private AddressField g1mmField;
|
||||||
|
// MasterOldRegionSet _old_set;
|
||||||
|
static private long oldSetFieldOffset;
|
||||||
|
// MasterHumongousRegionSet _humongous_set;
|
||||||
|
static private long humongousSetFieldOffset;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
VM.registerVMInitializedObserver(new Observer() {
|
VM.registerVMInitializedObserver(new Observer() {
|
||||||
@@ -67,12 +71,14 @@ public class G1CollectedHeap extends SharedHeap {
|
|||||||
g1CommittedFieldOffset = type.getField("_g1_committed").getOffset();
|
g1CommittedFieldOffset = type.getField("_g1_committed").getOffset();
|
||||||
summaryBytesUsedField = type.getCIntegerField("_summary_bytes_used");
|
summaryBytesUsedField = type.getCIntegerField("_summary_bytes_used");
|
||||||
g1mmField = type.getAddressField("_g1mm");
|
g1mmField = type.getAddressField("_g1mm");
|
||||||
|
oldSetFieldOffset = type.getField("_old_set").getOffset();
|
||||||
|
humongousSetFieldOffset = type.getField("_humongous_set").getOffset();
|
||||||
}
|
}
|
||||||
|
|
||||||
public long capacity() {
|
public long capacity() {
|
||||||
Address g1CommittedAddr = addr.addOffsetTo(g1CommittedFieldOffset);
|
Address g1CommittedAddr = addr.addOffsetTo(g1CommittedFieldOffset);
|
||||||
MemRegion g1_committed = new MemRegion(g1CommittedAddr);
|
MemRegion g1Committed = new MemRegion(g1CommittedAddr);
|
||||||
return g1_committed.byteSize();
|
return g1Committed.byteSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
public long used() {
|
public long used() {
|
||||||
@@ -94,6 +100,18 @@ public class G1CollectedHeap extends SharedHeap {
|
|||||||
return (G1MonitoringSupport) VMObjectFactory.newObject(G1MonitoringSupport.class, g1mmAddr);
|
return (G1MonitoringSupport) VMObjectFactory.newObject(G1MonitoringSupport.class, g1mmAddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HeapRegionSetBase oldSet() {
|
||||||
|
Address oldSetAddr = addr.addOffsetTo(oldSetFieldOffset);
|
||||||
|
return (HeapRegionSetBase) VMObjectFactory.newObject(HeapRegionSetBase.class,
|
||||||
|
oldSetAddr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public HeapRegionSetBase humongousSet() {
|
||||||
|
Address humongousSetAddr = addr.addOffsetTo(humongousSetFieldOffset);
|
||||||
|
return (HeapRegionSetBase) VMObjectFactory.newObject(HeapRegionSetBase.class,
|
||||||
|
humongousSetAddr);
|
||||||
|
}
|
||||||
|
|
||||||
private Iterator<HeapRegion> heapRegionIterator() {
|
private Iterator<HeapRegion> heapRegionIterator() {
|
||||||
return hrs().heapRegionIterator();
|
return hrs().heapRegionIterator();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2011, 2012, 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
|
||||||
@@ -77,6 +77,10 @@ public class G1MonitoringSupport extends VMObject {
|
|||||||
return edenUsedField.getValue(addr);
|
return edenUsedField.getValue(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long edenRegionNum() {
|
||||||
|
return edenUsed() / HeapRegion.grainBytes();
|
||||||
|
}
|
||||||
|
|
||||||
public long survivorCommitted() {
|
public long survivorCommitted() {
|
||||||
return survivorCommittedField.getValue(addr);
|
return survivorCommittedField.getValue(addr);
|
||||||
}
|
}
|
||||||
@@ -85,6 +89,10 @@ public class G1MonitoringSupport extends VMObject {
|
|||||||
return survivorUsedField.getValue(addr);
|
return survivorUsedField.getValue(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public long survivorRegionNum() {
|
||||||
|
return survivorUsed() / HeapRegion.grainBytes();
|
||||||
|
}
|
||||||
|
|
||||||
public long oldCommitted() {
|
public long oldCommitted() {
|
||||||
return oldCommittedField.getValue(addr);
|
return oldCommittedField.getValue(addr);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,81 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012, 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.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
package sun.jvm.hotspot.gc_implementation.g1;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.Observable;
|
||||||
|
import java.util.Observer;
|
||||||
|
|
||||||
|
import sun.jvm.hotspot.debugger.Address;
|
||||||
|
import sun.jvm.hotspot.runtime.VM;
|
||||||
|
import sun.jvm.hotspot.runtime.VMObject;
|
||||||
|
import sun.jvm.hotspot.runtime.VMObjectFactory;
|
||||||
|
import sun.jvm.hotspot.types.AddressField;
|
||||||
|
import sun.jvm.hotspot.types.CIntegerField;
|
||||||
|
import sun.jvm.hotspot.types.Type;
|
||||||
|
import sun.jvm.hotspot.types.TypeDataBase;
|
||||||
|
|
||||||
|
// Mirror class for HeapRegionSetBase. Represents a group of regions.
|
||||||
|
|
||||||
|
public class HeapRegionSetBase extends VMObject {
|
||||||
|
// size_t _length;
|
||||||
|
static private CIntegerField lengthField;
|
||||||
|
// size_t _region_num;
|
||||||
|
static private CIntegerField regionNumField;
|
||||||
|
// size_t _total_used_bytes;
|
||||||
|
static private CIntegerField totalUsedBytesField;
|
||||||
|
|
||||||
|
static {
|
||||||
|
VM.registerVMInitializedObserver(new Observer() {
|
||||||
|
public void update(Observable o, Object data) {
|
||||||
|
initialize(VM.getVM().getTypeDataBase());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
static private synchronized void initialize(TypeDataBase db) {
|
||||||
|
Type type = db.lookupType("HeapRegionSetBase");
|
||||||
|
|
||||||
|
lengthField = type.getCIntegerField("_length");
|
||||||
|
regionNumField = type.getCIntegerField("_region_num");
|
||||||
|
totalUsedBytesField = type.getCIntegerField("_total_used_bytes");
|
||||||
|
}
|
||||||
|
|
||||||
|
public long length() {
|
||||||
|
return lengthField.getValue(addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public long regionNum() {
|
||||||
|
return regionNumField.getValue(addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public long totalUsedBytes() {
|
||||||
|
return totalUsedBytesField.getValue(addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public HeapRegionSetBase(Address addr) {
|
||||||
|
super(addr);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, 2012, 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
|
||||||
@@ -217,8 +217,8 @@ abstract class ConnectorImpl implements Connector {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void checkNativeLink(SecurityManager sm, String os) {
|
protected void checkNativeLink(SecurityManager sm, String os) {
|
||||||
if (os.equals("SunOS") || os.equals("Linux")) {
|
if (os.equals("SunOS") || os.equals("Linux") || os.contains("OS X")) {
|
||||||
// link "saproc" - SA native library on SunOS and Linux?
|
// link "saproc" - SA native library on SunOS, Linux, and Mac OS X
|
||||||
sm.checkLink("saproc");
|
sm.checkLink("saproc");
|
||||||
} else if (os.startsWith("Windows")) {
|
} else if (os.startsWith("Windows")) {
|
||||||
// link "sawindbg" - SA native library on Windows.
|
// link "sawindbg" - SA native library on Windows.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012 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
|
||||||
@@ -42,15 +42,6 @@ public class LoaderConstraintTable extends TwoOopHashtable {
|
|||||||
|
|
||||||
private static synchronized void initialize(TypeDataBase db) {
|
private static synchronized void initialize(TypeDataBase db) {
|
||||||
Type type = db.lookupType("LoaderConstraintTable");
|
Type type = db.lookupType("LoaderConstraintTable");
|
||||||
nofBuckets = db.lookupIntConstant("LoaderConstraintTable::_nof_buckets").intValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fields
|
|
||||||
private static int nofBuckets;
|
|
||||||
|
|
||||||
// Accessors
|
|
||||||
public static int getNumOfBuckets() {
|
|
||||||
return nofBuckets;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public LoaderConstraintTable(Address addr) {
|
public LoaderConstraintTable(Address addr) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2001, 2012, 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
|
||||||
@@ -36,7 +36,6 @@ public class SystemDictionary {
|
|||||||
private static AddressField placeholdersField;
|
private static AddressField placeholdersField;
|
||||||
private static AddressField loaderConstraintTableField;
|
private static AddressField loaderConstraintTableField;
|
||||||
private static sun.jvm.hotspot.types.OopField javaSystemLoaderField;
|
private static sun.jvm.hotspot.types.OopField javaSystemLoaderField;
|
||||||
private static int nofBuckets;
|
|
||||||
|
|
||||||
private static sun.jvm.hotspot.types.OopField objectKlassField;
|
private static sun.jvm.hotspot.types.OopField objectKlassField;
|
||||||
private static sun.jvm.hotspot.types.OopField classLoaderKlassField;
|
private static sun.jvm.hotspot.types.OopField classLoaderKlassField;
|
||||||
@@ -62,7 +61,6 @@ public class SystemDictionary {
|
|||||||
placeholdersField = type.getAddressField("_placeholders");
|
placeholdersField = type.getAddressField("_placeholders");
|
||||||
loaderConstraintTableField = type.getAddressField("_loader_constraints");
|
loaderConstraintTableField = type.getAddressField("_loader_constraints");
|
||||||
javaSystemLoaderField = type.getOopField("_java_system_loader");
|
javaSystemLoaderField = type.getOopField("_java_system_loader");
|
||||||
nofBuckets = db.lookupIntConstant("SystemDictionary::_nof_buckets").intValue();
|
|
||||||
|
|
||||||
objectKlassField = type.getOopField(WK_KLASS("Object_klass"));
|
objectKlassField = type.getOopField(WK_KLASS("Object_klass"));
|
||||||
classLoaderKlassField = type.getOopField(WK_KLASS("ClassLoader_klass"));
|
classLoaderKlassField = type.getOopField(WK_KLASS("ClassLoader_klass"));
|
||||||
@@ -142,10 +140,6 @@ public class SystemDictionary {
|
|||||||
return newOop(javaSystemLoaderField.getValue());
|
return newOop(javaSystemLoaderField.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getNumOfBuckets() {
|
|
||||||
return nofBuckets;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Oop newOop(OopHandle handle) {
|
private static Oop newOop(OopHandle handle) {
|
||||||
return VM.getVM().getObjectHeap().newOop(handle);
|
return VM.getVM().getObjectHeap().newOop(handle);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -648,7 +648,12 @@ public class ConstantPool extends Oop implements ClassConstants {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void printValueOn(PrintStream tty) {
|
public void printValueOn(PrintStream tty) {
|
||||||
tty.print("ConstantPool for " + getPoolHolder().getName().asString());
|
Oop holder = poolHolder.getValue(this);
|
||||||
|
if (holder instanceof Klass) {
|
||||||
|
tty.print("ConstantPool for " + ((Klass)holder).getName().asString());
|
||||||
|
} else {
|
||||||
|
tty.print("ConstantPool for partially loaded class");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getObjectSize() {
|
public long getObjectSize() {
|
||||||
|
|||||||
@@ -359,6 +359,12 @@ public class InstanceKlass extends Klass {
|
|||||||
public static final int innerClassNextOffset = 4;
|
public static final int innerClassNextOffset = 4;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static interface EnclosingMethodAttributeOffset {
|
||||||
|
public static final int enclosing_method_class_index_offset = 0;
|
||||||
|
public static final int enclosing_method_method_index_offset = 1;
|
||||||
|
public static final int enclosing_method_attribute_size = 2;
|
||||||
|
};
|
||||||
|
|
||||||
// refer to compute_modifier_flags in VM code.
|
// refer to compute_modifier_flags in VM code.
|
||||||
public long computeModifierFlags() {
|
public long computeModifierFlags() {
|
||||||
long access = getAccessFlags();
|
long access = getAccessFlags();
|
||||||
@@ -367,9 +373,14 @@ public class InstanceKlass extends Klass {
|
|||||||
int length = ( innerClassList == null)? 0 : (int) innerClassList.getLength();
|
int length = ( innerClassList == null)? 0 : (int) innerClassList.getLength();
|
||||||
if (length > 0) {
|
if (length > 0) {
|
||||||
if (Assert.ASSERTS_ENABLED) {
|
if (Assert.ASSERTS_ENABLED) {
|
||||||
Assert.that(length % InnerClassAttributeOffset.innerClassNextOffset == 0, "just checking");
|
Assert.that(length % InnerClassAttributeOffset.innerClassNextOffset == 0 ||
|
||||||
|
length % InnerClassAttributeOffset.innerClassNextOffset == EnclosingMethodAttributeOffset.enclosing_method_attribute_size,
|
||||||
|
"just checking");
|
||||||
}
|
}
|
||||||
for (int i = 0; i < length; i += InnerClassAttributeOffset.innerClassNextOffset) {
|
for (int i = 0; i < length; i += InnerClassAttributeOffset.innerClassNextOffset) {
|
||||||
|
if (i == length - EnclosingMethodAttributeOffset.enclosing_method_attribute_size) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
int ioff = innerClassList.getShortAt(i +
|
int ioff = innerClassList.getShortAt(i +
|
||||||
InnerClassAttributeOffset.innerClassInnerClassInfoOffset);
|
InnerClassAttributeOffset.innerClassInnerClassInfoOffset);
|
||||||
// 'ioff' can be zero.
|
// 'ioff' can be zero.
|
||||||
@@ -419,9 +430,14 @@ public class InstanceKlass extends Klass {
|
|||||||
int length = ( innerClassList == null)? 0 : (int) innerClassList.getLength();
|
int length = ( innerClassList == null)? 0 : (int) innerClassList.getLength();
|
||||||
if (length > 0) {
|
if (length > 0) {
|
||||||
if (Assert.ASSERTS_ENABLED) {
|
if (Assert.ASSERTS_ENABLED) {
|
||||||
Assert.that(length % InnerClassAttributeOffset.innerClassNextOffset == 0, "just checking");
|
Assert.that(length % InnerClassAttributeOffset.innerClassNextOffset == 0 ||
|
||||||
|
length % InnerClassAttributeOffset.innerClassNextOffset == EnclosingMethodAttributeOffset.enclosing_method_attribute_size,
|
||||||
|
"just checking");
|
||||||
}
|
}
|
||||||
for (int i = 0; i < length; i += InnerClassAttributeOffset.innerClassNextOffset) {
|
for (int i = 0; i < length; i += InnerClassAttributeOffset.innerClassNextOffset) {
|
||||||
|
if (i == length - EnclosingMethodAttributeOffset.enclosing_method_attribute_size) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
int ioff = innerClassList.getShortAt(i +
|
int ioff = innerClassList.getShortAt(i +
|
||||||
InnerClassAttributeOffset.innerClassInnerClassInfoOffset);
|
InnerClassAttributeOffset.innerClassInnerClassInfoOffset);
|
||||||
// 'ioff' can be zero.
|
// 'ioff' can be zero.
|
||||||
|
|||||||
@@ -956,7 +956,7 @@ public class SPARCFrame extends Frame {
|
|||||||
map.makeIntegerRegsUnsaved();
|
map.makeIntegerRegsUnsaved();
|
||||||
map.shiftWindow(sp, youngerSP);
|
map.shiftWindow(sp, youngerSP);
|
||||||
boolean thisFrameAdjustedStack = true; // I5_savedSP is live in this RF
|
boolean thisFrameAdjustedStack = true; // I5_savedSP is live in this RF
|
||||||
return new SPARCFrame(sp, youngerSP, thisFrameAdjustedStack);
|
return new SPARCFrame(biasSP(sp), biasSP(youngerSP), thisFrameAdjustedStack);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Frame senderForEntryFrame(RegisterMap regMap) {
|
private Frame senderForEntryFrame(RegisterMap regMap) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2012, 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,7 @@ import sun.jvm.hotspot.gc_implementation.g1.*;
|
|||||||
import sun.jvm.hotspot.gc_implementation.parallelScavenge.*;
|
import sun.jvm.hotspot.gc_implementation.parallelScavenge.*;
|
||||||
import sun.jvm.hotspot.gc_implementation.shared.*;
|
import sun.jvm.hotspot.gc_implementation.shared.*;
|
||||||
import sun.jvm.hotspot.memory.*;
|
import sun.jvm.hotspot.memory.*;
|
||||||
|
import sun.jvm.hotspot.oops.*;
|
||||||
import sun.jvm.hotspot.runtime.*;
|
import sun.jvm.hotspot.runtime.*;
|
||||||
|
|
||||||
public class HeapSummary extends Tool {
|
public class HeapSummary extends Tool {
|
||||||
@@ -66,6 +67,7 @@ public class HeapSummary extends Tool {
|
|||||||
printValue("SurvivorRatio = ", getFlagValue("SurvivorRatio", flagMap));
|
printValue("SurvivorRatio = ", getFlagValue("SurvivorRatio", flagMap));
|
||||||
printValMB("PermSize = ", getFlagValue("PermSize", flagMap));
|
printValMB("PermSize = ", getFlagValue("PermSize", flagMap));
|
||||||
printValMB("MaxPermSize = ", getFlagValue("MaxPermSize", flagMap));
|
printValMB("MaxPermSize = ", getFlagValue("MaxPermSize", flagMap));
|
||||||
|
printValMB("G1HeapRegionSize = ", HeapRegion.grainBytes());
|
||||||
|
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.println("Heap Usage:");
|
System.out.println("Heap Usage:");
|
||||||
@@ -99,11 +101,20 @@ public class HeapSummary extends Tool {
|
|||||||
} else if (sharedHeap instanceof G1CollectedHeap) {
|
} else if (sharedHeap instanceof G1CollectedHeap) {
|
||||||
G1CollectedHeap g1h = (G1CollectedHeap) sharedHeap;
|
G1CollectedHeap g1h = (G1CollectedHeap) sharedHeap;
|
||||||
G1MonitoringSupport g1mm = g1h.g1mm();
|
G1MonitoringSupport g1mm = g1h.g1mm();
|
||||||
System.out.println("G1 Young Generation");
|
long edenRegionNum = g1mm.edenRegionNum();
|
||||||
printG1Space("Eden Space:", g1mm.edenUsed(), g1mm.edenCommitted());
|
long survivorRegionNum = g1mm.survivorRegionNum();
|
||||||
printG1Space("From Space:", g1mm.survivorUsed(), g1mm.survivorCommitted());
|
HeapRegionSetBase oldSet = g1h.oldSet();
|
||||||
printG1Space("To Space:", 0, 0);
|
HeapRegionSetBase humongousSet = g1h.humongousSet();
|
||||||
printG1Space("G1 Old Generation", g1mm.oldUsed(), g1mm.oldCommitted());
|
long oldRegionNum = oldSet.regionNum() + humongousSet.regionNum();
|
||||||
|
printG1Space("G1 Heap:", g1h.n_regions(),
|
||||||
|
g1h.used(), g1h.capacity());
|
||||||
|
System.out.println("G1 Young Generation:");
|
||||||
|
printG1Space("Eden Space:", edenRegionNum,
|
||||||
|
g1mm.edenUsed(), g1mm.edenCommitted());
|
||||||
|
printG1Space("Survivor Space:", survivorRegionNum,
|
||||||
|
g1mm.survivorUsed(), g1mm.survivorCommitted());
|
||||||
|
printG1Space("G1 Old Generation:", oldRegionNum,
|
||||||
|
g1mm.oldUsed(), g1mm.oldCommitted());
|
||||||
} else {
|
} else {
|
||||||
throw new RuntimeException("unknown SharedHeap type : " + heap.getClass());
|
throw new RuntimeException("unknown SharedHeap type : " + heap.getClass());
|
||||||
}
|
}
|
||||||
@@ -134,6 +145,9 @@ public class HeapSummary extends Tool {
|
|||||||
} else {
|
} else {
|
||||||
throw new RuntimeException("unknown CollectedHeap type : " + heap.getClass());
|
throw new RuntimeException("unknown CollectedHeap type : " + heap.getClass());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
System.out.println();
|
||||||
|
printInternStringStatistics();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Helper methods
|
// Helper methods
|
||||||
@@ -212,9 +226,11 @@ public class HeapSummary extends Tool {
|
|||||||
System.out.println(alignment + (double)space.used() * 100.0 / space.capacity() + "% used");
|
System.out.println(alignment + (double)space.used() * 100.0 / space.capacity() + "% used");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void printG1Space(String spaceName, long used, long capacity) {
|
private void printG1Space(String spaceName, long regionNum,
|
||||||
|
long used, long capacity) {
|
||||||
long free = capacity - used;
|
long free = capacity - used;
|
||||||
System.out.println(spaceName);
|
System.out.println(spaceName);
|
||||||
|
printValue("regions = ", regionNum);
|
||||||
printValMB("capacity = ", capacity);
|
printValMB("capacity = ", capacity);
|
||||||
printValMB("used = ", used);
|
printValMB("used = ", used);
|
||||||
printValMB("free = ", free);
|
printValMB("free = ", free);
|
||||||
@@ -248,4 +264,41 @@ public class HeapSummary extends Tool {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void printInternStringStatistics() {
|
||||||
|
class StringStat implements StringTable.StringVisitor {
|
||||||
|
private int count;
|
||||||
|
private long size;
|
||||||
|
private OopField stringValueField;
|
||||||
|
|
||||||
|
StringStat() {
|
||||||
|
VM vm = VM.getVM();
|
||||||
|
SystemDictionary sysDict = vm.getSystemDictionary();
|
||||||
|
InstanceKlass strKlass = sysDict.getStringKlass();
|
||||||
|
// String has a field named 'value' of type 'char[]'.
|
||||||
|
stringValueField = (OopField) strKlass.findField("value", "[C");
|
||||||
|
}
|
||||||
|
|
||||||
|
private long stringSize(Instance instance) {
|
||||||
|
// We include String content in size calculation.
|
||||||
|
return instance.getObjectSize() +
|
||||||
|
stringValueField.getValue(instance).getObjectSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void visit(Instance str) {
|
||||||
|
count++;
|
||||||
|
size += stringSize(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void print() {
|
||||||
|
System.out.println(count +
|
||||||
|
" interned Strings occupying " + size + " bytes.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
StringStat stat = new StringStat();
|
||||||
|
StringTable strTable = VM.getVM().getStringTable();
|
||||||
|
strTable.stringsDo(stat);
|
||||||
|
stat.print();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,47 +63,9 @@ public class PermStat extends Tool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
printInternStringStatistics();
|
|
||||||
printClassLoaderStatistics();
|
printClassLoaderStatistics();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void printInternStringStatistics() {
|
|
||||||
class StringStat implements StringTable.StringVisitor {
|
|
||||||
private int count;
|
|
||||||
private long size;
|
|
||||||
private OopField stringValueField;
|
|
||||||
|
|
||||||
StringStat() {
|
|
||||||
VM vm = VM.getVM();
|
|
||||||
SystemDictionary sysDict = vm.getSystemDictionary();
|
|
||||||
InstanceKlass strKlass = sysDict.getStringKlass();
|
|
||||||
// String has a field named 'value' of type 'char[]'.
|
|
||||||
stringValueField = (OopField) strKlass.findField("value", "[C");
|
|
||||||
}
|
|
||||||
|
|
||||||
private long stringSize(Instance instance) {
|
|
||||||
// We include String content in size calculation.
|
|
||||||
return instance.getObjectSize() +
|
|
||||||
stringValueField.getValue(instance).getObjectSize();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void visit(Instance str) {
|
|
||||||
count++;
|
|
||||||
size += stringSize(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void print() {
|
|
||||||
System.out.println(count +
|
|
||||||
" intern Strings occupying " + size + " bytes.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
StringStat stat = new StringStat();
|
|
||||||
StringTable strTable = VM.getVM().getStringTable();
|
|
||||||
strTable.stringsDo(stat);
|
|
||||||
stat.print();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void printClassLoaderStatistics() {
|
private void printClassLoaderStatistics() {
|
||||||
final PrintStream out = System.out;
|
final PrintStream out = System.out;
|
||||||
final PrintStream err = System.err;
|
final PrintStream err = System.err;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2000, 2012, 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
|
||||||
@@ -43,7 +43,7 @@ public class PlatformInfo {
|
|||||||
return "bsd";
|
return "bsd";
|
||||||
} else if (os.equals("OpenBSD")) {
|
} else if (os.equals("OpenBSD")) {
|
||||||
return "bsd";
|
return "bsd";
|
||||||
} else if (os.equals("Darwin")) {
|
} else if (os.equals("Darwin") || os.contains("OS X")) {
|
||||||
return "bsd";
|
return "bsd";
|
||||||
} else if (os.startsWith("Windows")) {
|
} else if (os.startsWith("Windows")) {
|
||||||
return "win32";
|
return "win32";
|
||||||
@@ -52,17 +52,17 @@ public class PlatformInfo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns "sparc" if on SPARC, "x86" if on x86. */
|
/* Returns "sparc" for SPARC based platforms and "x86" for x86 based
|
||||||
|
platforms. Otherwise returns the value of os.arch. If the value
|
||||||
|
is not recognized as supported, an exception is thrown instead. */
|
||||||
public static String getCPU() throws UnsupportedPlatformException {
|
public static String getCPU() throws UnsupportedPlatformException {
|
||||||
String cpu = System.getProperty("os.arch");
|
String cpu = System.getProperty("os.arch");
|
||||||
if (cpu.equals("i386")) {
|
if (cpu.equals("i386") || cpu.equals("x86")) {
|
||||||
return "x86";
|
return "x86";
|
||||||
} else if (cpu.equals("sparc") || cpu.equals("x86") || cpu.equals("ia64")) {
|
} else if (cpu.equals("sparc") || cpu.equals("sparcv9")) {
|
||||||
return cpu;
|
|
||||||
} else if (cpu.equals("sparcv9")) {
|
|
||||||
return "sparc";
|
return "sparc";
|
||||||
} else if (cpu.equals("x86_64") || cpu.equals("amd64")) {
|
} else if (cpu.equals("ia64") || cpu.equals("amd64") || cpu.equals("x86_64")) {
|
||||||
return "amd64";
|
return cpu;
|
||||||
} else {
|
} else {
|
||||||
throw new UnsupportedPlatformException("CPU type " + cpu + " not yet supported");
|
throw new UnsupportedPlatformException("CPU type " + cpu + " not yet supported");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, 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
|
||||||
@@ -89,19 +89,31 @@ KERNEL_VM_TARGETS=productkernel fastdebugkernel optimizedkernel jvmgkernel
|
|||||||
ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
|
ZERO_VM_TARGETS=productzero fastdebugzero optimizedzero jvmgzero
|
||||||
SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
|
SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark
|
||||||
|
|
||||||
|
COMMON_VM_PRODUCT_TARGETS=product product1 productkernel docs export_product
|
||||||
|
COMMON_VM_FASTDEBUG_TARGETS=fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
|
||||||
|
COMMON_VM_DEBUG_TARGETS=jvmg jvmg1 jvmgkernel docs export_debug
|
||||||
|
|
||||||
# JDK directory list
|
# JDK directory list
|
||||||
JDK_DIRS=bin include jre lib demo
|
JDK_DIRS=bin include jre lib demo
|
||||||
|
|
||||||
all: all_product all_fastdebug
|
all: all_product all_fastdebug
|
||||||
ifndef BUILD_CLIENT_ONLY
|
|
||||||
all_product: product product1 productkernel docs export_product
|
ifdef BUILD_CLIENT_ONLY
|
||||||
all_fastdebug: fastdebug fastdebug1 fastdebugkernel docs export_fastdebug
|
|
||||||
all_debug: jvmg jvmg1 jvmgkernel docs export_debug
|
|
||||||
else
|
|
||||||
all_product: product1 docs export_product
|
all_product: product1 docs export_product
|
||||||
all_fastdebug: fastdebug1 docs export_fastdebug
|
all_fastdebug: fastdebug1 docs export_fastdebug
|
||||||
all_debug: jvmg1 docs export_debug
|
all_debug: jvmg1 docs export_debug
|
||||||
|
else
|
||||||
|
ifeq ($(MACOSX_UNIVERSAL),true)
|
||||||
|
all_product: universal_product
|
||||||
|
all_fastdebug: universal_fastdebug
|
||||||
|
all_debug: universal_debug
|
||||||
|
else
|
||||||
|
all_product: $(COMMON_VM_PRODUCT_TARGETS)
|
||||||
|
all_fastdebug: $(COMMON_VM_FASTDEBUG_TARGETS)
|
||||||
|
all_debug: $(COMMON_VM_DEBUG_TARGETS)
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
all_optimized: optimized optimized1 optimizedkernel docs export_optimized
|
all_optimized: optimized optimized1 optimizedkernel docs export_optimized
|
||||||
|
|
||||||
allzero: all_productzero all_fastdebugzero
|
allzero: all_productzero all_fastdebugzero
|
||||||
@@ -232,20 +244,19 @@ export_debug:
|
|||||||
$(MAKE) VM_SUBDIR=${VM_DEBUG} EXPORT_SUBDIR=/debug generic_export
|
$(MAKE) VM_SUBDIR=${VM_DEBUG} EXPORT_SUBDIR=/debug generic_export
|
||||||
export_optimized:
|
export_optimized:
|
||||||
$(MAKE) VM_SUBDIR=optimized EXPORT_SUBDIR=/optimized generic_export
|
$(MAKE) VM_SUBDIR=optimized EXPORT_SUBDIR=/optimized generic_export
|
||||||
export_product_jdk:
|
export_product_jdk::
|
||||||
$(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
|
$(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
|
||||||
VM_SUBDIR=product generic_export
|
VM_SUBDIR=product generic_export
|
||||||
export_optimized_jdk:
|
export_optimized_jdk::
|
||||||
$(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
|
$(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR) \
|
||||||
VM_SUBDIR=optimized generic_export
|
VM_SUBDIR=optimized generic_export
|
||||||
export_fastdebug_jdk:
|
export_fastdebug_jdk::
|
||||||
$(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/fastdebug \
|
$(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/fastdebug \
|
||||||
VM_SUBDIR=fastdebug generic_export
|
VM_SUBDIR=fastdebug generic_export
|
||||||
export_debug_jdk:
|
export_debug_jdk::
|
||||||
$(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/debug \
|
$(MAKE) ALT_EXPORT_PATH=$(JDK_IMAGE_DIR)/debug \
|
||||||
VM_SUBDIR=${VM_DEBUG} generic_export
|
VM_SUBDIR=${VM_DEBUG} generic_export
|
||||||
|
|
||||||
|
|
||||||
# Export file copy rules
|
# Export file copy rules
|
||||||
XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt
|
XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt
|
||||||
DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs
|
DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs
|
||||||
@@ -260,23 +271,25 @@ KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
|
|||||||
ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
|
ZERO_DIR=$(ZERO_BASE_DIR)/$(VM_SUBDIR)
|
||||||
SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
|
SHARK_DIR=$(SHARK_BASE_DIR)/$(VM_SUBDIR)
|
||||||
|
|
||||||
# Misc files and generated files need to come from C1 or C2 area
|
ifeq ($(JVM_VARIANT_SERVER), true)
|
||||||
ifeq ($(ZERO_BUILD), true)
|
MISC_DIR=$(C2_DIR)
|
||||||
ifeq ($(SHARK_BUILD), true)
|
GEN_DIR=$(C2_BASE_DIR)/generated
|
||||||
MISC_DIR=$(SHARK_DIR)
|
|
||||||
GEN_DIR=$(SHARK_BASE_DIR)/generated
|
|
||||||
else
|
|
||||||
MISC_DIR=$(ZERO_DIR)
|
|
||||||
GEN_DIR=$(ZERO_BASE_DIR)/generated
|
|
||||||
endif
|
endif
|
||||||
else
|
ifeq ($(JVM_VARIANT_CLIENT), true)
|
||||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
MISC_DIR=$(C1_DIR)
|
||||||
MISC_DIR=$(C1_DIR)
|
GEN_DIR=$(C1_BASE_DIR)/generated
|
||||||
GEN_DIR=$(C1_BASE_DIR)/generated
|
|
||||||
else
|
|
||||||
MISC_DIR=$(C2_DIR)
|
|
||||||
GEN_DIR=$(C2_BASE_DIR)/generated
|
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(JVM_VARIANT_KERNEL), true)
|
||||||
|
MISC_DIR=$(C2_DIR)
|
||||||
|
GEN_DIR=$(C2_BASE_DIR)/generated
|
||||||
|
endif
|
||||||
|
ifeq ($(JVM_VARIANT_ZEROSHARK), true)
|
||||||
|
MISC_DIR=$(SHARK_DIR)
|
||||||
|
GEN_DIR=$(SHARK_BASE_DIR)/generated
|
||||||
|
endif
|
||||||
|
ifeq ($(JVM_VARIANT_ZERO), true)
|
||||||
|
MISC_DIR=$(ZERO_DIR)
|
||||||
|
GEN_DIR=$(ZERO_BASE_DIR)/generated
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Bin files (windows)
|
# Bin files (windows)
|
||||||
@@ -321,53 +334,56 @@ endif
|
|||||||
|
|
||||||
# Shared Library
|
# Shared Library
|
||||||
ifneq ($(OSNAME),windows)
|
ifneq ($(OSNAME),windows)
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(JVM_VARIANT_SERVER), true)
|
||||||
ifeq ($(SHARK_BUILD), true)
|
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(C2_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(SHARK_DIR)/%.$(LIBRARY_SUFFIX)
|
$(install-file)
|
||||||
$(install-file)
|
$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(C2_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(SHARK_DIR)/%.$(LIBRARY_SUFFIX)
|
$(install-file)
|
||||||
$(install-file)
|
$(EXPORT_SERVER_DIR)/64/%.$(LIBRARY_SUFFIX): $(C2_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
else
|
$(install-file)
|
||||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
|
$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(C2_DIR)/%.debuginfo
|
||||||
$(install-file)
|
$(install-file)
|
||||||
$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
|
$(EXPORT_SERVER_DIR)/%.debuginfo: $(C2_DIR)/%.debuginfo
|
||||||
$(install-file)
|
$(install-file)
|
||||||
|
$(EXPORT_SERVER_DIR)/64/%.debuginfo: $(C2_DIR)/%.debuginfo
|
||||||
|
$(install-file)
|
||||||
|
endif
|
||||||
|
ifeq ($(JVM_VARIANT_CLIENT), true)
|
||||||
|
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(C1_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_CLIENT_DIR)/%.$(LIBRARY_SUFFIX): $(C1_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_CLIENT_DIR)/64/%.$(LIBRARY_SUFFIX): $(C1_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(C1_DIR)/%.debuginfo
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_CLIENT_DIR)/%.debuginfo: $(C1_DIR)/%.debuginfo
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_CLIENT_DIR)/64/%.debuginfo: $(C1_DIR)/%.debuginfo
|
||||||
|
$(install-file)
|
||||||
|
endif
|
||||||
|
ifeq ($(JVM_VARIANT_ZEROSHARK), true)
|
||||||
|
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(SHARK_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(SHARK_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
|
endif
|
||||||
|
ifeq ($(JVM_VARIANT_ZERO), true)
|
||||||
|
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
|
$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(ZERO_DIR)/%.$(LIBRARY_SUFFIX)
|
||||||
|
$(install-file)
|
||||||
endif
|
endif
|
||||||
else
|
|
||||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(C1_DIR)/%.$(LIBRARY_SUFFIX)
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.$(LIBRARY_SUFFIX): $(C2_DIR)/%.$(LIBRARY_SUFFIX)
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_CLIENT_DIR)/%.$(LIBRARY_SUFFIX): $(C1_DIR)/%.$(LIBRARY_SUFFIX)
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_CLIENT_DIR)/64/%.$(LIBRARY_SUFFIX): $(C1_DIR)/%.$(LIBRARY_SUFFIX)
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_SERVER_DIR)/%.$(LIBRARY_SUFFIX): $(C2_DIR)/%.$(LIBRARY_SUFFIX)
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_SERVER_DIR)/64/%.$(LIBRARY_SUFFIX): $(C2_DIR)/%.$(LIBRARY_SUFFIX)
|
|
||||||
$(install-file)
|
|
||||||
|
|
||||||
# Debug info for shared library
|
|
||||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(C1_DIR)/%.debuginfo
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_JRE_LIB_ARCH_DIR)/%.debuginfo: $(C2_DIR)/%.debuginfo
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_CLIENT_DIR)/%.debuginfo: $(C1_DIR)/%.debuginfo
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_CLIENT_DIR)/64/%.debuginfo: $(C1_DIR)/%.debuginfo
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_SERVER_DIR)/%.debuginfo: $(C2_DIR)/%.debuginfo
|
|
||||||
$(install-file)
|
|
||||||
$(EXPORT_SERVER_DIR)/64/%.debuginfo: $(C2_DIR)/%.debuginfo
|
|
||||||
$(install-file)
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Jar file (sa-jdi.jar)
|
# Jar file (sa-jdi.jar)
|
||||||
$(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
|
$(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
|
||||||
$(install-file)
|
$(install-file)
|
||||||
|
|
||||||
# Include files (jvmti.h, jvmticmlr.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h)
|
$(EXPORT_JRE_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
|
||||||
|
$(install-file)
|
||||||
|
|
||||||
|
# Include files (jvmti.h, jvmticmlr.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h, jfr.h)
|
||||||
$(EXPORT_INCLUDE_DIR)/%: $(GEN_DIR)/jvmtifiles/%
|
$(EXPORT_INCLUDE_DIR)/%: $(GEN_DIR)/jvmtifiles/%
|
||||||
$(install-file)
|
$(install-file)
|
||||||
|
|
||||||
@@ -384,6 +400,15 @@ $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h: $(HS_JNI_ARCH_SRC)
|
|||||||
$(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/services/%
|
$(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/services/%
|
||||||
$(install-file)
|
$(install-file)
|
||||||
|
|
||||||
|
JFR_EXISTS=$(shell if [ -d $(HS_ALT_SRC) ]; then echo 1; else echo 0; fi)
|
||||||
|
# export jfr.h
|
||||||
|
ifeq ($JFR_EXISTS,1)
|
||||||
|
$(EXPORT_INCLUDE_DIR)/%: $(HS_ALT_SRC)/share/vm/jfr/agent/%
|
||||||
|
$(install-file)
|
||||||
|
else
|
||||||
|
$(EXPORT_INCLUDE_DIR)/jfr.h:
|
||||||
|
endif
|
||||||
|
|
||||||
# Doc files (jvmti.html)
|
# Doc files (jvmti.html)
|
||||||
$(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
|
$(EXPORT_DOCS_DIR)/platform/jvmti/%: $(DOCS_DIR)/%
|
||||||
$(install-file)
|
$(install-file)
|
||||||
@@ -427,21 +452,28 @@ $(JDK_IMAGE_DIR)/jre/lib/rt.jar:
|
|||||||
($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -)
|
($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -)
|
||||||
|
|
||||||
test_jdk:
|
test_jdk:
|
||||||
ifneq ($(ZERO_BUILD), true)
|
ifeq ($(JVM_VARIANT_CLIENT), true)
|
||||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
$(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -client -Xinternalversion
|
||||||
$(JDK_IMAGE_DIR)/bin/java -client -version
|
$(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -client -version
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(findstring true, $(JVM_VARIANT_SERVER)\
|
||||||
|
$(JVM_VARIANT_ZERO)$(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
|
$(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -server -Xinternalversion
|
||||||
|
$(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -server -version
|
||||||
|
endif
|
||||||
|
ifeq ($(JVM_VARIANT_KERNEL), true)
|
||||||
|
$(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -kernel -Xinternalversion
|
||||||
|
$(JDK_IMAGE_DIR)/bin/java -d$(ARCH_DATA_MODEL) -kernel -version
|
||||||
endif
|
endif
|
||||||
$(JDK_IMAGE_DIR)/bin/java -server -version
|
|
||||||
|
|
||||||
copy_product_jdk:
|
copy_product_jdk::
|
||||||
$(RM) -r $(JDK_IMAGE_DIR)
|
$(RM) -r $(JDK_IMAGE_DIR)
|
||||||
$(MKDIR) -p $(JDK_IMAGE_DIR)
|
$(MKDIR) -p $(JDK_IMAGE_DIR)
|
||||||
($(CD) $(JDK_IMPORT_PATH) && \
|
($(CD) $(JDK_IMPORT_PATH) && \
|
||||||
$(TAR) -cf - $(JDK_DIRS)) | \
|
$(TAR) -cf - $(JDK_DIRS)) | \
|
||||||
($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -)
|
($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xf -)
|
||||||
|
|
||||||
copy_fastdebug_jdk:
|
copy_fastdebug_jdk::
|
||||||
$(RM) -r $(JDK_IMAGE_DIR)/fastdebug
|
$(RM) -r $(JDK_IMAGE_DIR)/fastdebug
|
||||||
$(MKDIR) -p $(JDK_IMAGE_DIR)/fastdebug
|
$(MKDIR) -p $(JDK_IMAGE_DIR)/fastdebug
|
||||||
if [ -d $(JDK_IMPORT_PATH)/fastdebug ] ; then \
|
if [ -d $(JDK_IMPORT_PATH)/fastdebug ] ; then \
|
||||||
@@ -454,7 +486,7 @@ copy_fastdebug_jdk:
|
|||||||
($(CD) $(JDK_IMAGE_DIR)/fastdebug && $(TAR) -xf -) ; \
|
($(CD) $(JDK_IMAGE_DIR)/fastdebug && $(TAR) -xf -) ; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
copy_debug_jdk:
|
copy_debug_jdk::
|
||||||
$(RM) -r $(JDK_IMAGE_DIR)/debug
|
$(RM) -r $(JDK_IMAGE_DIR)/debug
|
||||||
$(MKDIR) -p $(JDK_IMAGE_DIR)/debug
|
$(MKDIR) -p $(JDK_IMAGE_DIR)/debug
|
||||||
if [ -d $(JDK_IMPORT_PATH)/debug ] ; then \
|
if [ -d $(JDK_IMPORT_PATH)/debug ] ; then \
|
||||||
@@ -524,6 +556,7 @@ SLASH_JAVA.desc = Root of all build tools, e.g. /java or J:
|
|||||||
OUTPUTDIR.desc = Output directory, default is build/<osname>
|
OUTPUTDIR.desc = Output directory, default is build/<osname>
|
||||||
BOOTDIR.desc = JDK used to compile agent java source and test with
|
BOOTDIR.desc = JDK used to compile agent java source and test with
|
||||||
JDK_IMPORT_PATH.desc = Promoted JDK to copy for 'create_jdk'
|
JDK_IMPORT_PATH.desc = Promoted JDK to copy for 'create_jdk'
|
||||||
|
JDK_IMAGE_DIR.desc = Directory to place JDK to copy
|
||||||
EXPORT_PATH.desc = Directory to place files to export for JDK build
|
EXPORT_PATH.desc = Directory to place files to export for JDK build
|
||||||
|
|
||||||
# Make variables to print out (description and value)
|
# Make variables to print out (description and value)
|
||||||
@@ -532,6 +565,7 @@ VARIABLE_PRINTVAL_LIST += \
|
|||||||
OUTPUTDIR \
|
OUTPUTDIR \
|
||||||
BOOTDIR \
|
BOOTDIR \
|
||||||
JDK_IMPORT_PATH \
|
JDK_IMPORT_PATH \
|
||||||
|
JDK_IMAGE_DIR \
|
||||||
EXPORT_PATH
|
EXPORT_PATH
|
||||||
|
|
||||||
# Make variables that should refer to directories that exist
|
# Make variables that should refer to directories that exist
|
||||||
@@ -590,6 +624,13 @@ examples_help:
|
|||||||
@$(ECHO) \
|
@$(ECHO) \
|
||||||
" $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)"
|
" $(MAKE) ALT_JDK_IMPORT_PATH=/opt/java/jdk$(JDK_VERSION)"
|
||||||
|
|
||||||
|
# Universal build support
|
||||||
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
ifeq ($(MACOSX_UNIVERSAL),true)
|
||||||
|
include $(GAMMADIR)/make/$(OSNAME)/makefiles/universal.gmk
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# JPRT rule to build this workspace
|
# JPRT rule to build this workspace
|
||||||
include $(GAMMADIR)/make/jprt.gmk
|
include $(GAMMADIR)/make/jprt.gmk
|
||||||
|
|
||||||
@@ -599,5 +640,4 @@ include $(GAMMADIR)/make/jprt.gmk
|
|||||||
export_product export_fastdebug export_debug export_optimized \
|
export_product export_fastdebug export_debug export_optimized \
|
||||||
export_jdk_product export_jdk_fastdebug export_jdk_debug \
|
export_jdk_product export_jdk_fastdebug export_jdk_debug \
|
||||||
create_jdk copy_jdk update_jdk test_jdk \
|
create_jdk copy_jdk update_jdk test_jdk \
|
||||||
copy_product_jdk copy_fastdebug_jdk copy_debug_jdk
|
copy_product_jdk copy_fastdebug_jdk copy_debug_jdk
|
||||||
|
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
|
|||||||
# in the build.sh script:
|
# in the build.sh script:
|
||||||
TARGETS = debug jvmg fastdebug optimized profiled product
|
TARGETS = debug jvmg fastdebug optimized profiled product
|
||||||
|
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
SUBDIR_DOCS = $(OSNAME)_$(VARIANTARCH)_docs
|
SUBDIR_DOCS = $(OSNAME)_$(VARIANTARCH)_docs
|
||||||
else
|
else
|
||||||
SUBDIR_DOCS = $(OSNAME)_$(BUILDARCH)_docs
|
SUBDIR_DOCS = $(OSNAME)_$(BUILDARCH)_docs
|
||||||
@@ -208,7 +208,7 @@ TARGETS_ZERO = $(addsuffix zero,$(TARGETS))
|
|||||||
TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
|
TARGETS_SHARK = $(addsuffix shark,$(TARGETS))
|
||||||
|
|
||||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
|
||||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
|
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) LIBRARY_SUFFIX=$(LIBRARY_SUFFIX)
|
||||||
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
||||||
|
|
||||||
BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
|
BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
|
||||||
|
|||||||
@@ -39,9 +39,16 @@ OS = $(Platform_os_family)
|
|||||||
|
|
||||||
SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
|
SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
|
||||||
|
|
||||||
SOURCES.AD = \
|
ifeq ("${Platform_arch_model}", "${Platform_arch}")
|
||||||
|
SOURCES.AD = \
|
||||||
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
|
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
|
||||||
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
|
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
|
||||||
|
else
|
||||||
|
SOURCES.AD = \
|
||||||
|
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
|
||||||
|
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
|
||||||
|
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
|
||||||
|
endif
|
||||||
|
|
||||||
EXEC = $(OUTDIR)/adlc
|
EXEC = $(OUTDIR)/adlc
|
||||||
|
|
||||||
@@ -54,14 +61,16 @@ Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
|
|||||||
INCLUDES += $(Src_Dirs_I:%=-I%)
|
INCLUDES += $(Src_Dirs_I:%=-I%)
|
||||||
|
|
||||||
# set flags for adlc compilation
|
# set flags for adlc compilation
|
||||||
CPPFLAGS = $(SYSDEFS) $(INCLUDES)
|
CXXFLAGS = $(SYSDEFS) $(INCLUDES)
|
||||||
|
|
||||||
# Force assertions on.
|
# Force assertions on.
|
||||||
CPPFLAGS += -DASSERT
|
CXXFLAGS += -DASSERT
|
||||||
|
|
||||||
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
||||||
# Compiler warnings are treated as errors
|
# Compiler warnings are treated as errors
|
||||||
CFLAGS_WARN = -Werror
|
ifneq ($(COMPILER_WARNINGS_FATAL),false)
|
||||||
|
CFLAGS_WARN = -Werror
|
||||||
|
endif
|
||||||
CFLAGS += $(CFLAGS_WARN)
|
CFLAGS += $(CFLAGS_WARN)
|
||||||
|
|
||||||
OBJECTNAMES = \
|
OBJECTNAMES = \
|
||||||
@@ -102,7 +111,7 @@ all: $(EXEC)
|
|||||||
|
|
||||||
$(EXEC) : $(OBJECTS)
|
$(EXEC) : $(OBJECTS)
|
||||||
@echo Making adlc
|
@echo Making adlc
|
||||||
$(QUIETLY) $(HOST.LINK_NOPROF.CC) -o $(EXEC) $(OBJECTS)
|
$(QUIETLY) $(HOST.LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
|
||||||
|
|
||||||
# Random dependencies:
|
# Random dependencies:
|
||||||
$(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
|
$(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
|
||||||
@@ -204,14 +213,14 @@ PROCESS_AD_FILES = awk '{ \
|
|||||||
$(OUTDIR)/%.o: %.cpp
|
$(OUTDIR)/%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(HOST.COMPILE.CC) -o $@ $< $(COMPILE_DONE)
|
$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
|
||||||
|
|
||||||
# Some object files are given a prefix, to disambiguate
|
# Some object files are given a prefix, to disambiguate
|
||||||
# them from objects of the same name built for the VM.
|
# them from objects of the same name built for the VM.
|
||||||
$(OUTDIR)/adlc-%.o: %.cpp
|
$(OUTDIR)/adlc-%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(HOST.COMPILE.CC) -o $@ $< $(COMPILE_DONE)
|
$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
|
||||||
|
|
||||||
# #########################################################################
|
# #########################################################################
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,10 @@
|
|||||||
# The makefiles are split this way so that "make foo" will run faster by not
|
# The makefiles are split this way so that "make foo" will run faster by not
|
||||||
# having to read the dependency files for the vm.
|
# having to read the dependency files for the vm.
|
||||||
|
|
||||||
|
# needs to be set here since this Makefile doesn't include defs.make
|
||||||
|
OS_VENDOR:=$(shell uname -s)
|
||||||
|
|
||||||
|
-include $(SPEC)
|
||||||
include $(GAMMADIR)/make/scm.make
|
include $(GAMMADIR)/make/scm.make
|
||||||
include $(GAMMADIR)/make/altsrc.make
|
include $(GAMMADIR)/make/altsrc.make
|
||||||
|
|
||||||
@@ -65,7 +69,7 @@ QUIETLY$(MAKE_VERBOSE) = @
|
|||||||
# For now, until the compiler is less wobbly:
|
# For now, until the compiler is less wobbly:
|
||||||
TESTFLAGS = -Xbatch -showversion
|
TESTFLAGS = -Xbatch -showversion
|
||||||
|
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
|
PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
|
||||||
else
|
else
|
||||||
ifdef USE_SUNCC
|
ifdef USE_SUNCC
|
||||||
@@ -114,10 +118,12 @@ endif
|
|||||||
# Get things from the platform file.
|
# Get things from the platform file.
|
||||||
COMPILER = $(shell sed -n 's/^compiler[ ]*=[ ]*//p' $(PLATFORM_FILE))
|
COMPILER = $(shell sed -n 's/^compiler[ ]*=[ ]*//p' $(PLATFORM_FILE))
|
||||||
|
|
||||||
|
# dtracefiles is used on BSD versions that implement Dtrace (like MacOS X)
|
||||||
SIMPLE_DIRS = \
|
SIMPLE_DIRS = \
|
||||||
$(PLATFORM_DIR)/generated/dependencies \
|
$(PLATFORM_DIR)/generated/dependencies \
|
||||||
$(PLATFORM_DIR)/generated/adfiles \
|
$(PLATFORM_DIR)/generated/adfiles \
|
||||||
$(PLATFORM_DIR)/generated/jvmtifiles
|
$(PLATFORM_DIR)/generated/jvmtifiles \
|
||||||
|
$(PLATFORM_DIR)/generated/dtracefiles
|
||||||
|
|
||||||
TARGETS = debug fastdebug jvmg optimized product profiled
|
TARGETS = debug fastdebug jvmg optimized product profiled
|
||||||
SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
|
SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
|
||||||
@@ -125,7 +131,9 @@ SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
|
|||||||
# For dependencies and recursive makes.
|
# For dependencies and recursive makes.
|
||||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
|
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
|
||||||
|
|
||||||
BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.make sa.make \
|
# dtrace.make is used on BSD versions that implement Dtrace (like MacOS X)
|
||||||
|
BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make \
|
||||||
|
jvmti.make sa.make dtrace.make \
|
||||||
env.sh env.csh jdkpath.sh .dbxrc test_gamma
|
env.sh env.csh jdkpath.sh .dbxrc test_gamma
|
||||||
|
|
||||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
|
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
|
||||||
@@ -223,6 +231,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
|
echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
|
||||||
echo "$(call gamma-path,altsrc,share/vm) \\"; \
|
echo "$(call gamma-path,altsrc,share/vm) \\"; \
|
||||||
echo "$(call gamma-path,commonsrc,share/vm) \\"; \
|
echo "$(call gamma-path,commonsrc,share/vm) \\"; \
|
||||||
|
echo "$(call gamma-path,altsrc,share/vm/precompiled) \\"; \
|
||||||
|
echo "$(call gamma-path,commonsrc,share/vm/precompiled) \\"; \
|
||||||
echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
|
echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
|
||||||
echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
|
echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
|
||||||
echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
|
echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
|
||||||
@@ -238,6 +248,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
|
echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
|
||||||
echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
|
echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
|
||||||
echo; \
|
echo; \
|
||||||
|
[ -n "$(SPEC)" ] && \
|
||||||
|
echo "include $(SPEC)"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
||||||
) > $@
|
) > $@
|
||||||
@@ -314,18 +326,26 @@ sa.make: $(BUILDTREE_MAKE)
|
|||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
|
||||||
) > $@
|
) > $@
|
||||||
|
|
||||||
|
dtrace.make: $(BUILDTREE_MAKE)
|
||||||
|
@echo Creating $@ ...
|
||||||
|
$(QUIETLY) ( \
|
||||||
|
$(BUILDTREE_COMMENT); \
|
||||||
|
echo; \
|
||||||
|
echo include flags.make; \
|
||||||
|
echo; \
|
||||||
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
|
||||||
|
) > $@
|
||||||
|
|
||||||
env.sh: $(BUILDTREE_MAKE)
|
env.sh: $(BUILDTREE_MAKE)
|
||||||
@echo Creating $@ ...
|
@echo Creating $@ ...
|
||||||
$(QUIETLY) ( \
|
$(QUIETLY) ( \
|
||||||
$(BUILDTREE_COMMENT); \
|
$(BUILDTREE_COMMENT); \
|
||||||
[ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
|
[ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
|
||||||
{ \
|
{ \
|
||||||
echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
|
||||||
echo "DYLD_LIBRARY_PATH=.:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
|
||||||
echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \
|
echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \
|
||||||
} | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \
|
} | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \
|
||||||
echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \
|
echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \
|
||||||
echo "export JAVA_HOME LD_LIBRARY_PATH DYLD_LIBRARY_PATH CLASSPATH HOTSPOT_BUILD_USER"; \
|
echo "export JAVA_HOME CLASSPATH HOTSPOT_BUILD_USER"; \
|
||||||
) > $@
|
) > $@
|
||||||
|
|
||||||
env.csh: env.sh
|
env.csh: env.sh
|
||||||
@@ -379,7 +399,7 @@ JAVA_FLAG/32 = -d32
|
|||||||
JAVA_FLAG/64 = -d64
|
JAVA_FLAG/64 = -d64
|
||||||
|
|
||||||
WRONG_DATA_MODE_MSG = \
|
WRONG_DATA_MODE_MSG = \
|
||||||
echo "JAVA_HOME must point to $(DATA_MODE)bit JDK."
|
echo "JAVA_HOME must point to a $(DATA_MODE)-bit OpenJDK."
|
||||||
|
|
||||||
CROSS_COMPILING_MSG = \
|
CROSS_COMPILING_MSG = \
|
||||||
echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
|
echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
|
||||||
@@ -387,20 +407,78 @@ CROSS_COMPILING_MSG = \
|
|||||||
test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
|
test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
|
||||||
@echo Creating $@ ...
|
@echo Creating $@ ...
|
||||||
$(QUIETLY) ( \
|
$(QUIETLY) ( \
|
||||||
echo '#!/bin/sh'; \
|
echo "#!/bin/sh"; \
|
||||||
|
echo ""; \
|
||||||
$(BUILDTREE_COMMENT); \
|
$(BUILDTREE_COMMENT); \
|
||||||
echo '. ./env.sh'; \
|
echo ""; \
|
||||||
echo "exit 0;"; \
|
echo "# Include environment settings for gamma run"; \
|
||||||
echo "if [ \"$(CROSS_COMPILE_ARCH)\" != \"\" ]; then { $(CROSS_COMPILING_MSG); exit 0; }; fi"; \
|
echo ""; \
|
||||||
echo "if [ -z \$$JAVA_HOME ]; then { $(NO_JAVA_HOME_MSG); exit 0; }; fi"; \
|
echo ". ./env.sh"; \
|
||||||
echo "if ! \$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion 2>&1 > /dev/null"; \
|
echo ""; \
|
||||||
echo "then"; \
|
echo "# Do not run gamma test for cross compiles"; \
|
||||||
echo " $(WRONG_DATA_MODE_MSG); exit 0;"; \
|
echo ""; \
|
||||||
|
echo "if [ -n \"$(CROSS_COMPILE_ARCH)\" ]; then "; \
|
||||||
|
echo " $(CROSS_COMPILING_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
echo "fi"; \
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Make sure JAVA_HOME is set as it is required for gamma"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ -z \"\$${JAVA_HOME}\" ]; then "; \
|
||||||
|
echo " $(NO_JAVA_HOME_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Check JAVA_HOME version to be used for the test"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "\$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion > /dev/null 2>&1"; \
|
||||||
|
echo "if [ \$$? -ne 0 ]; then "; \
|
||||||
|
echo " $(WRONG_DATA_MODE_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Use gamma_g if it exists"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "GAMMA_PROG=gamma"; \
|
||||||
|
echo "if [ -f gamma_g ]; then "; \
|
||||||
|
echo " GAMMA_PROG=gamma_g"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
|
||||||
|
echo " # Ensure architecture for gamma and JAVA_HOME is the same."; \
|
||||||
|
echo " # NOTE: gamma assumes the OpenJDK directory layout."; \
|
||||||
|
echo ""; \
|
||||||
|
echo " GAMMA_ARCH=\"\`file \$${GAMMA_PROG} | awk '{print \$$NF}'\`\""; \
|
||||||
|
echo " JVM_LIB=\"\$${JAVA_HOME}/jre/lib/libjava.$(LIBRARY_SUFFIX)\""; \
|
||||||
|
echo " if [ ! -f \$${JVM_LIB} ]; then"; \
|
||||||
|
echo " JVM_LIB=\"\$${JAVA_HOME}/jre/lib/$${LIBARCH}/libjava.$(LIBRARY_SUFFIX)\""; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo " if [ ! -f \$${JVM_LIB} ] || [ -z \"\`file \$${JVM_LIB} | grep \$${GAMMA_ARCH}\`\" ]; then "; \
|
||||||
|
echo " $(WRONG_DATA_MODE_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Compile Queens program for test"; \
|
||||||
|
echo ""; \
|
||||||
echo "rm -f Queens.class"; \
|
echo "rm -f Queens.class"; \
|
||||||
echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
|
echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
|
||||||
echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
|
echo ""; \
|
||||||
echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
|
echo "# Set library path solely for gamma launcher test run"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
||||||
|
echo "export LD_LIBRARY_PATH"; \
|
||||||
|
echo "unset LD_LIBRARY_PATH_32"; \
|
||||||
|
echo "unset LD_LIBRARY_PATH_64"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
|
||||||
|
echo " DYLD_LIBRARY_PATH=.:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/native_threads:\$${JAVA_HOME}/jre/lib:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
||||||
|
echo " export DYLD_LIBRARY_PATH"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Use the gamma launcher and JAVA_HOME to run the test"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "./\$${GAMMA_PROG} $(TESTFLAGS) Queens < /dev/null"; \
|
||||||
) > $@
|
) > $@
|
||||||
$(QUIETLY) chmod +x $@
|
$(QUIETLY) chmod +x $@
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2006, 2012, 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
|
||||||
@@ -38,7 +38,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# zero
|
# zero
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||||
MAKE_ARGS += LP64=1
|
MAKE_ARGS += LP64=1
|
||||||
endif
|
endif
|
||||||
@@ -124,6 +124,18 @@ ifeq ($(ARCH), ppc)
|
|||||||
HS_ARCH = ppc
|
HS_ARCH = ppc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# On 32 bit bsd we build server and client, on 64 bit just server.
|
||||||
|
ifeq ($(JVM_VARIANTS),)
|
||||||
|
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||||
|
JVM_VARIANTS:=client,server
|
||||||
|
JVM_VARIANT_CLIENT:=true
|
||||||
|
JVM_VARIANT_SERVER:=true
|
||||||
|
else
|
||||||
|
JVM_VARIANTS:=server
|
||||||
|
JVM_VARIANT_SERVER:=true
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
JDK_INCLUDE_SUBDIR=bsd
|
JDK_INCLUDE_SUBDIR=bsd
|
||||||
|
|
||||||
# Library suffix
|
# Library suffix
|
||||||
@@ -142,18 +154,18 @@ EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
|
|||||||
# client and server subdirectories have symbolic links to ../libjsig.so
|
# client and server subdirectories have symbolic links to ../libjsig.so
|
||||||
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
|
||||||
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
||||||
|
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
||||||
|
|
||||||
ifndef BUILD_CLIENT_ONLY
|
EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
|
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
|
||||||
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(ZERO_BUILD), true)
|
ifeq ($(JVM_VARIANT_CLIENT),true)
|
||||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
|
||||||
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
|
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Serviceability Binaries
|
# Serviceability Binaries
|
||||||
@@ -162,9 +174,48 @@ ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
|
|||||||
$(EXPORT_LIB_DIR)/sa-jdi.jar
|
$(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||||
ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
|
ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
|
||||||
$(EXPORT_LIB_DIR)/sa-jdi.jar
|
$(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||||
|
ADD_SA_BINARIES/universal = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
|
||||||
|
$(EXPORT_LIB_DIR)/sa-jdi.jar
|
||||||
ADD_SA_BINARIES/ppc =
|
ADD_SA_BINARIES/ppc =
|
||||||
ADD_SA_BINARIES/ia64 =
|
ADD_SA_BINARIES/ia64 =
|
||||||
ADD_SA_BINARIES/arm =
|
ADD_SA_BINARIES/arm =
|
||||||
ADD_SA_BINARIES/zero =
|
ADD_SA_BINARIES/zero =
|
||||||
|
|
||||||
EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
|
EXPORT_LIST += $(ADD_SA_BINARIES/$(HS_ARCH))
|
||||||
|
|
||||||
|
# Universal build settings
|
||||||
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
# Build universal binaries by default on Mac OS X
|
||||||
|
MACOSX_UNIVERSAL = true
|
||||||
|
ifneq ($(ALT_MACOSX_UNIVERSAL),)
|
||||||
|
MACOSX_UNIVERSAL = $(ALT_MACOSX_UNIVERSAL)
|
||||||
|
endif
|
||||||
|
MAKE_ARGS += MACOSX_UNIVERSAL=$(MACOSX_UNIVERSAL)
|
||||||
|
|
||||||
|
# Universal settings
|
||||||
|
ifeq ($(MACOSX_UNIVERSAL), true)
|
||||||
|
|
||||||
|
# Set universal export path but avoid using ARCH or PLATFORM subdirs
|
||||||
|
EXPORT_PATH=$(OUTPUTDIR)/export-universal$(EXPORT_SUBDIR)
|
||||||
|
ifneq ($(ALT_EXPORT_PATH),)
|
||||||
|
EXPORT_PATH=$(ALT_EXPORT_PATH)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Set universal image dir
|
||||||
|
JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-universal$(EXPORT_SUBDIR)
|
||||||
|
ifneq ($(ALT_JDK_IMAGE_DIR),)
|
||||||
|
JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Binaries to 'universalize' if built
|
||||||
|
UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX)
|
||||||
|
UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/libsaproc.$(LIBRARY_SUFFIX)
|
||||||
|
UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/server/libjvm.$(LIBRARY_SUFFIX)
|
||||||
|
UNIVERSAL_LIPO_LIST += $(EXPORT_JRE_LIB_DIR)/client/libjvm.$(LIBRARY_SUFFIX)
|
||||||
|
|
||||||
|
# Files to simply copy in place
|
||||||
|
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/server/Xusage.txt
|
||||||
|
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/client/Xusage.txt
|
||||||
|
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2010, 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
|
||||||
@@ -22,6 +22,282 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
# Bsd does not build jvm_db
|
# Rules to build jvm_db/dtrace, used by vm.make
|
||||||
LIBJVM_DB =
|
|
||||||
|
|
||||||
|
# We build libjvm_dtrace/libjvm_db/dtrace for COMPILER1 and COMPILER2
|
||||||
|
# but not for CORE or KERNEL configurations.
|
||||||
|
|
||||||
|
ifneq ("${TYPE}", "CORE")
|
||||||
|
ifneq ("${TYPE}", "KERNEL")
|
||||||
|
|
||||||
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
# we build dtrace for macosx using USDT2 probes
|
||||||
|
|
||||||
|
DtraceOutDir = $(GENERATED)/dtracefiles
|
||||||
|
|
||||||
|
# Bsd does not build libjvm_db, does not compile on macosx
|
||||||
|
# disabled in build: rule in vm.make
|
||||||
|
JVM_DB = libjvm_db
|
||||||
|
#LIBJVM_DB = libjvm_db.dylib
|
||||||
|
LIBJVM_DB = libjvm$(G_SUFFIX)_db.dylib
|
||||||
|
|
||||||
|
JVM_DTRACE = jvm_dtrace
|
||||||
|
#LIBJVM_DTRACE = libjvm_dtrace.dylib
|
||||||
|
LIBJVM_DTRACE = libjvm$(G_SUFFIX)_dtrace.dylib
|
||||||
|
|
||||||
|
JVMOFFS = JvmOffsets
|
||||||
|
JVMOFFS.o = $(JVMOFFS).o
|
||||||
|
GENOFFS = generate$(JVMOFFS)
|
||||||
|
|
||||||
|
DTRACE_SRCDIR = $(GAMMADIR)/src/os/$(Platform_os_family)/dtrace
|
||||||
|
DTRACE = dtrace
|
||||||
|
DTRACE.o = $(DTRACE).o
|
||||||
|
|
||||||
|
# to remove '-g' option which causes link problems
|
||||||
|
# also '-z nodefs' is used as workaround
|
||||||
|
GENOFFS_CFLAGS = $(shell echo $(CFLAGS) | sed -e 's/ -g / /g' -e 's/ -g0 / /g';)
|
||||||
|
|
||||||
|
ifdef LP64
|
||||||
|
DTRACE_OPTS = -D_LP64
|
||||||
|
endif
|
||||||
|
|
||||||
|
# making libjvm_db
|
||||||
|
|
||||||
|
# Use mapfile with libjvm_db.so
|
||||||
|
LIBJVM_DB_MAPFILE = # no mapfile for usdt2 # $(MAKEFILES_DIR)/mapfile-vers-jvm_db
|
||||||
|
#LFLAGS_JVM_DB += $(MAPFLAG:FILENAME=$(LIBJVM_DB_MAPFILE))
|
||||||
|
|
||||||
|
# Use mapfile with libjvm_dtrace.so
|
||||||
|
LIBJVM_DTRACE_MAPFILE = # no mapfile for usdt2 # $(MAKEFILES_DIR)/mapfile-vers-jvm_dtrace
|
||||||
|
#LFLAGS_JVM_DTRACE += $(MAPFLAG:FILENAME=$(LIBJVM_DTRACE_MAPFILE))
|
||||||
|
|
||||||
|
LFLAGS_JVM_DB += $(PICFLAG) # -D_REENTRANT
|
||||||
|
LFLAGS_JVM_DTRACE += $(PICFLAG) # -D_REENTRANT
|
||||||
|
|
||||||
|
ISA = $(subst i386,i486,$(BUILDARCH))
|
||||||
|
|
||||||
|
# Making 64/libjvm_db.so: 64-bit version of libjvm_db.so which handles 32-bit libjvm.so
|
||||||
|
ifneq ("${ISA}","${BUILDARCH}")
|
||||||
|
|
||||||
|
XLIBJVM_DB = 64/$(LIBJVM_DB)
|
||||||
|
XLIBJVM_DB_G = 64/$(LIBJVM_DB_G)
|
||||||
|
XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE)
|
||||||
|
XLIBJVM_DTRACE_G = 64/$(LIBJVM_DTRACE_G)
|
||||||
|
XARCH = $(subst sparcv9,v9,$(shell echo $(ISA)))
|
||||||
|
|
||||||
|
$(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
|
||||||
|
@echo Making $@
|
||||||
|
$(QUIETLY) mkdir -p 64/ ; \
|
||||||
|
$(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. -I$(GENERATED) \
|
||||||
|
$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c #-lc
|
||||||
|
# [ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); }
|
||||||
|
|
||||||
|
$(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
|
||||||
|
@echo Making $@
|
||||||
|
$(QUIETLY) mkdir -p 64/ ; \
|
||||||
|
$(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. \
|
||||||
|
$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor
|
||||||
|
# [ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); }
|
||||||
|
|
||||||
|
endif # ifneq ("${ISA}","${BUILDARCH}")
|
||||||
|
|
||||||
|
LFLAGS_GENOFFS += -L.
|
||||||
|
|
||||||
|
lib$(GENOFFS).dylib: $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
|
||||||
|
$(LIBJVM.o)
|
||||||
|
$(QUIETLY) $(CXX) $(CXXFLAGS) $(GENOFFS_CFLAGS) $(SHARED_FLAG) $(PICFLAG) \
|
||||||
|
$(LFLAGS_GENOFFS) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS).cpp -ljvm
|
||||||
|
|
||||||
|
$(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).dylib
|
||||||
|
$(QUIETLY) $(LINK.CXX) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \
|
||||||
|
./lib$(GENOFFS).dylib
|
||||||
|
|
||||||
|
# $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs.
|
||||||
|
$(JVMOFFS).h: $(GENOFFS)
|
||||||
|
$(QUIETLY) DYLD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp; touch $@; \
|
||||||
|
if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
|
||||||
|
then rm -f $@; mv $@.tmp $@; \
|
||||||
|
else rm -f $@.tmp; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
$(JVMOFFS)Index.h: $(GENOFFS)
|
||||||
|
$(QUIETLY) DYLD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp; touch $@; \
|
||||||
|
if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
|
||||||
|
then rm -f $@; mv $@.tmp $@; \
|
||||||
|
else rm -f $@.tmp; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
$(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
|
||||||
|
$(QUIETLY) DYLD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp; touch $@; \
|
||||||
|
if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
|
||||||
|
then rm -f $@; mv $@.tmp $@; \
|
||||||
|
else rm -f $@.tmp; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
$(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp
|
||||||
|
$(QUIETLY) $(CXX) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
|
||||||
|
|
||||||
|
$(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
|
||||||
|
@echo Making $@
|
||||||
|
$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
|
||||||
|
$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -Wall # -lc
|
||||||
|
# [ -f $(LIBJVM_DB_G) ] || { ln -s $@ $(LIBJVM_DB_G); }
|
||||||
|
|
||||||
|
$(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
|
||||||
|
@echo Making $@
|
||||||
|
$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \
|
||||||
|
$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor
|
||||||
|
# [ -f $(LIBJVM_DTRACE_G) ] || { ln -s $@ $(LIBJVM_DTRACE_G); }
|
||||||
|
|
||||||
|
#$(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
|
||||||
|
# $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
|
||||||
|
# $(QUIETLY) cat $^ > $@
|
||||||
|
|
||||||
|
$(DtraceOutDir):
|
||||||
|
mkdir $(DtraceOutDir)
|
||||||
|
|
||||||
|
$(DtraceOutDir)/hotspot.h: $(DTRACE_SRCDIR)/hotspot.d | $(DtraceOutDir)
|
||||||
|
$(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -h -o $@ -s $(DTRACE_SRCDIR)/hotspot.d
|
||||||
|
|
||||||
|
$(DtraceOutDir)/hotspot_jni.h: $(DTRACE_SRCDIR)/hotspot_jni.d | $(DtraceOutDir)
|
||||||
|
$(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -h -o $@ -s $(DTRACE_SRCDIR)/hotspot_jni.d
|
||||||
|
|
||||||
|
$(DtraceOutDir)/hs_private.h: $(DTRACE_SRCDIR)/hs_private.d | $(DtraceOutDir)
|
||||||
|
$(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -h -o $@ -s $(DTRACE_SRCDIR)/hs_private.d
|
||||||
|
|
||||||
|
$(DtraceOutDir)/jhelper.h: $(DTRACE_SRCDIR)/jhelper.d $(JVMOFFS).o | $(DtraceOutDir)
|
||||||
|
$(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -h -o $@ -s $(DTRACE_SRCDIR)/jhelper.d
|
||||||
|
|
||||||
|
# jhelper currently disabled
|
||||||
|
dtrace_gen_headers: $(DtraceOutDir)/hotspot.h $(DtraceOutDir)/hotspot_jni.h $(DtraceOutDir)/hs_private.h
|
||||||
|
|
||||||
|
DTraced_Files = ciEnv.o \
|
||||||
|
classLoadingService.o \
|
||||||
|
compileBroker.o \
|
||||||
|
hashtable.o \
|
||||||
|
instanceKlass.o \
|
||||||
|
java.o \
|
||||||
|
jni.o \
|
||||||
|
jvm.o \
|
||||||
|
memoryManager.o \
|
||||||
|
nmethod.o \
|
||||||
|
objectMonitor.o \
|
||||||
|
runtimeService.o \
|
||||||
|
sharedRuntime.o \
|
||||||
|
synchronizer.o \
|
||||||
|
thread.o \
|
||||||
|
unsafe.o \
|
||||||
|
vmThread.o \
|
||||||
|
vmCMSOperations.o \
|
||||||
|
vmPSOperations.o \
|
||||||
|
vmGCOperations.o \
|
||||||
|
|
||||||
|
# Dtrace is available, so we build $(DTRACE.o)
|
||||||
|
#$(DTRACE.o): $(DTRACE).d $(JVMOFFS).h $(JVMOFFS)Index.h $(DTraced_Files)
|
||||||
|
# @echo Compiling $(DTRACE).d
|
||||||
|
|
||||||
|
# $(QUIETLY) $(DTRACE_PROG) $(DTRACE_OPTS) -C -I. -G -xlazyload -o $@ -s $(DTRACE).d \
|
||||||
|
# $(DTraced_Files) ||\
|
||||||
|
# STATUS=$$?;\
|
||||||
|
# if [ x"$$STATUS" = x"1" -a \
|
||||||
|
# x`uname -r` = x"5.10" -a \
|
||||||
|
# x`uname -p` = x"sparc" ]; then\
|
||||||
|
# echo "*****************************************************************";\
|
||||||
|
# echo "* If you are building server compiler, and the error message is ";\
|
||||||
|
# echo "* \"incorrect ELF machine type...\", you have run into solaris bug ";\
|
||||||
|
# echo "* 6213962, \"dtrace -G doesn't work on sparcv8+ object files\".";\
|
||||||
|
# echo "* Either patch/upgrade your system (>= S10u1_15), or set the ";\
|
||||||
|
# echo "* environment variable HOTSPOT_DISABLE_DTRACE_PROBES to disable ";\
|
||||||
|
# echo "* dtrace probes for this build.";\
|
||||||
|
# echo "*****************************************************************";\
|
||||||
|
# fi;\
|
||||||
|
# exit $$STATUS
|
||||||
|
# Since some DTraced_Files are in LIBJVM.o and they are touched by this
|
||||||
|
# command, and libgenerateJvmOffsets.so depends on LIBJVM.o, 'make' will
|
||||||
|
# think it needs to rebuild libgenerateJvmOffsets.so and thus JvmOffsets*
|
||||||
|
# files, but it doesn't, so we touch the necessary files to prevent later
|
||||||
|
# recompilation. Note: we only touch the necessary files if they already
|
||||||
|
# exist in order to close a race where an empty file can be created
|
||||||
|
# before the real build rule is executed.
|
||||||
|
# But, we can't touch the *.h files: This rule depends
|
||||||
|
# on them, and that would cause an infinite cycle of rebuilding.
|
||||||
|
# Neither the *.h or *.ccp files need to be touched, since they have
|
||||||
|
# rules which do not update them when the generator file has not
|
||||||
|
# changed their contents.
|
||||||
|
# $(QUIETLY) if [ -f lib$(GENOFFS).so ]; then touch lib$(GENOFFS).so; fi
|
||||||
|
# $(QUIETLY) if [ -f $(GENOFFS) ]; then touch $(GENOFFS); fi
|
||||||
|
# $(QUIETLY) if [ -f $(JVMOFFS.o) ]; then touch $(JVMOFFS.o); fi
|
||||||
|
|
||||||
|
.PHONY: dtraceCheck
|
||||||
|
|
||||||
|
#SYSTEM_DTRACE_H = /usr/include/dtrace.h
|
||||||
|
SYSTEM_DTRACE_PROG = /usr/sbin/dtrace
|
||||||
|
#PATCH_DTRACE_PROG = /opt/SUNWdtrd/sbin/dtrace
|
||||||
|
systemDtraceFound := $(wildcard ${SYSTEM_DTRACE_PROG})
|
||||||
|
#patchDtraceFound := $(wildcard ${PATCH_DTRACE_PROG})
|
||||||
|
#systemDtraceHdrFound := $(wildcard $(SYSTEM_DTRACE_H))
|
||||||
|
|
||||||
|
#ifneq ("$(systemDtraceHdrFound)", "")
|
||||||
|
#CFLAGS += -DHAVE_DTRACE_H
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifneq ("$(patchDtraceFound)", "")
|
||||||
|
#DTRACE_PROG=$(PATCH_DTRACE_PROG)
|
||||||
|
#DTRACE_INCL=-I/opt/SUNWdtrd/include
|
||||||
|
#else
|
||||||
|
ifneq ("$(systemDtraceFound)", "")
|
||||||
|
DTRACE_PROG=$(SYSTEM_DTRACE_PROG)
|
||||||
|
else
|
||||||
|
|
||||||
|
endif # ifneq ("$(systemDtraceFound)", "")
|
||||||
|
#endif # ifneq ("$(patchDtraceFound)", "")
|
||||||
|
|
||||||
|
ifneq ("${DTRACE_PROG}", "")
|
||||||
|
ifeq ("${HOTSPOT_DISABLE_DTRACE_PROBES}", "")
|
||||||
|
|
||||||
|
DTRACE_OBJS = $(DTRACE.o) #$(JVMOFFS.o)
|
||||||
|
CFLAGS += -DDTRACE_ENABLED #$(DTRACE_INCL)
|
||||||
|
#clangCFLAGS += -DDTRACE_ENABLED -fno-optimize-sibling-calls
|
||||||
|
#MAPFILE_DTRACE_OPT = $(MAPFILE_DTRACE)
|
||||||
|
|
||||||
|
|
||||||
|
dtraceCheck:
|
||||||
|
|
||||||
|
dtrace_stuff: dtrace_gen_headers
|
||||||
|
$(QUIETLY) echo "dtrace headers generated"
|
||||||
|
|
||||||
|
|
||||||
|
else # manually disabled
|
||||||
|
|
||||||
|
dtraceCheck:
|
||||||
|
$(QUIETLY) echo "**NOTICE** Dtrace support disabled via environment variable"
|
||||||
|
|
||||||
|
dtrace_stuff:
|
||||||
|
|
||||||
|
endif # ifeq ("${HOTSPOT_DISABLE_DTRACE_PROBES}", "")
|
||||||
|
|
||||||
|
else # No dtrace program found
|
||||||
|
|
||||||
|
dtraceCheck:
|
||||||
|
$(QUIETLY) echo "**NOTICE** Dtrace support disabled: not supported by system"
|
||||||
|
|
||||||
|
dtrace_stuff:
|
||||||
|
|
||||||
|
endif # ifneq ("${dtraceFound}", "")
|
||||||
|
|
||||||
|
endif # ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
|
||||||
|
|
||||||
|
else # KERNEL build
|
||||||
|
|
||||||
|
dtraceCheck:
|
||||||
|
$(QUIETLY) echo "**NOTICE** Dtrace support disabled for KERNEL builds"
|
||||||
|
|
||||||
|
endif # ifneq ("${TYPE}", "KERNEL")
|
||||||
|
|
||||||
|
else # CORE build
|
||||||
|
|
||||||
|
dtraceCheck:
|
||||||
|
$(QUIETLY) echo "**NOTICE** Dtrace support disabled for CORE builds"
|
||||||
|
|
||||||
|
endif # ifneq ("${TYPE}", "CORE")
|
||||||
|
|||||||
@@ -25,25 +25,59 @@
|
|||||||
OS_VENDOR = $(shell uname -s)
|
OS_VENDOR = $(shell uname -s)
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# CC, CPP & AS
|
# CC, CXX & AS
|
||||||
|
|
||||||
# When cross-compiling the ALT_COMPILER_PATH points
|
# If a SPEC is not set already, then use these defaults.
|
||||||
# to the cross-compilation toolset
|
ifeq ($(SPEC),)
|
||||||
ifdef CROSS_COMPILE_ARCH
|
# When cross-compiling the ALT_COMPILER_PATH points
|
||||||
CXX = $(ALT_COMPILER_PATH)/g++
|
# to the cross-compilation toolset
|
||||||
CPP = $(ALT_COMPILER_PATH)/g++
|
ifdef CROSS_COMPILE_ARCH
|
||||||
CC = $(ALT_COMPILER_PATH)/gcc
|
CXX = $(ALT_COMPILER_PATH)/g++
|
||||||
HOSTCPP = g++
|
CC = $(ALT_COMPILER_PATH)/gcc
|
||||||
HOSTCC = gcc
|
HOSTCXX = g++
|
||||||
else
|
HOSTCC = gcc
|
||||||
CXX ?= g++
|
else ifneq ($(OS_VENDOR), Darwin)
|
||||||
CPP = $(CXX)
|
CXX = g++
|
||||||
CC ?= gcc
|
CC = gcc
|
||||||
HOSTCPP = $(CPP)
|
HOSTCXX = $(CXX)
|
||||||
HOSTCC = $(CPP)
|
HOSTCC = $(CC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# i486 hotspot requires -mstackrealign on Darwin.
|
||||||
|
# llvm-gcc supports this in Xcode 3.2.6 and 4.0.
|
||||||
|
# gcc-4.0 supports this on earlier versions.
|
||||||
|
# Prefer llvm-gcc where available.
|
||||||
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
ifeq ($(origin CXX), default)
|
||||||
|
CXX = llvm-g++
|
||||||
|
endif
|
||||||
|
ifeq ($(origin CC), default)
|
||||||
|
CC = llvm-gcc
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ARCH), i486)
|
||||||
|
LLVM_SUPPORTS_STACKREALIGN := $(shell \
|
||||||
|
[ "0"`llvm-gcc -v 2>&1 | grep LLVM | sed -E "s/.*LLVM build ([0-9]+).*/\1/"` -gt "2333" ] \
|
||||||
|
&& echo true || echo false)
|
||||||
|
|
||||||
|
ifeq ($(LLVM_SUPPORTS_STACKREALIGN), true)
|
||||||
|
CXX32 ?= llvm-g++
|
||||||
|
CC32 ?= llvm-gcc
|
||||||
|
else
|
||||||
|
CXX32 ?= g++-4.0
|
||||||
|
CC32 ?= gcc-4.0
|
||||||
|
endif
|
||||||
|
CXX = $(CXX32)
|
||||||
|
CC = $(CC32)
|
||||||
|
endif
|
||||||
|
|
||||||
|
HOSTCXX = $(CXX)
|
||||||
|
HOSTCC = $(CC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
AS = $(CC) -c -x assembler-with-cpp
|
||||||
endif
|
endif
|
||||||
|
|
||||||
AS = $(CC) -c -x assembler-with-cpp
|
|
||||||
|
|
||||||
# -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only
|
# -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only
|
||||||
# prints the numbers (e.g. "2.95", "3.2.1")
|
# prints the numbers (e.g. "2.95", "3.2.1")
|
||||||
@@ -54,9 +88,8 @@ CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
|
|||||||
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
|
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
|
||||||
# Allow the user to turn off precompiled headers from the command line.
|
# Allow the user to turn off precompiled headers from the command line.
|
||||||
ifneq ($(USE_PRECOMPILED_HEADER),0)
|
ifneq ($(USE_PRECOMPILED_HEADER),0)
|
||||||
USE_PRECOMPILED_HEADER=1
|
|
||||||
PRECOMPILED_HEADER_DIR=.
|
PRECOMPILED_HEADER_DIR=.
|
||||||
PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled.hpp
|
PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp
|
||||||
PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
|
PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -72,11 +105,12 @@ VM_PICFLAG/LIBJVM = $(PICFLAG)
|
|||||||
VM_PICFLAG/AOUT =
|
VM_PICFLAG/AOUT =
|
||||||
VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO))
|
VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO))
|
||||||
|
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(JVM_VARIANT_ZERO), true)
|
||||||
CFLAGS += $(LIBFFI_CFLAGS)
|
CFLAGS += $(LIBFFI_CFLAGS)
|
||||||
endif
|
endif
|
||||||
ifeq ($(SHARK_BUILD), true)
|
ifeq ($(JVM_VARIANT_ZEROSHARK), true)
|
||||||
CFLAGS += $(LLVM_CFLAGS)
|
CFLAGS += $(LIBFFI_CFLAGS)
|
||||||
|
CFLAGS += $(LLVM_CFLAGS)
|
||||||
endif
|
endif
|
||||||
CFLAGS += $(VM_PICFLAG)
|
CFLAGS += $(VM_PICFLAG)
|
||||||
CFLAGS += -fno-rtti
|
CFLAGS += -fno-rtti
|
||||||
@@ -130,7 +164,9 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Compiler warnings are treated as errors
|
# Compiler warnings are treated as errors
|
||||||
WARNINGS_ARE_ERRORS = -Werror
|
ifneq ($(COMPILER_WARNINGS_FATAL),false)
|
||||||
|
WARNINGS_ARE_ERRORS = -Werror
|
||||||
|
endif
|
||||||
|
|
||||||
# Except for a few acceptable ones
|
# Except for a few acceptable ones
|
||||||
# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
|
# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
|
||||||
@@ -152,7 +188,13 @@ endif
|
|||||||
|
|
||||||
|
|
||||||
# The flags to use for an Optimized g++ build
|
# The flags to use for an Optimized g++ build
|
||||||
OPT_CFLAGS += -O3
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
# use -Os by default, unless -O3 can be proved to be worth the cost, as per policy
|
||||||
|
# <http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port+Compilers>
|
||||||
|
OPT_CFLAGS += -Os
|
||||||
|
else
|
||||||
|
OPT_CFLAGS += -O3
|
||||||
|
endif
|
||||||
|
|
||||||
# Hotspot uses very unstrict aliasing turn this optimization off
|
# Hotspot uses very unstrict aliasing turn this optimization off
|
||||||
OPT_CFLAGS += -fno-strict-aliasing
|
OPT_CFLAGS += -fno-strict-aliasing
|
||||||
@@ -176,7 +218,7 @@ DEPFLAGS = -MMD -MP -MF $(DEP_DIR)/$(@:%=%.d)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
|
# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
|
||||||
ifneq ($(USE_PRECOMPILED_HEADER),1)
|
ifeq ($(USE_PRECOMPILED_HEADER),0)
|
||||||
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
|
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -212,7 +254,7 @@ ifeq ($(OS_VENDOR), Darwin)
|
|||||||
SONAMEFLAG =
|
SONAMEFLAG =
|
||||||
|
|
||||||
# Build shared library
|
# Build shared library
|
||||||
SHARED_FLAG = -dynamiclib $(VM_PICFLAG)
|
SHARED_FLAG = -Wl,-install_name,@rpath/$(@F) -dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $(VM_PICFLAG)
|
||||||
|
|
||||||
# Keep symbols even they are not used
|
# Keep symbols even they are not used
|
||||||
#AOUT_FLAGS += -Xlinker -export-dynamic
|
#AOUT_FLAGS += -Xlinker -export-dynamic
|
||||||
|
|||||||
@@ -50,14 +50,31 @@ ifeq ($(LINK_INTO),AOUT)
|
|||||||
LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
|
LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
|
||||||
else
|
else
|
||||||
LAUNCHER.o = launcher.o
|
LAUNCHER.o = launcher.o
|
||||||
LFLAGS_LAUNCHER += -L`pwd`
|
LFLAGS_LAUNCHER += -L`pwd`
|
||||||
|
|
||||||
|
# The gamma launcher runs the JDK from $JAVA_HOME, overriding the JVM with a
|
||||||
|
# freshly built JVM at ./libjvm.{so|dylib}. This is accomplished by setting
|
||||||
|
# the library searchpath using ({DY}LD_LIBRARY_PATH) to find the local JVM
|
||||||
|
# first. Gamma dlopen()s libjava from $JAVA_HOME/jre/lib{/$arch}, which is
|
||||||
|
# statically linked with CoreFoundation framework libs. Unfortunately, gamma's
|
||||||
|
# unique searchpath results in some unresolved symbols in the framework
|
||||||
|
# libraries, because JDK libraries are inadvertently discovered first on the
|
||||||
|
# searchpath, e.g. libjpeg. On Mac OS X, filenames are case *insensitive*.
|
||||||
|
# So, the actual filename collision is libjpeg.dylib and libJPEG.dylib.
|
||||||
|
# To resolve this, gamma needs to also statically link with the CoreFoundation
|
||||||
|
# framework libraries.
|
||||||
|
|
||||||
|
ifeq ($(OS_VENDOR),Darwin)
|
||||||
|
LFLAGS_LAUNCHER += -framework CoreFoundation
|
||||||
|
endif
|
||||||
|
|
||||||
LIBS_LAUNCHER += -l$(JVM) $(LIBS)
|
LIBS_LAUNCHER += -l$(JVM) $(LIBS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LINK_LAUNCHER = $(LINK.c)
|
LINK_LAUNCHER = $(LINK.CC)
|
||||||
|
|
||||||
LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CC/PRE_HOOK)
|
LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CXX/PRE_HOOK)
|
||||||
LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CC/POST_HOOK)
|
LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CXX/POST_HOOK)
|
||||||
|
|
||||||
LAUNCHER_OUT = launcher
|
LAUNCHER_OUT = launcher
|
||||||
|
|
||||||
@@ -73,11 +90,11 @@ DEPFILES := $(patsubst %.o,%.d,$(OBJS))
|
|||||||
|
|
||||||
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
|
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
|
||||||
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
||||||
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
|
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
|
||||||
|
|
||||||
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
|
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
|
||||||
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
||||||
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
|
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
|
||||||
|
|
||||||
$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
|
$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
|
||||||
$(QUIETLY) echo Linking launcher...
|
$(QUIETLY) echo Linking launcher...
|
||||||
|
|||||||
@@ -55,4 +55,4 @@ STRIP_LIBJVM = $(STRIP) -g $@ || exit 1;
|
|||||||
STRIP_AOUT = $(STRIP) -x $@ || exit 1;
|
STRIP_AOUT = $(STRIP) -x $@ || exit 1;
|
||||||
|
|
||||||
# Don't strip in VM build; JDK build will strip libraries later
|
# Don't strip in VM build; JDK build will strip libraries later
|
||||||
# LINK_LIB.CC/POST_HOOK += $(STRIP_$(LINK_INTO))
|
# LINK_LIB.CXX/POST_HOOK += $(STRIP_$(LINK_INTO))
|
||||||
|
|||||||
@@ -27,52 +27,39 @@
|
|||||||
# Tell make that .cpp is important
|
# Tell make that .cpp is important
|
||||||
.SUFFIXES: .cpp $(SUFFIXES)
|
.SUFFIXES: .cpp $(SUFFIXES)
|
||||||
|
|
||||||
# For now. Other makefiles use CPP as the c++ compiler, but that should really
|
|
||||||
# name the preprocessor.
|
|
||||||
ifeq ($(CCC),)
|
|
||||||
CCC = $(CPP)
|
|
||||||
endif
|
|
||||||
|
|
||||||
DEMANGLER = c++filt
|
DEMANGLER = c++filt
|
||||||
DEMANGLE = $(DEMANGLER) < $@ > .$@ && mv -f .$@ $@
|
DEMANGLE = $(DEMANGLER) < $@ > .$@ && mv -f .$@ $@
|
||||||
|
|
||||||
# $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
|
# $(CC) is the c compiler (cc/gcc), $(CXX) is the c++ compiler (CC/g++).
|
||||||
C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
|
CC_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS)
|
||||||
CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS)
|
CXX_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS)
|
||||||
|
|
||||||
AS.S = $(AS) $(ASFLAGS)
|
AS.S = $(AS) $(ASFLAGS)
|
||||||
|
|
||||||
COMPILE.c = $(C_COMPILE) -c
|
COMPILE.CC = $(CC_COMPILE) -c
|
||||||
GENASM.c = $(C_COMPILE) -S
|
GENASM.CC = $(CC_COMPILE) -S
|
||||||
LINK.c = $(CC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
LINK.CC = $(CC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
||||||
LINK_LIB.c = $(CC) $(LFLAGS) $(SHARED_FLAG)
|
LINK_LIB.CC = $(CC) $(LFLAGS) $(SHARED_FLAG)
|
||||||
PREPROCESS.c = $(C_COMPILE) -E
|
PREPROCESS.CC = $(CC_COMPILE) -E
|
||||||
|
|
||||||
COMPILE.CC = $(CC_COMPILE) -c
|
COMPILE.CXX = $(CXX_COMPILE) -c
|
||||||
GENASM.CC = $(CC_COMPILE) -S
|
GENASM.CXX = $(CXX_COMPILE) -S
|
||||||
LINK.CC = $(CCC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
LINK.CXX = $(CXX) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
||||||
LINK_NOPROF.CC = $(CCC) $(LFLAGS) $(AOUT_FLAGS)
|
LINK_NOPROF.CXX = $(CXX) $(LFLAGS) $(AOUT_FLAGS)
|
||||||
LINK_LIB.CC = $(CCC) $(LFLAGS) $(SHARED_FLAG)
|
LINK_LIB.CXX = $(CXX) $(LFLAGS) $(SHARED_FLAG)
|
||||||
PREPROCESS.CC = $(CC_COMPILE) -E
|
PREPROCESS.CXX = $(CXX_COMPILE) -E
|
||||||
|
|
||||||
# cross compiling the jvm with c2 requires host compilers to build
|
# cross compiling the jvm with c2 requires host compilers to build
|
||||||
# adlc tool
|
# adlc tool
|
||||||
|
|
||||||
HOST.CC_COMPILE = $(HOSTCPP) $(CPPFLAGS) $(CFLAGS)
|
HOST.CXX_COMPILE = $(HOSTCXX) $(CXXFLAGS) $(CFLAGS)
|
||||||
HOST.COMPILE.CC = $(HOST.CC_COMPILE) -c
|
HOST.COMPILE.CXX = $(HOST.CXX_COMPILE) -c
|
||||||
HOST.LINK_NOPROF.CC = $(HOSTCPP) $(LFLAGS) $(AOUT_FLAGS)
|
HOST.LINK_NOPROF.CXX = $(HOSTCXX) $(LFLAGS) $(AOUT_FLAGS)
|
||||||
|
|
||||||
|
|
||||||
# Effect of REMOVE_TARGET is to delete out-of-date files during "gnumake -k".
|
# Effect of REMOVE_TARGET is to delete out-of-date files during "gnumake -k".
|
||||||
REMOVE_TARGET = rm -f $@
|
REMOVE_TARGET = rm -f $@
|
||||||
|
|
||||||
# Synonyms.
|
|
||||||
COMPILE.cpp = $(COMPILE.CC)
|
|
||||||
GENASM.cpp = $(GENASM.CC)
|
|
||||||
LINK.cpp = $(LINK.CC)
|
|
||||||
LINK_LIB.cpp = $(LINK_LIB.CC)
|
|
||||||
PREPROCESS.cpp = $(PREPROCESS.CC)
|
|
||||||
|
|
||||||
# Note use of ALT_BOOTDIR to explicitly specify location of java and
|
# Note use of ALT_BOOTDIR to explicitly specify location of java and
|
||||||
# javac; this is the same environment variable used in the J2SE build
|
# javac; this is the same environment variable used in the J2SE build
|
||||||
# process for overriding the default spec, which is BOOTDIR.
|
# process for overriding the default spec, which is BOOTDIR.
|
||||||
@@ -161,14 +148,14 @@ ifdef LP64
|
|||||||
%.o: %.cpp
|
%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
|
$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
|
||||||
else
|
else
|
||||||
%.o: %.cpp
|
%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
|
$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
|
||||||
$(subst $(VM_PICFLAG), ,$(COMPILE.CC)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
|
$(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
|
||||||
$(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
|
$(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
%.o: %.s
|
%.o: %.s
|
||||||
@@ -178,13 +165,13 @@ endif
|
|||||||
|
|
||||||
%.s: %.cpp
|
%.s: %.cpp
|
||||||
@echo Generating assembly for $<
|
@echo Generating assembly for $<
|
||||||
$(QUIETLY) $(GENASM.CC) -o $@ $<
|
$(QUIETLY) $(GENASM.CXX) -o $@ $<
|
||||||
$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
|
$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
|
||||||
|
|
||||||
# Intermediate files (for debugging macros)
|
# Intermediate files (for debugging macros)
|
||||||
%.i: %.cpp
|
%.i: %.cpp
|
||||||
@echo Preprocessing $< to $@
|
@echo Preprocessing $< to $@
|
||||||
$(QUIETLY) $(PREPROCESS.CC) $< > $@ $(COMPILE_DONE)
|
$(QUIETLY) $(PREPROCESS.CXX) $< > $@ $(COMPILE_DONE)
|
||||||
|
|
||||||
# Override gnumake built-in rules which do sccs get operations badly.
|
# Override gnumake built-in rules which do sccs get operations badly.
|
||||||
# (They put the checked out code in the current directory, not in the
|
# (They put the checked out code in the current directory, not in the
|
||||||
|
|||||||
@@ -37,19 +37,30 @@ include $(GAMMADIR)/make/sa.files
|
|||||||
TOPDIR = $(shell echo `pwd`)
|
TOPDIR = $(shell echo `pwd`)
|
||||||
GENERATED = $(TOPDIR)/../generated
|
GENERATED = $(TOPDIR)/../generated
|
||||||
|
|
||||||
# tools.jar is needed by the JDI - SA binding
|
# SA-JDI depends on the standard JDI classes.
|
||||||
SA_CLASSPATH = $(BOOT_JAVA_HOME)/lib/tools.jar
|
# Default SA_CLASSPATH location:
|
||||||
|
DEF_SA_CLASSPATH=$(BOOT_JAVA_HOME)/lib/tools.jar
|
||||||
|
ifeq ($(ALT_SA_CLASSPATH),)
|
||||||
|
# no alternate specified; see if default exists
|
||||||
|
SA_CLASSPATH=$(shell test -f $(DEF_SA_CLASSPATH) && echo $(DEF_SA_CLASSPATH))
|
||||||
|
ifeq ($(SA_CLASSPATH),)
|
||||||
|
# the default doesn't exist
|
||||||
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
# A JDK from Apple doesn't have tools.jar; the JDI classes are
|
||||||
|
# are in the regular classes.jar file.
|
||||||
|
APPLE_JAR=$(BOOT_JAVA_HOME)/bundle/Classes/classes.jar
|
||||||
|
SA_CLASSPATH=$(shell test -f $(APPLE_JAR) && echo $(APPLE_JAR))
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
_JUNK_ := $(shell echo >&2 "INFO: ALT_SA_CLASSPATH=$(ALT_SA_CLASSPATH)")
|
||||||
|
SA_CLASSPATH=$(shell test -f $(ALT_SA_CLASSPATH) && echo $(ALT_SA_CLASSPATH))
|
||||||
|
endif
|
||||||
|
|
||||||
# TODO: if it's a modules image, check if SA module is installed.
|
# TODO: if it's a modules image, check if SA module is installed.
|
||||||
MODULELIB_PATH= $(BOOT_JAVA_HOME)/lib/modules
|
MODULELIB_PATH= $(BOOT_JAVA_HOME)/lib/modules
|
||||||
|
|
||||||
# gnumake 3.78.1 does not accept the *s that
|
AGENT_FILES_LIST := $(GENERATED)/agent.classes.list
|
||||||
# are in AGENT_FILES1 and AGENT_FILES2, so use the shell to expand them
|
|
||||||
AGENT_FILES1 := $(shell /bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES1))
|
|
||||||
AGENT_FILES2 := $(shell /bin/test -d $(AGENT_DIR) && /bin/ls $(AGENT_FILES2))
|
|
||||||
|
|
||||||
AGENT_FILES1_LIST := $(GENERATED)/agent1.classes.list
|
|
||||||
AGENT_FILES2_LIST := $(GENERATED)/agent2.classes.list
|
|
||||||
|
|
||||||
SA_CLASSDIR = $(GENERATED)/saclasses
|
SA_CLASSDIR = $(GENERATED)/saclasses
|
||||||
|
|
||||||
@@ -68,21 +79,20 @@ all:
|
|||||||
$(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
|
$(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
|
$(GENERATED)/sa-jdi.jar: $(AGENT_FILES)
|
||||||
$(QUIETLY) echo "Making $@"
|
$(QUIETLY) echo "Making $@"
|
||||||
$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
|
$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
|
||||||
echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
|
echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
$(QUIETLY) if [ ! -f $(SA_CLASSPATH) -a ! -d $(MODULELIB_PATH) ] ; then \
|
$(QUIETLY) if [ ! -f "$(SA_CLASSPATH)" -a ! -d $(MODULELIB_PATH) ] ; then \
|
||||||
echo "Missing $(SA_CLASSPATH) file. Use 1.6.0 or later version of JDK";\
|
echo "Cannot find JDI classes. Use 1.6.0 or later version of JDK."; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
$(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \
|
$(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \
|
||||||
mkdir -p $(SA_CLASSDIR); \
|
mkdir -p $(SA_CLASSDIR); \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Note: When indented, make tries to execute the '$(shell' comment.
|
# Note: When indented, make tries to execute the '$(shell' comment.
|
||||||
# In some environments, cmd processors have limited line length.
|
# In some environments, cmd processors have limited line length.
|
||||||
# To prevent the javac invocation in the next block from using
|
# To prevent the javac invocation in the next block from using
|
||||||
@@ -93,13 +103,12 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
|
|||||||
# the initialization of the lists is also done in the same phase
|
# the initialization of the lists is also done in the same phase
|
||||||
# using '$(shell rm ...' instead of using the more traditional
|
# using '$(shell rm ...' instead of using the more traditional
|
||||||
# 'rm ...' rule.
|
# 'rm ...' rule.
|
||||||
$(shell rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST))
|
$(shell rm -rf $(AGENT_FILES_LIST))
|
||||||
$(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
|
# gnumake 3.78.1 does not accept the *'s that
|
||||||
$(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
|
# are in AGENT_FILES, so use the shell to expand them.
|
||||||
|
# Be extra carefull to not produce too long command lines in the shell!
|
||||||
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
|
$(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST)))
|
||||||
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
|
$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST)
|
||||||
|
|
||||||
$(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
$(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
|
||||||
$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
|
$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
|
||||||
$(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
|
$(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
|
||||||
@@ -118,4 +127,4 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
|
|||||||
clean:
|
clean:
|
||||||
rm -rf $(SA_CLASSDIR)
|
rm -rf $(SA_CLASSDIR)
|
||||||
rm -rf $(GENERATED)/sa-jdi.jar
|
rm -rf $(GENERATED)/sa-jdi.jar
|
||||||
rm -rf $(AGENT_FILES1_LIST) $(AGENT_FILES2_LIST)
|
rm -rf $(AGENT_FILES_LIST)
|
||||||
|
|||||||
@@ -40,20 +40,29 @@ AGENT_DIR = $(GAMMADIR)/agent
|
|||||||
|
|
||||||
SASRCDIR = $(AGENT_DIR)/src/os/$(Platform_os_family)
|
SASRCDIR = $(AGENT_DIR)/src/os/$(Platform_os_family)
|
||||||
|
|
||||||
# disable building saproc until hsearch_r license issues are resolved
|
NON_STUB_SASRCFILES = $(SASRCDIR)/salibelf.c \
|
||||||
#ifeq ($(OS_VENDOR), FreeBSD)
|
$(SASRCDIR)/symtab.c \
|
||||||
#SASRCFILES = $(SASRCDIR)/salibelf.c \
|
$(SASRCDIR)/libproc_impl.c \
|
||||||
# $(SASRCDIR)/symtab.c \
|
$(SASRCDIR)/ps_proc.c \
|
||||||
# $(SASRCDIR)/libproc_impl.c \
|
$(SASRCDIR)/ps_core.c \
|
||||||
# $(SASRCDIR)/ps_proc.c \
|
$(SASRCDIR)/BsdDebuggerLocal.c
|
||||||
# $(SASRCDIR)/ps_core.c \
|
|
||||||
# $(SASRCDIR)/hsearch_r.c \
|
ifeq ($(OS_VENDOR), FreeBSD)
|
||||||
# $(SASRCDIR)/BsdDebuggerLocal.c
|
SASRCFILES = $(NON_STUB_SASRCFILES)
|
||||||
#SALIBS = -lutil -lthread_db
|
SALIBS = -lutil -lthread_db
|
||||||
#else
|
SAARCH = $(ARCHFLAG)
|
||||||
SASRCFILES = $(SASRCDIR)/StubDebuggerLocal.c
|
else
|
||||||
SALIBS =
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
#endif
|
SASRCFILES = $(SASRCDIR)/MacosxDebuggerLocal.m
|
||||||
|
SALIBS = -g -framework Foundation -F/System/Library/Frameworks/JavaVM.framework/Frameworks -framework JavaNativeFoundation -framework Security -framework CoreFoundation
|
||||||
|
#objc compiler blows up on -march=i586, perhaps it should not be included in the macosx intel 32-bit C++ compiles?
|
||||||
|
SAARCH = $(subst -march=i586,,$(ARCHFLAG))
|
||||||
|
else
|
||||||
|
SASRCFILES = $(SASRCDIR)/StubDebuggerLocal.c
|
||||||
|
SALIBS =
|
||||||
|
SAARCH = $(ARCHFLAG)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
SAMAPFILE = $(SASRCDIR)/mapfile
|
SAMAPFILE = $(SASRCDIR)/mapfile
|
||||||
|
|
||||||
@@ -79,6 +88,15 @@ SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE))
|
|||||||
endif
|
endif
|
||||||
SA_LFLAGS += $(LDFLAGS_HASH_STYLE)
|
SA_LFLAGS += $(LDFLAGS_HASH_STYLE)
|
||||||
|
|
||||||
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
BOOT_JAVA_INCLUDES = -I$(BOOT_JAVA_HOME)/include \
|
||||||
|
-I$(BOOT_JAVA_HOME)/include/$(shell uname -s | tr "[:upper:]" "[:lower:]") \
|
||||||
|
-I/System/Library/Frameworks/JavaVM.framework/Headers
|
||||||
|
else
|
||||||
|
BOOT_JAVA_INCLUDES = -I$(BOOT_JAVA_HOME)/include \
|
||||||
|
-I$(BOOT_JAVA_HOME)/include/$(shell uname -s | tr "[:upper:]" "[:lower:]")
|
||||||
|
endif
|
||||||
|
|
||||||
$(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
|
$(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
|
||||||
$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
|
$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
|
||||||
echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
|
echo "ALT_BOOTDIR, BOOTDIR or JAVA_HOME needs to be defined to build SA"; \
|
||||||
@@ -86,11 +104,10 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
|
|||||||
fi
|
fi
|
||||||
@echo Making SA debugger back-end...
|
@echo Making SA debugger back-end...
|
||||||
$(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE \
|
$(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE \
|
||||||
$(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
|
$(SYMFLAG) $(SAARCH) $(SHARED_FLAG) $(PICFLAG) \
|
||||||
-I$(SASRCDIR) \
|
-I$(SASRCDIR) \
|
||||||
-I$(GENERATED) \
|
-I$(GENERATED) \
|
||||||
-I$(BOOT_JAVA_HOME)/include \
|
$(BOOT_JAVA_INCLUDES) \
|
||||||
-I$(BOOT_JAVA_HOME)/include/$(shell uname -s | tr "[:upper:]" "[:lower:]") \
|
|
||||||
$(SASRCFILES) \
|
$(SASRCFILES) \
|
||||||
$(SA_LFLAGS) \
|
$(SA_LFLAGS) \
|
||||||
$(SA_DEBUG_CFLAGS) \
|
$(SA_DEBUG_CFLAGS) \
|
||||||
|
|||||||
@@ -23,14 +23,17 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# CC, CPP & AS
|
# CC, CXX & AS
|
||||||
|
|
||||||
CPP = CC
|
# If a SPEC is not set already, then use these defaults.
|
||||||
CC = cc
|
ifeq ($(SPEC),)
|
||||||
AS = $(CC) -c
|
CXX = CC
|
||||||
|
CC = cc
|
||||||
|
AS = $(CC) -c
|
||||||
|
|
||||||
HOSTCPP = $(CPP)
|
HOSTCXX = $(CXX)
|
||||||
HOSTCC = $(CC)
|
HOSTCC = $(CC)
|
||||||
|
endif
|
||||||
|
|
||||||
ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
|
ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
|
||||||
ARCHFLAG/i486 = -m32
|
ARCHFLAG/i486 = -m32
|
||||||
|
|||||||
@@ -47,12 +47,10 @@ VM = $(GAMMADIR)/src/share/vm
|
|||||||
Plat_File = $(Platform_file)
|
Plat_File = $(Platform_file)
|
||||||
CDG = cd $(GENERATED);
|
CDG = cd $(GENERATED);
|
||||||
|
|
||||||
ifdef USE_PRECOMPILED_HEADER
|
ifneq ($(USE_PRECOMPILED_HEADER),0)
|
||||||
PrecompiledOption = -DUSE_PRECOMPILED_HEADER
|
UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS)
|
||||||
UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS)
|
|
||||||
else
|
else
|
||||||
UpdatePCH = \# precompiled header is not used
|
UpdatePCH = \# precompiled header is not used
|
||||||
PrecompiledOption =
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
Cached_plat = $(GENERATED)/platform.current
|
Cached_plat = $(GENERATED)/platform.current
|
||||||
@@ -82,7 +80,7 @@ default: vm_build_preliminaries the_vm
|
|||||||
@echo All done.
|
@echo All done.
|
||||||
|
|
||||||
# This is an explicit dependency for the sake of parallel makes.
|
# This is an explicit dependency for the sake of parallel makes.
|
||||||
vm_build_preliminaries: checks $(Cached_plat) $(AD_Files_If_Required) jvmti_stuff sa_stuff
|
vm_build_preliminaries: checks $(Cached_plat) $(AD_Files_If_Required) jvmti_stuff sa_stuff dtrace_stuff
|
||||||
@# We need a null action here, so implicit rules don't get consulted.
|
@# We need a null action here, so implicit rules don't get consulted.
|
||||||
|
|
||||||
$(Cached_plat): $(Plat_File)
|
$(Cached_plat): $(Plat_File)
|
||||||
@@ -96,6 +94,15 @@ ad_stuff: $(Cached_plat) $(adjust-mflags)
|
|||||||
jvmti_stuff: $(Cached_plat) $(adjust-mflags)
|
jvmti_stuff: $(Cached_plat) $(adjust-mflags)
|
||||||
@$(MAKE) -f jvmti.make $(MFLAGS-adjusted)
|
@$(MAKE) -f jvmti.make $(MFLAGS-adjusted)
|
||||||
|
|
||||||
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
# generate dtrace header files
|
||||||
|
dtrace_stuff: $(Cached_plat) $(adjust-mflags)
|
||||||
|
@$(MAKE) -f dtrace.make dtrace_stuff $(MFLAGS-adjusted) GENERATED=$(GENERATED)
|
||||||
|
else
|
||||||
|
dtrace_stuff:
|
||||||
|
@# We need a null action here, so implicit rules don't get consulted.
|
||||||
|
endif
|
||||||
|
|
||||||
# generate SA jar files and native header
|
# generate SA jar files and native header
|
||||||
sa_stuff:
|
sa_stuff:
|
||||||
@$(MAKE) -f sa.make $(MFLAGS-adjusted)
|
@$(MAKE) -f sa.make $(MFLAGS-adjusted)
|
||||||
@@ -117,8 +124,8 @@ the_vm: vm_build_preliminaries $(adjust-mflags)
|
|||||||
@$(UpdatePCH)
|
@$(UpdatePCH)
|
||||||
@$(MAKE) -f vm.make $(MFLAGS-adjusted)
|
@$(MAKE) -f vm.make $(MFLAGS-adjusted)
|
||||||
|
|
||||||
install: the_vm
|
install gamma: the_vm
|
||||||
@$(MAKE) -f vm.make install
|
@$(MAKE) -f vm.make $@
|
||||||
|
|
||||||
# next rules support "make foo.[ois]"
|
# next rules support "make foo.[ois]"
|
||||||
|
|
||||||
|
|||||||
113
hotspot/make/bsd/makefiles/universal.gmk
Normal file
113
hotspot/make/bsd/makefiles/universal.gmk
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2006, 2012, 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.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
# macosx universal builds
|
||||||
|
universal_product:
|
||||||
|
$(MAKE) MACOSX_UNIVERSAL=true all_product_universal
|
||||||
|
universal_fastdebug:
|
||||||
|
$(MAKE) MACOSX_UNIVERSAL=true all_fastdebug_universal
|
||||||
|
universal_debug:
|
||||||
|
$(MAKE) MACOSX_UNIVERSAL=true all_debug_universal
|
||||||
|
|
||||||
|
|
||||||
|
# Universal builds include 1 or more architectures in a single binary
|
||||||
|
all_product_universal:
|
||||||
|
# $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_PRODUCT_TARGETS)
|
||||||
|
$(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_PRODUCT_TARGETS)
|
||||||
|
$(QUIETLY) $(MAKE) EXPORT_SUBDIR= universalize
|
||||||
|
all_fastdebug_universal:
|
||||||
|
# $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_FASTDEBUG_TARGETS)
|
||||||
|
$(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_FASTDEBUG_TARGETS)
|
||||||
|
$(QUIETLY) $(MAKE) EXPORT_SUBDIR=/fastdebug universalize
|
||||||
|
all_debug_universal:
|
||||||
|
# $(QUIETLY) $(MAKE) ARCH_DATA_MODEL=32 $(COMMON_VM_DEBUG_TARGETS)
|
||||||
|
$(QUIETLY) $(MAKE) ARCH_DATA_MODEL=64 $(COMMON_VM_DEBUG_TARGETS)
|
||||||
|
$(QUIETLY) $(MAKE) EXPORT_SUBDIR=/debug universalize
|
||||||
|
|
||||||
|
|
||||||
|
# Consolidate architecture builds into a single Universal binary
|
||||||
|
universalize: $(UNIVERSAL_LIPO_LIST) $(UNIVERSAL_COPY_LIST)
|
||||||
|
$(RM) -r $(EXPORT_PATH)/jre/lib/{i386,amd64}
|
||||||
|
|
||||||
|
|
||||||
|
# Package built libraries in a universal binary
|
||||||
|
$(UNIVERSAL_LIPO_LIST):
|
||||||
|
BUILT_LIPO_FILES="`find $(EXPORT_JRE_LIB_DIR)/{i386,amd64}/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@) 2>/dev/null`"; \
|
||||||
|
if [ -n "$${BUILT_LIPO_FILES}" ]; then \
|
||||||
|
$(MKDIR) -p $(shell dirname $@); \
|
||||||
|
lipo -create -output $@ $${BUILT_LIPO_FILES}; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Copy built non-universal binaries in place
|
||||||
|
$(UNIVERSAL_COPY_LIST):
|
||||||
|
BUILT_COPY_FILES="`find $(EXPORT_JRE_LIB_DIR)/{i386,amd64}/$(subst $(EXPORT_JRE_LIB_DIR)/,,$@) 2>/dev/null`"; \
|
||||||
|
if [ -n "$${BUILT_COPY_FILES}" ]; then \
|
||||||
|
for i in $${BUILT_COPY_FILES}; do \
|
||||||
|
if [ -f $${i} ]; then \
|
||||||
|
$(MKDIR) -p $(shell dirname $@); \
|
||||||
|
$(CP) $${i} $@; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Replace arch specific binaries with universal binaries
|
||||||
|
export_universal:
|
||||||
|
$(RM) -r $(EXPORT_PATH)/jre/lib/{i386,amd64}
|
||||||
|
$(RM) -r $(JDK_IMAGE_DIR)/jre/lib/{i386,amd64}
|
||||||
|
$(RM) $(JDK_IMAGE_DIR)/jre/lib/{client,server}/libjsig.$(LIBRARY_SUFFIX)
|
||||||
|
($(CD) $(EXPORT_PATH) && \
|
||||||
|
$(TAR) -cf - *) | \
|
||||||
|
($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xpf -)
|
||||||
|
|
||||||
|
|
||||||
|
# Overlay universal binaries
|
||||||
|
copy_universal:
|
||||||
|
$(RM) -r $(JDK_IMAGE_DIR)$(COPY_SUBDIR)/jre/lib/{i386,amd64}
|
||||||
|
$(RM) $(JDK_IMAGE_DIR)$(COPY_SUBDIR)/jre/lib/{client,server}/libjsig.$(LIBRARY_SUFFIX)
|
||||||
|
($(CD) $(EXPORT_PATH)$(COPY_SUBDIR) && \
|
||||||
|
$(TAR) -cf - *) | \
|
||||||
|
($(CD) $(JDK_IMAGE_DIR)$(COPY_SUBDIR) && $(TAR) -xpf -)
|
||||||
|
|
||||||
|
|
||||||
|
# Additional processing for universal builds
|
||||||
|
export_product_jdk::
|
||||||
|
$(MAKE) EXPORT_SUBDIR= export_universal
|
||||||
|
export_optimized_jdk::
|
||||||
|
$(MAKE) EXPORT_SUBDIR= export_universal
|
||||||
|
export_fastdebug_jdk::
|
||||||
|
$(MAKE) EXPORT_SUBDIR=/fastdebug export_universal
|
||||||
|
export_debug_jdk::
|
||||||
|
$(MAKE) EXPORT_SUBDIR=/debug export_universal
|
||||||
|
copy_product_jdk::
|
||||||
|
$(MAKE) COPY_SUBDIR= copy_universal
|
||||||
|
copy_fastdebug_jdk::
|
||||||
|
$(MAKE) COPY_SUBDIR=/fastdebug copy_universal
|
||||||
|
copy_debug_jdk::
|
||||||
|
$(MAKE) COPY_SUBDIR=/debug copy_universal
|
||||||
|
|
||||||
|
.PHONY: universal_product universal_fastdebug universal_debug \
|
||||||
|
all_product_universal all_fastdebug_universal all_debug_universal \
|
||||||
|
universalize export_universal copy_universal
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, 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
|
||||||
@@ -42,7 +42,7 @@ DEP_DIR = $(GENERATED)/dependencies
|
|||||||
-include $(DEP_DIR)/*.d
|
-include $(DEP_DIR)/*.d
|
||||||
|
|
||||||
# read machine-specific adjustments (%%% should do this via buildtree.make?)
|
# read machine-specific adjustments (%%% should do this via buildtree.make?)
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
include $(MAKEFILES_DIR)/zeroshark.make
|
include $(MAKEFILES_DIR)/zeroshark.make
|
||||||
else
|
else
|
||||||
include $(MAKEFILES_DIR)/$(BUILDARCH).make
|
include $(MAKEFILES_DIR)/$(BUILDARCH).make
|
||||||
@@ -82,18 +82,26 @@ BUILD_TARGET = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\""
|
|||||||
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
||||||
VM_DISTRO = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\""
|
VM_DISTRO = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\""
|
||||||
|
|
||||||
CPPFLAGS = \
|
CXXFLAGS = \
|
||||||
${SYSDEFS} \
|
${SYSDEFS} \
|
||||||
${INCLUDES} \
|
${INCLUDES} \
|
||||||
${BUILD_VERSION} \
|
${BUILD_VERSION} \
|
||||||
${BUILD_TARGET} \
|
${BUILD_TARGET} \
|
||||||
${BUILD_USER} \
|
${BUILD_USER} \
|
||||||
${HS_LIB_ARCH} \
|
${HS_LIB_ARCH} \
|
||||||
${JRE_VERSION} \
|
|
||||||
${VM_DISTRO}
|
${VM_DISTRO}
|
||||||
|
|
||||||
|
# This is VERY important! The version define must only be supplied to vm_version.o
|
||||||
|
# If not, ccache will not re-use the cache at all, since the version string might contain
|
||||||
|
# a time and date.
|
||||||
|
vm_version.o: CXXFLAGS += ${JRE_VERSION}
|
||||||
|
|
||||||
ifdef DEFAULT_LIBPATH
|
ifdef DEFAULT_LIBPATH
|
||||||
CPPFLAGS += -DDEFAULT_LIBPATH="\"$(DEFAULT_LIBPATH)\""
|
CXXFLAGS += -DDEFAULT_LIBPATH="\"$(DEFAULT_LIBPATH)\""
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifndef JAVASE_EMBEDDED
|
||||||
|
CFLAGS += -DINCLUDE_TRACE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
||||||
@@ -108,6 +116,7 @@ LFLAGS += $(EXTRA_CFLAGS)
|
|||||||
|
|
||||||
# Don't set excutable bit on stack segment
|
# Don't set excutable bit on stack segment
|
||||||
# the same could be done by separate execstack command
|
# the same could be done by separate execstack command
|
||||||
|
# Darwin is non-executable-stack by default
|
||||||
ifneq ($(OS_VENDOR), Darwin)
|
ifneq ($(OS_VENDOR), Darwin)
|
||||||
LFLAGS += -Xlinker -z -Xlinker noexecstack
|
LFLAGS += -Xlinker -z -Xlinker noexecstack
|
||||||
endif
|
endif
|
||||||
@@ -146,6 +155,12 @@ SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
|
|||||||
SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
|
SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
|
||||||
SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
|
SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
|
||||||
|
|
||||||
|
ifndef JAVASE_EMBEDDED
|
||||||
|
SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
|
||||||
|
find $(HS_ALT_SRC)/share/vm/jfr -type d; \
|
||||||
|
fi)
|
||||||
|
endif
|
||||||
|
|
||||||
CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
|
CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
|
||||||
CORE_PATHS+=$(GENERATED)/jvmtifiles
|
CORE_PATHS+=$(GENERATED)/jvmtifiles
|
||||||
|
|
||||||
@@ -249,19 +264,19 @@ else
|
|||||||
ifeq ($(STATIC_CXX), true)
|
ifeq ($(STATIC_CXX), true)
|
||||||
LFLAGS_VM += $(STATIC_LIBGCC)
|
LFLAGS_VM += $(STATIC_LIBGCC)
|
||||||
LIBS_VM += $(STATIC_STDCXX)
|
LIBS_VM += $(STATIC_STDCXX)
|
||||||
LINK_VM = $(LINK_LIB.c)
|
|
||||||
else
|
|
||||||
LINK_VM = $(LINK_LIB.CC)
|
LINK_VM = $(LINK_LIB.CC)
|
||||||
|
else
|
||||||
|
LINK_VM = $(LINK_LIB.CXX)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LIBS_VM += $(LIBS)
|
LIBS_VM += $(LIBS)
|
||||||
endif
|
endif
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(JVM_VARIANT_ZERO), true)
|
||||||
LIBS_VM += $(LIBFFI_LIBS)
|
LIBS_VM += $(LIBFFI_LIBS)
|
||||||
endif
|
endif
|
||||||
ifeq ($(SHARK_BUILD), true)
|
ifeq ($(JVM_VARIANT_ZEROSHARK), true)
|
||||||
|
LIBS_VM += $(LIBFFI_LIBS) $(LLVM_LIBS)
|
||||||
LFLAGS_VM += $(LLVM_LDFLAGS)
|
LFLAGS_VM += $(LLVM_LDFLAGS)
|
||||||
LIBS_VM += $(LLVM_LIBS)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
@@ -269,7 +284,7 @@ endif
|
|||||||
$(PRECOMPILED_HEADER):
|
$(PRECOMPILED_HEADER):
|
||||||
$(QUIETLY) echo Generating precompiled header $@
|
$(QUIETLY) echo Generating precompiled header $@
|
||||||
$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)
|
$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)
|
||||||
$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -x c++-header $(PRECOMPILED_HEADER_SRC) -o $@ $(COMPILE_DONE)
|
$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -x c++-header $(PRECOMPILED_HEADER_SRC) -o $@ $(COMPILE_DONE)
|
||||||
|
|
||||||
# making the library:
|
# making the library:
|
||||||
|
|
||||||
@@ -294,10 +309,10 @@ endif
|
|||||||
$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
|
$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
|
||||||
$(QUIETLY) { \
|
$(QUIETLY) { \
|
||||||
echo Linking vm...; \
|
echo Linking vm...; \
|
||||||
$(LINK_LIB.CC/PRE_HOOK) \
|
$(LINK_LIB.CXX/PRE_HOOK) \
|
||||||
$(LINK_VM) $(LD_SCRIPT_FLAG) \
|
$(LINK_VM) $(LD_SCRIPT_FLAG) \
|
||||||
$(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM); \
|
$(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM); \
|
||||||
$(LINK_LIB.CC/POST_HOOK) \
|
$(LINK_LIB.CXX/POST_HOOK) \
|
||||||
rm -f $@.1; ln -s $@ $@.1; \
|
rm -f $@.1; ln -s $@ $@.1; \
|
||||||
[ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \
|
[ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \
|
||||||
}
|
}
|
||||||
@@ -320,9 +335,21 @@ include $(MAKEFILES_DIR)/jsig.make
|
|||||||
# Serviceability agent
|
# Serviceability agent
|
||||||
include $(MAKEFILES_DIR)/saproc.make
|
include $(MAKEFILES_DIR)/saproc.make
|
||||||
|
|
||||||
|
# Whitebox testing API
|
||||||
|
include $(MAKEFILES_DIR)/wb.make
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC)
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
$(LIBJVM).dSYM: $(LIBJVM)
|
||||||
|
dsymutil $(LIBJVM)
|
||||||
|
|
||||||
|
# no libjvm_db for macosx
|
||||||
|
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(BUILDLIBSAPROC) dtraceCheck $(LIBJVM).dSYM $(WB_JAR)
|
||||||
|
echo "Doing vm.make build:"
|
||||||
|
else
|
||||||
|
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(WB_JAR)
|
||||||
|
endif
|
||||||
|
|
||||||
install: install_jvm install_jsig install_saproc
|
install: install_jvm install_jsig install_saproc
|
||||||
|
|
||||||
|
|||||||
46
hotspot/make/bsd/makefiles/wb.make
Normal file
46
hotspot/make/bsd/makefiles/wb.make
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2012, 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.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
# Rules to build whitebox testing library, used by vm.make
|
||||||
|
WB = wb
|
||||||
|
|
||||||
|
WBSRCDIR = $(GAMMADIR)/src/share/tools/whitebox
|
||||||
|
|
||||||
|
WB_JAR = $(GENERATED)/$(WB).jar
|
||||||
|
|
||||||
|
WB_JAVA_SRCS = $(shell find $(WBSRCDIR) -name '*.java')
|
||||||
|
WB_JAVA_CLASSDIR = $(GENERATED)/wb/classes
|
||||||
|
|
||||||
|
WB_JAVA_CLASSES = $(patsubst $(WBSRCDIR)/%,$(WB_JAVA_CLASSDIR)/%, \
|
||||||
|
$(patsubst %.java,%.class,$(WB_JAVA_SRCS)))
|
||||||
|
|
||||||
|
$(WB_JAVA_CLASSDIR)/%.class: $(WBSRCDIR)/%.java $(WB_JAVA_CLASSDIR)
|
||||||
|
$(REMOTE) $(COMPILE.JAVAC) -nowarn -d $(WB_JAVA_CLASSDIR) $<
|
||||||
|
|
||||||
|
$(WB_JAR): $(WB_JAVA_CLASSES)
|
||||||
|
$(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(WB_JAVA_CLASSDIR)/ .
|
||||||
|
|
||||||
|
$(WB_JAVA_CLASSDIR):
|
||||||
|
$(QUIETLY) mkdir -p $@
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2006, 2012, 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
|
||||||
@@ -24,6 +24,11 @@
|
|||||||
|
|
||||||
# The common definitions for hotspot builds.
|
# The common definitions for hotspot builds.
|
||||||
|
|
||||||
|
# Optionally include SPEC file generated by configure.
|
||||||
|
ifneq ($(SPEC),)
|
||||||
|
include $(SPEC)
|
||||||
|
endif
|
||||||
|
|
||||||
# Default to verbose build logs (show all compile lines):
|
# Default to verbose build logs (show all compile lines):
|
||||||
MAKE_VERBOSE=y
|
MAKE_VERBOSE=y
|
||||||
|
|
||||||
@@ -50,6 +55,27 @@ define prep-target
|
|||||||
@$(RM) $@
|
@$(RM) $@
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# Default values for JVM_VARIANT* variables if configure hasn't set
|
||||||
|
# it already.
|
||||||
|
ifeq ($(JVM_VARIANTS),)
|
||||||
|
ifeq ($(ZERO_BUILD), true)
|
||||||
|
ifeq ($(SHARK_BUILD), true)
|
||||||
|
JVM_VARIANTS:=zeroshark
|
||||||
|
JVM_VARIANT_ZEROSHARK:=true
|
||||||
|
else
|
||||||
|
JVM_VARIANTS:=zero
|
||||||
|
JVM_VARIANT_ZERO:=true
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
# A default is needed
|
||||||
|
ifeq ($(BUILD_CLIENT_ONLY), true)
|
||||||
|
JVM_VARIANTS:=client
|
||||||
|
JVM_VARIANT_CLIENT:=true
|
||||||
|
endif
|
||||||
|
# Further defaults are platform and arch specific
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Directory paths and user name
|
# Directory paths and user name
|
||||||
# Unless GAMMADIR is set on the command line, search upward from
|
# Unless GAMMADIR is set on the command line, search upward from
|
||||||
# the current directory for a parent directory containing "src/share/vm".
|
# the current directory for a parent directory containing "src/share/vm".
|
||||||
@@ -185,6 +211,18 @@ ifneq ($(ALT_BOOTDIR),)
|
|||||||
BOOTDIR=$(ALT_BOOTDIR)
|
BOOTDIR=$(ALT_BOOTDIR)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Select name of the export directory and honor ALT overrides
|
||||||
|
EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
|
||||||
|
ifneq ($(ALT_EXPORT_PATH),)
|
||||||
|
EXPORT_PATH=$(ALT_EXPORT_PATH)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Default jdk image if one is created for you with create_jdk
|
||||||
|
JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
|
||||||
|
ifneq ($(ALT_JDK_IMAGE_DIR),)
|
||||||
|
JDK_IMAGE_DIR=$(ALT_JDK_IMAGE_DIR)
|
||||||
|
endif
|
||||||
|
|
||||||
# The platform dependent defs.make defines platform specific variable such
|
# The platform dependent defs.make defines platform specific variable such
|
||||||
# as ARCH, EXPORT_LIST etc. We must place the include here after BOOTDIR is defined.
|
# as ARCH, EXPORT_LIST etc. We must place the include here after BOOTDIR is defined.
|
||||||
include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
|
include $(GAMMADIR)/make/$(OSNAME)/makefiles/defs.make
|
||||||
@@ -263,15 +301,6 @@ MAKE_ARGS += JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
|
|||||||
# includes this make/defs.make file.
|
# includes this make/defs.make file.
|
||||||
MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
|
MAKE_ARGS += HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION)
|
||||||
|
|
||||||
# Select name of export directory
|
|
||||||
EXPORT_PATH=$(OUTPUTDIR)/export-$(PLATFORM)$(EXPORT_SUBDIR)
|
|
||||||
ifneq ($(ALT_EXPORT_PATH),)
|
|
||||||
EXPORT_PATH=$(ALT_EXPORT_PATH)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Default jdk image if one is created for you with create_jdk
|
|
||||||
JDK_IMAGE_DIR=$(OUTPUTDIR)/jdk-$(PLATFORM)
|
|
||||||
|
|
||||||
# Various export sub directories
|
# Various export sub directories
|
||||||
EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
|
EXPORT_INCLUDE_DIR = $(EXPORT_PATH)/include
|
||||||
EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
|
EXPORT_DOCS_DIR = $(EXPORT_PATH)/docs
|
||||||
@@ -281,9 +310,20 @@ EXPORT_JRE_BIN_DIR = $(EXPORT_JRE_DIR)/bin
|
|||||||
EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib
|
EXPORT_JRE_LIB_DIR = $(EXPORT_JRE_DIR)/lib
|
||||||
EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH)
|
EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)/$(LIBARCH)
|
||||||
|
|
||||||
|
# non-universal macosx builds need to appear universal
|
||||||
|
ifeq ($(OS_VENDOR), Darwin)
|
||||||
|
ifneq ($(MACOSX_UNIVERSAL), true)
|
||||||
|
EXPORT_JRE_LIB_ARCH_DIR = $(EXPORT_JRE_LIB_DIR)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Common export list of files
|
# Common export list of files
|
||||||
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmti.h
|
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmti.h
|
||||||
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
|
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
|
||||||
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
|
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
|
||||||
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
|
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
|
||||||
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
|
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
|
||||||
|
|
||||||
|
ifndef JAVASE_EMBEDDED
|
||||||
|
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jfr.h
|
||||||
|
endif
|
||||||
|
|||||||
@@ -33,9 +33,9 @@
|
|||||||
# Don't put quotes (fail windows build).
|
# Don't put quotes (fail windows build).
|
||||||
HOTSPOT_VM_COPYRIGHT=Copyright 2011
|
HOTSPOT_VM_COPYRIGHT=Copyright 2011
|
||||||
|
|
||||||
HS_MAJOR_VER=23
|
HS_MAJOR_VER=24
|
||||||
HS_MINOR_VER=0
|
HS_MINOR_VER=0
|
||||||
HS_BUILD_NUMBER=02
|
HS_BUILD_NUMBER=06
|
||||||
|
|
||||||
JDK_MAJOR_VER=1
|
JDK_MAJOR_VER=1
|
||||||
JDK_MINOR_VER=8
|
JDK_MINOR_VER=8
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2006, 2012, 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
|
||||||
@@ -38,7 +38,9 @@ jprt.need.sibling.build=false
|
|||||||
|
|
||||||
# This tells jprt what default release we want to build
|
# This tells jprt what default release we want to build
|
||||||
|
|
||||||
jprt.tools.default.release=${jprt.submit.release}
|
jprt.hotspot.default.release=jdk7
|
||||||
|
|
||||||
|
jprt.tools.default.release=${jprt.submit.option.release?${jprt.submit.option.release}:${jprt.hotspot.default.release}}
|
||||||
|
|
||||||
# Disable syncing the source after builds and tests are done.
|
# Disable syncing the source after builds and tests are done.
|
||||||
|
|
||||||
@@ -52,154 +54,72 @@ jprt.sync.push=false
|
|||||||
# Define the Solaris platforms we want for the various releases
|
# Define the Solaris platforms we want for the various releases
|
||||||
jprt.my.solaris.sparc.jdk8=solaris_sparc_5.10
|
jprt.my.solaris.sparc.jdk8=solaris_sparc_5.10
|
||||||
jprt.my.solaris.sparc.jdk7=solaris_sparc_5.10
|
jprt.my.solaris.sparc.jdk7=solaris_sparc_5.10
|
||||||
jprt.my.solaris.sparc.jdk7b107=solaris_sparc_5.10
|
jprt.my.solaris.sparc.jdk7u4=${jprt.my.solaris.sparc.jdk7}
|
||||||
jprt.my.solaris.sparc.jdk7temp=solaris_sparc_5.10
|
|
||||||
jprt.my.solaris.sparc.jdk6=solaris_sparc_5.8
|
|
||||||
jprt.my.solaris.sparc.jdk6perf=solaris_sparc_5.8
|
|
||||||
jprt.my.solaris.sparc.jdk6u10=solaris_sparc_5.8
|
|
||||||
jprt.my.solaris.sparc.jdk6u14=solaris_sparc_5.8
|
|
||||||
jprt.my.solaris.sparc.jdk6u18=solaris_sparc_5.8
|
|
||||||
jprt.my.solaris.sparc.jdk6u20=solaris_sparc_5.8
|
|
||||||
jprt.my.solaris.sparc.ejdk7=${jprt.my.solaris.sparc.jdk7}
|
|
||||||
jprt.my.solaris.sparc.ejdk6=${jprt.my.solaris.sparc.jdk6}
|
|
||||||
jprt.my.solaris.sparc=${jprt.my.solaris.sparc.${jprt.tools.default.release}}
|
jprt.my.solaris.sparc=${jprt.my.solaris.sparc.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.solaris.sparcv9.jdk8=solaris_sparcv9_5.10
|
jprt.my.solaris.sparcv9.jdk8=solaris_sparcv9_5.10
|
||||||
jprt.my.solaris.sparcv9.jdk7=solaris_sparcv9_5.10
|
jprt.my.solaris.sparcv9.jdk7=solaris_sparcv9_5.10
|
||||||
jprt.my.solaris.sparcv9.jdk7b107=solaris_sparcv9_5.10
|
jprt.my.solaris.sparcv9.jdk7u4=${jprt.my.solaris.sparcv9.jdk7}
|
||||||
jprt.my.solaris.sparcv9.jdk7temp=solaris_sparcv9_5.10
|
|
||||||
jprt.my.solaris.sparcv9.jdk6=solaris_sparcv9_5.8
|
|
||||||
jprt.my.solaris.sparcv9.jdk6perf=solaris_sparcv9_5.8
|
|
||||||
jprt.my.solaris.sparcv9.jdk6u10=solaris_sparcv9_5.8
|
|
||||||
jprt.my.solaris.sparcv9.jdk6u14=solaris_sparcv9_5.8
|
|
||||||
jprt.my.solaris.sparcv9.jdk6u18=solaris_sparcv9_5.8
|
|
||||||
jprt.my.solaris.sparcv9.jdk6u20=solaris_sparcv9_5.8
|
|
||||||
jprt.my.solaris.sparcv9.ejdk7=${jprt.my.solaris.sparcv9.jdk7}
|
|
||||||
jprt.my.solaris.sparcv9.ejdk6=${jprt.my.solaris.sparcv9.jdk6}
|
|
||||||
jprt.my.solaris.sparcv9=${jprt.my.solaris.sparcv9.${jprt.tools.default.release}}
|
jprt.my.solaris.sparcv9=${jprt.my.solaris.sparcv9.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.solaris.i586.jdk8=solaris_i586_5.10
|
jprt.my.solaris.i586.jdk8=solaris_i586_5.10
|
||||||
jprt.my.solaris.i586.jdk7=solaris_i586_5.10
|
jprt.my.solaris.i586.jdk7=solaris_i586_5.10
|
||||||
jprt.my.solaris.i586.jdk7b107=solaris_i586_5.10
|
jprt.my.solaris.i586.jdk7u4=${jprt.my.solaris.i586.jdk7}
|
||||||
jprt.my.solaris.i586.jdk7temp=solaris_i586_5.10
|
|
||||||
jprt.my.solaris.i586.jdk6=solaris_i586_5.8
|
|
||||||
jprt.my.solaris.i586.jdk6perf=solaris_i586_5.8
|
|
||||||
jprt.my.solaris.i586.jdk6u10=solaris_i586_5.8
|
|
||||||
jprt.my.solaris.i586.jdk6u14=solaris_i586_5.8
|
|
||||||
jprt.my.solaris.i586.jdk6u18=solaris_i586_5.8
|
|
||||||
jprt.my.solaris.i586.jdk6u20=solaris_i586_5.8
|
|
||||||
jprt.my.solaris.i586.ejdk7=${jprt.my.solaris.i586.jdk7}
|
|
||||||
jprt.my.solaris.i586.ejdk6=${jprt.my.solaris.i586.jdk6}
|
|
||||||
jprt.my.solaris.i586=${jprt.my.solaris.i586.${jprt.tools.default.release}}
|
jprt.my.solaris.i586=${jprt.my.solaris.i586.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.solaris.x64.jdk8=solaris_x64_5.10
|
jprt.my.solaris.x64.jdk8=solaris_x64_5.10
|
||||||
jprt.my.solaris.x64.jdk7=solaris_x64_5.10
|
jprt.my.solaris.x64.jdk7=solaris_x64_5.10
|
||||||
jprt.my.solaris.x64.jdk7b107=solaris_x64_5.10
|
jprt.my.solaris.x64.jdk7u4=${jprt.my.solaris.x64.jdk7}
|
||||||
jprt.my.solaris.x64.jdk7temp=solaris_x64_5.10
|
|
||||||
jprt.my.solaris.x64.jdk6=solaris_x64_5.10
|
|
||||||
jprt.my.solaris.x64.jdk6perf=solaris_x64_5.10
|
|
||||||
jprt.my.solaris.x64.jdk6u10=solaris_x64_5.10
|
|
||||||
jprt.my.solaris.x64.jdk6u14=solaris_x64_5.10
|
|
||||||
jprt.my.solaris.x64.jdk6u18=solaris_x64_5.10
|
|
||||||
jprt.my.solaris.x64.jdk6u20=solaris_x64_5.10
|
|
||||||
jprt.my.solaris.x64.ejdk7=${jprt.my.solaris.x64.jdk7}
|
|
||||||
jprt.my.solaris.x64.ejdk6=${jprt.my.solaris.x64.jdk6}
|
|
||||||
jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
|
jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.linux.i586.jdk8=linux_i586_2.6
|
jprt.my.linux.i586.jdk8=linux_i586_2.6
|
||||||
jprt.my.linux.i586.jdk7=linux_i586_2.6
|
jprt.my.linux.i586.jdk7=linux_i586_2.6
|
||||||
jprt.my.linux.i586.jdk7b107=linux_i586_2.6
|
jprt.my.linux.i586.jdk7u4=${jprt.my.linux.i586.jdk7}
|
||||||
jprt.my.linux.i586.jdk7temp=linux_i586_2.6
|
|
||||||
jprt.my.linux.i586.jdk6=linux_i586_2.4
|
|
||||||
jprt.my.linux.i586.jdk6perf=linux_i586_2.4
|
|
||||||
jprt.my.linux.i586.jdk6u10=linux_i586_2.4
|
|
||||||
jprt.my.linux.i586.jdk6u14=linux_i586_2.4
|
|
||||||
jprt.my.linux.i586.jdk6u18=linux_i586_2.4
|
|
||||||
jprt.my.linux.i586.jdk6u20=linux_i586_2.4
|
|
||||||
jprt.my.linux.i586.ejdk7=linux_i586_2.6
|
|
||||||
jprt.my.linux.i586.ejdk6=linux_i586_2.6
|
|
||||||
jprt.my.linux.i586=${jprt.my.linux.i586.${jprt.tools.default.release}}
|
jprt.my.linux.i586=${jprt.my.linux.i586.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.linux.x64.jdk8=linux_x64_2.6
|
jprt.my.linux.x64.jdk8=linux_x64_2.6
|
||||||
jprt.my.linux.x64.jdk7=linux_x64_2.6
|
jprt.my.linux.x64.jdk7=linux_x64_2.6
|
||||||
jprt.my.linux.x64.jdk7b107=linux_x64_2.6
|
jprt.my.linux.x64.jdk7u4=${jprt.my.linux.x64.jdk7}
|
||||||
jprt.my.linux.x64.jdk7temp=linux_x64_2.6
|
|
||||||
jprt.my.linux.x64.jdk6=linux_x64_2.4
|
|
||||||
jprt.my.linux.x64.jdk6perf=linux_x64_2.4
|
|
||||||
jprt.my.linux.x64.jdk6u10=linux_x64_2.4
|
|
||||||
jprt.my.linux.x64.jdk6u14=linux_x64_2.4
|
|
||||||
jprt.my.linux.x64.jdk6u18=linux_x64_2.4
|
|
||||||
jprt.my.linux.x64.jdk6u20=linux_x64_2.4
|
|
||||||
jprt.my.linux.x64.ejdk7=${jprt.my.linux.x64.jdk7}
|
|
||||||
jprt.my.linux.x64.ejdk6=${jprt.my.linux.x64.jdk6}
|
|
||||||
jprt.my.linux.x64=${jprt.my.linux.x64.${jprt.tools.default.release}}
|
jprt.my.linux.x64=${jprt.my.linux.x64.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.linux.ppc.jdk8=linux_ppc_2.6
|
jprt.my.linux.ppc.jdk8=linux_ppc_2.6
|
||||||
jprt.my.linux.ppc.jdk7=linux_ppc_2.6
|
jprt.my.linux.ppc.jdk7=linux_ppc_2.6
|
||||||
jprt.my.linux.ppc.jdk7b107=linux_ppc_2.6
|
jprt.my.linux.ppc.jdk7u4=${jprt.my.linux.ppc.jdk7}
|
||||||
jprt.my.linux.ppc.jdk7temp=linux_ppc_2.6
|
|
||||||
jprt.my.linux.ppc.ejdk6=linux_ppc_2.6
|
|
||||||
jprt.my.linux.ppc.ejdk7=linux_ppc_2.6
|
|
||||||
jprt.my.linux.ppc=${jprt.my.linux.ppc.${jprt.tools.default.release}}
|
jprt.my.linux.ppc=${jprt.my.linux.ppc.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.linux.ppcv2.jdk8=linux_ppcv2_2.6
|
jprt.my.linux.ppcv2.jdk8=linux_ppcv2_2.6
|
||||||
jprt.my.linux.ppcv2.jdk7=linux_ppcv2_2.6
|
jprt.my.linux.ppcv2.jdk7=linux_ppcv2_2.6
|
||||||
jprt.my.linux.ppcv2.jdk7b107=linux_ppcv2_2.6
|
jprt.my.linux.ppcv2.jdk7u4=${jprt.my.linux.ppcv2.jdk7}
|
||||||
jprt.my.linux.ppcv2.jdk7temp=linux_ppcv2_2.6
|
|
||||||
jprt.my.linux.ppcv2.ejdk6=linux_ppcv2_2.6
|
|
||||||
jprt.my.linux.ppcv2.ejdk7=linux_ppcv2_2.6
|
|
||||||
jprt.my.linux.ppcv2=${jprt.my.linux.ppcv2.${jprt.tools.default.release}}
|
jprt.my.linux.ppcv2=${jprt.my.linux.ppcv2.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.linux.ppcsflt.jdk8=linux_ppcsflt_2.6
|
jprt.my.linux.ppcsflt.jdk8=linux_ppcsflt_2.6
|
||||||
jprt.my.linux.ppcsflt.jdk7=linux_ppcsflt_2.6
|
jprt.my.linux.ppcsflt.jdk7=linux_ppcsflt_2.6
|
||||||
jprt.my.linux.ppcsflt.jdk7b107=linux_ppcsflt_2.6
|
jprt.my.linux.ppcsflt.jdk7u4=${jprt.my.linux.ppcsflt.jdk7}
|
||||||
jprt.my.linux.ppcsflt.jdk7temp=linux_ppcsflt_2.6
|
|
||||||
jprt.my.linux.ppcsflt.ejdk6=linux_ppcsflt_2.6
|
|
||||||
jprt.my.linux.ppcsflt.ejdk7=linux_ppcsflt_2.6
|
|
||||||
jprt.my.linux.ppcsflt=${jprt.my.linux.ppcsflt.${jprt.tools.default.release}}
|
jprt.my.linux.ppcsflt=${jprt.my.linux.ppcsflt.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.linux.armvfp.jdk8=linux_armvfp_2.6
|
jprt.my.linux.armvfp.jdk8=linux_armvfp_2.6
|
||||||
jprt.my.linux.armvfp.jdk7=linux_armvfp_2.6
|
jprt.my.linux.armvfp.jdk7=linux_armvfp_2.6
|
||||||
jprt.my.linux.armvfp.jdk7b107=linux_armvfp_2.6
|
jprt.my.linux.armvfp.jdk7u4=${jprt.my.linux.armvfp.jdk7}
|
||||||
jprt.my.linux.armvfp.jdk7temp=linux_armvfp_2.6
|
|
||||||
jprt.my.linux.armvfp.ejdk6=linux_armvfp_2.6
|
|
||||||
jprt.my.linux.armvfp.ejdk7=linux_armvfp_2.6
|
|
||||||
jprt.my.linux.armvfp=${jprt.my.linux.armvfp.${jprt.tools.default.release}}
|
jprt.my.linux.armvfp=${jprt.my.linux.armvfp.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.linux.armsflt.jdk8=linux_armsflt_2.6
|
jprt.my.linux.armsflt.jdk8=linux_armsflt_2.6
|
||||||
jprt.my.linux.armsflt.jdk7=linux_armsflt_2.6
|
jprt.my.linux.armsflt.jdk7=linux_armsflt_2.6
|
||||||
jprt.my.linux.armsflt.jdk7b107=linux_armsflt_2.6
|
jprt.my.linux.armsflt.jdk7u4=${jprt.my.linux.armsflt.jdk7}
|
||||||
jprt.my.linux.armsflt.jdk7temp=linux_armsflt_2.6
|
|
||||||
jprt.my.linux.armsflt.ejdk6=linux_armsflt_2.6
|
|
||||||
jprt.my.linux.armsflt.ejdk7=linux_armsflt_2.6
|
|
||||||
jprt.my.linux.armsflt=${jprt.my.linux.armsflt.${jprt.tools.default.release}}
|
jprt.my.linux.armsflt=${jprt.my.linux.armsflt.${jprt.tools.default.release}}
|
||||||
|
|
||||||
|
jprt.my.macosx.x64.jdk8=macosx_x64_10.7
|
||||||
|
jprt.my.macosx.x64.jdk7=macosx_x64_10.7
|
||||||
|
jprt.my.macosx.x64.jdk7u4=${jprt.my.macosx.x64.jdk7}
|
||||||
|
jprt.my.macosx.x64=${jprt.my.macosx.x64.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.windows.i586.jdk8=windows_i586_5.1
|
jprt.my.windows.i586.jdk8=windows_i586_5.1
|
||||||
jprt.my.windows.i586.jdk7=windows_i586_5.1
|
jprt.my.windows.i586.jdk7=windows_i586_5.1
|
||||||
jprt.my.windows.i586.jdk7b107=windows_i586_5.0
|
jprt.my.windows.i586.jdk7u4=${jprt.my.windows.i586.jdk7}
|
||||||
jprt.my.windows.i586.jdk7temp=windows_i586_5.0
|
|
||||||
jprt.my.windows.i586.jdk6=windows_i586_5.0
|
|
||||||
jprt.my.windows.i586.jdk6perf=windows_i586_5.0
|
|
||||||
jprt.my.windows.i586.jdk6u10=windows_i586_5.0
|
|
||||||
jprt.my.windows.i586.jdk6u14=windows_i586_5.0
|
|
||||||
jprt.my.windows.i586.jdk6u18=windows_i586_5.0
|
|
||||||
jprt.my.windows.i586.jdk6u20=windows_i586_5.0
|
|
||||||
jprt.my.windows.i586.ejdk7=${jprt.my.windows.i586.jdk7}
|
|
||||||
jprt.my.windows.i586.ejdk6=${jprt.my.windows.i586.jdk6}
|
|
||||||
jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}}
|
jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}}
|
||||||
|
|
||||||
jprt.my.windows.x64.jdk8=windows_x64_5.2
|
jprt.my.windows.x64.jdk8=windows_x64_5.2
|
||||||
jprt.my.windows.x64.jdk7=windows_x64_5.2
|
jprt.my.windows.x64.jdk7=windows_x64_5.2
|
||||||
jprt.my.windows.x64.jdk7b107=windows_x64_5.2
|
jprt.my.windows.x64.jdk7u4=${jprt.my.windows.x64.jdk7}
|
||||||
jprt.my.windows.x64.jdk7temp=windows_x64_5.2
|
|
||||||
jprt.my.windows.x64.jdk6=windows_x64_5.2
|
|
||||||
jprt.my.windows.x64.jdk6perf=windows_x64_5.2
|
|
||||||
jprt.my.windows.x64.jdk6u10=windows_x64_5.2
|
|
||||||
jprt.my.windows.x64.jdk6u14=windows_x64_5.2
|
|
||||||
jprt.my.windows.x64.jdk6u18=windows_x64_5.2
|
|
||||||
jprt.my.windows.x64.jdk6u20=windows_x64_5.2
|
|
||||||
jprt.my.windows.x64.ejdk7=${jprt.my.windows.x64.jdk7}
|
|
||||||
jprt.my.windows.x64.ejdk6=${jprt.my.windows.x64.jdk6}
|
|
||||||
jprt.my.windows.x64=${jprt.my.windows.x64.${jprt.tools.default.release}}
|
jprt.my.windows.x64=${jprt.my.windows.x64.${jprt.tools.default.release}}
|
||||||
|
|
||||||
# Standard list of jprt build targets for this source tree
|
# Standard list of jprt build targets for this source tree
|
||||||
@@ -211,6 +131,7 @@ jprt.build.targets.standard= \
|
|||||||
${jprt.my.solaris.x64}-{product|fastdebug|debug}, \
|
${jprt.my.solaris.x64}-{product|fastdebug|debug}, \
|
||||||
${jprt.my.linux.i586}-{product|fastdebug|debug}, \
|
${jprt.my.linux.i586}-{product|fastdebug|debug}, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}, \
|
${jprt.my.linux.x64}-{product|fastdebug}, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug|debug}, \
|
||||||
${jprt.my.windows.i586}-{product|fastdebug|debug}, \
|
${jprt.my.windows.i586}-{product|fastdebug|debug}, \
|
||||||
${jprt.my.windows.x64}-{product|fastdebug|debug}
|
${jprt.my.windows.x64}-{product|fastdebug|debug}
|
||||||
|
|
||||||
@@ -232,23 +153,14 @@ jprt.build.targets.all=${jprt.build.targets.standard}, \
|
|||||||
|
|
||||||
jprt.build.targets.jdk8=${jprt.build.targets.all}
|
jprt.build.targets.jdk8=${jprt.build.targets.all}
|
||||||
jprt.build.targets.jdk7=${jprt.build.targets.all}
|
jprt.build.targets.jdk7=${jprt.build.targets.all}
|
||||||
jprt.build.targets.jdk7temp=${jprt.build.targets.all}
|
jprt.build.targets.jdk7u4=${jprt.build.targets.all}
|
||||||
jprt.build.targets.jdk7b107=${jprt.build.targets.all}
|
|
||||||
jprt.build.targets.jdk6=${jprt.build.targets.standard}
|
|
||||||
jprt.build.targets.jdk6perf=${jprt.build.targets.standard}
|
|
||||||
jprt.build.targets.jdk6u10=${jprt.build.targets.standard}
|
|
||||||
jprt.build.targets.jdk6u14=${jprt.build.targets.standard}
|
|
||||||
jprt.build.targets.jdk6u18=${jprt.build.targets.standard}
|
|
||||||
jprt.build.targets.jdk6u20=${jprt.build.targets.standard}
|
|
||||||
jprt.build.targets.ejdk6=${jprt.build.targets.all}
|
|
||||||
jprt.build.targets.ejdk7=${jprt.build.targets.all}
|
|
||||||
jprt.build.targets=${jprt.build.targets.${jprt.tools.default.release}}
|
jprt.build.targets=${jprt.build.targets.${jprt.tools.default.release}}
|
||||||
|
|
||||||
# Subset lists of test targets for this source tree
|
# Subset lists of test targets for this source tree
|
||||||
|
|
||||||
jprt.my.solaris.sparc.test.targets= \
|
jprt.my.solaris.sparc.test.targets= \
|
||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jvm98, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jvm98, \
|
||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-c2-jvm98_tiered, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-scimark, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-scimark, \
|
||||||
${jprt.my.solaris.sparc}-product-{c1|c2}-runThese, \
|
${jprt.my.solaris.sparc}-product-{c1|c2}-runThese, \
|
||||||
${jprt.my.solaris.sparc}-fastdebug-c1-runThese_Xshare, \
|
${jprt.my.solaris.sparc}-fastdebug-c1-runThese_Xshare, \
|
||||||
@@ -267,7 +179,7 @@ jprt.my.solaris.sparc.test.targets= \
|
|||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-GCOld_G1, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-GCOld_G1, \
|
||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-GCOld_ParOldGC, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-GCOld_ParOldGC, \
|
||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_default, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_default, \
|
||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-c2-jbb_default_tiered, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-c2-jbb_default_nontiered, \
|
||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_SerialGC, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_SerialGC, \
|
||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_ParallelGC, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_ParallelGC, \
|
||||||
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_CMS, \
|
${jprt.my.solaris.sparc}-{product|fastdebug}-{c1|c2}-jbb_CMS, \
|
||||||
@@ -276,7 +188,7 @@ jprt.my.solaris.sparc.test.targets= \
|
|||||||
|
|
||||||
jprt.my.solaris.sparcv9.test.targets= \
|
jprt.my.solaris.sparcv9.test.targets= \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jvm98, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jvm98, \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jvm98_tiered, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-scimark, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-scimark, \
|
||||||
${jprt.my.solaris.sparcv9}-product-c2-runThese, \
|
${jprt.my.solaris.sparcv9}-product-c2-runThese, \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-GCBasher_default, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-GCBasher_default, \
|
||||||
@@ -294,7 +206,7 @@ jprt.my.solaris.sparcv9.test.targets= \
|
|||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-GCOld_G1, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-GCOld_G1, \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-GCOld_ParOldGC, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-GCOld_ParOldGC, \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_default, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_default, \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_default_tiered, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_default_nontiered, \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_SerialGC, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_SerialGC, \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_ParallelGC, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_ParallelGC, \
|
||||||
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_CMS, \
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-jbb_CMS, \
|
||||||
@@ -303,7 +215,7 @@ jprt.my.solaris.sparcv9.test.targets= \
|
|||||||
|
|
||||||
jprt.my.solaris.x64.test.targets= \
|
jprt.my.solaris.x64.test.targets= \
|
||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jvm98, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jvm98, \
|
||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jvm98_tiered, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-scimark, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-scimark, \
|
||||||
${jprt.my.solaris.x64}-product-c2-runThese, \
|
${jprt.my.solaris.x64}-product-c2-runThese, \
|
||||||
${jprt.my.solaris.x64}-product-c2-runThese_Xcomp, \
|
${jprt.my.solaris.x64}-product-c2-runThese_Xcomp, \
|
||||||
@@ -322,7 +234,7 @@ jprt.my.solaris.x64.test.targets= \
|
|||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-GCOld_G1, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-GCOld_G1, \
|
||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \
|
||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_default, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_default, \
|
||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_default_tiered, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_default_nontiered, \
|
||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_SerialGC, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_SerialGC, \
|
||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_ParallelGC, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-jbb_ParallelGC, \
|
||||||
${jprt.my.solaris.x64}-{product|fastdebug}-c2-GCOld_CMS, \
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-GCOld_CMS, \
|
||||||
@@ -331,7 +243,7 @@ jprt.my.solaris.x64.test.targets= \
|
|||||||
|
|
||||||
jprt.my.solaris.i586.test.targets= \
|
jprt.my.solaris.i586.test.targets= \
|
||||||
${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
|
${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
|
||||||
${jprt.my.solaris.i586}-{product|fastdebug}-c2-jvm98_tiered, \
|
${jprt.my.solaris.i586}-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||||
${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark, \
|
${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark, \
|
||||||
${jprt.my.solaris.i586}-product-{c1|c2}-runThese_Xcomp, \
|
${jprt.my.solaris.i586}-product-{c1|c2}-runThese_Xcomp, \
|
||||||
${jprt.my.solaris.i586}-fastdebug-c1-runThese_Xcomp, \
|
${jprt.my.solaris.i586}-fastdebug-c1-runThese_Xcomp, \
|
||||||
@@ -358,7 +270,7 @@ jprt.my.solaris.i586.test.targets= \
|
|||||||
${jprt.my.solaris.i586}-product-c1-GCOld_G1, \
|
${jprt.my.solaris.i586}-product-c1-GCOld_G1, \
|
||||||
${jprt.my.solaris.i586}-product-c1-GCOld_ParOldGC, \
|
${jprt.my.solaris.i586}-product-c1-GCOld_ParOldGC, \
|
||||||
${jprt.my.solaris.i586}-fastdebug-c2-jbb_default, \
|
${jprt.my.solaris.i586}-fastdebug-c2-jbb_default, \
|
||||||
${jprt.my.solaris.i586}-fastdebug-c2-jbb_default_tiered, \
|
${jprt.my.solaris.i586}-fastdebug-c2-jbb_default_nontiered, \
|
||||||
${jprt.my.solaris.i586}-fastdebug-c2-jbb_ParallelGC, \
|
${jprt.my.solaris.i586}-fastdebug-c2-jbb_ParallelGC, \
|
||||||
${jprt.my.solaris.i586}-fastdebug-c2-jbb_CMS, \
|
${jprt.my.solaris.i586}-fastdebug-c2-jbb_CMS, \
|
||||||
${jprt.my.solaris.i586}-fastdebug-c2-jbb_G1, \
|
${jprt.my.solaris.i586}-fastdebug-c2-jbb_G1, \
|
||||||
@@ -366,7 +278,7 @@ jprt.my.solaris.i586.test.targets= \
|
|||||||
|
|
||||||
jprt.my.linux.i586.test.targets = \
|
jprt.my.linux.i586.test.targets = \
|
||||||
${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
|
${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
|
||||||
${jprt.my.linux.i586}-{product|fastdebug}-c2-jvm98_tiered, \
|
${jprt.my.linux.i586}-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||||
${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-scimark, \
|
${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-scimark, \
|
||||||
${jprt.my.linux.i586}-product-c1-runThese_Xcomp, \
|
${jprt.my.linux.i586}-product-c1-runThese_Xcomp, \
|
||||||
${jprt.my.linux.i586}-fastdebug-c1-runThese_Xshare, \
|
${jprt.my.linux.i586}-fastdebug-c1-runThese_Xshare, \
|
||||||
@@ -386,7 +298,7 @@ jprt.my.linux.i586.test.targets = \
|
|||||||
${jprt.my.linux.i586}-product-{c1|c2}-GCOld_G1, \
|
${jprt.my.linux.i586}-product-{c1|c2}-GCOld_G1, \
|
||||||
${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParOldGC, \
|
${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParOldGC, \
|
||||||
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_default, \
|
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_default, \
|
||||||
${jprt.my.linux.i586}-{product|fastdebug}-c2-jbb_default_tiered, \
|
${jprt.my.linux.i586}-{product|fastdebug}-c2-jbb_default_nontiered, \
|
||||||
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_ParallelGC, \
|
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_ParallelGC, \
|
||||||
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_CMS, \
|
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_CMS, \
|
||||||
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_G1, \
|
${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_G1, \
|
||||||
@@ -394,7 +306,7 @@ jprt.my.linux.i586.test.targets = \
|
|||||||
|
|
||||||
jprt.my.linux.x64.test.targets = \
|
jprt.my.linux.x64.test.targets = \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98_tiered, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-scimark, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-scimark, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCBasher_default, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCBasher_default, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCBasher_SerialGC, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCBasher_SerialGC, \
|
||||||
@@ -411,14 +323,38 @@ jprt.my.linux.x64.test.targets = \
|
|||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCOld_G1, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCOld_G1, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_default, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_default, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_default_tiered, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_default_nontiered, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_ParallelGC, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_ParallelGC, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_G1, \
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_G1, \
|
||||||
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_ParOldGC
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-jbb_ParOldGC
|
||||||
|
|
||||||
|
jprt.my.macosx.x64.test.targets = \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-jvm98, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-scimark, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCBasher_default, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCBasher_SerialGC, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCBasher_ParallelGC, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCBasher_ParNewGC, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCBasher_CMS, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCBasher_G1, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCBasher_ParOldGC, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_default, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_SerialGC, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_ParallelGC, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_ParNewGC, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_CMS, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_G1, \
|
||||||
|
${jprt.my.macosx.x64}-{product|fastdebug}-c2-GCOld_ParOldGC
|
||||||
|
# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_default, \
|
||||||
|
# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_default_tiered, \
|
||||||
|
# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_ParallelGC, \
|
||||||
|
# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_G1, \
|
||||||
|
# ${jprt.my.macosx.x64}-{product|fastdebug}-c2-jbb_ParOldGC
|
||||||
|
|
||||||
jprt.my.windows.i586.test.targets = \
|
jprt.my.windows.i586.test.targets = \
|
||||||
${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
|
${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
|
||||||
${jprt.my.windows.i586}-{product|fastdebug}-c2-jvm98_tiered, \
|
${jprt.my.windows.i586}-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||||
${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-scimark, \
|
${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-scimark, \
|
||||||
${jprt.my.windows.i586}-product-{c1|c2}-runThese, \
|
${jprt.my.windows.i586}-product-{c1|c2}-runThese, \
|
||||||
${jprt.my.windows.i586}-product-{c1|c2}-runThese_Xcomp, \
|
${jprt.my.windows.i586}-product-{c1|c2}-runThese_Xcomp, \
|
||||||
@@ -438,7 +374,7 @@ jprt.my.windows.i586.test.targets = \
|
|||||||
${jprt.my.windows.i586}-product-{c1|c2}-GCOld_G1, \
|
${jprt.my.windows.i586}-product-{c1|c2}-GCOld_G1, \
|
||||||
${jprt.my.windows.i586}-product-{c1|c2}-GCOld_ParOldGC, \
|
${jprt.my.windows.i586}-product-{c1|c2}-GCOld_ParOldGC, \
|
||||||
${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-jbb_default, \
|
${jprt.my.windows.i586}-{product|fastdebug}-{c1|c2}-jbb_default, \
|
||||||
${jprt.my.windows.i586}-{product|fastdebug}-c2-jbb_default_tiered, \
|
${jprt.my.windows.i586}-{product|fastdebug}-c2-jbb_default_nontiered, \
|
||||||
${jprt.my.windows.i586}-product-{c1|c2}-jbb_ParallelGC, \
|
${jprt.my.windows.i586}-product-{c1|c2}-jbb_ParallelGC, \
|
||||||
${jprt.my.windows.i586}-product-{c1|c2}-jbb_CMS, \
|
${jprt.my.windows.i586}-product-{c1|c2}-jbb_CMS, \
|
||||||
${jprt.my.windows.i586}-product-{c1|c2}-jbb_G1, \
|
${jprt.my.windows.i586}-product-{c1|c2}-jbb_G1, \
|
||||||
@@ -446,7 +382,7 @@ jprt.my.windows.i586.test.targets = \
|
|||||||
|
|
||||||
jprt.my.windows.x64.test.targets = \
|
jprt.my.windows.x64.test.targets = \
|
||||||
${jprt.my.windows.x64}-{product|fastdebug}-c2-jvm98, \
|
${jprt.my.windows.x64}-{product|fastdebug}-c2-jvm98, \
|
||||||
${jprt.my.windows.x64}-{product|fastdebug}-c2-jvm98_tiered, \
|
${jprt.my.windows.x64}-{product|fastdebug}-c2-jvm98_nontiered, \
|
||||||
${jprt.my.windows.x64}-{product|fastdebug}-c2-scimark, \
|
${jprt.my.windows.x64}-{product|fastdebug}-c2-scimark, \
|
||||||
${jprt.my.windows.x64}-product-c2-runThese, \
|
${jprt.my.windows.x64}-product-c2-runThese, \
|
||||||
${jprt.my.windows.x64}-product-c2-runThese_Xcomp, \
|
${jprt.my.windows.x64}-product-c2-runThese_Xcomp, \
|
||||||
@@ -465,7 +401,7 @@ jprt.my.windows.x64.test.targets = \
|
|||||||
${jprt.my.windows.x64}-{product|fastdebug}-c2-GCOld_G1, \
|
${jprt.my.windows.x64}-{product|fastdebug}-c2-GCOld_G1, \
|
||||||
${jprt.my.windows.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \
|
${jprt.my.windows.x64}-{product|fastdebug}-c2-GCOld_ParOldGC, \
|
||||||
${jprt.my.windows.x64}-{product|fastdebug}-c2-jbb_default, \
|
${jprt.my.windows.x64}-{product|fastdebug}-c2-jbb_default, \
|
||||||
${jprt.my.windows.x64}-{product|fastdebug}-c2-jbb_default_tiered, \
|
${jprt.my.windows.x64}-{product|fastdebug}-c2-jbb_default_nontiered, \
|
||||||
${jprt.my.windows.x64}-product-c2-jbb_CMS, \
|
${jprt.my.windows.x64}-product-c2-jbb_CMS, \
|
||||||
${jprt.my.windows.x64}-product-c2-jbb_ParallelGC, \
|
${jprt.my.windows.x64}-product-c2-jbb_ParallelGC, \
|
||||||
${jprt.my.windows.x64}-product-c2-jbb_G1, \
|
${jprt.my.windows.x64}-product-c2-jbb_G1, \
|
||||||
@@ -473,9 +409,9 @@ jprt.my.windows.x64.test.targets = \
|
|||||||
|
|
||||||
# Some basic "smoke" tests for OpenJDK builds
|
# Some basic "smoke" tests for OpenJDK builds
|
||||||
jprt.test.targets.open = \
|
jprt.test.targets.open = \
|
||||||
${jprt.my.solaris.x64}-{productOpen|debugOpen|fastdebugOpen}-c2-jvm98_tiered, \
|
${jprt.my.solaris.x64}-{productOpen|debugOpen|fastdebugOpen}-c2-jvm98, \
|
||||||
${jprt.my.solaris.i586}-{productOpen|fastdebugOpen}-c2-jvm98_tiered, \
|
${jprt.my.solaris.i586}-{productOpen|fastdebugOpen}-c2-jvm98, \
|
||||||
${jprt.my.linux.x64}-{productOpen|fastdebugOpen}-c2-jvm98_tiered
|
${jprt.my.linux.x64}-{productOpen|fastdebugOpen}-c2-jvm98
|
||||||
|
|
||||||
# Testing for actual embedded builds is different to standard
|
# Testing for actual embedded builds is different to standard
|
||||||
jprt.my.linux.i586.test.targets.embedded = \
|
jprt.my.linux.i586.test.targets.embedded = \
|
||||||
@@ -492,6 +428,7 @@ jprt.test.targets.standard = \
|
|||||||
${jprt.my.solaris.x64.test.targets}, \
|
${jprt.my.solaris.x64.test.targets}, \
|
||||||
${jprt.my.linux.i586.test.targets}, \
|
${jprt.my.linux.i586.test.targets}, \
|
||||||
${jprt.my.linux.x64.test.targets}, \
|
${jprt.my.linux.x64.test.targets}, \
|
||||||
|
${jprt.my.macosx.x64.test.targets}, \
|
||||||
${jprt.my.windows.i586.test.targets}, \
|
${jprt.my.windows.i586.test.targets}, \
|
||||||
${jprt.my.windows.x64.test.targets}, \
|
${jprt.my.windows.x64.test.targets}, \
|
||||||
${jprt.test.targets.open}
|
${jprt.test.targets.open}
|
||||||
@@ -509,16 +446,7 @@ jprt.test.targets.embedded= \
|
|||||||
|
|
||||||
jprt.test.targets.jdk8=${jprt.test.targets.standard}
|
jprt.test.targets.jdk8=${jprt.test.targets.standard}
|
||||||
jprt.test.targets.jdk7=${jprt.test.targets.standard}
|
jprt.test.targets.jdk7=${jprt.test.targets.standard}
|
||||||
jprt.test.targets.jdk7temp=${jprt.test.targets.standard}
|
jprt.test.targets.jdk7u4=${jprt.test.targets.jdk7}
|
||||||
jprt.test.targets.jdk7b105=${jprt.test.targets.standard}
|
|
||||||
jprt.test.targets.jdk6=${jprt.test.targets.standard}
|
|
||||||
jprt.test.targets.jdk6perf=${jprt.test.targets.standard}
|
|
||||||
jprt.test.targets.jdk6u10=${jprt.test.targets.standard}
|
|
||||||
jprt.test.targets.jdk6u14=${jprt.test.targets.standard}
|
|
||||||
jprt.test.targets.jdk6u18=${jprt.test.targets.standard}
|
|
||||||
jprt.test.targets.jdk6u20=${jprt.test.targets.standard}
|
|
||||||
jprt.test.targets.ejdk6=${jprt.test.targets.embedded}
|
|
||||||
jprt.test.targets.ejdk7=${jprt.test.targets.embedded}
|
|
||||||
jprt.test.targets=${jprt.test.targets.${jprt.tools.default.release}}
|
jprt.test.targets=${jprt.test.targets.${jprt.tools.default.release}}
|
||||||
|
|
||||||
# The default test/Makefile targets that should be run
|
# The default test/Makefile targets that should be run
|
||||||
@@ -538,27 +466,46 @@ jprt.make.rule.test.targets.standard.server = \
|
|||||||
${jprt.my.solaris.x64}-*-c2-servertest, \
|
${jprt.my.solaris.x64}-*-c2-servertest, \
|
||||||
${jprt.my.linux.i586}-*-c2-servertest, \
|
${jprt.my.linux.i586}-*-c2-servertest, \
|
||||||
${jprt.my.linux.x64}-*-c2-servertest, \
|
${jprt.my.linux.x64}-*-c2-servertest, \
|
||||||
|
${jprt.my.macosx.x64}-*-c2-servertest, \
|
||||||
${jprt.my.windows.i586}-*-c2-servertest, \
|
${jprt.my.windows.i586}-*-c2-servertest, \
|
||||||
${jprt.my.windows.x64}-*-c2-servertest
|
${jprt.my.windows.x64}-*-c2-servertest
|
||||||
|
|
||||||
|
jprt.make.rule.test.targets.standard.internalvmtests = \
|
||||||
|
${jprt.my.solaris.sparc}-fastdebug-c2-internalvmtests, \
|
||||||
|
${jprt.my.solaris.sparcv9}-fastdebug-c2-internalvmtests, \
|
||||||
|
${jprt.my.solaris.i586}-fastdebug-c2-internalvmtests, \
|
||||||
|
${jprt.my.solaris.x64}-fastdebug-c2-internalvmtests, \
|
||||||
|
${jprt.my.linux.i586}-fastdebug-c2-internalvmtests, \
|
||||||
|
${jprt.my.linux.x64}-fastdebug-c2-internalvmtests, \
|
||||||
|
${jprt.my.macosx.x64}-fastdebug-c2-internalvmtests, \
|
||||||
|
${jprt.my.windows.i586}-fastdebug-c2-internalvmtests, \
|
||||||
|
${jprt.my.windows.x64}-fastdebug-c2-internalvmtests
|
||||||
|
|
||||||
|
jprt.make.rule.test.targets.standard.wbapi = \
|
||||||
|
${jprt.my.solaris.sparc}-{product|fastdebug}-c2-wbapitest, \
|
||||||
|
${jprt.my.solaris.sparcv9}-{product|fastdebug}-c2-wbapitest, \
|
||||||
|
${jprt.my.solaris.i586}-{product|fastdebug}-c2-wbapitest, \
|
||||||
|
${jprt.my.solaris.x64}-{product|fastdebug}-c2-wbapitest, \
|
||||||
|
${jprt.my.linux.i586}-{product|fastdebug}-c2-wbapitest, \
|
||||||
|
${jprt.my.linux.x64}-{product|fastdebug}-c2-wbapitest, \
|
||||||
|
${jprt.my.windows.i586}-{product|fastdebug}-c2-wbapitest, \
|
||||||
|
${jprt.my.windows.x64}-{product|fastdebug}-c2-wbapitest, \
|
||||||
|
${jprt.my.solaris.sparc}-{product|fastdebug}-c1-wbapitest, \
|
||||||
|
${jprt.my.solaris.i586}-{product|fastdebug}-c1-wbapitest, \
|
||||||
|
${jprt.my.linux.i586}-{product|fastdebug}-c1-wbapitest, \
|
||||||
|
${jprt.my.windows.i586}-{product|fastdebug}-c1-wbapitest
|
||||||
|
|
||||||
jprt.make.rule.test.targets.standard = \
|
jprt.make.rule.test.targets.standard = \
|
||||||
${jprt.make.rule.test.targets.standard.client}, \
|
${jprt.make.rule.test.targets.standard.client}, \
|
||||||
${jprt.make.rule.test.targets.standard.server}
|
${jprt.make.rule.test.targets.standard.server}, \
|
||||||
|
${jprt.make.rule.test.targets.standard.internalvmtests}, \
|
||||||
|
${jprt.make.rule.test.targets.standard.wbapi}
|
||||||
|
|
||||||
jprt.make.rule.test.targets.embedded = \
|
jprt.make.rule.test.targets.embedded = \
|
||||||
${jprt.make.rule.test.targets.standard.client}
|
${jprt.make.rule.test.targets.standard.client}
|
||||||
|
|
||||||
jprt.make.rule.test.targets.jdk8=${jprt.make.rule.test.targets.standard}
|
jprt.make.rule.test.targets.jdk8=${jprt.make.rule.test.targets.standard}
|
||||||
jprt.make.rule.test.targets.jdk7=${jprt.make.rule.test.targets.standard}
|
jprt.make.rule.test.targets.jdk7=${jprt.make.rule.test.targets.standard}
|
||||||
jprt.make.rule.test.targets.jdk7temp=${jprt.make.rule.test.targets.standard}
|
jprt.make.rule.test.targets.jdk7u4=${jprt.make.rule.test.targets.jdk7}
|
||||||
jprt.make.rule.test.targets.jdk7b107=${jprt.make.rule.test.targets.standard}
|
|
||||||
jprt.make.rule.test.targets.jdk6=${jprt.make.rule.test.targets.standard}
|
|
||||||
jprt.make.rule.test.targets.jdk6perf=${jprt.make.rule.test.targets.standard}
|
|
||||||
jprt.make.rule.test.targets.jdk6u10=${jprt.make.rule.test.targets.standard}
|
|
||||||
jprt.make.rule.test.targets.jdk6u14=${jprt.make.rule.test.targets.standard}
|
|
||||||
jprt.make.rule.test.targets.jdk6u18=${jprt.make.rule.test.targets.standard}
|
|
||||||
jprt.make.rule.test.targets.jdk6u20=${jprt.make.rule.test.targets.standard}
|
|
||||||
jprt.make.rule.test.targets.ejdk6=${jprt.make.rule.test.targets.embedded}
|
|
||||||
jprt.make.rule.test.targets.ejdk7=${jprt.make.rule.test.targets.embedded}
|
|
||||||
jprt.make.rule.test.targets=${jprt.make.rule.test.targets.${jprt.tools.default.release}}
|
jprt.make.rule.test.targets=${jprt.make.rule.test.targets.${jprt.tools.default.release}}
|
||||||
|
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
|
|||||||
# in the build.sh script:
|
# in the build.sh script:
|
||||||
TARGETS = debug jvmg fastdebug optimized profiled product
|
TARGETS = debug jvmg fastdebug optimized profiled product
|
||||||
|
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
SUBDIR_DOCS = $(OSNAME)_$(VARIANTARCH)_docs
|
SUBDIR_DOCS = $(OSNAME)_$(VARIANTARCH)_docs
|
||||||
else
|
else
|
||||||
SUBDIR_DOCS = $(OSNAME)_$(BUILDARCH)_docs
|
SUBDIR_DOCS = $(OSNAME)_$(BUILDARCH)_docs
|
||||||
|
|||||||
@@ -39,9 +39,16 @@ OS = $(Platform_os_family)
|
|||||||
|
|
||||||
SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
|
SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
|
||||||
|
|
||||||
SOURCES.AD = \
|
ifeq ("${Platform_arch_model}", "${Platform_arch}")
|
||||||
|
SOURCES.AD = \
|
||||||
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
|
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
|
||||||
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
|
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
|
||||||
|
else
|
||||||
|
SOURCES.AD = \
|
||||||
|
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
|
||||||
|
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
|
||||||
|
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
|
||||||
|
endif
|
||||||
|
|
||||||
EXEC = $(OUTDIR)/adlc
|
EXEC = $(OUTDIR)/adlc
|
||||||
|
|
||||||
@@ -54,10 +61,10 @@ Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
|
|||||||
INCLUDES += $(Src_Dirs_I:%=-I%)
|
INCLUDES += $(Src_Dirs_I:%=-I%)
|
||||||
|
|
||||||
# set flags for adlc compilation
|
# set flags for adlc compilation
|
||||||
CPPFLAGS = $(SYSDEFS) $(INCLUDES)
|
CXXFLAGS = $(SYSDEFS) $(INCLUDES)
|
||||||
|
|
||||||
# Force assertions on.
|
# Force assertions on.
|
||||||
CPPFLAGS += -DASSERT
|
CXXFLAGS += -DASSERT
|
||||||
|
|
||||||
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
||||||
# Compiler warnings are treated as errors
|
# Compiler warnings are treated as errors
|
||||||
@@ -102,7 +109,7 @@ all: $(EXEC)
|
|||||||
|
|
||||||
$(EXEC) : $(OBJECTS)
|
$(EXEC) : $(OBJECTS)
|
||||||
@echo Making adlc
|
@echo Making adlc
|
||||||
$(QUIETLY) $(HOST.LINK_NOPROF.CC) -o $(EXEC) $(OBJECTS)
|
$(QUIETLY) $(HOST.LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
|
||||||
|
|
||||||
# Random dependencies:
|
# Random dependencies:
|
||||||
$(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
|
$(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
|
||||||
@@ -204,14 +211,14 @@ PROCESS_AD_FILES = awk '{ \
|
|||||||
$(OUTDIR)/%.o: %.cpp
|
$(OUTDIR)/%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(HOST.COMPILE.CC) -o $@ $< $(COMPILE_DONE)
|
$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
|
||||||
|
|
||||||
# Some object files are given a prefix, to disambiguate
|
# Some object files are given a prefix, to disambiguate
|
||||||
# them from objects of the same name built for the VM.
|
# them from objects of the same name built for the VM.
|
||||||
$(OUTDIR)/adlc-%.o: %.cpp
|
$(OUTDIR)/adlc-%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(HOST.COMPILE.CC) -o $@ $< $(COMPILE_DONE)
|
$(QUIETLY) $(HOST.COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
|
||||||
|
|
||||||
# #########################################################################
|
# #########################################################################
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,7 @@
|
|||||||
# The makefiles are split this way so that "make foo" will run faster by not
|
# The makefiles are split this way so that "make foo" will run faster by not
|
||||||
# having to read the dependency files for the vm.
|
# having to read the dependency files for the vm.
|
||||||
|
|
||||||
|
-include $(SPEC)
|
||||||
include $(GAMMADIR)/make/scm.make
|
include $(GAMMADIR)/make/scm.make
|
||||||
include $(GAMMADIR)/make/altsrc.make
|
include $(GAMMADIR)/make/altsrc.make
|
||||||
|
|
||||||
@@ -65,7 +66,7 @@ QUIETLY$(MAKE_VERBOSE) = @
|
|||||||
# For now, until the compiler is less wobbly:
|
# For now, until the compiler is less wobbly:
|
||||||
TESTFLAGS = -Xbatch -showversion
|
TESTFLAGS = -Xbatch -showversion
|
||||||
|
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
|
PLATFORM_FILE = $(shell dirname $(shell dirname $(shell pwd)))/platform_zero
|
||||||
else
|
else
|
||||||
ifdef USE_SUNCC
|
ifdef USE_SUNCC
|
||||||
@@ -223,6 +224,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
|
echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
|
||||||
echo "$(call gamma-path,altsrc,share/vm) \\"; \
|
echo "$(call gamma-path,altsrc,share/vm) \\"; \
|
||||||
echo "$(call gamma-path,commonsrc,share/vm) \\"; \
|
echo "$(call gamma-path,commonsrc,share/vm) \\"; \
|
||||||
|
echo "$(call gamma-path,altsrc,share/vm/precompiled) \\"; \
|
||||||
|
echo "$(call gamma-path,commonsrc,share/vm/precompiled) \\"; \
|
||||||
echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
|
echo "$(call gamma-path,altsrc,cpu/$(SRCARCH)/vm) \\"; \
|
||||||
echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
|
echo "$(call gamma-path,commonsrc,cpu/$(SRCARCH)/vm) \\"; \
|
||||||
echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
|
echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(SRCARCH)/vm) \\"; \
|
||||||
@@ -242,6 +245,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
|
echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
|
||||||
echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
|
echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
|
||||||
echo; \
|
echo; \
|
||||||
|
[ -n "$(SPEC)" ] && \
|
||||||
|
echo "include $(SPEC)"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
||||||
) > $@
|
) > $@
|
||||||
@@ -324,11 +329,10 @@ env.sh: $(BUILDTREE_MAKE)
|
|||||||
$(BUILDTREE_COMMENT); \
|
$(BUILDTREE_COMMENT); \
|
||||||
[ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
|
[ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
|
||||||
{ \
|
{ \
|
||||||
echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
|
||||||
echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \
|
echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \
|
||||||
} | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \
|
} | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \
|
||||||
echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \
|
echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \
|
||||||
echo "export JAVA_HOME LD_LIBRARY_PATH CLASSPATH HOTSPOT_BUILD_USER"; \
|
echo "export JAVA_HOME CLASSPATH HOTSPOT_BUILD_USER"; \
|
||||||
) > $@
|
) > $@
|
||||||
|
|
||||||
env.csh: env.sh
|
env.csh: env.sh
|
||||||
@@ -382,7 +386,7 @@ JAVA_FLAG/32 = -d32
|
|||||||
JAVA_FLAG/64 = -d64
|
JAVA_FLAG/64 = -d64
|
||||||
|
|
||||||
WRONG_DATA_MODE_MSG = \
|
WRONG_DATA_MODE_MSG = \
|
||||||
echo "JAVA_HOME must point to $(DATA_MODE)bit JDK."
|
echo "JAVA_HOME must point to a $(DATA_MODE)-bit OpenJDK."
|
||||||
|
|
||||||
CROSS_COMPILING_MSG = \
|
CROSS_COMPILING_MSG = \
|
||||||
echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
|
echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
|
||||||
@@ -390,19 +394,78 @@ CROSS_COMPILING_MSG = \
|
|||||||
test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
|
test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
|
||||||
@echo Creating $@ ...
|
@echo Creating $@ ...
|
||||||
$(QUIETLY) ( \
|
$(QUIETLY) ( \
|
||||||
echo '#!/bin/sh'; \
|
echo "#!/bin/sh"; \
|
||||||
|
echo ""; \
|
||||||
$(BUILDTREE_COMMENT); \
|
$(BUILDTREE_COMMENT); \
|
||||||
echo '. ./env.sh'; \
|
echo ""; \
|
||||||
echo "if [ \"$(CROSS_COMPILE_ARCH)\" != \"\" ]; then { $(CROSS_COMPILING_MSG); exit 0; }; fi"; \
|
echo "# Include environment settings for gamma run"; \
|
||||||
echo "if [ -z \$$JAVA_HOME ]; then { $(NO_JAVA_HOME_MSG); exit 0; }; fi"; \
|
echo ""; \
|
||||||
echo "if ! \$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion 2>&1 > /dev/null"; \
|
echo ". ./env.sh"; \
|
||||||
echo "then"; \
|
echo ""; \
|
||||||
echo " $(WRONG_DATA_MODE_MSG); exit 0;"; \
|
echo "# Do not run gamma test for cross compiles"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ -n \"$(CROSS_COMPILE_ARCH)\" ]; then "; \
|
||||||
|
echo " $(CROSS_COMPILING_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
echo "fi"; \
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Make sure JAVA_HOME is set as it is required for gamma"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ -z \"\$${JAVA_HOME}\" ]; then "; \
|
||||||
|
echo " $(NO_JAVA_HOME_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Check JAVA_HOME version to be used for the test"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "\$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion > /dev/null 2>&1"; \
|
||||||
|
echo "if [ \$$? -ne 0 ]; then "; \
|
||||||
|
echo " $(WRONG_DATA_MODE_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Use gamma_g if it exists"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "GAMMA_PROG=gamma"; \
|
||||||
|
echo "if [ -f gamma_g ]; then "; \
|
||||||
|
echo " GAMMA_PROG=gamma_g"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
|
||||||
|
echo " # Ensure architecture for gamma and JAVA_HOME is the same."; \
|
||||||
|
echo " # NOTE: gamma assumes the OpenJDK directory layout."; \
|
||||||
|
echo ""; \
|
||||||
|
echo " GAMMA_ARCH=\"\`file \$${GAMMA_PROG} | awk '{print \$$NF}'\`\""; \
|
||||||
|
echo " JVM_LIB=\"\$${JAVA_HOME}/jre/lib/libjava.$(LIBRARY_SUFFIX)\""; \
|
||||||
|
echo " if [ ! -f \$${JVM_LIB} ]; then"; \
|
||||||
|
echo " JVM_LIB=\"\$${JAVA_HOME}/jre/lib/$${LIBARCH}/libjava.$(LIBRARY_SUFFIX)\""; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo " if [ ! -f \$${JVM_LIB} ] || [ -z \"\`file \$${JVM_LIB} | grep \$${GAMMA_ARCH}\`\" ]; then "; \
|
||||||
|
echo " $(WRONG_DATA_MODE_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Compile Queens program for test"; \
|
||||||
|
echo ""; \
|
||||||
echo "rm -f Queens.class"; \
|
echo "rm -f Queens.class"; \
|
||||||
echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
|
echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
|
||||||
echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
|
echo ""; \
|
||||||
echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
|
echo "# Set library path solely for gamma launcher test run"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
||||||
|
echo "export LD_LIBRARY_PATH"; \
|
||||||
|
echo "unset LD_LIBRARY_PATH_32"; \
|
||||||
|
echo "unset LD_LIBRARY_PATH_64"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
|
||||||
|
echo " DYLD_LIBRARY_PATH=.:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/native_threads:\$${JAVA_HOME}/jre/lib:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
||||||
|
echo " export DYLD_LIBRARY_PATH"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Use the gamma launcher and JAVA_HOME to run the test"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "./\$${GAMMA_PROG} $(TESTFLAGS) Queens < /dev/null"; \
|
||||||
) > $@
|
) > $@
|
||||||
$(QUIETLY) chmod +x $@
|
$(QUIETLY) chmod +x $@
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2006, 2012, 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
|
||||||
@@ -38,7 +38,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# zero
|
# zero
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||||
MAKE_ARGS += LP64=1
|
MAKE_ARGS += LP64=1
|
||||||
endif
|
endif
|
||||||
@@ -114,6 +114,18 @@ ifeq ($(ARCH), ppc)
|
|||||||
HS_ARCH = ppc
|
HS_ARCH = ppc
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# On 32 bit linux we build server and client, on 64 bit just server.
|
||||||
|
ifeq ($(JVM_VARIANTS),)
|
||||||
|
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||||
|
JVM_VARIANTS:=client,server
|
||||||
|
JVM_VARIANT_CLIENT:=true
|
||||||
|
JVM_VARIANT_SERVER:=true
|
||||||
|
else
|
||||||
|
JVM_VARIANTS:=server
|
||||||
|
JVM_VARIANT_SERVER:=true
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# determine if HotSpot is being built in JDK6 or earlier version
|
# determine if HotSpot is being built in JDK6 or earlier version
|
||||||
JDK6_OR_EARLIER=0
|
JDK6_OR_EARLIER=0
|
||||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
|
ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
|
||||||
@@ -193,22 +205,22 @@ endif
|
|||||||
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
||||||
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
||||||
|
|
||||||
ifndef BUILD_CLIENT_ONLY
|
EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
|
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
|
||||||
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||||
ifneq ($(OBJCOPY),)
|
ifneq ($(OBJCOPY),)
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(ZERO_BUILD), true)
|
ifeq ($(JVM_VARIANT_CLIENT),true)
|
||||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
ifneq ($(OBJCOPY),)
|
||||||
ifneq ($(OBJCOPY),)
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
|
endif
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Serviceability Binaries
|
# Serviceability Binaries
|
||||||
|
|||||||
@@ -23,23 +23,28 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# CC, CPP & AS
|
# CC, CXX & AS
|
||||||
|
|
||||||
# When cross-compiling the ALT_COMPILER_PATH points
|
# If a SPEC is not set already, then use these defaults.
|
||||||
# to the cross-compilation toolset
|
ifeq ($(SPEC),)
|
||||||
ifdef CROSS_COMPILE_ARCH
|
# When cross-compiling the ALT_COMPILER_PATH points
|
||||||
CPP = $(ALT_COMPILER_PATH)/g++
|
# to the cross-compilation toolset
|
||||||
CC = $(ALT_COMPILER_PATH)/gcc
|
ifdef CROSS_COMPILE_ARCH
|
||||||
HOSTCPP = g++
|
CXX = $(ALT_COMPILER_PATH)/g++
|
||||||
HOSTCC = gcc
|
CC = $(ALT_COMPILER_PATH)/gcc
|
||||||
else
|
HOSTCXX = g++
|
||||||
CPP = g++
|
HOSTCC = gcc
|
||||||
CC = gcc
|
STRIP = $(ALT_COMPILER_PATH)/strip
|
||||||
HOSTCPP = $(CPP)
|
else
|
||||||
HOSTCC = $(CC)
|
CXX = g++
|
||||||
|
CC = gcc
|
||||||
|
HOSTCXX = $(CXX)
|
||||||
|
HOSTCC = $(CC)
|
||||||
|
STRIP = strip
|
||||||
|
endif
|
||||||
|
AS = $(CC) -c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
AS = $(CC) -c
|
|
||||||
|
|
||||||
# -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only
|
# -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only
|
||||||
# prints the numbers (e.g. "2.95", "3.2.1")
|
# prints the numbers (e.g. "2.95", "3.2.1")
|
||||||
@@ -50,9 +55,8 @@ CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
|
|||||||
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
|
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
|
||||||
# Allow the user to turn off precompiled headers from the command line.
|
# Allow the user to turn off precompiled headers from the command line.
|
||||||
ifneq ($(USE_PRECOMPILED_HEADER),0)
|
ifneq ($(USE_PRECOMPILED_HEADER),0)
|
||||||
USE_PRECOMPILED_HEADER=1
|
|
||||||
PRECOMPILED_HEADER_DIR=.
|
PRECOMPILED_HEADER_DIR=.
|
||||||
PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled.hpp
|
PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp
|
||||||
PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
|
PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -68,10 +72,11 @@ VM_PICFLAG/LIBJVM = $(PICFLAG)
|
|||||||
VM_PICFLAG/AOUT =
|
VM_PICFLAG/AOUT =
|
||||||
VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO))
|
VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO))
|
||||||
|
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(JVM_VARIANT_ZERO), true)
|
||||||
CFLAGS += $(LIBFFI_CFLAGS)
|
CFLAGS += $(LIBFFI_CFLAGS)
|
||||||
endif
|
endif
|
||||||
ifeq ($(SHARK_BUILD), true)
|
ifeq ($(JVM_VARIANT_ZEROSHARK), true)
|
||||||
|
CFLAGS += $(LIBFFI_CFLAGS)
|
||||||
CFLAGS += $(LLVM_CFLAGS)
|
CFLAGS += $(LLVM_CFLAGS)
|
||||||
endif
|
endif
|
||||||
CFLAGS += $(VM_PICFLAG)
|
CFLAGS += $(VM_PICFLAG)
|
||||||
@@ -165,7 +170,7 @@ DEPFLAGS = -MMD -MP -MF $(DEP_DIR)/$(@:%=%.d)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
|
# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
|
||||||
ifneq ($(USE_PRECOMPILED_HEADER),1)
|
ifeq ($(USE_PRECOMPILED_HEADER),0)
|
||||||
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
|
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -262,9 +267,3 @@ endif
|
|||||||
ifdef MINIMIZE_RAM_USAGE
|
ifdef MINIMIZE_RAM_USAGE
|
||||||
CFLAGS += -DMINIMIZE_RAM_USAGE
|
CFLAGS += -DMINIMIZE_RAM_USAGE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CROSS_COMPILE_ARCH
|
|
||||||
STRIP = $(ALT_COMPILER_PATH)/strip
|
|
||||||
else
|
|
||||||
STRIP = strip
|
|
||||||
endif
|
|
||||||
|
|||||||
@@ -54,10 +54,10 @@ else
|
|||||||
LIBS_LAUNCHER += -l$(JVM) $(LIBS)
|
LIBS_LAUNCHER += -l$(JVM) $(LIBS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LINK_LAUNCHER = $(LINK.c)
|
LINK_LAUNCHER = $(LINK.CC)
|
||||||
|
|
||||||
LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CC/PRE_HOOK)
|
LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CXX/PRE_HOOK)
|
||||||
LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CC/POST_HOOK)
|
LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CXX/POST_HOOK)
|
||||||
|
|
||||||
LAUNCHER_OUT = launcher
|
LAUNCHER_OUT = launcher
|
||||||
|
|
||||||
@@ -73,11 +73,11 @@ DEPFILES := $(patsubst %.o,%.d,$(OBJS))
|
|||||||
|
|
||||||
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
|
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
|
||||||
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
||||||
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
|
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
|
||||||
|
|
||||||
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
|
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
|
||||||
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
||||||
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
|
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
|
||||||
|
|
||||||
$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
|
$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
|
||||||
$(QUIETLY) echo Linking launcher...
|
$(QUIETLY) echo Linking launcher...
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
#
|
|
||||||
# @(#)mapfile-vers-debug 1.18 07/10/25 16:47:35
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2002, 2011, 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.
|
||||||
@@ -221,6 +217,7 @@ SUNWprivate_1.1 {
|
|||||||
JVM_SetArrayElement;
|
JVM_SetArrayElement;
|
||||||
JVM_SetClassSigners;
|
JVM_SetClassSigners;
|
||||||
JVM_SetLength;
|
JVM_SetLength;
|
||||||
|
JVM_SetNativeThreadName;
|
||||||
JVM_SetPrimitiveArrayElement;
|
JVM_SetPrimitiveArrayElement;
|
||||||
JVM_SetProtectionDomain;
|
JVM_SetProtectionDomain;
|
||||||
JVM_SetSockOpt;
|
JVM_SetSockOpt;
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
#
|
|
||||||
# @(#)mapfile-vers-product 1.19 08/02/12 10:56:37
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2002, 2011, 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.
|
||||||
@@ -221,6 +217,7 @@ SUNWprivate_1.1 {
|
|||||||
JVM_SetArrayElement;
|
JVM_SetArrayElement;
|
||||||
JVM_SetClassSigners;
|
JVM_SetClassSigners;
|
||||||
JVM_SetLength;
|
JVM_SetLength;
|
||||||
|
JVM_SetNativeThreadName;
|
||||||
JVM_SetPrimitiveArrayElement;
|
JVM_SetPrimitiveArrayElement;
|
||||||
JVM_SetProtectionDomain;
|
JVM_SetProtectionDomain;
|
||||||
JVM_SetSockOpt;
|
JVM_SetSockOpt;
|
||||||
|
|||||||
@@ -28,3 +28,6 @@ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
|
|||||||
# Must also specify if CPU is big endian
|
# Must also specify if CPU is big endian
|
||||||
CFLAGS += -DVM_BIG_ENDIAN
|
CFLAGS += -DVM_BIG_ENDIAN
|
||||||
|
|
||||||
|
ifdef E500V2
|
||||||
|
ASFLAGS += -Wa,-mspe -Wa,--defsym -Wa,E500V2=1
|
||||||
|
endif
|
||||||
|
|||||||
@@ -52,4 +52,4 @@ STRIP_AOUT = $(STRIP) -x $@ || exit 1;
|
|||||||
|
|
||||||
# If we can create .debuginfo files, then the VM is stripped in vm.make
|
# If we can create .debuginfo files, then the VM is stripped in vm.make
|
||||||
# and this macro is not used.
|
# and this macro is not used.
|
||||||
# LINK_LIB.CC/POST_HOOK += $(STRIP_$(LINK_INTO))
|
# LINK_LIB.CXX/POST_HOOK += $(STRIP_$(LINK_INTO))
|
||||||
|
|||||||
@@ -27,52 +27,39 @@
|
|||||||
# Tell make that .cpp is important
|
# Tell make that .cpp is important
|
||||||
.SUFFIXES: .cpp $(SUFFIXES)
|
.SUFFIXES: .cpp $(SUFFIXES)
|
||||||
|
|
||||||
# For now. Other makefiles use CPP as the c++ compiler, but that should really
|
|
||||||
# name the preprocessor.
|
|
||||||
ifeq ($(CCC),)
|
|
||||||
CCC = $(CPP)
|
|
||||||
endif
|
|
||||||
|
|
||||||
DEMANGLER = c++filt
|
DEMANGLER = c++filt
|
||||||
DEMANGLE = $(DEMANGLER) < $@ > .$@ && mv -f .$@ $@
|
DEMANGLE = $(DEMANGLER) < $@ > .$@ && mv -f .$@ $@
|
||||||
|
|
||||||
# $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
|
# $(CC) is the c compiler (cc/gcc), $(CXX) is the c++ compiler (CC/g++).
|
||||||
C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
|
CC_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS)
|
||||||
CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS)
|
CXX_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS)
|
||||||
|
|
||||||
AS.S = $(AS) $(ASFLAGS)
|
AS.S = $(AS) $(ASFLAGS)
|
||||||
|
|
||||||
COMPILE.c = $(C_COMPILE) -c
|
COMPILE.CC = $(CC_COMPILE) -c
|
||||||
GENASM.c = $(C_COMPILE) -S
|
GENASM.CC = $(CC_COMPILE) -S
|
||||||
LINK.c = $(CC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
LINK.CC = $(CC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
||||||
LINK_LIB.c = $(CC) $(LFLAGS) $(SHARED_FLAG)
|
LINK_LIB.CC = $(CC) $(LFLAGS) $(SHARED_FLAG)
|
||||||
PREPROCESS.c = $(C_COMPILE) -E
|
PREPROCESS.CC = $(CC_COMPILE) -E
|
||||||
|
|
||||||
COMPILE.CC = $(CC_COMPILE) -c
|
COMPILE.CXX = $(CXX_COMPILE) -c
|
||||||
GENASM.CC = $(CC_COMPILE) -S
|
GENASM.CXX = $(CXX_COMPILE) -S
|
||||||
LINK.CC = $(CCC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
LINK.CXX = $(CXX) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
||||||
LINK_NOPROF.CC = $(CCC) $(LFLAGS) $(AOUT_FLAGS)
|
LINK_NOPROF.CXX = $(CXX) $(LFLAGS) $(AOUT_FLAGS)
|
||||||
LINK_LIB.CC = $(CCC) $(LFLAGS) $(SHARED_FLAG)
|
LINK_LIB.CXX = $(CXX) $(LFLAGS) $(SHARED_FLAG)
|
||||||
PREPROCESS.CC = $(CC_COMPILE) -E
|
PREPROCESS.CXX = $(CXX_COMPILE) -E
|
||||||
|
|
||||||
# cross compiling the jvm with c2 requires host compilers to build
|
# cross compiling the jvm with c2 requires host compilers to build
|
||||||
# adlc tool
|
# adlc tool
|
||||||
|
|
||||||
HOST.CC_COMPILE = $(HOSTCPP) $(CPPFLAGS) $(CFLAGS)
|
HOST.CXX_COMPILE = $(HOSTCXX) $(CXXFLAGS) $(CFLAGS)
|
||||||
HOST.COMPILE.CC = $(HOST.CC_COMPILE) -c
|
HOST.COMPILE.CXX = $(HOST.CXX_COMPILE) -c
|
||||||
HOST.LINK_NOPROF.CC = $(HOSTCPP) $(LFLAGS) $(AOUT_FLAGS)
|
HOST.LINK_NOPROF.CXX = $(HOSTCXX) $(LFLAGS) $(AOUT_FLAGS)
|
||||||
|
|
||||||
|
|
||||||
# Effect of REMOVE_TARGET is to delete out-of-date files during "gnumake -k".
|
# Effect of REMOVE_TARGET is to delete out-of-date files during "gnumake -k".
|
||||||
REMOVE_TARGET = rm -f $@
|
REMOVE_TARGET = rm -f $@
|
||||||
|
|
||||||
# Synonyms.
|
|
||||||
COMPILE.cpp = $(COMPILE.CC)
|
|
||||||
GENASM.cpp = $(GENASM.CC)
|
|
||||||
LINK.cpp = $(LINK.CC)
|
|
||||||
LINK_LIB.cpp = $(LINK_LIB.CC)
|
|
||||||
PREPROCESS.cpp = $(PREPROCESS.CC)
|
|
||||||
|
|
||||||
# Note use of ALT_BOOTDIR to explicitly specify location of java and
|
# Note use of ALT_BOOTDIR to explicitly specify location of java and
|
||||||
# javac; this is the same environment variable used in the J2SE build
|
# javac; this is the same environment variable used in the J2SE build
|
||||||
# process for overriding the default spec, which is BOOTDIR.
|
# process for overriding the default spec, which is BOOTDIR.
|
||||||
@@ -161,14 +148,14 @@ ifdef LP64
|
|||||||
%.o: %.cpp
|
%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
|
$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
|
||||||
else
|
else
|
||||||
%.o: %.cpp
|
%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
|
$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
|
||||||
$(subst $(VM_PICFLAG), ,$(COMPILE.CC)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
|
$(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
|
||||||
$(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
|
$(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
%.o: %.s
|
%.o: %.s
|
||||||
@@ -178,13 +165,13 @@ endif
|
|||||||
|
|
||||||
%.s: %.cpp
|
%.s: %.cpp
|
||||||
@echo Generating assembly for $<
|
@echo Generating assembly for $<
|
||||||
$(QUIETLY) $(GENASM.CC) -o $@ $<
|
$(QUIETLY) $(GENASM.CXX) -o $@ $<
|
||||||
$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
|
$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
|
||||||
|
|
||||||
# Intermediate files (for debugging macros)
|
# Intermediate files (for debugging macros)
|
||||||
%.i: %.cpp
|
%.i: %.cpp
|
||||||
@echo Preprocessing $< to $@
|
@echo Preprocessing $< to $@
|
||||||
$(QUIETLY) $(PREPROCESS.CC) $< > $@ $(COMPILE_DONE)
|
$(QUIETLY) $(PREPROCESS.CXX) $< > $@ $(COMPILE_DONE)
|
||||||
|
|
||||||
# Override gnumake built-in rules which do sccs get operations badly.
|
# Override gnumake built-in rules which do sccs get operations badly.
|
||||||
# (They put the checked out code in the current directory, not in the
|
# (They put the checked out code in the current directory, not in the
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2005, 2012, 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
|
||||||
@@ -75,6 +75,7 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
|
|||||||
fi
|
fi
|
||||||
@echo Making SA debugger back-end...
|
@echo Making SA debugger back-end...
|
||||||
$(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE \
|
$(QUIETLY) $(CC) -D$(BUILDARCH) -D_GNU_SOURCE \
|
||||||
|
-D_FILE_OFFSET_BITS=64 \
|
||||||
$(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
|
$(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
|
||||||
-I$(SASRCDIR) \
|
-I$(SASRCDIR) \
|
||||||
-I$(GENERATED) \
|
-I$(GENERATED) \
|
||||||
|
|||||||
@@ -23,14 +23,17 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# CC, CPP & AS
|
# CC, CXX & AS
|
||||||
|
|
||||||
CPP = CC
|
# If a SPEC is not set already, then use these defaults.
|
||||||
CC = cc
|
ifeq ($(SPEC),)
|
||||||
AS = $(CC) -c
|
CXX = CC
|
||||||
|
CC = cc
|
||||||
|
AS = $(CC) -c
|
||||||
|
|
||||||
HOSTCPP = $(CPP)
|
HOSTCXX = $(CXX)
|
||||||
HOSTCC = $(CC)
|
HOSTCC = $(CC)
|
||||||
|
endif
|
||||||
|
|
||||||
ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
|
ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
|
||||||
ARCHFLAG/i486 = -m32
|
ARCHFLAG/i486 = -m32
|
||||||
|
|||||||
@@ -47,12 +47,10 @@ VM = $(GAMMADIR)/src/share/vm
|
|||||||
Plat_File = $(Platform_file)
|
Plat_File = $(Platform_file)
|
||||||
CDG = cd $(GENERATED);
|
CDG = cd $(GENERATED);
|
||||||
|
|
||||||
ifdef USE_PRECOMPILED_HEADER
|
ifneq ($(USE_PRECOMPILED_HEADER),0)
|
||||||
PrecompiledOption = -DUSE_PRECOMPILED_HEADER
|
UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS)
|
||||||
UpdatePCH = $(MAKE) -f vm.make $(PRECOMPILED_HEADER) $(MFLAGS)
|
|
||||||
else
|
else
|
||||||
UpdatePCH = \# precompiled header is not used
|
UpdatePCH = \# precompiled header is not used
|
||||||
PrecompiledOption =
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
Cached_plat = $(GENERATED)/platform.current
|
Cached_plat = $(GENERATED)/platform.current
|
||||||
@@ -117,8 +115,8 @@ the_vm: vm_build_preliminaries $(adjust-mflags)
|
|||||||
@$(UpdatePCH)
|
@$(UpdatePCH)
|
||||||
@$(MAKE) -f vm.make $(MFLAGS-adjusted)
|
@$(MAKE) -f vm.make $(MFLAGS-adjusted)
|
||||||
|
|
||||||
install: the_vm
|
install gamma: the_vm
|
||||||
@$(MAKE) -f vm.make install
|
@$(MAKE) -f vm.make $@
|
||||||
|
|
||||||
# next rules support "make foo.[ois]"
|
# next rules support "make foo.[ois]"
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1999, 2012, 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
|
||||||
@@ -42,7 +42,7 @@ DEP_DIR = $(GENERATED)/dependencies
|
|||||||
-include $(DEP_DIR)/*.d
|
-include $(DEP_DIR)/*.d
|
||||||
|
|
||||||
# read machine-specific adjustments (%%% should do this via buildtree.make?)
|
# read machine-specific adjustments (%%% should do this via buildtree.make?)
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(findstring true, $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
|
||||||
include $(MAKEFILES_DIR)/zeroshark.make
|
include $(MAKEFILES_DIR)/zeroshark.make
|
||||||
else
|
else
|
||||||
include $(MAKEFILES_DIR)/$(BUILDARCH).make
|
include $(MAKEFILES_DIR)/$(BUILDARCH).make
|
||||||
@@ -88,16 +88,24 @@ BUILD_TARGET = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\""
|
|||||||
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
||||||
VM_DISTRO = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\""
|
VM_DISTRO = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\""
|
||||||
|
|
||||||
CPPFLAGS = \
|
CXXFLAGS = \
|
||||||
${SYSDEFS} \
|
${SYSDEFS} \
|
||||||
${INCLUDES} \
|
${INCLUDES} \
|
||||||
${BUILD_VERSION} \
|
${BUILD_VERSION} \
|
||||||
${BUILD_TARGET} \
|
${BUILD_TARGET} \
|
||||||
${BUILD_USER} \
|
${BUILD_USER} \
|
||||||
${HS_LIB_ARCH} \
|
${HS_LIB_ARCH} \
|
||||||
${JRE_VERSION} \
|
|
||||||
${VM_DISTRO}
|
${VM_DISTRO}
|
||||||
|
|
||||||
|
# This is VERY important! The version define must only be supplied to vm_version.o
|
||||||
|
# If not, ccache will not re-use the cache at all, since the version string might contain
|
||||||
|
# a time and date.
|
||||||
|
vm_version.o: CXXFLAGS += ${JRE_VERSION}
|
||||||
|
|
||||||
|
ifndef JAVASE_EMBEDDED
|
||||||
|
CFLAGS += -DINCLUDE_TRACE
|
||||||
|
endif
|
||||||
|
|
||||||
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
||||||
CFLAGS += $(CFLAGS_WARN/BYFILE)
|
CFLAGS += $(CFLAGS_WARN/BYFILE)
|
||||||
|
|
||||||
@@ -143,6 +151,12 @@ SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
|
|||||||
SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
|
SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
|
||||||
SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
|
SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
|
||||||
|
|
||||||
|
ifndef JAVASE_EMBEDDED
|
||||||
|
SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
|
||||||
|
find $(HS_ALT_SRC)/share/vm/jfr -type d; \
|
||||||
|
fi)
|
||||||
|
endif
|
||||||
|
|
||||||
CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
|
CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
|
||||||
CORE_PATHS+=$(GENERATED)/jvmtifiles
|
CORE_PATHS+=$(GENERATED)/jvmtifiles
|
||||||
|
|
||||||
@@ -222,7 +236,7 @@ mapfile_reorder : mapfile $(REORDERFILE)
|
|||||||
vm.def: $(Res_Files) $(Obj_Files)
|
vm.def: $(Res_Files) $(Obj_Files)
|
||||||
sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@
|
sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@
|
||||||
|
|
||||||
ifeq ($(SHARK_BUILD), true)
|
ifeq ($(JVM_VARIANT_ZEROSHARK), true)
|
||||||
STATIC_CXX = false
|
STATIC_CXX = false
|
||||||
else
|
else
|
||||||
ifeq ($(ZERO_LIBARCH), ppc64)
|
ifeq ($(ZERO_LIBARCH), ppc64)
|
||||||
@@ -254,21 +268,21 @@ else
|
|||||||
|
|
||||||
LIBS_VM += $(LIBS)
|
LIBS_VM += $(LIBS)
|
||||||
endif
|
endif
|
||||||
ifeq ($(ZERO_BUILD), true)
|
ifeq ($(JVM_VARIANT_ZERO), true)
|
||||||
LIBS_VM += $(LIBFFI_LIBS)
|
LIBS_VM += $(LIBFFI_LIBS)
|
||||||
endif
|
endif
|
||||||
ifeq ($(SHARK_BUILD), true)
|
ifeq ($(JVM_VARIANT_ZEROSHARK), true)
|
||||||
|
LIBS_VM += $(LIBFFI_LIBS) $(LLVM_LIBS)
|
||||||
LFLAGS_VM += $(LLVM_LDFLAGS)
|
LFLAGS_VM += $(LLVM_LDFLAGS)
|
||||||
LIBS_VM += $(LLVM_LIBS)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LINK_VM = $(LINK_LIB.c)
|
LINK_VM = $(LINK_LIB.CC)
|
||||||
|
|
||||||
# rule for building precompiled header
|
# rule for building precompiled header
|
||||||
$(PRECOMPILED_HEADER):
|
$(PRECOMPILED_HEADER):
|
||||||
$(QUIETLY) echo Generating precompiled header $@
|
$(QUIETLY) echo Generating precompiled header $@
|
||||||
$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)
|
$(QUIETLY) mkdir -p $(PRECOMPILED_HEADER_DIR)
|
||||||
$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -x c++-header $(PRECOMPILED_HEADER_SRC) -o $@ $(COMPILE_DONE)
|
$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -x c++-header $(PRECOMPILED_HEADER_SRC) -o $@ $(COMPILE_DONE)
|
||||||
|
|
||||||
# making the library:
|
# making the library:
|
||||||
|
|
||||||
@@ -298,10 +312,10 @@ endif
|
|||||||
$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
|
$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
|
||||||
$(QUIETLY) { \
|
$(QUIETLY) { \
|
||||||
echo Linking vm...; \
|
echo Linking vm...; \
|
||||||
$(LINK_LIB.CC/PRE_HOOK) \
|
$(LINK_LIB.CXX/PRE_HOOK) \
|
||||||
$(LINK_VM) $(LD_SCRIPT_FLAG) \
|
$(LINK_VM) $(LD_SCRIPT_FLAG) \
|
||||||
$(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM); \
|
$(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM); \
|
||||||
$(LINK_LIB.CC/POST_HOOK) \
|
$(LINK_LIB.CXX/POST_HOOK) \
|
||||||
rm -f $@.1; ln -s $@ $@.1; \
|
rm -f $@.1; ln -s $@ $@.1; \
|
||||||
[ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \
|
[ -f $(LIBJVM_G) ] || { ln -s $@ $(LIBJVM_G); ln -s $@.1 $(LIBJVM_G).1; }; \
|
||||||
if [ \"$(CROSS_COMPILE_ARCH)\" = \"\" ] ; then \
|
if [ \"$(CROSS_COMPILE_ARCH)\" = \"\" ] ; then \
|
||||||
@@ -354,9 +368,12 @@ include $(MAKEFILES_DIR)/jsig.make
|
|||||||
# Serviceability agent
|
# Serviceability agent
|
||||||
include $(MAKEFILES_DIR)/saproc.make
|
include $(MAKEFILES_DIR)/saproc.make
|
||||||
|
|
||||||
|
# Whitebox testing API
|
||||||
|
include $(MAKEFILES_DIR)/wb.make
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC)
|
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(BUILDLIBSAPROC) $(WB_JAR)
|
||||||
|
|
||||||
install: install_jvm install_jsig install_saproc
|
install: install_jvm install_jsig install_saproc
|
||||||
|
|
||||||
|
|||||||
46
hotspot/make/linux/makefiles/wb.make
Normal file
46
hotspot/make/linux/makefiles/wb.make
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2012, 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.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
# Rules to build whitebox testing library, used by vm.make
|
||||||
|
WB = wb
|
||||||
|
|
||||||
|
WBSRCDIR = $(GAMMADIR)/src/share/tools/whitebox
|
||||||
|
|
||||||
|
WB_JAR = $(GENERATED)/$(WB).jar
|
||||||
|
|
||||||
|
WB_JAVA_SRCS = $(shell find $(WBSRCDIR) -name '*.java')
|
||||||
|
WB_JAVA_CLASSDIR = $(GENERATED)/wb/classes
|
||||||
|
|
||||||
|
WB_JAVA_CLASSES = $(patsubst $(WBSRCDIR)/%,$(WB_JAVA_CLASSDIR)/%, \
|
||||||
|
$(patsubst %.java,%.class,$(WB_JAVA_SRCS)))
|
||||||
|
|
||||||
|
$(WB_JAVA_CLASSDIR)/%.class: $(WBSRCDIR)/%.java $(WB_JAVA_CLASSDIR)
|
||||||
|
$(REMOTE) $(COMPILE.JAVAC) -nowarn -d $(WB_JAVA_CLASSDIR) $<
|
||||||
|
|
||||||
|
$(WB_JAR): $(WB_JAVA_CLASSES)
|
||||||
|
$(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(WB_JAVA_CLASSDIR)/ .
|
||||||
|
|
||||||
|
$(WB_JAVA_CLASSDIR):
|
||||||
|
$(QUIETLY) mkdir -p $@
|
||||||
|
|
||||||
@@ -40,9 +40,16 @@ OS = $(Platform_os_family)
|
|||||||
|
|
||||||
SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
|
SOURCE.AD = $(OUTDIR)/$(OS)_$(Platform_arch_model).ad
|
||||||
|
|
||||||
SOURCES.AD = \
|
ifeq ("${Platform_arch_model}", "${Platform_arch}")
|
||||||
|
SOURCES.AD = \
|
||||||
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
|
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
|
||||||
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
|
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
|
||||||
|
else
|
||||||
|
SOURCES.AD = \
|
||||||
|
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch_model).ad) \
|
||||||
|
$(call altsrc-replace,$(HS_COMMON_SRC)/cpu/$(ARCH)/vm/$(Platform_arch).ad) \
|
||||||
|
$(call altsrc-replace,$(HS_COMMON_SRC)/os_cpu/$(OS)_$(ARCH)/vm/$(OS)_$(Platform_arch_model).ad)
|
||||||
|
endif
|
||||||
|
|
||||||
EXEC = $(OUTDIR)/adlc
|
EXEC = $(OUTDIR)/adlc
|
||||||
|
|
||||||
@@ -55,10 +62,10 @@ Src_Dirs_I += $(GAMMADIR)/src/share/vm/adlc $(GENERATED)
|
|||||||
INCLUDES += $(Src_Dirs_I:%=-I%)
|
INCLUDES += $(Src_Dirs_I:%=-I%)
|
||||||
|
|
||||||
# set flags for adlc compilation
|
# set flags for adlc compilation
|
||||||
CPPFLAGS = $(SYSDEFS) $(INCLUDES)
|
CXXFLAGS = $(SYSDEFS) $(INCLUDES)
|
||||||
|
|
||||||
# Force assertions on.
|
# Force assertions on.
|
||||||
CPPFLAGS += -DASSERT
|
CXXFLAGS += -DASSERT
|
||||||
|
|
||||||
ifndef USE_GCC
|
ifndef USE_GCC
|
||||||
# We need libCstd.so for adlc
|
# We need libCstd.so for adlc
|
||||||
@@ -123,7 +130,7 @@ all: $(EXEC)
|
|||||||
|
|
||||||
$(EXEC) : $(OBJECTS)
|
$(EXEC) : $(OBJECTS)
|
||||||
@echo Making adlc
|
@echo Making adlc
|
||||||
$(QUIETLY) $(LINK_NOPROF.CC) -o $(EXEC) $(OBJECTS)
|
$(QUIETLY) $(LINK_NOPROF.CXX) -o $(EXEC) $(OBJECTS)
|
||||||
|
|
||||||
# Random dependencies:
|
# Random dependencies:
|
||||||
$(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
|
$(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
|
||||||
@@ -221,14 +228,14 @@ PROCESS_AD_FILES = awk '{ \
|
|||||||
$(OUTDIR)/%.o: %.cpp
|
$(OUTDIR)/%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
|
$(QUIETLY) $(COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
|
||||||
|
|
||||||
# Some object files are given a prefix, to disambiguate
|
# Some object files are given a prefix, to disambiguate
|
||||||
# them from objects of the same name built for the VM.
|
# them from objects of the same name built for the VM.
|
||||||
$(OUTDIR)/adlc-%.o: %.cpp
|
$(OUTDIR)/adlc-%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
|
$(QUIETLY) $(COMPILE.CXX) -o $@ $< $(COMPILE_DONE)
|
||||||
|
|
||||||
# #########################################################################
|
# #########################################################################
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,7 @@
|
|||||||
# The makefiles are split this way so that "make foo" will run faster by not
|
# The makefiles are split this way so that "make foo" will run faster by not
|
||||||
# having to read the dependency files for the vm.
|
# having to read the dependency files for the vm.
|
||||||
|
|
||||||
|
-include $(SPEC)
|
||||||
include $(GAMMADIR)/make/scm.make
|
include $(GAMMADIR)/make/scm.make
|
||||||
include $(GAMMADIR)/make/altsrc.make
|
include $(GAMMADIR)/make/altsrc.make
|
||||||
|
|
||||||
@@ -118,7 +119,7 @@ SUBMAKE_DIRS = $(addprefix $(PLATFORM_DIR)/,$(TARGETS))
|
|||||||
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
|
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OS_FAMILY)/makefiles/buildtree.make
|
||||||
|
|
||||||
BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.make sa.make \
|
BUILDTREE_TARGETS = Makefile flags.make flags_vm.make vm.make adlc.make jvmti.make sa.make \
|
||||||
env.ksh env.csh jdkpath.sh .dbxrc test_gamma
|
env.sh env.csh jdkpath.sh .dbxrc test_gamma
|
||||||
|
|
||||||
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
|
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \
|
||||||
ARCH=$(ARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT)
|
ARCH=$(ARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT)
|
||||||
@@ -216,6 +217,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
|
echo "$(call gamma-path,commonsrc,share/vm/prims) \\"; \
|
||||||
echo "$(call gamma-path,altsrc,share/vm) \\"; \
|
echo "$(call gamma-path,altsrc,share/vm) \\"; \
|
||||||
echo "$(call gamma-path,commonsrc,share/vm) \\"; \
|
echo "$(call gamma-path,commonsrc,share/vm) \\"; \
|
||||||
|
echo "$(call gamma-path,altsrc,share/vm/precompiled) \\"; \
|
||||||
|
echo "$(call gamma-path,commonsrc,share/vm/precompiled) \\"; \
|
||||||
echo "$(call gamma-path,altsrc,cpu/$(ARCH)/vm) \\"; \
|
echo "$(call gamma-path,altsrc,cpu/$(ARCH)/vm) \\"; \
|
||||||
echo "$(call gamma-path,commonsrc,cpu/$(ARCH)/vm) \\"; \
|
echo "$(call gamma-path,commonsrc,cpu/$(ARCH)/vm) \\"; \
|
||||||
echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \
|
echo "$(call gamma-path,altsrc,os_cpu/$(OS_FAMILY)_$(ARCH)/vm) \\"; \
|
||||||
@@ -235,6 +238,8 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
|
|||||||
echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
|
echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \
|
||||||
echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
|
echo "SYSDEFS += \$$(HOTSPOT_EXTRA_SYSDEFS)"; \
|
||||||
echo; \
|
echo; \
|
||||||
|
[ -n "$(SPEC)" ] && \
|
||||||
|
echo "include $(SPEC)"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(VARIANT).make"; \
|
||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(COMPILER).make"; \
|
||||||
) > $@
|
) > $@
|
||||||
@@ -311,22 +316,19 @@ sa.make: $(BUILDTREE_MAKE)
|
|||||||
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
|
echo "include \$$(GAMMADIR)/make/$(OS_FAMILY)/makefiles/$(@F)"; \
|
||||||
) > $@
|
) > $@
|
||||||
|
|
||||||
env.ksh: $(BUILDTREE_MAKE)
|
env.sh: $(BUILDTREE_MAKE)
|
||||||
@echo Creating $@ ...
|
@echo Creating $@ ...
|
||||||
$(QUIETLY) ( \
|
$(QUIETLY) ( \
|
||||||
$(BUILDTREE_COMMENT); \
|
$(BUILDTREE_COMMENT); \
|
||||||
[ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
|
[ -n "$$JAVA_HOME" ] && { echo ": \$${JAVA_HOME:=$${JAVA_HOME}}"; }; \
|
||||||
{ \
|
{ \
|
||||||
echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
|
||||||
echo "unset LD_LIBRARY_PATH_32"; \
|
|
||||||
echo "unset LD_LIBRARY_PATH_64"; \
|
|
||||||
echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \
|
echo "CLASSPATH=$${CLASSPATH:+$$CLASSPATH:}.:\$${JAVA_HOME}/jre/lib/rt.jar:\$${JAVA_HOME}/jre/lib/i18n.jar"; \
|
||||||
} | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \
|
} | sed s:$${JAVA_HOME:--------}:\$${JAVA_HOME}:g; \
|
||||||
echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \
|
echo "HOTSPOT_BUILD_USER=\"$${LOGNAME:-$$USER} in `basename $(GAMMADIR)`\""; \
|
||||||
echo "export JAVA_HOME LD_LIBRARY_PATH CLASSPATH HOTSPOT_BUILD_USER"; \
|
echo "export JAVA_HOME LD_LIBRARY_PATH CLASSPATH HOTSPOT_BUILD_USER"; \
|
||||||
) > $@
|
) > $@
|
||||||
|
|
||||||
env.csh: env.ksh
|
env.csh: env.sh
|
||||||
@echo Creating $@ ...
|
@echo Creating $@ ...
|
||||||
$(QUIETLY) ( \
|
$(QUIETLY) ( \
|
||||||
$(BUILDTREE_COMMENT); \
|
$(BUILDTREE_COMMENT); \
|
||||||
@@ -382,23 +384,86 @@ JAVA_FLAG/32 = -d32
|
|||||||
JAVA_FLAG/64 = -d64
|
JAVA_FLAG/64 = -d64
|
||||||
|
|
||||||
WRONG_DATA_MODE_MSG = \
|
WRONG_DATA_MODE_MSG = \
|
||||||
echo "JAVA_HOME must point to $(DATA_MODE)bit JDK."
|
echo "JAVA_HOME must point to a $(DATA_MODE)-bit OpenJDK."
|
||||||
|
|
||||||
|
CROSS_COMPILING_MSG = \
|
||||||
|
echo "Cross compiling for ARCH $(CROSS_COMPILE_ARCH), skipping gamma run."
|
||||||
|
|
||||||
test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
|
test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
|
||||||
@echo Creating $@ ...
|
@echo Creating $@ ...
|
||||||
$(QUIETLY) ( \
|
$(QUIETLY) ( \
|
||||||
echo '#!/bin/ksh'; \
|
echo "#!/bin/sh"; \
|
||||||
|
echo ""; \
|
||||||
$(BUILDTREE_COMMENT); \
|
$(BUILDTREE_COMMENT); \
|
||||||
echo '. ./env.ksh'; \
|
echo ""; \
|
||||||
echo "if [ -z \$$JAVA_HOME ]; then { $(NO_JAVA_HOME_MSG); exit 0; }; fi"; \
|
echo "# Include environment settings for gamma run"; \
|
||||||
echo "if ! \$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion 2>&1 > /dev/null"; \
|
echo ""; \
|
||||||
echo "then"; \
|
echo ". ./env.sh"; \
|
||||||
echo " $(WRONG_DATA_MODE_MSG); exit 0;"; \
|
echo ""; \
|
||||||
|
echo "# Do not run gamma test for cross compiles"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ -n \"$(CROSS_COMPILE_ARCH)\" ]; then "; \
|
||||||
|
echo " $(CROSS_COMPILING_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
echo "fi"; \
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Make sure JAVA_HOME is set as it is required for gamma"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ -z \"\$${JAVA_HOME}\" ]; then "; \
|
||||||
|
echo " $(NO_JAVA_HOME_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Check JAVA_HOME version to be used for the test"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "\$${JAVA_HOME}/bin/java $(JAVA_FLAG) -fullversion > /dev/null 2>&1"; \
|
||||||
|
echo "if [ \$$? -ne 0 ]; then "; \
|
||||||
|
echo " $(WRONG_DATA_MODE_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Use gamma_g if it exists"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "GAMMA_PROG=gamma"; \
|
||||||
|
echo "if [ -f gamma_g ]; then "; \
|
||||||
|
echo " GAMMA_PROG=gamma_g"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
|
||||||
|
echo " # Ensure architecture for gamma and JAVA_HOME is the same."; \
|
||||||
|
echo " # NOTE: gamma assumes the OpenJDK directory layout."; \
|
||||||
|
echo ""; \
|
||||||
|
echo " GAMMA_ARCH=\"\`file \$${GAMMA_PROG} | awk '{print \$$NF}'\`\""; \
|
||||||
|
echo " JVM_LIB=\"\$${JAVA_HOME}/jre/lib/libjava.$(LIBRARY_SUFFIX)\""; \
|
||||||
|
echo " if [ ! -f \$${JVM_LIB} ]; then"; \
|
||||||
|
echo " JVM_LIB=\"\$${JAVA_HOME}/jre/lib/$${LIBARCH}/libjava.$(LIBRARY_SUFFIX)\""; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo " if [ ! -f \$${JVM_LIB} ] || [ -z \"\`file \$${JVM_LIB} | grep \$${GAMMA_ARCH}\`\" ]; then "; \
|
||||||
|
echo " $(WRONG_DATA_MODE_MSG)"; \
|
||||||
|
echo " exit 0"; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Compile Queens program for test"; \
|
||||||
|
echo ""; \
|
||||||
echo "rm -f Queens.class"; \
|
echo "rm -f Queens.class"; \
|
||||||
echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
|
echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
|
||||||
echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
|
echo ""; \
|
||||||
echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
|
echo "# Set library path solely for gamma launcher test run"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "LD_LIBRARY_PATH=.:$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
||||||
|
echo "export LD_LIBRARY_PATH"; \
|
||||||
|
echo "unset LD_LIBRARY_PATH_32"; \
|
||||||
|
echo "unset LD_LIBRARY_PATH_64"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "if [ \"$(OS_VENDOR)\" = \"Darwin\" ]; then "; \
|
||||||
|
echo " DYLD_LIBRARY_PATH=.:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/native_threads:\$${JAVA_HOME}/jre/lib:$${DYLD_LIBRARY_PATH:+$$DYLD_LIBRARY_PATH:}\$${JAVA_HOME}/jre/lib/${LIBARCH}/native_threads:\$${JAVA_HOME}/jre/lib/${LIBARCH}:${GCC_LIB}"; \
|
||||||
|
echo " export DYLD_LIBRARY_PATH"; \
|
||||||
|
echo "fi"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "# Use the gamma launcher and JAVA_HOME to run the test"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "./\$${GAMMA_PROG} $(TESTFLAGS) Queens < /dev/null"; \
|
||||||
) > $@
|
) > $@
|
||||||
$(QUIETLY) chmod +x $@
|
$(QUIETLY) chmod +x $@
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2006, 2012, 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
|
||||||
@@ -59,6 +59,18 @@ else
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# On 32 bit solaris we build server and client, on 64 bit just server.
|
||||||
|
ifeq ($(JVM_VARIANTS),)
|
||||||
|
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||||
|
JVM_VARIANTS:=client,server
|
||||||
|
JVM_VARIANT_CLIENT:=true
|
||||||
|
JVM_VARIANT_SERVER:=true
|
||||||
|
else
|
||||||
|
JVM_VARIANTS:=server
|
||||||
|
JVM_VARIANT_SERVER:=true
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# determine if HotSpot is being built in JDK6 or earlier version
|
# determine if HotSpot is being built in JDK6 or earlier version
|
||||||
JDK6_OR_EARLIER=0
|
JDK6_OR_EARLIER=0
|
||||||
ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
|
ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
|
||||||
@@ -148,40 +160,42 @@ ifneq ($(OBJCOPY),)
|
|||||||
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
|
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
EXPORT_LIST += $(EXPORT_JRE_LIB_DIR)/wb.jar
|
||||||
|
|
||||||
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
|
||||||
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
|
||||||
|
|
||||||
ifneq ($(BUILD_CLIENT_ONLY),true)
|
ifeq ($(JVM_VARIANT_SERVER),true)
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
|
||||||
|
ifeq ($(ARCH_DATA_MODEL),32)
|
||||||
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
|
||||||
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
|
||||||
|
endif
|
||||||
ifneq ($(OBJCOPY),)
|
ifneq ($(OBJCOPY),)
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_db.debuginfo
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo
|
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm_dtrace.debuginfo
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
ifeq ($(JVM_VARIANT_CLIENT),true)
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.$(LIBRARY_SUFFIX)
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.$(LIBRARY_SUFFIX)
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
|
ifeq ($(ARCH_DATA_MODEL),32)
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
|
||||||
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
|
||||||
|
endif
|
||||||
ifneq ($(OBJCOPY),)
|
ifneq ($(OBJCOPY),)
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_db.debuginfo
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm_dtrace.debuginfo
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo
|
ifeq ($(ARCH_DATA_MODEL),32)
|
||||||
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_db.debuginfo
|
||||||
endif
|
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/64/libjvm_dtrace.debuginfo
|
||||||
ifneq ($(BUILD_CLIENT_ONLY), true)
|
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.$(LIBRARY_SUFFIX)
|
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.$(LIBRARY_SUFFIX)
|
|
||||||
ifneq ($(OBJCOPY),)
|
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_db.debuginfo
|
|
||||||
EXPORT_LIST += $(EXPORT_SERVER_DIR)/64/libjvm_dtrace.debuginfo
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -150,11 +150,11 @@ endif
|
|||||||
|
|
||||||
lib$(GENOFFS).so: $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
|
lib$(GENOFFS).so: $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
|
||||||
$(LIBJVM.o)
|
$(LIBJVM.o)
|
||||||
$(QUIETLY) $(CCC) $(CPPFLAGS) $(GENOFFS_CFLAGS) $(SHARED_FLAG) $(PICFLAG) \
|
$(QUIETLY) $(CXX) $(CXXFLAGS) $(GENOFFS_CFLAGS) $(SHARED_FLAG) $(PICFLAG) \
|
||||||
$(LFLAGS_GENOFFS) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS).cpp -lc
|
$(LFLAGS_GENOFFS) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS).cpp -lc
|
||||||
|
|
||||||
$(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).so
|
$(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).so
|
||||||
$(QUIETLY) $(LINK.CC) -z nodefs -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \
|
$(QUIETLY) $(LINK.CXX) -z nodefs -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \
|
||||||
./lib$(GENOFFS).so
|
./lib$(GENOFFS).so
|
||||||
|
|
||||||
CONDITIONALLY_UPDATE_JVMOFFS_TARGET = \
|
CONDITIONALLY_UPDATE_JVMOFFS_TARGET = \
|
||||||
@@ -178,7 +178,7 @@ $(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
|
|||||||
$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
|
$(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
|
||||||
|
|
||||||
$(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp
|
$(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp
|
||||||
$(QUIETLY) $(CCC) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
|
$(QUIETLY) $(CXX) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
|
||||||
|
|
||||||
$(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
|
$(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
|
||||||
@echo Making $@
|
@echo Making $@
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@@ -23,11 +23,15 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# CC, CPP & AS
|
# CC, CXX & AS
|
||||||
|
|
||||||
CPP = g++
|
# If a SPEC is not set already, then use these defaults.
|
||||||
CC = gcc
|
ifeq ($(SPEC),)
|
||||||
AS = $(CC) -c
|
CXX = g++
|
||||||
|
CC = gcc
|
||||||
|
AS = $(CC) -c
|
||||||
|
MCS = /usr/ccs/bin/mcs
|
||||||
|
endif
|
||||||
|
|
||||||
Compiler = gcc
|
Compiler = gcc
|
||||||
|
|
||||||
@@ -36,12 +40,12 @@ Compiler = gcc
|
|||||||
CC_VER_MAJOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1)
|
CC_VER_MAJOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1)
|
||||||
CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
|
CC_VER_MINOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
|
||||||
|
|
||||||
# Check for the versions of C++ and C compilers ($CPP and $CC) used.
|
# Check for the versions of C++ and C compilers ($CXX and $CC) used.
|
||||||
|
|
||||||
# Get the last thing on the line that looks like x.x+ (x is a digit).
|
# Get the last thing on the line that looks like x.x+ (x is a digit).
|
||||||
COMPILER_REV := \
|
COMPILER_REV := \
|
||||||
$(shell $(CPP) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1)
|
$(shell $(CXX) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1)
|
||||||
C_COMPILER_REV := \
|
CC_COMPILER_REV := \
|
||||||
$(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
|
$(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
|
||||||
|
|
||||||
|
|
||||||
@@ -49,9 +53,8 @@ $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f2)
|
|||||||
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
|
ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 4 \) \))" "0"
|
||||||
# Allow the user to turn off precompiled headers from the command line.
|
# Allow the user to turn off precompiled headers from the command line.
|
||||||
ifneq ($(USE_PRECOMPILED_HEADER),0)
|
ifneq ($(USE_PRECOMPILED_HEADER),0)
|
||||||
USE_PRECOMPILED_HEADER=1
|
|
||||||
PRECOMPILED_HEADER_DIR=.
|
PRECOMPILED_HEADER_DIR=.
|
||||||
PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled.hpp
|
PRECOMPILED_HEADER_SRC=$(GAMMADIR)/src/share/vm/precompiled/precompiled.hpp
|
||||||
PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
|
PRECOMPILED_HEADER=$(PRECOMPILED_HEADER_DIR)/precompiled.hpp.gch
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -142,7 +145,7 @@ DEPFLAGS = -MMD -MP -MF $(DEP_DIR)/$(@:%=%.d)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
|
# -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp.
|
||||||
ifneq ($(USE_PRECOMPILED_HEADER),1)
|
ifeq ($(USE_PRECOMPILED_HEADER),0)
|
||||||
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
|
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -194,5 +197,3 @@ DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH))
|
|||||||
ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
|
ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),)
|
||||||
DEBUG_CFLAGS += -gstabs
|
DEBUG_CFLAGS += -gstabs
|
||||||
endif
|
endif
|
||||||
|
|
||||||
MCS = /usr/ccs/bin/mcs
|
|
||||||
|
|||||||
@@ -52,10 +52,10 @@ else
|
|||||||
LIBS_LAUNCHER += -l$(JVM) $(LIBS)
|
LIBS_LAUNCHER += -l$(JVM) $(LIBS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LINK_LAUNCHER = $(LINK.CC)
|
LINK_LAUNCHER = $(LINK.CXX)
|
||||||
|
|
||||||
LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CC/PRE_HOOK)
|
LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CXX/PRE_HOOK)
|
||||||
LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CC/POST_HOOK)
|
LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CXX/POST_HOOK)
|
||||||
|
|
||||||
ifeq ("${Platform_compiler}", "sparcWorks")
|
ifeq ("${Platform_compiler}", "sparcWorks")
|
||||||
# Enable the following LAUNCHERFLAGS addition if you need to compare the
|
# Enable the following LAUNCHERFLAGS addition if you need to compare the
|
||||||
@@ -86,11 +86,11 @@ DEPFILES := $(patsubst %.o,%.d,$(OBJS))
|
|||||||
|
|
||||||
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
|
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
|
||||||
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
||||||
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
|
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
|
||||||
|
|
||||||
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
|
$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
|
||||||
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
$(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
|
||||||
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CPPFLAGS)
|
$(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
|
||||||
|
|
||||||
$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
|
$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
|
||||||
ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
|
ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
#
|
|
||||||
# @(#)mapfile-vers 1.32 07/10/25 16:47:36
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2000, 2011, 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.
|
||||||
@@ -221,6 +217,7 @@ SUNWprivate_1.1 {
|
|||||||
JVM_SetArrayElement;
|
JVM_SetArrayElement;
|
||||||
JVM_SetClassSigners;
|
JVM_SetClassSigners;
|
||||||
JVM_SetLength;
|
JVM_SetLength;
|
||||||
|
JVM_SetNativeThreadName;
|
||||||
JVM_SetPrimitiveArrayElement;
|
JVM_SetPrimitiveArrayElement;
|
||||||
JVM_SetProtectionDomain;
|
JVM_SetProtectionDomain;
|
||||||
JVM_SetSockOpt;
|
JVM_SetSockOpt;
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ endif
|
|||||||
|
|
||||||
# If we can create .debuginfo files, then the VM is stripped in vm.make
|
# If we can create .debuginfo files, then the VM is stripped in vm.make
|
||||||
# and this macro is not used.
|
# and this macro is not used.
|
||||||
# LINK_LIB.CC/POST_HOOK += $(STRIP_LIB.CC/POST_HOOK)
|
# LINK_LIB.CXX/POST_HOOK += $(STRIP_LIB.CXX/POST_HOOK)
|
||||||
|
|
||||||
G_SUFFIX =
|
G_SUFFIX =
|
||||||
SYSDEFS += -DPRODUCT
|
SYSDEFS += -DPRODUCT
|
||||||
|
|||||||
@@ -27,44 +27,31 @@
|
|||||||
# Tell make that .cpp is important
|
# Tell make that .cpp is important
|
||||||
.SUFFIXES: .cpp $(SUFFIXES)
|
.SUFFIXES: .cpp $(SUFFIXES)
|
||||||
|
|
||||||
# For now. Other makefiles use CPP as the c++ compiler, but that should really
|
|
||||||
# name the preprocessor.
|
|
||||||
ifeq ($(CCC),)
|
|
||||||
CCC = $(CPP)
|
|
||||||
endif
|
|
||||||
|
|
||||||
DEMANGLER = c++filt
|
DEMANGLER = c++filt
|
||||||
DEMANGLE = $(DEMANGLER) < $@ > .$@ && mv -f .$@ $@
|
DEMANGLE = $(DEMANGLER) < $@ > .$@ && mv -f .$@ $@
|
||||||
|
|
||||||
# $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
|
# $(CC) is the c compiler (cc/gcc), $(CXX) is the c++ compiler (CC/g++).
|
||||||
C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
|
CC_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS)
|
||||||
CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS)
|
CXX_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS)
|
||||||
|
|
||||||
AS.S = $(AS) $(ASFLAGS)
|
AS.S = $(AS) $(ASFLAGS)
|
||||||
|
|
||||||
COMPILE.c = $(C_COMPILE) -c
|
COMPILE.CC = $(CC_COMPILE) -c
|
||||||
GENASM.c = $(C_COMPILE) -S
|
GENASM.CC = $(CC_COMPILE) -S
|
||||||
LINK.c = $(CC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
LINK.CC = $(CC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
||||||
LINK_LIB.c = $(CC) $(LFLAGS) $(SHARED_FLAG)
|
LINK_LIB.CC = $(CC) $(LFLAGS) $(SHARED_FLAG)
|
||||||
PREPROCESS.c = $(C_COMPILE) -E
|
PREPROCESS.CC = $(CC_COMPILE) -E
|
||||||
|
|
||||||
COMPILE.CC = $(CC_COMPILE) -c
|
COMPILE.CXX = $(CXX_COMPILE) -c
|
||||||
GENASM.CC = $(CC_COMPILE) -S
|
GENASM.CXX = $(CXX_COMPILE) -S
|
||||||
LINK.CC = $(CCC) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
LINK.CXX = $(CXX) $(LFLAGS) $(AOUT_FLAGS) $(PROF_AOUT_FLAGS)
|
||||||
LINK_NOPROF.CC = $(CCC) $(LFLAGS) $(AOUT_FLAGS)
|
LINK_NOPROF.CXX = $(CXX) $(LFLAGS) $(AOUT_FLAGS)
|
||||||
LINK_LIB.CC = $(CCC) $(LFLAGS) $(SHARED_FLAG)
|
LINK_LIB.CXX = $(CXX) $(LFLAGS) $(SHARED_FLAG)
|
||||||
PREPROCESS.CC = $(CC_COMPILE) -E
|
PREPROCESS.CXX = $(CXX_COMPILE) -E
|
||||||
|
|
||||||
# Effect of REMOVE_TARGET is to delete out-of-date files during "gnumake -k".
|
# Effect of REMOVE_TARGET is to delete out-of-date files during "gnumake -k".
|
||||||
REMOVE_TARGET = rm -f $@
|
REMOVE_TARGET = rm -f $@
|
||||||
|
|
||||||
# Synonyms.
|
|
||||||
COMPILE.cpp = $(COMPILE.CC)
|
|
||||||
GENASM.cpp = $(GENASM.CC)
|
|
||||||
LINK.cpp = $(LINK.CC)
|
|
||||||
LINK_LIB.cpp = $(LINK_LIB.CC)
|
|
||||||
PREPROCESS.cpp = $(PREPROCESS.CC)
|
|
||||||
|
|
||||||
# Note use of ALT_BOOTDIR to explicitly specify location of java and
|
# Note use of ALT_BOOTDIR to explicitly specify location of java and
|
||||||
# javac; this is the same environment variable used in the J2SE build
|
# javac; this is the same environment variable used in the J2SE build
|
||||||
# process for overriding the default spec, which is BOOTDIR.
|
# process for overriding the default spec, which is BOOTDIR.
|
||||||
@@ -153,14 +140,14 @@ ifdef LP64
|
|||||||
%.o: %.cpp
|
%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
|
$(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
|
||||||
else
|
else
|
||||||
%.o: %.cpp
|
%.o: %.cpp
|
||||||
@echo Compiling $<
|
@echo Compiling $<
|
||||||
$(QUIETLY) $(REMOVE_TARGET)
|
$(QUIETLY) $(REMOVE_TARGET)
|
||||||
$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
|
$(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \
|
||||||
$(subst $(VM_PICFLAG), ,$(COMPILE.CC)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
|
$(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \
|
||||||
$(COMPILE.CC) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
|
$(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
%.o: %.s
|
%.o: %.s
|
||||||
@@ -170,13 +157,13 @@ endif
|
|||||||
|
|
||||||
%.s: %.cpp
|
%.s: %.cpp
|
||||||
@echo Generating assembly for $<
|
@echo Generating assembly for $<
|
||||||
$(QUIETLY) $(GENASM.CC) -o $@ $<
|
$(QUIETLY) $(GENASM.CXX) -o $@ $<
|
||||||
$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
|
$(QUIETLY) $(DEMANGLE) $(COMPILE_DONE)
|
||||||
|
|
||||||
# Intermediate files (for debugging macros)
|
# Intermediate files (for debugging macros)
|
||||||
%.i: %.cpp
|
%.i: %.cpp
|
||||||
@echo Preprocessing $< to $@
|
@echo Preprocessing $< to $@
|
||||||
$(QUIETLY) $(PREPROCESS.CC) $< > $@ $(COMPILE_DONE)
|
$(QUIETLY) $(PREPROCESS.CXX) $< > $@ $(COMPILE_DONE)
|
||||||
|
|
||||||
# Override gnumake built-in rules which do sccs get operations badly.
|
# Override gnumake built-in rules which do sccs get operations badly.
|
||||||
# (They put the checked out code in the current directory, not in the
|
# (They put the checked out code in the current directory, not in the
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
|
|||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
@echo Making SA debugger back-end...
|
@echo Making SA debugger back-end...
|
||||||
$(QUIETLY) $(CPP) \
|
$(QUIETLY) $(CXX) \
|
||||||
$(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
|
$(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
|
||||||
-I$(SASRCDIR) \
|
-I$(SASRCDIR) \
|
||||||
-I$(GENERATED) \
|
-I$(GENERATED) \
|
||||||
|
|||||||
@@ -22,38 +22,42 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
# Compiler-specific flags for sparcworks.
|
# If a SPEC is not set already, then use these defaults.
|
||||||
|
ifeq ($(SPEC),)
|
||||||
|
# Compiler-specific flags for sparcworks.
|
||||||
|
CC = cc
|
||||||
|
CXX = CC
|
||||||
|
|
||||||
# tell make which C and C++ compilers to use
|
# Note that this 'as' is an older version of the Sun Studio 'fbe', and will
|
||||||
CC = cc
|
# use the older style options. The 'fbe' options will match 'cc' and 'CC'.
|
||||||
CPP = CC
|
AS = /usr/ccs/bin/as
|
||||||
|
|
||||||
# Note that this 'as' is an older version of the Sun Studio 'fbe', and will
|
NM = /usr/ccs/bin/nm
|
||||||
# use the older style options. The 'fbe' options will match 'cc' and 'CC'.
|
NAWK = /bin/nawk
|
||||||
AS = /usr/ccs/bin/as
|
|
||||||
|
|
||||||
NM = /usr/ccs/bin/nm
|
MCS = /usr/ccs/bin/mcs
|
||||||
NAWK = /bin/nawk
|
STRIP = /usr/ccs/bin/strip
|
||||||
|
endif
|
||||||
|
|
||||||
REORDER_FLAG = -xF
|
REORDER_FLAG = -xF
|
||||||
|
|
||||||
# Check for the versions of C++ and C compilers ($CPP and $CC) used.
|
# Check for the versions of C++ and C compilers ($CXX and $CC) used.
|
||||||
|
|
||||||
# Get the last thing on the line that looks like x.x+ (x is a digit).
|
# Get the last thing on the line that looks like x.x+ (x is a digit).
|
||||||
COMPILER_REV := \
|
COMPILER_REV := \
|
||||||
$(shell $(CPP) -V 2>&1 | sed -n 's/^.*[ ,\t]C++[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p')
|
$(shell $(CXX) -V 2>&1 | sed -n 's/^.*[ ,\t]C++[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p')
|
||||||
C_COMPILER_REV := \
|
CC_COMPILER_REV := \
|
||||||
$(shell $(CC) -V 2>&1 | sed -n 's/^.*[ ,\t]C[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p')
|
$(shell $(CC) -V 2>&1 | sed -n 's/^.*[ ,\t]C[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p')
|
||||||
|
|
||||||
# Pick which compiler is validated
|
# Pick which compiler is validated
|
||||||
ifeq ($(JRE_RELEASE_VER),1.6.0)
|
ifeq ($(JRE_RELEASE_VER),1.6.0)
|
||||||
# Validated compiler for JDK6 is SS11 (5.8)
|
# Validated compiler for JDK6 is SS11 (5.8)
|
||||||
VALIDATED_COMPILER_REVS := 5.8
|
VALIDATED_COMPILER_REVS := 5.8
|
||||||
VALIDATED_C_COMPILER_REVS := 5.8
|
VALIDATED_CC_COMPILER_REVS := 5.8
|
||||||
else
|
else
|
||||||
# Validated compiler for JDK7 is SS12 update 1 + patches (5.10)
|
# Validated compiler for JDK7 is SS12 update 1 + patches (5.10)
|
||||||
VALIDATED_COMPILER_REVS := 5.10
|
VALIDATED_COMPILER_REVS := 5.10
|
||||||
VALIDATED_C_COMPILER_REVS := 5.10
|
VALIDATED_CC_COMPILER_REVS := 5.10
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Warning messages about not using the above validated versions
|
# Warning messages about not using the above validated versions
|
||||||
@@ -67,13 +71,13 @@ dummy_var_to_enforce_compiler_rev := $(shell \
|
|||||||
warning.)
|
warning.)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ENFORCE_C_COMPILER_REV${ENFORCE_C_COMPILER_REV} := $(strip ${VALIDATED_C_COMPILER_REVS})
|
ENFORCE_CC_COMPILER_REV${ENFORCE_CC_COMPILER_REV} := $(strip ${VALIDATED_CC_COMPILER_REVS})
|
||||||
ifeq ($(filter ${ENFORCE_C_COMPILER_REV},${C_COMPILER_REV}),)
|
ifeq ($(filter ${ENFORCE_CC_COMPILER_REV},${CC_COMPILER_REV}),)
|
||||||
PRINTABLE_C_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_C_COMPILER_REV})
|
PRINTABLE_C_REVS := $(subst $(shell echo ' '), or ,${ENFORCE_CC_COMPILER_REV})
|
||||||
dummy_var_to_enforce_c_compiler_rev := $(shell \
|
dummy_var_to_enforce_c_compiler_rev := $(shell \
|
||||||
echo >&2 WARNING: You are using cc version ${C_COMPILER_REV} and \
|
echo >&2 WARNING: You are using cc version ${CC_COMPILER_REV} and \
|
||||||
should be using version ${PRINTABLE_C_REVS}.; \
|
should be using version ${PRINTABLE_C_REVS}.; \
|
||||||
echo >&2 Set ENFORCE_C_COMPILER_REV=${C_COMPILER_REV} to avoid this \
|
echo >&2 Set ENFORCE_CC_COMPILER_REV=${CC_COMPILER_REV} to avoid this \
|
||||||
warning.)
|
warning.)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -98,7 +102,7 @@ JVM_CHECK_SYMBOLS = $(NM) -u -p $(LIBJVM.o) | \
|
|||||||
} \
|
} \
|
||||||
END { exit rc; }'
|
END { exit rc; }'
|
||||||
|
|
||||||
LINK_LIB.CC/PRE_HOOK += $(JVM_CHECK_SYMBOLS) || exit 1;
|
LINK_LIB.CXX/PRE_HOOK += $(JVM_CHECK_SYMBOLS) || exit 1;
|
||||||
|
|
||||||
# New architecture options started in SS12 (5.9), we need both styles to build.
|
# New architecture options started in SS12 (5.9), we need both styles to build.
|
||||||
# The older arch options for SS11 (5.8) or older and also for /usr/ccs/bin/as.
|
# The older arch options for SS11 (5.8) or older and also for /usr/ccs/bin/as.
|
||||||
@@ -518,7 +522,7 @@ endif
|
|||||||
#FASTDEBUG_CFLAGS += -Qoption ccfe -xglobalstatic
|
#FASTDEBUG_CFLAGS += -Qoption ccfe -xglobalstatic
|
||||||
|
|
||||||
ifeq (${COMPILER_REV_NUMERIC}, 502)
|
ifeq (${COMPILER_REV_NUMERIC}, 502)
|
||||||
COMPILER_DATE := $(shell $(CPP) -V 2>&1 | sed -n '/^.*[ ]C++[ ]\([1-9]\.[0-9][0-9]*\)/p' | awk '{ print $$NF; }')
|
COMPILER_DATE := $(shell $(CXX) -V 2>&1 | sed -n '/^.*[ ]C++[ ]\([1-9]\.[0-9][0-9]*\)/p' | awk '{ print $$NF; }')
|
||||||
ifeq (${COMPILER_DATE}, 2001/01/31)
|
ifeq (${COMPILER_DATE}, 2001/01/31)
|
||||||
# disable -g0 in fastdebug since SC6.1 dated 2001/01/31 seems to be buggy
|
# disable -g0 in fastdebug since SC6.1 dated 2001/01/31 seems to be buggy
|
||||||
# use an innocuous value because it will get -g if it's empty
|
# use an innocuous value because it will get -g if it's empty
|
||||||
@@ -557,9 +561,6 @@ else
|
|||||||
#LINK_INTO = LIBJVM
|
#LINK_INTO = LIBJVM
|
||||||
endif
|
endif
|
||||||
|
|
||||||
MCS = /usr/ccs/bin/mcs
|
|
||||||
STRIP = /usr/ccs/bin/strip
|
|
||||||
|
|
||||||
# Solaris platforms collect lots of redundant file-ident lines,
|
# Solaris platforms collect lots of redundant file-ident lines,
|
||||||
# to the point of wasting a significant percentage of file space.
|
# to the point of wasting a significant percentage of file space.
|
||||||
# (The text is stored in ELF .comment sections, contributed by
|
# (The text is stored in ELF .comment sections, contributed by
|
||||||
@@ -568,7 +569,7 @@ STRIP = /usr/ccs/bin/strip
|
|||||||
# removing repeated lines. The data can be extracted from
|
# removing repeated lines. The data can be extracted from
|
||||||
# binaries in the field by using "mcs -p libjvm.so" or the older
|
# binaries in the field by using "mcs -p libjvm.so" or the older
|
||||||
# command "what libjvm.so".
|
# command "what libjvm.so".
|
||||||
LINK_LIB.CC/POST_HOOK += $(MCS) -c $@ || exit 1;
|
LINK_LIB.CXX/POST_HOOK += $(MCS) -c $@ || exit 1;
|
||||||
# (The exit 1 is necessary to cause a build failure if the command fails and
|
# (The exit 1 is necessary to cause a build failure if the command fails and
|
||||||
# multiple commands are strung together, and the final semicolon is necessary
|
# multiple commands are strung together, and the final semicolon is necessary
|
||||||
# since the hook must terminate itself as a valid command.)
|
# since the hook must terminate itself as a valid command.)
|
||||||
@@ -576,7 +577,7 @@ LINK_LIB.CC/POST_HOOK += $(MCS) -c $@ || exit 1;
|
|||||||
# Also, strip debug and line number information (worth about 1.7Mb).
|
# Also, strip debug and line number information (worth about 1.7Mb).
|
||||||
# If we can create .debuginfo files, then the VM is stripped in vm.make
|
# If we can create .debuginfo files, then the VM is stripped in vm.make
|
||||||
# and this macro is not used.
|
# and this macro is not used.
|
||||||
STRIP_LIB.CC/POST_HOOK = $(STRIP) -x $@ || exit 1;
|
STRIP_LIB.CXX/POST_HOOK = $(STRIP) -x $@ || exit 1;
|
||||||
# STRIP_LIB.CC/POST_HOOK is incorporated into LINK_LIB.CC/POST_HOOK
|
# STRIP_LIB.CXX/POST_HOOK is incorporated into LINK_LIB.CXX/POST_HOOK
|
||||||
# in certain configurations, such as product.make. Other configurations,
|
# in certain configurations, such as product.make. Other configurations,
|
||||||
# such as debug.make, do not include the strip operation.
|
# such as debug.make, do not include the strip operation.
|
||||||
|
|||||||
@@ -107,8 +107,8 @@ $(adjust-mflags): $(GAMMADIR)/make/$(Platform_os_family)/makefiles/adjust-mflags
|
|||||||
the_vm: vm_build_preliminaries $(adjust-mflags)
|
the_vm: vm_build_preliminaries $(adjust-mflags)
|
||||||
@$(MAKE) -f vm.make $(MFLAGS-adjusted)
|
@$(MAKE) -f vm.make $(MFLAGS-adjusted)
|
||||||
|
|
||||||
install: the_vm
|
install gamma: the_vm
|
||||||
@$(MAKE) -f vm.make install
|
@$(MAKE) -f vm.make $@
|
||||||
|
|
||||||
# next rules support "make foo.[oi]"
|
# next rules support "make foo.[oi]"
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 1998, 2012, 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
|
||||||
@@ -76,16 +76,20 @@ BUILD_TARGET = -DHOTSPOT_BUILD_TARGET="\"$(TARGET)\""
|
|||||||
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
BUILD_USER = -DHOTSPOT_BUILD_USER="\"$(HOTSPOT_BUILD_USER)\""
|
||||||
VM_DISTRO = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\""
|
VM_DISTRO = -DHOTSPOT_VM_DISTRO="\"$(HOTSPOT_VM_DISTRO)\""
|
||||||
|
|
||||||
CPPFLAGS = \
|
CXXFLAGS = \
|
||||||
${SYSDEFS} \
|
${SYSDEFS} \
|
||||||
${INCLUDES} \
|
${INCLUDES} \
|
||||||
${BUILD_VERSION} \
|
${BUILD_VERSION} \
|
||||||
${BUILD_TARGET} \
|
${BUILD_TARGET} \
|
||||||
${BUILD_USER} \
|
${BUILD_USER} \
|
||||||
${HS_LIB_ARCH} \
|
${HS_LIB_ARCH} \
|
||||||
${JRE_VERSION} \
|
|
||||||
${VM_DISTRO}
|
${VM_DISTRO}
|
||||||
|
|
||||||
|
# This is VERY important! The version define must only be supplied to vm_version.o
|
||||||
|
# If not, ccache will not re-use the cache at all, since the version string might contain
|
||||||
|
# a time and date.
|
||||||
|
vm_version.o: CXXFLAGS += ${JRE_VERSION}
|
||||||
|
|
||||||
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
# CFLAGS_WARN holds compiler options to suppress/enable warnings.
|
||||||
CFLAGS += $(CFLAGS_WARN)
|
CFLAGS += $(CFLAGS_WARN)
|
||||||
|
|
||||||
@@ -93,7 +97,7 @@ CFLAGS += $(CFLAGS_WARN)
|
|||||||
CFLAGS += $(CFLAGS/NOEX)
|
CFLAGS += $(CFLAGS/NOEX)
|
||||||
|
|
||||||
# Extra flags from gnumake's invocation or environment
|
# Extra flags from gnumake's invocation or environment
|
||||||
CFLAGS += $(EXTRA_CFLAGS)
|
CFLAGS += $(EXTRA_CFLAGS) -DINCLUDE_TRACE
|
||||||
|
|
||||||
# Math Library (libm.so), do not use -lm.
|
# Math Library (libm.so), do not use -lm.
|
||||||
# There might be two versions of libm.so on the build system:
|
# There might be two versions of libm.so on the build system:
|
||||||
@@ -160,6 +164,10 @@ SOURCE_PATHS+=$(HS_COMMON_SRC)/os/posix/vm
|
|||||||
SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
|
SOURCE_PATHS+=$(HS_COMMON_SRC)/cpu/$(Platform_arch)/vm
|
||||||
SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
|
SOURCE_PATHS+=$(HS_COMMON_SRC)/os_cpu/$(Platform_os_arch)/vm
|
||||||
|
|
||||||
|
SOURCE_PATHS+=$(shell if [ -d $(HS_ALT_SRC)/share/vm/jfr ]; then \
|
||||||
|
find $(HS_ALT_SRC)/share/vm/jfr -type d; \
|
||||||
|
fi)
|
||||||
|
|
||||||
CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
|
CORE_PATHS=$(foreach path,$(SOURCE_PATHS),$(call altsrc,$(path)) $(path))
|
||||||
CORE_PATHS+=$(GENERATED)/jvmtifiles
|
CORE_PATHS+=$(GENERATED)/jvmtifiles
|
||||||
|
|
||||||
@@ -261,17 +269,17 @@ endif
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef USE_GCC
|
ifdef USE_GCC
|
||||||
LINK_VM = $(LINK_LIB.c)
|
|
||||||
else
|
|
||||||
LINK_VM = $(LINK_LIB.CC)
|
LINK_VM = $(LINK_LIB.CC)
|
||||||
|
else
|
||||||
|
LINK_VM = $(LINK_LIB.CXX)
|
||||||
endif
|
endif
|
||||||
# making the library:
|
# making the library:
|
||||||
$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE)
|
$(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE)
|
||||||
ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
|
ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
|
||||||
@echo Linking vm...
|
@echo Linking vm...
|
||||||
$(QUIETLY) $(LINK_LIB.CC/PRE_HOOK)
|
$(QUIETLY) $(LINK_LIB.CXX/PRE_HOOK)
|
||||||
$(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM)
|
$(QUIETLY) $(LINK_VM) $(LFLAGS_VM) -o $@ $(LIBJVM.o) $(LIBS_VM)
|
||||||
$(QUIETLY) $(LINK_LIB.CC/POST_HOOK)
|
$(QUIETLY) $(LINK_LIB.CXX/POST_HOOK)
|
||||||
$(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
|
$(QUIETLY) rm -f $@.1 && ln -s $@ $@.1
|
||||||
$(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G)
|
$(QUIETLY) [ -f $(LIBJVM_G) ] || ln -s $@ $(LIBJVM_G)
|
||||||
$(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1
|
$(QUIETLY) [ -f $(LIBJVM_G).1 ] || ln -s $@.1 $(LIBJVM_G).1
|
||||||
@@ -313,9 +321,12 @@ include $(MAKEFILES_DIR)/jsig.make
|
|||||||
# Serviceability agent
|
# Serviceability agent
|
||||||
include $(MAKEFILES_DIR)/saproc.make
|
include $(MAKEFILES_DIR)/saproc.make
|
||||||
|
|
||||||
|
# Whitebox testing API
|
||||||
|
include $(MAKEFILES_DIR)/wb.make
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(LIBJVM_DTRACE) $(BUILDLIBSAPROC) dtraceCheck
|
build: $(LIBJVM) $(LAUNCHER) $(LIBJSIG) $(LIBJVM_DB) $(LIBJVM_DTRACE) $(BUILDLIBSAPROC) dtraceCheck $(WB_JAR)
|
||||||
|
|
||||||
install: install_jvm install_jsig install_saproc
|
install: install_jvm install_jsig install_saproc
|
||||||
|
|
||||||
|
|||||||
46
hotspot/make/solaris/makefiles/wb.make
Normal file
46
hotspot/make/solaris/makefiles/wb.make
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2012, 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.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Rules to build whitebox testing library, used by vm.make
|
||||||
|
|
||||||
|
WB = wb
|
||||||
|
|
||||||
|
WBSRCDIR = $(GAMMADIR)/src/share/tools/whitebox
|
||||||
|
|
||||||
|
WB_JAR = $(GENERATED)/$(WB).jar
|
||||||
|
|
||||||
|
WB_JAVA_SRCS = $(shell find $(WBSRCDIR) -name '*.java')
|
||||||
|
WB_JAVA_CLASSDIR = $(GENERATED)/wb/classes
|
||||||
|
|
||||||
|
WB_JAVA_CLASSES = $(patsubst $(WBSRCDIR)/%,$(WB_JAVA_CLASSDIR)/%, \
|
||||||
|
$(patsubst %.java,%.class,$(WB_JAVA_SRCS)))
|
||||||
|
|
||||||
|
$(WB_JAVA_CLASSDIR)/%.class: $(WBSRCDIR)/%.java $(WB_JAVA_CLASSDIR)
|
||||||
|
$(REMOTE) $(COMPILE.JAVAC) -nowarn -d $(WB_JAVA_CLASSDIR) $<
|
||||||
|
|
||||||
|
$(WB_JAR): $(WB_JAVA_CLASSES)
|
||||||
|
$(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(WB_JAVA_CLASSDIR)/ .
|
||||||
|
|
||||||
|
$(WB_JAVA_CLASSDIR):
|
||||||
|
$(QUIETLY) mkdir -p $@
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
Copyright (c) %YEARS%, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
|
|
||||||
- Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
- Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
- Neither the name of Oracle nor the names of its
|
|
||||||
contributors may be used to endorse or promote products derived
|
|
||||||
from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
|
||||||
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
||||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
@@ -35,6 +35,8 @@ cl 2>&1 | grep "IA-64" >NUL
|
|||||||
if %errorlevel% == 0 goto isia64
|
if %errorlevel% == 0 goto isia64
|
||||||
cl 2>&1 | grep "AMD64" >NUL
|
cl 2>&1 | grep "AMD64" >NUL
|
||||||
if %errorlevel% == 0 goto amd64
|
if %errorlevel% == 0 goto amd64
|
||||||
|
cl 2>&1 | grep "x64" >NUL
|
||||||
|
if %errorlevel% == 0 goto amd64
|
||||||
set ARCH=x86
|
set ARCH=x86
|
||||||
set BUILDARCH=i486
|
set BUILDARCH=i486
|
||||||
set Platform_arch=x86
|
set Platform_arch=x86
|
||||||
|
|||||||
@@ -297,6 +297,10 @@ $(variantDir)\local.make: checks
|
|||||||
@ echo BUILDARCH=$(BUILDARCH) >> $@
|
@ echo BUILDARCH=$(BUILDARCH) >> $@
|
||||||
@ echo Platform_arch=$(Platform_arch) >> $@
|
@ echo Platform_arch=$(Platform_arch) >> $@
|
||||||
@ echo Platform_arch_model=$(Platform_arch_model) >> $@
|
@ echo Platform_arch_model=$(Platform_arch_model) >> $@
|
||||||
|
@ echo CXX=$(CXX) >> $@
|
||||||
|
@ echo LD=$(LD) >> $@
|
||||||
|
@ echo MT=$(MT) >> $@
|
||||||
|
@ echo RC=$(RC) >> $@
|
||||||
@ sh $(WorkSpace)/make/windows/get_msc_ver.sh >> $@
|
@ sh $(WorkSpace)/make/windows/get_msc_ver.sh >> $@
|
||||||
|
|
||||||
checks: checkVariant checkWorkSpace checkSA
|
checks: checkVariant checkWorkSpace checkSA
|
||||||
|
|||||||
@@ -57,10 +57,10 @@ DUMPBIN="link.exe /dump"
|
|||||||
|
|
||||||
# When called from IDE the first param should contain the link version, otherwise may be nill
|
# When called from IDE the first param should contain the link version, otherwise may be nill
|
||||||
if [ "x$1" != "x" ]; then
|
if [ "x$1" != "x" ]; then
|
||||||
LINK_VER="$1"
|
LD_VER="$1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "x$LINK_VER" != "x800" -a "x$LINK_VER" != "x900" -a "x$LINK_VER" != "x1000" ]; then
|
if [ "x$LD_VER" != "x800" -a "x$LD_VER" != "x900" -a "x$LD_VER" != "x1000" ]; then
|
||||||
$DUMPBIN /symbols *.obj | "$GREP" "??_7.*@@6B@" | "$GREP" -v "type_info" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def
|
$DUMPBIN /symbols *.obj | "$GREP" "??_7.*@@6B@" | "$GREP" -v "type_info" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def
|
||||||
else
|
else
|
||||||
# Can't use pipes when calling cl.exe or link.exe from IDE. Using transit file vm3.def
|
# Can't use pipes when calling cl.exe or link.exe from IDE. Using transit file vm3.def
|
||||||
|
|||||||
@@ -73,6 +73,13 @@ done
|
|||||||
|
|
||||||
BASE_PATHS="${BASE_PATHS} ${GENERATED}/jvmtifiles"
|
BASE_PATHS="${BASE_PATHS} ${GENERATED}/jvmtifiles"
|
||||||
|
|
||||||
|
if [ -d "${ALTSRC}/share/vm/jfr" ]; then
|
||||||
|
BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr/agent"
|
||||||
|
BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr/agent/isolated_deps/util"
|
||||||
|
BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr/jvm"
|
||||||
|
BASE_PATHS="${BASE_PATHS} ${ALTSRC}/share/vm/jfr"
|
||||||
|
fi
|
||||||
|
|
||||||
CORE_PATHS="${BASE_PATHS}"
|
CORE_PATHS="${BASE_PATHS}"
|
||||||
# shared is already in BASE_PATHS. Should add vm/memory but that one is also in BASE_PATHS.
|
# shared is already in BASE_PATHS. Should add vm/memory but that one is also in BASE_PATHS.
|
||||||
if [ -d "${ALTSRC}/share/vm/gc_implementation" ]; then
|
if [ -d "${ALTSRC}/share/vm/gc_implementation" ]; then
|
||||||
|
|||||||
@@ -72,8 +72,8 @@ else
|
|||||||
echo "MSC_VER_RAW=$MSC_VER_RAW"
|
echo "MSC_VER_RAW=$MSC_VER_RAW"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "x$FORCE_LINK_VER" != "x" ]; then
|
if [ "x$FORCE_LD_VER" != "x" ]; then
|
||||||
echo "LINK_VER=$FORCE_LINK_VER"
|
echo "LD_VER=$FORCE_LD_VER"
|
||||||
else
|
else
|
||||||
# use the "link" command that is co-located with the "cl" command
|
# use the "link" command that is co-located with the "cl" command
|
||||||
cl_cmd=`which cl`
|
cl_cmd=`which cl`
|
||||||
@@ -83,11 +83,11 @@ else
|
|||||||
# which can't find "cl" so just use which ever "link" we find
|
# which can't find "cl" so just use which ever "link" we find
|
||||||
link_cmd="link"
|
link_cmd="link"
|
||||||
fi
|
fi
|
||||||
LINK_VER_RAW=`"$link_cmd" 2>&1 | "$HEAD" -n 1 | "$SED" 's/.*Version[\ ]*\([0-9][0-9.]*\).*/\1/'`
|
LD_VER_RAW=`"$link_cmd" 2>&1 | "$HEAD" -n 1 | "$SED" 's/.*Version[\ ]*\([0-9][0-9.]*\).*/\1/'`
|
||||||
LINK_VER_MAJOR=`"$ECHO" $LINK_VER_RAW | "$CUT" -d'.' -f1`
|
LD_VER_MAJOR=`"$ECHO" $LD_VER_RAW | "$CUT" -d'.' -f1`
|
||||||
LINK_VER_MINOR=`"$ECHO" $LINK_VER_RAW | "$CUT" -d'.' -f2`
|
LD_VER_MINOR=`"$ECHO" $LD_VER_RAW | "$CUT" -d'.' -f2`
|
||||||
LINK_VER_MICRO=`"$ECHO" $LINK_VER_RAW | "$CUT" -d'.' -f3`
|
LD_VER_MICRO=`"$ECHO" $LD_VER_RAW | "$CUT" -d'.' -f3`
|
||||||
LINK_VER=`"$EXPR" $LINK_VER_MAJOR \* 100 + $LINK_VER_MINOR`
|
LD_VER=`"$EXPR" $LD_VER_MAJOR \* 100 + $LD_VER_MINOR`
|
||||||
echo "LINK_VER=$LINK_VER"
|
echo "LD_VER=$LD_VER"
|
||||||
echo "LINK_VER_RAW=$LINK_VER_RAW"
|
echo "LD_VER_RAW=$LD_VER_RAW"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -45,14 +45,25 @@ ADLCFLAGS=-q -T -D_LP64
|
|||||||
ADLCFLAGS=-q -T -U_LP64
|
ADLCFLAGS=-q -T -U_LP64
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
ADLC_CPP_FLAGS=$(CPP_FLAGS) /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
|
ADLC_CXX_FLAGS=$(CXX_FLAGS) /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
|
||||||
|
|
||||||
CPP_INCLUDE_DIRS=\
|
CXX_INCLUDE_DIRS=\
|
||||||
/I "..\generated" \
|
/I "..\generated" \
|
||||||
/I "$(WorkSpace)\src\share\vm" \
|
/I "$(WorkSpace)\src\share\vm" \
|
||||||
/I "$(WorkSpace)\src\os\windows\vm" \
|
/I "$(WorkSpace)\src\os\windows\vm" \
|
||||||
/I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm"
|
/I "$(WorkSpace)\src\cpu\$(Platform_arch)\vm"
|
||||||
|
|
||||||
|
!if "$(Platform_arch_model)" == "$(Platform_arch)"
|
||||||
|
SOURCES_AD=\
|
||||||
|
$(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad \
|
||||||
|
$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad
|
||||||
|
!else
|
||||||
|
SOURCES_AD=\
|
||||||
|
$(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad \
|
||||||
|
$(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch).ad \
|
||||||
|
$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad
|
||||||
|
!endif
|
||||||
|
|
||||||
# NOTE! If you add any files here, you must also update GENERATED_NAMES_IN_DIR
|
# NOTE! If you add any files here, you must also update GENERATED_NAMES_IN_DIR
|
||||||
# and ProjectCreatorIDEOptions in projectcreator.make.
|
# and ProjectCreatorIDEOptions in projectcreator.make.
|
||||||
GENERATED_NAMES=\
|
GENERATED_NAMES=\
|
||||||
@@ -83,14 +94,14 @@ GENERATED_NAMES_IN_DIR=\
|
|||||||
$(AdlcOutDir)\dfa_$(Platform_arch_model).cpp
|
$(AdlcOutDir)\dfa_$(Platform_arch_model).cpp
|
||||||
|
|
||||||
{$(WorkSpace)\src\share\vm\adlc}.cpp.obj::
|
{$(WorkSpace)\src\share\vm\adlc}.cpp.obj::
|
||||||
$(CPP) $(ADLC_CPP_FLAGS) $(EXH_FLAGS) $(CPP_INCLUDE_DIRS) /c $<
|
$(CXX) $(ADLC_CXX_FLAGS) $(EXH_FLAGS) $(CXX_INCLUDE_DIRS) /c $<
|
||||||
|
|
||||||
{$(WorkSpace)\src\share\vm\opto}.cpp.obj::
|
{$(WorkSpace)\src\share\vm\opto}.cpp.obj::
|
||||||
$(CPP) $(ADLC_CPP_FLAGS) $(EXH_FLAGS) $(CPP_INCLUDE_DIRS) /c $<
|
$(CXX) $(ADLC_CXX_FLAGS) $(EXH_FLAGS) $(CXX_INCLUDE_DIRS) /c $<
|
||||||
|
|
||||||
adlc.exe: main.obj adlparse.obj archDesc.obj arena.obj dfa.obj dict2.obj filebuff.obj \
|
adlc.exe: main.obj adlparse.obj archDesc.obj arena.obj dfa.obj dict2.obj filebuff.obj \
|
||||||
forms.obj formsopt.obj formssel.obj opcodes.obj output_c.obj output_h.obj
|
forms.obj formsopt.obj formssel.obj opcodes.obj output_c.obj output_h.obj
|
||||||
$(LINK) $(LINK_FLAGS) /subsystem:console /out:$@ $**
|
$(LD) $(LD_FLAGS) /subsystem:console /out:$@ $**
|
||||||
!if "$(MT)" != ""
|
!if "$(MT)" != ""
|
||||||
# The previous link command created a .manifest file that we want to
|
# The previous link command created a .manifest file that we want to
|
||||||
# insert into the linked artifact so we do not need to track it
|
# insert into the linked artifact so we do not need to track it
|
||||||
@@ -105,7 +116,6 @@ $(GENERATED_NAMES_IN_DIR): $(Platform_arch_model).ad adlc.exe
|
|||||||
$(ADLC) $(ADLCFLAGS) $(Platform_arch_model).ad
|
$(ADLC) $(ADLCFLAGS) $(Platform_arch_model).ad
|
||||||
mv $(GENERATED_NAMES) $(AdlcOutDir)/
|
mv $(GENERATED_NAMES) $(AdlcOutDir)/
|
||||||
|
|
||||||
$(Platform_arch_model).ad: $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad $(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad
|
$(Platform_arch_model).ad: $(SOURCES_AD)
|
||||||
rm -f $(Platform_arch_model).ad
|
rm -f $(Platform_arch_model).ad
|
||||||
cat $(WorkSpace)/src/cpu/$(Platform_arch)/vm/$(Platform_arch_model).ad \
|
cat $(SOURCES_AD) >$(Platform_arch_model).ad
|
||||||
$(WorkSpace)/src/os_cpu/windows_$(Platform_arch)/vm/windows_$(Platform_arch_model).ad >$(Platform_arch_model).ad
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user