mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2026-01-09 01:51:42 +01:00
Compare commits
122 Commits
kb/add-int
...
avu/Scaler
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
406068828e | ||
|
|
39fe626ab2 | ||
|
|
ecbf51dd2b | ||
|
|
22813b1268 | ||
|
|
55096400cb | ||
|
|
f785405d8a | ||
|
|
9594d21753 | ||
|
|
fc617b4981 | ||
|
|
485f20ff2e | ||
|
|
41a757cc44 | ||
|
|
0944002217 | ||
|
|
31546927ff | ||
|
|
e8562abde6 | ||
|
|
048581e256 | ||
|
|
07dd592033 | ||
|
|
9763783e2c | ||
|
|
d07bbeebde | ||
|
|
69998eb0f1 | ||
|
|
a55e3e7106 | ||
|
|
afd9d426e1 | ||
|
|
bf10987e9b | ||
|
|
b63381de1a | ||
|
|
0c0fd27e8a | ||
|
|
9c9cf3108b | ||
|
|
0ee7bfbe7f | ||
|
|
d4464c3528 | ||
|
|
ba13f5b44d | ||
|
|
0c34b9d773 | ||
|
|
9e73bf004a | ||
|
|
7aa91cec97 | ||
|
|
500aedf7ab | ||
|
|
0b1413e455 | ||
|
|
36eb1ca74b | ||
|
|
4c95c5fd26 | ||
|
|
13b5213c11 | ||
|
|
e7f4c14811 | ||
|
|
1a0bfc580f | ||
|
|
6b676aa4e3 | ||
|
|
e768e513be | ||
|
|
47f96b7aa5 | ||
|
|
1bc0512516 | ||
|
|
951f159948 | ||
|
|
609d6bf759 | ||
|
|
93aaafe4ee | ||
|
|
52d6a3f9a3 | ||
|
|
4d90778b93 | ||
|
|
8fd5eada72 | ||
|
|
77c3ebbcc9 | ||
|
|
eac7652972 | ||
|
|
6c29e466fc | ||
|
|
87bd91640a | ||
|
|
a85030c77b | ||
|
|
192ff8c234 | ||
|
|
64ffafb2f9 | ||
|
|
e77b3c7bfa | ||
|
|
ed922b5a52 | ||
|
|
1c04c1cc73 | ||
|
|
dfcf793d0d | ||
|
|
e64e208838 | ||
|
|
a5793a7818 | ||
|
|
5452f3a72e | ||
|
|
719308766d | ||
|
|
785c06ff20 | ||
|
|
2575218af5 | ||
|
|
4876768b7e | ||
|
|
fa149f4c3e | ||
|
|
a2b622b2f7 | ||
|
|
00883f6e7a | ||
|
|
33aca8a4ee | ||
|
|
be95958e4b | ||
|
|
c2b1fffda0 | ||
|
|
659fce88a5 | ||
|
|
1e2bcc73fc | ||
|
|
0aec796bb3 | ||
|
|
af7a5a7ad9 | ||
|
|
eb104c1548 | ||
|
|
5460de575c | ||
|
|
26919716a0 | ||
|
|
40bbc08ce5 | ||
|
|
55cf819c13 | ||
|
|
ab0355b054 | ||
|
|
be3551f0e5 | ||
|
|
a69429b578 | ||
|
|
0973d78386 | ||
|
|
2702cdc856 | ||
|
|
5fd29b7d7d | ||
|
|
fe86419872 | ||
|
|
48980ce16d | ||
|
|
6610556998 | ||
|
|
07a1373891 | ||
|
|
0a51c0ed4c | ||
|
|
cf91087847 | ||
|
|
9c6881c0ac | ||
|
|
2f2d4f73dd | ||
|
|
51a89e75a5 | ||
|
|
75d5a4275c | ||
|
|
d2488ce66f | ||
|
|
a7de23c5f2 | ||
|
|
b4221afe5d | ||
|
|
eda3e6d168 | ||
|
|
ed24269d6d | ||
|
|
0cd839036e | ||
|
|
e4cfa45ab2 | ||
|
|
21f6d49b11 | ||
|
|
350e5620e5 | ||
|
|
9c09179e2f | ||
|
|
2d780c877c | ||
|
|
bb4861fbb4 | ||
|
|
f1c4dd9eea | ||
|
|
f38665e5e5 | ||
|
|
5a9e2f1570 | ||
|
|
b32acb26fe | ||
|
|
2a00efc1bf | ||
|
|
336c05b656 | ||
|
|
e196dacf8e | ||
|
|
d699ec0f21 | ||
|
|
f8b5046f39 | ||
|
|
c11629bbeb | ||
|
|
67c492e1b2 | ||
|
|
9df9e7ddc1 | ||
|
|
120d494fc2 | ||
|
|
e49c6c8328 |
137
.github/workflows/submit.yml
vendored
137
.github/workflows/submit.yml
vendored
@@ -25,7 +25,6 @@ jobs:
|
||||
platform_windows_aarch64: ${{ steps.check_platforms.outputs.platform_windows_aarch64 }}
|
||||
platform_windows_x64: ${{ steps.check_platforms.outputs.platform_windows_x64 }}
|
||||
platform_macos_x64: ${{ steps.check_platforms.outputs.platform_macos_x64 }}
|
||||
platform_macos_aarch64: ${{ steps.check_platforms.outputs.platform_macos_aarch64 }}
|
||||
dependencies: ${{ steps.check_deps.outputs.dependencies }}
|
||||
|
||||
steps:
|
||||
@@ -42,7 +41,6 @@ jobs:
|
||||
echo "::set-output name=platform_windows_aarch64::${{ contains(github.event.inputs.platforms, 'windows aarch64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'windows aarch64'))) }}"
|
||||
echo "::set-output name=platform_windows_x64::${{ contains(github.event.inputs.platforms, 'windows x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'windows x64'))) }}"
|
||||
echo "::set-output name=platform_macos_x64::${{ contains(github.event.inputs.platforms, 'macos x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'macos x64'))) }}"
|
||||
echo "::set-output name=platform_macos_aarch64::${{ contains(github.event.inputs.platforms, 'macos aarch64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'macos aarch64'))) }}"
|
||||
if: steps.check_submit.outputs.should_run != 'false'
|
||||
|
||||
- name: Determine unique bundle identifier
|
||||
@@ -67,7 +65,7 @@ jobs:
|
||||
if: steps.check_submit.outputs.should_run != 'false'
|
||||
|
||||
- name: Determine the jtreg ref to checkout
|
||||
run: "echo JTREG_REF=jtreg-${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_VERSION }}+${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_BUILD }} >> $GITHUB_ENV"
|
||||
run: "echo JTREG_REF=jtreg${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_VERSION }}-${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_BUILD }} >> $GITHUB_ENV"
|
||||
if: steps.check_submit.outputs.should_run != 'false'
|
||||
|
||||
- name: Check if a jtreg image is present in the cache
|
||||
@@ -87,7 +85,7 @@ jobs:
|
||||
if: steps.check_submit.outputs.should_run != 'false' && steps.jtreg.outputs.cache-hit != 'true'
|
||||
|
||||
- name: Build jtreg
|
||||
run: bash make/build.sh --jdk ${JAVA_HOME_8_X64}
|
||||
run: sh make/build-all.sh ${JAVA_HOME_8_X64}
|
||||
working-directory: jtreg
|
||||
if: steps.check_submit.outputs.should_run != 'false' && steps.jtreg.outputs.cache-hit != 'true'
|
||||
|
||||
@@ -174,7 +172,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install gcc-10=10.3.0-1ubuntu1~20.04 g++-10=10.3.0-1ubuntu1~20.04 libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
|
||||
sudo apt-get install gcc-10=10.2.0-5ubuntu1~20.04 g++-10=10.2.0-5ubuntu1~20.04 libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
|
||||
|
||||
- name: Configure
|
||||
@@ -489,12 +487,12 @@ jobs:
|
||||
|
||||
- name: Install native host dependencies
|
||||
run: |
|
||||
sudo apt-get install gcc-10=10.3.0-1ubuntu1~20.04 g++-10=10.3.0-1ubuntu1~20.04 libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
|
||||
sudo apt-get install gcc-10=10.2.0-5ubuntu1~20.04 g++-10=10.2.0-5ubuntu1~20.04 libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
|
||||
if: matrix.debian-arch == ''
|
||||
|
||||
- name: Install cross-compilation host dependencies
|
||||
run: sudo apt-get install gcc-10-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}=10.3.0-1ubuntu1~20.04cross1 g++-10-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}=10.3.0-1ubuntu1~20.04cross1
|
||||
run: sudo apt-get install gcc-10-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}=10.2.0-5ubuntu1~20.04cross1 g++-10-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}=10.2.0-5ubuntu1~20.04cross1
|
||||
if: matrix.debian-arch != ''
|
||||
|
||||
- name: Cache sysroot
|
||||
@@ -912,7 +910,7 @@ jobs:
|
||||
run: >
|
||||
Start-Process -FilePath 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe' -Wait -NoNewWindow -ArgumentList
|
||||
'modify --installPath "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" --quiet
|
||||
--add Microsoft.VisualStudio.Component.VC.14.29.arm64'
|
||||
--add Microsoft.VisualStudio.Component.VC.14.28.arm64'
|
||||
|
||||
- name: Configure
|
||||
run: >
|
||||
@@ -921,7 +919,7 @@ jobs:
|
||||
$env:BOOT_JDK = cygpath "$HOME/bootjdk/$env:BOOT_JDK_VERSION" ;
|
||||
& bash configure
|
||||
--with-conf-name=windows-aarch64
|
||||
--with-msvc-toolset-version=14.29
|
||||
--with-msvc-toolset-version=14.28
|
||||
--openjdk-target=aarch64-unknown-cygwin
|
||||
${{ matrix.flags }}
|
||||
--with-version-opt="$env:GITHUB_ACTOR-$env:GITHUB_SHA"
|
||||
@@ -1361,112 +1359,8 @@ jobs:
|
||||
with:
|
||||
name: transient_jdk-macos-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
|
||||
path: |
|
||||
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }}.tar.gz
|
||||
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}.tar.gz
|
||||
|
||||
macos_aarch64_build:
|
||||
name: macOS aarch64
|
||||
runs-on: "macos-10.15"
|
||||
needs: prerequisites
|
||||
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_macos_aarch64 != 'false'
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
flavor:
|
||||
- build release
|
||||
- build debug
|
||||
include:
|
||||
- flavor: build release
|
||||
- flavor: build debug
|
||||
flags: --enable-debug
|
||||
artifact: -debug
|
||||
|
||||
env:
|
||||
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
|
||||
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
|
||||
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
|
||||
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
|
||||
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_SHA256 }}"
|
||||
|
||||
steps:
|
||||
- name: Checkout the source
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: jdk
|
||||
|
||||
- name: Restore boot JDK from cache
|
||||
id: bootjdk
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }}
|
||||
key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1
|
||||
|
||||
- name: Download boot JDK
|
||||
run: |
|
||||
mkdir -p ${HOME}/bootjdk/${BOOT_JDK_VERSION} || true
|
||||
wget -O "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" "${BOOT_JDK_URL}"
|
||||
echo "${BOOT_JDK_SHA256} ${HOME}/bootjdk/${BOOT_JDK_FILENAME}" | shasum -a 256 -c >/dev/null -
|
||||
tar -xf "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" -C "${HOME}/bootjdk/${BOOT_JDK_VERSION}"
|
||||
mv "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"*/* "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"
|
||||
if: steps.bootjdk.outputs.cache-hit != 'true'
|
||||
|
||||
- name: Restore jtreg artifact
|
||||
id: jtreg_restore
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
|
||||
path: ~/jtreg/
|
||||
continue-on-error: true
|
||||
|
||||
- name: Restore jtreg artifact (retry)
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
|
||||
path: ~/jtreg/
|
||||
if: steps.jtreg_restore.outcome == 'failure'
|
||||
|
||||
- name: Checkout gtest sources
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: "google/googletest"
|
||||
ref: "release-${{ fromJson(needs.prerequisites.outputs.dependencies).GTEST_VERSION }}"
|
||||
path: gtest
|
||||
|
||||
- name: Install dependencies
|
||||
run: brew install make
|
||||
|
||||
- name: Select Xcode version
|
||||
run: sudo xcode-select --switch /Applications/Xcode_12.4.app/Contents/Developer
|
||||
|
||||
- name: Configure
|
||||
run: >
|
||||
bash configure
|
||||
--with-conf-name=macos-aarch64
|
||||
--openjdk-target=aarch64-apple-darwin
|
||||
${{ matrix.flags }}
|
||||
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
|
||||
--with-version-build=0
|
||||
--with-boot-jdk=${HOME}/bootjdk/${BOOT_JDK_VERSION}/Contents/Home
|
||||
--with-jtreg=${HOME}/jtreg
|
||||
--with-gtest=${GITHUB_WORKSPACE}/gtest
|
||||
--with-default-make-target="product-bundles test-bundles"
|
||||
--with-zlib=system
|
||||
--enable-jtreg-failure-handler
|
||||
working-directory: jdk
|
||||
|
||||
- name: Build
|
||||
run: make CONF_NAME=macos-aarch64
|
||||
working-directory: jdk
|
||||
|
||||
- name: Persist test bundles
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: transient_jdk-macos-aarch64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
|
||||
path: |
|
||||
jdk/build/macos-aarch64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_macos-aarch64_bin${{ matrix.artifact }}.tar.gz
|
||||
jdk/build/macos-aarch64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_macos-aarch64_bin-tests${{ matrix.artifact }}.tar.gz
|
||||
|
||||
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }}.tar.gz
|
||||
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}.tar.gz
|
||||
|
||||
macos_x64_test:
|
||||
name: macOS x64
|
||||
@@ -1572,13 +1466,13 @@ jobs:
|
||||
|
||||
- name: Unpack jdk
|
||||
run: |
|
||||
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }}"
|
||||
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }}"
|
||||
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }}"
|
||||
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }}"
|
||||
|
||||
- name: Unpack tests
|
||||
run: |
|
||||
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}"
|
||||
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}"
|
||||
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}"
|
||||
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}"
|
||||
|
||||
- name: Install dependencies
|
||||
run: brew install make
|
||||
@@ -1588,13 +1482,13 @@ jobs:
|
||||
|
||||
- name: Find root of jdk image dir
|
||||
run: |
|
||||
imageroot=`find ${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }} -name release -type f`
|
||||
imageroot=`find ${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }} -name release -type f`
|
||||
echo "imageroot=`dirname ${imageroot}`" >> $GITHUB_ENV
|
||||
|
||||
- name: Run tests
|
||||
run: >
|
||||
JDK_IMAGE_DIR=${{ env.imageroot }}
|
||||
TEST_IMAGE_DIR=${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}
|
||||
TEST_IMAGE_DIR=${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}
|
||||
BOOT_JDK=${HOME}/bootjdk/${BOOT_JDK_VERSION}/Contents/Home
|
||||
JT_HOME=${HOME}/jtreg
|
||||
gmake test-prebuilt
|
||||
@@ -1666,7 +1560,6 @@ jobs:
|
||||
- linux_x86_test
|
||||
- windows_x64_test
|
||||
- macos_x64_test
|
||||
- macos_aarch64_build
|
||||
|
||||
steps:
|
||||
- name: Determine current artifacts endpoint
|
||||
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -16,7 +16,3 @@ NashornProfile.txt
|
||||
**/JTreport/**
|
||||
**/JTwork/**
|
||||
/src/utils/LogCompilation/target/
|
||||
/.project/
|
||||
/.settings/
|
||||
*.class
|
||||
.idea/workspace.xml
|
||||
|
||||
179
README.md
179
README.md
@@ -1,174 +1,11 @@
|
||||
[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
|
||||
# Welcome to the JDK!
|
||||
|
||||
# Welcome to JetBrains Runtime!
|
||||
For build instructions please see the
|
||||
[online documentation](https://openjdk.java.net/groups/build/doc/building.html),
|
||||
or either of these files:
|
||||
|
||||
JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
|
||||
It includes a number enhancements in font rendering, HiDPI support, ligatures, performance improvements, and bugfixes.
|
||||
- [doc/building.html](doc/building.html) (html version)
|
||||
- [doc/building.md](doc/building.md) (markdown version)
|
||||
|
||||
> **_NOTE_**: This is a **development** branch that is periodically synhronized with
|
||||
> the [OpenJDK master](https://github.com/openjdk/jdk/tree/master) branch.
|
||||
>
|
||||
> Release builds are based on these branches:
|
||||
> * [master](https://github.com/JetBrains/JetBrainsRuntime/tree/master) (JDK 11)
|
||||
> * [master17](https://github.com/JetBrains/JetBrainsRuntime/tree/master17) (JDK 17)
|
||||
|
||||
|
||||
## Contents
|
||||
- [Welcome to JetBrains Runtime](#jetbrains-runtime)
|
||||
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
|
||||
- [Getting Sources](#getting-sources)
|
||||
- [macOS, Linux](#macos-linux)
|
||||
- [Windows](#sources-windows)
|
||||
- [Configuring the Build Environment](#configuring-the-build-environment)
|
||||
- [Linux (Docker)](#linux-docker)
|
||||
- [Ubuntu Linux](#ubuntu-linux)
|
||||
- [Windows](#build-windows)
|
||||
- [macOS](#macos)
|
||||
- [Developing](#developing)
|
||||
- [Contributing](#contributing)
|
||||
- [Resources](#resources)
|
||||
|
||||
## Products Built on JetBrains Runtime
|
||||
* [Android Studio](https://developer.android.com/studio). The official IDE for Google's Android operating system.
|
||||
* [CLion](https://www.jetbrains.com/clion/). A cross-platform IDE for C and C++ from JetBrains.
|
||||
* [DataGrip](https://www.jetbrains.com/datagrip/). The IDE for Databases and SQL from JetBrains.
|
||||
* [GoLand](https://www.jetbrains.com/go/). The cross-platform Go IDE from JetBrains.
|
||||
* [IntelliJ IDEA](https://www.jetbrains.com/idea/). The IDE for JVM from JetBrains.
|
||||
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html). The Java profiler.
|
||||
* [PhpStorm](https://www.jetbrains.com/phpstorm/). The PHP IDE from JetBrains.
|
||||
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
|
||||
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
|
||||
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
|
||||
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
|
||||
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.
|
||||
|
||||
## Getting Sources
|
||||
### macOS, Linux
|
||||
```
|
||||
git config --global core.autocrlf input
|
||||
git clone git@github.com:JetBrains/JetBrainsRuntime.git
|
||||
```
|
||||
|
||||
### Windows
|
||||
<a name="sources-windows"></a>
|
||||
```
|
||||
git config --global core.autocrlf false
|
||||
git clone git@github.com:JetBrains/JetBrainsRuntime.git
|
||||
```
|
||||
|
||||
## Configuring the Build Environment
|
||||
Here are quick per-platform instructions for those who can't wait to get started.
|
||||
Please refer to [OpenJDK build docs](https://openjdk.java.net/groups/build/doc/building.html) for in-depth
|
||||
coverage of all the details.
|
||||
|
||||
> **_TIP:_** To get a preliminary report of what's missing, run `./configure` and check its output.
|
||||
> It would usually have a meaningful advice on how to solve the problem.
|
||||
|
||||
### Linux (Docker)
|
||||
Create a container:
|
||||
```
|
||||
$ cd jb/project/docker
|
||||
$ docker build .
|
||||
...
|
||||
Successfully built 942ea9900054
|
||||
```
|
||||
Run these commands in the new container:
|
||||
```
|
||||
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
|
||||
# cd /JetBrainsRuntime
|
||||
# sh ./configure
|
||||
# make images CONF=linux-x86_64-normal-server-release
|
||||
```
|
||||
|
||||
### Ubuntu Linux
|
||||
Install the necessary tools, libraries, and headers with:
|
||||
```
|
||||
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
|
||||
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev
|
||||
```
|
||||
Get Java 17 (for instance, [Azul Zulu Builds of OpenJDK 17](https://www.azul.com/downloads/?version=java-17-ea&package=jdk)).
|
||||
|
||||
Then run the following:
|
||||
```
|
||||
$ cd JetBrainsRuntime
|
||||
$ git checkout jbr-dev
|
||||
$ sh ./configure
|
||||
$ make images
|
||||
```
|
||||
This will build the release configuration under `./build/linux-x86_64-server-release/`.
|
||||
|
||||
### Windows
|
||||
<a name="build-windows"></a>
|
||||
Install the following:
|
||||
* [Cygwin x64](http://www.cygwin.com/).
|
||||
Required packages: `autoconf`, `binutils`, `cpio`, `diffutils`, `file`, `gawk`, `gcc-core`, `make`, `m4`, `unzip`, `zip`.
|
||||
Install those together with Cygwin.
|
||||
* [Visual Studio compiler toolset](https://visualstudio.microsoft.com/downloads/).
|
||||
Install with the desktop development kit, which includes Windows SDK and compilers.
|
||||
Visual Studio 2019 is supported by default.
|
||||
* Java 17 (for instance, [Azul Zulu Builds of OpenJDK 17](https://www.azul.com/downloads/?version=java-17-ea&os=windows&architecture=x86-64-bit&package=jdk).
|
||||
If you have problems while configuring, read [Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html).
|
||||
|
||||
From the command line:
|
||||
```
|
||||
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
|
||||
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
|
||||
```
|
||||
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
|
||||
|
||||
In the Cygwin shell:
|
||||
```
|
||||
$ cd JetBrainsRuntime
|
||||
$ git checkout jbr-dev
|
||||
$ bash configure --with-toolchain-version=2019
|
||||
$ make images
|
||||
```
|
||||
This will build the release configuration under `./build/windows-x86_64-server-release/`.
|
||||
|
||||
### macOS
|
||||
Install the following:
|
||||
* Xcode command line developer tools and `autoconf` via [Homebrew](https://brew.sh/).
|
||||
* Java 17 (for instance, [Azul Zulu Builds of OpenJDK 17](https://www.azul.com/downloads/?version=java-17-ea&package=jdk)).
|
||||
|
||||
From the command line:
|
||||
```
|
||||
$ cd JetBrainsRuntime
|
||||
$ git checkout jbr-dev
|
||||
$ sh ./configure
|
||||
$ make images
|
||||
```
|
||||
This will build the release configuration under `./build/macosx-x86_64-server-release/`.
|
||||
|
||||
## Developing
|
||||
You can use [CLion](https://www.jetbrains.com/clion/) to develop native parts of the JetBrains Runtime and
|
||||
[IntelliJ IDEA](https://www.jetbrains.com/idea/) for the parts written in Java.
|
||||
Both require projects to be created.
|
||||
|
||||
### CLion
|
||||
Run
|
||||
```
|
||||
$ make compile-commands
|
||||
```
|
||||
in the git root and open the resulting `build/.../compile_commands.json` file as a project.
|
||||
Then use `Tools | Compilation Database | Change Project Root` to point to git root of this repository.
|
||||
|
||||
See also this detailed step-by-step tutorial for all platforms:
|
||||
[How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
|
||||
|
||||
### IDEA
|
||||
Run
|
||||
```
|
||||
$ sh ./bin/idea.sh
|
||||
```
|
||||
in the git root to generate project files (add `--help` for options). If you have multiple
|
||||
configurations (for example, `release` and `fastdebug`), supply the `--conf <conf_name>` argument.
|
||||
Then open the git root directory as a project in IDEA.
|
||||
|
||||
## Contributing
|
||||
We are happy to receive your pull requests!
|
||||
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).
|
||||
|
||||
## Resources
|
||||
* [JetBrains Runtime on github](https://github.com/JetBrains/JetBrainsRuntime).
|
||||
* [OpenJDK build instructions](https://openjdk.java.net/groups/build/doc/building.html).
|
||||
* [OpenJDK test instructions](https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#running-tests).
|
||||
See <https://openjdk.java.net/> for more information about
|
||||
the OpenJDK Community and the JDK.
|
||||
|
||||
292
bin/idea.sh
292
bin/idea.sh
@@ -25,26 +25,7 @@
|
||||
# Shell script for generating an IDEA project from a given list of modules
|
||||
|
||||
usage() {
|
||||
echo "Usage: $0 [-h|--help] [-q|--quiet] [-a|--absolute-paths] [-r|--root <path>] [-o|--output <path>] [-c|--conf <conf_name>] [modules...]"
|
||||
echo " -h | --help"
|
||||
echo " -q | --quiet
|
||||
No stdout output"
|
||||
echo " -a | --absolute-paths
|
||||
Use absolute paths to this jdk, so that generated .idea
|
||||
project files can be moved independently of jdk sources"
|
||||
echo " -r | --root <path>
|
||||
Project content root
|
||||
Default: $TOPLEVEL_DIR"
|
||||
echo " -o | --output <path>
|
||||
Where .idea directory with project files will be generated
|
||||
(e.g. using '-o .' will place project files in './.idea')
|
||||
Default: same as --root"
|
||||
echo " -c | --conf <conf_name>
|
||||
make configuration (release, slowdebug etc)"
|
||||
echo " [modules...]
|
||||
Generate project modules for specific java modules
|
||||
(e.g. 'java.base java.desktop')
|
||||
Default: all existing modules (java.* and jdk.*)"
|
||||
echo "usage: $0 [-h|--help] [-v|--verbose] [-o|--output <path>] [modules]+"
|
||||
exit 1
|
||||
}
|
||||
|
||||
@@ -52,14 +33,10 @@ SCRIPT_DIR=`dirname $0`
|
||||
#assume TOP is the dir from which the script has been called
|
||||
TOP=`pwd`
|
||||
cd $SCRIPT_DIR; SCRIPT_DIR=`pwd`
|
||||
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
|
||||
cd .. ; TOPLEVEL_DIR=`pwd`
|
||||
fi
|
||||
cd $TOP;
|
||||
|
||||
VERBOSE=true
|
||||
ABSOLUTE_PATHS=false
|
||||
CONF_ARG=
|
||||
IDEA_OUTPUT=$TOP/.idea
|
||||
VERBOSE="false"
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
case $1 in
|
||||
@@ -67,26 +44,12 @@ do
|
||||
usage
|
||||
;;
|
||||
|
||||
-q | --quiet )
|
||||
VERBOSE=false
|
||||
;;
|
||||
|
||||
-a | --absolute-paths )
|
||||
ABSOLUTE_PATHS=true
|
||||
;;
|
||||
|
||||
-r | --root )
|
||||
TOPLEVEL_DIR="$2"
|
||||
shift
|
||||
-v | --vebose )
|
||||
VERBOSE="true"
|
||||
;;
|
||||
|
||||
-o | --output )
|
||||
IDEA_OUTPUT="$2/.idea"
|
||||
shift
|
||||
;;
|
||||
|
||||
-c | --conf )
|
||||
CONF_ARG="CONF_NAME=$2"
|
||||
IDEA_OUTPUT=$2/.idea
|
||||
shift
|
||||
;;
|
||||
|
||||
@@ -101,21 +64,20 @@ do
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "x$IDEA_OUTPUT" = "x" ] ; then
|
||||
IDEA_OUTPUT="$TOPLEVEL_DIR/.idea"
|
||||
mkdir -p $IDEA_OUTPUT || exit 1
|
||||
cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
|
||||
|
||||
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
|
||||
cd $SCRIPT_DIR/..
|
||||
TOPLEVEL_DIR=`pwd`
|
||||
cd $IDEA_OUTPUT
|
||||
fi
|
||||
|
||||
mkdir -p $IDEA_OUTPUT || exit 1
|
||||
cd "$TOP" ; cd $TOPLEVEL_DIR; TOPLEVEL_DIR=`pwd`
|
||||
cd "$TOP" ; cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
|
||||
cd ..; IDEA_OUTPUT_PARENT=`pwd`
|
||||
cd "$SCRIPT_DIR/.." ; OPENJDK_DIR=`pwd`
|
||||
|
||||
IDEA_MAKE="$OPENJDK_DIR/make/ide/idea/jdk"
|
||||
MAKE_DIR="$SCRIPT_DIR/../make"
|
||||
IDEA_MAKE="$MAKE_DIR/ide/idea/jdk"
|
||||
IDEA_TEMPLATE="$IDEA_MAKE/template"
|
||||
|
||||
cp -rn "$TOPLEVEL_DIR/jb/project/idea-project-files"/* "$IDEA_OUTPUT"
|
||||
cp -rn "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
|
||||
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
|
||||
|
||||
#override template
|
||||
if [ -d "$TEMPLATES_OVERRIDE" ] ; then
|
||||
@@ -124,31 +86,31 @@ if [ -d "$TEMPLATES_OVERRIDE" ] ; then
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$VERBOSE" = true ] ; then
|
||||
echo "Will generate IDEA project files in \"$IDEA_OUTPUT\" for project \"$TOPLEVEL_DIR\""
|
||||
if [ "$VERBOSE" = "true" ] ; then
|
||||
echo "output dir: $IDEA_OUTPUT"
|
||||
echo "idea template dir: $IDEA_TEMPLATE"
|
||||
fi
|
||||
|
||||
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I "$OPENJDK_DIR" idea TOPLEVEL_DIR="$TOPLEVEL_DIR" \
|
||||
MAKEOVERRIDES= IDEA_OUTPUT_PARENT="$IDEA_OUTPUT_PARENT" OUT="$IDEA_OUTPUT/env.cfg" MODULES="$*" $CONF_ARG || exit 1
|
||||
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I $MAKE_DIR/.. idea MAKEOVERRIDES= OUT=$IDEA_OUTPUT/env.cfg MODULES="$*" || exit 1
|
||||
cd $SCRIPT_DIR
|
||||
|
||||
. $IDEA_OUTPUT/env.cfg
|
||||
|
||||
# Expect MODULES, MODULE_NAMES, RELATIVE_PROJECT_DIR, RELATIVE_BUILD_DIR to be set
|
||||
if [ "xMODULES" = "x" ] ; then
|
||||
echo "FATAL: MODULES is empty" >&2; exit 1
|
||||
# Expect MODULE_ROOTS, MODULE_NAMES, BOOT_JDK & SPEC to be set
|
||||
if [ "x$MODULE_ROOTS" = "x" ] ; then
|
||||
echo "FATAL: MODULE_ROOTS is empty" >&2; exit 1
|
||||
fi
|
||||
|
||||
if [ "x$MODULE_NAMES" = "x" ] ; then
|
||||
echo "FATAL: MODULE_NAMES is empty" >&2; exit 1
|
||||
fi
|
||||
|
||||
if [ "x$RELATIVE_PROJECT_DIR" = "x" ] ; then
|
||||
echo "FATAL: RELATIVE_PROJECT_DIR is empty" >&2; exit 1
|
||||
if [ "x$BOOT_JDK" = "x" ] ; then
|
||||
echo "FATAL: BOOT_JDK is empty" >&2; exit 1
|
||||
fi
|
||||
|
||||
if [ "x$RELATIVE_BUILD_DIR" = "x" ] ; then
|
||||
echo "FATAL: RELATIVE_BUILD_DIR is empty" >&2; exit 1
|
||||
if [ "x$SPEC" = "x" ] ; then
|
||||
echo "FATAL: SPEC is empty" >&2; exit 1
|
||||
fi
|
||||
|
||||
if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
|
||||
@@ -159,43 +121,6 @@ if [ -d "$TOPLEVEL_DIR/.git" ] ; then
|
||||
VCS_TYPE="Git"
|
||||
fi
|
||||
|
||||
if [ "$ABSOLUTE_PATHS" = true ] ; then
|
||||
if [ "x$PATHTOOL" != "x" ]; then
|
||||
PROJECT_DIR="`$PATHTOOL -am $OPENJDK_DIR`"
|
||||
TOPLEVEL_PROJECT_DIR="`$PATHTOOL -am $TOPLEVEL_DIR`"
|
||||
else
|
||||
PROJECT_DIR="$OPENJDK_DIR"
|
||||
TOPLEVEL_PROJECT_DIR="$TOPLEVEL_DIR"
|
||||
fi
|
||||
MODULE_DIR="$PROJECT_DIR"
|
||||
TOPLEVEL_MODULE_DIR="$TOPLEVEL_PROJECT_DIR"
|
||||
cd "$IDEA_OUTPUT_PARENT" && cd "$RELATIVE_BUILD_DIR" && BUILD_DIR="`pwd`"
|
||||
CLION_SCRIPT_TOPDIR="$OPENJDK_DIR"
|
||||
CLION_PROJECT_DIR="$PROJECT_DIR"
|
||||
else
|
||||
if [ "$RELATIVE_PROJECT_DIR" = "." ] ; then
|
||||
PROJECT_DIR=""
|
||||
else
|
||||
PROJECT_DIR="/$RELATIVE_PROJECT_DIR"
|
||||
fi
|
||||
if [ "$RELATIVE_TOPLEVEL_PROJECT_DIR" = "." ] ; then
|
||||
TOPLEVEL_PROJECT_DIR=""
|
||||
else
|
||||
TOPLEVEL_PROJECT_DIR="/$RELATIVE_TOPLEVEL_PROJECT_DIR"
|
||||
fi
|
||||
MODULE_DIR="\$MODULE_DIR\$$PROJECT_DIR"
|
||||
PROJECT_DIR="\$PROJECT_DIR\$$PROJECT_DIR"
|
||||
TOPLEVEL_MODULE_DIR="\$MODULE_DIR\$$TOPLEVEL_PROJECT_DIR"
|
||||
TOPLEVEL_PROJECT_DIR="\$PROJECT_DIR\$$TOPLEVEL_PROJECT_DIR"
|
||||
BUILD_DIR="\$PROJECT_DIR\$/$RELATIVE_BUILD_DIR"
|
||||
CLION_SCRIPT_TOPDIR="$CLION_RELATIVE_PROJECT_DIR"
|
||||
CLION_PROJECT_DIR="\$PROJECT_DIR\$/$CLION_SCRIPT_TOPDIR"
|
||||
fi
|
||||
if [ "$VERBOSE" = true ] ; then
|
||||
echo "Project root: $PROJECT_DIR"
|
||||
echo "Generating IDEA project files..."
|
||||
fi
|
||||
|
||||
### Replace template variables
|
||||
|
||||
NUM_REPLACEMENTS=0
|
||||
@@ -219,106 +144,105 @@ add_replacement() {
|
||||
eval TO$NUM_REPLACEMENTS='$2'
|
||||
}
|
||||
|
||||
add_replacement "###PATHTOOL###" "$PATHTOOL"
|
||||
add_replacement "###CLION_SCRIPT_TOPDIR###" "$CLION_SCRIPT_TOPDIR"
|
||||
add_replacement "###CLION_PROJECT_DIR###" "$CLION_PROJECT_DIR"
|
||||
add_replacement "###PROJECT_DIR###" "$PROJECT_DIR"
|
||||
add_replacement "###MODULE_DIR###" "$MODULE_DIR"
|
||||
add_replacement "###TOPLEVEL_PROJECT_DIR###" "$TOPLEVEL_PROJECT_DIR"
|
||||
add_replacement "###TOPLEVEL_MODULE_DIR###" "$TOPLEVEL_MODULE_DIR"
|
||||
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
|
||||
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
|
||||
add_replacement "###BUILD_DIR###" "$BUILD_DIR"
|
||||
add_replacement "###RELATIVE_BUILD_DIR###" "$RELATIVE_BUILD_DIR"
|
||||
if [ "x$PATHTOOL" != "x" ]; then
|
||||
add_replacement "###BASH_RUNNER_PREFIX###" "\$PROJECT_DIR\$/.idea/bash.bat"
|
||||
else
|
||||
add_replacement "###BASH_RUNNER_PREFIX###" ""
|
||||
fi
|
||||
if [ "x$PATHTOOL" != "x" ]; then
|
||||
SPEC_DIR=`dirname $SPEC`
|
||||
if [ "x$CYGPATH" != "x" ]; then
|
||||
add_replacement "###BUILD_DIR###" "`cygpath -am $SPEC_DIR`"
|
||||
add_replacement "###IMAGES_DIR###" "`cygpath -am $SPEC_DIR`/images/jdk"
|
||||
add_replacement "###ROOT_DIR###" "`cygpath -am $TOPLEVEL_DIR`"
|
||||
add_replacement "###IDEA_DIR###" "`cygpath -am $IDEA_OUTPUT`"
|
||||
if [ "x$JT_HOME" = "x" ]; then
|
||||
add_replacement "###JTREG_HOME###" ""
|
||||
else
|
||||
add_replacement "###JTREG_HOME###" "`$PATHTOOL -am $JT_HOME`"
|
||||
add_replacement "###JTREG_HOME###" "`cygpath -am $JT_HOME`"
|
||||
fi
|
||||
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
|
||||
add_replacement "###BUILD_DIR###" "`wslpath -am $SPEC_DIR`"
|
||||
add_replacement "###IMAGES_DIR###" "`wslpath -am $SPEC_DIR`/images/jdk"
|
||||
add_replacement "###ROOT_DIR###" "`wslpath -am $TOPLEVEL_DIR`"
|
||||
add_replacement "###IDEA_DIR###" "`wslpath -am $IDEA_OUTPUT`"
|
||||
if [ "x$JT_HOME" = "x" ]; then
|
||||
add_replacement "###JTREG_HOME###" ""
|
||||
else
|
||||
add_replacement "###JTREG_HOME###" "`wslpath -am $JT_HOME`"
|
||||
fi
|
||||
else
|
||||
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
|
||||
add_replacement "###JTREG_HOME###" "$JT_HOME"
|
||||
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
|
||||
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
|
||||
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
|
||||
fi
|
||||
|
||||
MODULE_IMLS=""
|
||||
TEST_MODULE_DEPENDENCIES=""
|
||||
for module in $MODULE_NAMES; do
|
||||
MODULE_IMLS="$MODULE_IMLS<module fileurl=\"file://\$PROJECT_DIR$/.idea/$module.iml\" filepath=\"\$PROJECT_DIR$/.idea/$module.iml\" /> "
|
||||
TEST_MODULE_DEPENDENCIES="$TEST_MODULE_DEPENDENCIES<orderEntry type=\"module\" module-name=\"$module\" scope=\"TEST\" /> "
|
||||
SOURCE_PREFIX="<sourceFolder url=\"file://"
|
||||
SOURCE_POSTFIX="\" isTestSource=\"false\" />"
|
||||
|
||||
for root in $MODULE_ROOTS; do
|
||||
if [ "x$CYGPATH" != "x" ]; then
|
||||
root=`cygpath -am $root`
|
||||
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
|
||||
root=`wslpath -am $root`
|
||||
fi
|
||||
|
||||
VM_CI="jdk.internal.vm.ci/share/classes"
|
||||
VM_COMPILER="src/jdk.internal.vm.compiler/share/classes"
|
||||
if test "${root#*$VM_CI}" != "$root" || test "${root#*$VM_COMPILER}" != "$root"; then
|
||||
for subdir in "$root"/*; do
|
||||
if [ -d "$subdir" ]; then
|
||||
SOURCES=$SOURCES" $SOURCE_PREFIX""$subdir"/src"$SOURCE_POSTFIX"
|
||||
fi
|
||||
done
|
||||
else
|
||||
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
|
||||
fi
|
||||
done
|
||||
add_replacement "###MODULE_IMLS###" "$MODULE_IMLS"
|
||||
add_replacement "###TEST_MODULE_DEPENDENCIES###" "$TEST_MODULE_DEPENDENCIES"
|
||||
|
||||
add_replacement "###SOURCE_ROOTS###" "$SOURCES"
|
||||
|
||||
replace_template_dir "$IDEA_OUTPUT"
|
||||
|
||||
### Generate module project files
|
||||
### Compile the custom Logger
|
||||
|
||||
if [ "$VERBOSE" = true ] ; then
|
||||
echo "Generating project modules:"
|
||||
fi
|
||||
(
|
||||
DEFAULT_IFS="$IFS"
|
||||
IFS='#'
|
||||
for value in $MODULES; do
|
||||
(
|
||||
eval "$value"
|
||||
if [ "$VERBOSE" = true ] ; then
|
||||
echo " $module"
|
||||
fi
|
||||
MAIN_SOURCE_DIRS=""
|
||||
CONTENT_ROOTS=""
|
||||
IFS=' '
|
||||
for dir in $moduleSrcDirs; do
|
||||
case $dir in
|
||||
"src/"*) MAIN_SOURCE_DIRS="$MAIN_SOURCE_DIRS <sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" />" ;;
|
||||
*"/support/gensrc/$module") ;; # Exclude generated sources to avoid module-info conflicts, see https://youtrack.jetbrains.com/issue/IDEA-185108
|
||||
*) CONTENT_ROOTS="$CONTENT_ROOTS <content url=\"file://$MODULE_DIR/$dir\">\
|
||||
<sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" generated=\"true\" /></content>" ;;
|
||||
esac
|
||||
done
|
||||
if [ "x$MAIN_SOURCE_DIRS" != "x" ] ; then
|
||||
CONTENT_ROOTS="<content url=\"file://$MODULE_DIR/src/$module\">$MAIN_SOURCE_DIRS</content>$CONTENT_ROOTS"
|
||||
fi
|
||||
add_replacement "###MODULE_CONTENT_ROOTS###" "$CONTENT_ROOTS"
|
||||
DEPENDENCIES=""
|
||||
for dep in $moduleDependencies; do
|
||||
case $MODULE_NAMES in # Exclude skipped modules from dependencies
|
||||
*"$dep"*) DEPENDENCIES="$DEPENDENCIES<orderEntry type=\"module\" module-name=\"$dep\" /> "
|
||||
esac
|
||||
done
|
||||
add_replacement "###DEPENDENCIES###" "$DEPENDENCIES"
|
||||
cp "$IDEA_OUTPUT/module.iml" "$IDEA_OUTPUT/$module.iml"
|
||||
IFS="$DEFAULT_IFS"
|
||||
replace_template_file "$IDEA_OUTPUT/$module.iml"
|
||||
)
|
||||
done
|
||||
)
|
||||
rm "$IDEA_OUTPUT/module.iml"
|
||||
CLASSES=$IDEA_OUTPUT/classes
|
||||
|
||||
### Create shell script runner for Windows
|
||||
if [ "x$ANT_HOME" = "x" ] ; then
|
||||
# try some common locations, before giving up
|
||||
if [ -f "/usr/share/ant/lib/ant.jar" ] ; then
|
||||
ANT_HOME="/usr/share/ant"
|
||||
elif [ -f "/usr/local/Cellar/ant/1.9.4/libexec/lib/ant.jar" ] ; then
|
||||
ANT_HOME="/usr/local/Cellar/ant/1.9.4/libexec"
|
||||
else
|
||||
echo "FATAL: cannot find ant. Try setting ANT_HOME." >&2; exit 1
|
||||
fi
|
||||
fi
|
||||
CP=$ANT_HOME/lib/ant.jar
|
||||
rm -rf $CLASSES; mkdir $CLASSES
|
||||
|
||||
if [ "x$PATHTOOL" != "x" ]; then
|
||||
echo "@echo off" > "$IDEA_OUTPUT/bash.bat"
|
||||
if [ "x$WSL_DISTRO_NAME" != "x" ] ; then
|
||||
echo "wsl -d $WSL_DISTRO_NAME --cd \"%cd%\" -e %*" >> "$IDEA_OUTPUT/bash.bat"
|
||||
else
|
||||
echo "$WINENV_ROOT\bin\bash.exe -l -c \"cd %CD:\=/%/ && %*\"" >> "$IDEA_OUTPUT/bash.bat"
|
||||
fi
|
||||
if [ "x$CYGPATH" != "x" ] ; then ## CYGPATH may be set in env.cfg
|
||||
JAVAC_SOURCE_FILE=`cygpath -am $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
|
||||
JAVAC_SOURCE_PATH=`cygpath -am $IDEA_OUTPUT/src`
|
||||
JAVAC_CLASSES=`cygpath -am $CLASSES`
|
||||
JAVAC_CP=`cygpath -am $CP`
|
||||
JAVAC=javac
|
||||
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
|
||||
JAVAC_SOURCE_FILE=`realpath --relative-to=./ $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
|
||||
JAVAC_SOURCE_PATH=`realpath --relative-to=./ $IDEA_OUTPUT/src`
|
||||
JAVAC_CLASSES=`realpath --relative-to=./ $CLASSES`
|
||||
ANT_TEMP=`mktemp -d -p ./`
|
||||
cp $ANT_HOME/lib/ant.jar $ANT_TEMP/ant.jar
|
||||
JAVAC_CP=$ANT_TEMP/ant.jar
|
||||
JAVAC=javac.exe
|
||||
else
|
||||
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
|
||||
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
|
||||
JAVAC_CLASSES=$CLASSES
|
||||
JAVAC_CP=$CP
|
||||
JAVAC=javac
|
||||
fi
|
||||
|
||||
$BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
|
||||
|
||||
|
||||
if [ "$VERBOSE" = true ] ; then
|
||||
IDEA_PROJECT_DIR="`dirname $IDEA_OUTPUT`"
|
||||
if [ "x$PATHTOOL" != "x" ]; then
|
||||
IDEA_PROJECT_DIR="`$PATHTOOL -am $IDEA_PROJECT_DIR`"
|
||||
fi
|
||||
echo "
|
||||
Now you can open \"$IDEA_PROJECT_DIR\" as IDEA project
|
||||
You can also run 'bash \"$IDEA_OUTPUT/jdk-clion/update-project.sh\"' to generate Clion project"
|
||||
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
|
||||
rm -rf $ANT_TEMP
|
||||
fi
|
||||
@@ -76,7 +76,7 @@
|
||||
<li><a href="#specifying-the-target-platform">Specifying the Target Platform</a></li>
|
||||
<li><a href="#toolchain-considerations">Toolchain Considerations</a></li>
|
||||
<li><a href="#native-libraries">Native Libraries</a></li>
|
||||
<li><a href="#cross-compiling-with-debian-sysroots">Cross compiling with Debian sysroots</a></li>
|
||||
<li><a href="#creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</a></li>
|
||||
<li><a href="#building-for-armaarch64">Building for ARM/aarch64</a></li>
|
||||
<li><a href="#building-for-musl">Building for musl</a></li>
|
||||
<li><a href="#verifying-the-build">Verifying the Build</a></li>
|
||||
@@ -320,7 +320,6 @@
|
||||
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libfreetype6-dev</code>.</li>
|
||||
<li>To install on an rpm-based Linux, try running <code>sudo yum install freetype-devel</code>.</li>
|
||||
<li>To install on Alpine Linux, try running <code>sudo apk add freetype-dev</code>.</li>
|
||||
<li>To install on macOS, try running <code>brew install freetype</code>.</li>
|
||||
</ul>
|
||||
<p>Use <code>--with-freetype-include=<path></code> and <code>--with-freetype-lib=<path></code> if <code>configure</code> does not automatically locate the platform FreeType files.</p>
|
||||
<h3 id="cups">CUPS</h3>
|
||||
@@ -506,7 +505,7 @@
|
||||
</ul>
|
||||
<h2 id="running-tests">Running Tests</h2>
|
||||
<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=<path to jtreg home></code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
|
||||
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
|
||||
<p>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/lastSuccessfulBuild/artifact">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
|
||||
<p>Building of Hotspot Gtest suite requires the source code of Google Test framework. The top directory, which contains both <code>googletest</code> and <code>googlemock</code> directories, should be specified via <code>--with-gtest</code>. The supported version of Google Test is 1.8.1, whose source code can be obtained:</p>
|
||||
<ul>
|
||||
<li>by downloading and unpacking the source bundle from <a href="https://github.com/google/googletest/releases/tag/release-1.8.1">here</a></li>
|
||||
@@ -629,7 +628,7 @@ cp: cannot stat `arm-linux-gnueabihf/libSM.so': No such file or directory
|
||||
cp: cannot stat `arm-linux-gnueabihf/libXt.so': No such file or directory</code></pre></li>
|
||||
<li><p>If the X11 libraries are not properly detected by <code>configure</code>, you can point them out by <code>--with-x</code>.</p></li>
|
||||
</ul>
|
||||
<h3 id="cross-compiling-with-debian-sysroots">Cross compiling with Debian sysroots</h3>
|
||||
<h3 id="creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</h3>
|
||||
<p>Fortunately, you can create sysroots for foreign architectures with tools provided by your OS. On Debian/Ubuntu systems, one could use <code>qemu-deboostrap</code> to create the <em>target</em> system chroot, which would have the native libraries and headers specific to that <em>target</em> system. After that, we can use the cross-compiler on the <em>build</em> system, pointing into chroot to get the build dependencies right. This allows building for foreign architectures with native compilation speed.</p>
|
||||
<p>For example, cross-compiling to AArch64 from x86_64 could be done like this:</p>
|
||||
<ul>
|
||||
@@ -639,7 +638,7 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so': No such file or directory</c
|
||||
<pre><code>sudo qemu-debootstrap \
|
||||
--arch=arm64 \
|
||||
--verbose \
|
||||
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev,libffi-dev \
|
||||
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev \
|
||||
--resolve-deps \
|
||||
buster \
|
||||
~/sysroot-arm64 \
|
||||
@@ -647,125 +646,67 @@ cp: cannot stat `arm-linux-gnueabihf/libXt.so': No such file or directory</c
|
||||
<li><p>Make sure the symlinks inside the newly created chroot point to proper locations:</p>
|
||||
<pre><code>sudo chroot ~/sysroot-arm64 symlinks -cr .</code></pre></li>
|
||||
<li><p>Configure and build with newly created chroot as sysroot/toolchain-path:</p>
|
||||
<pre><code>sh ./configure \
|
||||
--openjdk-target=aarch64-linux-gnu \
|
||||
--with-sysroot=~/sysroot-arm64
|
||||
<pre><code>CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure \
|
||||
--openjdk-target=aarch64-linux-gnu \
|
||||
--with-sysroot=~/sysroot-arm64 \
|
||||
--with-toolchain-path=~/sysroot-arm64 \
|
||||
--with-freetype-lib=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/ \
|
||||
--with-freetype-include=~/sysroot-arm64/usr/include/freetype2/ \
|
||||
--x-libraries=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/
|
||||
make images
|
||||
ls build/linux-aarch64-server-release/</code></pre></li>
|
||||
</ul>
|
||||
<p>The build does not create new files in that chroot, so it can be reused for multiple builds without additional cleanup.</p>
|
||||
<p>The build system should automatically detect the toolchain paths and dependencies, but sometimes it might require a little nudge with:</p>
|
||||
<ul>
|
||||
<li><p>Native compilers: override <code>CC</code> or <code>CXX</code> for <code>./configure</code></p></li>
|
||||
<li><p>Freetype lib location: override <code>--with-freetype-lib</code>, for example <code>${sysroot}/usr/lib/${target}/</code></p></li>
|
||||
<li><p>Freetype includes location: override <code>--with-freetype-include</code> for example <code>${sysroot}/usr/include/freetype2/</code></p></li>
|
||||
<li><p>X11 libraries location: override <code>--x-libraries</code>, for example <code>${sysroot}/usr/lib/${target}/</code></p></li>
|
||||
</ul>
|
||||
<p>Architectures that are known to successfully cross-compile like this are:</p>
|
||||
<table>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th style="text-align: left;">Target</th>
|
||||
<th style="text-align: left;">Debian tree</th>
|
||||
<th style="text-align: left;">Debian arch</th>
|
||||
<th style="text-align: left;"><code>CC</code></th>
|
||||
<th style="text-align: left;"><code>CXX</code></th>
|
||||
<th style="text-align: left;"><code>--arch=...</code></th>
|
||||
<th style="text-align: left;"><code>--openjdk-target=...</code></th>
|
||||
<th><code>--with-jvm-variants=...</code></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">x86</td>
|
||||
<td style="text-align: left;">buster</td>
|
||||
<td style="text-align: left;">default</td>
|
||||
<td style="text-align: left;">default</td>
|
||||
<td style="text-align: left;">i386</td>
|
||||
<td style="text-align: left;">i386-linux-gnu</td>
|
||||
<td>(all)</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="text-align: left;">arm</td>
|
||||
<td style="text-align: left;">buster</td>
|
||||
<td style="text-align: left;">armhf</td>
|
||||
<td style="text-align: left;">gcc-arm-linux-gnueabihf</td>
|
||||
<td style="text-align: left;">g++-arm-linux-gnueabihf</td>
|
||||
<td style="text-align: left;">armhf</td>
|
||||
<td style="text-align: left;">arm-linux-gnueabihf</td>
|
||||
<td>(all)</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">aarch64</td>
|
||||
<td style="text-align: left;">buster</td>
|
||||
<td style="text-align: left;">gcc-aarch64-linux-gnu</td>
|
||||
<td style="text-align: left;">g++-aarch64-linux-gnu</td>
|
||||
<td style="text-align: left;">arm64</td>
|
||||
<td style="text-align: left;">aarch64-linux-gnu</td>
|
||||
<td>(all)</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="text-align: left;">ppc64le</td>
|
||||
<td style="text-align: left;">buster</td>
|
||||
<td style="text-align: left;">ppc64el</td>
|
||||
<td style="text-align: left;">gcc-powerpc64le-linux-gnu</td>
|
||||
<td style="text-align: left;">g++-powerpc64le-linux-gnu</td>
|
||||
<td style="text-align: left;">ppc64el</td>
|
||||
<td style="text-align: left;">powerpc64le-linux-gnu</td>
|
||||
<td>(all)</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">s390x</td>
|
||||
<td style="text-align: left;">buster</td>
|
||||
<td style="text-align: left;">gcc-s390x-linux-gnu</td>
|
||||
<td style="text-align: left;">g++-s390x-linux-gnu</td>
|
||||
<td style="text-align: left;">s390x</td>
|
||||
<td style="text-align: left;">s390x-linux-gnu</td>
|
||||
<td>(all)</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="text-align: left;">mipsle</td>
|
||||
<td style="text-align: left;">buster</td>
|
||||
<td style="text-align: left;">mipsel</td>
|
||||
<td style="text-align: left;">mipsel-linux-gnu</td>
|
||||
<td>zero</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">mips64le</td>
|
||||
<td style="text-align: left;">buster</td>
|
||||
<td style="text-align: left;">mips64el</td>
|
||||
<td style="text-align: left;">mips64el-linux-gnueabi64</td>
|
||||
<td>zero</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="text-align: left;">armel</td>
|
||||
<td style="text-align: left;">buster</td>
|
||||
<td style="text-align: left;">arm</td>
|
||||
<td style="text-align: left;">arm-linux-gnueabi</td>
|
||||
<td>zero</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">ppc</td>
|
||||
<td style="text-align: left;">sid</td>
|
||||
<td style="text-align: left;">powerpc</td>
|
||||
<td style="text-align: left;">powerpc-linux-gnu</td>
|
||||
<td>zero</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="text-align: left;">ppc64be</td>
|
||||
<td style="text-align: left;">sid</td>
|
||||
<td style="text-align: left;">ppc64</td>
|
||||
<td style="text-align: left;">powerpc64-linux-gnu</td>
|
||||
<td>(all)</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">m68k</td>
|
||||
<td style="text-align: left;">sid</td>
|
||||
<td style="text-align: left;">m68k</td>
|
||||
<td style="text-align: left;">m68k-linux-gnu</td>
|
||||
<td>zero</td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td style="text-align: left;">alpha</td>
|
||||
<td style="text-align: left;">sid</td>
|
||||
<td style="text-align: left;">alpha</td>
|
||||
<td style="text-align: left;">alpha-linux-gnu</td>
|
||||
<td>zero</td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td style="text-align: left;">sh4</td>
|
||||
<td style="text-align: left;">sid</td>
|
||||
<td style="text-align: left;">sh4</td>
|
||||
<td style="text-align: left;">sh4-linux-gnu</td>
|
||||
<td>zero</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Additional architectures might be supported by Debian/Ubuntu Ports.</p>
|
||||
<h3 id="building-for-armaarch64">Building for ARM/aarch64</h3>
|
||||
<p>A common cross-compilation target is the ARM CPU. When building for ARM, it is useful to set the ABI profile. A number of pre-defined ABI profiles are available using <code>--with-abi-profile</code>: arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer properly supported by the JDK.</p>
|
||||
<h3 id="building-for-musl">Building for musl</h3>
|
||||
|
||||
@@ -454,7 +454,6 @@ rather than bundling the JDK's own copy.
|
||||
* To install on an rpm-based Linux, try running `sudo yum install
|
||||
freetype-devel`.
|
||||
* To install on Alpine Linux, try running `sudo apk add freetype-dev`.
|
||||
* To install on macOS, try running `brew install freetype`.
|
||||
|
||||
Use `--with-freetype-include=<path>` and `--with-freetype-lib=<path>`
|
||||
if `configure` does not automatically locate the platform FreeType files.
|
||||
@@ -848,7 +847,7 @@ containing `lib/jtreg.jar` etc.
|
||||
|
||||
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
|
||||
recent builds of jtreg [here](
|
||||
https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
|
||||
https://ci.adoptopenjdk.net/view/Dependencies/job/jtreg/lastSuccessfulBuild/artifact).
|
||||
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
|
||||
`jtreg` directory that you just unpacked.
|
||||
|
||||
@@ -1090,7 +1089,7 @@ Note that X11 is needed even if you only want to build a headless JDK.
|
||||
* If the X11 libraries are not properly detected by `configure`, you can
|
||||
point them out by `--with-x`.
|
||||
|
||||
### Cross compiling with Debian sysroots
|
||||
### Creating And Using Sysroots With qemu-deboostrap
|
||||
|
||||
Fortunately, you can create sysroots for foreign architectures with tools
|
||||
provided by your OS. On Debian/Ubuntu systems, one could use `qemu-deboostrap` to
|
||||
@@ -1111,7 +1110,7 @@ For example, cross-compiling to AArch64 from x86_64 could be done like this:
|
||||
sudo qemu-debootstrap \
|
||||
--arch=arm64 \
|
||||
--verbose \
|
||||
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev,libffi-dev \
|
||||
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev \
|
||||
--resolve-deps \
|
||||
buster \
|
||||
~/sysroot-arm64 \
|
||||
@@ -1125,9 +1124,13 @@ For example, cross-compiling to AArch64 from x86_64 could be done like this:
|
||||
|
||||
* Configure and build with newly created chroot as sysroot/toolchain-path:
|
||||
```
|
||||
sh ./configure \
|
||||
--openjdk-target=aarch64-linux-gnu \
|
||||
--with-sysroot=~/sysroot-arm64
|
||||
CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure \
|
||||
--openjdk-target=aarch64-linux-gnu \
|
||||
--with-sysroot=~/sysroot-arm64 \
|
||||
--with-toolchain-path=~/sysroot-arm64 \
|
||||
--with-freetype-lib=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/ \
|
||||
--with-freetype-include=~/sysroot-arm64/usr/include/freetype2/ \
|
||||
--x-libraries=~/sysroot-arm64/usr/lib/aarch64-linux-gnu/
|
||||
make images
|
||||
ls build/linux-aarch64-server-release/
|
||||
```
|
||||
@@ -1135,34 +1138,17 @@ For example, cross-compiling to AArch64 from x86_64 could be done like this:
|
||||
The build does not create new files in that chroot, so it can be reused for multiple builds
|
||||
without additional cleanup.
|
||||
|
||||
The build system should automatically detect the toolchain paths and dependencies, but sometimes
|
||||
it might require a little nudge with:
|
||||
|
||||
* Native compilers: override `CC` or `CXX` for `./configure`
|
||||
|
||||
* Freetype lib location: override `--with-freetype-lib`, for example `${sysroot}/usr/lib/${target}/`
|
||||
|
||||
* Freetype includes location: override `--with-freetype-include` for example `${sysroot}/usr/include/freetype2/`
|
||||
|
||||
* X11 libraries location: override `--x-libraries`, for example `${sysroot}/usr/lib/${target}/`
|
||||
|
||||
Architectures that are known to successfully cross-compile like this are:
|
||||
|
||||
Target Debian tree Debian arch `--openjdk-target=...` `--with-jvm-variants=...`
|
||||
------------ ------------ ------------- ------------------------ --------------
|
||||
x86 buster i386 i386-linux-gnu (all)
|
||||
arm buster armhf arm-linux-gnueabihf (all)
|
||||
aarch64 buster arm64 aarch64-linux-gnu (all)
|
||||
ppc64le buster ppc64el powerpc64le-linux-gnu (all)
|
||||
s390x buster s390x s390x-linux-gnu (all)
|
||||
mipsle buster mipsel mipsel-linux-gnu zero
|
||||
mips64le buster mips64el mips64el-linux-gnueabi64 zero
|
||||
armel buster arm arm-linux-gnueabi zero
|
||||
ppc sid powerpc powerpc-linux-gnu zero
|
||||
ppc64be sid ppc64 powerpc64-linux-gnu (all)
|
||||
m68k sid m68k m68k-linux-gnu zero
|
||||
alpha sid alpha alpha-linux-gnu zero
|
||||
sh4 sid sh4 sh4-linux-gnu zero
|
||||
Target `CC` `CXX` `--arch=...` `--openjdk-target=...`
|
||||
------------ ------------------------- --------------------------- ------------- -----------------------
|
||||
x86 default default i386 i386-linux-gnu
|
||||
armhf gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf armhf arm-linux-gnueabihf
|
||||
aarch64 gcc-aarch64-linux-gnu g++-aarch64-linux-gnu arm64 aarch64-linux-gnu
|
||||
ppc64el gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu ppc64el powerpc64le-linux-gnu
|
||||
s390x gcc-s390x-linux-gnu g++-s390x-linux-gnu s390x s390x-linux-gnu
|
||||
|
||||
Additional architectures might be supported by Debian/Ubuntu Ports.
|
||||
|
||||
### Building for ARM/aarch64
|
||||
|
||||
|
||||
@@ -94,7 +94,6 @@
|
||||
<li><p>All source files must have a globally unique basename. The build system depends on this uniqueness.</p></li>
|
||||
<li><p>Do not put non-trivial function implementations in .hpp files. If the implementation depends on other .hpp files, put it in a .cpp or a .inline.hpp file.</p></li>
|
||||
<li><p>.inline.hpp files should only be included in .cpp or .inline.hpp files.</p></li>
|
||||
<li><p>All .inline.hpp files should include their corresponding .hpp file as the first include line. Declarations needed by other files should be put in the .hpp file, and not in the .inline.hpp file. This rule exists to resolve problems with circular dependencies between .inline.hpp files.</p></li>
|
||||
<li><p>All .cpp files include precompiled.hpp as the first include line.</p></li>
|
||||
<li><p>precompiled.hpp is just a build time optimization, so don't rely on it to resolve include problems.</p></li>
|
||||
<li><p>Keep the include lines alphabetically sorted.</p></li>
|
||||
@@ -304,7 +303,6 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
|
||||
<li><p>Defaulted and deleted functions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm">n2346</a>)</p></li>
|
||||
<li><p>Dynamic initialization and destruction with concurrency (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm">n2660</a>)</p></li>
|
||||
<li><p><code>final</code> virtual specifiers for classes and virtual functions (<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm">n2928</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm">n3206</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm">n3272</a>)</p></li>
|
||||
<li><p><code>override</code> virtual specifiers for virtual functions (<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm">n2928</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm">n3206</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm">n3272</a>)</p></li>
|
||||
<li><p>Local and unnamed types as template parameters (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm">n2657</a>)</p></li>
|
||||
<li><p>Range-based <code>for</code> loops (<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html">n2930</a>) (<a href="https://en.cppreference.com/w/cpp/language/range-for">range-for</a>)</p></li>
|
||||
</ul>
|
||||
@@ -332,6 +330,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
|
||||
<h3 id="undecided-features">Undecided Features</h3>
|
||||
<p>This list is incomplete; it serves to explicitly call out some features that have not yet been discussed.</p>
|
||||
<ul>
|
||||
<li><p><code>overrides</code> virtual specifiers for virtual functions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm">n3272</a>)</p></li>
|
||||
<li><p>Trailing return type syntax for functions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm">n2541</a>)</p></li>
|
||||
<li><p>Variable templates (<a href="https://isocpp.org/files/papers/N3651.pdf">n3651</a>)</p></li>
|
||||
<li><p>Member initializers and aggregates (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
|
||||
|
||||
@@ -138,11 +138,6 @@ a .inline.hpp file.
|
||||
* .inline.hpp files should only be included in .cpp or .inline.hpp
|
||||
files.
|
||||
|
||||
* All .inline.hpp files should include their corresponding .hpp file as
|
||||
the first include line. Declarations needed by other files should be put
|
||||
in the .hpp file, and not in the .inline.hpp file. This rule exists to
|
||||
resolve problems with circular dependencies between .inline.hpp files.
|
||||
|
||||
* All .cpp files include precompiled.hpp as the first include line.
|
||||
|
||||
* precompiled.hpp is just a build time optimization, so don't rely on
|
||||
@@ -752,11 +747,6 @@ part of the avoidance of the C++ Standard Library in HotSpot code.
|
||||
([n3206](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm)),
|
||||
([n3272](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm))
|
||||
|
||||
* `override` virtual specifiers for virtual functions
|
||||
([n2928](http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm)),
|
||||
([n3206](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm)),
|
||||
([n3272](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm))
|
||||
|
||||
* Local and unnamed types as template parameters
|
||||
([n2657](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm))
|
||||
|
||||
@@ -823,6 +813,9 @@ in HotSpot code because of the "no implicit boolean" guideline.)
|
||||
This list is incomplete; it serves to explicitly call out some
|
||||
features that have not yet been discussed.
|
||||
|
||||
* `overrides` virtual specifiers for virtual functions
|
||||
([n3272](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm))
|
||||
|
||||
* Trailing return type syntax for functions
|
||||
([n2541](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm))
|
||||
|
||||
|
||||
230
jb/jdkdiff.py
230
jb/jdkdiff.py
@@ -1,230 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import math
|
||||
import os.path
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
|
||||
def fatal(msg):
|
||||
sys.stderr.write(f"[fatal] {msg}\n")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def verbose(options, *msg):
|
||||
if options.verbose:
|
||||
sys.stdout.write(f"[verbose] ")
|
||||
sys.stdout.write(*msg)
|
||||
sys.stdout.write('\n')
|
||||
|
||||
|
||||
def first_line(str):
|
||||
return "" if not str else str.splitlines()[0]
|
||||
|
||||
|
||||
class Options:
|
||||
def __init__(self):
|
||||
ap = argparse.ArgumentParser(description="Show bugfixes differences between JBR and OpenJDK git repos",
|
||||
epilog="Example: %(prog)s --jdk ./jdk11u/ --jbr ./JetBrainsRuntime/ --path src/hotspot --limit 200")
|
||||
ap.add_argument('--jdk', dest='jdkpath', help='path to OpenJDK git repo', required=True)
|
||||
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git repo', required=True)
|
||||
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
|
||||
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int, default=-1)
|
||||
ap.add_argument('-o', dest="output_dir", help="save patches to this directory (created if necessary)")
|
||||
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
|
||||
args = ap.parse_args()
|
||||
|
||||
if not os.path.isdir(args.jdkpath):
|
||||
fatal(f"{args.jdkpath} not a directory")
|
||||
|
||||
if not os.path.isdir(args.jbrpath):
|
||||
fatal(f"{args.jbrpath} not a directory")
|
||||
|
||||
if not git_is_available():
|
||||
fatal("can't run git commands; make sure git is in PATH")
|
||||
|
||||
self.jdkpath = args.jdkpath
|
||||
self.jbrpath = args.jbrpath
|
||||
self.path = args.path
|
||||
self.limit = args.limit
|
||||
self.output_dir = args.output_dir
|
||||
self.verbose = args.verbose
|
||||
|
||||
|
||||
class GitRepo:
|
||||
def __init__(self, rootpath):
|
||||
self.rootpath = rootpath
|
||||
|
||||
def run_git_cmd(self, git_args):
|
||||
args = ["git", "-C", self.rootpath]
|
||||
args.extend(git_args)
|
||||
# print(f"Runnig git cmd '{' '.join(args)}'")
|
||||
p = subprocess.run(args, capture_output=True, text=True)
|
||||
if p.returncode != 0:
|
||||
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
|
||||
return p.stdout
|
||||
|
||||
def save_git_cmd(self, fname, git_args):
|
||||
args = ["git", "-C", self.rootpath]
|
||||
args.extend(git_args)
|
||||
# print(f"Runnig git cmd '{' '.join(args)}'")
|
||||
with open(fname, "w") as stdout_file:
|
||||
p = subprocess.run(args, stdout=stdout_file)
|
||||
if p.returncode != 0:
|
||||
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
|
||||
|
||||
def current_branch(self):
|
||||
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
|
||||
return branch_name
|
||||
|
||||
def log(self, path=None, limit=None):
|
||||
cmds = ["log", "--no-decorate"]
|
||||
if limit:
|
||||
cmds.extend(["-n", str(limit)])
|
||||
if path:
|
||||
cmds.append(path)
|
||||
full_log = self.run_git_cmd(cmds)
|
||||
return full_log
|
||||
|
||||
|
||||
class Commit:
|
||||
def __init__(self, lines):
|
||||
self.sha = lines[0].split()[1]
|
||||
self.message = ""
|
||||
self.bugid = None
|
||||
|
||||
# Commit message starts after one blank line
|
||||
read_message = False
|
||||
for l in lines:
|
||||
if read_message:
|
||||
self.message += l + "\n"
|
||||
if not read_message and l == "":
|
||||
read_message = True
|
||||
|
||||
if self.message and self.message != "" and ":" in self.message:
|
||||
maybe_bugid = self.message.split(":")[0].strip()
|
||||
if 10 >= len(maybe_bugid) >= 4:
|
||||
self.bugid = maybe_bugid
|
||||
|
||||
|
||||
class History:
|
||||
def __init__(self, log):
|
||||
log_itr = iter(log.splitlines())
|
||||
self.commits = []
|
||||
commit_lines = []
|
||||
for line in log_itr:
|
||||
if line.startswith("commit ") and len(commit_lines) > 0:
|
||||
commit = Commit(commit_lines)
|
||||
self.commits.append(commit)
|
||||
commit_lines = []
|
||||
commit_lines.append(line)
|
||||
|
||||
if len(commit_lines) > 0:
|
||||
commit = Commit(commit_lines)
|
||||
self.commits.append(commit)
|
||||
|
||||
def contains(self, str):
|
||||
return any(str in commit.message for commit in self.commits)
|
||||
|
||||
def size(self):
|
||||
return len(self.commits)
|
||||
|
||||
|
||||
def print_explanation(options, jdk, jbr):
|
||||
verbose(options, f"Reading history from '{jdk.rootpath}' on branch '{jdk.current_branch()}'")
|
||||
if options.path:
|
||||
verbose(options, f"\t(only under '{options.path}')")
|
||||
verbose(options, f"Searching for same fixes in '{jbr.rootpath}' on branch '{jbr.current_branch()}'")
|
||||
|
||||
|
||||
def git_is_available():
|
||||
p = None
|
||||
try:
|
||||
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
except:
|
||||
pass
|
||||
return p is not None and p.returncode == 0
|
||||
|
||||
|
||||
def main():
|
||||
check_python_min_requirements()
|
||||
|
||||
options = Options()
|
||||
|
||||
jdk = GitRepo(options.jdkpath)
|
||||
jbr = GitRepo(options.jbrpath)
|
||||
|
||||
print_explanation(options, jdk, jbr)
|
||||
|
||||
commits_to_save = []
|
||||
try:
|
||||
jdk_log = jdk.log(options.path, options.limit)
|
||||
jdk_history = History(jdk_log)
|
||||
|
||||
jbr_log = jbr.log(options.path)
|
||||
jbr_history = History(jbr_log)
|
||||
|
||||
verbose(options, f"Read {jdk_history.size()} commits in JDK, {jbr_history.size()} in JBR")
|
||||
|
||||
for c in jdk_history.commits:
|
||||
if c.bugid:
|
||||
verbose(options, f"Looking for bugfix for {c.bugid}")
|
||||
if not jbr_history.contains(c.bugid):
|
||||
commits_to_save.append(c)
|
||||
print(f"[note] Fix for {c.bugid} not found in JBR ({jbr.rootpath})")
|
||||
print(f" commit {c.sha}")
|
||||
print(f" {first_line(c.message).strip()}")
|
||||
except KeyboardInterrupt:
|
||||
fatal("Interrupted")
|
||||
|
||||
if len(commits_to_save) > 0 and options.output_dir:
|
||||
print()
|
||||
if not os.path.exists(options.output_dir):
|
||||
verbose(options, f"Creating output directory {options.output_dir}")
|
||||
os.makedirs(options.output_dir)
|
||||
nzeroes = len(str(len(commits_to_save)))
|
||||
for i, c in enumerate(reversed(commits_to_save)):
|
||||
fname = os.path.join(options.output_dir, f"{str(i).zfill(nzeroes)}-{c.bugid}.patch")
|
||||
print(f"[note] {c.bugid} saved as {fname}")
|
||||
fname = os.path.abspath(fname)
|
||||
jdk.save_git_cmd(fname, ["format-patch", "-1", c.sha, "--stdout"])
|
||||
|
||||
script_fname = os.path.join(options.output_dir, "apply.sh")
|
||||
with open(script_fname, "w") as script_file:
|
||||
print(apply_script_code.format(os.path.abspath(jbr.rootpath), os.path.abspath(options.output_dir)),
|
||||
file=script_file)
|
||||
print(f"[note] Execute 'bash {script_fname}' to apply patches to {jbr.rootpath}")
|
||||
|
||||
|
||||
def check_python_min_requirements():
|
||||
if sys.version_info < (3, 6):
|
||||
fatal("Minimum version 3.6 is required to run this script")
|
||||
|
||||
|
||||
apply_script_code = """
|
||||
#!/bin/bash
|
||||
|
||||
GITROOT={0}
|
||||
PATCHROOT={1}
|
||||
|
||||
cd $PATCHROOT || exit 1
|
||||
PATCHES=$(find $PATCHROOT -name '*.patch' | sort -n)
|
||||
|
||||
for P in $PATCHES; do
|
||||
git -C $GITROOT am $P
|
||||
if [ $? != 0 ]; then
|
||||
mv "$P" "$P.failed"
|
||||
echo "[ERROR] Patch $P did not apply cleanly. Try applying it manually."
|
||||
echo "[NOTE] Execute this script to apply the remaining patches."
|
||||
exit 1
|
||||
else
|
||||
mv "$P" "$P.done"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "[NOTE] Done applying patches; check $PATCHROOT for .patch and .patch.failed to see if all have been applied."
|
||||
"""
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -3,11 +3,11 @@ FROM centos:7
|
||||
RUN yum -y install centos-release-scl
|
||||
RUN yum -y install devtoolset-8
|
||||
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool gcc gcc-c++ libstdc++-devel alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel git
|
||||
# Install Java 16
|
||||
RUN wget https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz \
|
||||
-O - | tar xz -C /
|
||||
RUN mv /zulu16.28.11-ca-jdk16.0.0-linux_x64 /jdk16.0.0
|
||||
# Install Java 15
|
||||
RUN wget https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz \
|
||||
-O - | tar xz -C /
|
||||
RUN mv /zulu15.27.17-ca-jdk15.0.0-linux_x64 /jdk15.0.0
|
||||
ENV PATH /opt/rh/devtoolset-8/root/usr/bin:$PATH
|
||||
RUN mkdir .git
|
||||
RUN git config user.email "teamcity@jetbrains.com"
|
||||
RUN git config user.email "builduser@jetbrains.com"
|
||||
RUN git config user.name "builduser"
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
FROM i386/ubuntu:xenial
|
||||
|
||||
RUN linux32 apt-get update && apt-get install -y --no-install-recommends apt-utils
|
||||
COPY jbrsdk-11.0.5-b1 /jbrsdk-11.0.5-b1
|
||||
RUN linux32 apt-get -y install file build-essential zip unzip curl libx11-dev libxext-dev \
|
||||
libxrender-dev libxrandr-dev libxtst-dev libxt-dev libcups2-dev libasound2-data \
|
||||
libpng12-0 libasound2 libfreetype6 libfontconfig1-dev libasound2-dev autoconf
|
||||
@@ -1,9 +0,0 @@
|
||||
<component name="CopyrightManager">
|
||||
<copyright>
|
||||
<option name="notice" value="Copyright &#36;originalComment.match("Copyright (\d+)", 1, "-")&#36;today.year JetBrains s.r.o. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. This code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 only, as published by the Free Software Foundation. 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." />
|
||||
<option name="keyword" value="Copyright" />
|
||||
<option name="allowReplaceKeyword" value="JetBrains" />
|
||||
<option name="myName" value="JetBrains" />
|
||||
<option name="myLocal" value="true" />
|
||||
</copyright>
|
||||
</component>
|
||||
@@ -1,3 +0,0 @@
|
||||
<component name="CopyrightManager">
|
||||
<settings default="JetBrains" />
|
||||
</component>
|
||||
@@ -1 +0,0 @@
|
||||
JetBrainsRuntime
|
||||
@@ -1,9 +0,0 @@
|
||||
<component name="CopyrightManager">
|
||||
<copyright>
|
||||
<option name="notice" value="Copyright 2000-&#36;today.year JetBrains s.r.o. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." />
|
||||
<option name="keyword" value="Copyright" />
|
||||
<option name="allowReplaceKeyword" value="JetBrains" />
|
||||
<option name="myName" value="JetBrains" />
|
||||
<option name="myLocal" value="true" />
|
||||
</copyright>
|
||||
</component>
|
||||
@@ -1,3 +0,0 @@
|
||||
<component name="CopyrightManager">
|
||||
<settings default="JetBrains" />
|
||||
</component>
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="IssueNavigationConfiguration">
|
||||
<option name="links">
|
||||
<list>
|
||||
<IssueNavigationLink>
|
||||
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
|
||||
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
|
||||
</IssueNavigationLink>
|
||||
<IssueNavigationLink>
|
||||
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
|
||||
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
|
||||
</IssueNavigationLink>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="IssueNavigationConfiguration">
|
||||
<option name="links">
|
||||
<list>
|
||||
<IssueNavigationLink>
|
||||
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
|
||||
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
|
||||
</IssueNavigationLink>
|
||||
<IssueNavigationLink>
|
||||
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
|
||||
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
|
||||
</IssueNavigationLink>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -52,13 +52,3 @@ function get_mods_list() {
|
||||
__mods=$1
|
||||
echo $(ls $__mods) | sed s/\.jmod/,/g | sed s/,$//g | sed s/' '//g
|
||||
}
|
||||
|
||||
function copy_jmods() {
|
||||
__mods_list=$1
|
||||
__jmods_from=$2
|
||||
__jmods_to=$3
|
||||
|
||||
mkdir -p $__jmods_to
|
||||
|
||||
echo "${__mods_list}," | while read -d, mod; do cp $__jmods_from/$mod.jmod $__jmods_to/; done
|
||||
}
|
||||
|
||||
@@ -27,12 +27,12 @@ JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
|
||||
[ -z "$bundle_type" ] && (git apply -p0 < jb/project/tools/patches/exclude_jcef_module.patch || exit $?)
|
||||
|
||||
sh configure \
|
||||
--disable-warnings-as-errors \
|
||||
--with-debug-level=release \
|
||||
--with-vendor-name="${VENDOR_NAME}" \
|
||||
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
|
||||
--with-jvm-features=shenandoahgc \
|
||||
--with-version-pre= \
|
||||
--with-version-build="${JDK_BUILD_NUMBER}" \
|
||||
--with-version-build=${JDK_BUILD_NUMBER} \
|
||||
--with-version-opt=b${build_number} \
|
||||
--with-boot-jdk=${BOOT_JDK} \
|
||||
--enable-cds=yes || exit $?
|
||||
@@ -68,7 +68,7 @@ grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules
|
||||
echo Running jlink....
|
||||
${JSDK}/bin/jlink \
|
||||
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
|
||||
--add-modules $(xargs < modules.list.aarch64 | sed s/" "//g | sed s/',$'//g) \
|
||||
--add-modules $(xargs < modules.list.aarch64 | sed s/" "//g | sed s/,$//g) \
|
||||
--output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
|
||||
|
||||
echo Modifying release info ...
|
||||
|
||||
@@ -36,7 +36,7 @@ function create_image_bundle {
|
||||
__modules_path=$3
|
||||
__modules=$4
|
||||
|
||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
||||
[ "$bundle_type" == "fd" ] && fastdebug_infix="fastdebug-"
|
||||
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-x64-${fastdebug_infix}b${build_number}
|
||||
|
||||
echo Running jlink....
|
||||
@@ -46,10 +46,9 @@ function create_image_bundle {
|
||||
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__arch_name"
|
||||
|
||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__arch_name"/release
|
||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
||||
if [ "$__bundle_name" == "$JBRSDK_BUNDLE" ]; then
|
||||
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__arch_name"/release > release
|
||||
mv release "$IMAGES_DIR"/"$__arch_name"/release
|
||||
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__arch_name"/jmods
|
||||
fi
|
||||
|
||||
# jmod does not preserve file permissions (JDK-8173610)
|
||||
@@ -67,29 +66,29 @@ RELEASE_NAME=linux-x86_64-server-release
|
||||
|
||||
case "$bundle_type" in
|
||||
"jcef")
|
||||
do_reset_changes=0
|
||||
do_reset_changes=1
|
||||
;;
|
||||
"dcevm")
|
||||
HEAD_REVISION=$(git rev-parse HEAD)
|
||||
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
|
||||
do_reset_dcevm=0
|
||||
do_reset_changes=0
|
||||
do_reset_dcevm=1
|
||||
do_reset_changes=1
|
||||
;;
|
||||
"nomod" | "")
|
||||
bundle_type=""
|
||||
;;
|
||||
"fd")
|
||||
do_reset_changes=0
|
||||
do_reset_changes=1
|
||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
||||
RELEASE_NAME=linux-x86_64-server-fastdebug
|
||||
;;
|
||||
esac
|
||||
|
||||
sh configure \
|
||||
--disable-warnings-as-errors \
|
||||
$WITH_DEBUG_LEVEL \
|
||||
--with-vendor-name="$VENDOR_NAME" \
|
||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
||||
--with-jvm-features=shenandoahgc \
|
||||
--with-version-pre= \
|
||||
--with-version-build="$JDK_BUILD_NUMBER" \
|
||||
--with-version-opt=b"$build_number" \
|
||||
@@ -113,7 +112,6 @@ if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_t
|
||||
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
|
||||
|
||||
jbr_name_postfix="_${bundle_type}"
|
||||
[ "$bundle_type" != "fd" ] && jbrsdk_name_postfix="_${bundle_type}"
|
||||
fi
|
||||
|
||||
# create runtime image bundle
|
||||
@@ -121,11 +119,11 @@ modules=$(xargs < modules.list | sed s/" "//g) || do_exit $?
|
||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
||||
|
||||
# create sdk image bundle
|
||||
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
|
||||
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/,/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
|
||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
|
||||
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
|
||||
fi
|
||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
|
||||
create_image_bundle $JBRSDK_BUNDLE $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
|
||||
|
||||
if [ -z "$bundle_type" ]; then
|
||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-test-x64-b${build_number}
|
||||
|
||||
@@ -27,6 +27,7 @@ JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
|
||||
[ -z "$bundle_type" ] && (git apply -p0 < jb/project/tools/patches/exclude_jcef_module.patch || exit $?)
|
||||
|
||||
linux32 bash configure \
|
||||
--disable-warnings-as-errors \
|
||||
--with-debug-level=release \
|
||||
--with-vendor-name="${VENDOR_NAME}" \
|
||||
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
|
||||
|
||||
@@ -25,23 +25,13 @@ JBSDK_VERSION=$1
|
||||
JDK_BUILD_NUMBER=$2
|
||||
build_number=$3
|
||||
bundle_type=$4
|
||||
architecture=$5 # aarch64 or x64
|
||||
enable_aot=$6 # temporary param for building test jre with aot under aarch64
|
||||
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
|
||||
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=./modular-sdk}"
|
||||
JBSDK_VERSION_WITH_DOTS=$(echo "$JBSDK_VERSION" | sed 's/_/\./g')
|
||||
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
|
||||
architecture=${architecture:=x64}
|
||||
MAJOR_JBSDK_VERSION=$(echo "$JBSDK_VERSION_WITH_DOTS" | awk -F "." '{print $1}')
|
||||
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
|
||||
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 14)}
|
||||
|
||||
source jb/project/tools/common/scripts/common.sh
|
||||
|
||||
function copyJNF {
|
||||
__contents_dir=$1
|
||||
mkdir -p ${__contents_dir}/Frameworks
|
||||
cp -Rp Frameworks/JavaNativeFoundation.framework ${__contents_dir}/Frameworks
|
||||
}
|
||||
|
||||
function create_image_bundle {
|
||||
__bundle_name=$1
|
||||
__arch_name=$2
|
||||
@@ -51,8 +41,8 @@ function create_image_bundle {
|
||||
tmp=.bundle.$$.tmp
|
||||
mkdir "$tmp" || do_exit $?
|
||||
|
||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
||||
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix}b${build_number}
|
||||
[ "$bundle_type" == "fd" ] && fastdebug_infix="fastdebug-"
|
||||
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-x64-${fastdebug_infix}b${build_number}
|
||||
|
||||
JRE_CONTENTS=$tmp/$__arch_name/Contents
|
||||
mkdir -p "$JRE_CONTENTS" || do_exit $?
|
||||
@@ -63,21 +53,13 @@ function create_image_bundle {
|
||||
--add-modules "$__modules" --output "$JRE_CONTENTS/Home" || do_exit $?
|
||||
|
||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$JRE_CONTENTS/Home/release"
|
||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
||||
if [ "$__bundle_name" == "$JBRSDK_BUNDLE" ]; then
|
||||
sed 's/JBR/JBRSDK/g' $JRE_CONTENTS/Home/release > release
|
||||
mv release $JRE_CONTENTS/Home/release
|
||||
copy_jmods "$__modules" "$__modules_path" "$JRE_CONTENTS"/Home/jmods
|
||||
fi
|
||||
|
||||
cp -R "$JSDK"/../MacOS "$JRE_CONTENTS"
|
||||
cp "$JSDK"/../Info.plist "$JRE_CONTENTS"
|
||||
|
||||
if [[ "${architecture}" == *aarch64* ]]; then
|
||||
# we can't notarize this library as usual framework (with headers and tbd-file)
|
||||
# but single library notarizes correctly
|
||||
copyJNF $JRE_CONTENTS
|
||||
fi
|
||||
|
||||
[ -n "$bundle_type" ] && (cp -a $JCEF_PATH/Frameworks "$JRE_CONTENTS" || do_exit $?)
|
||||
|
||||
echo Creating "$JBR".tar.gz ...
|
||||
@@ -86,60 +68,39 @@ function create_image_bundle {
|
||||
}
|
||||
|
||||
WITH_DEBUG_LEVEL="--with-debug-level=release"
|
||||
CONF_ARCHITECTURE=x86_64
|
||||
if [[ "${architecture}" == *aarch64* ]]; then
|
||||
CONF_ARCHITECTURE=aarch64
|
||||
fi
|
||||
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-release
|
||||
RELEASE_NAME=macosx-x86_64-server-release
|
||||
|
||||
case "$bundle_type" in
|
||||
"jcef")
|
||||
do_reset_changes=0
|
||||
do_reset_changes=1
|
||||
;;
|
||||
"dcevm")
|
||||
HEAD_REVISION=$(git rev-parse HEAD)
|
||||
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
|
||||
do_reset_dcevm=0
|
||||
do_reset_changes=0
|
||||
do_reset_dcevm=1
|
||||
do_reset_changes=1
|
||||
;;
|
||||
"nomod" | "")
|
||||
bundle_type=""
|
||||
;;
|
||||
"fd")
|
||||
do_reset_changes=0
|
||||
do_reset_changes=1
|
||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
||||
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-fastdebug
|
||||
JBSDK=macosx-${architecture}-server-release
|
||||
RELEASE_NAME=macosx-x86_64-server-fastdebug
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${architecture}" == *aarch64* ]]; then
|
||||
sh configure \
|
||||
$WITH_DEBUG_LEVEL \
|
||||
--with-vendor-name="${VENDOR_NAME}" \
|
||||
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
|
||||
--with-jvm-features=shenandoahgc \
|
||||
--with-version-pre= \
|
||||
--with-version-build="${JDK_BUILD_NUMBER}" \
|
||||
--with-version-opt=b"${build_number}" \
|
||||
--with-boot-jdk="$BOOT_JDK" \
|
||||
--disable-hotspot-gtest --disable-javac-server --disable-full-docs --disable-manpages \
|
||||
--enable-cds=no \
|
||||
--with-extra-cflags="-F$(pwd)/Frameworks" \
|
||||
--with-extra-cxxflags="-F$(pwd)/Frameworks" \
|
||||
--with-extra-ldflags="-F$(pwd)/Frameworks" || do_exit $?
|
||||
else
|
||||
sh configure \
|
||||
$WITH_DEBUG_LEVEL \
|
||||
--with-vendor-name="$VENDOR_NAME" \
|
||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
||||
--with-jvm-features=shenandoahgc \
|
||||
--with-version-pre= \
|
||||
--with-version-build="$JDK_BUILD_NUMBER" \
|
||||
--with-version-opt=b"$build_number" \
|
||||
--with-boot-jdk="$BOOT_JDK" \
|
||||
--enable-cds=yes || do_exit $?
|
||||
fi
|
||||
sh configure \
|
||||
--disable-warnings-as-errors \
|
||||
$WITH_DEBUG_LEVEL \
|
||||
--with-vendor-name="$VENDOR_NAME" \
|
||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
||||
--with-version-pre= \
|
||||
--with-version-build="$JDK_BUILD_NUMBER" \
|
||||
--with-version-opt=b"$build_number" \
|
||||
--with-boot-jdk="$BOOT_JDK" \
|
||||
--enable-cds=yes || do_exit $?
|
||||
|
||||
make clean CONF=$RELEASE_NAME || do_exit $?
|
||||
make images CONF=$RELEASE_NAME || do_exit $?
|
||||
|
||||
@@ -161,14 +122,14 @@ modules=$(xargs < modules.list | sed s/" "//g) || do_exit $?
|
||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
||||
|
||||
# create sdk image bundle
|
||||
modules=$(cat "$JSDK"/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
|
||||
modules=$(cat "$JSDK"/release | grep MODULES | sed s/MODULES=//g | sed s/' '/,/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
|
||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
|
||||
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
|
||||
fi
|
||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
|
||||
create_image_bundle "$JBRSDK_BUNDLE" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
|
||||
|
||||
if [ -z "$bundle_type" ]; then
|
||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
|
||||
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-x64-b${build_number}
|
||||
echo Creating "$JBRSDK_TEST" ...
|
||||
make test-image CONF=$RELEASE_NAME || do_exit $?
|
||||
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
|
||||
|
||||
@@ -58,7 +58,7 @@ file="$APP_NAME.zip"
|
||||
|
||||
log "Zipping $file..."
|
||||
rm -rf "$file"
|
||||
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY" "$file"
|
||||
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY/Contents" "$file"
|
||||
|
||||
log "Notarizing $file..."
|
||||
rm -rf "altool.init.out" "altool.check.out"
|
||||
|
||||
@@ -26,30 +26,17 @@ log "Signing libraries and executables..."
|
||||
# -perm +111 searches for executables
|
||||
for f in \
|
||||
"Contents/Home/bin" \
|
||||
"Contents/Home/lib"; do
|
||||
"Contents/Home/lib" \
|
||||
"Contents/Frameworks"; do
|
||||
if [ -d "$APP_DIRECTORY/$f" ]; then
|
||||
find "$APP_DIRECTORY/$f" \
|
||||
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
|
||||
-exec codesign --timestamp --force \
|
||||
-exec codesign --timestamp \
|
||||
-v -s "$JB_CERT" --options=runtime \
|
||||
--entitlements entitlements.xml {} \;
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -d "$APP_DIRECTORY/Contents/Frameworks" ]; then
|
||||
log "Signing frameworks..."
|
||||
for f in $APP_DIRECTORY/Contents/Frameworks/*; do
|
||||
find "$f" \
|
||||
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" \) \
|
||||
-exec codesign --timestamp --force \
|
||||
-v -s "$JB_CERT" \
|
||||
--entitlements entitlements.xml {} \;
|
||||
codesign --timestamp --force \
|
||||
-v -s "$JB_CERT" --options=runtime \
|
||||
--entitlements entitlements.xml "$f"
|
||||
done
|
||||
fi
|
||||
|
||||
log "Signing libraries in jars in $PWD"
|
||||
|
||||
# todo: add set -euo pipefail; into the inner sh -c
|
||||
@@ -68,7 +55,7 @@ find "$APP_DIRECTORY" -name '*.jar' \
|
||||
|
||||
find jarfolder \
|
||||
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "jattach" \) \
|
||||
-exec codesign --timestamp --force \
|
||||
-exec codesign --timestamp \
|
||||
-v -s "$JB_CERT" --options=runtime \
|
||||
--entitlements entitlements.xml {} \;
|
||||
|
||||
@@ -84,7 +71,7 @@ for f in \
|
||||
if [ -d "$APP_DIRECTORY/$f" ]; then
|
||||
find "$APP_DIRECTORY/$f" \
|
||||
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
|
||||
-exec codesign --timestamp --force \
|
||||
-exec codesign --timestamp \
|
||||
-v -s "$JB_CERT" --options=runtime \
|
||||
--entitlements entitlements.xml {} \;
|
||||
fi
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash -x
|
||||
#!/bin/bash
|
||||
|
||||
#immediately exit script with an error if a command fails
|
||||
set -euo pipefail
|
||||
@@ -32,13 +32,17 @@ mkdir "$BACKUP_JMODS"
|
||||
|
||||
log "Unzipping $INPUT_FILE to $EXPLODED ..."
|
||||
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
|
||||
BUILD_NAME="$(ls "$EXPLODED")"
|
||||
sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
|
||||
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
|
||||
rm "$INPUT_FILE"
|
||||
BUILD_NAME="$(ls "$EXPLODED")"
|
||||
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
|
||||
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
|
||||
fi
|
||||
if test -f $EXPLODED/$BUILD_NAME/Contents/MacOS/libjli.dylib; then
|
||||
mv $EXPLODED/$BUILD_NAME/Contents/MacOS/libjli.dylib $BACKUP_JMODS
|
||||
fi
|
||||
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/Frameworks; then
|
||||
mv $EXPLODED/$BUILD_NAME/Contents/Home/Frameworks $BACKUP_JMODS
|
||||
fi
|
||||
|
||||
log "$INPUT_FILE extracted and removed"
|
||||
|
||||
@@ -127,8 +131,8 @@ log "Zipping $BUILD_NAME to $INPUT_FILE ..."
|
||||
mv $BACKUP_JMODS/jmods $EXPLODED/$BUILD_NAME/Contents/Home
|
||||
fi
|
||||
|
||||
tar -pczvf $INPUT_FILE --exclude='*.dSYM' --exclude='man' -C $EXPLODED $BUILD_NAME
|
||||
COPYFILE_DISABLE=1 tar -pczf $INPUT_FILE --exclude='*.dSYM' --exclude='man' -C $EXPLODED $BUILD_NAME
|
||||
log "Finished zipping"
|
||||
)
|
||||
rm -rf "$EXPLODED"
|
||||
log "Done"
|
||||
log "Done"
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
# How to call this script:
|
||||
# eval $(jb/project/tools/mkjbrapi.sh)
|
||||
|
||||
# It is used to build jetbrains.api module
|
||||
# After properly calling this script, you can use following variables:
|
||||
# JBR_API_JAR - absolute path to resulting JAR
|
||||
# JBR_API_SOURCES_JAR - absolute path to JAR with sources
|
||||
# JBR_API_VERSION - JBR API version in form <major>.<minor>
|
||||
# JBR_API_VERSION_MAJOR, JBR_API_VERSION_MINOR - JBR API version components
|
||||
# JBR_BUILD_DIR - absolute path to JBR build directory
|
||||
# JBR_BOOT_JDK - absolute path to used boot JDK
|
||||
|
||||
ROOT=$(pwd)
|
||||
|
||||
sh configure --with-debug-level=release --disable-warnings-as-errors 1>&2 || exit $?
|
||||
|
||||
# Get boot JDK & build directory using make script
|
||||
make -f $ROOT/make/JBRApi.gmk -I $ROOT jbr-api MAKEOVERRIDES= CONF=release OUT="$ROOT/build/jbr-api.cfg" 1>&2 || exit $?
|
||||
source "$ROOT/build/jbr-api.cfg" || exit $?
|
||||
|
||||
# Build module
|
||||
make jetbrains.api 1>&2 || exit $?
|
||||
|
||||
# Get JBR API version from compiled class
|
||||
JSHELL_COMMAND='
|
||||
System.out.println("\nVERSION_MAJOR=" + com.jetbrains.JBRApi.getMajorVersion());
|
||||
System.out.println("\nVERSION_MINOR=" + com.jetbrains.JBRApi.getMinorVersion());
|
||||
/exit'
|
||||
VERSION_VARIABLES=$("$BOOT_JDK/bin/jshell" -s --module-path "$BUILD_DIR/jdk/modules/jetbrains.api" \
|
||||
--add-modules jetbrains.api <<< "$JSHELL_COMMAND" | grep "^VERSION\|^|") || exit $?
|
||||
eval "$VERSION_VARIABLES" || exit $?
|
||||
|
||||
# Create JAR
|
||||
(
|
||||
cd "$BUILD_DIR/jdk/modules/jetbrains.api"
|
||||
"$BOOT_JDK/bin/jar" -cf "$BUILD_DIR/jbr-api.jar" * 1>&2
|
||||
) || exit $?
|
||||
|
||||
# Create source JAR
|
||||
(
|
||||
cd "src/jetbrains.api/share/classes"
|
||||
"$BOOT_JDK/bin/jar" -cf "$BUILD_DIR/jbr-api-sources.jar" * 1>&2
|
||||
) || exit $?
|
||||
|
||||
# Print output values
|
||||
echo "JBR_API_JAR=$BUILD_DIR/jbr-api.jar"
|
||||
echo "JBR_API_SOURCES_JAR=$BUILD_DIR/jbr-api-sources.jar"
|
||||
echo "JBR_API_VERSION=$VERSION_MAJOR.$VERSION_MINOR"
|
||||
echo "JBR_API_VERSION_MAJOR=$VERSION_MAJOR"
|
||||
echo "JBR_API_VERSION_MINOR=$VERSION_MINOR"
|
||||
echo "JBR_BUILD_DIR=$BUILD_DIR"
|
||||
echo "JBR_BOOT_JDK=$BOOT_JDK"
|
||||
|
||||
echo "Success!" 1>&2
|
||||
@@ -1,21 +1,21 @@
|
||||
diff --git modules.list modules.list
|
||||
index dcf610a6a56..f8797505c23 100644
|
||||
index 7c4b3e9cb6d..5ed60349ca7 100644
|
||||
--- modules.list
|
||||
+++ modules.list
|
||||
@@ -51,4 +51,7 @@ jdk.zipfs,
|
||||
jdk.hotspot.agent,
|
||||
jetbrains.api,
|
||||
jetbrains.api.impl,
|
||||
-jdk.jcmd
|
||||
+jdk.jcmd,
|
||||
@@ -53,4 +53,7 @@ jdk.security.jgss,
|
||||
jdk.unsupported,
|
||||
jdk.xml.dom,
|
||||
jdk.zipfs,
|
||||
-jdk.hotspot.agent
|
||||
+jdk.hotspot.agent,
|
||||
+jcef,
|
||||
+gluegen.rt,
|
||||
+jogl.all
|
||||
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
|
||||
index 897647ee368..781d1809493 100644
|
||||
index b663b382f52..3e9acdc0c27 100644
|
||||
--- src/java.desktop/share/classes/module-info.java
|
||||
+++ src/java.desktop/share/classes/module-info.java
|
||||
@@ -116,7 +116,11 @@ module java.desktop {
|
||||
@@ -109,7 +109,11 @@ module java.desktop {
|
||||
// see make/GensrcModuleInfo.gmk
|
||||
exports sun.awt to
|
||||
jdk.accessibility,
|
||||
|
||||
@@ -33,9 +33,8 @@ source jb/project/tools/common/scripts/common.sh
|
||||
|
||||
function create_image_bundle {
|
||||
__bundle_name=$1
|
||||
__arch_name=$2
|
||||
__modules_path=$3
|
||||
__modules=$4
|
||||
__modules_path=$2
|
||||
__modules=$3
|
||||
|
||||
[ -d $__bundle_name ] && rm -rf $__bundle_name
|
||||
|
||||
@@ -45,10 +44,9 @@ function create_image_bundle {
|
||||
--add-modules $__modules --output $__bundle_name || do_exit $?
|
||||
|
||||
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__bundle_name/release
|
||||
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
|
||||
if [ "$__bundle_name" == "$JBRSDK_BUNDLE" ]; then
|
||||
sed 's/JBR/JBRSDK/g' $__bundle_name/release > release
|
||||
mv release $__bundle_name/release
|
||||
copy_jmods "$__modules" "$__modules_path" "$__bundle_name"/jmods
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -57,29 +55,29 @@ RELEASE_NAME=windows-x86_64-server-release
|
||||
|
||||
case "$bundle_type" in
|
||||
"jcef")
|
||||
do_reset_changes=0
|
||||
do_reset_changes=1
|
||||
;;
|
||||
"dcevm")
|
||||
HEAD_REVISION=$(git rev-parse HEAD)
|
||||
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
|
||||
do_reset_dcevm=0
|
||||
do_reset_changes=0
|
||||
do_reset_dcevm=1
|
||||
do_reset_changes=1
|
||||
;;
|
||||
"nomod" | "")
|
||||
bundle_type=""
|
||||
;;
|
||||
"fd")
|
||||
do_reset_changes=0
|
||||
do_reset_changes=1
|
||||
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
|
||||
RELEASE_NAME=windows-x86_64-server-fastdebug
|
||||
;;
|
||||
esac
|
||||
|
||||
sh ./configure \
|
||||
--disable-warnings-as-errors \
|
||||
$WITH_DEBUG_LEVEL \
|
||||
--with-vendor-name="$VENDOR_NAME" \
|
||||
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
|
||||
--with-jvm-features=shenandoahgc \
|
||||
--with-version-pre= \
|
||||
--with-version-build=$JDK_BUILD_NUMBER \
|
||||
--with-version-opt=b${build_number} \
|
||||
@@ -99,11 +97,6 @@ JSDK=$IMAGES_DIR/jdk
|
||||
JSDK_MODS_DIR=$IMAGES_DIR/jmods
|
||||
JBRSDK_BUNDLE=jbrsdk
|
||||
|
||||
where cygpath
|
||||
if [ $? -eq 0 ]; then
|
||||
JCEF_PATH="$(cygpath -w $JCEF_PATH)"
|
||||
fi
|
||||
|
||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
|
||||
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
|
||||
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
|
||||
@@ -114,13 +107,13 @@ fi
|
||||
|
||||
# create runtime image bundle
|
||||
modules=$(xargs < modules.list | sed s/" "//g) || do_exit $?
|
||||
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
|
||||
create_image_bundle "jbr${jbr_name_postfix}" $JSDK_MODS_DIR "$modules" || do_exit $?
|
||||
|
||||
# create sdk image bundle
|
||||
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
|
||||
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/,/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
|
||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
|
||||
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
|
||||
fi
|
||||
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
|
||||
create_image_bundle "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
|
||||
|
||||
do_exit 0
|
||||
@@ -29,6 +29,7 @@ WORK_DIR=$(pwd)
|
||||
|
||||
PATH="/usr/local/bin:/usr/bin:${PATH}"
|
||||
./configure \
|
||||
--disable-warnings-as-errors \
|
||||
--with-target-bits=32 \
|
||||
--with-vendor-name="${VENDOR_NAME}" \
|
||||
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
|
||||
|
||||
@@ -26,30 +26,49 @@ build_number=$3
|
||||
bundle_type=$4
|
||||
|
||||
function pack_jbr {
|
||||
__bundle_name=$1
|
||||
__arch_name=$2
|
||||
|
||||
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
|
||||
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
|
||||
if [ -z "${bundle_type}" ]; then
|
||||
JBR_BUNDLE=jbr
|
||||
else
|
||||
JBR_BUNDLE=jbr_${bundle_type}
|
||||
[ -d ${BASE_DIR}/jbr ] && rm -rf ${BASE_DIR}/jbr
|
||||
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
|
||||
fi
|
||||
JBR_BASE_NAME=${JBR_BUNDLE}-${JBSDK_VERSION}
|
||||
|
||||
JBR=$JBR_BASE_NAME-windows-x64-b$build_number
|
||||
echo Creating $JBR.tar.gz ...
|
||||
|
||||
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__bundle_name || do_exit $?
|
||||
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || do_exit $?
|
||||
}
|
||||
|
||||
[ "$bundle_type" == "nomod" ] && bundle_type=""
|
||||
|
||||
JBRSDK_BUNDLE=jbrsdk
|
||||
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
|
||||
JBR_BASE_NAME=jbr-$JBSDK_VERSION
|
||||
RELEASE_NAME=windows-x86_64-server-release
|
||||
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-b${build_number}
|
||||
case "$bundle_type" in
|
||||
"nomod" | "")
|
||||
bundle_type=""
|
||||
;;
|
||||
"fd")
|
||||
RELEASE_NAME=macosx-x86_64-server-fastdebug
|
||||
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-fastdebug-b${build_number}
|
||||
;;
|
||||
esac
|
||||
|
||||
IMAGES_DIR=build/$RELEASE_NAME/images
|
||||
JSDK=$IMAGES_DIR/jdk
|
||||
JBSDK=$JBRSDK_BASE_NAME-windows-x64-b$build_number
|
||||
BASE_DIR=.
|
||||
|
||||
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
|
||||
jbr_name_postfix="_${bundle_type}"
|
||||
JBRSDK_BUNDLE=jbrsdk
|
||||
echo Creating $JBSDK.tar.gz ...
|
||||
[ -f "$JBSDK.tar.gz" ] && rm "$JBSDK.tar.gz"
|
||||
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || do_exit $?
|
||||
fi
|
||||
|
||||
pack_jbr jbr${jbr_name_postfix}
|
||||
pack_jbr jbrsdk${jbr_name_postfix}
|
||||
pack_jbr $bundle_type
|
||||
|
||||
if [ -z "$bundle_type" ]; then
|
||||
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x64-b$build_number
|
||||
|
||||
@@ -49,8 +49,7 @@ TARGETS += $(patsubst %, $(BUILDTOOLS_OUTPUTDIR)/gensrc/%/module-info.java, \
|
||||
$(INTERIM_LANGTOOLS_MODULES))
|
||||
|
||||
$(eval $(call SetupCopyFiles, COPY_PREVIEW_FEATURES, \
|
||||
FILES := $(TOPDIR)/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java \
|
||||
$(TOPDIR)/src/java.base/share/classes/jdk/internal/javac/NoPreview.java, \
|
||||
FILES := $(TOPDIR)/src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java, \
|
||||
DEST := $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim/jdk/internal/javac/, \
|
||||
))
|
||||
|
||||
|
||||
@@ -52,6 +52,94 @@ $(eval $(call SetupJavaCompilation, BUILD_TOOLS_HOTSPOT, \
|
||||
TARGETS += $(BUILD_TOOLS_HOTSPOT)
|
||||
|
||||
|
||||
################################################################################
|
||||
# Graal build tools
|
||||
ifeq ($(INCLUDE_GRAAL), true)
|
||||
VM_CI_SRC_DIR := $(TOPDIR)/src/jdk.internal.vm.ci/share/classes
|
||||
|
||||
SRC_DIR := $(TOPDIR)/src/jdk.internal.vm.compiler/share/classes
|
||||
|
||||
##############################################################################
|
||||
# Compile the annotation processors
|
||||
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_MATCH_PROCESSOR, \
|
||||
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
|
||||
SRC := \
|
||||
$(SRC_DIR)/org.graalvm.compiler.processor/src \
|
||||
$(SRC_DIR)/org.graalvm.compiler.core.match.processor/src \
|
||||
, \
|
||||
EXCLUDE_FILES := $(EXCLUDE_FILES), \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor, \
|
||||
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.match.processor.jar, \
|
||||
DISABLED_WARNINGS := options, \
|
||||
))
|
||||
|
||||
TARGETS += $(BUILD_VM_COMPILER_MATCH_PROCESSOR)
|
||||
|
||||
##############################################################################
|
||||
|
||||
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_NODEINFO_PROCESSOR, \
|
||||
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
|
||||
SRC := \
|
||||
$(SRC_DIR)/org.graalvm.compiler.processor/src \
|
||||
$(SRC_DIR)/org.graalvm.compiler.nodeinfo.processor/src \
|
||||
, \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor, \
|
||||
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.nodeinfo.processor.jar, \
|
||||
DISABLED_WARNINGS := options, \
|
||||
))
|
||||
|
||||
TARGETS += $(BUILD_VM_COMPILER_NODEINFO_PROCESSOR)
|
||||
|
||||
##############################################################################
|
||||
|
||||
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_OPTIONS_PROCESSOR, \
|
||||
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
|
||||
DISABLED_WARNINGS := options, \
|
||||
SRC := \
|
||||
$(SRC_DIR)/org.graalvm.compiler.processor/src \
|
||||
$(SRC_DIR)/org.graalvm.compiler.options.processor/src \
|
||||
, \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor, \
|
||||
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.options.processor.jar, \
|
||||
))
|
||||
|
||||
TARGETS += $(BUILD_VM_COMPILER_OPTIONS_PROCESSOR)
|
||||
|
||||
##############################################################################
|
||||
|
||||
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_REPLACEMENTS_PROCESSOR, \
|
||||
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
|
||||
SRC := \
|
||||
$(SRC_DIR)/org.graalvm.compiler.processor/src \
|
||||
$(SRC_DIR)/org.graalvm.compiler.replacements.processor/src \
|
||||
, \
|
||||
EXCLUDE_FILES := $(EXCLUDE_FILES), \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier, \
|
||||
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.replacements.verifier.jar, \
|
||||
DISABLED_WARNINGS := options, \
|
||||
))
|
||||
|
||||
TARGETS += $(BUILD_VM_COMPILER_REPLACEMENTS_PROCESSOR)
|
||||
|
||||
##############################################################################
|
||||
|
||||
$(eval $(call SetupJavaCompilation, BUILD_VM_COMPILER_SERVICEPROVIDER_PROCESSOR, \
|
||||
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
|
||||
SRC := \
|
||||
$(SRC_DIR)/org.graalvm.compiler.processor/src \
|
||||
$(SRC_DIR)/org.graalvm.compiler.serviceprovider.processor/src \
|
||||
, \
|
||||
EXCLUDE_FILES := $(EXCLUDE_FILES), \
|
||||
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor, \
|
||||
JAR := $(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor.jar, \
|
||||
DISABLED_WARNINGS := options, \
|
||||
))
|
||||
|
||||
TARGETS += $(BUILD_VM_COMPILER_SERVICEPROVIDER_PROCESSOR)
|
||||
|
||||
##############################################################################
|
||||
endif
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
.PHONY: all
|
||||
|
||||
@@ -213,12 +213,12 @@ endif
|
||||
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.pdb,*.map}'
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.pdb,*.map}'
|
||||
else
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.map}'
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.map}'
|
||||
endif
|
||||
else
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
|
||||
endif
|
||||
|
||||
# Create jmods in the support dir and then move them into place to keep the
|
||||
|
||||
@@ -154,14 +154,13 @@ COPYRIGHT_BOTTOM = \
|
||||
<a href="$(REDISTRIBUTION_URL)">documentation redistribution policy</a>. \
|
||||
$(DRAFT_MARKER_STR) <!-- Version $(VERSION_STRING) -->
|
||||
|
||||
# $1 - Optional "Other Versions" link
|
||||
JAVADOC_BOTTOM = \
|
||||
JAVADOC_BOTTOM := \
|
||||
<a href="$(BUG_SUBMIT_URL)">Report a bug or suggest an enhancement</a><br> \
|
||||
For further API reference and developer documentation see the \
|
||||
<a href="$(JAVADOC_BASE_URL)" target="_blank">Java SE \
|
||||
Documentation</a>, which contains more detailed, \
|
||||
developer-targeted descriptions with conceptual overviews, definitions \
|
||||
of terms, workarounds, and working code examples. $1<br> \
|
||||
of terms, workarounds, and working code examples.<br> \
|
||||
Java is a trademark or registered trademark of $(FULL_COMPANY_NAME) in \
|
||||
the US and other countries.<br> \
|
||||
$(call COPYRIGHT_BOTTOM, {@docroot}/../)
|
||||
@@ -301,21 +300,22 @@ define SetupApiDocsGenerationBody
|
||||
$1_OPTIONS += -Xdoclint/package:$$(call CommaList, $$(addprefix -, \
|
||||
$$(JAVADOC_DISABLED_DOCLINT_PACKAGES)))
|
||||
|
||||
ifneq ($$($1_OTHER_VERSIONS), )
|
||||
$1_LINKED_SHORT_NAME = <a href="$$($1_OTHER_VERSIONS)">$$($1_SHORT_NAME)</a>
|
||||
else
|
||||
$1_LINKED_SHORT_NAME = $$($1_SHORT_NAME)
|
||||
endif
|
||||
|
||||
$1_DOC_TITLE := $$($1_LONG_NAME)<br>Version $$(VERSION_SPECIFICATION) API \
|
||||
Specification
|
||||
$1_WINDOW_TITLE := $$(subst &,&,$$($1_SHORT_NAME))$$(DRAFT_MARKER_TITLE)
|
||||
$1_HEADER_TITLE := <div $$(HEADER_STYLE)><strong>$$($1_SHORT_NAME)</strong> \
|
||||
$1_HEADER_TITLE := <div $$(HEADER_STYLE)><strong>$$($1_LINKED_SHORT_NAME)</strong> \
|
||||
$$(DRAFT_MARKER_STR)</div>
|
||||
ifneq ($$($1_OTHER_VERSIONS), )
|
||||
$1_JAVADOC_BOTTOM := $$(call JAVADOC_BOTTOM, <a href="$$($1_OTHER_VERSIONS)">Other versions.</a>)
|
||||
else
|
||||
$1_JAVADOC_BOTTOM := $$(call JAVADOC_BOTTOM, )
|
||||
endif
|
||||
|
||||
$1_OPTIONS += -doctitle '$$($1_DOC_TITLE)'
|
||||
$1_OPTIONS += -windowtitle '$$($1_WINDOW_TITLE)'
|
||||
$1_OPTIONS += -header '$$($1_HEADER_TITLE)'
|
||||
$1_OPTIONS += -bottom '$$($1_JAVADOC_BOTTOM)'
|
||||
$1_OPTIONS += -bottom '$$(JAVADOC_BOTTOM)'
|
||||
ifeq ($$(IS_DRAFT), true)
|
||||
$1_OPTIONS += -top '$$(JAVADOC_TOP)'
|
||||
endif
|
||||
@@ -332,12 +332,6 @@ define SetupApiDocsGenerationBody
|
||||
$$(eval $$(call create_overview_file,$1))
|
||||
$1_OPTIONS += -overview $$($1_OVERVIEW)
|
||||
|
||||
# Add summary pages for new/deprecated APIs in recent releases
|
||||
$1_OPTIONS += --since $(call CommaList, \
|
||||
$(filter-out $(VERSION_DOCS_API_SINCE), \
|
||||
$(call sequence, $(VERSION_DOCS_API_SINCE), $(VERSION_FEATURE))))
|
||||
$1_OPTIONS += --since-label "New API since JDK $(VERSION_DOCS_API_SINCE)"
|
||||
|
||||
$$(foreach g, $$($1_GROUPS), \
|
||||
$$(eval $1_OPTIONS += -group "$$($$g_GROUP_NAME)" "$$($$g_GROUP_MODULES)") \
|
||||
)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -88,10 +88,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
|
||||
$(CAT) $(LINK_OPT_DIR)/stderr $(JLI_TRACE_FILE) ; \
|
||||
exit $$exitcode \
|
||||
)
|
||||
$(GREP) -v HelloClasslist $@.raw.2 > $@.raw.3
|
||||
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java \
|
||||
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
|
||||
build.tools.classlist.SortClasslist $@.raw.3 > $@
|
||||
$(GREP) -v HelloClasslist $@.raw.2 > $@
|
||||
|
||||
# The jli trace is created by the same recipe as classlist. By declaring these
|
||||
# dependencies, make will correctly rebuild both jli trace and classlist
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
include Makefile
|
||||
include make/MainSupport.gmk
|
||||
|
||||
.PHONY: jbr-api
|
||||
|
||||
ifeq ($(SPEC),)
|
||||
ifneq ($(words $(SPECS)),1)
|
||||
@echo "Error: Multiple build specification files found. Please select one explicitly."
|
||||
@exit 2
|
||||
endif
|
||||
jbr-api:
|
||||
@cd $(topdir)
|
||||
@$(MAKE) $(MFLAGS) $(MAKE_LOG_FLAGS) -r -R -j 1 -f $(topdir)/make/JBRApi.gmk SPEC=$(SPECS) HAS_SPEC=true ACTUAL_TOPDIR=$(topdir) MODULES="$(MODULES)" jbr-api
|
||||
else #with SPEC
|
||||
|
||||
jbr-api:
|
||||
$(ECHO) "BUILD_DIR=$(OUTPUTDIR)" > $(OUT)
|
||||
$(ECHO) "BOOT_JDK=\"$(BOOT_JDK)\"" >> $(OUT)
|
||||
|
||||
endif
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -94,6 +94,7 @@ $(eval $(call SetupTarget, buildtools-modules, \
|
||||
|
||||
$(eval $(call SetupTarget, buildtools-hotspot, \
|
||||
MAKEFILE := CompileToolsHotspot, \
|
||||
DEPS := interim-langtools, \
|
||||
))
|
||||
|
||||
################################################################################
|
||||
@@ -659,6 +660,18 @@ $(eval $(call SetupTarget, test-image-libtest-jtreg-native, \
|
||||
DEPS := build-test-libtest-jtreg-native, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, build-test-hotspot-jtreg-graal, \
|
||||
MAKEFILE := test/JtregGraalUnit, \
|
||||
TARGET := build-test-hotspot-jtreg-graal, \
|
||||
DEPS := exploded-image, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, test-image-hotspot-jtreg-graal, \
|
||||
MAKEFILE := test/JtregGraalUnit, \
|
||||
TARGET := test-image-hotspot-jtreg-graal, \
|
||||
DEPS := build-test-hotspot-jtreg-graal, \
|
||||
))
|
||||
|
||||
ifneq ($(GTEST_FRAMEWORK_SRC), )
|
||||
$(eval $(call SetupTarget, test-image-hotspot-gtest, \
|
||||
MAKEFILE := hotspot/test/GtestImage, \
|
||||
@@ -857,14 +870,23 @@ else
|
||||
# virtual target.
|
||||
jdk.jdwp.agent-libs: jdk.jdwp.agent-gensrc
|
||||
|
||||
# jdk.jfr-gendata uses TOOL_JFR_GEN from buildtools-hotspot
|
||||
jdk.jfr-gendata: buildtools-hotspot
|
||||
|
||||
# The swing beans need to have java base properly generated to avoid errors
|
||||
# in javadoc. The X11 wrappers need the java.base include files to have been
|
||||
# copied and processed.
|
||||
java.desktop-gensrc-src: java.base-gensrc java.base-copy
|
||||
|
||||
# The annotation processing for jdk.internal.vm.compiler
|
||||
# and jdk.internal.vm.compiler.management needs classes from the current JDK.
|
||||
jdk.internal.vm.compiler-gensrc-src: $(addsuffix -java, \
|
||||
$(call FindTransitiveDepsForModule, jdk.internal.vm.compiler))
|
||||
jdk.internal.vm.compiler.management-gensrc-src: $(addsuffix -java, \
|
||||
$(call FindTransitiveDepsForModule, jdk.internal.vm.compiler.management))
|
||||
|
||||
# For these modules, the gensrc step is generating a module-info.java.extra
|
||||
# file to be processed by the gensrc-moduleinfo target.
|
||||
jdk.internal.vm.compiler-gensrc-moduleinfo: jdk.internal.vm.compiler-gensrc-src
|
||||
jdk.internal.vm.compiler.management-gensrc-moduleinfo: jdk.internal.vm.compiler.management-gensrc-src
|
||||
|
||||
jdk.jdeps-gendata: java
|
||||
|
||||
# The ct.sym generation uses all the moduleinfos as input
|
||||
@@ -1152,6 +1174,10 @@ else
|
||||
ifneq ($(GTEST_FRAMEWORK_SRC), )
|
||||
test-image: test-image-hotspot-gtest
|
||||
endif
|
||||
|
||||
ifeq ($(INCLUDE_GRAAL), true)
|
||||
test-image: test-image-hotspot-jtreg-graal
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_FAILURE_HANDLER), true)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -46,7 +46,7 @@ endif
|
||||
|
||||
$(eval $(call ParseKeywordVariable, TEST_OPTS, \
|
||||
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR JCOV JCOV_DIFF_CHANGESET, \
|
||||
STRING_KEYWORDS := VM_OPTIONS JAVA_OPTIONS, \
|
||||
STRING_KEYWORDS := VM_OPTIONS JAVA_OPTIONS AOT_MODULES, \
|
||||
))
|
||||
|
||||
# Helper function to propagate TEST_OPTS values.
|
||||
@@ -134,6 +134,96 @@ ifeq ($(GCOV_ENABLED), true)
|
||||
JTREG_COV_OPTIONS += -e:GCOV_PREFIX="$(GCOV_OUTPUT_DIR)"
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Optionally create AOT libraries for specified modules before running tests.
|
||||
# Note, this could not be done during JDK build time.
|
||||
################################################################################
|
||||
# Parameter 1 is the name of the rule.
|
||||
#
|
||||
# Remaining parameters are named arguments.
|
||||
# MODULE The module to generate a library for
|
||||
# BIN Output directory in which to put the library
|
||||
# VM_OPTIONS List of JVM arguments to use when creating library
|
||||
# OPTIONS_VAR Name of variable to put AOT java options in
|
||||
# PREREQS_VAR Name of variable to put all AOT prerequisite rule targets in
|
||||
# for test rules to depend on
|
||||
#
|
||||
SetupAotModule = $(NamedParamsMacroTemplate)
|
||||
define SetupAotModuleBody
|
||||
$1_AOT_LIB := $$($1_BIN)/$$(call SHARED_LIBRARY,$$($1_MODULE))
|
||||
$1_AOT_CCLIST := $$(wildcard $$(TOPDIR)/test/hotspot/jtreg/compiler/aot/scripts/$$($1_MODULE)-list.txt)
|
||||
|
||||
# Create jaotc flags.
|
||||
# VM flags which don't affect AOT code generation are filtered out:
|
||||
# -Xcomp, -XX:+-TieredCompilation
|
||||
$1_JAOTC_OPTS := \
|
||||
-J-Xmx4g --info \
|
||||
$$(addprefix -J, $$(filter-out -Xcomp %TieredCompilation, $$($1_VM_OPTIONS))) \
|
||||
$$(addprefix --compile-commands$(SPACE), $$($1_AOT_CCLIST)) \
|
||||
--linker-path $$(LD_JAOTC) \
|
||||
#
|
||||
|
||||
ifneq ($$(filter -ea, $$($1_VM_OPTIONS)), )
|
||||
$1_JAOTC_OPTS += --compile-with-assertions
|
||||
endif
|
||||
|
||||
ifneq ($$(filter -XX:+VerifyOops, $$($1_VM_OPTIONS)), )
|
||||
$1_JAOTC_OPTS += -J-Dgraal.AOTVerifyOops=true
|
||||
endif
|
||||
|
||||
$$($1_AOT_LIB): $$(JDK_UNDER_TEST)/release \
|
||||
$$(call DependOnVariable, $1_JAOTC_OPTS) \
|
||||
$$(call DependOnVariable, JDK_UNDER_TEST)
|
||||
$$(call LogWarn, Generating $$(patsubst $$(OUTPUTDIR)/%, %, $$@))
|
||||
$$(call MakeTargetDir)
|
||||
$$(call ExecuteWithLog, $$@, \
|
||||
$((COV_ENVIRONMENT) \
|
||||
$$(FIXPATH) $$(JDK_UNDER_TEST)/bin/jaotc \
|
||||
$$($1_JAOTC_OPTS) --output $$@ --module $$($1_MODULE) \
|
||||
)
|
||||
$$(call ExecuteWithLog, $$@.check, ( \
|
||||
$$(FIXPATH) $$(JDK_UNDER_TEST)/bin/java \
|
||||
$$($1_VM_OPTIONS) -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions \
|
||||
-XX:+PrintAOT -XX:+UseAOTStrictLoading \
|
||||
-XX:AOTLibrary=$$@ -version \
|
||||
> $$@.verify-aot \
|
||||
))
|
||||
|
||||
$1_AOT_OPTIONS += -XX:+UnlockExperimentalVMOptions
|
||||
$1_AOT_OPTIONS += -XX:AOTLibrary=$$($1_AOT_LIB)
|
||||
$1_AOT_TARGETS += $$($1_AOT_LIB)
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
# Optionally create AOT libraries before running tests.
|
||||
# Note, this could not be done during JDK build time.
|
||||
################################################################################
|
||||
# Parameter 1 is the name of the rule.
|
||||
#
|
||||
# Remaining parameters are named arguments.
|
||||
# MODULES The modules to generate a library for
|
||||
# VM_OPTIONS List of JVM arguments to use when creating libraries
|
||||
#
|
||||
# After calling this, the following variables are defined
|
||||
# $1_AOT_OPTIONS List of all java options needed to use the AOT libraries
|
||||
# $1_AOT_TARGETS List of all targets that the test rule will need to depend on
|
||||
#
|
||||
SetupAot = $(NamedParamsMacroTemplate)
|
||||
define SetupAotBody
|
||||
$$(info Running with AOTd libraries for $$($1_MODULES))
|
||||
# Put aot libraries in a separate directory so they are not deleted between
|
||||
# test runs and may be reused between make invocations.
|
||||
$$(foreach m, $$($1_MODULES), \
|
||||
$$(eval $$(call SetupAotModule, $1_$$m, \
|
||||
MODULE := $$m, \
|
||||
BIN := $$(TEST_SUPPORT_DIR)/aot/$1, \
|
||||
VM_OPTIONS := $$($1_VM_OPTIONS), \
|
||||
)) \
|
||||
$$(eval $1_AOT_OPTIONS += $$($1_$$m_AOT_OPTIONS)) \
|
||||
$$(eval $1_AOT_TARGETS += $$($1_$$m_AOT_TARGETS)) \
|
||||
)
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
# Setup global test running parameters
|
||||
################################################################################
|
||||
@@ -192,6 +282,7 @@ endif
|
||||
|
||||
$(eval $(call SetTestOpt,VM_OPTIONS,JTREG))
|
||||
$(eval $(call SetTestOpt,JAVA_OPTIONS,JTREG))
|
||||
$(eval $(call SetTestOpt,AOT_MODULES,JTREG))
|
||||
|
||||
$(eval $(call SetTestOpt,JOBS,JTREG))
|
||||
$(eval $(call SetTestOpt,TIMEOUT_FACTOR,JTREG))
|
||||
@@ -202,7 +293,7 @@ $(eval $(call ParseKeywordVariable, JTREG, \
|
||||
TEST_MODE ASSERT VERBOSE RETAIN MAX_MEM RUN_PROBLEM_LISTS \
|
||||
RETRY_COUNT MAX_OUTPUT, \
|
||||
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
|
||||
EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS, \
|
||||
EXTRA_PROBLEM_LISTS AOT_MODULES LAUNCHER_OPTIONS, \
|
||||
))
|
||||
|
||||
ifneq ($(JTREG), )
|
||||
@@ -214,10 +305,11 @@ endif
|
||||
|
||||
$(eval $(call SetTestOpt,VM_OPTIONS,GTEST))
|
||||
$(eval $(call SetTestOpt,JAVA_OPTIONS,GTEST))
|
||||
$(eval $(call SetTestOpt,AOT_MODULES,GTEST))
|
||||
|
||||
$(eval $(call ParseKeywordVariable, GTEST, \
|
||||
SINGLE_KEYWORDS := REPEAT, \
|
||||
STRING_KEYWORDS := OPTIONS VM_OPTIONS JAVA_OPTIONS, \
|
||||
STRING_KEYWORDS := OPTIONS VM_OPTIONS JAVA_OPTIONS AOT_MODULES, \
|
||||
))
|
||||
|
||||
ifneq ($(GTEST), )
|
||||
@@ -258,6 +350,8 @@ langtools_JTREG_PROBLEM_LIST += $(TOPDIR)/test/langtools/ProblemList.txt
|
||||
hotspot_JTREG_PROBLEM_LIST += $(TOPDIR)/test/hotspot/jtreg/ProblemList.txt
|
||||
lib-test_JTREG_PROBLEM_LIST += $(TOPDIR)/test/lib-test/ProblemList.txt
|
||||
|
||||
langtools_JTREG_MAX_MEM := 768m
|
||||
|
||||
################################################################################
|
||||
# Parse test selection
|
||||
#
|
||||
@@ -498,7 +592,14 @@ define SetupRunGtestTestBody
|
||||
$1_GTEST_REPEAT :=--gtest_repeat=$$(GTEST_REPEAT)
|
||||
endif
|
||||
|
||||
run-test-$1: pre-run-test
|
||||
ifneq ($$(GTEST_AOT_MODULES), )
|
||||
$$(eval $$(call SetupAot, $1, \
|
||||
MODULES := $$(GTEST_AOT_MODULES), \
|
||||
VM_OPTIONS := $$(GTEST_VM_OPTIONS) $$(GTEST_JAVA_OPTIONS), \
|
||||
))
|
||||
endif
|
||||
|
||||
run-test-$1: pre-run-test $$($1_AOT_TARGETS)
|
||||
$$(call LogWarn)
|
||||
$$(call LogWarn, Running test '$$($1_TEST)')
|
||||
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
|
||||
@@ -509,7 +610,7 @@ define SetupRunGtestTestBody
|
||||
--gtest_output=xml:$$($1_TEST_RESULTS_DIR)/gtest.xml \
|
||||
--gtest_catch_exceptions=0 \
|
||||
$$($1_GTEST_REPEAT) $$(GTEST_OPTIONS) $$(GTEST_VM_OPTIONS) \
|
||||
$$(GTEST_JAVA_OPTIONS) \
|
||||
$$(GTEST_JAVA_OPTIONS) $$($1_AOT_OPTIONS) \
|
||||
> >($(TEE) $$($1_TEST_RESULTS_DIR)/gtest.txt) \
|
||||
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|
||||
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
|
||||
@@ -720,7 +821,7 @@ define SetupRunJtregTestBody
|
||||
# Convert JTREG_foo into $1_JTREG_foo with a suitable value.
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_TEST_MODE,agentvm))
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_ASSERT,true))
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_MAX_MEM,768m))
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_MAX_MEM,512m))
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_NATIVEPATH))
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_BASIC_OPTIONS))
|
||||
$$(eval $$(call SetJtregValue,$1,JTREG_PROBLEM_LIST))
|
||||
@@ -736,7 +837,7 @@ define SetupRunJtregTestBody
|
||||
|
||||
# Make sure MaxRAMPercentage is high enough to not cause OOM or swapping since
|
||||
# we may end up with a lot of JVM's
|
||||
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $(AWK) 'BEGIN { print 25 / $$($1_JTREG_JOBS); }')
|
||||
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $$(EXPR) 25 / $$($1_JTREG_JOBS))
|
||||
|
||||
JTREG_TIMEOUT_FACTOR ?= 4
|
||||
|
||||
@@ -789,15 +890,6 @@ define SetupRunJtregTestBody
|
||||
$1_JTREG_BASIC_OPTIONS += -ea -esa
|
||||
endif
|
||||
|
||||
ifeq ($$(ASAN_ENABLED), yes)
|
||||
$1_JTREG_BASIC_OPTIONS += -e:ASAN_OPTIONS=handle_segv=0:handle_sigfpe=0:detect_leaks=false
|
||||
$1_JTREG_BASIC_OPTIONS += -e:LD_PRELOAD=libasan.so.5
|
||||
endif
|
||||
|
||||
ifeq ($$(USAN_ENABLED), yes)
|
||||
$1_JTREG_BASIC_OPTIONS += -e:LD_PRELOAD=libubsan.so.1
|
||||
endif
|
||||
|
||||
ifneq ($$($1_JTREG_NATIVEPATH), )
|
||||
$1_JTREG_BASIC_OPTIONS += -nativepath:$$($1_JTREG_NATIVEPATH)
|
||||
endif
|
||||
@@ -825,6 +917,7 @@ define SetupRunJtregTestBody
|
||||
endif
|
||||
|
||||
$1_JTREG_BASIC_OPTIONS += -e:TEST_IMAGE_DIR=$(TEST_IMAGE_DIR)
|
||||
$1_JTREG_BASIC_OPTIONS += -e:TEST_IMAGE_GRAAL_DIR=$(TEST_IMAGE_DIR)/hotspot/jtreg/graal
|
||||
|
||||
ifneq ($$(JTREG_FAILURE_HANDLER_OPTIONS), )
|
||||
$1_JTREG_LAUNCHER_OPTIONS += -Djava.library.path="$(JTREG_FAILURE_HANDLER_DIR)"
|
||||
@@ -841,6 +934,17 @@ define SetupRunJtregTestBody
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($$(JTREG_AOT_MODULES), )
|
||||
$$(eval $$(call SetupAot, $1, \
|
||||
MODULES := $$(JTREG_AOT_MODULES), \
|
||||
VM_OPTIONS := $$(JTREG_VM_OPTIONS) $$(JTREG_JAVA_OPTIONS), \
|
||||
))
|
||||
endif
|
||||
|
||||
ifneq ($$($1_AOT_OPTIONS), )
|
||||
$1_JTREG_BASIC_OPTIONS += -vmoptions:"$$($1_AOT_OPTIONS)"
|
||||
endif
|
||||
|
||||
clean-workdir-$1:
|
||||
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
|
||||
|
||||
@@ -875,7 +979,7 @@ define SetupRunJtregTestBody
|
||||
done
|
||||
endif
|
||||
|
||||
run-test-$1: pre-run-test clean-workdir-$1
|
||||
run-test-$1: pre-run-test clean-workdir-$1 $$($1_AOT_TARGETS)
|
||||
$$(call LogWarn)
|
||||
$$(call LogWarn, Running test '$$($1_TEST)')
|
||||
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2017, 2020, 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
|
||||
@@ -222,6 +222,25 @@ ifeq ($(MEMORY_SIZE), )
|
||||
MEMORY_SIZE := 1024
|
||||
endif
|
||||
|
||||
# Setup LD for AOT support
|
||||
ifneq ($(DEVKIT_HOME), )
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LD_JAOTC := $(DEVKIT_HOME)/VC/bin/x64/link.exe
|
||||
LIBRARY_PREFIX :=
|
||||
SHARED_LIBRARY_SUFFIX := .dll
|
||||
else ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
LD_JAOTC := $(DEVKIT_HOME)/bin/ld
|
||||
LIBRARY_PREFIX := lib
|
||||
SHARED_LIBRARY_SUFFIX := .so
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
|
||||
LIBRARY_PREFIX := lib
|
||||
SHARED_LIBRARY_SUFFIX := .dylib
|
||||
endif
|
||||
else
|
||||
LD := ld
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard $(JDK_IMAGE_DIR)/template.xml), )
|
||||
TEST_OPTS_JCOV := true
|
||||
JCOV_IMAGE_DIR := $(JDK_IMAGE_DIR)
|
||||
@@ -267,6 +286,9 @@ $(call CreateNewSpec, $(NEW_SPEC), \
|
||||
OPENJDK_TARGET_CPU_ENDIAN := $(OPENJDK_TARGET_CPU_ENDIAN), \
|
||||
NUM_CORES := $(NUM_CORES), \
|
||||
MEMORY_SIZE := $(MEMORY_SIZE), \
|
||||
LD_JAOTC := $(LD_JAOTC), \
|
||||
LIBRARY_PREFIX := $(LIBRARY_PREFIX), \
|
||||
SHARED_LIBRARY_SUFFIX := $(SHARED_LIBRARY_SUFFIX), \
|
||||
include $(TOPDIR)/make/RunTestsPrebuiltSpec.gmk, \
|
||||
TEST_OPTS_JCOV := $(TEST_OPTS_JCOV), \
|
||||
$(CUSTOM_NEW_SPEC_LINE), \
|
||||
|
||||
@@ -298,28 +298,6 @@ AC_DEFUN([BOOTJDK_CHECK_TOOL_IN_BOOTJDK],
|
||||
])
|
||||
])
|
||||
|
||||
# Setup CLASSPATH environment variable
|
||||
AC_DEFUN([BOOTJDK_SETUP_CLASSPATH],
|
||||
[
|
||||
AC_ARG_WITH([classpath], [AS_HELP_STRING([--with-classpath],
|
||||
[Optional classpath to set as CLASSPATH to all Java invocations @<:@none@:>@])])
|
||||
|
||||
if test "x$CLASSPATH" != x; then
|
||||
AC_MSG_WARN([CLASSPATH is set in the environment. This will be ignored. Use --with-classpath instead.])
|
||||
fi
|
||||
|
||||
CLASSPATH=
|
||||
|
||||
if test "x$with_classpath" != x && test "x$with_classpath" != xyes &&
|
||||
test "x$with_classpath" != xno ; then
|
||||
CLASSPATH="$with_classpath"
|
||||
AC_MSG_CHECKING([for classpath to use for all Java invocations])
|
||||
AC_MSG_RESULT([$CLASSPATH])
|
||||
fi
|
||||
|
||||
AC_SUBST(CLASSPATH)
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# We need a Boot JDK to bootstrap the build.
|
||||
@@ -416,8 +394,6 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
|
||||
BOOTJDK_USE_LOCAL_CDS=false
|
||||
AC_MSG_RESULT([no, -XX:SharedArchiveFile not supported])
|
||||
fi
|
||||
|
||||
BOOTJDK_SETUP_CLASSPATH
|
||||
])
|
||||
|
||||
AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
||||
|
||||
13
make/autoconf/build-aux/config.guess
vendored
13
make/autoconf/build-aux/config.guess
vendored
@@ -102,21 +102,8 @@ if [ "x$OUT" = x ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Test and fix LoongArch64.
|
||||
if [ "x$OUT" = x ]; then
|
||||
if [ `uname -s` = Linux ]; then
|
||||
if [ `uname -m` = loongarch64 ]; then
|
||||
OUT=loongarch64-unknown-linux-gnu
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Test and fix cpu on macos-aarch64, uname -p reports arm, buildsys expects aarch64
|
||||
echo $OUT | grep arm-apple-darwin > /dev/null 2> /dev/null
|
||||
if test $? != 0; then
|
||||
# The GNU version of uname may be on the PATH which reports arm64 instead
|
||||
echo $OUT | grep arm64-apple-darwin > /dev/null 2> /dev/null
|
||||
fi
|
||||
if test $? = 0; then
|
||||
if [ `uname -m` = arm64 ]; then
|
||||
OUT=aarch64`echo $OUT | sed -e 's/[^-]*//'`
|
||||
|
||||
@@ -217,9 +217,6 @@ JDKOPT_SETUP_CODE_COVERAGE
|
||||
# AddressSanitizer
|
||||
JDKOPT_SETUP_ADDRESS_SANITIZER
|
||||
|
||||
# UndefinedBehaviorSanitizer
|
||||
JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Check dependencies for external and internal libraries.
|
||||
|
||||
@@ -137,7 +137,7 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
DISABLED_WARNINGS="4800"
|
||||
if test "x$TOOLCHAIN_VERSION" = x2017; then
|
||||
# VS2017 incorrectly triggers this warning for constexpr
|
||||
DISABLED_WARNINGS="$DISABLED_WARNINGS 4307"
|
||||
DISABLED_WARNINGS+=" 4307"
|
||||
fi
|
||||
;;
|
||||
|
||||
@@ -230,7 +230,7 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
||||
DISABLE_FORTIFY_CFLAGS="-U_FORTIFY_SOURCE"
|
||||
# ASan doesn't work well with _FORTIFY_SOURCE
|
||||
# See https://github.com/google/sanitizers/wiki/AddressSanitizer#faq
|
||||
if test "x$ASAN_ENABLED" = xyes || test "x$USAN_ENABLED" = xyes; then
|
||||
if test "x$ASAN_ENABLED" = xyes; then
|
||||
ENABLE_FORTIFY_CFLAGS="${DISABLE_FORTIFY_CFLAGS}"
|
||||
else
|
||||
ENABLE_FORTIFY_CFLAGS="-D_FORTIFY_SOURCE=2"
|
||||
@@ -737,15 +737,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
|
||||
$1_TOOLCHAIN_CFLAGS="${$1_GCC6_CFLAGS}"
|
||||
|
||||
$1_WARNING_CFLAGS_JVM="-Wno-format-zero-length -Wtype-limits -Wuninitialized"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks"
|
||||
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG],
|
||||
PREFIX: $3,
|
||||
IF_FALSE: [
|
||||
NO_DELETE_NULL_POINTER_CHECKS_CFLAG=
|
||||
]
|
||||
)
|
||||
$1_TOOLCHAIN_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG}"
|
||||
fi
|
||||
|
||||
if test "x$TOOLCHAIN_TYPE" = xmicrosoft && test "x$ENABLE_REPRODUCIBLE_BUILD" = xtrue; then
|
||||
|
||||
@@ -108,6 +108,13 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
OS_LDFLAGS_JVM_ONLY="-Wl,-rpath,@loader_path/. -Wl,-rpath,@loader_path/.."
|
||||
OS_LDFLAGS="-mmacosx-version-min=$MACOSX_VERSION_MIN"
|
||||
fi
|
||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
# Hotspot needs to link librt to get the clock_* functions.
|
||||
# But once our supported minimum build and runtime platform
|
||||
# has glibc 2.17, this can be removed as the functions are
|
||||
# in libc.
|
||||
OS_LDFLAGS_JVM_ONLY="-lrt"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Setup debug level-dependent LDFLAGS
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -76,27 +76,8 @@ AC_DEFUN([FLAGS_SETUP_RCFLAGS],
|
||||
# platform independent
|
||||
AC_DEFUN([FLAGS_SETUP_ASFLAGS],
|
||||
[
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
# Force preprocessor to run, just to make sure
|
||||
BASIC_ASFLAGS="-x assembler-with-cpp"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
BASIC_ASFLAGS="-nologo -c"
|
||||
fi
|
||||
AC_SUBST(BASIC_ASFLAGS)
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
JVM_BASIC_ASFLAGS="-mno-omit-leaf-frame-pointer -mstack-alignment=16"
|
||||
|
||||
# Fix linker warning.
|
||||
# Code taken from make/autoconf/flags-cflags.m4 and adapted.
|
||||
JVM_BASIC_ASFLAGS="$JVM_BASIC_ASFLAGS \
|
||||
-DMAC_OS_X_VERSION_MIN_REQUIRED=$MACOSX_VERSION_MIN_NODOTS \
|
||||
-mmacosx-version-min=$MACOSX_VERSION_MIN"
|
||||
|
||||
if test -n "$MACOSX_VERSION_MAX"; then
|
||||
JVM_BASIC_ASFLAGS="$JVM_BASIC_ASFLAGS $OS_CFLAGS \
|
||||
-DMAC_OS_X_VERSION_MAX_ALLOWED=$MACOSX_VERSION_MAX_NODOTS"
|
||||
fi
|
||||
JVM_BASIC_ASFLAGS="-x assembler-with-cpp -mno-omit-leaf-frame-pointer -mstack-alignment=16"
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
@@ -265,14 +265,6 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
|
||||
MACHINE_FLAG="$MACHINE_FLAG -arch arm64"
|
||||
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
|
||||
MACHINE_FLAG="$MACHINE_FLAG -arch x86_64"
|
||||
fi
|
||||
fi
|
||||
|
||||
# FIXME: global flags are not used yet...
|
||||
# The "global" flags will *always* be set. Without them, it is not possible to
|
||||
# get a working compilation.
|
||||
@@ -374,13 +366,15 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
|
||||
|
||||
# Generate make dependency files
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
GENDEPS_FLAGS="-MMD -MF"
|
||||
C_FLAG_DEPS="-MMD -MF"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
GENDEPS_FLAGS="-MMD -MF"
|
||||
C_FLAG_DEPS="-MMD -MF"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||
GENDEPS_FLAGS="-qmakedep=gcc -MF"
|
||||
C_FLAG_DEPS="-qmakedep=gcc -MF"
|
||||
fi
|
||||
AC_SUBST(GENDEPS_FLAGS)
|
||||
CXX_FLAG_DEPS="$C_FLAG_DEPS"
|
||||
AC_SUBST(C_FLAG_DEPS)
|
||||
AC_SUBST(CXX_FLAG_DEPS)
|
||||
])
|
||||
|
||||
AC_DEFUN_ONCE([FLAGS_POST_TOOLCHAIN],
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -42,21 +42,21 @@ AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
|
||||
PKGHANDLER_COMMAND=
|
||||
|
||||
case $PKGHANDLER in
|
||||
*apt-get)
|
||||
apt-get)
|
||||
apt_help $MISSING_DEPENDENCY ;;
|
||||
*yum)
|
||||
yum)
|
||||
yum_help $MISSING_DEPENDENCY ;;
|
||||
*brew)
|
||||
brew)
|
||||
brew_help $MISSING_DEPENDENCY ;;
|
||||
*port)
|
||||
port)
|
||||
port_help $MISSING_DEPENDENCY ;;
|
||||
*pkgutil)
|
||||
pkgutil)
|
||||
pkgutil_help $MISSING_DEPENDENCY ;;
|
||||
*pkgadd)
|
||||
pkgadd)
|
||||
pkgadd_help $MISSING_DEPENDENCY ;;
|
||||
*zypper)
|
||||
zypper)
|
||||
zypper_help $MISSING_DEPENDENCY ;;
|
||||
*pacman)
|
||||
pacman)
|
||||
pacman_help $MISSING_DEPENDENCY ;;
|
||||
esac
|
||||
|
||||
@@ -274,7 +274,7 @@ AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
|
||||
|
||||
printf "\n"
|
||||
printf "Build performance summary:\n"
|
||||
printf "* Build jobs: $JOBS\n"
|
||||
printf "* Cores to use: $JOBS\n"
|
||||
printf "* Memory limit: $MEMORY_SIZE MB\n"
|
||||
if test "x$CCACHE_STATUS" != "x"; then
|
||||
printf "* ccache status: $CCACHE_STATUS\n"
|
||||
|
||||
@@ -240,7 +240,11 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
[AS_HELP_STRING([--with-native-debug-symbols],
|
||||
[set the native debug symbol configuration (none, internal, external, zipped) @<:@varying@:>@])],
|
||||
[
|
||||
if test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
if test "x$withval" = xexternal || test "x$withval" = xzipped; then
|
||||
AC_MSG_ERROR([AIX only supports the parameters 'none' and 'internal' for --with-native-debug-symbols])
|
||||
fi
|
||||
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||
if test "x$withval" = xinternal; then
|
||||
AC_MSG_ERROR([Windows does not support the parameter 'internal' for --with-native-debug-symbols])
|
||||
fi
|
||||
@@ -250,7 +254,12 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
if test "x$STATIC_BUILD" = xtrue; then
|
||||
with_native_debug_symbols="none"
|
||||
else
|
||||
with_native_debug_symbols="external"
|
||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
# AIX doesn't support 'external' so use 'internal' as default
|
||||
with_native_debug_symbols="internal"
|
||||
else
|
||||
with_native_debug_symbols="external"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
AC_MSG_RESULT([$with_native_debug_symbols])
|
||||
@@ -436,45 +445,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
|
||||
AC_SUBST(ASAN_ENABLED)
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# UndefinedBehaviorSanitizer
|
||||
#
|
||||
AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
|
||||
[
|
||||
UTIL_ARG_ENABLE(NAME: usan, DEFAULT: false,
|
||||
DESC: [enable UndefinedBehaviorSanitizer],
|
||||
CHECK_AVAILABLE: [
|
||||
AC_MSG_CHECKING([if UndefinedBehaviorSanitizer (usan) is available])
|
||||
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
|
||||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
AVAILABLE=false
|
||||
fi
|
||||
],
|
||||
IF_ENABLED: [
|
||||
USAN_FLAGS="-fsanitize=undefined"
|
||||
USAN_CFLAGS="$USAN_FLAGS -fno-omit-frame-pointer"
|
||||
USAN_LDFLAGS="$USAN_FLAGS"
|
||||
JVM_CFLAGS="$JVM_CFLAGS $USAN_CFLAGS"
|
||||
JVM_LDFLAGS="$JVM_LDFLAGS $USAN_LDFLAGS"
|
||||
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $USAN_CFLAGS"
|
||||
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $USAN_CFLAGS"
|
||||
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $USAN_CFLAGS"
|
||||
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $USAN_CFLAGS"
|
||||
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $USAN_LDFLAGS"
|
||||
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $USAN_LDFLAGS"
|
||||
USAN_ENABLED="yes"
|
||||
],
|
||||
IF_DISABLED: [
|
||||
USAN_ENABLED="no"
|
||||
])
|
||||
|
||||
AC_SUBST(USAN_ENABLED)
|
||||
])
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# Static build support. When enabled will generate static
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 2019, 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
|
||||
@@ -525,7 +525,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
MACOSX_BUNDLE_BUILD_VERSION="$VERSION_BUILD"
|
||||
# If VERSION_OPT consists of only numbers and periods, add it.
|
||||
if [ [[ $VERSION_OPT =~ ^[0-9\.]+$ ]] ]; then
|
||||
MACOSX_BUNDLE_BUILD_VERSION="$MACOSX_BUNDLE_BUILD_VERSION.$VERSION_OPT"
|
||||
MACOSX_BUNDLE_BUILD_VERSION+=".$VERSION_OPT"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(MACOSX_BUNDLE_BUILD_VERSION)
|
||||
@@ -533,7 +533,6 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
# We could define --with flags for these, if really needed
|
||||
VERSION_CLASSFILE_MAJOR="$DEFAULT_VERSION_CLASSFILE_MAJOR"
|
||||
VERSION_CLASSFILE_MINOR="$DEFAULT_VERSION_CLASSFILE_MINOR"
|
||||
VERSION_DOCS_API_SINCE="$DEFAULT_VERSION_DOCS_API_SINCE"
|
||||
JDK_SOURCE_TARGET_VERSION="$DEFAULT_JDK_SOURCE_TARGET_VERSION"
|
||||
|
||||
AC_MSG_CHECKING([for version string])
|
||||
@@ -558,6 +557,5 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_SUBST(VENDOR_VERSION_STRING)
|
||||
AC_SUBST(VERSION_CLASSFILE_MAJOR)
|
||||
AC_SUBST(VERSION_CLASSFILE_MINOR)
|
||||
AC_SUBST(VERSION_DOCS_API_SINCE)
|
||||
AC_SUBST(JDK_SOURCE_TARGET_VERSION)
|
||||
])
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
m4_define(jvm_features_valid, m4_normalize( \
|
||||
ifdef([custom_jvm_features_valid], custom_jvm_features_valid) \
|
||||
\
|
||||
cds compiler1 compiler2 dtrace epsilongc g1gc jfr jni-check \
|
||||
aot cds compiler1 compiler2 dtrace epsilongc g1gc graal jfr jni-check \
|
||||
jvmci jvmti link-time-opt management minimal nmt opt-size parallelgc \
|
||||
serialgc services shenandoahgc static-build vm-structs zero zgc \
|
||||
))
|
||||
@@ -55,12 +55,14 @@ m4_define(jvm_features_deprecated, m4_normalize(
|
||||
))
|
||||
|
||||
# Feature descriptions
|
||||
m4_define(jvm_feature_desc_aot, [enable ahead of time compilation (AOT)])
|
||||
m4_define(jvm_feature_desc_cds, [enable class data sharing (CDS)])
|
||||
m4_define(jvm_feature_desc_compiler1, [enable hotspot compiler C1])
|
||||
m4_define(jvm_feature_desc_compiler2, [enable hotspot compiler C2])
|
||||
m4_define(jvm_feature_desc_dtrace, [enable dtrace support])
|
||||
m4_define(jvm_feature_desc_epsilongc, [include the epsilon (no-op) garbage collector])
|
||||
m4_define(jvm_feature_desc_g1gc, [include the G1 garbage collector])
|
||||
m4_define(jvm_feature_desc_graal, [enable Graal (jdk.internal.vm.compiler)])
|
||||
m4_define(jvm_feature_desc_jfr, [enable JDK Flight Recorder (JFR)])
|
||||
m4_define(jvm_feature_desc_jni_check, [enable -Xcheck:jni support])
|
||||
m4_define(jvm_feature_desc_jvmci, [enable JVM Compiler Interface (JVMCI)])
|
||||
@@ -92,6 +94,7 @@ AC_DEFUN_ONCE([JVM_FEATURES_PARSE_OPTIONS],
|
||||
|
||||
# For historical reasons, some jvm features have their own, shorter names.
|
||||
# Keep those as aliases for the --enable-jvm-feature-* style arguments.
|
||||
UTIL_ALIASED_ARG_ENABLE(aot, --enable-jvm-feature-aot)
|
||||
UTIL_ALIASED_ARG_ENABLE(cds, --enable-jvm-feature-cds)
|
||||
UTIL_ALIASED_ARG_ENABLE(dtrace, --enable-jvm-feature-dtrace)
|
||||
|
||||
@@ -226,6 +229,34 @@ AC_DEFUN([JVM_FEATURES_CHECK_AVAILABILITY],
|
||||
fi
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
# Check if the feature 'aot' is available on this platform.
|
||||
#
|
||||
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_AOT],
|
||||
[
|
||||
JVM_FEATURES_CHECK_AVAILABILITY(aot, [
|
||||
AC_MSG_CHECKING([if platform is supported by AOT])
|
||||
# AOT is only available where JVMCI is available since it requires JVMCI.
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
elif test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-aarch64"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
|
||||
AVAILABLE=false
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if AOT source code is present])
|
||||
if test -e "${TOPDIR}/src/jdk.internal.vm.compiler" && \
|
||||
test -e "${TOPDIR}/src/jdk.aot"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no, missing src/jdk.internal.vm.compiler or src/jdk.aot])
|
||||
AVAILABLE=false
|
||||
fi
|
||||
])
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
# Check if the feature 'cds' is available on this platform.
|
||||
#
|
||||
@@ -265,6 +296,25 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_DTRACE],
|
||||
])
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
# Check if the feature 'graal' is available on this platform.
|
||||
#
|
||||
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_GRAAL],
|
||||
[
|
||||
JVM_FEATURES_CHECK_AVAILABILITY(graal, [
|
||||
AC_MSG_CHECKING([if platform is supported by Graal])
|
||||
# Graal is only available where JVMCI is available since it requires JVMCI.
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
|
||||
AVAILABLE=false
|
||||
fi
|
||||
])
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
# Check if the feature 'jfr' is available on this platform.
|
||||
#
|
||||
@@ -350,8 +400,7 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_ZGC],
|
||||
fi
|
||||
elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
|
||||
if test "x$OPENJDK_TARGET_OS" = "xlinux" || \
|
||||
test "x$OPENJDK_TARGET_OS" = "xwindows" || \
|
||||
test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
|
||||
test "x$OPENJDK_TARGET_OS" = "xwindows"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
|
||||
@@ -390,8 +439,10 @@ AC_DEFUN_ONCE([JVM_FEATURES_PREPARE_PLATFORM],
|
||||
# The checks below should add unavailable features to
|
||||
# JVM_FEATURES_PLATFORM_UNAVAILABLE.
|
||||
|
||||
JVM_FEATURES_CHECK_AOT
|
||||
JVM_FEATURES_CHECK_CDS
|
||||
JVM_FEATURES_CHECK_DTRACE
|
||||
JVM_FEATURES_CHECK_GRAAL
|
||||
JVM_FEATURES_CHECK_JFR
|
||||
JVM_FEATURES_CHECK_JVMCI
|
||||
JVM_FEATURES_CHECK_SHENANDOAHGC
|
||||
@@ -424,18 +475,18 @@ AC_DEFUN([JVM_FEATURES_PREPARE_VARIANT],
|
||||
elif test "x$variant" = "xcore"; then
|
||||
JVM_FEATURES_VARIANT_UNAVAILABLE="cds minimal zero"
|
||||
elif test "x$variant" = "xzero"; then
|
||||
JVM_FEATURES_VARIANT_UNAVAILABLE="cds compiler1 compiler2 \
|
||||
jvmci minimal zgc"
|
||||
JVM_FEATURES_VARIANT_UNAVAILABLE="aot cds compiler1 compiler2 \
|
||||
graal jvmci minimal zgc"
|
||||
else
|
||||
JVM_FEATURES_VARIANT_UNAVAILABLE="minimal zero"
|
||||
fi
|
||||
|
||||
# Check which features should be off by default for this JVM variant.
|
||||
if test "x$variant" = "xclient"; then
|
||||
JVM_FEATURES_VARIANT_FILTER="compiler2 jvmci link-time-opt opt-size"
|
||||
JVM_FEATURES_VARIANT_FILTER="aot compiler2 graal jvmci link-time-opt opt-size"
|
||||
elif test "x$variant" = "xminimal"; then
|
||||
JVM_FEATURES_VARIANT_FILTER="cds compiler2 dtrace epsilongc g1gc \
|
||||
jfr jni-check jvmci jvmti management nmt parallelgc services \
|
||||
JVM_FEATURES_VARIANT_FILTER="aot cds compiler2 dtrace epsilongc g1gc \
|
||||
graal jfr jni-check jvmci jvmti management nmt parallelgc services \
|
||||
shenandoahgc vm-structs zgc"
|
||||
if test "x$OPENJDK_TARGET_CPU" = xarm ; then
|
||||
JVM_FEATURES_VARIANT_FILTER="$JVM_FEATURES_VARIANT_FILTER opt-size"
|
||||
@@ -445,7 +496,7 @@ AC_DEFUN([JVM_FEATURES_PREPARE_VARIANT],
|
||||
link-time-opt"
|
||||
fi
|
||||
elif test "x$variant" = "xcore"; then
|
||||
JVM_FEATURES_VARIANT_FILTER="compiler1 compiler2 jvmci \
|
||||
JVM_FEATURES_VARIANT_FILTER="aot compiler1 compiler2 graal jvmci \
|
||||
link-time-opt opt-size"
|
||||
elif test "x$variant" = "xzero"; then
|
||||
JVM_FEATURES_VARIANT_FILTER="jfr link-time-opt opt-size"
|
||||
@@ -521,6 +572,15 @@ AC_DEFUN([JVM_FEATURES_VERIFY],
|
||||
[
|
||||
variant=$1
|
||||
|
||||
# Verify that dependencies are met for inter-feature relations.
|
||||
if JVM_FEATURES_IS_ACTIVE(aot) && ! JVM_FEATURES_IS_ACTIVE(graal); then
|
||||
AC_MSG_ERROR([Specified JVM feature 'aot' requires feature 'graal' for variant '$variant'])
|
||||
fi
|
||||
|
||||
if JVM_FEATURES_IS_ACTIVE(graal) && ! JVM_FEATURES_IS_ACTIVE(jvmci); then
|
||||
AC_MSG_ERROR([Specified JVM feature 'graal' requires feature 'jvmci' for variant '$variant'])
|
||||
fi
|
||||
|
||||
if JVM_FEATURES_IS_ACTIVE(jvmci) && ! (JVM_FEATURES_IS_ACTIVE(compiler1) || \
|
||||
JVM_FEATURES_IS_ACTIVE(compiler2)); then
|
||||
AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1' for variant '$variant'])
|
||||
@@ -536,15 +596,18 @@ AC_DEFUN([JVM_FEATURES_VERIFY],
|
||||
|
||||
# For backwards compatibility, disable a feature "globally" if one variant
|
||||
# is missing the feature.
|
||||
if ! JVM_FEATURES_IS_ACTIVE(aot); then
|
||||
ENABLE_AOT="false"
|
||||
fi
|
||||
if ! JVM_FEATURES_IS_ACTIVE(cds); then
|
||||
ENABLE_CDS="false"
|
||||
fi
|
||||
if ! JVM_FEATURES_IS_ACTIVE(graal); then
|
||||
INCLUDE_GRAAL="false"
|
||||
fi
|
||||
if ! JVM_FEATURES_IS_ACTIVE(jvmci); then
|
||||
INCLUDE_JVMCI="false"
|
||||
fi
|
||||
if JVM_FEATURES_IS_ACTIVE(compiler2); then
|
||||
INCLUDE_COMPILER2="true"
|
||||
fi
|
||||
|
||||
# Verify that we have at least one gc selected (i.e., feature named "*gc").
|
||||
if ! JVM_FEATURES_IS_ACTIVE(.*gc); then
|
||||
@@ -566,9 +629,10 @@ AC_DEFUN_ONCE([JVM_FEATURES_SETUP],
|
||||
# For backwards compatibility, tentatively enable these features "globally",
|
||||
# and disable them in JVM_FEATURES_VERIFY if a variant is found that are
|
||||
# missing any of them.
|
||||
ENABLE_AOT="true"
|
||||
ENABLE_CDS="true"
|
||||
INCLUDE_GRAAL="true"
|
||||
INCLUDE_JVMCI="true"
|
||||
INCLUDE_COMPILER2="false"
|
||||
|
||||
for variant in $JVM_VARIANTS; do
|
||||
# Figure out if any features are unavailable, or should be filtered out
|
||||
@@ -604,7 +668,8 @@ AC_DEFUN_ONCE([JVM_FEATURES_SETUP],
|
||||
AC_SUBST(JVM_FEATURES_zero)
|
||||
AC_SUBST(JVM_FEATURES_custom)
|
||||
|
||||
AC_SUBST(ENABLE_AOT)
|
||||
AC_SUBST(INCLUDE_GRAAL)
|
||||
AC_SUBST(INCLUDE_JVMCI)
|
||||
AC_SUBST(INCLUDE_COMPILER2)
|
||||
|
||||
])
|
||||
|
||||
@@ -23,6 +23,38 @@
|
||||
# questions.
|
||||
#
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Check for graalunit libs, needed for running graalunit tests.
|
||||
#
|
||||
AC_DEFUN_ONCE([LIB_TESTS_SETUP_GRAALUNIT],
|
||||
[
|
||||
AC_ARG_WITH(graalunit-lib, [AS_HELP_STRING([--with-graalunit-lib],
|
||||
[specify location of 3rd party libraries used by Graal unit tests])])
|
||||
|
||||
GRAALUNIT_LIB=
|
||||
if test "x${with_graalunit_lib}" != x; then
|
||||
AC_MSG_CHECKING([for graalunit libs])
|
||||
if test "x${with_graalunit_lib}" = xno; then
|
||||
AC_MSG_RESULT([disabled, graalunit tests can not be run])
|
||||
elif test "x${with_graalunit_lib}" = xyes; then
|
||||
AC_MSG_RESULT([not specified])
|
||||
AC_MSG_ERROR([You must specify the path to 3rd party libraries used by Graal unit tests])
|
||||
else
|
||||
GRAALUNIT_LIB="${with_graalunit_lib}"
|
||||
if test ! -d "${GRAALUNIT_LIB}"; then
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([Could not find graalunit 3rd party libraries as specified. (${with_graalunit_lib})])
|
||||
else
|
||||
AC_MSG_RESULT([$GRAALUNIT_LIB])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
UTIL_FIXUP_PATH([GRAALUNIT_LIB])
|
||||
AC_SUBST(GRAALUNIT_LIB)
|
||||
])
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Setup and check for gtest framework source files
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -43,9 +43,11 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
|
||||
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
# No X11 support on windows or macosx
|
||||
NEEDS_LIB_X11=false
|
||||
elif test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
|
||||
# No X11 support needed when building headless only
|
||||
NEEDS_LIB_X11=false
|
||||
else
|
||||
# All other instances need X11, even if building headless only, libawt still
|
||||
# needs X11 headers.
|
||||
# All other instances need X11
|
||||
NEEDS_LIB_X11=true
|
||||
fi
|
||||
|
||||
@@ -101,6 +103,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
||||
LIB_SETUP_LIBFFI
|
||||
LIB_SETUP_BUNDLED_LIBS
|
||||
LIB_SETUP_MISC_LIBS
|
||||
LIB_TESTS_SETUP_GRAALUNIT
|
||||
LIB_TESTS_SETUP_GTEST
|
||||
|
||||
BASIC_JDKLIB_LIBS=""
|
||||
@@ -121,15 +124,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lpthread"
|
||||
fi
|
||||
|
||||
# librt for legacy clock_gettime
|
||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
# Hotspot needs to link librt to get the clock_* functions.
|
||||
# But once our supported minimum build and runtime platform
|
||||
# has glibc 2.17, this can be removed as the functions are
|
||||
# in libc.
|
||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lrt"
|
||||
fi
|
||||
|
||||
# Atomic library
|
||||
# 32-bit platforms needs fallback library for 8-byte atomic ops on Zero
|
||||
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -72,12 +72,6 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
|
||||
VAR_CPU_BITS=64
|
||||
VAR_CPU_ENDIAN=little
|
||||
;;
|
||||
loongarch64)
|
||||
VAR_CPU=loongarch64
|
||||
VAR_CPU_ARCH=loongarch
|
||||
VAR_CPU_BITS=64
|
||||
VAR_CPU_ENDIAN=little
|
||||
;;
|
||||
m68k)
|
||||
VAR_CPU=m68k
|
||||
VAR_CPU_ARCH=m68k
|
||||
@@ -486,11 +480,9 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
|
||||
fi
|
||||
|
||||
# The new version string in JDK 9 also defined new naming of OS and ARCH for bundles
|
||||
# The macOS bundle name was revised in JDK 17
|
||||
#
|
||||
# macosx is macos and x86_64 is x64
|
||||
# Macosx is osx and x86_64 is x64
|
||||
if test "x$OPENJDK_$1_OS" = xmacosx; then
|
||||
OPENJDK_$1_OS_BUNDLE="macos"
|
||||
OPENJDK_$1_OS_BUNDLE="osx"
|
||||
else
|
||||
OPENJDK_$1_OS_BUNDLE="$OPENJDK_TARGET_OS"
|
||||
fi
|
||||
|
||||
@@ -54,9 +54,6 @@ MAKE := @MAKE@
|
||||
# Make sure all shell commands are executed with the C locale
|
||||
export LC_ALL := C
|
||||
|
||||
# Make sure we override any local CLASSPATH variable
|
||||
export CLASSPATH := @CLASSPATH@
|
||||
|
||||
# The default make arguments
|
||||
MAKE_ARGS = $(MAKE_LOG_FLAGS) -r -R -I $(TOPDIR)/make/common SPEC=$(SPEC) \
|
||||
MAKE_LOG_FLAGS="$(MAKE_LOG_FLAGS)" $(MAKE_LOG_VARS)
|
||||
@@ -233,9 +230,6 @@ VENDOR_VERSION_STRING := @VENDOR_VERSION_STRING@
|
||||
VERSION_CLASSFILE_MAJOR := @VERSION_CLASSFILE_MAJOR@
|
||||
VERSION_CLASSFILE_MINOR := @VERSION_CLASSFILE_MINOR@
|
||||
|
||||
# Version for API docs "new-since" feature
|
||||
VERSION_DOCS_API_SINCE := @VERSION_DOCS_API_SINCE@
|
||||
|
||||
JDK_SOURCE_TARGET_VERSION := @JDK_SOURCE_TARGET_VERSION@
|
||||
|
||||
# Convenience CFLAGS settings for passing version information into native programs.
|
||||
@@ -398,6 +392,7 @@ LIBFFI_LIBS:=@LIBFFI_LIBS@
|
||||
LIBFFI_CFLAGS:=@LIBFFI_CFLAGS@
|
||||
ENABLE_LIBFFI_BUNDLING:=@ENABLE_LIBFFI_BUNDLING@
|
||||
LIBFFI_LIB_FILE:=@LIBFFI_LIB_FILE@
|
||||
GRAALUNIT_LIB := @GRAALUNIT_LIB@
|
||||
FILE_MACRO_CFLAGS := @FILE_MACRO_CFLAGS@
|
||||
|
||||
STATIC_LIBS_CFLAGS := @STATIC_LIBS_CFLAGS@
|
||||
@@ -426,16 +421,7 @@ JCOV_FILTERS=@JCOV_FILTERS@
|
||||
export ASAN_ENABLED:=@ASAN_ENABLED@
|
||||
export DEVKIT_LIB_DIR:=@DEVKIT_LIB_DIR@
|
||||
ifeq ($(ASAN_ENABLED), yes)
|
||||
export ASAN_OPTIONS=handle_segv=0:handle_sigfpe=0:detect_leaks=false
|
||||
ifneq ($(DEVKIT_LIB_DIR),)
|
||||
export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
# UndefinedBehaviorSanitizer
|
||||
export USAN_ENABLED:=@USAN_ENABLED@
|
||||
export DEVKIT_LIB_DIR:=@DEVKIT_LIB_DIR@
|
||||
ifeq ($(USAN_ENABLED), yes)
|
||||
export ASAN_OPTIONS=handle_segv=0 detect_leaks=0
|
||||
ifneq ($(DEVKIT_LIB_DIR),)
|
||||
export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
|
||||
endif
|
||||
@@ -491,7 +477,8 @@ CXX_O_FLAG_NORM:=@CXX_O_FLAG_NORM@
|
||||
CXX_O_FLAG_NONE:=@CXX_O_FLAG_NONE@
|
||||
CXX_O_FLAG_SIZE:=@CXX_O_FLAG_SIZE@
|
||||
|
||||
GENDEPS_FLAGS := @GENDEPS_FLAGS@
|
||||
C_FLAG_DEPS:=@C_FLAG_DEPS@
|
||||
CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
|
||||
|
||||
DISABLE_WARNING_PREFIX := @DISABLE_WARNING_PREFIX@
|
||||
CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
|
||||
@@ -523,8 +510,6 @@ JVM_LDFLAGS := @JVM_LDFLAGS@
|
||||
JVM_ASFLAGS := @JVM_ASFLAGS@
|
||||
JVM_LIBS := @JVM_LIBS@
|
||||
|
||||
BASIC_ASFLAGS := @BASIC_ASFLAGS@
|
||||
|
||||
# These flags might contain variables set by a custom extension that is included later.
|
||||
EXTRA_CFLAGS = @EXTRA_CFLAGS@
|
||||
EXTRA_CXXFLAGS = @EXTRA_CXXFLAGS@
|
||||
@@ -538,6 +523,9 @@ CPP := @CPP@
|
||||
# The linker can be gcc or ld on unix systems, or link.exe on windows systems.
|
||||
LD := @LD@
|
||||
|
||||
# Linker used by the jaotc tool for AOT compilation.
|
||||
LD_JAOTC:=@LD_JAOTC@
|
||||
|
||||
# Xcode SDK path
|
||||
SDKROOT:=@SDKROOT@
|
||||
|
||||
@@ -777,6 +765,7 @@ TAR_INCLUDE_PARAM:=@TAR_INCLUDE_PARAM@
|
||||
TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@
|
||||
|
||||
# Build setup
|
||||
ENABLE_AOT:=@ENABLE_AOT@
|
||||
USE_EXTERNAL_LIBJPEG:=@USE_EXTERNAL_LIBJPEG@
|
||||
USE_EXTERNAL_LIBGIF:=@USE_EXTERNAL_LIBGIF@
|
||||
USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@
|
||||
@@ -864,8 +853,8 @@ PNG_CFLAGS:=@PNG_CFLAGS@
|
||||
#
|
||||
|
||||
INCLUDE_SA=@INCLUDE_SA@
|
||||
INCLUDE_GRAAL=@INCLUDE_GRAAL@
|
||||
INCLUDE_JVMCI=@INCLUDE_JVMCI@
|
||||
INCLUDE_COMPILER2=@INCLUDE_COMPILER2@
|
||||
|
||||
OS_VERSION_MAJOR:=@OS_VERSION_MAJOR@
|
||||
OS_VERSION_MINOR:=@OS_VERSION_MINOR@
|
||||
|
||||
@@ -221,12 +221,6 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
|
||||
AC_ARG_WITH(toolchain-type, [AS_HELP_STRING([--with-toolchain-type],
|
||||
[the toolchain type (or family) to use, use '--help' to show possible values @<:@platform dependent@:>@])])
|
||||
|
||||
# Linux x86_64 needs higher binutils after 8265783
|
||||
# (this really is a dependency on as version, but we take ld as a check for a general binutils version)
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
|
||||
TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.25"
|
||||
fi
|
||||
|
||||
# Use indirect variable referencing
|
||||
toolchain_var_name=VALID_TOOLCHAINS_$OPENJDK_BUILD_OS
|
||||
VALID_TOOLCHAINS=${!toolchain_var_name}
|
||||
@@ -670,12 +664,18 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS(LD, link)
|
||||
TOOLCHAIN_VERIFY_LINK_BINARY(LD)
|
||||
LDCXX="$LD"
|
||||
# jaotc being a windows program expects the linker to be supplied with exe suffix.but without
|
||||
# fixpath
|
||||
LD_JAOTC="${LD##$FIXPATH }"
|
||||
else
|
||||
# All other toolchains use the compiler to link.
|
||||
LD="$CC"
|
||||
LDCXX="$CXX"
|
||||
# jaotc expects 'ld' as the linker rather than the compiler.
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS(LD_JAOTC, ld)
|
||||
fi
|
||||
AC_SUBST(LD)
|
||||
AC_SUBST(LD_JAOTC)
|
||||
# FIXME: it should be CXXLD, according to standard (cf CXXCPP)
|
||||
AC_SUBST(LDCXX)
|
||||
|
||||
@@ -683,10 +683,9 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
|
||||
TOOLCHAIN_PREPARE_FOR_LD_VERSION_COMPARISONS
|
||||
|
||||
if test "x$TOOLCHAIN_MINIMUM_LD_VERSION" != x; then
|
||||
AC_MSG_NOTICE([comparing linker version to minimum version $TOOLCHAIN_MINIMUM_LD_VERSION])
|
||||
TOOLCHAIN_CHECK_LINKER_VERSION(VERSION: $TOOLCHAIN_MINIMUM_LD_VERSION,
|
||||
IF_OLDER_THAN: [
|
||||
AC_MSG_ERROR([You are using a linker older than $TOOLCHAIN_MINIMUM_LD_VERSION. This is not a supported configuration.])
|
||||
AC_MSG_WARN([You are using a linker older than $TOOLCHAIN_MINIMUM_LD_VERSION. This is not a supported configuration.])
|
||||
]
|
||||
)
|
||||
fi
|
||||
@@ -697,13 +696,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
|
||||
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
|
||||
AS="$CC -c"
|
||||
else
|
||||
if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
|
||||
# On 64 bit windows, the assember is "ml64.exe"
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS(AS, ml64)
|
||||
else
|
||||
# otherwise, the assember is "ml.exe"
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS(AS, ml)
|
||||
fi
|
||||
# On windows, the assember is "ml.exe"
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS(AS, ml)
|
||||
fi
|
||||
AC_SUBST(AS)
|
||||
|
||||
@@ -885,13 +879,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
|
||||
|
||||
# On windows, the assember is "ml.exe". We currently don't need this so
|
||||
# do not require.
|
||||
if test "x$OPENJDK_BUILD_CPU_BITS" = "x64"; then
|
||||
# On 64 bit windows, the assember is "ml64.exe"
|
||||
UTIL_LOOKUP_PROGS(BUILD_AS, ml64, [$VS_PATH])
|
||||
else
|
||||
# otherwise the assember is "ml.exe"
|
||||
UTIL_LOOKUP_PROGS(BUILD_AS, ml, [$VS_PATH])
|
||||
fi
|
||||
UTIL_LOOKUP_PROGS(BUILD_AS, ml, [$VS_PATH])
|
||||
|
||||
# On windows, the ar tool is lib.exe (used to create static libraries).
|
||||
# We currently don't need this so do not require.
|
||||
|
||||
@@ -62,10 +62,19 @@ endif
|
||||
# Filter out jvmci specific modules if jvmci is disabled
|
||||
ifeq ($(INCLUDE_JVMCI), false)
|
||||
MODULES_FILTER += jdk.internal.vm.ci
|
||||
endif
|
||||
|
||||
# Filter out Graal specific modules if Graal is disabled
|
||||
ifeq ($(INCLUDE_GRAAL), false)
|
||||
MODULES_FILTER += jdk.internal.vm.compiler
|
||||
MODULES_FILTER += jdk.internal.vm.compiler.management
|
||||
endif
|
||||
|
||||
# Filter out aot specific modules if aot is disabled
|
||||
ifeq ($(ENABLE_AOT), false)
|
||||
MODULES_FILTER += jdk.aot
|
||||
endif
|
||||
|
||||
# jpackage is only on windows, macosx, and linux
|
||||
ifeq ($(call isTargetOs, windows macosx linux), false)
|
||||
MODULES_FILTER += jdk.jpackage
|
||||
|
||||
@@ -163,7 +163,7 @@ $(eval $(call DefineNativeToolchain, TOOLCHAIN_BUILD_LINK_CXX, \
|
||||
################################################################################
|
||||
|
||||
# Extensions of files handled by this macro.
|
||||
NATIVE_SOURCE_EXTENSIONS := %.S %.c %.cpp %.cc %.m %.mm
|
||||
NATIVE_SOURCE_EXTENSIONS := %.s %.S %.c %.cpp %.cc %.m %.mm
|
||||
|
||||
# Replaces native source extensions with the object file extension in a string.
|
||||
# Param 1: the string containing source file names with extensions
|
||||
@@ -349,36 +349,42 @@ define SetupCompileNativeFileBody
|
||||
$1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CFLAGS) \
|
||||
$$($1_OPT_CFLAGS) $$($1_CFLAGS) -c
|
||||
$1_COMPILER := $$($$($1_BASE)_CC)
|
||||
$1_DEP_FLAG := $(C_FLAG_DEPS)
|
||||
else ifneq ($$(filter %.m, $$($1_FILENAME)), )
|
||||
# Compile as an Objective-C file
|
||||
$1_FLAGS := -x objective-c $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) \
|
||||
$$($1_BASE_CFLAGS) $$($1_OPT_CFLAGS) $$($1_CFLAGS) -c
|
||||
$1_COMPILER := $$($$($1_BASE)_CC)
|
||||
else ifneq ($$(filter %.S, $$($1_FILENAME)), )
|
||||
# Compile as preprocessed assembler file
|
||||
$1_FLAGS := $(BASIC_ASFLAGS) $$($1_BASE_ASFLAGS)
|
||||
$1_DEP_FLAG := $(C_FLAG_DEPS)
|
||||
else ifneq ($$(filter %.s %.S, $$($1_FILENAME)), )
|
||||
# Compile as assembler file
|
||||
$1_FLAGS := $$($1_BASE_ASFLAGS)
|
||||
$1_COMPILER := $(AS)
|
||||
$1_DEP_FLAG :=
|
||||
else ifneq ($$(filter %.cpp %.cc %.mm, $$($1_FILENAME)), )
|
||||
# Compile as a C++ or Objective-C++ file
|
||||
$1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CXXFLAGS) \
|
||||
$$($1_OPT_CXXFLAGS) $$($1_CXXFLAGS) -c
|
||||
$1_COMPILER := $$($$($1_BASE)_CXX)
|
||||
$1_DEP_FLAG := $(CXX_FLAG_DEPS)
|
||||
else
|
||||
$$(error Internal error in NativeCompilation.gmk: no compiler for file $$($1_FILENAME))
|
||||
endif
|
||||
|
||||
# And this is the dependency file for this obj file.
|
||||
$1_DEPS_FILE := $$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_OBJ))
|
||||
# The dependency target file lists all dependencies as empty targets to
|
||||
# avoid make error "No rule to make target" for removed files
|
||||
$1_DEPS_TARGETS_FILE := $$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_OBJ))
|
||||
ifeq ($$(filter %.s %.S, $$($1_FILENAME)), )
|
||||
# And this is the dependency file for this obj file.
|
||||
$1_DEPS_FILE := $$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_OBJ))
|
||||
# The dependency target file lists all dependencies as empty targets to
|
||||
# avoid make error "No rule to make target" for removed files
|
||||
$1_DEPS_TARGETS_FILE := $$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_OBJ))
|
||||
|
||||
# Only try to load individual dependency information files if the global
|
||||
# file hasn't been loaded (could happen if make was interrupted).
|
||||
ifneq ($$($$($1_BASE)_DEPS_FILE_LOADED), true)
|
||||
# Include previously generated dependency information. (if it exists)
|
||||
-include $$($1_DEPS_FILE)
|
||||
-include $$($1_DEPS_TARGETS_FILE)
|
||||
# Only try to load individual dependency information files if the global
|
||||
# file hasn't been loaded (could happen if make was interrupted).
|
||||
ifneq ($$($$($1_BASE)_DEPS_FILE_LOADED), true)
|
||||
# Include previously generated dependency information. (if it exists)
|
||||
-include $$($1_DEPS_FILE)
|
||||
-include $$($1_DEPS_TARGETS_FILE)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($$(strip $$($1_CFLAGS) $$($1_CXXFLAGS) $$($1_OPTIMIZATION)), )
|
||||
@@ -399,7 +405,7 @@ define SetupCompileNativeFileBody
|
||||
$$(call MakeDir, $$(@D))
|
||||
ifneq ($(TOOLCHAIN_TYPE), microsoft)
|
||||
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
|
||||
$$($1_COMPILER) $$(GENDEPS_FLAGS) \
|
||||
$$($1_COMPILER) $$($1_DEP_FLAG) \
|
||||
$$(addsuffix .tmp, $$($1_DEPS_FILE)) \
|
||||
$$($1_COMPILE_OPTIONS)))
|
||||
ifneq ($$($1_DEPS_FILE), )
|
||||
@@ -418,25 +424,15 @@ define SetupCompileNativeFileBody
|
||||
# Keep as much as possible on one execution line for best performance
|
||||
# on Windows. No need to save exit code from compilation since
|
||||
# pipefail is always active on Windows.
|
||||
ifeq ($$(filter %.S, $$($1_FILENAME)), )
|
||||
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
|
||||
$$($1_COMPILER) -showIncludes $$($1_COMPILE_OPTIONS))) \
|
||||
| $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \
|
||||
-e "^$$($1_FILENAME)$$$$" || test "$$$$?" = "1" ; \
|
||||
$(ECHO) $$@: \\ > $$($1_DEPS_FILE) ; \
|
||||
$(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_OBJ).log \
|
||||
| $(SORT) -u >> $$($1_DEPS_FILE) ; \
|
||||
$(ECHO) >> $$($1_DEPS_FILE) ; \
|
||||
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEPS_FILE) > $$($1_DEPS_TARGETS_FILE)
|
||||
else
|
||||
# For assembler calls just create empty dependency lists
|
||||
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
|
||||
$$($1_COMPILER) $$($1_FLAGS) \
|
||||
$(CC_OUT_OPTION)$$($1_OBJ) -Ta $$($1_SRC_FILE))) \
|
||||
| $(TR) -d '\r' | $(GREP) -v -e "Assembling:" || test "$$$$?" = "1" ; \
|
||||
$(ECHO) > $$($1_DEPS_FILE) ; \
|
||||
$(ECHO) > $$($1_DEPS_TARGETS_FILE)
|
||||
endif
|
||||
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
|
||||
$$($1_COMPILER) -showIncludes $$($1_COMPILE_OPTIONS))) \
|
||||
| $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \
|
||||
-e "^$$($1_FILENAME)$$$$" || test "$$$$?" = "1" ; \
|
||||
$(ECHO) $$@: \\ > $$($1_DEPS_FILE) ; \
|
||||
$(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_OBJ).log \
|
||||
| $(SORT) -u >> $$($1_DEPS_FILE) ; \
|
||||
$(ECHO) >> $$($1_DEPS_FILE) ; \
|
||||
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEPS_FILE) > $$($1_DEPS_TARGETS_FILE)
|
||||
endif
|
||||
endif
|
||||
endef
|
||||
@@ -818,7 +814,7 @@ define SetupNativeCompilationBody
|
||||
-include $$($1_PCH_DEPS_TARGETS_FILE)
|
||||
|
||||
$1_PCH_COMMAND := $$($1_CC) $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \
|
||||
$$($1_OPT_CFLAGS) -x c++-header -c $(GENDEPS_FLAGS) \
|
||||
$$($1_OPT_CFLAGS) -x c++-header -c $(C_FLAG_DEPS) \
|
||||
$$(addsuffix .tmp, $$($1_PCH_DEPS_FILE))
|
||||
|
||||
$$($1_PCH_FILE): $$($1_PRECOMPILED_HEADER) $$($1_COMPILE_VARDEPS_FILE)
|
||||
@@ -978,13 +974,6 @@ define SetupNativeCompilationBody
|
||||
$(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 \
|
||||
|
||||
@@ -103,7 +103,7 @@ define ProcessMarkdown
|
||||
$$(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) ) )
|
||||
( $$($1_POST_PROCESS) < $$($1_$2_PANDOC_OUTPUT) > $$($1_$2_OUTPUT_FILE) ) )
|
||||
endif
|
||||
|
||||
$1 += $$($1_$2_OUTPUT_FILE)
|
||||
|
||||
@@ -92,58 +92,40 @@ SetIfEmpty = \
|
||||
# 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)))) \
|
||||
))))
|
||||
$(patsubst x%,%,$(subst $(SPACE),/,$(strip \
|
||||
$(call FindCommonPathPrefixHelper, \
|
||||
$(subst /,$(SPACE),x$(strip $1)), $(subst /,$(SPACE),x$(strip $2))) \
|
||||
)))
|
||||
|
||||
FindCommonPathPrefixHelper1 = \
|
||||
$(if $(filter $(OPENJDK_TARGET_OS), windows), \
|
||||
$(call FindCommonPathPrefixHelper2,$(call uppercase,$1),$(call uppercase,$2),$1), \
|
||||
$(call FindCommonPathPrefixHelper2,$1,$2,$1))
|
||||
|
||||
FindCommonPathPrefixHelper2 = \
|
||||
FindCommonPathPrefixHelper = \
|
||||
$(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) \
|
||||
) \
|
||||
$(firstword $1) \
|
||||
$(call FindCommonPathPrefixHelper, \
|
||||
$(wordlist 2, $(words $1), $1), $(wordlist 2, $(words $2), $2) \
|
||||
) \
|
||||
)
|
||||
|
||||
# Convert a partial path into as many directory levels of ../, removing
|
||||
# leading and following /.
|
||||
# Ex: foo/bar/baz/ -> ../../..
|
||||
# foo/bar -> ../..
|
||||
# /foo -> ..
|
||||
DirToDotDot = \
|
||||
$(subst $(SPACE),/,$(foreach d, $(subst /,$(SPACE),$1),..))
|
||||
|
||||
# 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), .))
|
||||
$(eval $1_prefix := $(call FindCommonPathPrefix, $1, $2)) \
|
||||
$(eval $1_dotdots := $(call DirToDotDot, $(patsubst $($(strip $1)_prefix)%, %, $2))) \
|
||||
$(eval $1_dotdots := $(if $($(strip $1)_dotdots),$($(strip $1)_dotdots),.)) \
|
||||
$(eval $1_suffix := $(patsubst $($(strip $1)_prefix)/%, %, $1)) \
|
||||
$($(strip $1)_dotdots)/$($(strip $1)_suffix)
|
||||
|
||||
################################################################################
|
||||
# Filter out duplicate sub strings while preserving order. Keeps the first occurance.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -44,6 +44,9 @@ LANGTOOLS_MODULES= \
|
||||
|
||||
# These models require buildtools-hotspot to process for gensrc
|
||||
HOTSPOT_MODULES= \
|
||||
jdk.aot \
|
||||
jdk.hotspot.agent \
|
||||
jdk.internal.vm.ci \
|
||||
jdk.internal.vm.compiler \
|
||||
jdk.internal.vm.compiler.management \
|
||||
#
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 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
|
||||
@@ -23,9 +23,9 @@
|
||||
#
|
||||
|
||||
# URLs
|
||||
JAVADOC_BASE_URL=https://docs.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_FEATURE)&id=homepage
|
||||
JAVADOC_BASE_URL=https://docs.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&id=homepage
|
||||
BUG_SUBMIT_URL=https://bugreport.java.com/bugreport/
|
||||
COPYRIGHT_URL=legal/copyright.html
|
||||
LICENSE_URL=https://www.oracle.com/java/javase/terms/license/java$(VERSION_FEATURE)speclicense.html
|
||||
LICENSE_URL=https://www.oracle.com/java/javase/terms/license/java$(VERSION_NUMBER)speclicense.html
|
||||
REDISTRIBUTION_URL=https://www.oracle.com/technetwork/java/redist-137594.html
|
||||
OTHER_JDK_VERSIONS_URL=https://docs.oracle.com/en/java/javase/index.html
|
||||
|
||||
@@ -205,7 +205,7 @@ var getJibProfiles = function (input) {
|
||||
|
||||
// Exclude list to use when Jib creates a source bundle
|
||||
data.src_bundle_excludes = [
|
||||
"build", "{,**/}webrev*", "{,**/}.hg", "{,**/}JTwork*", "{,**/}JTreport*",
|
||||
"build", "{,**/}webrev*", "{,**/}.hg", "{,**/}JTwork", "{,**/}JTreport",
|
||||
"{,**/}.git"
|
||||
];
|
||||
// Include list to use when creating a minimal jib source bundle which
|
||||
@@ -239,7 +239,7 @@ var getJibProfilesCommon = function (input, data) {
|
||||
|
||||
// List of the main profile names used for iteration
|
||||
common.main_profile_names = [
|
||||
"linux-x64", "linux-x86", "macosx-x64", "macosx-aarch64",
|
||||
"linux-x64", "linux-x86", "macosx-x64",
|
||||
"windows-x64", "windows-x86", "windows-aarch64",
|
||||
"linux-aarch64", "linux-arm32", "linux-ppc64le", "linux-s390x"
|
||||
];
|
||||
@@ -251,6 +251,8 @@ var getJibProfilesCommon = function (input, data) {
|
||||
configure_args: concat("--enable-jtreg-failure-handler",
|
||||
"--with-exclude-translations=de,es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
|
||||
"--disable-manpages",
|
||||
"--disable-jvm-feature-aot",
|
||||
"--disable-jvm-feature-graal",
|
||||
"--disable-jvm-feature-shenandoahgc",
|
||||
versionArgs(input, common))
|
||||
};
|
||||
@@ -394,13 +396,8 @@ var getJibProfilesCommon = function (input, data) {
|
||||
};
|
||||
};
|
||||
|
||||
if (input.build_os == 'macosx' && input.build_cpu == 'aarch64') {
|
||||
common.boot_jdk_version = "17";
|
||||
common.boot_jdk_build_number = "24";
|
||||
} else {
|
||||
common.boot_jdk_version = "16";
|
||||
common.boot_jdk_build_number = "36";
|
||||
}
|
||||
common.boot_jdk_version = "15";
|
||||
common.boot_jdk_build_number = "36";
|
||||
common.boot_jdk_home = input.get("boot_jdk", "install_path") + "/jdk-"
|
||||
+ common.boot_jdk_version
|
||||
+ (input.build_os == "macosx" ? ".jdk/Contents/Home" : "");
|
||||
@@ -422,10 +419,8 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
"linux-x64": {
|
||||
target_os: "linux",
|
||||
target_cpu: "x64",
|
||||
dependencies: ["devkit", "gtest", "build_devkit", "graphviz", "pandoc"],
|
||||
configure_args: concat(
|
||||
(input.build_cpu == "x64" ? common.configure_args_64bit
|
||||
: "--openjdk-target=x86_64-linux-gnu"),
|
||||
dependencies: ["devkit", "gtest", "graphviz", "pandoc"],
|
||||
configure_args: concat(common.configure_args_64bit,
|
||||
"--with-zlib=system", "--disable-dtrace",
|
||||
(isWsl(input) ? [ "--host=x86_64-unknown-linux-gnu",
|
||||
"--build=x86_64-unknown-linux-gnu" ] : [])),
|
||||
@@ -452,14 +447,6 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
"SETFILE=/usr/bin/SetFile"),
|
||||
},
|
||||
|
||||
"macosx-aarch64": {
|
||||
target_os: "macosx",
|
||||
target_cpu: "aarch64",
|
||||
dependencies: ["devkit", "gtest"],
|
||||
configure_args: concat(common.configure_args_64bit, "--with-zlib=system",
|
||||
"--with-macosx-version-max=11.00.00"),
|
||||
},
|
||||
|
||||
"windows-x64": {
|
||||
target_os: "windows",
|
||||
target_cpu: "x64",
|
||||
@@ -491,8 +478,6 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
dependencies: ["devkit", "gtest", "build_devkit", "pandoc"],
|
||||
configure_args: [
|
||||
"--openjdk-target=aarch64-linux-gnu",
|
||||
"--with-zlib=system",
|
||||
"--disable-dtrace",
|
||||
"--enable-compatible-cds-alignment",
|
||||
],
|
||||
},
|
||||
@@ -572,7 +557,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
});
|
||||
|
||||
// Generate -gcov profiles
|
||||
[ "linux-aarch64", "linux-x64", "macosx-x64", "macosx-aarch64" ].forEach(function (name) {
|
||||
[ "linux-aarch64", "linux-x64", "macosx-x64" ].forEach(function (name) {
|
||||
var gcovName = name + "-gcov";
|
||||
profiles[gcovName] = clone(profiles[name]);
|
||||
profiles[gcovName].default_make_targets = ["product-bundles", "test-bundles"];
|
||||
@@ -661,7 +646,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
});
|
||||
|
||||
// JCov profiles build JCov-instrumented JDK image based on images provided through dependencies.
|
||||
[ "linux-aarch64", "linux-x64", "macosx-x64", "macosx-aarch64", "windows-x64" ]
|
||||
[ "linux-aarch64", "linux-x64", "macosx-x64", "windows-x64" ]
|
||||
.forEach(function (name) {
|
||||
var jcovName = name + "-jcov";
|
||||
profiles[jcovName] = clone(common.main_profile_base);
|
||||
@@ -674,7 +659,11 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
["--with-jcov-input-jdk=" + input.get(name + ".jdk", "home_path")]);
|
||||
});
|
||||
|
||||
//
|
||||
// Define artifacts for profiles
|
||||
//
|
||||
// Macosx bundles are named osx
|
||||
// tar.gz.
|
||||
var artifactData = {
|
||||
"linux-x64": {
|
||||
platform: "linux-x64",
|
||||
@@ -683,13 +672,9 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
platform: "linux-x86",
|
||||
},
|
||||
"macosx-x64": {
|
||||
platform: "macos-x64",
|
||||
platform: "osx-x64",
|
||||
jdk_subdir: "jdk-" + data.version + ".jdk/Contents/Home",
|
||||
},
|
||||
"macosx-aarch64": {
|
||||
platform: "macos-aarch64",
|
||||
jdk_subdir: "jdk-" + data.version + ".jdk/Contents/Home",
|
||||
},
|
||||
"windows-x64": {
|
||||
platform: "windows-x64",
|
||||
jdk_suffix: "zip",
|
||||
@@ -857,7 +842,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
});
|
||||
|
||||
// Artifacts of JCov profiles
|
||||
[ "linux-aarch64", "linux-x64", "macosx-x64", "macosx-aarch64", "windows-x64" ]
|
||||
[ "linux-aarch64", "linux-x64", "macosx-x64", "windows-x64" ]
|
||||
.forEach(function (name) {
|
||||
var o = artifactData[name]
|
||||
var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
|
||||
@@ -877,7 +862,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
});
|
||||
|
||||
// Artifacts of gcov (native-code-coverage) profiles
|
||||
[ "linux-aarch64", "linux-x64", "macosx-x64", "macosx-aarch64" ].forEach(function (name) {
|
||||
[ "linux-aarch64", "linux-x64", "macosx-x64" ].forEach(function (name) {
|
||||
var o = artifactData[name]
|
||||
var pf = o.platform
|
||||
var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
|
||||
@@ -989,11 +974,8 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
// This gives us a guaranteed working version of lldb for the jtreg failure handler.
|
||||
if (input.build_os == "macosx") {
|
||||
macosxRunTestExtra = {
|
||||
dependencies: [ "lldb" ],
|
||||
environment_path: [
|
||||
input.get("gnumake", "install_path") + "/bin",
|
||||
input.get("lldb", "install_path") + "/Xcode.app/Contents/Developer/usr/bin",
|
||||
],
|
||||
environment_path: input.get("devkit", "install_path")
|
||||
+ "/Xcode.app/Contents/Developer/usr/bin"
|
||||
};
|
||||
profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra);
|
||||
profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra);
|
||||
@@ -1047,10 +1029,10 @@ var getJibProfilesProfiles = function (input, common, data) {
|
||||
var getJibProfilesDependencies = function (input, common) {
|
||||
|
||||
var devkit_platform_revisions = {
|
||||
linux_x64: "gcc10.3.0-OL6.4+1.0",
|
||||
macosx: "Xcode12.4+1.0",
|
||||
windows_x64: "VS2019-16.9.3+1.0",
|
||||
linux_aarch64: "gcc10.3.0-OL7.6+1.0",
|
||||
linux_x64: "gcc10.2.0-OL6.4+1.0",
|
||||
macosx_x64: "Xcode11.3.1-MacOSX10.15+1.1",
|
||||
windows_x64: "VS2019-16.7.2+1.1",
|
||||
linux_aarch64: "gcc10.2.0-OL7.6+1.0",
|
||||
linux_arm: "gcc8.2.0-Fedora27+1.0",
|
||||
linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
|
||||
linux_s390x: "gcc8.2.0-Fedora27+1.0"
|
||||
@@ -1061,8 +1043,6 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
: input.target_platform);
|
||||
if (input.target_platform == "windows_aarch64") {
|
||||
devkit_platform = "windows_x64";
|
||||
} else if (input.target_os == "macosx") {
|
||||
devkit_platform = "macosx";
|
||||
}
|
||||
var devkit_cross_prefix = "";
|
||||
if (!(input.target_os == "windows")) {
|
||||
@@ -1071,15 +1051,9 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
devkit_cross_prefix = input.build_platform + "-to-";
|
||||
}
|
||||
}
|
||||
var boot_jdk_os = input.build_os;
|
||||
if (input.build_os == "macosx") {
|
||||
if (input.build_cpu == "aarch64") {
|
||||
boot_jdk_os = "macos";
|
||||
} else {
|
||||
boot_jdk_os = "osx";
|
||||
}
|
||||
}
|
||||
var boot_jdk_platform = boot_jdk_os + "-" + input.build_cpu;
|
||||
|
||||
var boot_jdk_platform = (input.build_os == "macosx" ? "osx" : input.build_os)
|
||||
+ "-" + input.build_cpu;
|
||||
var boot_jdk_ext = (input.build_os == "windows" ? ".zip" : ".tar.gz")
|
||||
// If running in WSL and building for Windows, it will look like Linux,
|
||||
// but we need a Windows boot JDK.
|
||||
@@ -1087,23 +1061,22 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
boot_jdk_platform = "windows-" + input.build_cpu;
|
||||
boot_jdk_ext = ".zip";
|
||||
}
|
||||
var boot_jdk = {
|
||||
server: "jpg",
|
||||
product: "jdk",
|
||||
version: common.boot_jdk_version,
|
||||
build_number: common.boot_jdk_build_number,
|
||||
file: "bundles/" + boot_jdk_platform + "/jdk-" + common.boot_jdk_version + "_"
|
||||
+ boot_jdk_platform + "_bin" + boot_jdk_ext,
|
||||
configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
|
||||
environment_path: common.boot_jdk_home + "/bin"
|
||||
}
|
||||
|
||||
var makeBinDir = (input.build_os == "windows"
|
||||
? input.get("gnumake", "install_path") + "/cygwin/bin"
|
||||
: input.get("gnumake", "install_path") + "/bin");
|
||||
|
||||
var dependencies = {
|
||||
boot_jdk: boot_jdk,
|
||||
boot_jdk: {
|
||||
server: "jpg",
|
||||
product: "jdk",
|
||||
version: common.boot_jdk_version,
|
||||
build_number: common.boot_jdk_build_number,
|
||||
file: "bundles/" + boot_jdk_platform + "/jdk-" + common.boot_jdk_version + "_"
|
||||
+ boot_jdk_platform + "_bin" + boot_jdk_ext,
|
||||
configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
|
||||
environment_path: common.boot_jdk_home + "/bin"
|
||||
},
|
||||
|
||||
devkit: {
|
||||
organization: common.organization,
|
||||
@@ -1119,17 +1092,7 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
organization: common.organization,
|
||||
ext: "tar.gz",
|
||||
module: "devkit-" + input.build_platform,
|
||||
revision: devkit_platform_revisions[input.build_platform],
|
||||
// Only set --with-build-devkit when cross compiling.
|
||||
configure_args: (input.build_cpu == input.target_cpu ? false
|
||||
: "--with-build-devkit=" + input.get("build_devkit", "home_path"))
|
||||
},
|
||||
|
||||
lldb: {
|
||||
organization: common.organization,
|
||||
ext: "tar.gz",
|
||||
module: "devkit-macosx" + (input.build_cpu == "x64" ? "_x64" : ""),
|
||||
revision: (input.build_cpu == "x64" ? "Xcode11.3.1-MacOSX10.15+1.1" : devkit_platform_revisions[devkit_platform])
|
||||
revision: devkit_platform_revisions[input.build_platform]
|
||||
},
|
||||
|
||||
cups: {
|
||||
@@ -1141,9 +1104,10 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
jtreg: {
|
||||
server: "jpg",
|
||||
product: "jtreg",
|
||||
version: "6",
|
||||
build_number: "1",
|
||||
file: "bundles/jtreg-6+1.zip",
|
||||
version: "5.1",
|
||||
build_number: "b01",
|
||||
checksum_file: "MD5_VALUES",
|
||||
file: "bundles/jtreg_bin-5.1.zip",
|
||||
environment_name: "JT_HOME",
|
||||
environment_path: input.get("jtreg", "home_path") + "/bin",
|
||||
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),
|
||||
@@ -1156,7 +1120,8 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
},
|
||||
|
||||
jcov: {
|
||||
// Use custom build of JCov
|
||||
// Until an official build of JCov is available, use custom
|
||||
// build to support classfile version 60.
|
||||
// See CODETOOLS-7902734 for more info.
|
||||
// server: "jpg",
|
||||
// product: "jcov",
|
||||
@@ -1164,7 +1129,7 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
// build_number: "b07",
|
||||
// file: "bundles/jcov-3_0.zip",
|
||||
organization: common.organization,
|
||||
revision: "3.0-9-jdk-asm+1.0",
|
||||
revision: "3.0-60-support+1.0",
|
||||
ext: "zip",
|
||||
environment_name: "JCOV_HOME",
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -55,14 +55,13 @@ BOOT_MODULES= \
|
||||
jdk.sctp \
|
||||
jdk.unsupported \
|
||||
jdk.naming.rmi \
|
||||
jetbrains.api \
|
||||
jetbrains.api.impl \
|
||||
#
|
||||
|
||||
# Modules that directly or indirectly requiring upgradeable modules
|
||||
# should carefully be considered if it should be upgradeable or not.
|
||||
UPGRADEABLE_PLATFORM_MODULES= \
|
||||
java.compiler \
|
||||
jdk.aot \
|
||||
jdk.internal.vm.compiler \
|
||||
jdk.internal.vm.compiler.management \
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 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,19 +25,19 @@
|
||||
|
||||
# Versions and download locations for dependencies used by pre-submit testing.
|
||||
|
||||
BOOT_JDK_VERSION=16
|
||||
JTREG_VERSION=6
|
||||
JTREG_BUILD=1
|
||||
BOOT_JDK_VERSION=15
|
||||
JTREG_VERSION=5.1
|
||||
JTREG_BUILD=b01
|
||||
GTEST_VERSION=1.8.1
|
||||
|
||||
LINUX_X64_BOOT_JDK_FILENAME=openjdk-16_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_SHA256=e952958f16797ad7dc7cd8b724edd69ec7e0e0434537d80d6b5165193e33b931
|
||||
LINUX_X64_BOOT_JDK_FILENAME=openjdk-15_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_SHA256=bb67cadee687d7b486583d03c9850342afea4593be4f436044d785fba9508fb7
|
||||
|
||||
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-16_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_SHA256=a78bdeaad186297601edac6772d931224d7af6f682a43372e693c37020bd37d6
|
||||
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-15_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_SHA256=764e39a71252a9791118a31ae56a4247c049463bda5eb72497122ec50b1d07f8
|
||||
|
||||
MACOS_X64_BOOT_JDK_FILENAME=openjdk-16_osx-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_osx-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_SHA256=16f3e39a31e86f3f51b0b4035a37494a47ed3c4ead760eafc6afd7afdf2ad9f2
|
||||
MACOS_X64_BOOT_JDK_FILENAME=openjdk-115_osx-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_osx-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_SHA256=ab842c8c0953b816be308c098c1a021177a4776bef24da85b6bafbbd657c7e1a
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -26,17 +26,16 @@
|
||||
# Default version, product, and vendor information to use,
|
||||
# unless overridden by configure
|
||||
|
||||
DEFAULT_VERSION_FEATURE=18
|
||||
DEFAULT_VERSION_FEATURE=17
|
||||
DEFAULT_VERSION_INTERIM=0
|
||||
DEFAULT_VERSION_UPDATE=0
|
||||
DEFAULT_VERSION_PATCH=0
|
||||
DEFAULT_VERSION_EXTRA1=0
|
||||
DEFAULT_VERSION_EXTRA2=0
|
||||
DEFAULT_VERSION_EXTRA3=0
|
||||
DEFAULT_VERSION_DATE=2022-03-15
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=62 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_DATE=2021-09-14
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=61 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||
DEFAULT_VERSION_DOCS_API_SINCE=11
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="16 17 18"
|
||||
DEFAULT_JDK_SOURCE_TARGET_VERSION=18
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="15 16 17"
|
||||
DEFAULT_JDK_SOURCE_TARGET_VERSION=17
|
||||
DEFAULT_PROMOTED_VERSION_PRE=ea
|
||||
|
||||
29
make/data/cacerts/globalsignr2ca
Normal file
29
make/data/cacerts/globalsignr2ca
Normal file
@@ -0,0 +1,29 @@
|
||||
Owner: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2
|
||||
Issuer: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2
|
||||
Serial number: 400000000010f8626e60d
|
||||
Valid from: Fri Dec 15 08:00:00 GMT 2006 until: Wed Dec 15 08:00:00 GMT 2021
|
||||
Signature algorithm name: SHA1withRSA
|
||||
Subject Public Key Algorithm: 2048-bit RSA key
|
||||
Version: 3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
|
||||
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
|
||||
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
|
||||
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
|
||||
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
|
||||
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
|
||||
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
|
||||
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
|
||||
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
|
||||
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
|
||||
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
|
||||
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
|
||||
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
|
||||
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
|
||||
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
|
||||
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
|
||||
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
|
||||
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
|
||||
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
|
||||
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
|
||||
-----END CERTIFICATE-----
|
||||
27
make/data/cacerts/identrustdstx3
Normal file
27
make/data/cacerts/identrustdstx3
Normal file
@@ -0,0 +1,27 @@
|
||||
Owner: CN=DST Root CA X3, O=Digital Signature Trust Co.
|
||||
Issuer: CN=DST Root CA X3, O=Digital Signature Trust Co.
|
||||
Serial number: 44afb080d6a327ba893039862ef8406b
|
||||
Valid from: Sat Sep 30 21:12:19 GMT 2000 until: Thu Sep 30 14:01:15 GMT 2021
|
||||
Signature algorithm name: SHA1withRSA
|
||||
Subject Public Key Algorithm: 2048-bit RSA key
|
||||
Version: 3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
|
||||
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
|
||||
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
|
||||
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
|
||||
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
||||
AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
|
||||
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
|
||||
OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
|
||||
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
|
||||
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
|
||||
aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
|
||||
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
|
||||
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
|
||||
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
|
||||
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
|
||||
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
|
||||
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
|
||||
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -49,6 +49,7 @@ charset US-ASCII US_ASCII
|
||||
alias IBM367
|
||||
alias cp367
|
||||
alias csASCII
|
||||
alias default
|
||||
# Other aliases
|
||||
alias 646 # Solaris POSIX locale
|
||||
alias iso_646.irv:1983
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CLDR - Unicode Common Locale Data Repository
|
||||
http://cldr.unicode.org
|
||||
|
||||
CLDR version installed: 39
|
||||
CLDR version installed: 38
|
||||
|
||||
@@ -46,7 +46,7 @@ $Revision$
|
||||
<!ATTLIST version number CDATA #REQUIRED >
|
||||
<!--@MATCH:regex/\$Revision.*\$-->
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "39" >
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "38" >
|
||||
<!--@MATCH:any-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST version draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
|
||||
@@ -16,7 +16,7 @@ $Revision$
|
||||
<!ATTLIST version number CDATA #REQUIRED >
|
||||
<!--@MATCH:regex/\$Revision.*\$-->
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "39" >
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "38" >
|
||||
<!--@MATCH:version-->
|
||||
<!--@VALUE-->
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ Except as contained in this notice, the name of a copyright holder shall not be
|
||||
<!ATTLIST version number CDATA #REQUIRED >
|
||||
<!--@MATCH:any-->
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "39" >
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "38" >
|
||||
<!--@MATCH:version-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST version unicodeVersion CDATA #FIXED "13.0.0" >
|
||||
@@ -384,9 +384,6 @@ Except as contained in this notice, the name of a copyright holder shall not be
|
||||
<!ATTLIST unitConstant status NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:literal/approximate, exact-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST unitConstant description CDATA #IMPLIED >
|
||||
<!--@MATCH:any-->
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT unitQuantities ( unitQuantity* ) >
|
||||
|
||||
@@ -399,8 +396,6 @@ Except as contained in this notice, the name of a copyright holder shall not be
|
||||
<!ATTLIST unitQuantity status NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:regex/simple-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST unitQuantity description CDATA #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT convertUnits ( convertUnit* ) >
|
||||
|
||||
@@ -417,10 +412,8 @@ Except as contained in this notice, the name of a copyright holder shall not be
|
||||
<!--@MATCH:regex/[-+*/\._ 0-9a-zA-Z]+-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST convertUnit systems NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:set/literal/ussystem, uksystem, metric, si, other -->
|
||||
<!--@MATCH:set/literal/ussystem, uksystem-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST convertUnit description CDATA #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT unitPreferenceData ( unitPreferences* ) >
|
||||
<!ATTLIST unitPreferenceData draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
|
||||
@@ -1249,7 +1242,7 @@ Except as contained in this notice, the name of a copyright holder shall not be
|
||||
<!ATTLIST grammaticalCase scope NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:set/literal/units-->
|
||||
<!ATTLIST grammaticalCase values NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:set/literal/abessive, ablative, accusative, adessive, allative, causal, comitative, dative, delative, elative, ergative, essive, genitive, illative, inessive, instrumental, locative, locativecopulative, nominative, oblique, partitive, prepositional, sociative, sublative, superessive, terminative, translative, vocative-->
|
||||
<!--@MATCH:set/literal/ablative, accusative, comitative, dative, ergative, genitive, instrumental, locative, locativecopulative, nominative, oblique, partitive, prepositional, sociative, vocative-->
|
||||
<!--@VALUE-->
|
||||
|
||||
<!ELEMENT grammaticalGender EMPTY >
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
@@ -318,6 +318,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="rn">Rundi</language>
|
||||
<language type="ro">Roemeens</language>
|
||||
<language type="rof">Rombo</language>
|
||||
<language type="root">Root</language>
|
||||
<language type="ru">Russies</language>
|
||||
<language type="rup">Aromanies</language>
|
||||
<language type="rw">Rwandees</language>
|
||||
@@ -2370,6 +2371,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Santa_Isabel">
|
||||
<exemplarCity>Santa Isabel</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Honolulu">
|
||||
<exemplarCity>Honolulu</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Etc/UTC">
|
||||
<long>
|
||||
<standard>Gekoördineerde universele tyd</standard>
|
||||
@@ -2489,12 +2493,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Australia/Broken_Hill">
|
||||
<exemplarCity>Broken Hill</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Melbourne">
|
||||
<exemplarCity>Melbourne</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Currie">
|
||||
<exemplarCity>Currie</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Melbourne">
|
||||
<exemplarCity>Melbourne</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Hobart">
|
||||
<exemplarCity>Hobart</exemplarCity>
|
||||
</zone>
|
||||
@@ -3527,9 +3531,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Nome">
|
||||
<exemplarCity>Nome</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Honolulu">
|
||||
<exemplarCity>Honolulu</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Johnston">
|
||||
<exemplarCity>Johnston</exemplarCity>
|
||||
</zone>
|
||||
@@ -5772,7 +5773,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<displayName>Wes-Afrikaanse CFA-frank</displayName>
|
||||
<displayName count="one">Wes-Afrikaanse CFA-frank</displayName>
|
||||
<displayName count="other">Wes-Afrikaanse CFA-frank</displayName>
|
||||
<symbol draft="contributed">F CFA</symbol>
|
||||
<symbol draft="contributed">CFA</symbol>
|
||||
</currency>
|
||||
<currency type="XPF">
|
||||
<displayName>CFP-frank</displayName>
|
||||
@@ -5994,7 +5995,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} karaat</unitPattern>
|
||||
<unitPattern count="other">{0} karaat</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-milligram-ofglucose-per-deciliter">
|
||||
<unit type="concentr-milligram-per-deciliter">
|
||||
<displayName>milligram per desiliter</displayName>
|
||||
<unitPattern count="one">{0} milligram per desiliter</unitPattern>
|
||||
<unitPattern count="other">{0} milligram per desiliter</unitPattern>
|
||||
@@ -6916,7 +6917,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} kar.</unitPattern>
|
||||
<unitPattern count="other">{0} kar.</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-milligram-ofglucose-per-deciliter">
|
||||
<unit type="concentr-milligram-per-deciliter">
|
||||
<displayName>mg/dℓ</displayName>
|
||||
<unitPattern count="one">{0} mg/dℓ</unitPattern>
|
||||
<unitPattern count="other">{0} mg/dℓ</unitPattern>
|
||||
@@ -7257,9 +7258,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} mm</unitPattern>
|
||||
</unit>
|
||||
<unit type="length-micrometer">
|
||||
<displayName>μm</displayName>
|
||||
<unitPattern count="one">{0} μm</unitPattern>
|
||||
<unitPattern count="other">{0} μm</unitPattern>
|
||||
<displayName>µm</displayName>
|
||||
<unitPattern count="one">{0} µm</unitPattern>
|
||||
<unitPattern count="other">{0} µm</unitPattern>
|
||||
</unit>
|
||||
<unit type="length-nanometer">
|
||||
<displayName>nm</displayName>
|
||||
@@ -7371,9 +7372,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} mg</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-microgram">
|
||||
<displayName>μg</displayName>
|
||||
<unitPattern count="one">{0} μg</unitPattern>
|
||||
<unitPattern count="other">{0} μg</unitPattern>
|
||||
<displayName>µg</displayName>
|
||||
<unitPattern count="one">{0} µg</unitPattern>
|
||||
<unitPattern count="other">{0} µg</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-ton">
|
||||
<displayName>VSA-ton</displayName>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
@@ -376,6 +376,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="ro">ሮማኒያን</language>
|
||||
<language type="ro_MD">ሞልዳቪያንኛ</language>
|
||||
<language type="rof">ሮምቦ</language>
|
||||
<language type="root">ሩት</language>
|
||||
<language type="ru">ራሽያኛ</language>
|
||||
<language type="rup">አሮማንያን</language>
|
||||
<language type="rw">ኪንያርዋንድኛ</language>
|
||||
@@ -2985,6 +2986,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Santa_Isabel">
|
||||
<exemplarCity>ሳንታ ኢዛቤል</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Honolulu">
|
||||
<exemplarCity>ሆኖሉሉ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Etc/UTC">
|
||||
<long>
|
||||
<standard>የተቀነባበረ ሁለገብ ሰዓት</standard>
|
||||
@@ -3104,12 +3108,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Australia/Broken_Hill">
|
||||
<exemplarCity>ብሮክን ሂል</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Melbourne">
|
||||
<exemplarCity>ሜልቦርን</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Currie">
|
||||
<exemplarCity>ከሪ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Melbourne">
|
||||
<exemplarCity>ሜልቦርን</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Hobart">
|
||||
<exemplarCity>ሆባርት</exemplarCity>
|
||||
</zone>
|
||||
@@ -4142,9 +4146,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Nome">
|
||||
<exemplarCity>ኖሜ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Honolulu">
|
||||
<exemplarCity>ሆኖሉሉ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Johnston">
|
||||
<exemplarCity>ጆንስተን</exemplarCity>
|
||||
</zone>
|
||||
@@ -6363,7 +6364,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<displayName>የምዕራብ አፍሪካ ሴፋ ፍራንክ</displayName>
|
||||
<displayName count="one">የምዕራብ አፍሪካ ሴፋ ፍራንክ</displayName>
|
||||
<displayName count="other">የምዕራብ አፍሪካ ሴፋ ፍራንክ</displayName>
|
||||
<symbol draft="contributed">F CFA</symbol>
|
||||
<symbol draft="contributed">CFA</symbol>
|
||||
</currency>
|
||||
<currency type="XPF">
|
||||
<displayName>ሲ ኤፍ ፒ ፍራንክ</displayName>
|
||||
@@ -6589,7 +6590,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} ካራት</unitPattern>
|
||||
<unitPattern count="other">{0} ካራት</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-milligram-ofglucose-per-deciliter">
|
||||
<unit type="concentr-milligram-per-deciliter">
|
||||
<displayName>ሚሊ ግራም በ ዴሲ ሊትር</displayName>
|
||||
<unitPattern count="one">{0} mg/dL</unitPattern>
|
||||
<unitPattern count="other">{0} mg/dL</unitPattern>
|
||||
@@ -7022,9 +7023,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} mg</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-microgram">
|
||||
<displayName>μg</displayName>
|
||||
<unitPattern count="one">{0} μg</unitPattern>
|
||||
<unitPattern count="other">{0} μg</unitPattern>
|
||||
<displayName>µg</displayName>
|
||||
<unitPattern count="one">{0} µg</unitPattern>
|
||||
<unitPattern count="other">{0} µg</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-ton">
|
||||
<displayName>ቶን</displayName>
|
||||
@@ -7397,7 +7398,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPrefixPattern>ሚ{0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p-6">
|
||||
<unitPrefixPattern>μ{0}</unitPrefixPattern>
|
||||
<unitPrefixPattern>µ{0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p-9">
|
||||
<unitPrefixPattern>ና{0}</unitPrefixPattern>
|
||||
@@ -7545,7 +7546,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} ካራት</unitPattern>
|
||||
<unitPattern count="other">{0} ካራት</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-milligram-ofglucose-per-deciliter">
|
||||
<unit type="concentr-milligram-per-deciliter">
|
||||
<displayName>mg/dL</displayName>
|
||||
<unitPattern count="one">{0} mg/dL</unitPattern>
|
||||
<unitPattern count="other">{0} mg/dL</unitPattern>
|
||||
@@ -7973,9 +7974,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} mg</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-microgram">
|
||||
<displayName>μg</displayName>
|
||||
<unitPattern count="one">{0} μg</unitPattern>
|
||||
<unitPattern count="other">{0} μg</unitPattern>
|
||||
<displayName>µg</displayName>
|
||||
<unitPattern count="one">{0} µg</unitPattern>
|
||||
<unitPattern count="other">{0} µg</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-ton">
|
||||
<displayName>ቶን</displayName>
|
||||
@@ -8337,7 +8338,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPrefixPattern>ሚ{0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p-6">
|
||||
<unitPrefixPattern>μ{0}</unitPrefixPattern>
|
||||
<unitPrefixPattern>µ{0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p-9">
|
||||
<unitPrefixPattern>ና{0}</unitPrefixPattern>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
@@ -420,6 +420,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="ro_MD">المولدوفية</language>
|
||||
<language type="rof">الرومبو</language>
|
||||
<language type="rom">الغجرية</language>
|
||||
<language type="root">الجذر</language>
|
||||
<language type="ru">الروسية</language>
|
||||
<language type="rup">الأرومانيان</language>
|
||||
<language type="rw">الكينيارواندا</language>
|
||||
@@ -3662,6 +3663,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Santa_Isabel">
|
||||
<exemplarCity>سانتا إيزابيل</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Honolulu">
|
||||
<exemplarCity>هونولولو</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Etc/UTC">
|
||||
<long>
|
||||
<standard>التوقيت العالمي المنسق</standard>
|
||||
@@ -3781,12 +3785,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Australia/Broken_Hill">
|
||||
<exemplarCity>بروكن هيل</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Melbourne">
|
||||
<exemplarCity>ميلبورن</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Currie">
|
||||
<exemplarCity>كوري</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Melbourne">
|
||||
<exemplarCity>ميلبورن</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Australia/Hobart">
|
||||
<exemplarCity>هوبارت</exemplarCity>
|
||||
</zone>
|
||||
@@ -4819,9 +4823,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Nome">
|
||||
<exemplarCity>نوم</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Honolulu">
|
||||
<exemplarCity>هونولولو</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Johnston">
|
||||
<exemplarCity>جونستون</exemplarCity>
|
||||
</zone>
|
||||
@@ -8354,7 +8355,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<displayName count="few">فرنك غرب أفريقي</displayName>
|
||||
<displayName count="many">فرنك غرب أفريقي</displayName>
|
||||
<displayName count="other">فرنك غرب أفريقي</displayName>
|
||||
<symbol draft="contributed">F CFA</symbol>
|
||||
<symbol draft="contributed">CFA</symbol>
|
||||
</currency>
|
||||
<currency type="XPD">
|
||||
<displayName>بالاديوم</displayName>
|
||||
@@ -8769,7 +8770,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="many">{0} قيراطًا</unitPattern>
|
||||
<unitPattern count="other">{0} قيراط</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-milligram-ofglucose-per-deciliter">
|
||||
<unit type="concentr-milligram-per-deciliter">
|
||||
<displayName>مغم/ديسيبل</displayName>
|
||||
<unitPattern count="zero">{0} مغم/ديسيبل</unitPattern>
|
||||
<unitPattern count="one">{0} مغم/ديسيبل</unitPattern>
|
||||
@@ -10505,7 +10506,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="many">{0} قيراط</unitPattern>
|
||||
<unitPattern count="other">{0} قيراط</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-milligram-ofglucose-per-deciliter">
|
||||
<unit type="concentr-milligram-per-deciliter">
|
||||
<displayName>مغم/ديسبل</displayName>
|
||||
<unitPattern count="zero">{0} مغم/ديسبل</unitPattern>
|
||||
<unitPattern count="one">{0} مغم/ديسبل</unitPattern>
|
||||
@@ -10623,13 +10624,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} تيرابت</unitPattern>
|
||||
</unit>
|
||||
<unit type="digital-gigabyte">
|
||||
<displayName>GB</displayName>
|
||||
<unitPattern count="zero">{0} GB</unitPattern>
|
||||
<unitPattern count="one">{0} GB</unitPattern>
|
||||
<unitPattern count="two">{0} GB</unitPattern>
|
||||
<unitPattern count="few">{0} GB</unitPattern>
|
||||
<unitPattern count="many">{0} GB</unitPattern>
|
||||
<unitPattern count="other">{0} GB</unitPattern>
|
||||
<displayName>غيغابايت</displayName>
|
||||
<unitPattern count="zero">{0} غيغابايت</unitPattern>
|
||||
<unitPattern count="one">{0} غيغابايت</unitPattern>
|
||||
<unitPattern count="two">{0} غيغابايت</unitPattern>
|
||||
<unitPattern count="few">{0} غيغابايت</unitPattern>
|
||||
<unitPattern count="many">{0} غيغابايت</unitPattern>
|
||||
<unitPattern count="other">{0} غيغابايت</unitPattern>
|
||||
</unit>
|
||||
<unit type="digital-gigabit">
|
||||
<displayName>غيغابت</displayName>
|
||||
@@ -10642,12 +10643,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</unit>
|
||||
<unit type="digital-megabyte">
|
||||
<displayName>ميغابايت</displayName>
|
||||
<unitPattern count="zero">{0} MB</unitPattern>
|
||||
<unitPattern count="one">{0} MB</unitPattern>
|
||||
<unitPattern count="two">{0} MB</unitPattern>
|
||||
<unitPattern count="few">{0} MB</unitPattern>
|
||||
<unitPattern count="many">{0} MB</unitPattern>
|
||||
<unitPattern count="other">{0} MB</unitPattern>
|
||||
<unitPattern count="zero">{0} ميغابايت</unitPattern>
|
||||
<unitPattern count="one">{0} ميغابايت</unitPattern>
|
||||
<unitPattern count="two">{0} ميغابايت</unitPattern>
|
||||
<unitPattern count="few">{0} ميغابايت</unitPattern>
|
||||
<unitPattern count="many">{0} ميغابايت</unitPattern>
|
||||
<unitPattern count="other">{0} ميغابايت</unitPattern>
|
||||
</unit>
|
||||
<unit type="digital-megabit">
|
||||
<displayName>ميغابت</displayName>
|
||||
@@ -11029,7 +11030,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<displayName>نقطة/سم</displayName>
|
||||
<unitPattern count="zero">{0} نقطة/سم</unitPattern>
|
||||
<unitPattern count="one">{0} نقطة/سم</unitPattern>
|
||||
<unitPattern count="two">{0} بكسل/سم</unitPattern>
|
||||
<unitPattern count="two">{0} نقطة/سم</unitPattern>
|
||||
<unitPattern count="few">{0} نقاط/سم</unitPattern>
|
||||
<unitPattern count="many">{0} نقطة/سم</unitPattern>
|
||||
<unitPattern count="other">{0} نقطة/سم</unitPattern>
|
||||
@@ -11038,7 +11039,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<displayName>نقطة لكل بوصة</displayName>
|
||||
<unitPattern count="zero">{0} نقطة/بوصة</unitPattern>
|
||||
<unitPattern count="one">{0} نقطة/بوصة</unitPattern>
|
||||
<unitPattern count="two">{0} بكسل/بوصة</unitPattern>
|
||||
<unitPattern count="two">{0} نقطة/بوصة</unitPattern>
|
||||
<unitPattern count="few">{0} نقاط/بوصة</unitPattern>
|
||||
<unitPattern count="many">{0} نقطة/بوصة</unitPattern>
|
||||
<unitPattern count="other">{0} نقطة/بوصة</unitPattern>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE ldml SYSTEM "../../common/dtd/ldml.dtd">
|
||||
<!-- Copyright © 1991-2021 Unicode, Inc.
|
||||
<!-- Copyright © 1991-2020 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user