mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-10 19:39:39 +01:00
Compare commits
437 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f10a316ff | ||
|
|
c642f44bbe | ||
|
|
d04ac14bdb | ||
|
|
4e77cf881d | ||
|
|
7b4ba7f90a | ||
|
|
0bb5ae6451 | ||
|
|
4d32c607a4 | ||
|
|
e91492ab43 | ||
|
|
95a601316d | ||
|
|
5a4415a6bd | ||
|
|
4ba74475d4 | ||
|
|
7ce4a13c0a | ||
|
|
ea5eb74a65 | ||
|
|
beea5305b0 | ||
|
|
440782e016 | ||
|
|
5ded8da676 | ||
|
|
7c2c24fc05 | ||
|
|
ff4bf1cf9f | ||
|
|
abf54bb1e6 | ||
|
|
1484153c1a | ||
|
|
391bbbc7d0 | ||
|
|
adaa509b6e | ||
|
|
5a8df4106a | ||
|
|
3e3f7cf4bd | ||
|
|
d517d2df45 | ||
|
|
5053b70a7f | ||
|
|
32c7681cf3 | ||
|
|
f9a1d3381b | ||
|
|
b87a7e9906 | ||
|
|
1dac34fa75 | ||
|
|
5e8e8ef656 | ||
|
|
1b476f52ba | ||
|
|
1c5f1501ac | ||
|
|
65abf24fde | ||
|
|
d215bc4647 | ||
|
|
d11e70ade3 | ||
|
|
f95c937405 | ||
|
|
675fbe699e | ||
|
|
242446b07f | ||
|
|
45792c5829 | ||
|
|
1547a69651 | ||
|
|
784b8fce7a | ||
|
|
dea8076a58 | ||
|
|
dab92c51c7 | ||
|
|
9f43ce5a72 | ||
|
|
d654124502 | ||
|
|
7db6a3f0ee | ||
|
|
f47fc867b3 | ||
|
|
b9a142a224 | ||
|
|
d2d37c913e | ||
|
|
a706ca4fdb | ||
|
|
a643d6c7ac | ||
|
|
d47a4e9f63 | ||
|
|
0bf728212f | ||
|
|
ffbdfffbc7 | ||
|
|
c7d98df2ac | ||
|
|
aa4cddd4b8 | ||
|
|
c4ff58b9bc | ||
|
|
aaa90b3005 | ||
|
|
0a4eeeaa3c | ||
|
|
ad0b54d429 | ||
|
|
ac86f59e4f | ||
|
|
964d60892e | ||
|
|
2d622152b0 | ||
|
|
588e314e4b | ||
|
|
0d1216c7a1 | ||
|
|
42b1d858d1 | ||
|
|
230fac80f2 | ||
|
|
c8452615b1 | ||
|
|
ad78b7fa67 | ||
|
|
aafa15fc17 | ||
|
|
edd47c10eb | ||
|
|
1aebab780c | ||
|
|
0eff492e41 | ||
|
|
c6f611cfe0 | ||
|
|
0e1dca75ef | ||
|
|
7f299043a9 | ||
|
|
2baacfc169 | ||
|
|
7b79426a1d | ||
|
|
466a21d864 | ||
|
|
8af606fb8c | ||
|
|
b91083341a | ||
|
|
f12ed061ae | ||
|
|
8d78e8cadc | ||
|
|
524aaad983 | ||
|
|
95d2f8072e | ||
|
|
5746137e8a | ||
|
|
02c95a6d7e | ||
|
|
02a799c055 | ||
|
|
23a72a1f2f | ||
|
|
a2584a8341 | ||
|
|
df1ff056f1 | ||
|
|
3b8227ba24 | ||
|
|
f308e107ce | ||
|
|
a8b3f194e8 | ||
|
|
ae60d84500 | ||
|
|
7a35f922f0 | ||
|
|
fa02667d83 | ||
|
|
a8e62af733 | ||
|
|
1eec30a6c0 | ||
|
|
e8a2d5669c | ||
|
|
9b0bb03366 | ||
|
|
6c7764118e | ||
|
|
15862a2f11 | ||
|
|
4bbd972cbb | ||
|
|
f1509e007d | ||
|
|
f2c4a41304 | ||
|
|
9347bb7df8 | ||
|
|
b20fa7b48b | ||
|
|
c1a164528a | ||
|
|
36c9607f66 | ||
|
|
b33096f887 | ||
|
|
cf2c80e4fc | ||
|
|
77b71222a0 | ||
|
|
87bb66cea1 | ||
|
|
37c2469539 | ||
|
|
1d083eb15a | ||
|
|
9697bc3858 | ||
|
|
ce73fec882 | ||
|
|
58ef9e4805 | ||
|
|
3c77dad007 | ||
|
|
8ed319023e | ||
|
|
1f6d38f7a6 | ||
|
|
c60474b122 | ||
|
|
f78fa0556d | ||
|
|
f665e07ab2 | ||
|
|
a10845b553 | ||
|
|
8bc641ebe7 | ||
|
|
7c1fad4fb6 | ||
|
|
6bef0474c8 | ||
|
|
01125fa21b | ||
|
|
04271dfe7a | ||
|
|
f6cdcc6f65 | ||
|
|
99654ec3fb | ||
|
|
cd3a607576 | ||
|
|
73cdc9a070 | ||
|
|
e2c0cfef14 | ||
|
|
6f98d8f58f | ||
|
|
6969a9e0b2 | ||
|
|
7a41a525de | ||
|
|
3383ad6397 | ||
|
|
8771015d7e | ||
|
|
553d45b114 | ||
|
|
dd0b641819 | ||
|
|
389f6fe97c | ||
|
|
a024eed738 | ||
|
|
9912abf586 | ||
|
|
257a07d5ca | ||
|
|
c21672d8c9 | ||
|
|
cccc95358d | ||
|
|
4a78906db1 | ||
|
|
2056968777 | ||
|
|
c9255f3f5d | ||
|
|
beebce044d | ||
|
|
ae82405ff7 | ||
|
|
286cbf831c | ||
|
|
fe23068d94 | ||
|
|
33243d44a9 | ||
|
|
8bcd2e61ae | ||
|
|
c4fe5bf90c | ||
|
|
dd906ffdcb | ||
|
|
d3bf52628e | ||
|
|
4036d7d824 | ||
|
|
9108091f0c | ||
|
|
5ab8713b3f | ||
|
|
19e46eed58 | ||
|
|
0a24daeceb | ||
|
|
62d5d1e99c | ||
|
|
2a95cd473a | ||
|
|
e833bfc8ac | ||
|
|
4f529f8c23 | ||
|
|
44dc85001d | ||
|
|
b2fb5ea13b | ||
|
|
663acd2e17 | ||
|
|
f215899a08 | ||
|
|
b96b38c2c9 | ||
|
|
a863ef5d74 | ||
|
|
aca1e8365b | ||
|
|
3d11692bf3 | ||
|
|
9ce21d1382 | ||
|
|
130f71cadc | ||
|
|
f4caac8dea | ||
|
|
2cc8eccb36 | ||
|
|
33e81229bd | ||
|
|
22a1c617db | ||
|
|
ef4ec2d3b0 | ||
|
|
cff841f1de | ||
|
|
0630bb02eb | ||
|
|
60b61e588c | ||
|
|
b128bd7b5a | ||
|
|
819f3d6fc7 | ||
|
|
eb88343fb7 | ||
|
|
9b423a8509 | ||
|
|
4e4229438a | ||
|
|
bdcc2400db | ||
|
|
8b8fb6427e | ||
|
|
151ef5d4d2 | ||
|
|
7272939064 | ||
|
|
70d3f22b70 | ||
|
|
549bc6a039 | ||
|
|
76cda7b895 | ||
|
|
766d0b0fa0 | ||
|
|
4edac349a5 | ||
|
|
c615c18e9f | ||
|
|
fb63cbadb4 | ||
|
|
4e5c25ee43 | ||
|
|
16c7dcdb04 | ||
|
|
c3372c4555 | ||
|
|
a078b5e611 | ||
|
|
e3eb652c25 | ||
|
|
aa2edd4913 | ||
|
|
aee91fbc70 | ||
|
|
a920af233a | ||
|
|
f3bb3e2170 | ||
|
|
07facd0420 | ||
|
|
0bf516f7ba | ||
|
|
d13e53346f | ||
|
|
8bbd7251a5 | ||
|
|
5e2ced4b9e | ||
|
|
2b7176a55a | ||
|
|
e4ed7ced75 | ||
|
|
cfd19f0176 | ||
|
|
ffd850f17e | ||
|
|
377f2e538a | ||
|
|
006f090f98 | ||
|
|
a407dc9cbb | ||
|
|
ea06129851 | ||
|
|
b3bcc49491 | ||
|
|
1c238d43e8 | ||
|
|
ce9eac3819 | ||
|
|
5af6b45eef | ||
|
|
4dfaa9b5bd | ||
|
|
b9927aa3a4 | ||
|
|
c9442014e5 | ||
|
|
8031dabf83 | ||
|
|
c9f8d0eff7 | ||
|
|
b1b953c427 | ||
|
|
87e864bf21 | ||
|
|
ef745a6c6e | ||
|
|
d32f109219 | ||
|
|
ccc0d0f7b1 | ||
|
|
e818ab60a0 | ||
|
|
d43654e573 | ||
|
|
21480a7ae8 | ||
|
|
e6118ce784 | ||
|
|
a44ac026c5 | ||
|
|
8a8d928898 | ||
|
|
0014e0e6b9 | ||
|
|
ea3909acd1 | ||
|
|
7b2560b490 | ||
|
|
25871af36b | ||
|
|
1d06170758 | ||
|
|
f1d0e715b6 | ||
|
|
74b11ccf14 | ||
|
|
45ed97f15b | ||
|
|
e311ba32a5 | ||
|
|
e923dfe4c5 | ||
|
|
15190816f7 | ||
|
|
2bb5cf5f33 | ||
|
|
7bb59dc8da | ||
|
|
174d62652c | ||
|
|
e681e9b4d7 | ||
|
|
c439c8c73c | ||
|
|
165ba87e57 | ||
|
|
3ccb64c021 | ||
|
|
5c3838605d | ||
|
|
438e64310d | ||
|
|
80b381e91b | ||
|
|
7a895552c8 | ||
|
|
f60798a30e | ||
|
|
2555166247 | ||
|
|
09b88098ff | ||
|
|
9cc163a999 | ||
|
|
88a5dcead2 | ||
|
|
7157eea101 | ||
|
|
b4cea701c9 | ||
|
|
412e306d81 | ||
|
|
b07e1531b3 | ||
|
|
b6518a5db0 | ||
|
|
383fe6eaab | ||
|
|
2ea89268a1 | ||
|
|
3d5eeac3a3 | ||
|
|
6158da5e95 | ||
|
|
a92ad03946 | ||
|
|
fcb4a8ba26 | ||
|
|
3bd6982ec3 | ||
|
|
d9d926d669 | ||
|
|
1a6da3d5f0 | ||
|
|
281f9bdeb9 | ||
|
|
daa5a4bd12 | ||
|
|
8961077056 | ||
|
|
574ba1400e | ||
|
|
550a138622 | ||
|
|
57ebd045ea | ||
|
|
58ad399d19 | ||
|
|
1d52234e19 | ||
|
|
83c74d7307 | ||
|
|
0b9350e8b6 | ||
|
|
20be5e095f | ||
|
|
7e421ce9d0 | ||
|
|
3e65d90b4d | ||
|
|
936a47d7d6 | ||
|
|
ee7b2e9b3b | ||
|
|
3e185c70fe | ||
|
|
f889797e1f | ||
|
|
c4f5c5140a | ||
|
|
70acade9f1 | ||
|
|
35b30c81e0 | ||
|
|
3d62bbf4f2 | ||
|
|
5313dcc8f9 | ||
|
|
5394f57f00 | ||
|
|
20546c1ea0 | ||
|
|
bd67ac69a2 | ||
|
|
185e711bfe | ||
|
|
6d5699617f | ||
|
|
f6feeb03bb | ||
|
|
df04358223 | ||
|
|
c1dd82b4d2 | ||
|
|
b704e91241 | ||
|
|
8da175d094 | ||
|
|
3c1d1d93d7 | ||
|
|
650ca65a4f | ||
|
|
177092b952 | ||
|
|
eb60822a45 | ||
|
|
85261bcebc | ||
|
|
9f2a4fad17 | ||
|
|
8990864a53 | ||
|
|
46a2ce4eb4 | ||
|
|
252c62a66d | ||
|
|
32946e1882 | ||
|
|
6ee8407758 | ||
|
|
235ba9a702 | ||
|
|
f713766cab | ||
|
|
ec180d4782 | ||
|
|
571e6bc3f7 | ||
|
|
5853a2c009 | ||
|
|
b648ed0a08 | ||
|
|
60b65e6090 | ||
|
|
b0496096dc | ||
|
|
4b55fe5777 | ||
|
|
5eb2c596e2 | ||
|
|
003e86fe38 | ||
|
|
706b421cca | ||
|
|
fe0227e978 | ||
|
|
064628471b | ||
|
|
4895a15a77 | ||
|
|
fd331ff173 | ||
|
|
9fd78022b1 | ||
|
|
192ec387bc | ||
|
|
03e84178eb | ||
|
|
ff3e76fd0c | ||
|
|
811aadd9e7 | ||
|
|
5841cb3b51 | ||
|
|
89129e3f67 | ||
|
|
9445047d05 | ||
|
|
d2f9a1eb97 | ||
|
|
e4021adb28 | ||
|
|
3ccbc6d4d0 | ||
|
|
7744b0046a | ||
|
|
9d63fee49c | ||
|
|
01bda278d6 | ||
|
|
2fe2f3aff8 | ||
|
|
cd4c3aac63 | ||
|
|
e57a322d70 | ||
|
|
c8702ede97 | ||
|
|
f6f038a678 | ||
|
|
fb4cf1cc3c | ||
|
|
d1c6cd104e | ||
|
|
76cbe4883b | ||
|
|
f7c84137b5 | ||
|
|
941bee197f | ||
|
|
2ede14335a | ||
|
|
90df3b7fbb | ||
|
|
f11a496de6 | ||
|
|
bfff02eef6 | ||
|
|
e073d5b374 | ||
|
|
6e77d918e6 | ||
|
|
61fa4d45b6 | ||
|
|
56ff87a096 | ||
|
|
8a5b86c529 | ||
|
|
58911ccc2c | ||
|
|
97c180892b | ||
|
|
def257727d | ||
|
|
2f11afdae9 | ||
|
|
33d7127555 | ||
|
|
8de2f6f883 | ||
|
|
0203c7e612 | ||
|
|
2885469c4b | ||
|
|
31a1f9c493 | ||
|
|
274c805c51 | ||
|
|
140f56718b | ||
|
|
a293bdff91 | ||
|
|
da75e015b5 | ||
|
|
ddc3921cf9 | ||
|
|
273df6286a | ||
|
|
a3fecdb2f4 | ||
|
|
60d88b7ae2 | ||
|
|
3f1d9c441e | ||
|
|
5404b4eafc | ||
|
|
d22d560871 | ||
|
|
bc1a1a5861 | ||
|
|
b486709b06 | ||
|
|
1abb826210 | ||
|
|
c1c99a669b | ||
|
|
b9ef9f667e | ||
|
|
28b2019559 | ||
|
|
68f86dccce | ||
|
|
397d948310 | ||
|
|
f7069494f4 | ||
|
|
0f78d017af | ||
|
|
b8f675f45b | ||
|
|
3e9c381166 | ||
|
|
77a217df60 | ||
|
|
717a07b932 | ||
|
|
aebfd53e9d | ||
|
|
006a516aa0 | ||
|
|
c7fcd62302 | ||
|
|
2c8b432b89 | ||
|
|
2c45eca159 | ||
|
|
bde3fc0c03 | ||
|
|
e45fea5a80 | ||
|
|
ece7d4349a | ||
|
|
0db42906e3 | ||
|
|
5808f30b89 | ||
|
|
31ee5108e0 | ||
|
|
0656f08092 | ||
|
|
16061874ff | ||
|
|
2e3682a7f2 | ||
|
|
63684cd183 | ||
|
|
ecc603ca9b | ||
|
|
ff5c9a4dde | ||
|
|
9acce7a6f3 | ||
|
|
f0cd866a37 | ||
|
|
8817ba450c | ||
|
|
f778642613 | ||
|
|
7df492627b | ||
|
|
2ceeb6c001 |
@@ -5,6 +5,7 @@ version=23
|
||||
|
||||
[checks]
|
||||
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
|
||||
warning=issuestitle
|
||||
|
||||
[repository]
|
||||
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)
|
||||
|
||||
@@ -179,8 +179,9 @@ more tab-completion friendly. For more complex test runs, the
|
||||
<p>The test specifications given in <code>TEST</code> is parsed into
|
||||
fully qualified test descriptors, which clearly and unambigously show
|
||||
which tests will be run. As an example, <code>:tier1</code> will expand
|
||||
to
|
||||
<code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>.
|
||||
to include all subcomponent test directories that define `tier1`,
|
||||
for example:
|
||||
<code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 ...</code>.
|
||||
You can always submit a list of fully qualified test descriptors in the
|
||||
<code>TEST</code> variable if you want to shortcut the parser.</p>
|
||||
<h3 id="common-test-groups">Common Test Groups</h3>
|
||||
|
||||
@@ -103,11 +103,11 @@ test runs, the `test TEST="x"` solution needs to be used.
|
||||
|
||||
The test specifications given in `TEST` is parsed into fully qualified test
|
||||
descriptors, which clearly and unambigously show which tests will be run. As an
|
||||
example, `:tier1` will expand to `jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1
|
||||
jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1
|
||||
jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1`. You can
|
||||
always submit a list of fully qualified test descriptors in the `TEST` variable
|
||||
if you want to shortcut the parser.
|
||||
example, `:tier1` will expand to include all subcomponent test directories
|
||||
that define `tier1`, for example: `jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1
|
||||
jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 ...`. You
|
||||
can always submit a list of fully qualified test descriptors in the `TEST`
|
||||
variable if you want to shortcut the parser.
|
||||
|
||||
### Common Test Groups
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -28,6 +28,9 @@ default: all
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include MakeIO.gmk
|
||||
|
||||
PRODUCT_TARGETS :=
|
||||
LEGACY_TARGETS :=
|
||||
TEST_TARGETS :=
|
||||
|
||||
@@ -31,6 +31,8 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include JavaCompilation.gmk
|
||||
include TextFileProcessing.gmk
|
||||
include ZipArchive.gmk
|
||||
@@ -214,7 +216,7 @@ $(eval $(call SetupBuildDemo, SampleTree, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupBuildDemo, TableExample, \
|
||||
DISABLED_WARNINGS := rawtypes unchecked deprecation this-escape, \
|
||||
DISABLED_WARNINGS := rawtypes unchecked deprecation this-escape dangling-doc-comments, \
|
||||
DEMO_SUBDIR := jfc, \
|
||||
))
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include JavaCompilation.gmk
|
||||
include Modules.gmk
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ $(eval $(call SetupJavaCompilation, BUILD_JIGSAW_TOOLS, \
|
||||
build/tools/jigsaw, \
|
||||
COPY := .properties .html, \
|
||||
BIN := $(TOOLS_CLASSES_DIR), \
|
||||
DISABLED_WARNINGS := fallthrough this-escape, \
|
||||
DISABLED_WARNINGS := fallthrough, \
|
||||
JAVAC_FLAGS := \
|
||||
--add-modules jdk.jdeps \
|
||||
--add-exports java.base/jdk.internal.module=ALL-UNNAMED \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -27,6 +27,8 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include JavaCompilation.gmk
|
||||
include TextFileProcessing.gmk
|
||||
|
||||
@@ -53,7 +55,7 @@ $(eval $(call SetupJavaCompilation, BUILD_TOOLS_JDK, \
|
||||
build/tools/depend \
|
||||
, \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
|
||||
DISABLED_WARNINGS := options, \
|
||||
DISABLED_WARNINGS := dangling-doc-comments options, \
|
||||
JAVAC_FLAGS := \
|
||||
--add-exports java.desktop/sun.awt=ALL-UNNAMED \
|
||||
--add-exports java.base/sun.text=ALL-UNNAMED \
|
||||
|
||||
@@ -31,6 +31,8 @@ default: all
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
|
||||
LIBS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_LIBS)))
|
||||
CMDS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CMDS)))
|
||||
CONF_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CONF)))
|
||||
|
||||
@@ -28,6 +28,8 @@ default: all
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
|
||||
##########################################################################################
|
||||
|
||||
### TZDB tool needs files from java.time.zone package
|
||||
|
||||
@@ -27,6 +27,8 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include Execute.gmk
|
||||
include Modules.gmk
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include Execute.gmk
|
||||
include Modules.gmk
|
||||
include ModuleTools.gmk
|
||||
@@ -679,28 +681,25 @@ ifeq ($(ENABLE_PANDOC), true)
|
||||
$(TOPDIR)/make/jdk/src/classes/build/tools/pandocfilter)
|
||||
|
||||
$(foreach m, $(ALL_MODULES), \
|
||||
$(eval MAN_$m := $(call FindModuleManDirs, $m)) \
|
||||
$(foreach d, $(MAN_$m), \
|
||||
$(foreach f, $(call ApplySpecFilter, $(filter %.md, $(call FindFiles, $d))), \
|
||||
$(eval $m_$f_NAME := MAN_TO_HTML_$m_$(strip $(call RelativePath, $f, $(TOPDIR)))) \
|
||||
$(eval $(call SetupProcessMarkdown, $($m_$f_NAME), \
|
||||
SRC := $d, \
|
||||
FILES := $f, \
|
||||
DEST := $(DOCS_OUTPUTDIR)/specs/man, \
|
||||
FILTER := $(PANDOC_HTML_MANPAGE_FILTER), \
|
||||
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
|
||||
REPLACEMENTS := \
|
||||
@@COPYRIGHT_YEAR@@ => $(COPYRIGHT_YEAR) ; \
|
||||
@@VERSION_SHORT@@ => $(VERSION_SHORT) ; \
|
||||
@@VERSION_SPECIFICATION@@ => $(VERSION_SPECIFICATION), \
|
||||
OPTIONS := --toc -V include-before='$(SPECS_TOP)' -V include-after='$(SPECS_BOTTOM_1)', \
|
||||
POST_PROCESS := $(TOOL_FIXUPPANDOC) --insert-nav --nav-right-info '$(HEADER_RIGHT_SIDE_INFO)' \
|
||||
--nav-subdirs 1 --nav-link-guides, \
|
||||
EXTRA_DEPS := $(PANDOC_HTML_MANPAGE_FILTER) \
|
||||
$(PANDOC_HTML_MANPAGE_FILTER_SOURCE), \
|
||||
)) \
|
||||
$(eval JDK_SPECS_TARGETS += $($($m_$f_NAME))) \
|
||||
) \
|
||||
$(eval MAN_$m := $(call ApplySpecFilter, $(filter %.md, $(call FindFiles, \
|
||||
$(call FindModuleManDirs, $m))))) \
|
||||
$(if $(MAN_$m), \
|
||||
$(eval $(call SetupProcessMarkdown, MAN_TO_HTML_$m, \
|
||||
FILES := $(MAN_$m), \
|
||||
DEST := $(DOCS_OUTPUTDIR)/specs/man, \
|
||||
FILTER := $(PANDOC_HTML_MANPAGE_FILTER), \
|
||||
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
|
||||
REPLACEMENTS := \
|
||||
@@COPYRIGHT_YEAR@@ => $(COPYRIGHT_YEAR) ; \
|
||||
@@VERSION_SHORT@@ => $(VERSION_SHORT) ; \
|
||||
@@VERSION_SPECIFICATION@@ => $(VERSION_SPECIFICATION), \
|
||||
OPTIONS := --toc -V include-before='$(SPECS_TOP)' -V include-after='$(SPECS_BOTTOM_1)', \
|
||||
POST_PROCESS := $(TOOL_FIXUPPANDOC) --insert-nav --nav-right-info '$(HEADER_RIGHT_SIDE_INFO)' \
|
||||
--nav-subdirs 1 --nav-link-guides, \
|
||||
EXTRA_DEPS := $(PANDOC_HTML_MANPAGE_FILTER) \
|
||||
$(PANDOC_HTML_MANPAGE_FILTER_SOURCE), \
|
||||
)) \
|
||||
$(eval JDK_SPECS_TARGETS += $(MAN_TO_HTML_$m)) \
|
||||
) \
|
||||
)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -31,6 +31,8 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include JavaCompilation.gmk
|
||||
|
||||
################################################################################
|
||||
@@ -41,6 +43,7 @@ $(eval $(call SetupJavaCompilation, CLASSLIST_JAR, \
|
||||
SMALL_JAVA := false, \
|
||||
SRC := $(TOPDIR)/make/jdk/src/classes, \
|
||||
INCLUDES := build/tools/classlist, \
|
||||
DISABLED_WARNINGS := dangling-doc-comments, \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/classlist_classes, \
|
||||
JAR := $(SUPPORT_OUTPUTDIR)/classlist.jar, \
|
||||
))
|
||||
|
||||
@@ -31,6 +31,8 @@ default: all
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
TARGETS :=
|
||||
|
||||
@@ -27,6 +27,8 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include Execute.gmk
|
||||
include Modules.gmk
|
||||
include Utils.gmk
|
||||
|
||||
@@ -536,6 +536,31 @@ else # $(HAS_SPEC)=true
|
||||
endef
|
||||
endif
|
||||
|
||||
##############################################################################
|
||||
# Functions for timers
|
||||
##############################################################################
|
||||
|
||||
# Store the build times in this directory.
|
||||
BUILDTIMESDIR=$(OUTPUTDIR)/make-support/build-times
|
||||
|
||||
# Record starting time for build of a sub repository.
|
||||
define RecordStartTime
|
||||
$(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$(strip $1) && \
|
||||
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$(strip $1)_human_readable
|
||||
endef
|
||||
|
||||
# Record ending time and calculate the difference and store it in a
|
||||
# easy to read format. Handles builds that cross midnight. Expects
|
||||
# that a build will never take 24 hours or more.
|
||||
define RecordEndTime
|
||||
$(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$(strip $1)
|
||||
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$(strip $1)_human_readable
|
||||
$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$(strip $1)` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$(strip $1)` $1 | \
|
||||
$(AWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
|
||||
M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
|
||||
> $(BUILDTIMESDIR)/build_time_diff_$(strip $1)
|
||||
endef
|
||||
|
||||
define StartGlobalTimer
|
||||
$(RM) -r $(BUILDTIMESDIR) 2> /dev/null && \
|
||||
$(MKDIR) -p $(BUILDTIMESDIR) && \
|
||||
|
||||
@@ -27,6 +27,8 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include JavaCompilation.gmk
|
||||
include JarArchive.gmk
|
||||
include TextFileProcessing.gmk
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include TextFileProcessing.gmk
|
||||
|
||||
default: bundles
|
||||
|
||||
@@ -35,6 +35,8 @@ default: all
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
|
||||
MODULE_SRC := $(TOPDIR)/src/$(MODULE)
|
||||
|
||||
# All makefiles should add the targets to be built to this variable.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -176,7 +176,3 @@ ULIMIT := ulimit
|
||||
ifeq ($(OPENJDK_BUILD_OS), windows)
|
||||
PATHTOOL := cygpath
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Simple macros from spec.gmk.in
|
||||
SHARED_LIBRARY=$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -41,6 +41,16 @@ $(eval $(call IncludeCustomExtension, SourceRevision-pre.gmk))
|
||||
|
||||
STORED_SOURCE_REVISION := $(TOPDIR)/.src-rev
|
||||
|
||||
# Locate all sourcecode repositories included in the forest, as absolute paths
|
||||
FindAllReposAbs = \
|
||||
$(strip $(sort $(dir $(filter-out $(TOPDIR)/build/%, $(wildcard \
|
||||
$(addprefix $(TOPDIR)/, .git */.git */*/.git */*/*/.git */*/*/*/.git) \
|
||||
)))))
|
||||
|
||||
# Locate all sourcecode repositories included in the forest, as relative paths
|
||||
FindAllReposRel = \
|
||||
$(strip $(subst $(TOPDIR)/,.,$(patsubst $(TOPDIR)/%/, %, $(FindAllReposAbs))))
|
||||
|
||||
USE_SCM := false
|
||||
ifneq ($(and $(GIT), $(wildcard $(TOPDIR)/.git)), )
|
||||
USE_SCM := true
|
||||
|
||||
@@ -30,6 +30,8 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
include CopyFiles.gmk
|
||||
include Modules.gmk
|
||||
|
||||
ALL_MODULES = $(call FindAllModules)
|
||||
|
||||
@@ -28,6 +28,9 @@ default: all
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
|
||||
# Hook to include the corresponding custom file, if present.
|
||||
$(eval $(call IncludeCustomExtension, TestImage-pre.gmk))
|
||||
|
||||
############################################################################
|
||||
|
||||
BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -25,11 +25,11 @@
|
||||
#
|
||||
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2024 Free Software Foundation, Inc.
|
||||
|
||||
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
||||
|
||||
timestamp='2022-09-17'
|
||||
timestamp='2024-01-01'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@@ -72,7 +72,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
|
||||
usage="\
|
||||
Usage: $0 [OPTION]
|
||||
|
||||
Output the configuration name of the system \`$me' is run on.
|
||||
Output the configuration name of the system '$me' is run on.
|
||||
|
||||
Options:
|
||||
-h, --help print this help, then exit
|
||||
@@ -85,13 +85,13 @@ version="\
|
||||
GNU config.guess ($timestamp)
|
||||
|
||||
Originally written by Per Bothner.
|
||||
Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
Copyright 1992-2024 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
|
||||
help="
|
||||
Try \`$me --help' for more information."
|
||||
Try '$me --help' for more information."
|
||||
|
||||
# Parse command line
|
||||
while test $# -gt 0 ; do
|
||||
@@ -127,8 +127,8 @@ GUESS=
|
||||
# temporary files to be created and, as you can see below, it is a
|
||||
# headache to deal with in a portable fashion.
|
||||
|
||||
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
|
||||
# use `HOST_CC' if defined, but it is deprecated.
|
||||
# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
|
||||
# use 'HOST_CC' if defined, but it is deprecated.
|
||||
|
||||
# Portable tmp directory creation inspired by the Autoconf team.
|
||||
|
||||
@@ -180,6 +180,9 @@ Linux|GNU|GNU/*)
|
||||
|
||||
set_cc_for_build
|
||||
cat <<-EOF > "$dummy.c"
|
||||
#if defined(__ANDROID__)
|
||||
LIBC=android
|
||||
#else
|
||||
#include <features.h>
|
||||
#if defined(__UCLIBC__)
|
||||
LIBC=uclibc
|
||||
@@ -187,6 +190,8 @@ Linux|GNU|GNU/*)
|
||||
LIBC=dietlibc
|
||||
#elif defined(__GLIBC__)
|
||||
LIBC=gnu
|
||||
#elif defined(__LLVM_LIBC__)
|
||||
LIBC=llvm
|
||||
#else
|
||||
#include <stdarg.h>
|
||||
/* First heuristic to detect musl libc. */
|
||||
@@ -194,6 +199,7 @@ Linux|GNU|GNU/*)
|
||||
LIBC=musl
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
|
||||
eval "$cc_set_libc"
|
||||
@@ -484,7 +490,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
|
||||
UNAME_RELEASE=`uname -v`
|
||||
;;
|
||||
esac
|
||||
# Japanese Language versions have a version number like `4.1.3-JL'.
|
||||
# Japanese Language versions have a version number like '4.1.3-JL'.
|
||||
SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
|
||||
GUESS=sparc-sun-sunos$SUN_REL
|
||||
;;
|
||||
@@ -929,7 +935,7 @@ EOF
|
||||
fi
|
||||
;;
|
||||
*:FreeBSD:*:*)
|
||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||
UNAME_PROCESSOR=`uname -p`
|
||||
case $UNAME_PROCESSOR in
|
||||
amd64)
|
||||
UNAME_PROCESSOR=x86_64 ;;
|
||||
@@ -1001,7 +1007,27 @@ EOF
|
||||
GUESS=$UNAME_MACHINE-unknown-minix
|
||||
;;
|
||||
aarch64:Linux:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
||||
set_cc_for_build
|
||||
CPU=$UNAME_MACHINE
|
||||
LIBCABI=$LIBC
|
||||
if test "$CC_FOR_BUILD" != no_compiler_found; then
|
||||
ABI=64
|
||||
sed 's/^ //' << EOF > "$dummy.c"
|
||||
#ifdef __ARM_EABI__
|
||||
#ifdef __ARM_PCS_VFP
|
||||
ABI=eabihf
|
||||
#else
|
||||
ABI=eabi
|
||||
#endif
|
||||
#endif
|
||||
EOF
|
||||
cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
|
||||
eval "$cc_set_abi"
|
||||
case $ABI in
|
||||
eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
|
||||
esac
|
||||
fi
|
||||
GUESS=$CPU-unknown-linux-$LIBCABI
|
||||
;;
|
||||
aarch64_be:Linux:*:*)
|
||||
UNAME_MACHINE=aarch64_be
|
||||
@@ -1067,6 +1093,15 @@ EOF
|
||||
k1om:Linux:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
||||
;;
|
||||
kvx:Linux:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
||||
;;
|
||||
kvx:cos:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-cos
|
||||
;;
|
||||
kvx:mbr:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-mbr
|
||||
;;
|
||||
loongarch32:Linux:*:* | loongarch64:Linux:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
||||
;;
|
||||
@@ -1222,7 +1257,7 @@ EOF
|
||||
GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
|
||||
;;
|
||||
i*86:OS/2:*:*)
|
||||
# If we were able to find `uname', then EMX Unix compatibility
|
||||
# If we were able to find 'uname', then EMX Unix compatibility
|
||||
# is probably installed.
|
||||
GUESS=$UNAME_MACHINE-pc-os2-emx
|
||||
;;
|
||||
@@ -1363,7 +1398,7 @@ EOF
|
||||
GUESS=ns32k-sni-sysv
|
||||
fi
|
||||
;;
|
||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||
PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
|
||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||
GUESS=i586-unisys-sysv4
|
||||
;;
|
||||
@@ -1585,6 +1620,9 @@ EOF
|
||||
*:Unleashed:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
|
||||
;;
|
||||
*:Ironclad:*:*)
|
||||
GUESS=$UNAME_MACHINE-unknown-ironclad
|
||||
;;
|
||||
esac
|
||||
|
||||
# Do we have a guess based on uname results?
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
|
||||
#
|
||||
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -26,11 +26,11 @@
|
||||
#
|
||||
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2024 Free Software Foundation, Inc.
|
||||
|
||||
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
||||
|
||||
timestamp='2022-09-17'
|
||||
timestamp='2024-01-01'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@@ -102,13 +102,13 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
Copyright 1992-2024 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
|
||||
help="
|
||||
Try \`$me --help' for more information."
|
||||
Try '$me --help' for more information."
|
||||
|
||||
# Parse command line
|
||||
while test $# -gt 0 ; do
|
||||
@@ -156,7 +156,7 @@ IFS=$saved_IFS
|
||||
# Separate into logical components for further validation
|
||||
case $1 in
|
||||
*-*-*-*-*)
|
||||
echo Invalid configuration \`"$1"\': more than four components >&2
|
||||
echo "Invalid configuration '$1': more than four components" >&2
|
||||
exit 1
|
||||
;;
|
||||
*-*-*-*)
|
||||
@@ -171,7 +171,8 @@ case $1 in
|
||||
nto-qnx* | linux-* | uclinux-uclibc* \
|
||||
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
|
||||
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
|
||||
| storm-chaos* | os2-emx* | rtmk-nova* | managarm-*)
|
||||
| storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \
|
||||
| windows-* )
|
||||
basic_machine=$field1
|
||||
basic_os=$maybe_os
|
||||
;;
|
||||
@@ -969,7 +970,7 @@ $basic_machine
|
||||
EOF
|
||||
IFS=$saved_IFS
|
||||
;;
|
||||
# We use `pc' rather than `unknown'
|
||||
# We use 'pc' rather than 'unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
i*86 | x86_64)
|
||||
@@ -1101,7 +1102,7 @@ case $cpu-$vendor in
|
||||
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
||||
cpu=i586
|
||||
;;
|
||||
pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
|
||||
pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
|
||||
cpu=i686
|
||||
;;
|
||||
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
||||
@@ -1206,7 +1207,7 @@ case $cpu-$vendor in
|
||||
case $cpu in
|
||||
1750a | 580 \
|
||||
| a29k \
|
||||
| aarch64 | aarch64_be \
|
||||
| aarch64 | aarch64_be | aarch64c | arm64ec \
|
||||
| abacus \
|
||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
|
||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
|
||||
@@ -1225,12 +1226,14 @@ case $cpu-$vendor in
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
| e2k | elxsi | epiphany \
|
||||
| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
|
||||
| javascript \
|
||||
| h8300 | h8500 \
|
||||
| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| hexagon \
|
||||
| i370 | i*86 | i860 | i960 | ia16 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| k1om \
|
||||
| kvx \
|
||||
| le32 | le64 \
|
||||
| lm32 \
|
||||
| loongarch32 | loongarch64 \
|
||||
@@ -1239,36 +1242,13 @@ case $cpu-$vendor in
|
||||
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
|
||||
| m88110 | m88k | maxq | mb | mcore | mep | metag \
|
||||
| microblaze | microblazeel \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
| mips16 \
|
||||
| mips64 | mips64eb | mips64el \
|
||||
| mips64octeon | mips64octeonel \
|
||||
| mips64orion | mips64orionel \
|
||||
| mips64r5900 | mips64r5900el \
|
||||
| mips64vr | mips64vrel \
|
||||
| mips64vr4100 | mips64vr4100el \
|
||||
| mips64vr4300 | mips64vr4300el \
|
||||
| mips64vr5000 | mips64vr5000el \
|
||||
| mips64vr5900 | mips64vr5900el \
|
||||
| mipsisa32 | mipsisa32el \
|
||||
| mipsisa32r2 | mipsisa32r2el \
|
||||
| mipsisa32r3 | mipsisa32r3el \
|
||||
| mipsisa32r5 | mipsisa32r5el \
|
||||
| mipsisa32r6 | mipsisa32r6el \
|
||||
| mipsisa64 | mipsisa64el \
|
||||
| mipsisa64r2 | mipsisa64r2el \
|
||||
| mipsisa64r3 | mipsisa64r3el \
|
||||
| mipsisa64r5 | mipsisa64r5el \
|
||||
| mipsisa64r6 | mipsisa64r6el \
|
||||
| mipsisa64sb1 | mipsisa64sb1el \
|
||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||
| mipsr5900 | mipsr5900el \
|
||||
| mipstx39 | mipstx39el \
|
||||
| mips* \
|
||||
| mmix \
|
||||
| mn10200 | mn10300 \
|
||||
| moxie \
|
||||
| mt \
|
||||
| msp430 \
|
||||
| nanomips* \
|
||||
| nds32 | nds32le | nds32be \
|
||||
| nfp \
|
||||
| nios | nios2 | nios2eb | nios2el \
|
||||
@@ -1300,6 +1280,7 @@ case $cpu-$vendor in
|
||||
| ubicom32 \
|
||||
| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
|
||||
| vax \
|
||||
| vc4 \
|
||||
| visium \
|
||||
| w65 \
|
||||
| wasm32 | wasm64 \
|
||||
@@ -1311,7 +1292,7 @@ case $cpu-$vendor in
|
||||
;;
|
||||
|
||||
*)
|
||||
echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
|
||||
echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -1332,11 +1313,12 @@ esac
|
||||
|
||||
# Decode manufacturer-specific aliases for certain operating systems.
|
||||
|
||||
if test x$basic_os != x
|
||||
if test x"$basic_os" != x
|
||||
then
|
||||
|
||||
# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
|
||||
# set os.
|
||||
obj=
|
||||
case $basic_os in
|
||||
gnu/linux*)
|
||||
kernel=linux
|
||||
@@ -1536,10 +1518,16 @@ case $os in
|
||||
os=eabi
|
||||
;;
|
||||
*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
aout* | coff* | elf* | pe*)
|
||||
# These are machine code file formats, not OSes
|
||||
obj=$os
|
||||
os=
|
||||
;;
|
||||
*)
|
||||
# No normalization, but not necessarily accepted, that comes below.
|
||||
;;
|
||||
@@ -1558,12 +1546,15 @@ else
|
||||
# system, and we'll never get to this point.
|
||||
|
||||
kernel=
|
||||
obj=
|
||||
case $cpu-$vendor in
|
||||
score-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
spu-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
*-acorn)
|
||||
os=riscix1.2
|
||||
@@ -1573,28 +1564,35 @@ case $cpu-$vendor in
|
||||
os=gnu
|
||||
;;
|
||||
arm*-semi)
|
||||
os=aout
|
||||
os=
|
||||
obj=aout
|
||||
;;
|
||||
c4x-* | tic4x-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
c8051-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
clipper-intergraph)
|
||||
os=clix
|
||||
;;
|
||||
hexagon-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
tic54x-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
tic55x-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
tic6x-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
# This must come before the *-dec entry.
|
||||
pdp10-*)
|
||||
@@ -1616,19 +1614,24 @@ case $cpu-$vendor in
|
||||
os=sunos3
|
||||
;;
|
||||
m68*-cisco)
|
||||
os=aout
|
||||
os=
|
||||
obj=aout
|
||||
;;
|
||||
mep-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
mips*-cisco)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
mips*-*)
|
||||
os=elf
|
||||
mips*-*|nanomips*-*)
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
or32-*)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
*-tti) # must be before sparc entry or we get the wrong os.
|
||||
os=sysv3
|
||||
@@ -1637,7 +1640,8 @@ case $cpu-$vendor in
|
||||
os=sunos4.1.1
|
||||
;;
|
||||
pru-*)
|
||||
os=elf
|
||||
os=
|
||||
obj=elf
|
||||
;;
|
||||
*-be)
|
||||
os=beos
|
||||
@@ -1718,10 +1722,12 @@ case $cpu-$vendor in
|
||||
os=uxpv
|
||||
;;
|
||||
*-rom68k)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
*-*bug)
|
||||
os=coff
|
||||
os=
|
||||
obj=coff
|
||||
;;
|
||||
*-apple)
|
||||
os=macos
|
||||
@@ -1739,10 +1745,11 @@ esac
|
||||
|
||||
fi
|
||||
|
||||
# Now, validate our (potentially fixed-up) OS.
|
||||
# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
|
||||
|
||||
case $os in
|
||||
# Sometimes we do "kernel-libc", so those need to count as OSes.
|
||||
musl* | newlib* | relibc* | uclibc*)
|
||||
llvm* | musl* | newlib* | relibc* | uclibc*)
|
||||
;;
|
||||
# Likewise for "kernel-abi"
|
||||
eabi* | gnueabi*)
|
||||
@@ -1750,6 +1757,9 @@ case $os in
|
||||
# VxWorks passes extra cpu info in the 4th filed.
|
||||
simlinux | simwindows | spe)
|
||||
;;
|
||||
# See `case $cpu-$os` validation below
|
||||
ghcjs)
|
||||
;;
|
||||
# Now accept the basic system types.
|
||||
# The portable systems comes first.
|
||||
# Each alternative MUST end in a * to match a version number.
|
||||
@@ -1758,7 +1768,7 @@ case $os in
|
||||
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
|
||||
| sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
|
||||
| hiux* | abug | nacl* | netware* | windows* \
|
||||
| os9* | macos* | osx* | ios* \
|
||||
| os9* | macos* | osx* | ios* | tvos* | watchos* \
|
||||
| mpw* | magic* | mmixware* | mon960* | lnews* \
|
||||
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
|
||||
| aos* | aros* | cloudabi* | sortix* | twizzler* \
|
||||
@@ -1767,11 +1777,11 @@ case $os in
|
||||
| mirbsd* | netbsd* | dicos* | openedition* | ose* \
|
||||
| bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
|
||||
| ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
|
||||
| bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
|
||||
| ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
|
||||
| bosx* | nextstep* | cxux* | oabi* \
|
||||
| ptx* | ecoff* | winnt* | domain* | vsta* \
|
||||
| udi* | lites* | ieee* | go32* | aux* | hcos* \
|
||||
| chorusrdb* | cegcc* | glidix* | serenity* \
|
||||
| cygwin* | msys* | pe* | moss* | proelf* | rtems* \
|
||||
| cygwin* | msys* | moss* | proelf* | rtems* \
|
||||
| midipix* | mingw32* | mingw64* | mint* \
|
||||
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
|
||||
| interix* | uwin* | mks* | rhapsody* | darwin* \
|
||||
@@ -1784,62 +1794,116 @@ case $os in
|
||||
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
|
||||
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
|
||||
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
|
||||
| fiwix* | mlibc* )
|
||||
| fiwix* | mlibc* | cos* | mbr* | ironclad* )
|
||||
;;
|
||||
# This one is extra strict with allowed versions
|
||||
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
|
||||
# Don't forget version if it is 3.2v4 or newer.
|
||||
;;
|
||||
# This refers to builds using the UEFI calling convention
|
||||
# (which depends on the architecture) and PE file format.
|
||||
# Note that this is both a different calling convention and
|
||||
# different file format than that of GNU-EFI
|
||||
# (x86_64-w64-mingw32).
|
||||
uefi)
|
||||
;;
|
||||
none)
|
||||
;;
|
||||
kernel* )
|
||||
kernel* | msvc* )
|
||||
# Restricted further below
|
||||
;;
|
||||
'')
|
||||
if test x"$obj" = x
|
||||
then
|
||||
echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
|
||||
echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
case $obj in
|
||||
aout* | coff* | elf* | pe*)
|
||||
;;
|
||||
'')
|
||||
# empty is fine
|
||||
;;
|
||||
*)
|
||||
echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Here we handle the constraint that a (synthetic) cpu and os are
|
||||
# valid only in combination with each other and nowhere else.
|
||||
case $cpu-$os in
|
||||
# The "javascript-unknown-ghcjs" triple is used by GHC; we
|
||||
# accept it here in order to tolerate that, but reject any
|
||||
# variations.
|
||||
javascript-ghcjs)
|
||||
;;
|
||||
javascript-* | *-ghcjs)
|
||||
echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# As a final step for OS-related things, validate the OS-kernel combination
|
||||
# (given a valid OS), if there is a kernel.
|
||||
case $kernel-$os in
|
||||
linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
|
||||
| linux-musl* | linux-relibc* | linux-uclibc* )
|
||||
case $kernel-$os-$obj in
|
||||
linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
|
||||
| linux-mlibc*- | linux-musl*- | linux-newlib*- \
|
||||
| linux-relibc*- | linux-uclibc*- )
|
||||
;;
|
||||
uclinux-uclibc* )
|
||||
uclinux-uclibc*- )
|
||||
;;
|
||||
managarm-mlibc* | managarm-kernel* )
|
||||
managarm-mlibc*- | managarm-kernel*- )
|
||||
;;
|
||||
-dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* )
|
||||
windows*-msvc*-)
|
||||
;;
|
||||
-dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \
|
||||
| -uclibc*- )
|
||||
# These are just libc implementations, not actual OSes, and thus
|
||||
# require a kernel.
|
||||
echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
|
||||
echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
-kernel* )
|
||||
echo "Invalid configuration \`$1': \`$os' needs explicit kernel." 1>&2
|
||||
-kernel*- )
|
||||
echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*-kernel* )
|
||||
echo "Invalid configuration \`$1': \`$kernel' does not support \`$os'." 1>&2
|
||||
*-kernel*- )
|
||||
echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
kfreebsd*-gnu* | kopensolaris*-gnu*)
|
||||
*-msvc*- )
|
||||
echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
vxworks-simlinux | vxworks-simwindows | vxworks-spe)
|
||||
kfreebsd*-gnu*- | kopensolaris*-gnu*-)
|
||||
;;
|
||||
nto-qnx*)
|
||||
vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
|
||||
;;
|
||||
os2-emx)
|
||||
nto-qnx*-)
|
||||
;;
|
||||
*-eabi* | *-gnueabi*)
|
||||
os2-emx-)
|
||||
;;
|
||||
-*)
|
||||
*-eabi*- | *-gnueabi*-)
|
||||
;;
|
||||
none--*)
|
||||
# None (no kernel, i.e. freestanding / bare metal),
|
||||
# can be paired with an machine code file format
|
||||
;;
|
||||
-*-)
|
||||
# Blank kernel with real OS is always fine.
|
||||
;;
|
||||
*-*)
|
||||
echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
|
||||
--*)
|
||||
# Blank kernel and OS with real machine code file format is always fine.
|
||||
;;
|
||||
*-*-*)
|
||||
echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -1922,7 +1986,7 @@ case $vendor in
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "$cpu-$vendor-${kernel:+$kernel-}$os"
|
||||
echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
|
||||
exit
|
||||
|
||||
# Local variables:
|
||||
|
||||
@@ -476,15 +476,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
||||
# Always enable optional macros for VM.
|
||||
ALWAYS_CFLAGS_JVM="-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
|
||||
|
||||
# Setup some hard coded includes
|
||||
ALWAYS_CFLAGS_JDK=" \
|
||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
||||
-I\$(SUPPORT_OUTPUTDIR)/modules_include/java.base/\$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
|
||||
-I${TOPDIR}/src/java.base/share/native/libjava \
|
||||
-I${TOPDIR}/src/java.base/$OPENJDK_TARGET_OS_TYPE/native/libjava \
|
||||
-I${TOPDIR}/src/hotspot/share/include \
|
||||
-I${TOPDIR}/src/hotspot/os/${HOTSPOT_TARGET_OS_TYPE}/include"
|
||||
|
||||
###############################################################################
|
||||
|
||||
# Adjust flags according to debug level.
|
||||
@@ -871,7 +862,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
|
||||
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
|
||||
$REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
|
||||
|
||||
CFLAGS_JDK_COMMON="$ALWAYS_CFLAGS_JDK $ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
|
||||
CFLAGS_JDK_COMMON="$ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
|
||||
$OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
|
||||
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK \
|
||||
$FILE_MACRO_CFLAGS $REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
|
||||
|
||||
@@ -31,22 +31,11 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS],
|
||||
FLAGS_SETUP_LDFLAGS_HELPER
|
||||
|
||||
# Setup the target toolchain
|
||||
|
||||
# The target dir matches the name of VM variant
|
||||
TARGET_JVM_VARIANT_PATH=$JVM_VARIANT_MAIN
|
||||
|
||||
# On some platforms (mac) the linker warns about non existing -L dirs.
|
||||
FLAGS_SETUP_LDFLAGS_CPU_DEP([TARGET])
|
||||
|
||||
# Setup the build toolchain
|
||||
|
||||
# When building a buildjdk, it's always only the server variant
|
||||
BUILD_JVM_VARIANT_PATH=server
|
||||
|
||||
FLAGS_SETUP_LDFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
|
||||
|
||||
LDFLAGS_TESTEXE="${TARGET_LDFLAGS_JDK_LIBPATH}"
|
||||
AC_SUBST(LDFLAGS_TESTEXE)
|
||||
AC_SUBST(ADLC_LDFLAGS)
|
||||
])
|
||||
|
||||
@@ -129,7 +118,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
|
||||
# Setup LDFLAGS for linking executables
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
|
||||
# Enabling pie on 32 bit builds prevents the JVM from allocating a continuous
|
||||
# java heap.
|
||||
if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then
|
||||
@@ -155,7 +143,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
fi
|
||||
|
||||
# Export some intermediate variables for compatibility
|
||||
LDFLAGS_CXX_JDK="$BASIC_LDFLAGS_ONLYCXX $BASIC_LDFLAGS_ONLYCXX_JDK_ONLY $DEBUGLEVEL_LDFLAGS_JDK_ONLY"
|
||||
LDFLAGS_CXX_JDK="$DEBUGLEVEL_LDFLAGS_JDK_ONLY"
|
||||
AC_SUBST(LDFLAGS_CXX_JDK)
|
||||
AC_SUBST(LDFLAGS_CXX_PARTIAL_LINKING)
|
||||
])
|
||||
@@ -197,20 +185,11 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
|
||||
fi
|
||||
fi
|
||||
|
||||
# JVM_VARIANT_PATH depends on if this is build or target...
|
||||
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
$1_LDFLAGS_JDK_LIBPATH="-libpath:\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base"
|
||||
else
|
||||
$1_LDFLAGS_JDK_LIBPATH="-L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
|
||||
-L\$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/${$1_JVM_VARIANT_PATH}"
|
||||
fi
|
||||
|
||||
# Export variables according to old definitions, prefix with $2 if present.
|
||||
LDFLAGS_JDK_COMMON="$BASIC_LDFLAGS $BASIC_LDFLAGS_JDK_ONLY \
|
||||
$OS_LDFLAGS $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
|
||||
$2LDFLAGS_JDKLIB="$LDFLAGS_JDK_COMMON $BASIC_LDFLAGS_JDK_LIB_ONLY \
|
||||
${$1_LDFLAGS_JDK_LIBPATH} $SHARED_LIBRARY_FLAGS \
|
||||
$REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
|
||||
$SHARED_LIBRARY_FLAGS $REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
|
||||
$2LDFLAGS_JDKEXE="$LDFLAGS_JDK_COMMON $EXECUTABLE_LDFLAGS \
|
||||
${$1_CPU_EXECUTABLE_LDFLAGS} $REPRODUCIBLE_LDFLAGS $FILE_MACRO_LDFLAGS"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -190,6 +190,17 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
|
||||
fi
|
||||
AC_SUBST(INCLUDE_SA)
|
||||
|
||||
# Setup default CDS alignment. On platforms where one build may run on machines with different
|
||||
# page sizes, the JVM choses a compatible alignment to fit all possible page sizes. This slightly
|
||||
# increases archive size.
|
||||
# The only platform having this problem at the moment is Linux on aarch64, which may encounter
|
||||
# three different page sizes: 4K, 64K, and if run on Mac m1 hardware, 16K.
|
||||
COMPATIBLE_CDS_ALIGNMENT_DEFAULT=false
|
||||
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
|
||||
COMPATIBLE_CDS_ALIGNMENT_DEFAULT=true
|
||||
fi
|
||||
AC_SUBST(COMPATIBLE_CDS_ALIGNMENT_DEFAULT)
|
||||
|
||||
# Compress jars
|
||||
COMPRESS_JARS=false
|
||||
|
||||
@@ -491,7 +502,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
|
||||
[
|
||||
# GCC reports lots of likely false positives for stringop-truncation and format-overflow.
|
||||
# Silence them for now.
|
||||
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base"
|
||||
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base -fno-sanitize=alignment"
|
||||
UBSAN_CFLAGS="$UBSAN_CHECKS -Wno-stringop-truncation -Wno-format-overflow -fno-omit-frame-pointer -DUNDEFINED_BEHAVIOR_SANITIZER"
|
||||
UBSAN_LDFLAGS="$UBSAN_CHECKS"
|
||||
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,
|
||||
@@ -673,7 +684,7 @@ AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE],
|
||||
#
|
||||
AC_DEFUN([JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT],
|
||||
[
|
||||
UTIL_ARG_ENABLE(NAME: compatible-cds-alignment, DEFAULT: false,
|
||||
UTIL_ARG_ENABLE(NAME: compatible-cds-alignment, DEFAULT: $COMPATIBLE_CDS_ALIGNMENT_DEFAULT,
|
||||
RESULT: ENABLE_COMPATIBLE_CDS_ALIGNMENT,
|
||||
DESC: [enable use alternative compatible cds core region alignment],
|
||||
DEFAULT_DESC: [disabled],
|
||||
@@ -849,7 +860,7 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_DEBUG],
|
||||
|
||||
AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
|
||||
[
|
||||
ENABLE_CODESIGN=false
|
||||
MACOSX_CODESIGN_MODE=disabled
|
||||
if test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$CODESIGN" != "x"; then
|
||||
|
||||
UTIL_ARG_WITH(NAME: macosx-codesign, TYPE: literal, OPTIONAL: true,
|
||||
@@ -859,7 +870,6 @@ AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
|
||||
DESC: [set the macosx code signing mode (hardened, debug, auto)]
|
||||
)
|
||||
|
||||
MACOSX_CODESIGN_MODE=disabled
|
||||
if test "x$MACOSX_CODESIGN_ENABLED" = "xtrue"; then
|
||||
|
||||
# Check for user provided code signing identity.
|
||||
@@ -902,9 +912,9 @@ AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
|
||||
AC_MSG_ERROR([unknown value for --with-macosx-codesign: $MACOSX_CODESIGN])
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
|
||||
AC_SUBST(MACOSX_CODESIGN_MODE)
|
||||
fi
|
||||
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
|
||||
AC_SUBST(MACOSX_CODESIGN_MODE)
|
||||
])
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -129,12 +129,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
||||
|
||||
LIB_TESTS_SETUP_GTEST
|
||||
|
||||
BASIC_JDKLIB_LIBS=""
|
||||
BASIC_JDKLIB_LIBS_TARGET=""
|
||||
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
|
||||
BASIC_JDKLIB_LIBS="-ljava -ljvm"
|
||||
fi
|
||||
|
||||
# Math library
|
||||
BASIC_JVM_LIBS="$LIBM"
|
||||
|
||||
@@ -170,12 +164,10 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
||||
LIB_SETUP_JVM_LIBS(BUILD)
|
||||
LIB_SETUP_JVM_LIBS(TARGET)
|
||||
|
||||
JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
|
||||
JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_TARGET"
|
||||
OPENJDK_BUILD_JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
|
||||
OPENJDK_BUILD_JDKLIB_LIBS=""
|
||||
OPENJDK_BUILD_JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_BUILD"
|
||||
|
||||
AC_SUBST(JDKLIB_LIBS)
|
||||
AC_SUBST(JVM_LIBS)
|
||||
AC_SUBST(OPENJDK_BUILD_JDKLIB_LIBS)
|
||||
AC_SUBST(OPENJDK_BUILD_JVM_LIBS)
|
||||
|
||||
@@ -555,7 +555,6 @@ SYSROOT := @SYSROOT@
|
||||
|
||||
# LDFLAGS used to link the jdk native libraries (C-code)
|
||||
LDFLAGS_JDKLIB := @LDFLAGS_JDKLIB@
|
||||
JDKLIB_LIBS := @JDKLIB_LIBS@
|
||||
|
||||
# LDFLAGS used to link the jdk native launchers (C-code)
|
||||
LDFLAGS_JDKEXE := @LDFLAGS_JDKEXE@
|
||||
@@ -571,9 +570,6 @@ LDCXX := @LDCXX@
|
||||
# The flags for linking libstdc++ linker.
|
||||
LIBCXX := @LIBCXX@
|
||||
|
||||
# Compiler and linker flags used when building native tests
|
||||
LDFLAGS_TESTEXE := @LDFLAGS_TESTEXE@
|
||||
|
||||
# BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the
|
||||
# build platform.
|
||||
BUILD_CC := @BUILD_ICECC@ @BUILD_CC@
|
||||
@@ -629,13 +625,6 @@ SHARED_LIBRARY_FLAGS := @SHARED_LIBRARY_FLAGS@
|
||||
SET_SHARED_LIBRARY_ORIGIN = @SET_SHARED_LIBRARY_ORIGIN@
|
||||
SET_EXECUTABLE_ORIGIN = @SET_EXECUTABLE_ORIGIN@
|
||||
|
||||
# Different OS:es have different ways of naming shared libraries.
|
||||
# The SHARED_LIBRARY and STATIC_LIBRARY macros takes "verify" as and argument and returns:
|
||||
# "libverify.so" or "libverify.dylib" or "verify.dll" depending on platform.
|
||||
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
|
||||
SHARED_LIBRARY = @SHARED_LIBRARY@
|
||||
STATIC_LIBRARY = @STATIC_LIBRARY@
|
||||
|
||||
LIBRARY_PREFIX := @LIBRARY_PREFIX@
|
||||
SHARED_LIBRARY_SUFFIX := @SHARED_LIBRARY_SUFFIX@
|
||||
STATIC_LIBRARY_SUFFIX := @STATIC_LIBRARY_SUFFIX@
|
||||
@@ -681,6 +670,10 @@ BUILD_JAR = @FIXPATH@ $(BUILD_JDK)/bin/jar
|
||||
|
||||
DOCS_REFERENCE_JAVADOC := @DOCS_REFERENCE_JAVADOC@
|
||||
|
||||
# A file containing a way to uniquely identify the source code revision that
|
||||
# the build was created from
|
||||
SOURCE_REVISION_TRACKER := $(SUPPORT_OUTPUTDIR)/src-rev/source-revision-tracker
|
||||
|
||||
# Interim langtools modules and arguments
|
||||
INTERIM_LANGTOOLS_BASE_MODULES := java.compiler jdk.compiler jdk.javadoc
|
||||
INTERIM_LANGTOOLS_MODULES := $(addsuffix .interim, $(INTERIM_LANGTOOLS_BASE_MODULES))
|
||||
|
||||
@@ -174,30 +174,24 @@ AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
|
||||
LIBRARY_PREFIX=
|
||||
SHARED_LIBRARY_SUFFIX='.dll'
|
||||
STATIC_LIBRARY_SUFFIX='.lib'
|
||||
SHARED_LIBRARY='[$]1.dll'
|
||||
STATIC_LIBRARY='[$]1.lib'
|
||||
OBJ_SUFFIX='.obj'
|
||||
EXECUTABLE_SUFFIX='.exe'
|
||||
else
|
||||
LIBRARY_PREFIX=lib
|
||||
SHARED_LIBRARY_SUFFIX='.so'
|
||||
STATIC_LIBRARY_SUFFIX='.a'
|
||||
SHARED_LIBRARY='lib[$]1.so'
|
||||
STATIC_LIBRARY='lib[$]1.a'
|
||||
OBJ_SUFFIX='.o'
|
||||
EXECUTABLE_SUFFIX=''
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
# For full static builds, we're overloading the SHARED_LIBRARY
|
||||
# variables in order to limit the amount of changes required.
|
||||
# For full static builds, we're overloading the shared library suffix
|
||||
# in order to limit the amount of changes required.
|
||||
# It would be better to remove SHARED and just use LIBRARY and
|
||||
# LIBRARY_SUFFIX for libraries that can be built either
|
||||
# shared or static and use STATIC_* for libraries that are
|
||||
# always built statically.
|
||||
if test "x$STATIC_BUILD" = xtrue; then
|
||||
SHARED_LIBRARY='lib[$]1.a'
|
||||
SHARED_LIBRARY_SUFFIX='.a'
|
||||
else
|
||||
SHARED_LIBRARY='lib[$]1.dylib'
|
||||
SHARED_LIBRARY_SUFFIX='.dylib'
|
||||
fi
|
||||
fi
|
||||
@@ -206,8 +200,6 @@ AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
|
||||
AC_SUBST(LIBRARY_PREFIX)
|
||||
AC_SUBST(SHARED_LIBRARY_SUFFIX)
|
||||
AC_SUBST(STATIC_LIBRARY_SUFFIX)
|
||||
AC_SUBST(SHARED_LIBRARY)
|
||||
AC_SUBST(STATIC_LIBRARY)
|
||||
AC_SUBST(OBJ_SUFFIX)
|
||||
AC_SUBST(EXECUTABLE_SUFFIX)
|
||||
])
|
||||
@@ -953,11 +945,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
|
||||
# Setup hotspot lecagy names for toolchains
|
||||
HOTSPOT_TOOLCHAIN_TYPE=$TOOLCHAIN_TYPE
|
||||
if test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
HOTSPOT_TOOLCHAIN_TYPE=xlc
|
||||
else
|
||||
HOTSPOT_TOOLCHAIN_TYPE=gcc
|
||||
fi
|
||||
HOTSPOT_TOOLCHAIN_TYPE=gcc
|
||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
HOTSPOT_TOOLCHAIN_TYPE=visCPP
|
||||
fi
|
||||
|
||||
303
make/common/FileUtils.gmk
Normal file
303
make/common/FileUtils.gmk
Normal file
@@ -0,0 +1,303 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
ifeq (,$(_MAKEBASE_GMK))
|
||||
$(error You must include MakeBase.gmk prior to including FileUtils.gmk)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Common file utility functions
|
||||
#
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Replace question marks with space in string. This macro needs to be called on
|
||||
# files from FindFiles in case any of them contains space in their file name,
|
||||
# since FindFiles replaces space with ?.
|
||||
# Param 1 - String to replace in
|
||||
DecodeSpace = \
|
||||
$(subst ?,$(SPACE),$(strip $1))
|
||||
|
||||
EncodeSpace = \
|
||||
$(subst $(SPACE),?,$(strip $1))
|
||||
|
||||
################################################################################
|
||||
# Take two paths and return the path of the last common directory.
|
||||
# Ex: /foo/bar/baz, /foo/bar/banan -> /foo/bar
|
||||
# foo/bar/baz, /foo/bar -> <empty>
|
||||
#
|
||||
# The x prefix is used to preserve the presence of the initial slash
|
||||
# On Windows paths are treated as case-insensitive
|
||||
#
|
||||
# $1 - Path to compare
|
||||
# $2 - Other path to compare
|
||||
FindCommonPathPrefix = \
|
||||
$(call DecodeSpace,$(patsubst x%,%,$(subst $(SPACE),/,$(strip \
|
||||
$(call FindCommonPathPrefixHelper1, \
|
||||
$(subst /,$(SPACE),x$(call EncodeSpace,$(strip $1))), \
|
||||
$(subst /,$(SPACE),x$(call EncodeSpace,$(strip $2)))) \
|
||||
))))
|
||||
|
||||
FindCommonPathPrefixHelper1 = \
|
||||
$(if $(filter $(OPENJDK_TARGET_OS), windows), \
|
||||
$(call FindCommonPathPrefixHelper2,$(call uppercase,$1),$(call uppercase,$2),$1), \
|
||||
$(call FindCommonPathPrefixHelper2,$1,$2,$1))
|
||||
|
||||
FindCommonPathPrefixHelper2 = \
|
||||
$(if $(call equals, $(firstword $1), $(firstword $2)), \
|
||||
$(if $(call equals, $(firstword $1),),, \
|
||||
$(firstword $3) \
|
||||
$(call FindCommonPathPrefixHelper2, \
|
||||
$(wordlist 2, $(words $1), $1), \
|
||||
$(wordlist 2, $(words $2), $2), \
|
||||
$(wordlist 2, $(words $3), $3) \
|
||||
) \
|
||||
) \
|
||||
)
|
||||
|
||||
# Computes the relative path from a directory to a file
|
||||
# $1 - File to compute the relative path to
|
||||
# $2 - Directory to compute the relative path from
|
||||
RelativePath = \
|
||||
$(call DecodeSpace,$(strip $(call RelativePathHelper,$(call EncodeSpace \
|
||||
,$(strip $1)),$(call EncodeSpace \
|
||||
,$(strip $2)),$(call EncodeSpace \
|
||||
,$(call FindCommonPathPrefix,$1,$2)))))
|
||||
|
||||
RelativePathHelper = \
|
||||
$(eval $3_prefix_length := $(words $(subst /,$(SPACE),$3))) \
|
||||
$(eval $1_words := $(subst /,$(SPACE),$1)) \
|
||||
$(eval $2_words := $(subst /,$(SPACE),$2)) \
|
||||
$(if $(call equals,$($3_prefix_length),0),, \
|
||||
$(eval $1_words := $(wordlist 2,$(words $($1_words)),$(wordlist \
|
||||
$($3_prefix_length),$(words $($1_words)),$($1_words)))) \
|
||||
$(eval $2_words := $(wordlist 2,$(words $($2_words)),$(wordlist \
|
||||
$($3_prefix_length),$(words $($2_words)),$($2_words)))) \
|
||||
) \
|
||||
$(eval $1_suffix := $(subst $(SPACE),/,$($1_words))) \
|
||||
$(eval $2_dotdots := $(subst $(SPACE),/,$(foreach d,$($2_words),..))) \
|
||||
$(if $($1_suffix), \
|
||||
$(if $($2_dotdots), $($2_dotdots)/$($1_suffix), $($1_suffix)), \
|
||||
$(if $($2_dotdots), $($2_dotdots), .))
|
||||
|
||||
# Make directory for target file. Should handle spaces in filenames. Just
|
||||
# calling $(call MakeDir $(@D)) will not work if the directory contains a space
|
||||
# and the target file already exists. In that case, the target file will have
|
||||
# its wildcard ? resolved and the $(@D) will evaluate each space separated dir
|
||||
# part on its own.
|
||||
MakeTargetDir = \
|
||||
$(call MakeDir, $(dir $(call EncodeSpace, $@)))
|
||||
|
||||
################################################################################
|
||||
# All install-file and related macros automatically call DecodeSpace when needed.
|
||||
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
# On mac, extended attributes sometimes creep into the source files, which may later
|
||||
# cause the creation of ._* files which confuses testing. Clear these with xattr if
|
||||
# set. Some files get their write permissions removed after being copied to the
|
||||
# output dir. When these are copied again to images, xattr would fail. By only clearing
|
||||
# attributes when they are present, failing on this is avoided.
|
||||
#
|
||||
# If copying a soft link to a directory, need to delete the target first to avoid
|
||||
# weird errors.
|
||||
define install-file
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
# Work around a weirdness with cp on Macosx. When copying a symlink, if
|
||||
# the target of the link is write protected (e.g. 444), cp will add
|
||||
# write permission for the user on the target file (644). Avoid this by
|
||||
# using ln to create a new link instead.
|
||||
if [ -h '$(call DecodeSpace, $<)' ]; then \
|
||||
$(LN) -s "`$(READLINK) '$(call DecodeSpace, $<)'`" '$(call DecodeSpace, $@)'; \
|
||||
else \
|
||||
$(CP) -fRP '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \
|
||||
fi
|
||||
if [ -n "`$(XATTR) -ls '$(call DecodeSpace, $@)'`" ]; then \
|
||||
$(XATTR) -cs '$(call DecodeSpace, $@)'; \
|
||||
fi
|
||||
endef
|
||||
else
|
||||
define install-file
|
||||
$(call MakeTargetDir)
|
||||
$(CP) -fP '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||
endef
|
||||
endif
|
||||
|
||||
# Variant of install file that does not preserve symlinks
|
||||
define install-file-nolink
|
||||
$(call MakeTargetDir)
|
||||
$(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
# link-file-* works similarly to install-file but creates a symlink instead.
|
||||
# There are two versions, either creating a relative or an absolute link. Be
|
||||
# careful when using this on Windows since the symlink created is only valid in
|
||||
# the unix emulation environment.
|
||||
# In msys2 we use mklink /J because its ln would perform a deep copy of the target.
|
||||
# This inhibits performance and can lead to issues with long paths. With mklink /J
|
||||
# relative linking does not work, so we handle the link as absolute path.
|
||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
||||
define link-file-relative
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
||||
endef
|
||||
else
|
||||
define link-file-relative
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
$(LN) -s '$(call DecodeSpace, $(call RelativePath, $<, $(@D)))' '$(call DecodeSpace, $@)'
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
||||
define link-file-absolute
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
||||
endef
|
||||
else
|
||||
define link-file-absolute
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
$(LN) -s '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||
endef
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
||||
# Recursive wildcard function. Walks down directories recursively and matches
|
||||
# files with the search patterns. Patterns use standard file wildcards (* and
|
||||
# ?).
|
||||
#
|
||||
# $1 - Directories to start search in
|
||||
# $2 - Search patterns
|
||||
rwildcard = \
|
||||
$(strip \
|
||||
$(foreach d, \
|
||||
$(patsubst %/,%,$(sort $(dir $(wildcard $(addsuffix /*/*, $(strip $1)))))), \
|
||||
$(call rwildcard,$d,$2) \
|
||||
) \
|
||||
$(call DoubleDollar, $(wildcard $(foreach p, $2, $(addsuffix /$(strip $p), $(strip $1))))) \
|
||||
)
|
||||
|
||||
# Find non directories using recursive wildcard function. This function may
|
||||
# be used directly when a small amount of directories is expected to be
|
||||
# searched and caching is not expected to be of use.
|
||||
#
|
||||
# $1 - Directory to start search in
|
||||
# $2 - Optional search patterns, defaults to '*'.
|
||||
WildcardFindFiles = \
|
||||
$(sort $(strip \
|
||||
$(eval WildcardFindFiles_result := $(call rwildcard,$(patsubst %/,%,$1),$(if $(strip $2),$2,*))) \
|
||||
$(filter-out $(patsubst %/,%,$(sort $(dir $(WildcardFindFiles_result)))), \
|
||||
$(WildcardFindFiles_result) \
|
||||
) \
|
||||
))
|
||||
|
||||
# Find non directories using the find utility in the shell. Safe to call for
|
||||
# non existing directories, or directories containing wildcards.
|
||||
#
|
||||
# Files containing space will get spaces replaced with ? because GNU Make
|
||||
# cannot handle lists of files with space in them. By using ?, make will match
|
||||
# the wildcard to space in many situations so we don't need to replace back
|
||||
# to space on every use. While not a complete solution it does allow some uses
|
||||
# of FindFiles to function with spaces in file names, including for
|
||||
# SetupCopyFiles. Unfortunately this does not work for WildcardFindFiles so
|
||||
# if files with spaces are anticipated, use ShellFindFiles directly.
|
||||
#
|
||||
# $1 - Directories to start search in.
|
||||
# $2 - Optional search patterns, empty means find everything. Patterns use
|
||||
# standard file wildcards (* and ?) and should not be quoted.
|
||||
# $3 - Optional options to find.
|
||||
ShellFindFiles = \
|
||||
$(if $(wildcard $1), \
|
||||
$(sort \
|
||||
$(shell $(FIND) $3 $(patsubst %/,%,$(wildcard $1)) \( -type f -o -type l \) \
|
||||
$(if $(strip $2), -a \( -name "$(firstword $2)" \
|
||||
$(foreach p, $(filter-out $(firstword $2), $2), -o -name "$(p)") \)) \
|
||||
| $(TR) ' ' '?' \
|
||||
) \
|
||||
) \
|
||||
)
|
||||
|
||||
# Find non directories using the method most likely to work best for the
|
||||
# current build host
|
||||
#
|
||||
# $1 - Directory to start search in
|
||||
# $2 - Optional search patterns, defaults to '*'.
|
||||
ifeq ($(OPENJDK_BUILD_OS)-$(RWILDCARD_WORKS), windows-true)
|
||||
DirectFindFiles = $(WildcardFindFiles)
|
||||
else
|
||||
DirectFindFiles = $(ShellFindFiles)
|
||||
endif
|
||||
|
||||
# Finds files using a cache that is populated by FillFindCache below. If any of
|
||||
# the directories given have not been cached, DirectFindFiles is used for
|
||||
# everything. Caching is especially useful in Cygwin, where file finds are very
|
||||
# costly.
|
||||
#
|
||||
# $1 - Directories to start search in.
|
||||
# $2 - Optional search patterns. If used, no caching is done.
|
||||
CacheFindFiles_CACHED_DIRS :=
|
||||
CacheFindFiles_CACHED_FILES :=
|
||||
CacheFindFiles = \
|
||||
$(if $2, \
|
||||
$(call DirectFindFiles, $1, $2) \
|
||||
, \
|
||||
$(if $(filter-out $(addsuffix /%, $(CacheFindFiles_CACHED_DIRS)) \
|
||||
$(CacheFindFiles_CACHED_DIRS), $1), \
|
||||
$(call DirectFindFiles, $1) \
|
||||
, \
|
||||
$(filter $(addsuffix /%,$(patsubst %/,%,$1)) $1,$(CacheFindFiles_CACHED_FILES)) \
|
||||
) \
|
||||
)
|
||||
|
||||
# Explicitly adds files to the find cache used by CacheFindFiles.
|
||||
#
|
||||
# $1 - Directories to start search in
|
||||
FillFindCache = \
|
||||
$(eval CacheFindFiles_NEW_DIRS := $$(filter-out $$(addsuffix /%,\
|
||||
$$(CacheFindFiles_CACHED_DIRS)) $$(CacheFindFiles_CACHED_DIRS), $1)) \
|
||||
$(if $(CacheFindFiles_NEW_DIRS), \
|
||||
$(eval CacheFindFiles_CACHED_DIRS += $$(patsubst %/,%,$$(CacheFindFiles_NEW_DIRS))) \
|
||||
$(eval CacheFindFiles_CACHED_FILES := $$(sort $$(CacheFindFiles_CACHED_FILES) \
|
||||
$$(call DirectFindFiles, $$(CacheFindFiles_NEW_DIRS)))) \
|
||||
)
|
||||
|
||||
# Findfiles is the default macro that should be used to find files in the file
|
||||
# system. This function does not always support files with spaces in the names.
|
||||
# If files with spaces are anticipated, use ShellFindFiles directly.
|
||||
#
|
||||
# $1 - Directories to start search in.
|
||||
# $2 - Optional search patterns, empty means find everything. Patterns use
|
||||
# standard file wildcards (* and ?) and should not be quoted.
|
||||
ifeq ($(DISABLE_CACHE_FIND), true)
|
||||
FindFiles = $(DirectFindFiles)
|
||||
else
|
||||
FindFiles = $(CacheFindFiles)
|
||||
endif
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -30,6 +30,8 @@ ifeq (,$(_MAKEBASE_GMK))
|
||||
$(error You must include MakeBase.gmk prior to including JarArchive.gmk)
|
||||
endif
|
||||
|
||||
include MakeIO.gmk
|
||||
|
||||
FALSE_FIND_PATTERN:=-name FILE_NAME_THAT_DOESNT_EXIST
|
||||
|
||||
# Setup make rules for creating a jar archive.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -30,6 +30,8 @@ ifeq (,$(_MAKEBASE_GMK))
|
||||
$(error You must include MakeBase.gmk prior to including JavaCompilation.gmk)
|
||||
endif
|
||||
|
||||
include MakeIO.gmk
|
||||
|
||||
# Java compilation needs SetupJarArchive and/or SetupZipArchive, if we're
|
||||
# generating a jar file or a source zip.
|
||||
include JarArchive.gmk
|
||||
|
||||
@@ -76,18 +76,163 @@ endif
|
||||
GetJavaHeaderDir = \
|
||||
$(if $(strip $1),$(wildcard $(SUPPORT_OUTPUTDIR)/headers/$(strip $1)))
|
||||
|
||||
# Process a dir description such as "java.base:headers" into a set of proper absolute paths.
|
||||
ProcessDir = \
|
||||
HOTSPOT_INCLUDE_DIR := $(TOPDIR)/src/hotspot/share/include \
|
||||
$(TOPDIR)/src/hotspot/os/$(HOTSPOT_TARGET_OS_TYPE)/include
|
||||
|
||||
# Preprocess a source dir destination. Pass on absolute paths unchanged. Expand
|
||||
# description such as "java.base:headers" into a set of proper absolute paths,
|
||||
# by looking in $MODULE/[shared|$OS|$OSTYPE]/native.
|
||||
# Treat *:libjvm as a special case, and replace it with the proper hotspot
|
||||
# include directories.
|
||||
ProcessSrcDir = \
|
||||
$(if $(findstring :, $1), \
|
||||
$(call FindSrcDirsForComponent, $(firstword $(subst :, , $1)), $(lastword $(subst :, , $1))) \
|
||||
$(if $(filter %:libjvm, $1), \
|
||||
$(HOTSPOT_INCLUDE_DIR) \
|
||||
, \
|
||||
$(call FindSrcDirsForComponent, $(firstword $(subst :, , $1)), \
|
||||
$(lastword $(subst :, , $1))) \
|
||||
) \
|
||||
, \
|
||||
$(if $(filter /%, $1), \
|
||||
$1 \
|
||||
, \
|
||||
$(call FindSrcDirsForComponent, $(MODULE), $1) \
|
||||
$(if $(filter libjvm, $1), \
|
||||
$(HOTSPOT_INCLUDE_DIR) \
|
||||
, \
|
||||
$(call FindSrcDirsForComponent, $(MODULE), $1) \
|
||||
) \
|
||||
) \
|
||||
)
|
||||
|
||||
# Create a proper LIBPATH for the given library. Sets result in $1_$2_LIBPATH.
|
||||
# $1: The name of the rule (namespace)
|
||||
# $2: The safe namespace of the library
|
||||
define ResolveLibPath
|
||||
# Determine proper LIBPATH. This is quite messy due to historical reasons,
|
||||
# and because we need to have special treatment for "gtest:" and ":jvm".
|
||||
ifneq ($$($1_$2_MODULE), gtest)
|
||||
ifneq ($$($1_$2_NAME), jvm)
|
||||
# This is the common case
|
||||
ifeq ($$(call isTargetOs, windows), true)
|
||||
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/native/$$($1_$2_MODULE)/lib$$($1_$2_NAME)
|
||||
else
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/native/$$($1_$2_MODULE)/lib$$($1_$2_NAME)/static
|
||||
else ifeq ($$($1_$2_STATIC_LIBRARY), true)
|
||||
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/native/$$($1_$2_MODULE)
|
||||
else
|
||||
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/modules_libs/$$($1_$2_MODULE)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
# Special treatment for hotspot
|
||||
ifeq ($(CREATING_BUILDJDK), true)
|
||||
# When building a buildjdk, it's always only the server variant
|
||||
$1_$2_JVM_VARIANT_PATH := server
|
||||
else
|
||||
$1_$2_JVM_VARIANT_PATH := $(JVM_VARIANT_MAIN)
|
||||
endif
|
||||
ifeq ($$(call isTargetOs, windows), true)
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
$1_$2_LIBPATH := $$(HOTSPOT_OUTPUTDIR)/variant-$$($1_$2_JVM_VARIANT_PATH)/libjvm/objs/static
|
||||
else
|
||||
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/modules_libs/$$($1_$2_MODULE)
|
||||
endif
|
||||
else
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
$1_$2_LIBPATH := $$(HOTSPOT_OUTPUTDIR)/variant-$$($1_$2_JVM_VARIANT_PATH)/libjvm/objs/static
|
||||
else
|
||||
$1_$2_LIBPATH := $$(SUPPORT_OUTPUTDIR)/modules_libs/$$($1_$2_MODULE)/$$($1_$2_JVM_VARIANT_PATH)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
else
|
||||
# Special treatment for virtual module "gtest"
|
||||
ifeq ($$($1_$2_NAME), jvm)
|
||||
ifeq ($$(call isTargetOs, windows), true)
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/gtest/objs/static
|
||||
else
|
||||
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/gtest/objs
|
||||
endif
|
||||
else
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/gtest/objs/static
|
||||
else
|
||||
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/gtest
|
||||
endif
|
||||
endif
|
||||
else ifeq ($$($1_$2_NAME), gtest)
|
||||
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/libgtest
|
||||
ifeq ($(STATIC_LIBS), true)
|
||||
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/libgtest/objs/static
|
||||
else
|
||||
$1_$2_LIBPATH := $$(JVM_OUTPUTDIR)/libgtest
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
|
||||
# Process a JDK library designation such as "java.desktop:jawt" into the needed
|
||||
# additions to EXTRA_LINK_DEPS, LDFLAGS, LIBS and EXTRA_HEADER_DIRS.
|
||||
# $1: The name of the rule (namespace)
|
||||
# $2: The safe namespace of the library
|
||||
# $3: The actual string given to represent the library
|
||||
define AddJdkLibrary
|
||||
$1_$2_NAME := $$(strip $$(lastword $$(subst :, , $3)))
|
||||
$1_$2_MODULE := $$(strip $$(patsubst %$$($1_$2_NAME), %, $3))
|
||||
|
||||
ifeq ($$(filter lib%, $$($1_$2_NAME)),)
|
||||
$$(error Library name $$($1_$2_NAME) missing lib prefix in $1)
|
||||
endif
|
||||
$1_$2_NAME := $$(strip $$(patsubst lib%, %, $$($1_$2_NAME)))
|
||||
|
||||
ifeq ($$($1_$2_MODULE),)
|
||||
$1_$2_MODULE := $$(MODULE)
|
||||
else
|
||||
$1_$2_MODULE := $$(strip $$(patsubst %:, %, $$($1_$2_MODULE)))
|
||||
endif
|
||||
|
||||
# Determine if the library in question is static.
|
||||
ifeq ($(STATIC_BUILD), true)
|
||||
$1_$2_STATIC_LIBRARY := true
|
||||
endif
|
||||
# Ideally, we should not hardcode these
|
||||
ifeq ($(call isTargetOs, aix)+$$($1_$2_MODULE):$$($1_$2_NAME), true+java.base:jli)
|
||||
$1_$2_STATIC_LIBRARY := true
|
||||
endif
|
||||
ifeq ($$($1_$2_MODULE):$$($1_$2_NAME), gtest:gtest)
|
||||
$1_$2_STATIC_LIBRARY := true
|
||||
endif
|
||||
|
||||
# Setup $1_$2_LIBPATH.
|
||||
$$(eval $$(call ResolveLibPath,$1,$2))
|
||||
|
||||
$1_EXTRA_HEADER_DIRS += $$($1_$2_MODULE):lib$$($1_$2_NAME)
|
||||
|
||||
ifneq ($(STATIC_LIBS), true)
|
||||
ifeq ($$(call isTargetOs, windows), true)
|
||||
ifeq ($$(filter -libpath:$$($1_$2_LIBPATH), $$($1_LDFLAGS)), )
|
||||
$1_LDFLAGS += -libpath:$$($1_$2_LIBPATH)
|
||||
endif
|
||||
$1_LIBS += $$($1_$2_NAME)$(STATIC_LIBRARY_SUFFIX)
|
||||
$1_$2_LIBFILE := $(LIBRARY_PREFIX)$$($1_$2_NAME)$(STATIC_LIBRARY_SUFFIX)
|
||||
else
|
||||
ifeq ($$(filter -L$$($1_$2_LIBPATH), $$($1_LDFLAGS)), )
|
||||
$1_LDFLAGS += -L$$($1_$2_LIBPATH)
|
||||
endif
|
||||
$1_LIBS += -l$$($1_$2_NAME)
|
||||
ifeq ($$($1_$2_STATIC_LIBRARY), true)
|
||||
$1_$2_LIBFILE := $(LIBRARY_PREFIX)$$($1_$2_NAME)$(STATIC_LIBRARY_SUFFIX)
|
||||
else
|
||||
$1_$2_LIBFILE := $(LIBRARY_PREFIX)$$($1_$2_NAME)$(SHARED_LIBRARY_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
$1_EXTRA_LINK_DEPS += $$($1_$2_LIBPATH)/$$($1_$2_LIBFILE)
|
||||
endif
|
||||
endef
|
||||
|
||||
GLOBAL_VERSION_INFO_RESOURCE := $(TOPDIR)/src/java.base/windows/native/common/version.rc
|
||||
|
||||
JDK_RCFLAGS=$(RCFLAGS) \
|
||||
@@ -109,19 +254,32 @@ JDK_RCFLAGS=$(RCFLAGS) \
|
||||
# SetupNativeCompilation. This macro also adds the following additional
|
||||
# arguments:
|
||||
#
|
||||
# EXTRA_RCFLAGS -- additional RCFLAGS to append.
|
||||
# EXTRA_HEADER_DIRS -- additional directories to look for headers in
|
||||
# EXTRA_SRC -- additional directories to look for source in
|
||||
# SRC -- this is passed on after preprocessing. The preprocessing will pass on
|
||||
# absolute paths unchanged, but relative paths will be expanded to include
|
||||
# all directories with this name in $MODULE/[shared|$OS|$OSTYPE]/native.
|
||||
# EXTRA_SRC -- additional directories to look for source in. This is processed
|
||||
# like SRC.
|
||||
# EXCLUDE_SRC_PATTERNS -- exclude source dirs matching these patterns from
|
||||
# appearing in SRC.
|
||||
# EXTRA_HEADER_DIRS -- additional directories to look for headers in. This can
|
||||
# be specified either as an absolute path, or relative directory names which
|
||||
# are preprocessed like SRC, or in the format <module>:<directory>, which
|
||||
# will be processed like SRC but for the given module. The names
|
||||
# "java.base:libjvm" and "gtest:libjvm" symbolise virtual libraries that
|
||||
# will be replaced with proper values for hotspot.
|
||||
# HEADERS_FROM_SRC -- if false, does not add source dirs automatically as
|
||||
# header include dirs. (Defaults to true.)
|
||||
# SRC -- this is passed on, but preprocessed to accept source dir designations
|
||||
# RC_FILEDESC -- override the default FILEDESC for Windows version.rc
|
||||
# such as "java.base:headers".
|
||||
# JDK_LIBS -- libraries generated by the JDK build system to link against
|
||||
# JDK_LIBS -- libraries generated by the JDK build system to link against.
|
||||
# These take the form <module>:<basename>. For the current module, the
|
||||
# module name and colon can be omitted. The basename should be specified
|
||||
# as the source directory, e.g. "libjava". The gtest module is a virtual
|
||||
# module that will be replaced with correct values for gtest. When
|
||||
# specifying JDK_LIBS, suitable values for EXTRA_LINK_DEPS, LDFLAGS, LIBS
|
||||
# and EXTRA_HEADER_DIRS will be added.
|
||||
# JDK_LIBS_<os> or JDK_LIBS_<osType> -- additional JDK_LIBS for the given OS
|
||||
# or OS type only
|
||||
# EXTRA_RCFLAGS -- additional RCFLAGS to append.
|
||||
# RC_FILEDESC -- override the default FILEDESC for Windows version.rc
|
||||
# DEFAULT_LIBCXX -- if false, do not add LIBCXX to LIBS for C++ compilations
|
||||
# DEFAULT_CFLAGS -- if false, do not add default CFLAGS and CXXFLAGS
|
||||
# DEFAULT_LDFLAGS -- if false, do not add default LDFLAGS
|
||||
@@ -183,10 +341,10 @@ define SetupJdkNativeCompilationBody
|
||||
endif
|
||||
endif
|
||||
else
|
||||
$1_SRC := $$(foreach dir, $$($1_SRC), $$(call ProcessDir, $$(dir)))
|
||||
$1_SRC := $$(foreach dir, $$($1_SRC), $$(call ProcessSrcDir, $$(dir)))
|
||||
endif
|
||||
ifneq ($$($1_EXTRA_SRC), )
|
||||
$1_SRC += $$(foreach dir, $$($1_EXTRA_SRC), $$(call ProcessDir, $$(dir)))
|
||||
$1_SRC += $$(foreach dir, $$($1_EXTRA_SRC), $$(call ProcessSrcDir, $$(dir)))
|
||||
endif
|
||||
|
||||
ifneq ($$($1_EXCLUDE_SRC_PATTERNS), )
|
||||
@@ -224,14 +382,19 @@ define SetupJdkNativeCompilationBody
|
||||
|
||||
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS))
|
||||
$1_JDK_LIBS += $$($1_JDK_LIBS_$$(OPENJDK_TARGET_OS_TYPE))
|
||||
# Prepend JDK libs before external libs
|
||||
$1_LIBS := $$($1_JDK_LIBS) $$($1_LIBS)
|
||||
$$(foreach lib, $$($1_JDK_LIBS), \
|
||||
$$(eval $$(call AddJdkLibrary,$1,$$(subst :,_,$$(lib)),$$(lib))) \
|
||||
)
|
||||
|
||||
ifneq ($$($1_EXTRA_HEADER_DIRS), )
|
||||
$1_PROCESSED_EXTRA_HEADER_DIRS := $$(foreach dir, $$($1_EXTRA_HEADER_DIRS), \
|
||||
$$(call ProcessDir, $$(dir)))
|
||||
$1_EXTRA_HEADER_FLAGS := $$(addprefix -I, $$($1_PROCESSED_EXTRA_HEADER_DIRS))
|
||||
endif
|
||||
# Add the include path for jni.h to all native compilations
|
||||
$1_EXTRA_HEADER_DIRS += \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
||||
java.base:include \
|
||||
#
|
||||
|
||||
$1_PROCESSED_EXTRA_HEADER_DIRS := $$(foreach dir, $$($1_EXTRA_HEADER_DIRS), \
|
||||
$$(call ProcessSrcDir, $$(dir)))
|
||||
$1_EXTRA_HEADER_FLAGS := $$(addprefix -I, $$($1_PROCESSED_EXTRA_HEADER_DIRS))
|
||||
|
||||
ifneq ($$($1_DEFAULT_CFLAGS), false)
|
||||
ifeq ($$($1_TYPE), EXECUTABLE)
|
||||
|
||||
@@ -24,9 +24,10 @@
|
||||
#
|
||||
|
||||
################################################################
|
||||
#
|
||||
# Setup common utility functions.
|
||||
#
|
||||
# MakeBase provides the core functionality needed and used by all makefiles. It
|
||||
# should be included by all makefiles. MakeBase provides essential
|
||||
# functionality for named parameter functions, variable dependency, tool
|
||||
# execution, logging and fixpath functionality.
|
||||
################################################################
|
||||
|
||||
ifndef _MAKEBASE_GMK
|
||||
@@ -64,9 +65,6 @@ define NEWLINE
|
||||
|
||||
endef
|
||||
|
||||
# Make sure we have a value (could be overridden on command line by caller)
|
||||
CREATING_BUILDJDK ?= false
|
||||
|
||||
# Certain features only work in newer version of GNU Make. The build will still
|
||||
# function in 3.81, but will be less performant.
|
||||
ifeq (4.0, $(firstword $(sort 4.0 $(MAKE_VERSION))))
|
||||
@@ -75,67 +73,16 @@ ifeq (4.0, $(firstword $(sort 4.0 $(MAKE_VERSION))))
|
||||
RWILDCARD_WORKS := true
|
||||
endif
|
||||
|
||||
|
||||
# For convenience, MakeBase.gmk continues to include these separate files, at
|
||||
# least for now.
|
||||
|
||||
# Utils.gmk must be included before FileUtils.gmk, since it uses some of the
|
||||
# basic utility functions there.
|
||||
include $(TOPDIR)/make/common/Utils.gmk
|
||||
include $(TOPDIR)/make/common/MakeIO.gmk
|
||||
include $(TOPDIR)/make/common/CopyFiles.gmk
|
||||
include $(TOPDIR)/make/common/FileUtils.gmk
|
||||
|
||||
################################################################################
|
||||
# Functions for timers
|
||||
################################################################################
|
||||
|
||||
# Store the build times in this directory.
|
||||
BUILDTIMESDIR=$(OUTPUTDIR)/make-support/build-times
|
||||
|
||||
# Record starting time for build of a sub repository.
|
||||
define RecordStartTime
|
||||
$(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$(strip $1) && \
|
||||
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$(strip $1)_human_readable
|
||||
endef
|
||||
|
||||
# Record ending time and calculate the difference and store it in a
|
||||
# easy to read format. Handles builds that cross midnight. Expects
|
||||
# that a build will never take 24 hours or more.
|
||||
define RecordEndTime
|
||||
$(DATE) '+%Y %m %d %H %M %S' | $(AWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$(strip $1)
|
||||
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$(strip $1)_human_readable
|
||||
$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$(strip $1)` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$(strip $1)` $1 | \
|
||||
$(AWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
|
||||
M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
|
||||
> $(BUILDTIMESDIR)/build_time_diff_$(strip $1)
|
||||
endef
|
||||
|
||||
# Hook to be called when starting to execute a top-level target
|
||||
define TargetEnter
|
||||
$(PRINTF) "## Starting $(patsubst %-only,%,$@)\n"
|
||||
$(call RecordStartTime,$(patsubst %-only,%,$@))
|
||||
endef
|
||||
|
||||
# Hook to be called when finish executing a top-level target
|
||||
define TargetExit
|
||||
$(call RecordEndTime,$(patsubst %-only,%,$@))
|
||||
$(PRINTF) "## Finished $(patsubst %-only,%,$@) (build time %s)\n\n" \
|
||||
"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_$(patsubst %-only,%,$@) | $(CUT) -f 1 -d ' '`"
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
|
||||
# A file containing a way to uniquely identify the source code revision that
|
||||
# the build was created from
|
||||
SOURCE_REVISION_TRACKER := $(SUPPORT_OUTPUTDIR)/src-rev/source-revision-tracker
|
||||
|
||||
# Locate all sourcecode repositories included in the forest, as absolute paths
|
||||
FindAllReposAbs = \
|
||||
$(strip $(sort $(dir $(filter-out $(TOPDIR)/build/%, $(wildcard \
|
||||
$(addprefix $(TOPDIR)/, .git */.git */*/.git */*/*/.git */*/*/*/.git) \
|
||||
)))))
|
||||
|
||||
# Locate all sourcecode repositories included in the forest, as relative paths
|
||||
FindAllReposRel = \
|
||||
$(strip $(subst $(TOPDIR)/,.,$(patsubst $(TOPDIR)/%/, %, $(FindAllReposAbs))))
|
||||
# Make sure we have a value (could be overridden on command line by caller)
|
||||
CREATING_BUILDJDK ?= false
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -237,224 +184,6 @@ define NamedParamsMacroTemplate
|
||||
$(call $(0)Body,$(strip $1))
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
# Make directory without forking mkdir if not needed.
|
||||
#
|
||||
# If a directory with an encoded space is provided, the wildcard function
|
||||
# sometimes returns false answers (typically if the dir existed when the
|
||||
# makefile was parsed, but was deleted by a previous rule). In that case, always
|
||||
# call mkdir regardless of what wildcard says.
|
||||
#
|
||||
# 1: List of directories to create
|
||||
MakeDir = \
|
||||
$(strip \
|
||||
$(eval MakeDir_dirs_to_make := $(strip $(foreach d, $1, \
|
||||
$(if $(findstring ?, $d), '$(call DecodeSpace, $d)', \
|
||||
$(if $(wildcard $d), , $d) \
|
||||
) \
|
||||
))) \
|
||||
$(if $(MakeDir_dirs_to_make), $(shell $(MKDIR) -p $(MakeDir_dirs_to_make))) \
|
||||
)
|
||||
|
||||
# Make directory for target file. Should handle spaces in filenames. Just
|
||||
# calling $(call MakeDir $(@D)) will not work if the directory contains a space
|
||||
# and the target file already exists. In that case, the target file will have
|
||||
# its wildcard ? resolved and the $(@D) will evaluate each space separated dir
|
||||
# part on its own.
|
||||
MakeTargetDir = \
|
||||
$(call MakeDir, $(dir $(call EncodeSpace, $@)))
|
||||
|
||||
################################################################################
|
||||
# All install-file and related macros automatically call DecodeSpace when needed.
|
||||
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
# On mac, extended attributes sometimes creep into the source files, which may later
|
||||
# cause the creation of ._* files which confuses testing. Clear these with xattr if
|
||||
# set. Some files get their write permissions removed after being copied to the
|
||||
# output dir. When these are copied again to images, xattr would fail. By only clearing
|
||||
# attributes when they are present, failing on this is avoided.
|
||||
#
|
||||
# If copying a soft link to a directory, need to delete the target first to avoid
|
||||
# weird errors.
|
||||
define install-file
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
# Work around a weirdness with cp on Macosx. When copying a symlink, if
|
||||
# the target of the link is write protected (e.g. 444), cp will add
|
||||
# write permission for the user on the target file (644). Avoid this by
|
||||
# using ln to create a new link instead.
|
||||
if [ -h '$(call DecodeSpace, $<)' ]; then \
|
||||
$(LN) -s "`$(READLINK) '$(call DecodeSpace, $<)'`" '$(call DecodeSpace, $@)'; \
|
||||
else \
|
||||
$(CP) -fRP '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \
|
||||
fi
|
||||
if [ -n "`$(XATTR) -ls '$(call DecodeSpace, $@)'`" ]; then \
|
||||
$(XATTR) -cs '$(call DecodeSpace, $@)'; \
|
||||
fi
|
||||
endef
|
||||
else
|
||||
define install-file
|
||||
$(call MakeTargetDir)
|
||||
$(CP) -fP '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||
endef
|
||||
endif
|
||||
|
||||
# Variant of install file that does not preserve symlinks
|
||||
define install-file-nolink
|
||||
$(call MakeTargetDir)
|
||||
$(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
# link-file-* works similarly to install-file but creates a symlink instead.
|
||||
# There are two versions, either creating a relative or an absolute link. Be
|
||||
# careful when using this on Windows since the symlink created is only valid in
|
||||
# the unix emulation environment.
|
||||
# In msys2 we use mklink /J because its ln would perform a deep copy of the target.
|
||||
# This inhibits performance and can lead to issues with long paths. With mklink /J
|
||||
# relative linking does not work, so we handle the link as absolute path.
|
||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
||||
define link-file-relative
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
||||
endef
|
||||
else
|
||||
define link-file-relative
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
$(LN) -s '$(call DecodeSpace, $(call RelativePath, $<, $(@D)))' '$(call DecodeSpace, $@)'
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys2)
|
||||
define link-file-absolute
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
cmd //c "mklink /J $(call FixPath, $(call DecodeSpace, $@)) $(call FixPath, $(call DecodeSpace, $<))"
|
||||
endef
|
||||
else
|
||||
define link-file-absolute
|
||||
$(call MakeTargetDir)
|
||||
$(RM) '$(call DecodeSpace, $@)'
|
||||
$(LN) -s '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'
|
||||
endef
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
||||
# Recursive wildcard function. Walks down directories recursively and matches
|
||||
# files with the search patterns. Patterns use standard file wildcards (* and
|
||||
# ?).
|
||||
#
|
||||
# $1 - Directories to start search in
|
||||
# $2 - Search patterns
|
||||
rwildcard = \
|
||||
$(strip \
|
||||
$(foreach d, \
|
||||
$(patsubst %/,%,$(sort $(dir $(wildcard $(addsuffix /*/*, $(strip $1)))))), \
|
||||
$(call rwildcard,$d,$2) \
|
||||
) \
|
||||
$(call DoubleDollar, $(wildcard $(foreach p, $2, $(addsuffix /$(strip $p), $(strip $1))))) \
|
||||
)
|
||||
|
||||
# Find non directories using recursive wildcard function. This function may
|
||||
# be used directly when a small amount of directories is expected to be
|
||||
# searched and caching is not expected to be of use.
|
||||
#
|
||||
# $1 - Directory to start search in
|
||||
# $2 - Optional search patterns, defaults to '*'.
|
||||
WildcardFindFiles = \
|
||||
$(sort $(strip \
|
||||
$(eval WildcardFindFiles_result := $(call rwildcard,$(patsubst %/,%,$1),$(if $(strip $2),$2,*))) \
|
||||
$(filter-out $(patsubst %/,%,$(sort $(dir $(WildcardFindFiles_result)))), \
|
||||
$(WildcardFindFiles_result) \
|
||||
) \
|
||||
))
|
||||
|
||||
# Find non directories using the find utility in the shell. Safe to call for
|
||||
# non existing directories, or directories containing wildcards.
|
||||
#
|
||||
# Files containing space will get spaces replaced with ? because GNU Make
|
||||
# cannot handle lists of files with space in them. By using ?, make will match
|
||||
# the wildcard to space in many situations so we don't need to replace back
|
||||
# to space on every use. While not a complete solution it does allow some uses
|
||||
# of FindFiles to function with spaces in file names, including for
|
||||
# SetupCopyFiles. Unfortunately this does not work for WildcardFindFiles so
|
||||
# if files with spaces are anticipated, use ShellFindFiles directly.
|
||||
#
|
||||
# $1 - Directories to start search in.
|
||||
# $2 - Optional search patterns, empty means find everything. Patterns use
|
||||
# standard file wildcards (* and ?) and should not be quoted.
|
||||
# $3 - Optional options to find.
|
||||
ShellFindFiles = \
|
||||
$(if $(wildcard $1), \
|
||||
$(sort \
|
||||
$(shell $(FIND) $3 $(patsubst %/,%,$(wildcard $1)) \( -type f -o -type l \) \
|
||||
$(if $(strip $2), -a \( -name "$(firstword $2)" \
|
||||
$(foreach p, $(filter-out $(firstword $2), $2), -o -name "$(p)") \)) \
|
||||
| $(TR) ' ' '?' \
|
||||
) \
|
||||
) \
|
||||
)
|
||||
|
||||
# Find non directories using the method most likely to work best for the
|
||||
# current build host
|
||||
#
|
||||
# $1 - Directory to start search in
|
||||
# $2 - Optional search patterns, defaults to '*'.
|
||||
ifeq ($(OPENJDK_BUILD_OS)-$(RWILDCARD_WORKS), windows-true)
|
||||
DirectFindFiles = $(WildcardFindFiles)
|
||||
else
|
||||
DirectFindFiles = $(ShellFindFiles)
|
||||
endif
|
||||
|
||||
# Finds files using a cache that is populated by FillFindCache below. If any of
|
||||
# the directories given have not been cached, DirectFindFiles is used for
|
||||
# everything. Caching is especially useful in Cygwin, where file finds are very
|
||||
# costly.
|
||||
#
|
||||
# $1 - Directories to start search in.
|
||||
# $2 - Optional search patterns. If used, no caching is done.
|
||||
CacheFindFiles_CACHED_DIRS :=
|
||||
CacheFindFiles_CACHED_FILES :=
|
||||
CacheFindFiles = \
|
||||
$(if $2, \
|
||||
$(call DirectFindFiles, $1, $2) \
|
||||
, \
|
||||
$(if $(filter-out $(addsuffix /%, $(CacheFindFiles_CACHED_DIRS)) \
|
||||
$(CacheFindFiles_CACHED_DIRS), $1), \
|
||||
$(call DirectFindFiles, $1) \
|
||||
, \
|
||||
$(filter $(addsuffix /%,$(patsubst %/,%,$1)) $1,$(CacheFindFiles_CACHED_FILES)) \
|
||||
) \
|
||||
)
|
||||
|
||||
# Explicitly adds files to the find cache used by CacheFindFiles.
|
||||
#
|
||||
# $1 - Directories to start search in
|
||||
FillFindCache = \
|
||||
$(eval CacheFindFiles_NEW_DIRS := $$(filter-out $$(addsuffix /%,\
|
||||
$$(CacheFindFiles_CACHED_DIRS)) $$(CacheFindFiles_CACHED_DIRS), $1)) \
|
||||
$(if $(CacheFindFiles_NEW_DIRS), \
|
||||
$(eval CacheFindFiles_CACHED_DIRS += $$(patsubst %/,%,$$(CacheFindFiles_NEW_DIRS))) \
|
||||
$(eval CacheFindFiles_CACHED_FILES := $$(sort $$(CacheFindFiles_CACHED_FILES) \
|
||||
$$(call DirectFindFiles, $$(CacheFindFiles_NEW_DIRS)))) \
|
||||
)
|
||||
|
||||
# Findfiles is the default macro that should be used to find files in the file
|
||||
# system. This function does not always support files with spaces in the names.
|
||||
# If files with spaces are anticipated, use ShellFindFiles directly.
|
||||
#
|
||||
# $1 - Directories to start search in.
|
||||
# $2 - Optional search patterns, empty means find everything. Patterns use
|
||||
# standard file wildcards (* and ?) and should not be quoted.
|
||||
ifeq ($(DISABLE_CACHE_FIND), true)
|
||||
FindFiles = $(DirectFindFiles)
|
||||
else
|
||||
FindFiles = $(CacheFindFiles)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# FixPath
|
||||
#
|
||||
|
||||
@@ -241,32 +241,3 @@ else # HAS_FILE_FUNCTION = false
|
||||
$$(call ListPathsSafely_IfPrintf,$1,$2,29751,30000)
|
||||
endef
|
||||
endif # HAS_FILE_FUNCTION
|
||||
|
||||
################################################################################
|
||||
# Write to and read from file
|
||||
|
||||
# Param 1 - File to read
|
||||
ReadFile = \
|
||||
$(shell $(CAT) $1)
|
||||
|
||||
# Param 1 - Text to write
|
||||
# Param 2 - File to write to
|
||||
ifeq ($(HAS_FILE_FUNCTION), true)
|
||||
WriteFile = \
|
||||
$(file >$2,$(strip $1))
|
||||
else
|
||||
# Use printf to get consistent behavior on all platforms.
|
||||
WriteFile = \
|
||||
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) > $2)
|
||||
endif
|
||||
|
||||
# Param 1 - Text to write
|
||||
# Param 2 - File to write to
|
||||
ifeq ($(HAS_FILE_FUNCTION), true)
|
||||
AppendFile = \
|
||||
$(file >>$2,$(strip $1))
|
||||
else
|
||||
# Use printf to get consistent behavior on all platforms.
|
||||
AppendFile = \
|
||||
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) >> $2)
|
||||
endif
|
||||
|
||||
@@ -36,6 +36,7 @@ ifeq ($(_MAKEBASE_GMK), )
|
||||
$(error You must include MakeBase.gmk prior to including NativeCompilation.gmk)
|
||||
endif
|
||||
|
||||
include MakeIO.gmk
|
||||
include native/CompileFile.gmk
|
||||
include native/DebugSymbols.gmk
|
||||
include native/Flags.gmk
|
||||
@@ -84,6 +85,7 @@ include native/Paths.gmk
|
||||
# EXTRA_FILES List of extra files not in any of the SRC dirs
|
||||
# EXTRA_OBJECT_FILES List of extra object files to include when linking
|
||||
# EXTRA_DEPS List of extra dependencies to be added to each compiled file
|
||||
# EXTRA_LINK_DEPS List of extra dependencies to be added to the link stage
|
||||
# VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run
|
||||
# RCFLAGS flags for RC.
|
||||
# EMBED_MANIFEST if true, embed manifest on Windows.
|
||||
@@ -227,6 +229,9 @@ endef
|
||||
################################################################################
|
||||
# Verify that user passed arguments are valid
|
||||
define VerifyArguments
|
||||
ifeq ($$($1_NAME), )
|
||||
$$(error NAME must not be empty in $1)
|
||||
endif
|
||||
ifneq ($$($1_NAME), $(basename $$($1_NAME)))
|
||||
$$(error NAME must not contain any directory path in $1)
|
||||
endif
|
||||
|
||||
@@ -38,48 +38,53 @@ define ProcessMarkdown
|
||||
$1_$2_INPUT_FILE := $3/$2
|
||||
$1_$2_MARKER := $$(subst /,_,$1_$2)
|
||||
|
||||
ifneq ($$($1_REPLACEMENTS), )
|
||||
$1_$2_PANDOC_INPUT := $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_pre.tmp
|
||||
# Only continue if this target file hasn't been processed already. This lets
|
||||
# the first found source file override any other with the same name.
|
||||
ifeq ($$($1_$2_OUTPUT_FILE_PROCESSED), )
|
||||
$1_$2_OUTPUT_FILE_PROCESSED := true
|
||||
|
||||
$$(eval $$(call SetupTextFileProcessing, $1_$2_PREPROCESSED, \
|
||||
SOURCE_FILES := $$($1_$2_INPUT_FILE), \
|
||||
OUTPUT_FILE := $$($1_$2_PANDOC_INPUT), \
|
||||
REPLACEMENTS := $$($1_REPLACEMENTS), \
|
||||
))
|
||||
else
|
||||
$1_$2_PANDOC_INPUT := $$($1_$2_INPUT_FILE)
|
||||
endif
|
||||
ifneq ($$($1_REPLACEMENTS), )
|
||||
$1_$2_PANDOC_INPUT := $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_pre.tmp
|
||||
|
||||
ifneq ($$($1_POST_PROCESS), )
|
||||
$1_$2_PANDOC_OUTPUT := $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_post.tmp
|
||||
else
|
||||
$1_$2_PANDOC_OUTPUT := $$($1_$2_OUTPUT_FILE)
|
||||
endif
|
||||
|
||||
ifneq ($$($1_CSS), )
|
||||
ifneq ($$(findstring https:/, $$($1_CSS)), )
|
||||
$1_$2_CSS_OPTION := --css '$$($1_CSS)'
|
||||
$$(eval $$(call SetupTextFileProcessing, $1_$2_PREPROCESSED, \
|
||||
SOURCE_FILES := $$($1_$2_INPUT_FILE), \
|
||||
OUTPUT_FILE := $$($1_$2_PANDOC_INPUT), \
|
||||
REPLACEMENTS := $$($1_REPLACEMENTS), \
|
||||
))
|
||||
else
|
||||
$1_$2_CSS := $$(strip $$(call RelativePath, $$($1_CSS), $$($1_$2_TARGET_DIR)))
|
||||
$1_$2_CSS_OPTION := --css '$$($1_$2_CSS)'
|
||||
$1_$2_PANDOC_INPUT := $$($1_$2_INPUT_FILE)
|
||||
endif
|
||||
endif
|
||||
|
||||
# This does not need to be included in VARDEPS since it's from the actual
|
||||
# source file. Only run the shell if the recipe gets executed below.
|
||||
$1_$2_OPTIONS_FROM_SRC = \
|
||||
$$(shell $$(GREP) _pandoc-options_: $3/$2 | $$(CUT) -d : -f 2-)
|
||||
ifneq ($$($1_POST_PROCESS), )
|
||||
$1_$2_PANDOC_OUTPUT := $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_post.tmp
|
||||
else
|
||||
$1_$2_PANDOC_OUTPUT := $$($1_$2_OUTPUT_FILE)
|
||||
endif
|
||||
|
||||
ifneq ($$($1_FILTER), )
|
||||
$1_$2_OPTIONS := --filter $$($1_FILTER)
|
||||
endif
|
||||
ifneq ($$($1_CSS), )
|
||||
ifneq ($$(findstring https:/, $$($1_CSS)), )
|
||||
$1_$2_CSS_OPTION := --css '$$($1_CSS)'
|
||||
else
|
||||
$1_$2_CSS := $$(strip $$(call RelativePath, $$($1_CSS), $$($1_$2_TARGET_DIR)))
|
||||
$1_$2_CSS_OPTION := --css '$$($1_$2_CSS)'
|
||||
endif
|
||||
endif
|
||||
|
||||
$1_$2_VARDEPS := $$($1_OPTIONS) $$($1_$2_OPTIONS) $$($1_CSS) \
|
||||
$$($1_REPLACEMENTS) $$($1_POST_PROCESS)
|
||||
$1_$2_VARDEPS_FILE := $$(call DependOnVariable, $1_$2_VARDEPS, \
|
||||
$$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER).vardeps)
|
||||
# This does not need to be included in VARDEPS since it's from the actual
|
||||
# source file. Only run the shell if the recipe gets executed below.
|
||||
$1_$2_OPTIONS_FROM_SRC = \
|
||||
$$(shell $$(GREP) _pandoc-options_: $3/$2 | $$(CUT) -d : -f 2-)
|
||||
|
||||
$$($1_$2_PANDOC_OUTPUT): $$($1_$2_PANDOC_INPUT) $$($1_$2_VARDEPS_FILE) $$($1_EXTRA_DEPS)
|
||||
ifneq ($$($1_FILTER), )
|
||||
$1_$2_OPTIONS := --filter $$($1_FILTER)
|
||||
endif
|
||||
|
||||
$1_$2_VARDEPS := $$($1_OPTIONS) $$($1_$2_OPTIONS) $$($1_CSS) \
|
||||
$$($1_REPLACEMENTS) $$($1_POST_PROCESS)
|
||||
$1_$2_VARDEPS_FILE := $$(call DependOnVariable, $1_$2_VARDEPS, \
|
||||
$$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER).vardeps)
|
||||
|
||||
$$($1_$2_PANDOC_OUTPUT): $$($1_$2_PANDOC_INPUT) $$($1_$2_VARDEPS_FILE) $$($1_EXTRA_DEPS)
|
||||
$$(call LogInfo, Converting $2 to $$($1_FORMAT))
|
||||
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))
|
||||
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
|
||||
@@ -96,17 +101,18 @@ define ProcessMarkdown
|
||||
fi
|
||||
endif
|
||||
|
||||
# If we have no post processing, PANDOC_OUTPUT is set to OUTPUT_FILE. Otherwise
|
||||
# PANDOC_OUTPUT is a temporary file, and we must now create the real OUTPUT_FILE.
|
||||
ifneq ($$($1_POST_PROCESS), )
|
||||
$$($1_$2_OUTPUT_FILE): $$($1_$2_PANDOC_OUTPUT)
|
||||
# If we have no post processing, PANDOC_OUTPUT is set to OUTPUT_FILE. Otherwise
|
||||
# PANDOC_OUTPUT is a temporary file, and we must now create the real OUTPUT_FILE.
|
||||
ifneq ($$($1_POST_PROCESS), )
|
||||
$$($1_$2_OUTPUT_FILE): $$($1_$2_PANDOC_OUTPUT)
|
||||
$$(call LogInfo, Post-processing markdown file $2)
|
||||
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$($1_$2_TARGET_DIR))
|
||||
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_post, \
|
||||
( $$($1_POST_PROCESS) $$($1_$2_PANDOC_OUTPUT) > $$($1_$2_OUTPUT_FILE) ) )
|
||||
endif
|
||||
endif
|
||||
|
||||
$1 += $$($1_$2_OUTPUT_FILE)
|
||||
$1 += $$($1_$2_OUTPUT_FILE)
|
||||
endif
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -69,7 +69,6 @@ define SetupTestFilesCompilationBody
|
||||
$1_COMPILATION_TYPE := EXECUTABLE
|
||||
$1_LOG_TYPE := executable
|
||||
$1_LD_SET_ORIGIN := false
|
||||
$1_LDFLAGS := $(LDFLAGS_TESTEXE)
|
||||
else
|
||||
$$(error Unknown type: $$($1_TYPE))
|
||||
endif
|
||||
@@ -103,17 +102,21 @@ define SetupTestFilesCompilationBody
|
||||
NAME := $$(unprefixed_name), \
|
||||
TYPE := $$($1_COMPILATION_TYPE), \
|
||||
LINK_TYPE := $(if $$(filter %.cpp, $$(file)), C++, C), \
|
||||
EXTRA_HEADER_DIRS := \
|
||||
java.base:libjava \
|
||||
java.base:libjvm, \
|
||||
EXTRA_FILES := $$(file) $$($1_EXTRA_FILES), \
|
||||
OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \
|
||||
OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \
|
||||
CFLAGS := $$(TEST_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
|
||||
CXXFLAGS := $$(TEST_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
|
||||
LD_SET_ORIGIN := $$($1_LD_SET_ORIGIN), \
|
||||
LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$(name)), \
|
||||
LDFLAGS := $$($1_LDFLAGS_$$(name)), \
|
||||
DISABLED_WARNINGS_gcc := format undef unused-function unused-value, \
|
||||
DISABLED_WARNINGS_clang := undef format-nonliteral \
|
||||
missing-field-initializers sometimes-uninitialized, \
|
||||
DEFAULT_LIBCXX := false, \
|
||||
JDK_LIBS := $$($1_JDK_LIBS_$$(name)), \
|
||||
LIBS := $$($1_LIBS_$$(name)), \
|
||||
DEFAULT_VERSIONINFO_RESOURCE := false, \
|
||||
OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -29,29 +29,34 @@ endif
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Common utility functions
|
||||
# Basic utility functions available to MakeBase.gmk itself
|
||||
#
|
||||
################################################################################
|
||||
|
||||
### Debug functions
|
||||
# String equals
|
||||
equals = \
|
||||
$(if $(strip $1)$(strip $2),$(strip \
|
||||
$(and $(findstring $(strip $1),$(strip $2)),\
|
||||
$(findstring $(strip $2),$(strip $1)))), \
|
||||
true \
|
||||
)
|
||||
|
||||
# Prints the name and value of a variable
|
||||
PrintVar = \
|
||||
$(info $(strip $1) >$($(strip $1))<)
|
||||
# Convert the string given to upper case, without any $(shell)
|
||||
# Inspired by http://lists.gnu.org/archive/html/help-make/2013-09/msg00009.html
|
||||
uppercase_table := a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O \
|
||||
p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z
|
||||
|
||||
################################################################################
|
||||
# This macro translates $ into \$ to protect the $ from expansion in the shell.
|
||||
# To make this macro resilient against already escaped strings, first remove
|
||||
# any present escapes before escaping so that no double escapes are added.
|
||||
EscapeDollar = $(subst $$,\$$,$(subst \$$,$$,$(strip $1)))
|
||||
uppercase_internal = \
|
||||
$(if $(strip $1), $$(subst $(firstword $1), $(call uppercase_internal, \
|
||||
$(wordlist 2, $(words $1), $1), $2)), $2)
|
||||
|
||||
################################################################################
|
||||
# This macro works just like EscapeDollar above, but for #.
|
||||
EscapeHash = $(subst \#,\\\#,$(subst \\\#,\#,$(strip $1)))
|
||||
|
||||
################################################################################
|
||||
# This macro translates $ into $$ to protect the string from make itself.
|
||||
DoubleDollar = $(subst $$,$$$$,$(strip $1))
|
||||
# Convert a string to upper case. Works only on a-z.
|
||||
# $1 - The string to convert
|
||||
uppercase = \
|
||||
$(strip \
|
||||
$(eval uppercase_result := $(call uppercase_internal, $(uppercase_table), $1)) \
|
||||
$(uppercase_result) \
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Creates a sequence of increasing numbers (inclusive).
|
||||
@@ -68,23 +73,142 @@ _sequence-do = \
|
||||
$(words $(SEQUENCE_COUNT)) \
|
||||
$(call _sequence-do,$1))
|
||||
|
||||
################################################################################
|
||||
# This macro translates $ into \$ to protect the $ from expansion in the shell.
|
||||
# To make this macro resilient against already escaped strings, first remove
|
||||
# any present escapes before escaping so that no double escapes are added.
|
||||
EscapeDollar = $(subst $$,\$$,$(subst \$$,$$,$(strip $1)))
|
||||
|
||||
################################################################################
|
||||
# This macro works just like EscapeDollar above, but for #.
|
||||
EscapeHash = $(subst \#,\\\#,$(subst \\\#,\#,$(strip $1)))
|
||||
|
||||
################################################################################
|
||||
# This macro translates $ into $$ to protect the string from make itself.
|
||||
DoubleDollar = $(subst $$,$$$$,$(strip $1))
|
||||
|
||||
################################################################################
|
||||
# ShellQuote
|
||||
#
|
||||
# Quotes a string with single quotes and replaces single quotes with '\'' so
|
||||
# that the contents survives being given to the shell.
|
||||
ShellQuote = \
|
||||
$(SQUOTE)$(subst $(SQUOTE),$(SQUOTE)\$(SQUOTE)$(SQUOTE),$(strip $1))$(SQUOTE)
|
||||
|
||||
################################################################################
|
||||
# Write to and read from file
|
||||
|
||||
# Param 1 - File to read
|
||||
ReadFile = \
|
||||
$(shell $(CAT) $1)
|
||||
|
||||
# Param 1 - Text to write
|
||||
# Param 2 - File to write to
|
||||
ifeq ($(HAS_FILE_FUNCTION), true)
|
||||
WriteFile = \
|
||||
$(file >$2,$(strip $1))
|
||||
else
|
||||
# Use printf to get consistent behavior on all platforms.
|
||||
WriteFile = \
|
||||
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) > $2)
|
||||
endif
|
||||
|
||||
# Param 1 - Text to write
|
||||
# Param 2 - File to write to
|
||||
ifeq ($(HAS_FILE_FUNCTION), true)
|
||||
AppendFile = \
|
||||
$(file >>$2,$(strip $1))
|
||||
else
|
||||
# Use printf to get consistent behavior on all platforms.
|
||||
AppendFile = \
|
||||
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) >> $2)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Make directory without forking mkdir if not needed.
|
||||
#
|
||||
# If a directory with an encoded space is provided, the wildcard function
|
||||
# sometimes returns false answers (typically if the dir existed when the
|
||||
# makefile was parsed, but was deleted by a previous rule). In that case, always
|
||||
# call mkdir regardless of what wildcard says.
|
||||
#
|
||||
# 1: List of directories to create
|
||||
MakeDir = \
|
||||
$(strip \
|
||||
$(eval MakeDir_dirs_to_make := $(strip $(foreach d, $1, \
|
||||
$(if $(findstring ?, $d), '$(call DecodeSpace, $d)', \
|
||||
$(if $(wildcard $d), , $d) \
|
||||
) \
|
||||
))) \
|
||||
$(if $(MakeDir_dirs_to_make), $(shell $(MKDIR) -p $(MakeDir_dirs_to_make))) \
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Check if our build or target conforms to certain restrictions. This set of
|
||||
# functions all work in similar ways, testing the property that the name
|
||||
# implies, so e.g. isTargetCpu test the CPU of the target system.
|
||||
#
|
||||
# $1 - A property, or a space separated list of properties to test for.
|
||||
#
|
||||
# Returns true if the actual property matches one of the properties in the list,
|
||||
# and false otherwise.
|
||||
#
|
||||
# Examples: $(call isTargetOs, linux windows) will return true when executed
|
||||
# on either linux or windows, and false otherwise.
|
||||
# $(call isBuildCpuArch, x86) will return true iff the build CPU Arch is x86.
|
||||
|
||||
isTargetOs = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_OS), $1), true, false))
|
||||
|
||||
isTargetOsType = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_OS_TYPE), $1), true, false))
|
||||
|
||||
isTargetCpu = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU), $1), true, false))
|
||||
|
||||
isTargetCpuArch = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_ARCH), $1), true, false))
|
||||
|
||||
isTargetCpuBits = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_BITS), $1), true, false))
|
||||
|
||||
isBuildOs = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS), $1), true, false))
|
||||
|
||||
isBuildOsType = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS_TYPE), $1), true, false))
|
||||
|
||||
isBuildOsEnv = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS_ENV), $1), true, false))
|
||||
|
||||
isBuildCpu = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_CPU), $1), true, false))
|
||||
|
||||
isBuildCpuArch = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_CPU_ARCH), $1), true, false))
|
||||
|
||||
isCompiler = \
|
||||
$(strip $(if $(filter $(TOOLCHAIN_TYPE), $1), true, false))
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Common utility functions
|
||||
#
|
||||
################################################################################
|
||||
|
||||
### Debug functions
|
||||
|
||||
# Prints the name and value of a variable
|
||||
PrintVar = \
|
||||
$(info $(strip $1) >$($(strip $1))<)
|
||||
|
||||
|
||||
################################################################################
|
||||
# Strip both arguments. Append the first argument to the second argument. If the
|
||||
# first argument is empty, return the empty string.
|
||||
IfAppend = \
|
||||
$(if $(strip $1),$(strip $1)$(strip $2),)
|
||||
|
||||
################################################################################
|
||||
# Replace question marks with space in string. This macro needs to be called on
|
||||
# files from FindFiles in case any of them contains space in their file name,
|
||||
# since FindFiles replaces space with ?.
|
||||
# Param 1 - String to replace in
|
||||
DecodeSpace = \
|
||||
$(subst ?,$(SPACE),$(strip $1))
|
||||
|
||||
EncodeSpace = \
|
||||
$(subst $(SPACE),?,$(strip $1))
|
||||
|
||||
################################################################################
|
||||
# Assign a variable only if it is empty
|
||||
# Param 1 - Variable to assign
|
||||
@@ -92,65 +216,6 @@ EncodeSpace = \
|
||||
SetIfEmpty = \
|
||||
$(if $($(strip $1)),,$(eval $(strip $1) := $2))
|
||||
|
||||
################################################################################
|
||||
# Take two paths and return the path of the last common directory.
|
||||
# Ex: /foo/bar/baz, /foo/bar/banan -> /foo/bar
|
||||
# foo/bar/baz, /foo/bar -> <empty>
|
||||
#
|
||||
# The x prefix is used to preserve the presence of the initial slash
|
||||
# On Windows paths are treated as case-insensitive
|
||||
#
|
||||
# $1 - Path to compare
|
||||
# $2 - Other path to compare
|
||||
FindCommonPathPrefix = \
|
||||
$(call DecodeSpace,$(patsubst x%,%,$(subst $(SPACE),/,$(strip \
|
||||
$(call FindCommonPathPrefixHelper1, \
|
||||
$(subst /,$(SPACE),x$(call EncodeSpace,$(strip $1))), \
|
||||
$(subst /,$(SPACE),x$(call EncodeSpace,$(strip $2)))) \
|
||||
))))
|
||||
|
||||
FindCommonPathPrefixHelper1 = \
|
||||
$(if $(filter $(OPENJDK_TARGET_OS), windows), \
|
||||
$(call FindCommonPathPrefixHelper2,$(call uppercase,$1),$(call uppercase,$2),$1), \
|
||||
$(call FindCommonPathPrefixHelper2,$1,$2,$1))
|
||||
|
||||
FindCommonPathPrefixHelper2 = \
|
||||
$(if $(call equals, $(firstword $1), $(firstword $2)), \
|
||||
$(if $(call equals, $(firstword $1),),, \
|
||||
$(firstword $3) \
|
||||
$(call FindCommonPathPrefixHelper2, \
|
||||
$(wordlist 2, $(words $1), $1), \
|
||||
$(wordlist 2, $(words $2), $2), \
|
||||
$(wordlist 2, $(words $3), $3) \
|
||||
) \
|
||||
) \
|
||||
)
|
||||
|
||||
# Computes the relative path from a directory to a file
|
||||
# $1 - File to compute the relative path to
|
||||
# $2 - Directory to compute the relative path from
|
||||
RelativePath = \
|
||||
$(call DecodeSpace,$(strip $(call RelativePathHelper,$(call EncodeSpace \
|
||||
,$(strip $1)),$(call EncodeSpace \
|
||||
,$(strip $2)),$(call EncodeSpace \
|
||||
,$(call FindCommonPathPrefix,$1,$2)))))
|
||||
|
||||
RelativePathHelper = \
|
||||
$(eval $3_prefix_length := $(words $(subst /,$(SPACE),$3))) \
|
||||
$(eval $1_words := $(subst /,$(SPACE),$1)) \
|
||||
$(eval $2_words := $(subst /,$(SPACE),$2)) \
|
||||
$(if $(call equals,$($3_prefix_length),0),, \
|
||||
$(eval $1_words := $(wordlist 2,$(words $($1_words)),$(wordlist \
|
||||
$($3_prefix_length),$(words $($1_words)),$($1_words)))) \
|
||||
$(eval $2_words := $(wordlist 2,$(words $($2_words)),$(wordlist \
|
||||
$($3_prefix_length),$(words $($2_words)),$($2_words)))) \
|
||||
) \
|
||||
$(eval $1_suffix := $(subst $(SPACE),/,$($1_words))) \
|
||||
$(eval $2_dotdots := $(subst $(SPACE),/,$(foreach d,$($2_words),..))) \
|
||||
$(if $($1_suffix), \
|
||||
$(if $($2_dotdots), $($2_dotdots)/$($1_suffix), $($1_suffix)), \
|
||||
$(if $($2_dotdots), $($2_dotdots), .))
|
||||
|
||||
################################################################################
|
||||
# Filter out duplicate sub strings while preserving order. Keeps the first occurrence.
|
||||
uniq = \
|
||||
@@ -173,14 +238,6 @@ dups = \
|
||||
$(strip $(foreach v, $(sort $1), $(if $(filter-out 1, \
|
||||
$(words $(filter $v, $1))), $v)))
|
||||
|
||||
# String equals
|
||||
equals = \
|
||||
$(if $(strip $1)$(strip $2),$(strip \
|
||||
$(and $(findstring $(strip $1),$(strip $2)),\
|
||||
$(findstring $(strip $2),$(strip $1)))), \
|
||||
true \
|
||||
)
|
||||
|
||||
# Remove a whole list of prefixes
|
||||
# $1 - List of prefixes
|
||||
# $2 - List of elements to process
|
||||
@@ -188,23 +245,6 @@ remove-prefixes = \
|
||||
$(strip $(if $1,$(patsubst $(firstword $1)%,%,\
|
||||
$(call remove-prefixes,$(filter-out $(firstword $1),$1),$2)),$2))
|
||||
|
||||
# Convert the string given to upper case, without any $(shell)
|
||||
# Inspired by http://lists.gnu.org/archive/html/help-make/2013-09/msg00009.html
|
||||
uppercase_table := a,A b,B c,C d,D e,E f,F g,G h,H i,I j,J k,K l,L m,M n,N o,O \
|
||||
p,P q,Q r,R s,S t,T u,U v,V w,W x,X y,Y z,Z
|
||||
|
||||
uppercase_internal = \
|
||||
$(if $(strip $1), $$(subst $(firstword $1), $(call uppercase_internal, \
|
||||
$(wordlist 2, $(words $1), $1), $2)), $2)
|
||||
|
||||
# Convert a string to upper case. Works only on a-z.
|
||||
# $1 - The string to convert
|
||||
uppercase = \
|
||||
$(strip \
|
||||
$(eval uppercase_result := $(call uppercase_internal, $(uppercase_table), $1)) \
|
||||
$(uppercase_result) \
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Boolean operators.
|
||||
|
||||
@@ -290,14 +330,6 @@ define ParseKeywordVariableBody
|
||||
endif
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
# ShellQuote
|
||||
#
|
||||
# Quotes a string with single quotes and replaces single quotes with '\'' so
|
||||
# that the contents survives being given to the shell.
|
||||
ShellQuote = \
|
||||
$(SQUOTE)$(subst $(SQUOTE),$(SQUOTE)\$(SQUOTE)$(SQUOTE),$(strip $1))$(SQUOTE)
|
||||
|
||||
################################################################################
|
||||
# Find lib dir for module
|
||||
# Param 1 - module name
|
||||
@@ -329,53 +361,6 @@ check-jvm-variant = \
|
||||
$(error Internal error: Invalid variant tested: $1)) \
|
||||
$(if $(filter $1, $(JVM_VARIANTS)), true, false))
|
||||
|
||||
################################################################################
|
||||
# Check if our build or target conforms to certain restrictions. This set of
|
||||
# functions all work in similar ways, testing the property that the name
|
||||
# implies, so e.g. isTargetCpu test the CPU of the target system.
|
||||
#
|
||||
# $1 - A property, or a space separated list of properties to test for.
|
||||
#
|
||||
# Returns true if the actual property matches one of the properties in the list,
|
||||
# and false otherwise.
|
||||
#
|
||||
# Examples: $(call isTargetOs, linux windows) will return true when executed
|
||||
# on either linux or windows, and false otherwise.
|
||||
# $(call isBuildCpuArch, x86) will return true iff the build CPU Arch is x86.
|
||||
|
||||
isTargetOs = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_OS), $1), true, false))
|
||||
|
||||
isTargetOsType = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_OS_TYPE), $1), true, false))
|
||||
|
||||
isTargetCpu = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU), $1), true, false))
|
||||
|
||||
isTargetCpuArch = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_ARCH), $1), true, false))
|
||||
|
||||
isTargetCpuBits = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_BITS), $1), true, false))
|
||||
|
||||
isBuildOs = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS), $1), true, false))
|
||||
|
||||
isBuildOsType = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS_TYPE), $1), true, false))
|
||||
|
||||
isBuildOsEnv = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS_ENV), $1), true, false))
|
||||
|
||||
isBuildCpu = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_CPU), $1), true, false))
|
||||
|
||||
isBuildCpuArch = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_CPU_ARCH), $1), true, false))
|
||||
|
||||
isCompiler = \
|
||||
$(strip $(if $(filter $(TOOLCHAIN_TYPE), $1), true, false))
|
||||
|
||||
################################################################################
|
||||
# Converts a space separated list to a comma separated list.
|
||||
#
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
include CopyFiles.gmk
|
||||
|
||||
LIB_DST_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)
|
||||
CONF_DST_DIR := $(SUPPORT_OUTPUTDIR)/modules_conf/$(MODULE)
|
||||
LEGAL_DST_DIR := $(SUPPORT_OUTPUTDIR)/modules_legal/$(MODULE)
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
include CopyFiles.gmk
|
||||
include JdkNativeCompilation.gmk
|
||||
include Modules.gmk
|
||||
include ProcessMarkdown.gmk
|
||||
@@ -122,8 +123,6 @@ define SetupBuildLauncherBody
|
||||
endif
|
||||
endif
|
||||
|
||||
$1_WINDOWS_JLI_LIB := $(call FindStaticLib, java.base, jli, /libjli)
|
||||
|
||||
$1_EXTRA_FILES := $(LAUNCHER_SRC)/main.c
|
||||
|
||||
ifeq ($(ASAN_ENABLED), true)
|
||||
@@ -148,17 +147,13 @@ define SetupBuildLauncherBody
|
||||
-DPROGNAME='"$1"' \
|
||||
$$($1_CFLAGS), \
|
||||
CFLAGS_windows := $$($1_CFLAGS_windows), \
|
||||
EXTRA_HEADER_DIRS := java.base:libjvm, \
|
||||
DISABLED_WARNINGS_gcc := unused-function, \
|
||||
LDFLAGS := $$($1_LDFLAGS), \
|
||||
LDFLAGS_linux := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
|
||||
-L$(call FindLibDirForModule, java.base), \
|
||||
LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
|
||||
-L$(call FindLibDirForModule, java.base), \
|
||||
LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
|
||||
JDK_LIBS_unix := -ljli, \
|
||||
JDK_LIBS_windows := \
|
||||
$(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib \
|
||||
$$($1_WINDOWS_JLI_LIB), \
|
||||
LDFLAGS_linux := $$(call SET_EXECUTABLE_ORIGIN,/../lib), \
|
||||
LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN,/../lib), \
|
||||
JDK_LIBS := java.base:libjli, \
|
||||
JDK_LIBS_windows := java.base:libjava, \
|
||||
LIBS := $$($1_LIBS), \
|
||||
LIBS_unix := $(LIBZ_LIBS), \
|
||||
LIBS_linux := $(LIBDL) -lpthread, \
|
||||
@@ -178,15 +173,6 @@ define SetupBuildLauncherBody
|
||||
|
||||
$$(BUILD_LAUNCHER_$1): $$(BUILD_PLIST_$1)
|
||||
|
||||
ifeq ($(call isTargetOs, aix), true)
|
||||
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, jli)
|
||||
endif
|
||||
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, java, /libjava) \
|
||||
$$($1_WINDOWS_JLI_LIB)
|
||||
endif
|
||||
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
$$(BUILD_LAUNCHER_$1): $$($1_PLIST_FILE)
|
||||
endif
|
||||
|
||||
@@ -24,14 +24,3 @@
|
||||
#
|
||||
|
||||
include JdkNativeCompilation.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
# Absolute paths to lib files on windows for use in LIBS. Should figure out a more
|
||||
# elegant solution to this.
|
||||
WIN_JAVA_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
|
||||
|
||||
# Put the libraries here.
|
||||
INSTALL_LIBRARIES_HERE := $(call FindLibDirForModule, $(MODULE))
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -36,47 +36,35 @@ define CreateDebugSymbols
|
||||
$1_ZIP_EXTERNAL_DEBUG_SYMBOLS := $(ZIP_EXTERNAL_DEBUG_SYMBOLS)
|
||||
endif
|
||||
|
||||
$1_CREATE_DEBUGINFO := false
|
||||
ifeq ($$($1_COPY_DEBUG_SYMBOLS), true)
|
||||
ifneq ($$($1_DEBUG_SYMBOLS), false)
|
||||
$$(call SetIfEmpty, $1_SYMBOLS_DIR, $$($1_OUTPUT_DIR))
|
||||
# Only copy debug symbols for dynamic libraries and programs.
|
||||
ifneq ($$($1_TYPE), STATIC_LIBRARY)
|
||||
# Generate debuginfo files.
|
||||
$1_CREATE_DEBUGINFO := true
|
||||
|
||||
# Setup where the platform specific debuginfo files end up
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_BASENAME).pdb \
|
||||
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).map
|
||||
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_BASENAME).diz
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
$1_DEBUGINFO_FILES := \
|
||||
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM/Contents/Info.plist \
|
||||
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM/Contents/Resources/DWARF/$$($1_BASENAME)
|
||||
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).diz
|
||||
else ifeq ($(call isTargetOsType, unix), true)
|
||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
|
||||
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).diz
|
||||
endif
|
||||
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_SYMBOLS_DIR)/$$($1_BASENAME).pdb" \
|
||||
"-map:$$($1_SYMBOLS_DIR)/$$($1_BASENAME).map"
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
|
||||
$1_EXTRA_LDFLAGS += "-pdbstripped:$$($1_SYMBOLS_DIR)/$$($1_BASENAME).stripped.pdb"
|
||||
endif
|
||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_BASENAME).pdb \
|
||||
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).map
|
||||
|
||||
else ifeq ($(call isTargetOs, linux), true)
|
||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
|
||||
# Setup the command line creating debuginfo files, to be run after linking.
|
||||
# It cannot be run separately since it updates the original target file
|
||||
# Creating the debuglink is done in another command rather than all at once
|
||||
# so we can run it after strip is called, since strip can sometimes mangle the
|
||||
# embedded debuglink, which we want to avoid.
|
||||
$1_CREATE_DEBUGINFO_CMDS := \
|
||||
$$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) && \
|
||||
$$(CHMOD) -x $$($1_DEBUGINFO_FILES)
|
||||
$1_CREATE_DEBUGLINK_CMDS := $(CD) $$($1_SYMBOLS_DIR) && \
|
||||
$$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
|
||||
|
||||
else ifeq ($(call isTargetOs, aix), true)
|
||||
# AIX does not provide the equivalent of OBJCOPY to extract debug symbols,
|
||||
# so we copy the compiled object with symbols to the .debuginfo file, which
|
||||
# happens prior to the STRIP_CMD on the original target object file.
|
||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
|
||||
$1_CREATE_DEBUGINFO_CMDS := $(CP) $$($1_TARGET) $$($1_DEBUGINFO_FILES)
|
||||
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
$1_DEBUGINFO_FILES := \
|
||||
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM/Contents/Info.plist \
|
||||
$$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM/Contents/Resources/DWARF/$$($1_BASENAME)
|
||||
$1_CREATE_DEBUGINFO_CMDS := \
|
||||
$(DSYMUTIL) --out $$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM $$($1_TARGET)
|
||||
endif
|
||||
|
||||
# Since the link rule creates more than one file that we want to track,
|
||||
@@ -98,19 +86,13 @@ define CreateDebugSymbols
|
||||
$1 += $$($1_DEBUGINFO_FILES)
|
||||
|
||||
ifeq ($$($1_ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_BASENAME).diz
|
||||
else
|
||||
$1_DEBUGINFO_ZIP := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).diz
|
||||
endif
|
||||
$1 += $$($1_DEBUGINFO_ZIP)
|
||||
|
||||
# The dependency on TARGET is needed for debuginfo files
|
||||
# to be rebuilt properly.
|
||||
$$($1_DEBUGINFO_ZIP): $$($1_DEBUGINFO_FILES) $$($1_TARGET)
|
||||
$(CD) $$($1_SYMBOLS_DIR) && \
|
||||
$(ZIPEXE) -q -r $$@ $$(subst $$($1_SYMBOLS_DIR)/,, $$($1_DEBUGINFO_FILES))
|
||||
|
||||
$1 += $$($1_DEBUGINFO_ZIP)
|
||||
endif
|
||||
endif # !STATIC_LIBRARY
|
||||
endif # $1_DEBUG_SYMBOLS != false
|
||||
|
||||
@@ -52,12 +52,9 @@ define SetupLinking
|
||||
# being copied.
|
||||
$$(call SetIfEmpty, $1_STRIP_SYMBOLS, $$($1_COPY_DEBUG_SYMBOLS))
|
||||
|
||||
ifneq ($$($1_STRIP_SYMBOLS), false)
|
||||
# Default to using the global STRIPFLAGS. Allow for overriding with an
|
||||
# empty value
|
||||
$1_STRIPFLAGS ?= $(STRIPFLAGS)
|
||||
$1_STRIP_CMD := $$($1_STRIP) $$($1_STRIPFLAGS) $$($1_TARGET)
|
||||
endif
|
||||
# Default to using the global STRIPFLAGS. Allow for overriding with an
|
||||
# empty value
|
||||
$1_STRIPFLAGS ?= $(STRIPFLAGS)
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
@@ -86,7 +83,7 @@ define CreateStaticLibrary
|
||||
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
||||
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
||||
|
||||
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_VARDEPS_FILE)
|
||||
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_EXTRA_LINK_DEPS) $$($1_VARDEPS_FILE)
|
||||
|
||||
$1_AR_OBJ_ARG := $$($1_LD_OBJ_ARG)
|
||||
# With clang on linux, partial linking is enabled and 'AR' takes the output
|
||||
@@ -109,13 +106,12 @@ define CreateStaticLibrary
|
||||
# Do partial linking.
|
||||
ifeq ($$($1_ENABLE_PARTIAL_LINKING), true)
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_partial_link, \
|
||||
$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
||||
$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
||||
$$($1_LD) $(LDFLAGS_CXX_PARTIAL_LINKING) $$($1_SYSROOT_LDFLAGS) \
|
||||
-o $$($1_TARGET_RELOCATABLE) \
|
||||
$$($1_LD_OBJ_ARG))
|
||||
-o $$($1_TARGET_RELOCATABLE) $$($1_LD_OBJ_ARG))
|
||||
endif
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
||||
$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_run_ar, \
|
||||
$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
||||
$$($1_AR) $$(ARFLAGS) -r -cs $$($1_TARGET) \
|
||||
$$($1_AR_OBJ_ARG) $$($1_RES))
|
||||
ifeq ($(STATIC_BUILD), true)
|
||||
@@ -135,13 +131,20 @@ define CreateDynamicLibraryOrExecutable
|
||||
$1_EXTRA_LDFLAGS += $$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
|
||||
endif
|
||||
|
||||
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
|
||||
$1_CODESIGN_OPTS := "$(MACOSX_CODESIGN_IDENTITY)" --timestamp \
|
||||
--options runtime
|
||||
else ifeq ($(MACOSX_CODESIGN_MODE), debug)
|
||||
$1_CODESIGN_OPTS := -
|
||||
endif
|
||||
|
||||
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) \
|
||||
$$($1_EXTRA_LDFLAGS) $$($1_LIBS) $$($1_EXTRA_LIBS) \
|
||||
$$($1_CREATE_DEBUGINFO_CMDS) $$($1_STRIP_CMD) $$($1_CREATE_DEBUGLINK_CMDS)
|
||||
$$($1_DEBUGINFO_FILES) $$($1_STRIPFLAGS)
|
||||
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
||||
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
||||
|
||||
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_VARDEPS_FILE)
|
||||
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_EXTRA_LINK_DEPS) $$($1_VARDEPS_FILE)
|
||||
|
||||
$$($1_TARGET): $$($1_TARGET_DEPS)
|
||||
ifneq ($$($1_OBJ_FILE_LIST), )
|
||||
@@ -153,25 +156,48 @@ define CreateDynamicLibraryOrExecutable
|
||||
endif
|
||||
$$(call LogInfo, Linking $$($1_BASENAME))
|
||||
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_run_ld, \
|
||||
$$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
||||
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
|
||||
$$($1_SYSROOT_LDFLAGS) -o $$($1_TARGET) $$($1_LD_OBJ_ARG) \
|
||||
$$($1_LIBS) $$($1_EXTRA_LIBS))
|
||||
$$($1_CREATE_DEBUGINFO_CMDS)
|
||||
$$($1_STRIP_CMD)
|
||||
$$($1_CREATE_DEBUGLINK_CMDS)
|
||||
# On macosx, optionally run codesign on every binary.
|
||||
# Remove signature explicitly first to avoid warnings if the linker
|
||||
# added a default adhoc signature.
|
||||
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
|
||||
$(CODESIGN) --remove-signature $$@
|
||||
$(CODESIGN) -f -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp \
|
||||
--options runtime --entitlements \
|
||||
$$(call GetEntitlementsFile, $$@) $$@
|
||||
else ifeq ($(MACOSX_CODESIGN_MODE), debug)
|
||||
$(CODESIGN) --remove-signature $$@
|
||||
$(CODESIGN) -f -s - --entitlements \
|
||||
$$(call GetEntitlementsFile, $$@) $$@
|
||||
ifeq ($$($1_CREATE_DEBUGINFO), true)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
# This cannot be run separately since it updates the original target
|
||||
# file.
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_create_debuginfo, \
|
||||
$$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES))
|
||||
$$(CHMOD) -x $$($1_DEBUGINFO_FILES)
|
||||
else ifeq ($(call isTargetOs, aix), true)
|
||||
# AIX does not provide the equivalent of objcopy to extract debug
|
||||
# symbols, so we copy unstripped library instead.
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_create_debuginfo, \
|
||||
$(CP) $$($1_TARGET) $$($1_DEBUGINFO_FILES))
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_create_debuginfo, \
|
||||
$(DSYMUTIL) --out $$($1_SYMBOLS_DIR)/$$($1_BASENAME).dSYM $$($1_TARGET))
|
||||
endif
|
||||
endif
|
||||
ifneq ($$($1_STRIP_SYMBOLS), false)
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_strip, \
|
||||
$$($1_STRIP) $$($1_STRIPFLAGS) $$($1_TARGET))
|
||||
endif
|
||||
ifeq ($$($1_CREATE_DEBUGINFO), true)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
# Run this after strip is called, since strip can sometimes mangle
|
||||
# the embedded debuglink, which we want to avoid.
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_add_debuginfo_link, \
|
||||
$(CD) $$($1_SYMBOLS_DIR) && \
|
||||
$$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET))
|
||||
endif
|
||||
endif
|
||||
ifneq ($(MACOSX_CODESIGN_MODE), disabled)
|
||||
# Remove signature explicitly first to avoid warnings if the linker
|
||||
# added a default adhoc signature.
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_codesign_clear, \
|
||||
$(CODESIGN) --remove-signature $$@)
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_codesign_add, \
|
||||
$(CODESIGN) -f -s $$($1_CODESIGN_OPTS) --entitlements \
|
||||
$$(call GetEntitlementsFile, $$@) $$@)
|
||||
endif
|
||||
endef
|
||||
|
||||
@@ -43,13 +43,16 @@ define CreateStaticLibraryMicrosoft
|
||||
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
||||
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
||||
|
||||
$$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_VARDEPS_FILE)
|
||||
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_RES) $$($1_EXTRA_LINK_DEPS) \
|
||||
$$($1_VARDEPS_FILE)
|
||||
|
||||
$$($1_TARGET): $$($1_TARGET_DEPS)
|
||||
ifneq ($$($1_OBJ_FILE_LIST), )
|
||||
$$(eval $$(call ListPathsSafely, $1_ALL_OBJS, $$($1_OBJ_FILE_LIST)))
|
||||
endif
|
||||
$$(call LogInfo, Building static library $$($1_BASENAME))
|
||||
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_run_lib, \
|
||||
$$($1_LIB) -nologo $$(LIBFLAGS) -out:$$($1_TARGET) \
|
||||
$$($1_LD_OBJ_ARG) $$($1_RES))
|
||||
endef
|
||||
@@ -87,7 +90,7 @@ define CreateDynamicLibraryOrExecutableMicrosoft
|
||||
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
|
||||
|
||||
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_RES) $$($1_MANIFEST) \
|
||||
$$($1_VARDEPS_FILE)
|
||||
$$($1_EXTRA_LINK_DEPS) $$($1_VARDEPS_FILE)
|
||||
|
||||
$$($1_TARGET): $$($1_TARGET_DEPS)
|
||||
ifneq ($$($1_OBJ_FILE_LIST), )
|
||||
@@ -95,7 +98,7 @@ define CreateDynamicLibraryOrExecutableMicrosoft
|
||||
endif
|
||||
$$(call LogInfo, Linking $$($1_BASENAME))
|
||||
$$(call MakeDir, $$($1_OUTPUT_DIR) $$($1_SYMBOLS_DIR))
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_run_ld, \
|
||||
$$($1_LD) -nologo $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
|
||||
$$($1_SYSROOT_LDFLAGS) -out:$$($1_TARGET) $$($1_LD_OBJ_ARG) \
|
||||
$$($1_RES) $$($1_LIBS) $$($1_EXTRA_LIBS)) \
|
||||
|
||||
@@ -120,6 +120,7 @@ NATIVE_ACCESS_MODULES= \
|
||||
jdk.dynalink \
|
||||
jdk.httpserver \
|
||||
jdk.incubator.vector \
|
||||
jdk.internal.le \
|
||||
jdk.internal.vm.ci \
|
||||
jdk.jfr \
|
||||
jdk.jsobject \
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
UNICODE LICENSE V3
|
||||
UNICODE LICENSE V3
|
||||
|
||||
COPYRIGHT AND PERMISSION NOTICE
|
||||
|
||||
Copyright © 2019-2023 Unicode, Inc.
|
||||
Copyright © 1991-2024 Unicode, Inc.
|
||||
|
||||
NOTICE TO USER: Carefully read the following legal agreement. BY
|
||||
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
||||
@@ -37,3 +37,5 @@ Except as contained in this notice, the name of a copyright holder shall
|
||||
not be used in advertising or otherwise to promote the sale, use or other
|
||||
dealings in these Data Files or Software without prior written
|
||||
authorization of the copyright holder.
|
||||
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
@@ -1,4 +0,0 @@
|
||||
CLDR - Unicode Common Locale Data Repository
|
||||
http://cldr.unicode.org
|
||||
|
||||
CLDR version installed: 44
|
||||
10
make/data/cldr/README-common.md
Normal file
10
make/data/cldr/README-common.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# CLDR Common Data
|
||||
|
||||
This zipfile contains [CLDR](http://cldr.unicode.org) Common Data.
|
||||
|
||||
## LICENSE
|
||||
|
||||
See [LICENSE.txt](./LICENSE.txt)
|
||||
|
||||
>Copyright © 2019-2022 Unicode, Inc. All rights reserved.
|
||||
>Distributed under the Terms of Use in https://www.unicode.org/copyright.html
|
||||
@@ -21,7 +21,7 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="phonebk" description="Phonebook style ordering (such as in German)" alias="phonebook"/>
|
||||
<type name="phonetic" description="Phonetic ordering (sorting based on pronunciation)"/>
|
||||
<type name="pinyin" description="Pinyin ordering for Latin and for CJK characters (used in Chinese)"/>
|
||||
<type name="reformed" description="Reformed ordering (such as in Swedish)"/>
|
||||
<type name="reformed" description="Reformed ordering (such as in Swedish)" deprecated="true"/>
|
||||
<type name="search" description="Special collation type for string search" since="1.9"/>
|
||||
<type name="searchjl" description="Special collation type for Korean initial consonant search" since="2.0.1"/>
|
||||
<type name="standard" description="Default ordering for each language"/>
|
||||
|
||||
@@ -291,6 +291,7 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="xbc" description="European Unit of Account (XBC)" since="1.9"/>
|
||||
<type name="xbd" description="European Unit of Account (XBD)" since="1.9"/>
|
||||
<type name="xcd" description="East Caribbean Dollar"/>
|
||||
<type name="xcg" description="Caribbean Guilder"/>
|
||||
<type name="xdr" description="Special Drawing Rights" since="1.9"/>
|
||||
<type name="xeu" description="European Currency Unit" since="1.9"/>
|
||||
<type name="xfo" description="French Gold Franc" since="1.9"/>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
|
||||
@@ -42,7 +42,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST version number CDATA #REQUIRED >
|
||||
<!--@MATCH:regex/\$Revision.*\$-->
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "44" >
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "45" >
|
||||
<!--@MATCH:any-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST version draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
|
||||
@@ -5,9 +5,9 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
-->
|
||||
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
|
||||
@@ -128,10 +128,10 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element name="version">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="number" use="required"/>
|
||||
<xs:attribute default="44" name="cldrVersion">
|
||||
<xs:attribute default="45" name="cldrVersion">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="44"/>
|
||||
<xs:enumeration value="45"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
|
||||
@@ -12,7 +12,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST version number CDATA #REQUIRED >
|
||||
<!--@MATCH:regex/\$Revision.*\$-->
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "44" >
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "45" >
|
||||
<!--@MATCH:version-->
|
||||
<!--@VALUE-->
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
-->
|
||||
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
<xs:element name="ldmlBCP47">
|
||||
@@ -24,10 +24,10 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element name="version">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="number" use="required"/>
|
||||
<xs:attribute default="44" name="cldrVersion">
|
||||
<xs:attribute default="45" name="cldrVersion">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="44"/>
|
||||
<xs:enumeration value="45"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
Copyright © 1991-2021 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
|
||||
<!ELEMENT supplementalData ( version, generation?, cldrVersion?, currencyData?, territoryContainment?, subdivisionContainment?, languageData?, territoryInfo?, postalCodeData?, calendarData?, calendarPreferenceData?, weekData?, timeData?, measurementData?, unitIdComponents?, unitConstants*, unitQuantities*, convertUnits*, unitPreferenceData?, timezoneData?, characters?, transforms?, metadata?, codeMappings?, parentLocales*, personNamesDefaults?, likelySubtags?, metazoneInfo?, plurals?, telephoneCodeData?, numberingSystems?, bcp47KeywordMappings?, gender?, references?, languageMatching?, dayPeriodRuleSet*, metaZones?, primaryZones?, windowsZones?, coverageLevels?, idValidity?, rgScope?, languageGroups?, grammaticalData? ) >
|
||||
<!ELEMENT supplementalData ( version, generation?, cldrVersion?, currencyData?, territoryContainment?, subdivisionContainment?, languageData?, territoryInfo?, postalCodeData?, calendarData?, calendarPreferenceData?, weekData?, timeData?, measurementData?, unitIdComponents?, unitPrefixes?, unitConstants*, unitQuantities*, convertUnits*, unitPreferenceData?, timezoneData?, characters?, transforms?, metadata?, codeMappings?, parentLocales*, personNamesDefaults?, likelySubtags?, metazoneInfo?, plurals?, telephoneCodeData?, numberingSystems?, bcp47KeywordMappings?, gender?, references?, languageMatching?, dayPeriodRuleSet*, metaZones?, primaryZones?, windowsZones?, coverageLevels?, idValidity?, rgScope?, languageGroups?, grammaticalData? ) >
|
||||
|
||||
<!ELEMENT version EMPTY >
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version number CDATA #REQUIRED >
|
||||
<!--@MATCH:any-->
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "44" >
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "45" >
|
||||
<!--@MATCH:version-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST version unicodeVersion CDATA #FIXED "15.0.0" >
|
||||
<!ATTLIST version unicodeVersion CDATA #FIXED "15.1.0" >
|
||||
<!--@MATCH:version-->
|
||||
<!--@VALUE-->
|
||||
|
||||
@@ -75,12 +75,18 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!-- use from and to instead. -->
|
||||
<!--@VALUE-->
|
||||
<!--@DEPRECATED-->
|
||||
<!ATTLIST currency iso4217 NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:validity/currency-->
|
||||
<!ATTLIST currency from NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:time/yyyy-MM-dd-->
|
||||
<!ATTLIST currency to NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:time/yyyy-MM-dd-->
|
||||
<!ATTLIST currency iso4217 NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:validity/currency-->
|
||||
<!ATTLIST currency tz CDATA #IMPLIED >
|
||||
<!--@MATCH:bcp47/tz-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST currency to-tz CDATA #IMPLIED >
|
||||
<!--@MATCH:bcp47/tz-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST currency digits NMTOKEN #IMPLIED >
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST currency rounding NMTOKEN #IMPLIED >
|
||||
@@ -388,6 +394,23 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!--@MATCH:set/regex/[a-z]+[0-9]*-->
|
||||
<!--@VALUE-->
|
||||
|
||||
<!ELEMENT unitPrefixes ( unitPrefix* ) >
|
||||
|
||||
<!ELEMENT unitPrefix EMPTY >
|
||||
<!-- <unitPrefix type='quecto' symbol='q' power10='-30'>
|
||||
<unitPrefix type='kibi' symbol='Ki' power2='10'> -->
|
||||
<!ATTLIST unitPrefix type NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:regex/[A-Za-z]{3,6}-->
|
||||
<!ATTLIST unitPrefix symbol NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:regex/[a-zA-Zμ]{1,2}-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST unitPrefix power10 NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:regex/-?[0-9]{1,2}-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST unitPrefix power2 NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:regex/[0-9]0-->
|
||||
<!--@VALUE-->
|
||||
|
||||
<!ELEMENT unitConstants ( unitConstant* ) >
|
||||
|
||||
<!ELEMENT unitConstant EMPTY >
|
||||
@@ -432,6 +455,9 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST convertUnit offset CDATA #IMPLIED >
|
||||
<!--@MATCH:regex/[-+*/\._ 0-9a-zA-Z]+-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST convertUnit special NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:regex/[A-Za-z][-A-Za-z0-9]*-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST convertUnit systems NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:set/literal/si, si_acceptable, metric, metric_adjacent, ussystem, uksystem, jpsystem, astronomical, person_age, other, prefixable-->
|
||||
<!--@VALUE-->
|
||||
@@ -912,12 +938,15 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!-- # Parent locales -->
|
||||
|
||||
<!ELEMENT parentLocales ( parentLocale* ) >
|
||||
<!ATTLIST parentLocales component NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:literal/segmentations, collations-->
|
||||
<!ATTLIST parentLocales component NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:set/literal/segmentations, collations, plurals, grammaticalFeatures-->
|
||||
|
||||
<!ELEMENT parentLocale EMPTY >
|
||||
<!ATTLIST parentLocale parent NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:validity/locale-->
|
||||
<!ATTLIST parentLocale localeRules NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:set/literal/nonlikelyScript-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST parentLocale locales NMTOKENS #REQUIRED >
|
||||
<!--@MATCH:set/validity/locale-->
|
||||
<!--@VALUE-->
|
||||
|
||||
@@ -5,9 +5,9 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
-->
|
||||
|
||||
<!--
|
||||
Copyright © 1991-2023 Unicode, Inc.
|
||||
Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
<xs:element name="supplementalData">
|
||||
@@ -28,6 +28,7 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element minOccurs="0" ref="timeData"/>
|
||||
<xs:element minOccurs="0" ref="measurementData"/>
|
||||
<xs:element minOccurs="0" ref="unitIdComponents"/>
|
||||
<xs:element minOccurs="0" ref="unitPrefixes"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitConstants"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitQuantities"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="convertUnits"/>
|
||||
@@ -63,17 +64,17 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element name="version">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="number" use="required"/>
|
||||
<xs:attribute default="44" name="cldrVersion">
|
||||
<xs:attribute default="45" name="cldrVersion">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="44"/>
|
||||
<xs:enumeration value="45"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute default="15.0.0" name="unicodeVersion">
|
||||
<xs:attribute default="15.1.0" name="unicodeVersion">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="15.0.0"/>
|
||||
<xs:enumeration value="15.1.0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
@@ -209,9 +210,11 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="alternate"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="before" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="from" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="to" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="tz"/>
|
||||
<xs:attribute name="to-tz"/>
|
||||
<xs:attribute name="digits" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="rounding" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="cashRounding" type="xs:NMTOKEN"/>
|
||||
@@ -251,6 +254,10 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="alternate">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="iso4217" type="xs:NMTOKEN" use="required"/>
|
||||
@@ -919,6 +926,32 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
|
||||
|
||||
|
||||
<xs:element name="unitPrefixes">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="unitPrefix"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="unitPrefix">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="symbol" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="power10" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="power2" type="xs:NMTOKEN"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<!--
|
||||
<unitPrefix type='quecto' symbol='q' power10='-30'>
|
||||
<unitPrefix type='kibi' symbol='Ki' power2='10'>
|
||||
-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="unitConstants">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@@ -976,6 +1009,7 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:attribute name="baseUnit" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="factor"/>
|
||||
<xs:attribute name="offset"/>
|
||||
<xs:attribute name="special" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="systems" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="description"/>
|
||||
</xs:complexType>
|
||||
@@ -991,6 +1025,8 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="unitPreferenceData">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@@ -2049,19 +2085,22 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="parentLocale"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="component" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="component" type="xs:NMTOKENS"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="parentLocale">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="parent" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="localeRules" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="locales" type="xs:NMTOKENS" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="personNamesDefaults">
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
Proper interpretation of these files requires synthesis of missing items, as per
|
||||
@@ -1733,9 +1733,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Creston">
|
||||
<exemplarCity draft="unconfirmed">Крестон</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Yellowknife">
|
||||
<exemplarCity draft="unconfirmed">Иеллоунаиф</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Edmonton">
|
||||
<exemplarCity draft="unconfirmed">Едмонтон</exemplarCity>
|
||||
</zone>
|
||||
@@ -1754,30 +1751,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Resolute">
|
||||
<exemplarCity draft="unconfirmed">Резолиут</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Rainy_River">
|
||||
<exemplarCity draft="unconfirmed">Реини-Ривер</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Rankin_Inlet">
|
||||
<exemplarCity draft="unconfirmed">Ранкин-Инлет</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Coral_Harbour">
|
||||
<exemplarCity draft="unconfirmed">Корал-Харбор</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Thunder_Bay">
|
||||
<exemplarCity draft="unconfirmed">Тандер-Беи</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Nipigon">
|
||||
<exemplarCity draft="unconfirmed">Нипигон</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Toronto">
|
||||
<exemplarCity draft="unconfirmed">Торонто</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Iqaluit">
|
||||
<exemplarCity draft="unconfirmed">Икалуит</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Pangnirtung">
|
||||
<exemplarCity draft="unconfirmed">Пангниртанг</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Moncton">
|
||||
<exemplarCity draft="unconfirmed">Монктон</exemplarCity>
|
||||
</zone>
|
||||
@@ -2585,18 +2570,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Africa/Dar_es_Salaam">
|
||||
<exemplarCity draft="unconfirmed">Дар-ес-Салам</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Uzhgorod">
|
||||
<exemplarCity draft="unconfirmed">Ужҳород</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Kiev">
|
||||
<exemplarCity draft="unconfirmed">Киев</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Simferopol">
|
||||
<exemplarCity draft="unconfirmed">Симферопол</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Zaporozhye">
|
||||
<exemplarCity draft="unconfirmed">Запороже</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Africa/Kampala">
|
||||
<exemplarCity draft="unconfirmed">Кампала</exemplarCity>
|
||||
</zone>
|
||||
@@ -2612,9 +2591,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Nome">
|
||||
<exemplarCity draft="unconfirmed">Ном</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Johnston">
|
||||
<exemplarCity draft="unconfirmed">Џонстон</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Anchorage">
|
||||
<exemplarCity draft="unconfirmed">Анкориџ</exemplarCity>
|
||||
</zone>
|
||||
@@ -3314,11 +3290,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<daylight draft="unconfirmed">Макао, аԥхынтәи аамҭа</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Macquarie">
|
||||
<long>
|
||||
<standard draft="unconfirmed">Маккуори</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Magadan">
|
||||
<long>
|
||||
<generic draft="unconfirmed">Магадан</generic>
|
||||
@@ -3358,13 +3329,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<standard draft="unconfirmed">Моусон</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Mexico_Northwest">
|
||||
<long>
|
||||
<generic draft="unconfirmed">Аҩадамра-Ҭашәаратәи амексикатә аамҭа</generic>
|
||||
<standard draft="unconfirmed">Аҩадамра-Ҭашәаратәи амексикатә астандартә аамҭа</standard>
|
||||
<daylight draft="unconfirmed">Аҩадамра-Ҭашәаратәи амексикатә аԥхынтәи аамҭа</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Mexico_Pacific">
|
||||
<long>
|
||||
<generic draft="unconfirmed">Аокеанҭынчтәи амексикатә аамҭа</generic>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
Proper interpretation of these files requires synthesis of missing items, as per
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
||||
@@ -909,7 +909,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<type key="collation" type="phonebook">Foonboek-sorteervolgorde</type>
|
||||
<type key="collation" type="phonetic">Fonetiese sorteerorde</type>
|
||||
<type key="collation" type="pinyin">Pinyin-sorteervolgorde</type>
|
||||
<type key="collation" type="reformed">Gereformeerde sorteervolgorde</type>
|
||||
<type key="collation" type="search">Algemenedoel-soektog</type>
|
||||
<type key="collation" type="searchjl">Soek volgens Hangul-beginkonsonant</type>
|
||||
<type key="collation" type="standard">Standaard rangskikvolgorde</type>
|
||||
@@ -2053,9 +2052,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<regionFormat>{0}-tyd</regionFormat>
|
||||
<regionFormat type="daylight">{0}-dagligtyd</regionFormat>
|
||||
<regionFormat type="standard">{0}-standaardtyd</regionFormat>
|
||||
<zone type="America/Santa_Isabel">
|
||||
<exemplarCity>Santa Isabel</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Etc/UTC">
|
||||
<long>
|
||||
<standard>Gekoördineerde universele tyd</standard>
|
||||
@@ -2076,9 +2072,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Europe/Vienna">
|
||||
<exemplarCity>Wene</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Currie">
|
||||
<exemplarCity>Currie</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Asia/Baku">
|
||||
<exemplarCity>Bakoe</exemplarCity>
|
||||
</zone>
|
||||
@@ -2097,12 +2090,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Cambridge_Bay">
|
||||
<exemplarCity>Cambridgebaai</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Rainy_River">
|
||||
<exemplarCity>Rainyrivier</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Thunder_Bay">
|
||||
<exemplarCity>Thunderbaai</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Goose_Bay">
|
||||
<exemplarCity>Goosebaai</exemplarCity>
|
||||
</zone>
|
||||
@@ -2894,11 +2881,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<daylight>Lord Howe-dagligtyd</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Macquarie">
|
||||
<long>
|
||||
<standard>Macquarie-eiland-tyd</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Magadan">
|
||||
<long>
|
||||
<generic>Magadan-tyd</generic>
|
||||
@@ -2938,13 +2920,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<standard>Mawson-tyd</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Mexico_Northwest">
|
||||
<long>
|
||||
<generic>Noordwes-Meksiko-tyd</generic>
|
||||
<standard>Noordwes-Meksiko-standaardtyd</standard>
|
||||
<daylight>Noordwes-Meksiko-dagligtyd</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Mexico_Pacific">
|
||||
<long>
|
||||
<generic>Meksikaanse Pasifiese tyd</generic>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
||||
@@ -985,7 +985,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<type key="collation" type="phonebook">የስልክ ደብተር ድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="phonetic">የፎነቲክ ድርደራ ቅደም ተከተል</type>
|
||||
<type key="collation" type="pinyin">ፒንይን የድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="reformed">ዳግም የተፈጠረ የድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="search">ለጠቅላላ ጉዳይ ፍለጋ</type>
|
||||
<type key="collation" type="searchjl">በሃንጉል የመጀመሪያ ተነባቢ ፈልግ</type>
|
||||
<type key="collation" type="standard">መደበኛ</type>
|
||||
@@ -1982,9 +1981,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<regionFormat>{0} ጊዜ</regionFormat>
|
||||
<regionFormat type="daylight">{0} የቀን ብርሃን ሰዓት</regionFormat>
|
||||
<regionFormat type="standard">{0} መደበኛ ሰዓት</regionFormat>
|
||||
<zone type="America/Santa_Isabel">
|
||||
<exemplarCity>ሳንታ ኢዛቤል</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Etc/UTC">
|
||||
<long>
|
||||
<standard>የተቀነባበረ ሁለገብ ሰዓት</standard>
|
||||
@@ -2107,9 +2103,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Australia/Melbourne">
|
||||
<exemplarCity>ሜልቦርን</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Currie">
|
||||
<exemplarCity>ከሪ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Hobart">
|
||||
<exemplarCity>ሆባርት</exemplarCity>
|
||||
</zone>
|
||||
@@ -2263,9 +2256,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Creston">
|
||||
<exemplarCity>ክረስተን</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Yellowknife">
|
||||
<exemplarCity>የሎውናይፍ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Edmonton">
|
||||
<exemplarCity>ኤድመንተን</exemplarCity>
|
||||
</zone>
|
||||
@@ -2284,30 +2274,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Resolute">
|
||||
<exemplarCity>ሪዞሊዩት</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Rainy_River">
|
||||
<exemplarCity>ሬኒ ሪቨር</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Rankin_Inlet">
|
||||
<exemplarCity>ራንኪን ኢንሌት</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Coral_Harbour">
|
||||
<exemplarCity>አቲኮካን</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Thunder_Bay">
|
||||
<exemplarCity>ተንደር ቤይ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Nipigon">
|
||||
<exemplarCity>ኒፒጎን</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Toronto">
|
||||
<exemplarCity>ቶሮንቶ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Iqaluit">
|
||||
<exemplarCity>ኢኳሊውት</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Pangnirtung">
|
||||
<exemplarCity>ፓንግኒርተንግ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Moncton">
|
||||
<exemplarCity>ሞንክቶን</exemplarCity>
|
||||
</zone>
|
||||
@@ -3121,18 +3099,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Africa/Dar_es_Salaam">
|
||||
<exemplarCity>ዳሬ ሰላም</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Uzhgorod">
|
||||
<exemplarCity>ኡዝጎሮድ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Kiev">
|
||||
<exemplarCity>ኪየቭ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Simferopol">
|
||||
<exemplarCity>ሲምፈሮፖል</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Zaporozhye">
|
||||
<exemplarCity>ዛፖሮዚይ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Africa/Kampala">
|
||||
<exemplarCity>ካምፓላ</exemplarCity>
|
||||
</zone>
|
||||
@@ -3151,9 +3123,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Pacific/Honolulu">
|
||||
<exemplarCity>ሆኖሉሉ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Johnston">
|
||||
<exemplarCity>ጆንስተን</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Anchorage">
|
||||
<exemplarCity>አንኮራጅ</exemplarCity>
|
||||
</zone>
|
||||
@@ -3803,11 +3772,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<daylight>የሎርድ ሆዌ የቀን ሰዓት አቆጣጠር</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Macquarie">
|
||||
<long>
|
||||
<standard>የማከሪ ደሴት ሰዓት</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Magadan">
|
||||
<long>
|
||||
<generic>የማጋዳን የሰዓት አቆጣጠር</generic>
|
||||
@@ -3847,13 +3811,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<standard>የማውሰን ሰዓት</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Mexico_Northwest">
|
||||
<long>
|
||||
<generic>ሰሜናዊ ምእራብ የሜክሲኮ ሰዓት አቆጣጠር</generic>
|
||||
<standard>ሰሜናዊ ምእራብ የሜክሲኮ መደበኛ ሰዓት አቆጣጠር</standard>
|
||||
<daylight>ሰሜናዊ ምእራብ የሜክሲኮ የቀን ሰዓት አቆጣጠር</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Mexico_Pacific">
|
||||
<long>
|
||||
<generic>የሜክሲኮ ፓሲፊክ ሰዓት አቆጣጠር</generic>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/ for derived annotations.
|
||||
@@ -1114,7 +1114,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<type key="collation" type="phonebook">الترتيب حسب دليل الهاتف</type>
|
||||
<type key="collation" type="phonetic">الترتيب حسب اللفظ</type>
|
||||
<type key="collation" type="pinyin">الترتيب حسب نظام بنيين الصيني</type>
|
||||
<type key="collation" type="reformed">الترتيب المحسَّن</type>
|
||||
<type key="collation" type="search">بحث لأغراض عامة</type>
|
||||
<type key="collation" type="searchjl" draft="contributed">بحث باستخدام حرف الهانغول الساكن الأول</type>
|
||||
<type key="collation" type="standard">ترتيب الفرز القياسي</type>
|
||||
@@ -2817,9 +2816,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<regionFormat>توقيت {0}</regionFormat>
|
||||
<regionFormat type="daylight">توقيت {0} الصيفي</regionFormat>
|
||||
<regionFormat type="standard">توقيت {0} الرسمي</regionFormat>
|
||||
<zone type="America/Santa_Isabel">
|
||||
<exemplarCity>سانتا إيزابيل</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Etc/UTC">
|
||||
<long>
|
||||
<standard>التوقيت العالمي المنسق</standard>
|
||||
@@ -2942,9 +2938,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Australia/Melbourne">
|
||||
<exemplarCity>ميلبورن</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Currie">
|
||||
<exemplarCity>كوري</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Hobart">
|
||||
<exemplarCity>هوبارت</exemplarCity>
|
||||
</zone>
|
||||
@@ -3098,9 +3091,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Creston">
|
||||
<exemplarCity>كريستون</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Yellowknife">
|
||||
<exemplarCity>يلونيف</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Edmonton">
|
||||
<exemplarCity>ايدمونتون</exemplarCity>
|
||||
</zone>
|
||||
@@ -3119,30 +3109,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Resolute">
|
||||
<exemplarCity>ريزولوت</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Rainy_River">
|
||||
<exemplarCity>راني ريفر</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Rankin_Inlet">
|
||||
<exemplarCity>رانكن انلت</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Coral_Harbour">
|
||||
<exemplarCity>كورال هاربر</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Thunder_Bay">
|
||||
<exemplarCity>ثندر باي</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Nipigon">
|
||||
<exemplarCity>نيبيجون</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Toronto">
|
||||
<exemplarCity>تورونتو</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Iqaluit">
|
||||
<exemplarCity>اكويلت</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Pangnirtung">
|
||||
<exemplarCity>بانجينتينج</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Moncton">
|
||||
<exemplarCity>وينكتون</exemplarCity>
|
||||
</zone>
|
||||
@@ -3956,18 +3934,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Africa/Dar_es_Salaam">
|
||||
<exemplarCity>دار السلام</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Uzhgorod">
|
||||
<exemplarCity>أوزجرود</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Kiev">
|
||||
<exemplarCity>كييف</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Simferopol">
|
||||
<exemplarCity>سيمفروبول</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Zaporozhye">
|
||||
<exemplarCity>زابوروزي</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Africa/Kampala">
|
||||
<exemplarCity>كامبالا</exemplarCity>
|
||||
</zone>
|
||||
@@ -3986,9 +3958,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Pacific/Honolulu">
|
||||
<exemplarCity>هونولولو</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Johnston">
|
||||
<exemplarCity>جونستون</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Anchorage">
|
||||
<exemplarCity>أنشوراج</exemplarCity>
|
||||
</zone>
|
||||
@@ -4646,11 +4615,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<daylight>التوقيت الصيفي للورد هاو</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Macquarie">
|
||||
<long>
|
||||
<standard>توقيت ماكواري</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Magadan">
|
||||
<long>
|
||||
<generic>توقيت ماغادان</generic>
|
||||
@@ -4690,13 +4654,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<standard>توقيت ماوسون</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Mexico_Northwest">
|
||||
<long>
|
||||
<generic>توقيت شمال غرب المكسيك</generic>
|
||||
<standard>التوقيت الرسمي لشمال غرب المكسيك</standard>
|
||||
<daylight>التوقيت الصيفي لشمال غرب المكسيك</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Mexico_Pacific">
|
||||
<long>
|
||||
<generic>توقيت المحيط الهادي للمكسيك</generic>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2023 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2024 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-DFS-2016
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
<ldml>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user