Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e5d7497dd5 |
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2024, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -59,7 +59,7 @@ on:
|
||||
jobs:
|
||||
build-linux:
|
||||
name: build
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-22.04
|
||||
container:
|
||||
image: alpine:3.20
|
||||
|
||||
@@ -96,8 +96,6 @@ jobs:
|
||||
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
|
||||
--with-zlib=system
|
||||
--with-jmod-compress=zip-1
|
||||
--with-external-symbols-in-bundles=none
|
||||
--with-native-debug-symbols-level=1
|
||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||
echo "Dumping config.log:" &&
|
||||
cat config.log &&
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -48,7 +48,7 @@ on:
|
||||
jobs:
|
||||
build-cross-compile:
|
||||
name: build
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -179,8 +179,6 @@ jobs:
|
||||
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
|
||||
--with-sysroot=sysroot
|
||||
--with-jmod-compress=zip-1
|
||||
--with-external-symbols-in-bundles=none
|
||||
--with-native-debug-symbols-level=1
|
||||
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
|
||||
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
|
||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -75,7 +75,7 @@ on:
|
||||
jobs:
|
||||
build-linux:
|
||||
name: build
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -115,21 +115,9 @@ jobs:
|
||||
if [[ '${{ inputs.apt-architecture }}' != '' ]]; then
|
||||
sudo dpkg --add-architecture ${{ inputs.apt-architecture }}
|
||||
fi
|
||||
sudo apt update
|
||||
sudo apt install --only-upgrade apt
|
||||
sudo apt install \
|
||||
gcc-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} \
|
||||
g++-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} \
|
||||
libasound2-dev${{ steps.arch.outputs.suffix }} \
|
||||
libcups2-dev${{ steps.arch.outputs.suffix }} \
|
||||
libfontconfig1-dev${{ steps.arch.outputs.suffix }} \
|
||||
libx11-dev${{ steps.arch.outputs.suffix }} \
|
||||
libxext-dev${{ steps.arch.outputs.suffix }} \
|
||||
libxrandr-dev${{ steps.arch.outputs.suffix }} \
|
||||
libxrender-dev${{ steps.arch.outputs.suffix }} \
|
||||
libxt-dev${{ steps.arch.outputs.suffix }} \
|
||||
libxtst-dev${{ steps.arch.outputs.suffix }} \
|
||||
${{ inputs.apt-extra-packages }}
|
||||
sudo apt-get update
|
||||
sudo apt-get install --only-upgrade apt
|
||||
sudo apt-get install gcc-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} g++-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }} libxrandr-dev${{ steps.arch.outputs.suffix }} libxtst-dev${{ steps.arch.outputs.suffix }} libcups2-dev${{ steps.arch.outputs.suffix }} libasound2-dev${{ steps.arch.outputs.suffix }} ${{ inputs.apt-extra-packages }}
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
|
||||
|
||||
- name: 'Configure'
|
||||
@@ -143,8 +131,6 @@ jobs:
|
||||
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||
--with-zlib=system
|
||||
--with-jmod-compress=zip-1
|
||||
--with-external-symbols-in-bundles=none
|
||||
--with-native-debug-symbols-level=1
|
||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||
echo "Dumping config.log:" &&
|
||||
cat config.log &&
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -110,8 +110,6 @@ jobs:
|
||||
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||
--with-zlib=system
|
||||
--with-jmod-compress=zip-1
|
||||
--with-external-symbols-in-bundles=none
|
||||
--with-native-debug-symbols-level=1
|
||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||
echo "Dumping config.log:" &&
|
||||
cat config.log &&
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -134,7 +134,6 @@ jobs:
|
||||
--with-gtest=${{ steps.gtest.outputs.path }}
|
||||
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
|
||||
--with-jmod-compress=zip-1
|
||||
--with-external-symbols-in-bundles=none
|
||||
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
|
||||
echo "Dumping config.log:" &&
|
||||
cat config.log &&
|
||||
|
||||
+10
-10
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -57,7 +57,7 @@ jobs:
|
||||
|
||||
prepare:
|
||||
name: 'Prepare the run'
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
# List of platforms to exclude by default
|
||||
EXCLUDED_PLATFORMS: 'alpine-linux-x64'
|
||||
@@ -327,8 +327,8 @@ jobs:
|
||||
uses: ./.github/workflows/build-macos.yml
|
||||
with:
|
||||
platform: macos-x64
|
||||
runs-on: 'macos-15-intel'
|
||||
xcode-toolset-version: '16.4'
|
||||
runs-on: 'macos-13'
|
||||
xcode-toolset-version: '14.3.1'
|
||||
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
@@ -340,8 +340,8 @@ jobs:
|
||||
uses: ./.github/workflows/build-macos.yml
|
||||
with:
|
||||
platform: macos-aarch64
|
||||
runs-on: 'macos-15'
|
||||
xcode-toolset-version: '16.4'
|
||||
runs-on: 'macos-14'
|
||||
xcode-toolset-version: '15.4'
|
||||
configure-arguments: ${{ github.event.inputs.configure-arguments }}
|
||||
make-arguments: ${{ github.event.inputs.make-arguments }}
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
@@ -405,7 +405,7 @@ jobs:
|
||||
with:
|
||||
platform: linux-x64
|
||||
bootjdk-platform: linux-x64
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-22.04
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
debug-suffix: -debug
|
||||
|
||||
@@ -419,7 +419,7 @@ jobs:
|
||||
with:
|
||||
platform: linux-x64
|
||||
bootjdk-platform: linux-x64
|
||||
runs-on: ubuntu-24.04
|
||||
runs-on: ubuntu-22.04
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
static-suffix: "-static"
|
||||
|
||||
@@ -432,9 +432,9 @@ jobs:
|
||||
with:
|
||||
platform: macos-aarch64
|
||||
bootjdk-platform: macos-aarch64
|
||||
runs-on: macos-15
|
||||
runs-on: macos-14
|
||||
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
|
||||
xcode-toolset-version: '16.4'
|
||||
xcode-toolset-version: '15.4'
|
||||
debug-suffix: -debug
|
||||
|
||||
test-windows-x64:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -25,9 +25,3 @@ NashornProfile.txt
|
||||
**/core.[0-9]*
|
||||
*.rej
|
||||
*.orig
|
||||
test/benchmarks/**/target
|
||||
/src/hotspot/CMakeLists.txt
|
||||
/src/hotspot/compile_commands.json
|
||||
/src/hotspot/cmake-build-debug/
|
||||
/src/hotspot/.cache/
|
||||
/src/hotspot/.idea/
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
[general]
|
||||
project=jdk
|
||||
jbs=JDK
|
||||
version=27
|
||||
version=26
|
||||
|
||||
[checks]
|
||||
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists,copyright
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Welcome to the JDK!
|
||||
|
||||
For build instructions please see the
|
||||
[online documentation](https://git.openjdk.org/jdk/blob/master/doc/building.md),
|
||||
[online documentation](https://openjdk.org/groups/build/doc/building.html),
|
||||
or either of these files:
|
||||
|
||||
- [doc/building.html](doc/building.html) (html version)
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
#
|
||||
# Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
src/bsd : jdk/src/bsd
|
||||
src/demo : jdk/src/demo
|
||||
src/java.activation : jaxws/src/java.activation
|
||||
src/java.base : jdk/src/java.base
|
||||
src/java.compiler : langtools/src/java.compiler
|
||||
src/java.corba : corba/src/java.corba
|
||||
src/java.datatransfer : jdk/src/java.datatransfer
|
||||
src/java.desktop : jdk/src/java.desktop
|
||||
src/java.instrument : jdk/src/java.instrument
|
||||
src/java.logging : jdk/src/java.logging
|
||||
src/java.management : jdk/src/java.management
|
||||
src/java.management.rmi : jdk/src/java.management.rmi
|
||||
src/java.naming : jdk/src/java.naming
|
||||
src/java.prefs : jdk/src/java.prefs
|
||||
src/java.rmi : jdk/src/java.rmi
|
||||
src/java.scripting : jdk/src/java.scripting
|
||||
src/java.se : jdk/src/java.se
|
||||
src/java.security.jgss : jdk/src/java.security.jgss
|
||||
src/java.security.sasl : jdk/src/java.security.sasl
|
||||
src/java.se.ee : jdk/src/java.se.ee
|
||||
src/java.smartcardio : jdk/src/java.smartcardio
|
||||
src/java.sql : jdk/src/java.sql
|
||||
src/java.sql.rowset : jdk/src/java.sql.rowset
|
||||
src/java.transaction : jdk/src/java.transaction
|
||||
src/java.xml : jaxp/src/java.xml
|
||||
src/java.xml.bind : jaxws/src/java.xml.bind
|
||||
src/java.xml.crypto : jdk/src/java.xml.crypto
|
||||
src/java.xml.ws : jaxws/src/java.xml.ws
|
||||
src/java.xml.ws.annotation : jaxws/src/java.xml.ws.annotation
|
||||
src/jdk.accessibility : jdk/src/jdk.accessibility
|
||||
src/jdk.aot : hotspot/src/jdk.aot
|
||||
src/jdk.attach : jdk/src/jdk.attach
|
||||
src/jdk.charsets : jdk/src/jdk.charsets
|
||||
src/jdk.compiler : jdk/src/jdk.compiler langtools/src/jdk.compiler
|
||||
src/jdk.crypto.cryptoki : jdk/src/jdk.crypto.cryptoki
|
||||
src/jdk.crypto.ec : jdk/src/jdk.crypto.ec
|
||||
src/jdk.crypto.mscapi : jdk/src/jdk.crypto.mscapi
|
||||
src/jdk.dynalink : nashorn/src/jdk.dynalink
|
||||
src/jdk.editpad : jdk/src/jdk.editpad
|
||||
src/jdk.hotspot.agent : hotspot/src/jdk.hotspot.agent
|
||||
src/jdk.httpserver : jdk/src/jdk.httpserver
|
||||
src/jdk.incubator.httpclient : jdk/src/jdk.incubator.httpclient
|
||||
src/jdk.internal.ed : jdk/src/jdk.internal.ed
|
||||
src/jdk.internal.jvmstat : jdk/src/jdk.internal.jvmstat
|
||||
src/jdk.internal.le : jdk/src/jdk.internal.le
|
||||
src/jdk.internal.opt : jdk/src/jdk.internal.opt
|
||||
src/jdk.internal.vm.ci : hotspot/src/jdk.internal.vm.ci
|
||||
src/jdk.internal.vm.compiler : hotspot/src/jdk.internal.vm.compiler
|
||||
src/jdk.jartool : jdk/src/jdk.jartool
|
||||
src/jdk.javadoc : langtools/src/jdk.javadoc
|
||||
src/jdk.jcmd : jdk/src/jdk.jcmd
|
||||
src/jdk.jconsole : jdk/src/jdk.jconsole
|
||||
src/jdk.jdeps : langtools/src/jdk.jdeps
|
||||
src/jdk.jdi : jdk/src/jdk.jdi
|
||||
src/jdk.jdwp.agent : jdk/src/jdk.jdwp.agent
|
||||
src/jdk.jlink : jdk/src/jdk.jlink
|
||||
src/jdk.jshell : langtools/src/jdk.jshell
|
||||
src/jdk.jstatd : jdk/src/jdk.jstatd
|
||||
src/jdk.localedata : jdk/src/jdk.localedata
|
||||
src/jdk.management : jdk/src/jdk.management
|
||||
src/jdk.management.agent : jdk/src/jdk.management.agent
|
||||
src/jdk.naming.dns : jdk/src/jdk.naming.dns
|
||||
src/jdk.naming.rmi : jdk/src/jdk.naming.rmi
|
||||
src/jdk.net : jdk/src/jdk.net
|
||||
src/jdk.pack : jdk/src/jdk.pack
|
||||
src/jdk.scripting.nashorn : nashorn/src/jdk.scripting.nashorn
|
||||
src/jdk.scripting.nashorn.shell : nashorn/src/jdk.scripting.nashorn.shell
|
||||
src/jdk.sctp : jdk/src/jdk.sctp
|
||||
src/jdk.security.auth : jdk/src/jdk.security.auth
|
||||
src/jdk.security.jgss : jdk/src/jdk.security.jgss
|
||||
src/jdk.unsupported : jdk/src/jdk.unsupported
|
||||
src/jdk.xml.bind : jaxws/src/jdk.xml.bind
|
||||
src/jdk.xml.dom : jaxp/src/jdk.xml.dom
|
||||
src/jdk.xml.ws : jaxws/src/jdk.xml.ws
|
||||
src/jdk.zipfs : jdk/src/jdk.zipfs
|
||||
src/langtools/sample : langtools/src/sample
|
||||
src/linux : jdk/src/linux
|
||||
src/sample : jdk/src/sample
|
||||
src/hotspot/share : hotspot/src/share/vm
|
||||
src/hotspot/cpu/aarch64 : hotspot/src/cpu/aarch64/vm
|
||||
src/hotspot/cpu/arm : hotspot/src/cpu/arm/vm
|
||||
src/hotspot/cpu/ppc : hotspot/src/cpu/ppc/vm
|
||||
src/hotspot/cpu/s390 : hotspot/src/cpu/s390/vm
|
||||
src/hotspot/cpu/x86 : hotspot/src/cpu/x86/vm
|
||||
src/hotspot/cpu/zero : hotspot/src/cpu/zero/vm
|
||||
src/hotspot/os/aix : hotspot/src/os/aix/vm
|
||||
src/hotspot/os/bsd : hotspot/src/os/bsd/vm
|
||||
src/hotspot/os/linux : hotspot/src/os/linux/vm
|
||||
src/hotspot/os/posix/dtrace : hotspot/src/os/posix/dtrace
|
||||
src/hotspot/os/posix : hotspot/src/os/posix/vm
|
||||
src/hotspot/os/windows : hotspot/src/os/windows/vm
|
||||
src/hotspot/os_cpu/aix_ppc : hotspot/src/os_cpu/aix_ppc/vm
|
||||
src/hotspot/os_cpu/bsd_x86 : hotspot/src/os_cpu/bsd_x86/vm
|
||||
src/hotspot/os_cpu/bsd_zero : hotspot/src/os_cpu/bsd_zero/vm
|
||||
src/hotspot/os_cpu/linux_aarch64 : hotspot/src/os_cpu/linux_aarch64/vm
|
||||
src/hotspot/os_cpu/linux_arm : hotspot/src/os_cpu/linux_arm/vm
|
||||
src/hotspot/os_cpu/linux_ppc : hotspot/src/os_cpu/linux_ppc/vm
|
||||
src/hotspot/os_cpu/linux_s390 : hotspot/src/os_cpu/linux_s390/vm
|
||||
src/hotspot/os_cpu/linux_x86 : hotspot/src/os_cpu/linux_x86/vm
|
||||
src/hotspot/os_cpu/linux_zero : hotspot/src/os_cpu/linux_zero/vm
|
||||
src/hotspot/os_cpu/windows_x86 : hotspot/src/os_cpu/windows_x86/vm
|
||||
src/hotspot : hotspot/src
|
||||
src/utils/IdealGraphVisualizer : hotspot/src/share/tools/IdealGraphVisualizer
|
||||
src/utils/LogCompilation : hotspot/src/share/tools/LogCompilation
|
||||
src/utils/hsdis : hotspot/src/share/tools/hsdis
|
||||
src/utils/reorder : jdk/make/non-build-utils/reorder
|
||||
src/utils/src/build : jdk/make/non-build-utils/src/build
|
||||
make/BuildNashorn.gmk : nashorn/make/BuildNashorn.gmk
|
||||
make/CompileDemos.gmk : jdk/make/CompileDemos.gmk
|
||||
make/CompileInterimLangtools.gmk : langtools/make/CompileInterim.gmk
|
||||
make/CompileModuleTools.gmk : jdk/make/CompileModuleTools.gmk
|
||||
make/CompileToolsHotspot.gmk : hotspot/make/CompileTools.gmk
|
||||
make/CompileToolsJdk.gmk : jdk/make/CompileTools.gmk
|
||||
make/CopyInterimCLDRConverter.gmk : jdk/make/CopyInterimCLDRConverter.gmk
|
||||
make/GenerateModuleSummary.gmk : jdk/make/GenerateModuleSummary.gmk
|
||||
make/ModuleTools.gmk : jdk/make/ModuleTools.gmk
|
||||
make/ToolsJdk.gmk : jdk/make/Tools.gmk
|
||||
make/ToolsLangtools.gmk : langtools/make/Tools.gmk
|
||||
make/UnpackSecurity.gmk : jdk/make/UnpackSecurity.gmk
|
||||
make/autoconf : common/autoconf
|
||||
make/conf : common/conf
|
||||
make/copy : jdk/make/copy
|
||||
make/copy/Copy-java.corba.gmk : corba/make/copy/Copy-java.corba.gmk
|
||||
make/corba : corba/make
|
||||
make/data : jdk/make/data
|
||||
make/gendata : jdk/make/gendata
|
||||
make/gendata/Gendata-jdk.compiler.gmk : langtools/make/gendata/Gendata-jdk.compiler.gmk
|
||||
make/gensrc : jdk/make/gensrc
|
||||
make/gensrc/Gensrc-java.corba.gmk : corba/make/gensrc/Gensrc-java.corba.gmk
|
||||
make/gensrc/Gensrc-jdk.compiler.gmk : langtools/make/gensrc/Gensrc-jdk.compiler.gmk
|
||||
make/gensrc/Gensrc-jdk.hotspot.agent.gmk : hotspot/make/gensrc/Gensrc-jdk.hotspot.agent.gmk
|
||||
make/gensrc/Gensrc-jdk.internal.vm.compiler.gmk : hotspot/make/gensrc/Gensrc-jdk.internal.vm.compiler.gmk
|
||||
make/gensrc/Gensrc-jdk.javadoc.gmk : langtools/make/gensrc/Gensrc-jdk.javadoc.gmk
|
||||
make/gensrc/Gensrc-jdk.jdeps.gmk : langtools/make/gensrc/Gensrc-jdk.jdeps.gmk
|
||||
make/gensrc/Gensrc-jdk.jshell.gmk : langtools/make/gensrc/Gensrc-jdk.jshell.gmk
|
||||
make/gensrc/GensrcCommonLangtools.gmk : langtools/make/gensrc/GensrcCommon.gmk
|
||||
make/hotspot : hotspot/make
|
||||
make/jdk : jdk/make
|
||||
make/langtools : langtools/make
|
||||
make/launcher : jdk/make/launcher
|
||||
make/lib : jdk/make/lib
|
||||
make/lib/Lib-jdk.hotspot.agent.gmk : hotspot/make/lib/Lib-jdk.hotspot.agent.gmk
|
||||
make/mapfiles : jdk/make/mapfiles
|
||||
make/mapfiles/libjsig : hotspot/make/mapfiles/libjsig
|
||||
make/mapfiles/libjvm_db : hotspot/make/mapfiles/libjvm_db
|
||||
make/mapfiles/libjvm_dtrace : hotspot/make/mapfiles/libjvm_dtrace
|
||||
make/mapfiles/libsaproc : hotspot/make/mapfiles/libsaproc
|
||||
make/nashorn : nashorn/make
|
||||
make/nb_native : common/nb_native
|
||||
make/scripts/addNotices.sh : jdk/make/scripts/addNotices.sh
|
||||
make/scripts/compare.sh : common/bin/compare.sh
|
||||
make/scripts/compare_exceptions.sh.incl : common/bin/compare_exceptions.sh.incl
|
||||
make/scripts/genExceptions.sh : jdk/make/scripts/genExceptions.sh
|
||||
make/scripts/hide_important_warnings_from_javac.sh : common/bin/hide_important_warnings_from_javac.sh
|
||||
make/scripts/logger.sh : common/bin/logger.sh
|
||||
make/src/native/fixpath.c : common/src/fixpath.c
|
||||
make/test/JtregNativeHotspot.gmk : hotspot/make/test/JtregNative.gmk
|
||||
make/test/JtregNativeJdk.gmk : jdk/make/test/JtregNative.gmk
|
||||
test/jdk : jdk/test
|
||||
test/langtools : langtools/test
|
||||
test/nashorn : nashorn/test
|
||||
test/jaxp : jaxp/test
|
||||
test/hotspot/gtest : hotspot/test/native
|
||||
test/hotspot/jtreg : hotspot/test
|
||||
bin : common/bin
|
||||
bin/nashorn : nashorn/bin
|
||||
doc : common/doc
|
||||
doc/nashorn : nashorn/docs
|
||||
@@ -0,0 +1,237 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
# Script for updating a patch file as per the shuffled/unshuffled source location.
|
||||
|
||||
usage() {
|
||||
echo "Usage: $0 [-h|--help] [-v|--verbose] [-to9|-to10] [-r <repo>] <input_patch> <output_patch>"
|
||||
echo "where:"
|
||||
echo " -to9 create patches appropriate for a JDK 9 source tree"
|
||||
echo " When going to 9, the output patches will be suffixed with the"
|
||||
echo " repo name"
|
||||
echo " -to10 create patches appropriate for a JDK 10 source tree"
|
||||
echo " -r <repo> specify repo for source patch, set to 'top' for top repo"
|
||||
echo " <input_patch> is the input patch file, that needs shuffling/unshuffling"
|
||||
echo " <output_patch> is the updated patch file "
|
||||
echo " "
|
||||
exit 1
|
||||
}
|
||||
|
||||
SCRIPT_DIR=`dirname $0`
|
||||
UNSHUFFLE_LIST=$SCRIPT_DIR"/unshuffle_list.txt"
|
||||
|
||||
if [ ! -f "$UNSHUFFLE_LIST" ] ; then
|
||||
echo "FATAL: cannot find $UNSHUFFLE_LIST" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
vflag="false"
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
case $1 in
|
||||
-h | --help )
|
||||
usage
|
||||
;;
|
||||
|
||||
-v | --verbose )
|
||||
vflag="true"
|
||||
;;
|
||||
|
||||
-r)
|
||||
repo="$2"
|
||||
shift
|
||||
;;
|
||||
|
||||
-to9)
|
||||
shuffle_to=9
|
||||
;;
|
||||
|
||||
-to10)
|
||||
shuffle_to=10
|
||||
;;
|
||||
|
||||
-*) # bad option
|
||||
usage
|
||||
;;
|
||||
|
||||
* ) # non option
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Make sure we have the right number of arguments
|
||||
if [ ! $# -eq 2 ] ; then
|
||||
echo "ERROR: Invalid number of arguments." >&2
|
||||
usage
|
||||
fi
|
||||
|
||||
# Check the given repo
|
||||
repos="top corba jaxp jaxws jdk langtools nashorn hotspot"
|
||||
found="false"
|
||||
if [ -n "$repo" ]; then
|
||||
for r in $repos ; do
|
||||
if [ $repo = "$r" ] ; then
|
||||
found="true"
|
||||
break;
|
||||
fi
|
||||
done
|
||||
if [ $found = "false" ] ; then
|
||||
echo "ERROR: Unknown repo: $repo. Should be one of [$repos]." >&2
|
||||
usage
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$shuffle_to" != "9" -a "$shuffle_to" != "10" ]; then
|
||||
echo "ERROR: Must pick either -to9 or -to10"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# When going to 10, a repo must be specified for the source patch
|
||||
if [ "$shuffle_to" = "10" -a -z "$repo" ]; then
|
||||
echo "ERROR: Must specify src repo for JDK 9 patch"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check given input/output files
|
||||
input="$1"
|
||||
if [ "x$input" = "x-" ] ; then
|
||||
input="/dev/stdin"
|
||||
fi
|
||||
|
||||
if [ ! -f $input -a "x$input" != "x/dev/stdin" ] ; then
|
||||
echo "ERROR: Cannot find input patch file: $input" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
output="$2"
|
||||
if [ "x$output" = "x-" ] ; then
|
||||
output="/dev/stdout"
|
||||
fi
|
||||
base_output="$output"
|
||||
|
||||
if [ "$shuffle_to" = "10" ]; then
|
||||
if [ -f $output -a "x$output" != "x/dev/stdout" ] ; then
|
||||
echo "ERROR: Output patch already exists: $output" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
for r in $repos; do
|
||||
if [ -f "$output.$r" ]; then
|
||||
echo "ERROR: Output patch already exists: $output.$r" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
verbose() {
|
||||
if [ ${vflag} = "true" ] ; then
|
||||
echo "$@" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
unshuffle() {
|
||||
line=$@
|
||||
verbose "Attempting to rewrite: \"$line\""
|
||||
|
||||
# Retrieve the file name
|
||||
path=
|
||||
if echo "$line" | egrep '^diff' > /dev/null ; then
|
||||
if ! echo "$line" | egrep '\-\-git' > /dev/null ; then
|
||||
echo "ERROR: Only git patches supported. Please use 'hg export --git ...'." >&2
|
||||
exit 1
|
||||
fi
|
||||
path="`echo "$line" | sed -e s@'diff --git a/'@@ -e s@' b/.*$'@@`"
|
||||
elif echo "$line" | egrep '^\-\-\-' > /dev/null ; then
|
||||
path="`echo "$line" | sed -e s@'--- a/'@@`"
|
||||
elif echo "$line" | egrep '^\+\+\+' > /dev/null ; then
|
||||
path="`echo "$line" | sed s@'+++ b/'@@`"
|
||||
fi
|
||||
verbose "Extracted path: \"$path\""
|
||||
|
||||
# Find the most specific matches in the shuffle list
|
||||
matches=
|
||||
if [ -n "$repo" -a "$repo" != "top" ]; then
|
||||
matchpath="$repo"/"$path"/x
|
||||
else
|
||||
matchpath="$path"/x
|
||||
fi
|
||||
while [ "$matchpath" != "" ] ; do
|
||||
matchpath="`echo $matchpath | sed s@'\(.*\)/.*$'@'\1'@`"
|
||||
|
||||
if [ "$shuffle_to" = "10" ] ; then
|
||||
pattern=": $matchpath$"
|
||||
else
|
||||
pattern="^$matchpath :"
|
||||
fi
|
||||
verbose "Attempting to find \"$matchpath\""
|
||||
matches=`egrep "$pattern" "$UNSHUFFLE_LIST"`
|
||||
if ! [ "x${matches}" = "x" ] ; then
|
||||
verbose "Got matches: [$matches]"
|
||||
break;
|
||||
fi
|
||||
|
||||
if ! echo "$matchpath" | egrep '.*/.*' > /dev/null ; then
|
||||
break;
|
||||
fi
|
||||
done
|
||||
|
||||
# Rewrite the line, if we have a match
|
||||
if ! [ "x${matches}" = "x" ] ; then
|
||||
shuffled="${matches%% : *}"
|
||||
unshuffled="${matches#* : }"
|
||||
patch_suffix_9=""
|
||||
for r in $repos; do
|
||||
if [ "$unshuffled" != "${unshuffled#$r}" ]; then
|
||||
unshuffled="${unshuffled#$r\/}"
|
||||
patch_suffix_9=".$r"
|
||||
fi
|
||||
done
|
||||
verbose "shuffled: $shuffled"
|
||||
verbose "unshuffled: $unshuffled"
|
||||
verbose "patch_suffix_9: $patch_suffix_9"
|
||||
if [ "$shuffle_to" = "10" ] ; then
|
||||
newline="`echo "$line" | sed -e s@"$unshuffled"@"$shuffled"@g`"
|
||||
else
|
||||
newline="`echo "$line" | sed -e s@"$shuffled"@"$unshuffled"@g`"
|
||||
output=$base_output$patch_suffix_9
|
||||
verbose "Writing to $output"
|
||||
fi
|
||||
verbose "Rewriting to \"$newline\""
|
||||
echo "$newline" >> $output
|
||||
else
|
||||
echo "WARNING: no match found for $path"
|
||||
echo "$line" >> $output
|
||||
fi
|
||||
}
|
||||
|
||||
while IFS= read -r line
|
||||
do
|
||||
if echo "$line" | egrep '^diff|^\-\-\-|^\+\+\+' > /dev/null ; then
|
||||
unshuffle "$line"
|
||||
else
|
||||
printf "%s\n" "$line" >> $output
|
||||
fi
|
||||
done < "$input"
|
||||
+5
-9
@@ -541,11 +541,6 @@ href="#apple-xcode">Apple Xcode</a> on some strategies to deal with
|
||||
this.</p>
|
||||
<p>It is recommended that you use at least macOS 14 and Xcode 15.4, but
|
||||
earlier versions may also work.</p>
|
||||
<p>Starting with Xcode 26, introduced in macOS 26, the Metal toolchain
|
||||
no longer comes bundled with Xcode, so it needs to be installed
|
||||
separately. This can either be done via the Xcode's Settings/Components
|
||||
UI, or in the command line calling
|
||||
<code>xcodebuild -downloadComponent metalToolchain</code>.</p>
|
||||
<p>The standard macOS environment contains the basic tooling needed to
|
||||
build, but for external libraries a package manager is recommended. The
|
||||
JDK uses <a href="https://brew.sh/">homebrew</a> in the examples, but
|
||||
@@ -673,7 +668,7 @@ update.</p>
|
||||
(Note that this version is often presented as "MSVC 14.28", and reported
|
||||
by cl.exe as 19.28.) Older versions will not be accepted by
|
||||
<code>configure</code> and will not work. The maximum accepted version
|
||||
of Visual Studio is 2026.</p>
|
||||
of Visual Studio is 2022.</p>
|
||||
<p>If you have multiple versions of Visual Studio installed,
|
||||
<code>configure</code> will by default pick the latest. You can request
|
||||
a specific version to be used by setting
|
||||
@@ -1385,9 +1380,10 @@ dpkg-deb -x /tmp/libasound2-dev_1.0.25-4_armhf.deb .</code></pre></li>
|
||||
can specify it by <code>--with-alsa</code>.</p></li>
|
||||
</ul>
|
||||
<h4 id="x11-1">X11</h4>
|
||||
<p>When not building a headless JDK, you will need X11 libraries
|
||||
suitable for your <em>target</em> system. In most cases, using Debian's
|
||||
pre-built libraries work fine.</p>
|
||||
<p>You will need X11 libraries suitable for your <em>target</em> system.
|
||||
In most cases, using Debian's pre-built libraries work fine.</p>
|
||||
<p>Note that X11 is needed even if you only want to build a headless
|
||||
JDK.</p>
|
||||
<ul>
|
||||
<li><p>Go to <a href="https://www.debian.org/distrib/packages">Debian
|
||||
Package Search</a>, search for the following packages for your
|
||||
|
||||
+5
-8
@@ -352,11 +352,6 @@ on some strategies to deal with this.
|
||||
It is recommended that you use at least macOS 14 and Xcode 15.4, but
|
||||
earlier versions may also work.
|
||||
|
||||
Starting with Xcode 26, introduced in macOS 26, the Metal toolchain no longer
|
||||
comes bundled with Xcode, so it needs to be installed separately. This can
|
||||
either be done via the Xcode's Settings/Components UI, or in the command line
|
||||
calling `xcodebuild -downloadComponent metalToolchain`.
|
||||
|
||||
The standard macOS environment contains the basic tooling needed to build, but
|
||||
for external libraries a package manager is recommended. The JDK uses
|
||||
[homebrew](https://brew.sh/) in the examples, but feel free to use whatever
|
||||
@@ -473,7 +468,7 @@ available for this update.
|
||||
The minimum accepted version is Visual Studio 2019 version 16.8. (Note that
|
||||
this version is often presented as "MSVC 14.28", and reported by cl.exe as
|
||||
19.28.) Older versions will not be accepted by `configure` and will not work.
|
||||
The maximum accepted version of Visual Studio is 2026.
|
||||
The maximum accepted version of Visual Studio is 2022.
|
||||
|
||||
If you have multiple versions of Visual Studio installed, `configure` will by
|
||||
default pick the latest. You can request a specific version to be used by
|
||||
@@ -1178,8 +1173,10 @@ Note that alsa is needed even if you only want to build a headless JDK.
|
||||
|
||||
#### X11
|
||||
|
||||
When not building a headless JDK, you will need X11 libraries suitable for your
|
||||
*target* system. In most cases, using Debian's pre-built libraries work fine.
|
||||
You will need X11 libraries suitable for your *target* system. In most cases,
|
||||
using Debian's pre-built libraries work fine.
|
||||
|
||||
Note that X11 is needed even if you only want to build a headless JDK.
|
||||
|
||||
* Go to [Debian Package Search](https://www.debian.org/distrib/packages),
|
||||
search for the following packages for your *target* system, and download them
|
||||
|
||||
+78
-231
@@ -75,9 +75,6 @@ Standard Library</a></li>
|
||||
Deduction</a></li>
|
||||
<li><a href="#expression-sfinae" id="toc-expression-sfinae">Expression
|
||||
SFINAE</a></li>
|
||||
<li><a href="#trailing-return-type-syntax-for-functions"
|
||||
id="toc-trailing-return-type-syntax-for-functions">Trailing return type
|
||||
syntax for functions</a></li>
|
||||
<li><a href="#non-type-template-parameter-values"
|
||||
id="toc-non-type-template-parameter-values">Non-type template parameter
|
||||
values</a></li>
|
||||
@@ -86,9 +83,8 @@ values</a></li>
|
||||
<li><a href="#thread_local" id="toc-thread_local">thread_local</a></li>
|
||||
<li><a href="#nullptr" id="toc-nullptr">nullptr</a></li>
|
||||
<li><a href="#atomic" id="toc-atomic"><atomic></a></li>
|
||||
<li><a href="#variable-templates-and-inline-variables"
|
||||
id="toc-variable-templates-and-inline-variables">Variable Templates and
|
||||
Inline Variables</a></li>
|
||||
<li><a href="#inline-variables" id="toc-inline-variables">Inline
|
||||
Variables</a></li>
|
||||
<li><a href="#initializing-variables-with-static-storage-duration"
|
||||
id="toc-initializing-variables-with-static-storage-duration">Initializing
|
||||
variables with static storage duration</a></li>
|
||||
@@ -114,7 +110,7 @@ id="toc-compatibility-with-c11">Compatibility with C11</a></li>
|
||||
id="toc-additional-permitted-features">Additional Permitted
|
||||
Features</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#forbidden-features" id="toc-forbidden-features">Forbidden
|
||||
<li><a href="#excluded-features" id="toc-excluded-features">Excluded
|
||||
Features</a>
|
||||
<ul>
|
||||
<li><a href="#structured-bindings"
|
||||
@@ -123,8 +119,8 @@ id="toc-structured-bindings">Structured Bindings</a></li>
|
||||
System Library</a></li>
|
||||
<li><a href="#aggregate-extensions"
|
||||
id="toc-aggregate-extensions">Aggregate Extensions</a></li>
|
||||
<li><a href="#additional-forbidden-features"
|
||||
id="toc-additional-forbidden-features">Additional Forbidden
|
||||
<li><a href="#additional-excluded-features"
|
||||
id="toc-additional-excluded-features">Additional Excluded
|
||||
Features</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#undecided-features" id="toc-undecided-features">Undecided
|
||||
@@ -506,19 +502,19 @@ uses a subset. (Backports to JDK versions lacking support for more
|
||||
recent Standards must of course stick with the original C++98/03
|
||||
subset.)</p>
|
||||
<p>This section describes that subset. Features from the C++98/03
|
||||
language may be used unless explicitly forbidden here. Features from
|
||||
language may be used unless explicitly excluded here. Features from
|
||||
C++11, C++14, and C++17 may be explicitly permitted or explicitly
|
||||
forbidden, and discussed accordingly here. There is a third category,
|
||||
excluded, and discussed accordingly here. There is a third category,
|
||||
undecided features, about which HotSpot developers have not yet reached
|
||||
a consensus, or perhaps have not discussed at all. Use of these features
|
||||
is also forbidden.</p>
|
||||
is also excluded.</p>
|
||||
<p>(The use of some features may not be immediately obvious and may slip
|
||||
in anyway, since the compiler will accept them. The code review process
|
||||
is the main defense against this.)</p>
|
||||
<p>Some features are discussed in their own subsection, typically to
|
||||
provide more extensive discussion or rationale for limitations. Features
|
||||
that don't have their own subsection are listed in omnibus feature
|
||||
sections for permitted, forbidden, and undecided features.</p>
|
||||
sections for permitted, excluded, and undecided features.</p>
|
||||
<p>Lists of new features for C++11, C++14, and C++17, along with links
|
||||
to their descriptions, can be found in the online documentation for some
|
||||
of the compilers and libraries. The C++17 Standard is the definitive
|
||||
@@ -594,15 +590,14 @@ title="Runtime Type Information">RTTI</a> are deemed not worthwhile,
|
||||
given the alternatives.</p>
|
||||
<h3 id="memory-allocation">Memory Allocation</h3>
|
||||
<p>Do not use the standard global allocation and deallocation functions
|
||||
(global <code>operator new</code> and related functions), other than the
|
||||
non-allocating forms of those functions. Use of these functions by
|
||||
HotSpot code is disabled for some platforms.</p>
|
||||
(operator new and related functions). Use of these functions by HotSpot
|
||||
code is disabled for some platforms.</p>
|
||||
<p>Rationale: HotSpot often uses "resource" or "arena" allocation. Even
|
||||
where heap allocation is used, the standard global functions are avoided
|
||||
in favor of wrappers around <code>malloc</code> and <code>free</code>
|
||||
that support the JVM's Native Memory Tracking (NMT) feature. Typically,
|
||||
uses of the global <code>operator new</code> are inadvertent and
|
||||
therefore often associated with memory leaks.</p>
|
||||
in favor of wrappers around malloc and free that support the VM's Native
|
||||
Memory Tracking (NMT) feature. Typically, uses of the global operator
|
||||
new are inadvertent and therefore often associated with memory
|
||||
leaks.</p>
|
||||
<p>Native memory allocation failures are often treated as
|
||||
non-recoverable. The place where "out of memory" is (first) detected may
|
||||
be an innocent bystander, unrelated to the actual culprit.</p>
|
||||
@@ -649,39 +644,7 @@ for anonymous namespaces.</p>
|
||||
class="uri">https://sourceware.org/bugzilla/show_bug.cgi?id=16874</a><br>
|
||||
Bug for similar gdb problems.</p>
|
||||
<h3 id="c-standard-library">C++ Standard Library</h3>
|
||||
<p>Only curated parts of the C++ Standard Library may be used by HotSpot
|
||||
code.</p>
|
||||
<p>Functions that may throw exceptions must not be used. This is in
|
||||
accordance with the HotSpot policy of <a href="#error-handling">not
|
||||
using exceptions</a>.</p>
|
||||
<p>Also in accordance with HotSpot policy, the <a
|
||||
href="#memory-allocation">standard global allocator must not be
|
||||
used</a>. This means that uses of standard container classes cannot
|
||||
presently be used, as doing so requires specialization on some allocator
|
||||
type that is integrated with the existing HotSpot allocation mechanisms.
|
||||
(Such allocators may be provided in the future.)</p>
|
||||
<p>Standard Library identifiers should usually be fully qualified;
|
||||
<code>using</code> directives must not be used to bring Standard Library
|
||||
identifiers into scope just to remove the need for namespace
|
||||
qualification. Requiring qualification makes it easy to distinguish
|
||||
between references to external libraries and code that is part of
|
||||
HotSpot.</p>
|
||||
<p>As with language features, Standard Library facilities are either
|
||||
permitted, explicitly forbidden, or undecided (and so implicitly
|
||||
forbidden).</p>
|
||||
<p>Most HotSpot code should not directly <code>#include</code> C++
|
||||
Standard Library headers. HotSpot provides a set of wrapper headers for
|
||||
the Standard Library headers containing permitted definitions. These
|
||||
wrappers are in the <code>cppstdlib</code> directory, with the same name
|
||||
as the corresponding Standard Library header and a <code>.hpp</code>
|
||||
extension. These wrappers provide a place for any additional code (some
|
||||
of which may be platform-specific) needed to support HotSpot usage.</p>
|
||||
<p>These wrappers also provide a place to document HotSpot usage,
|
||||
including any restrictions. The set of wrappers and the usage
|
||||
documentation should be considered part of HotSpot style. Any changes
|
||||
are subject to the same process as applies to this document. (For
|
||||
historical reasons, there may be many direct inclusions of some C++
|
||||
Standard Library headers.)</p>
|
||||
<p>Avoid using the C++ Standard Library.</p>
|
||||
<p>Historically, HotSpot has mostly avoided use of the Standard
|
||||
Library.</p>
|
||||
<p>(It used to be impossible to use most of it in shared code, because
|
||||
@@ -694,60 +657,46 @@ in mid-2017. Support for Solaris was removed in 2020.)</p>
|
||||
of Standard Library facilities is exceptions. HotSpot does not use
|
||||
exceptions and, for platforms which allow doing so, builds with them
|
||||
turned off. Many Standard Library facilities implicitly or explicitly
|
||||
use exceptions. On the other hand, many don't, and can be used without
|
||||
concern for this issue. Others may have a useful subset that doesn't use
|
||||
exceptions.</p></li>
|
||||
use exceptions.</p></li>
|
||||
<li><p><code>assert</code>. An issue that is quickly encountered is the
|
||||
<code>assert</code> macro name collision (<a
|
||||
href="https://bugs.openjdk.org/browse/JDK-8007770">JDK-8007770</a>).
|
||||
(Not all Standard Library implementations use <code>assert</code> in
|
||||
header files, but some do.) HotSpot provides a mechanism for addressing
|
||||
this, by establishing a scope around the include of a library header
|
||||
where the HotSpot <code>assert</code> macro is suppressed. One of the
|
||||
reasons for using wrapper headers rather than directly including
|
||||
standard headers is to provide a central place to deal with this issue
|
||||
for each header.</p></li>
|
||||
Some mechanism for addressing this would be needed before much of the
|
||||
Standard Library could be used. (Not all Standard Library
|
||||
implementations use assert in header files, but some do.)</p></li>
|
||||
<li><p>Memory allocation. HotSpot requires explicit control over where
|
||||
allocations occur. The C++98/03 <code>std::allocator</code> class is too
|
||||
limited to support our usage. But changes to the allocator concept in
|
||||
more recent Standards removed some of the limitations, supporting
|
||||
stateful allocators. HotSpot may, in the future, provide
|
||||
standard-conforming allocators that are integrated with HotSpot's
|
||||
existing allocation mechanisms.</p></li>
|
||||
limited to support our usage. (Changes in more recent Standards may
|
||||
remove this limitation.)</p></li>
|
||||
<li><p>Implementation vagaries. Bugs, or simply different implementation
|
||||
choices, can lead to different behaviors among the various Standard
|
||||
Libraries we need to deal with. But only selected parts of the Standard
|
||||
Library are being permitted, and one of the selection criteria is
|
||||
maturity. Some of these facilities are among the most heavily tested and
|
||||
used C++ codes that exist.</p></li>
|
||||
Libraries we need to deal with.</p></li>
|
||||
<li><p>Inconsistent naming conventions. HotSpot and the C++ Standard use
|
||||
different naming conventions. The coexistence of those different
|
||||
conventions might appear jarring and reduce readability. However,
|
||||
experience in some other code bases suggests this isn't a significant
|
||||
problem, so long as Standard Library names are namespace-qualified. It
|
||||
is tempting to bring the Standard Library names into scope via a
|
||||
<code>using std;</code> directive. Doing so makes writing code using
|
||||
those names easier, since the qualifiers don't need to be included. But
|
||||
there are several reasons not to do that.</p>
|
||||
<ul>
|
||||
<li><p>There is a risk of future name collisions. Additional Standard
|
||||
Library headers may be included, adding to the list of names being used.
|
||||
Also, future versions of the Standard Library may add currently unknown
|
||||
names to the headers already being included.</p></li>
|
||||
<li><p>It may harm readability. Code where this is relevant is a mixture
|
||||
of the local HotSpot naming conventions and the Standard Library's (or
|
||||
other 3rd-party library's) naming conventions. With only unqualified
|
||||
names, any distinctions from the naming conventions for the different
|
||||
code sources are lost. Instead one may end up with an undifferentiated
|
||||
mess, where it's not obvious whether an identifier is from local code
|
||||
that is inconsistent with HotSpot style (and there's a regretable amount
|
||||
of that for historical reasons), or is following some other convention.
|
||||
Having the qualifiers disambiguates that.</p></li>
|
||||
<li><p>It can be helpful to know, at a glance, whether the definition is
|
||||
in HotSpot or elsewhere, for purposes of looking up the definition or
|
||||
documentation.</p></li>
|
||||
</ul></li>
|
||||
conventions might appear jarring and reduce readability.</p></li>
|
||||
</ul>
|
||||
<p>There are a few exceptions to this rule.</p>
|
||||
<ul>
|
||||
<li><code>#include <new></code> to use placement <code>new</code>,
|
||||
<code>std::nothrow</code>, and <code>std::nothrow_t</code>.</li>
|
||||
<li><code>#include <limits></code> to use
|
||||
<code>std::numeric_limits</code>.</li>
|
||||
<li><code>#include <type_traits></code> with some restrictions,
|
||||
listed below.</li>
|
||||
<li><code>#include <cstddef></code> to use
|
||||
<code>std::nullptr_t</code> and <code>std::max_align_t</code>.</li>
|
||||
</ul>
|
||||
<p>Certain restrictions apply to the declarations provided by
|
||||
<code><type_traits></code>.</p>
|
||||
<ul>
|
||||
<li>The <code>alignof</code> operator should be used rather than
|
||||
<code>std::alignment_of<></code>.</li>
|
||||
</ul>
|
||||
<p>TODO: Rather than directly #including (permitted) Standard Library
|
||||
headers, use a convention of #including wrapper headers (in some
|
||||
location like hotspot/shared/stdcpp). This provides a single place for
|
||||
dealing with issues we might have for any given header, esp.
|
||||
platform-specific issues.</p>
|
||||
<h3 id="type-deduction">Type Deduction</h3>
|
||||
<p>Use type deduction only if it makes the code clearer or safer. Do not
|
||||
use it merely to avoid the inconvenience of writing an explicit type,
|
||||
@@ -770,14 +719,11 @@ href="http://wg21.link/p0127r2">p0127r2</a>)<br> <code>auto</code> may
|
||||
be used as a placeholder for the type of a non-type template parameter.
|
||||
The type is deduced from the value provided in a template
|
||||
instantiation.</p></li>
|
||||
</ul>
|
||||
<p><a name="function-return-type-deduction"></a> * Function return type
|
||||
deduction (<a
|
||||
<li><p>Function return type deduction (<a
|
||||
href="https://isocpp.org/files/papers/N3638.html">n3638</a>)<br> Only
|
||||
use if the function body has a very small number of <code>return</code>
|
||||
statements, and generally relatively little other code.</p>
|
||||
<ul>
|
||||
<li>Class template argument deduction (<a
|
||||
statements, and generally relatively little other code.</p></li>
|
||||
<li><p>Class template argument deduction (<a
|
||||
href="http://wg21.link/n3602">n3602</a>, <a
|
||||
href="http://wg21.link/p0091r3">p0091r3</a>)<br> The template arguments
|
||||
of a class template may be deduced from the arguments to a constructor.
|
||||
@@ -790,7 +736,7 @@ harder to understand, because explicit type information is lacking. But
|
||||
it can also remove the need to be explicit about types that are either
|
||||
obvious, or that are very hard to write. For example, these allow the
|
||||
addition of a scope-guard mechanism with nice syntax; something like
|
||||
this</li>
|
||||
this</p></li>
|
||||
</ul>
|
||||
<pre><code> ScopeGuard guard{[&]{ ... cleanup code ... }};</code></pre>
|
||||
<ul>
|
||||
@@ -825,44 +771,6 @@ class="uri">https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95468</a><br>
|
||||
<a
|
||||
href="https://developercommunity.visualstudio.com/content/problem/396562/sizeof-deduced-type-is-sometimes-not-a-constant-ex.html"
|
||||
class="uri">https://developercommunity.visualstudio.com/content/problem/396562/sizeof-deduced-type-is-sometimes-not-a-constant-ex.html</a></p>
|
||||
<h3 id="trailing-return-type-syntax-for-functions">Trailing return type
|
||||
syntax for functions</h3>
|
||||
<p>A function's return type may be specified after the parameters and
|
||||
qualifiers (<a
|
||||
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm">n2541</a>).
|
||||
In such a declaration the normal return type is <code>auto</code> and
|
||||
the return type is indicated by <code>-></code> followed by the type.
|
||||
Although both use <code>auto</code> in the "normal" leading return type
|
||||
position, this differs from <a
|
||||
href="#function-return-type-deduction">function return type
|
||||
deduction</a>, in that the return type is explicit rather than deduced,
|
||||
but specified in a trailing position.</p>
|
||||
<p>Use of trailing return types is permitted. However, the normal,
|
||||
leading position for the return type is preferred. A trailing return
|
||||
type should only be used where it provides some benefit. Such benefits
|
||||
usually arise because a trailing return type is in a different scope
|
||||
than a leading return type.</p>
|
||||
<ul>
|
||||
<li><p>If the function identifier is a nested name specifier, then the
|
||||
trailing return type occurs in the nested scope. This may permit simpler
|
||||
naming in the return type because of the different name lookup
|
||||
context.</p></li>
|
||||
<li><p>The trailing return type is in the scope of the parameters,
|
||||
making their types accessible via <code>decltype</code>. For
|
||||
example</p></li>
|
||||
</ul>
|
||||
<pre><code>template<typename T, typename U> auto add(T t, U u) -> decltype(t + u);</code></pre>
|
||||
<p>rather than</p>
|
||||
<pre><code>template<typename T, typename U> decltype((*(T*)0) + (*(U*)0)) add(T t, U u);</code></pre>
|
||||
<ul>
|
||||
<li>Complex calculated leading return types may obscure the normal
|
||||
syntactic boundaries, making it more difficult for a reader to find the
|
||||
function name and parameters. This is particularly common in cases where
|
||||
the return type is being used for <a
|
||||
href="https://en.cppreference.com/w/cpp/language/sfinae"
|
||||
title="Substitution Failure Is Not An Error">SFINAE</a>. A trailing
|
||||
return type may be preferable in such situations.</li>
|
||||
</ul>
|
||||
<h3 id="non-type-template-parameter-values">Non-type template parameter
|
||||
values</h3>
|
||||
<p>C++17 extended the arguments permitted for non-type template
|
||||
@@ -965,8 +873,9 @@ rather than <code>NULL</code>. See the paper for reasons to avoid
|
||||
<code>NULL</code>.</p>
|
||||
<p>Don't use (constant expression or literal) 0 for pointers. Note that
|
||||
C++14 removed non-literal 0 constants from <em>null pointer
|
||||
constants</em>, though some compilers continue to treat them as
|
||||
such.</p>
|
||||
constants</em>, though some compilers continue to treat them as such.
|
||||
For historical reasons there may be lingering uses of 0 as a
|
||||
pointer.</p>
|
||||
<h3 id="atomic"><atomic></h3>
|
||||
<p>Do not use facilities provided by the <code><atomic></code>
|
||||
header (<a
|
||||
@@ -984,18 +893,12 @@ differ from what the Java compilers implement.</p>
|
||||
"conservative" memory ordering, which may differ from (may be stronger
|
||||
than) sequentially consistent. There are algorithms in HotSpot that are
|
||||
believed to rely on that ordering.</p>
|
||||
<h3 id="variable-templates-and-inline-variables">Variable Templates and
|
||||
Inline Variables</h3>
|
||||
<p>The use of variable templates (including static data member
|
||||
templates) (<a href="https://wg21.link/N3651">N3651</a>) is permitted.
|
||||
They provide parameterized variables and constants in a simple and
|
||||
direct form, instead of requiring the use of various workarounds.</p>
|
||||
<p>Variables with static storage duration and variable templates may be
|
||||
declared <code>inline</code> (<a
|
||||
href="https://wg21.link/p0386r2">p0386r2</a>), and this usage is
|
||||
permitted. This has similar effects as for declaring a function inline:
|
||||
it can be defined, identically, in multiple translation units, must be
|
||||
defined in every translation unit in which it is <a
|
||||
<h3 id="inline-variables">Inline Variables</h3>
|
||||
<p>Variables with static storage duration may be declared
|
||||
<code>inline</code> (<a href="https://wg21.link/p0386r2">p0386r2</a>).
|
||||
This has similar effects as for declaring a function inline: it can be
|
||||
defined, identically, in multiple translation units, must be defined in
|
||||
every translation unit in which it is <a
|
||||
href="https://en.cppreference.com/w/cpp/language/definition"
|
||||
title="One Definition Rule">ODR used</a>, and the behavior of the
|
||||
program is as if there is exactly one variable.</p>
|
||||
@@ -1008,17 +911,16 @@ initializations can make initialization order problems worse. The few
|
||||
ordering constraints that exist for non-inline variables don't apply, as
|
||||
there isn't a single program-designated translation unit containing the
|
||||
definition.</p>
|
||||
<p>A <code>constexpr</code> static data member or static data member
|
||||
template is implicitly <code>inline</code>. As a consequence, an <a
|
||||
<p>A <code>constexpr</code> static data member is implicitly
|
||||
<code>inline</code>. As a consequence, an <a
|
||||
href="https://en.cppreference.com/w/cpp/language/definition"
|
||||
title="One Definition Rule">ODR use</a> of such a member doesn't require
|
||||
a definition in some .cpp file. (This is a change from pre-C++17.
|
||||
Beginning with C++17, such a definition is considered a duplicate
|
||||
definition, and is deprecated.)</p>
|
||||
<p>Declaring a <code>thread_local</code> variable template or
|
||||
<code>inline</code> variable is forbidden in HotSpot code. <a
|
||||
href="#thread_local">The use of <code>thread_local</code></a> is already
|
||||
heavily restricted.</p>
|
||||
title="One Definition Rule">ODR use</a> of such a variable doesn't
|
||||
require a definition in some .cpp file. (This is a change from
|
||||
pre-C++17. Beginning with C++17, such a definition is considered a
|
||||
duplicate definition, and is deprecated.)</p>
|
||||
<p>Declaring a <code>thread_local</code> variable <code>inline</code> is
|
||||
forbidden for HotSpot code. <a href="#thread_local">The use of
|
||||
<code>thread_local</code></a> is already heavily restricted.</p>
|
||||
<h3
|
||||
id="initializing-variables-with-static-storage-duration">Initializing
|
||||
variables with static storage duration</h3>
|
||||
@@ -1036,8 +938,8 @@ running destructors at exit can lead to problems.</p>
|
||||
<p>Some of the approaches used in HotSpot to avoid dynamic
|
||||
initialization include:</p>
|
||||
<ul>
|
||||
<li><p>Use the <code>DeferredStatic<T></code> class template. Add
|
||||
a call to its initialization function at an appropriate place during VM
|
||||
<li><p>Use the <code>Deferred<T></code> class template. Add a call
|
||||
to its initialization function at an appropriate place during VM
|
||||
initialization. The underlying object is never destroyed.</p></li>
|
||||
<li><p>For objects of class type, use a variable whose value is a
|
||||
pointer to the class, initialized to <code>nullptr</code>. Provide an
|
||||
@@ -1623,10 +1525,10 @@ href="http://wg21.link/p0138r2">p0138r2</a>)</p></li>
|
||||
<li><p>Allow <code>typename</code> in template template parameter (<a
|
||||
href="http://wg21.link/n4051">n4051</a>) — template template parameters
|
||||
are barely used (if at all) in HotSpot, but there's no reason to
|
||||
artificially forbid this syntactic regularization in any such
|
||||
artificially disallow this syntactic regularization in any such
|
||||
uses.</p></li>
|
||||
</ul>
|
||||
<h2 id="forbidden-features">Forbidden Features</h2>
|
||||
<h2 id="excluded-features">Excluded Features</h2>
|
||||
<h3 id="structured-bindings">Structured Bindings</h3>
|
||||
<p>The use of structured bindings <a
|
||||
href="http://wg21.link/p0217r3">p0217r3</a> is forbidden. Preferred
|
||||
@@ -1668,33 +1570,8 @@ initialization for classes with base classes (<a
|
||||
href="https://wg21.link/p0017r1">p0017r1</a>). HotSpot makes very little
|
||||
use of aggregate classes, preferring explicit constructors even for very
|
||||
simple classes.</p>
|
||||
<h3 id="additional-forbidden-features">Additional Forbidden
|
||||
Features</h3>
|
||||
<h3 id="additional-excluded-features">Additional Excluded Features</h3>
|
||||
<ul>
|
||||
<li><p><code><algorithm></code>, <code><iterator></code>,
|
||||
<code><numeric></code><br> Not useful without standard containers
|
||||
or similar classes in HotSpot.</p></li>
|
||||
<li><p><code><bitset></code> - Overlap with HotSpot
|
||||
<code>BitMap</code>.</p></li>
|
||||
<li><p><code><cassert></code>, <code>assert.h</code> - HotSpot has
|
||||
its own <code>assert</code> macro.</p></li>
|
||||
<li><p><code><exception></code>, <code><stdexcept></code> -
|
||||
Use of <a href="#error-handling">exceptions</a> is not
|
||||
permitted.</p></li>
|
||||
<li><p>Thread support - <code><thread></code>,
|
||||
<code><mutex></code>, <code><shared_mutex></code>,
|
||||
<code><condition_varible></code>, <code><future></code><br>
|
||||
HotSpot has its own threading support.</p></li>
|
||||
<li><p>Streams - HotSpot doesn't use the C++ I/O library.</p></li>
|
||||
<li><p><code><scoped_allocator></code> - Not useful without
|
||||
specialized allocators.</p></li>
|
||||
<li><p><code><string></code> - Requires allocator support, similar
|
||||
to standard containers.</p></li>
|
||||
<li><p><code><typeinfo></code>, <code><typeindex></code><br>
|
||||
Use of <a href="#runtime-type-information">runtime type information</a>
|
||||
is not permitted.</p></li>
|
||||
<li><p><code><valarray></code> - May allocate, but is not
|
||||
allocator-aware.</p></li>
|
||||
<li><p>New string and character literals</p>
|
||||
<ul>
|
||||
<li>New character types (<a
|
||||
@@ -1930,6 +1807,11 @@ difference.</p>
|
||||
<h3 id="additional-undecided-features">Additional Undecided
|
||||
Features</h3>
|
||||
<ul>
|
||||
<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>, <a
|
||||
href="http://wg21.link/p0127r2">p0127r2</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>
|
||||
<li><p>Rvalue references and move semantics</p></li>
|
||||
@@ -1952,43 +1834,8 @@ that developers should need to know about this feature. But if someone
|
||||
does come up with a good use-case, it's likely that the alternatives are
|
||||
significantly worse, because pack manipulation without this can be
|
||||
complicated.</p></li>
|
||||
<li><p><a
|
||||
href="https://en.cppreference.com/w/cpp/header/tuple.html"><code><tuple></code></a>
|
||||
— Prefer named access to class objects, rather than indexed access to
|
||||
anonymous heterogeneous sequences. In particular, a standard-layout
|
||||
class is preferred to a tuple.</p></li>
|
||||
<li><p><code>std::invoke<>()</code> (<a
|
||||
href="http://wg21.link/n4169">n4169</a>)</p></li>
|
||||
<li><p><a
|
||||
href="https://en.cppreference.com/w/cpp/header/chrono.html"><code><chrono></code></a>
|
||||
— The argument for chrono is that our existing APIs aren't serving us
|
||||
well. chrono provides strong type safety. We've had multiple cases of
|
||||
mistakes like a double seconds being treated as double milliseconds or
|
||||
vice versa, and other similar errors. But it would be a large effort to
|
||||
adopt chrono. We'd also need to decide whether to use the predefined
|
||||
clocks or hook up chrono to our clocks. It may be that using the
|
||||
predefined clocks is fine, but it's a question that needs careful
|
||||
study.</p></li>
|
||||
<li><p><a
|
||||
href="https://en.cppreference.com/w/cpp/header/initializer_list.html"><code><initializer_list></code></a>
|
||||
— The potential ambiguity between some forms of direct initialization
|
||||
and initializer list initialization, and the resolution of that
|
||||
ambiguity, is unfortunate.</p></li>
|
||||
<li><p><a
|
||||
href="https://en.cppreference.com/w/cpp/header/ratio.html"><code><ratio></code></a>
|
||||
— <code><ratio></code> is a <em>compile-time</em> rational
|
||||
arithmetic package. It's also fixed (though parameterized) precision.
|
||||
It's not a general purpose rational arithmetic facility. It appears to
|
||||
have started out as an implementation detail of chrono, and was
|
||||
extracted and promoted to a public facility in the belief that it has
|
||||
broader utility.</p></li>
|
||||
<li><p><a
|
||||
href="https://en.cppreference.com/w/cpp/header/system_error.html"><code><system_error></code></a>
|
||||
— We don't really have a generally agreed upon mechanism for managing
|
||||
errors. Instead, we have a plethora of bespoke ad hoc mechanisms.
|
||||
Managing errors is a topic of substantial discussion.
|
||||
<code><system_error></code> might end up being a part of a result
|
||||
from that discussion.</p></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+60
-201
@@ -413,12 +413,12 @@ support for more recent Standards must of course stick with the
|
||||
original C++98/03 subset.)
|
||||
|
||||
This section describes that subset. Features from the C++98/03
|
||||
language may be used unless explicitly forbidden here. Features from
|
||||
C++11, C++14, and C++17 may be explicitly permitted or explicitly forbidden,
|
||||
language may be used unless explicitly excluded here. Features from
|
||||
C++11, C++14, and C++17 may be explicitly permitted or explicitly excluded,
|
||||
and discussed accordingly here. There is a third category, undecided
|
||||
features, about which HotSpot developers have not yet reached a
|
||||
consensus, or perhaps have not discussed at all. Use of these
|
||||
features is also forbidden.
|
||||
features is also excluded.
|
||||
|
||||
(The use of some features may not be immediately obvious and may slip
|
||||
in anyway, since the compiler will accept them. The code review
|
||||
@@ -427,7 +427,7 @@ process is the main defense against this.)
|
||||
Some features are discussed in their own subsection, typically to provide
|
||||
more extensive discussion or rationale for limitations. Features that
|
||||
don't have their own subsection are listed in omnibus feature sections
|
||||
for permitted, forbidden, and undecided features.
|
||||
for permitted, excluded, and undecided features.
|
||||
|
||||
Lists of new features for C++11, C++14, and C++17, along with links to their
|
||||
descriptions, can be found in the online documentation for some of the
|
||||
@@ -494,16 +494,15 @@ worthwhile, given the alternatives.
|
||||
|
||||
### Memory Allocation
|
||||
|
||||
Do not use the standard global allocation and deallocation functions (global
|
||||
`operator new` and related functions), other than the non-allocating forms of
|
||||
those functions. Use of these functions by HotSpot code is disabled for some
|
||||
platforms.
|
||||
Do not use the standard global allocation and deallocation functions
|
||||
(operator new and related functions). Use of these functions by HotSpot
|
||||
code is disabled for some platforms.
|
||||
|
||||
Rationale: HotSpot often uses "resource" or "arena" allocation. Even
|
||||
where heap allocation is used, the standard global functions are
|
||||
avoided in favor of wrappers around `malloc` and `free` that support the
|
||||
JVM's Native Memory Tracking (NMT) feature. Typically, uses of the global
|
||||
`operator new` are inadvertent and therefore often associated with memory
|
||||
avoided in favor of wrappers around malloc and free that support the
|
||||
VM's Native Memory Tracking (NMT) feature. Typically, uses of the global
|
||||
operator new are inadvertent and therefore often associated with memory
|
||||
leaks.
|
||||
|
||||
Native memory allocation failures are often treated as non-recoverable.
|
||||
@@ -561,39 +560,7 @@ Bug for similar gdb problems.
|
||||
|
||||
### C++ Standard Library
|
||||
|
||||
Only curated parts of the C++ Standard Library may be used by HotSpot code.
|
||||
|
||||
Functions that may throw exceptions must not be used. This is in accordance
|
||||
with the HotSpot policy of [not using exceptions](#error-handling).
|
||||
|
||||
Also in accordance with HotSpot policy, the
|
||||
[standard global allocator must not be used](#memory-allocation). This means
|
||||
that uses of standard container classes cannot presently be used, as doing so
|
||||
requires specialization on some allocator type that is integrated with the
|
||||
existing HotSpot allocation mechanisms. (Such allocators may be provided in
|
||||
the future.)
|
||||
|
||||
Standard Library identifiers should usually be fully qualified; `using`
|
||||
directives must not be used to bring Standard Library identifiers into scope
|
||||
just to remove the need for namespace qualification. Requiring qualification
|
||||
makes it easy to distinguish between references to external libraries and code
|
||||
that is part of HotSpot.
|
||||
|
||||
As with language features, Standard Library facilities are either permitted,
|
||||
explicitly forbidden, or undecided (and so implicitly forbidden).
|
||||
|
||||
Most HotSpot code should not directly `#include` C++ Standard Library headers.
|
||||
HotSpot provides a set of wrapper headers for the Standard Library headers
|
||||
containing permitted definitions. These wrappers are in the `cppstdlib`
|
||||
directory, with the same name as the corresponding Standard Library header and
|
||||
a `.hpp` extension. These wrappers provide a place for any additional code
|
||||
(some of which may be platform-specific) needed to support HotSpot usage.
|
||||
|
||||
These wrappers also provide a place to document HotSpot usage, including any
|
||||
restrictions. The set of wrappers and the usage documentation should be
|
||||
considered part of HotSpot style. Any changes are subject to the same process
|
||||
as applies to this document. (For historical reasons, there may be many direct
|
||||
inclusions of some C++ Standard Library headers.)
|
||||
Avoid using the C++ Standard Library.
|
||||
|
||||
Historically, HotSpot has mostly avoided use of the Standard
|
||||
Library.
|
||||
@@ -610,59 +577,43 @@ Some reasons for this include
|
||||
Standard Library facilities is exceptions. HotSpot does not use
|
||||
exceptions and, for platforms which allow doing so, builds with them
|
||||
turned off. Many Standard Library facilities implicitly or explicitly
|
||||
use exceptions. On the other hand, many don't, and can be used without
|
||||
concern for this issue. Others may have a useful subset that doesn't
|
||||
use exceptions.
|
||||
|
||||
* `assert`. An issue that is quickly encountered is the `assert` macro name
|
||||
collision ([JDK-8007770](https://bugs.openjdk.org/browse/JDK-8007770)).
|
||||
(Not all Standard Library implementations use `assert` in header files, but
|
||||
some do.) HotSpot provides a mechanism for addressing this, by establishing a
|
||||
scope around the include of a library header where the HotSpot `assert` macro
|
||||
is suppressed. One of the reasons for using wrapper headers rather than
|
||||
directly including standard headers is to provide a central place to deal with
|
||||
this issue for each header.
|
||||
Some mechanism for addressing this would be needed before much of the
|
||||
Standard Library could be used. (Not all Standard Library implementations
|
||||
use assert in header files, but some do.)
|
||||
|
||||
* Memory allocation. HotSpot requires explicit control over where allocations
|
||||
occur. The C++98/03 `std::allocator` class is too limited to support our
|
||||
usage. But changes to the allocator concept in more recent Standards removed
|
||||
some of the limitations, supporting stateful allocators. HotSpot may, in the
|
||||
future, provide standard-conforming allocators that are integrated with
|
||||
HotSpot's existing allocation mechanisms.
|
||||
* Memory allocation. HotSpot requires explicit control over where
|
||||
allocations occur. The C++98/03 `std::allocator` class is too limited
|
||||
to support our usage. (Changes in more recent Standards may remove
|
||||
this limitation.)
|
||||
|
||||
* Implementation vagaries. Bugs, or simply different implementation choices,
|
||||
can lead to different behaviors among the various Standard Libraries we need
|
||||
to deal with. But only selected parts of the Standard Library are being
|
||||
permitted, and one of the selection criteria is maturity. Some of these
|
||||
facilities are among the most heavily tested and used C++ codes that exist.
|
||||
to deal with.
|
||||
|
||||
* Inconsistent naming conventions. HotSpot and the C++ Standard use different
|
||||
naming conventions. The coexistence of those different conventions might
|
||||
appear jarring and reduce readability. However, experience in some other code
|
||||
bases suggests this isn't a significant problem, so long as Standard Library
|
||||
names are namespace-qualified. It is tempting to bring the Standard Library
|
||||
names into scope via a `using std;` directive. Doing so makes writing code
|
||||
using those names easier, since the qualifiers don't need to be included. But
|
||||
there are several reasons not to do that.
|
||||
* Inconsistent naming conventions. HotSpot and the C++ Standard use
|
||||
different naming conventions. The coexistence of those different conventions
|
||||
might appear jarring and reduce readability.
|
||||
|
||||
* There is a risk of future name collisions. Additional Standard Library
|
||||
headers may be included, adding to the list of names being used. Also,
|
||||
future versions of the Standard Library may add currently unknown names to
|
||||
the headers already being included.
|
||||
There are a few exceptions to this rule.
|
||||
|
||||
* It may harm readability. Code where this is relevant is a mixture of the
|
||||
local HotSpot naming conventions and the Standard Library's (or other
|
||||
3rd-party library's) naming conventions. With only unqualified names, any
|
||||
distinctions from the naming conventions for the different code sources
|
||||
are lost. Instead one may end up with an undifferentiated mess, where it's
|
||||
not obvious whether an identifier is from local code that is inconsistent
|
||||
with HotSpot style (and there's a regretable amount of that for historical
|
||||
reasons), or is following some other convention. Having the qualifiers
|
||||
disambiguates that.
|
||||
* `#include <new>` to use placement `new`, `std::nothrow`, and `std::nothrow_t`.
|
||||
* `#include <limits>` to use `std::numeric_limits`.
|
||||
* `#include <type_traits>` with some restrictions, listed below.
|
||||
* `#include <cstddef>` to use `std::nullptr_t` and `std::max_align_t`.
|
||||
|
||||
* It can be helpful to know, at a glance, whether the definition is in
|
||||
HotSpot or elsewhere, for purposes of looking up the definition or
|
||||
documentation.
|
||||
Certain restrictions apply to the declarations provided by `<type_traits>`.
|
||||
|
||||
* The `alignof` operator should be used rather than `std::alignment_of<>`.
|
||||
|
||||
TODO: Rather than directly \#including (permitted) Standard Library
|
||||
headers, use a convention of \#including wrapper headers (in some
|
||||
location like hotspot/shared/stdcpp). This provides a single place
|
||||
for dealing with issues we might have for any given header, esp.
|
||||
platform-specific issues.
|
||||
|
||||
### Type Deduction
|
||||
|
||||
@@ -691,7 +642,6 @@ use can make code much harder to understand.
|
||||
parameter. The type is deduced from the value provided in a template
|
||||
instantiation.
|
||||
|
||||
<a name="function-return-type-deduction"></a>
|
||||
* Function return type deduction
|
||||
([n3638](https://isocpp.org/files/papers/N3638.html))<br>
|
||||
Only use if the function body has a very small number of `return`
|
||||
@@ -741,42 +691,6 @@ Here are a few closely related example bugs:<br>
|
||||
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95468><br>
|
||||
<https://developercommunity.visualstudio.com/content/problem/396562/sizeof-deduced-type-is-sometimes-not-a-constant-ex.html>
|
||||
|
||||
### Trailing return type syntax for functions
|
||||
|
||||
A function's return type may be specified after the parameters and qualifiers
|
||||
([n2541](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm)).
|
||||
In such a declaration the normal return type is `auto` and the return type is
|
||||
indicated by `->` followed by the type. Although both use `auto` in the
|
||||
"normal" leading return type position, this differs from
|
||||
[function return type deduction](#function-return-type-deduction),
|
||||
in that the return type is explicit rather than deduced, but specified in a
|
||||
trailing position.
|
||||
|
||||
Use of trailing return types is permitted. However, the normal, leading
|
||||
position for the return type is preferred. A trailing return type should only
|
||||
be used where it provides some benefit. Such benefits usually arise because a
|
||||
trailing return type is in a different scope than a leading return type.
|
||||
|
||||
* If the function identifier is a nested name specifier, then the trailing
|
||||
return type occurs in the nested scope. This may permit simpler naming in the
|
||||
return type because of the different name lookup context.
|
||||
|
||||
* The trailing return type is in the scope of the parameters, making their
|
||||
types accessible via `decltype`. For example
|
||||
```
|
||||
template<typename T, typename U> auto add(T t, U u) -> decltype(t + u);
|
||||
```
|
||||
rather than
|
||||
```
|
||||
template<typename T, typename U> decltype((*(T*)0) + (*(U*)0)) add(T t, U u);
|
||||
```
|
||||
|
||||
* Complex calculated leading return types may obscure the normal syntactic
|
||||
boundaries, making it more difficult for a reader to find the function name and
|
||||
parameters. This is particularly common in cases where the return type is
|
||||
being used for [SFINAE]. A trailing return type may be preferable in such
|
||||
situations.
|
||||
|
||||
### Non-type template parameter values
|
||||
|
||||
C++17 extended the arguments permitted for non-type template parameters
|
||||
@@ -884,7 +798,8 @@ rather than `NULL`. See the paper for reasons to avoid `NULL`.
|
||||
|
||||
Don't use (constant expression or literal) 0 for pointers. Note that C++14
|
||||
removed non-literal 0 constants from _null pointer constants_, though some
|
||||
compilers continue to treat them as such.
|
||||
compilers continue to treat them as such. For historical reasons there may be
|
||||
lingering uses of 0 as a pointer.
|
||||
|
||||
### <atomic>
|
||||
|
||||
@@ -904,19 +819,14 @@ ordering, which may differ from (may be stronger than) sequentially
|
||||
consistent. There are algorithms in HotSpot that are believed to rely
|
||||
on that ordering.
|
||||
|
||||
### Variable Templates and Inline Variables
|
||||
### Inline Variables
|
||||
|
||||
The use of variable templates (including static data member templates)
|
||||
([N3651](https://wg21.link/N3651)) is permitted. They provide parameterized
|
||||
variables and constants in a simple and direct form, instead of requiring the
|
||||
use of various workarounds.
|
||||
|
||||
Variables with static storage duration and variable templates may be declared
|
||||
`inline` ([p0386r2](https://wg21.link/p0386r2)), and this usage is
|
||||
permitted. This has similar effects as for declaring a function inline: it can
|
||||
be defined, identically, in multiple translation units, must be defined in
|
||||
every translation unit in which it is [ODR used][ODR], and the behavior of the
|
||||
program is as if there is exactly one variable.
|
||||
Variables with static storage duration may be declared `inline`
|
||||
([p0386r2](https://wg21.link/p0386r2)). This has similar effects as for
|
||||
declaring a function inline: it can be defined, identically, in multiple
|
||||
translation units, must be defined in every translation unit in which it is
|
||||
[ODR used][ODR], and the behavior of the program is as if there is exactly one
|
||||
variable.
|
||||
|
||||
Declaring a variable inline allows the complete definition to be in a header
|
||||
file, rather than having a declaration in a header and the definition in a
|
||||
@@ -927,15 +837,13 @@ make initialization order problems worse. The few ordering constraints
|
||||
that exist for non-inline variables don't apply, as there isn't a single
|
||||
program-designated translation unit containing the definition.
|
||||
|
||||
A `constexpr` static data member or static data member template
|
||||
is implicitly `inline`. As a consequence, an
|
||||
[ODR use][ODR] of such a member doesn't require a definition in some .cpp
|
||||
A `constexpr` static data member is implicitly `inline`. As a consequence, an
|
||||
[ODR use][ODR] of such a variable doesn't require a definition in some .cpp
|
||||
file. (This is a change from pre-C++17. Beginning with C++17, such a
|
||||
definition is considered a duplicate definition, and is deprecated.)
|
||||
|
||||
Declaring a `thread_local` variable template or `inline` variable is forbidden
|
||||
in HotSpot code. [The use of `thread_local`](#thread_local) is already
|
||||
heavily restricted.
|
||||
Declaring a `thread_local` variable `inline` is forbidden for HotSpot code.
|
||||
[The use of `thread_local`](#thread_local) is already heavily restricted.
|
||||
|
||||
### Initializing variables with static storage duration
|
||||
|
||||
@@ -953,7 +861,7 @@ destructors at exit can lead to problems.
|
||||
Some of the approaches used in HotSpot to avoid dynamic initialization
|
||||
include:
|
||||
|
||||
* Use the `DeferredStatic<T>` class template. Add a call to its initialization
|
||||
* Use the `Deferred<T>` class template. Add a call to its initialization
|
||||
function at an appropriate place during VM initialization. The underlying
|
||||
object is never destroyed.
|
||||
|
||||
@@ -1577,9 +1485,9 @@ single-argument form are permitted.
|
||||
* Allow `typename` in template template parameter
|
||||
([n4051](http://wg21.link/n4051)) — template template parameters are
|
||||
barely used (if at all) in HotSpot, but there's no reason to artificially
|
||||
forbid this syntactic regularization in any such uses.
|
||||
disallow this syntactic regularization in any such uses.
|
||||
|
||||
## Forbidden Features
|
||||
## Excluded Features
|
||||
|
||||
### Structured Bindings
|
||||
|
||||
@@ -1629,32 +1537,7 @@ initialization for classes with base classes
|
||||
aggregate classes, preferring explicit constructors even for very simple
|
||||
classes.
|
||||
|
||||
### Additional Forbidden Features
|
||||
|
||||
* `<algorithm>`, `<iterator>`, `<numeric>`<br>
|
||||
Not useful without standard containers or similar classes in HotSpot.
|
||||
|
||||
* `<bitset>` - Overlap with HotSpot `BitMap`.
|
||||
|
||||
* `<cassert>`, `assert.h` - HotSpot has its own `assert` macro.
|
||||
|
||||
* `<exception>`, `<stdexcept>` - Use of [exceptions](#error-handling) is not
|
||||
permitted.
|
||||
|
||||
* Thread support - `<thread>`, `<mutex>`, `<shared_mutex>`,
|
||||
`<condition_varible>`, `<future>`<br>
|
||||
HotSpot has its own threading support.
|
||||
|
||||
* Streams - HotSpot doesn't use the C++ I/O library.
|
||||
|
||||
* `<scoped_allocator>` - Not useful without specialized allocators.
|
||||
|
||||
* `<string>` - Requires allocator support, similar to standard containers.
|
||||
|
||||
* `<typeinfo>`, `<typeindex>`<br>
|
||||
Use of [runtime type information](#runtime-type-information) is not permitted.
|
||||
|
||||
* `<valarray>` - May allocate, but is not allocator-aware.
|
||||
### Additional Excluded Features
|
||||
|
||||
* New string and character literals
|
||||
* New character types
|
||||
@@ -1926,6 +1809,13 @@ See Object Lifetime: C++17 6.8/8, C++20 6.7.3/8
|
||||
|
||||
### Additional Undecided Features
|
||||
|
||||
* Trailing return type syntax for functions
|
||||
([n2541](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm))
|
||||
|
||||
* Variable templates
|
||||
([n3651](https://isocpp.org/files/papers/N3651.pdf),
|
||||
[p0127r2](http://wg21.link/p0127r2))
|
||||
|
||||
* Member initializers and aggregates
|
||||
([n3653](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html))
|
||||
|
||||
@@ -1953,40 +1843,9 @@ should need to know about this feature. But if someone does come up with a
|
||||
good use-case, it's likely that the alternatives are significantly worse,
|
||||
because pack manipulation without this can be complicated.
|
||||
|
||||
* [`<tuple>`](https://en.cppreference.com/w/cpp/header/tuple.html) —
|
||||
Prefer named access to class objects, rather than indexed access
|
||||
to anonymous heterogeneous sequences. In particular, a standard-layout
|
||||
class is preferred to a tuple.
|
||||
|
||||
* `std::invoke<>()`
|
||||
([n4169](http://wg21.link/n4169))
|
||||
|
||||
* [`<chrono>`](https://en.cppreference.com/w/cpp/header/chrono.html) —
|
||||
The argument for chrono is that our existing APIs aren't serving us well.
|
||||
chrono provides strong type safety. We've had multiple cases of mistakes like
|
||||
a double seconds being treated as double milliseconds or vice versa, and other
|
||||
similar errors. But it would be a large effort to adopt chrono. We'd also need
|
||||
to decide whether to use the predefined clocks or hook up chrono to our
|
||||
clocks. It may be that using the predefined clocks is fine, but it's a
|
||||
question that needs careful study.
|
||||
|
||||
* [`<initializer_list>`](https://en.cppreference.com/w/cpp/header/initializer_list.html) —
|
||||
The potential ambiguity between some forms of direct initialization and
|
||||
initializer list initialization, and the resolution of that ambiguity, is
|
||||
unfortunate.
|
||||
|
||||
* [`<ratio>`](https://en.cppreference.com/w/cpp/header/ratio.html) —
|
||||
`<ratio>` is a *compile-time* rational arithmetic package. It's also fixed
|
||||
(though parameterized) precision. It's not a general purpose rational
|
||||
arithmetic facility. It appears to have started out as an implementation
|
||||
detail of chrono, and was extracted and promoted to a public facility in the
|
||||
belief that it has broader utility.
|
||||
|
||||
* [`<system_error>`](https://en.cppreference.com/w/cpp/header/system_error.html) —
|
||||
We don't really have a generally agreed upon mechanism for managing
|
||||
errors. Instead, we have a plethora of bespoke ad hoc mechanisms. Managing
|
||||
errors is a topic of substantial discussion. `<system_error>` might end up
|
||||
being a part of a result from that discussion.
|
||||
|
||||
|
||||
[ADL]: https://en.cppreference.com/w/cpp/language/adl
|
||||
|
||||
@@ -305,11 +305,11 @@ recognize your tests.</p>
|
||||
the product.</p>
|
||||
<ul>
|
||||
<li><p>All unit tests for a class from <code>foo/bar/baz.cpp</code>
|
||||
should be placed <code>foo/bar/test_baz.cpp</code> in the
|
||||
<code>test/hotspot/gtest/</code> directory. Having all tests for a class
|
||||
in one file is a common practice for unit tests, it helps to see all
|
||||
existing tests at once, share functions and/or resources without losing
|
||||
encapsulation.</p></li>
|
||||
should be placed <code>foo/bar/test_baz.cpp</code> in
|
||||
<code>hotspot/test/native/</code> directory. Having all tests for a
|
||||
class in one file is a common practice for unit tests, it helps to see
|
||||
all existing tests at once, share functions and/or resources without
|
||||
losing encapsulation.</p></li>
|
||||
<li><p>For tests which test more than one class, directory hierarchy
|
||||
should be the same as product hierarchy, and file name should reflect
|
||||
the name of the tested subsystem/functionality. For example, if a
|
||||
@@ -319,7 +319,7 @@ placed in <code>gc/g1</code> directory.</p></li>
|
||||
<p>Please note that framework prepends directory name to a test group
|
||||
name. For example, if <code>TEST(foo, check_this)</code> and
|
||||
<code>TEST(bar, check_that)</code> are defined in
|
||||
<code>test/hotspot/gtest/gc/shared/test_foo.cpp</code> file, they will
|
||||
<code>hotspot/test/native/gc/shared/test_foo.cpp</code> file, they will
|
||||
be reported as <code>gc/shared/foo::check_this</code> and
|
||||
<code>gc/shared/bar::check_that</code>.</p>
|
||||
<h3 id="test-names">Test names</h3>
|
||||
|
||||
@@ -241,7 +241,7 @@ recognize your tests.
|
||||
Test file location should reflect a location of the tested part of the product.
|
||||
|
||||
* All unit tests for a class from `foo/bar/baz.cpp` should be placed
|
||||
`foo/bar/test_baz.cpp` in the `test/hotspot/gtest/` directory. Having all
|
||||
`foo/bar/test_baz.cpp` in `hotspot/test/native/` directory. Having all
|
||||
tests for a class in one file is a common practice for unit tests, it
|
||||
helps to see all existing tests at once, share functions and/or
|
||||
resources without losing encapsulation.
|
||||
@@ -254,7 +254,7 @@ sub-system under tests belongs to `gc/g1`, tests should be placed in
|
||||
|
||||
Please note that framework prepends directory name to a test group
|
||||
name. For example, if `TEST(foo, check_this)` and `TEST(bar, check_that)`
|
||||
are defined in `test/hotspot/gtest/gc/shared/test_foo.cpp` file, they
|
||||
are defined in `hotspot/test/native/gc/shared/test_foo.cpp` file, they
|
||||
will be reported as `gc/shared/foo::check_this` and
|
||||
`gc/shared/bar::check_that`.
|
||||
|
||||
|
||||
@@ -119,9 +119,6 @@ cover the new source version</li>
|
||||
and
|
||||
<code>test/langtools/tools/javac/preview/classReaderTest/Client.preview.out</code>:
|
||||
update expected messages for preview errors and warnings</li>
|
||||
<li><code>test/langtools/tools/javac/versions/Versions.java</code>: add
|
||||
new source version to the set of valid sources and add new enum constant
|
||||
for the new class file version.</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -65,4 +65,4 @@ to be updated for a particular release.
|
||||
* `test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java`
|
||||
update annotation processor extended by `javac` tests to cover the new source version
|
||||
* `test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out` and `test/langtools/tools/javac/preview/classReaderTest/Client.preview.out`: update expected messages for preview errors and warnings
|
||||
* `test/langtools/tools/javac/versions/Versions.java`: add new source version to the set of valid sources and add new enum constant for the new class file version.
|
||||
|
||||
|
||||
+1
-19
@@ -72,7 +72,6 @@ id="toc-notes-for-specific-tests">Notes for Specific Tests</a>
|
||||
<li><a href="#non-us-locale" id="toc-non-us-locale">Non-US
|
||||
locale</a></li>
|
||||
<li><a href="#pkcs11-tests" id="toc-pkcs11-tests">PKCS11 Tests</a></li>
|
||||
<li><a href="#sctp-tests" id="toc-sctp-tests">SCTP Tests</a></li>
|
||||
<li><a href="#testing-ahead-of-time-optimizations"
|
||||
id="toc-testing-ahead-of-time-optimizations">Testing Ahead-of-time
|
||||
Optimizations</a></li>
|
||||
@@ -451,7 +450,7 @@ itself (<code>-timeoutFactor</code>). Also, some test cases that
|
||||
programmatically wait a certain amount of time will apply this factor.
|
||||
If we run in forced compilation mode (<code>-Xcomp</code>), the build
|
||||
system will automatically adjust this factor to compensate for less
|
||||
performance. Defaults to 4.</p>
|
||||
performance. Defaults to 1.</p>
|
||||
<h4 id="failure_handler_timeout">FAILURE_HANDLER_TIMEOUT</h4>
|
||||
<p>Sets the argument <code>-timeoutHandlerTimeout</code> for JTReg. The
|
||||
default value is 0. This is only valid if the failure handler is
|
||||
@@ -536,8 +535,6 @@ failure. This helps to reproduce intermittent test failures. Defaults to
|
||||
<h4 id="report">REPORT</h4>
|
||||
<p>Use this report style when reporting test results (sent to JTReg as
|
||||
<code>-report</code>). Defaults to <code>files</code>.</p>
|
||||
<h4 id="manual">MANUAL</h4>
|
||||
<p>Set to <code>true</code> to execute manual tests only.</p>
|
||||
<h3 id="gtest-keywords">Gtest keywords</h3>
|
||||
<h4 id="repeat">REPEAT</h4>
|
||||
<p>The number of times to repeat the tests
|
||||
@@ -622,21 +619,6 @@ element of the appropriate <code>@Artifact</code> class. (See
|
||||
JTREG="JAVA_OPTIONS=-Djdk.test.lib.artifacts.nsslib-linux_aarch64=/path/to/NSS-libs"</code></pre>
|
||||
<p>For more notes about the PKCS11 tests, please refer to
|
||||
test/jdk/sun/security/pkcs11/README.</p>
|
||||
<h3 id="sctp-tests">SCTP Tests</h3>
|
||||
<p>The SCTP tests require the SCTP runtime library, which is often not
|
||||
installed by default in popular Linux distributions. Without this
|
||||
library, the SCTP tests will be skipped. If you want to enable the SCTP
|
||||
tests, you should install the SCTP library before running the tests.</p>
|
||||
<p>For distributions using the .deb packaging format and the apt tool
|
||||
(such as Debian, Ubuntu, etc.), try this:</p>
|
||||
<pre><code>sudo apt install libsctp1
|
||||
sudo modprobe sctp
|
||||
lsmod | grep sctp</code></pre>
|
||||
<p>For distributions using the .rpm packaging format and the dnf tool
|
||||
(such as Fedora, Red Hat, etc.), try this:</p>
|
||||
<pre><code>sudo dnf install -y lksctp-tools
|
||||
sudo modprobe sctp
|
||||
lsmod | grep sctp</code></pre>
|
||||
<h3 id="testing-ahead-of-time-optimizations">Testing Ahead-of-time
|
||||
Optimizations</h3>
|
||||
<p>One way to improve test coverage of ahead-of-time (AOT) optimizations
|
||||
|
||||
+1
-31
@@ -387,7 +387,7 @@ The `TIMEOUT_FACTOR` is forwarded to JTReg framework itself
|
||||
(`-timeoutFactor`). Also, some test cases that programmatically wait a
|
||||
certain amount of time will apply this factor. If we run in forced
|
||||
compilation mode (`-Xcomp`), the build system will automatically
|
||||
adjust this factor to compensate for less performance. Defaults to 4.
|
||||
adjust this factor to compensate for less performance. Defaults to 1.
|
||||
|
||||
#### FAILURE_HANDLER_TIMEOUT
|
||||
|
||||
@@ -512,10 +512,6 @@ helps to reproduce intermittent test failures. Defaults to 0.
|
||||
Use this report style when reporting test results (sent to JTReg as `-report`).
|
||||
Defaults to `files`.
|
||||
|
||||
#### MANUAL
|
||||
|
||||
Set to `true` to execute manual tests only.
|
||||
|
||||
### Gtest keywords
|
||||
|
||||
#### REPEAT
|
||||
@@ -640,32 +636,6 @@ $ make test TEST="jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java" \
|
||||
For more notes about the PKCS11 tests, please refer to
|
||||
test/jdk/sun/security/pkcs11/README.
|
||||
|
||||
|
||||
### SCTP Tests
|
||||
|
||||
The SCTP tests require the SCTP runtime library, which is often not installed
|
||||
by default in popular Linux distributions. Without this library, the SCTP tests
|
||||
will be skipped. If you want to enable the SCTP tests, you should install the
|
||||
SCTP library before running the tests.
|
||||
|
||||
For distributions using the .deb packaging format and the apt tool
|
||||
(such as Debian, Ubuntu, etc.), try this:
|
||||
|
||||
```
|
||||
sudo apt install libsctp1
|
||||
sudo modprobe sctp
|
||||
lsmod | grep sctp
|
||||
```
|
||||
|
||||
For distributions using the .rpm packaging format and the dnf tool
|
||||
(such as Fedora, Red Hat, etc.), try this:
|
||||
|
||||
```
|
||||
sudo dnf install -y lksctp-tools
|
||||
sudo modprobe sctp
|
||||
lsmod | grep sctp
|
||||
```
|
||||
|
||||
### Testing Ahead-of-time Optimizations
|
||||
|
||||
One way to improve test coverage of ahead-of-time (AOT) optimizations in
|
||||
|
||||
+78
-5
@@ -125,6 +125,13 @@ define SetupBundleFileBody
|
||||
&& $(TAR) cf - -$(TAR_INCLUDE_PARAM) $$($1_$$d_LIST_FILE) \
|
||||
$(TAR_IGNORE_EXIT_VALUE) ) \
|
||||
| ( $(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) && $(TAR) xf - )$$(NEWLINE) )
|
||||
# Rename stripped pdb files
|
||||
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
|
||||
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.stripped.pdb"`; do \
|
||||
$(ECHO) Renaming $$$${f} to $$$${f%stripped.pdb}pdb $(LOG_INFO); \
|
||||
$(MV) $$$${f} $$$${f%stripped.pdb}pdb; \
|
||||
done
|
||||
endif
|
||||
# Unzip any zipped debuginfo files
|
||||
ifeq ($$($1_UNZIP_DEBUGINFO), true)
|
||||
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.diz"`; do \
|
||||
@@ -185,30 +192,96 @@ endif
|
||||
|
||||
ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
|
||||
|
||||
# There may be files with spaces in the names, so use ShellFindFiles explicitly.
|
||||
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.map
|
||||
|
||||
# There may be files with spaces in the names, so use ShellFindFiles
|
||||
# explicitly.
|
||||
ALL_JDK_FILES := $(call ShellFindFiles, $(JDK_IMAGE_DIR))
|
||||
ifneq ($(JDK_IMAGE_DIR), $(JDK_SYMBOLS_IMAGE_DIR))
|
||||
ALL_JDK_SYMBOLS_FILES := $(call ShellFindFiles, $(JDK_SYMBOLS_IMAGE_DIR))
|
||||
else
|
||||
ALL_JDK_SYMBOLS_FILES := $(ALL_JDK_FILES)
|
||||
endif
|
||||
ifneq ($(JDK_IMAGE_DIR), $(JDK_DEMOS_IMAGE_DIR))
|
||||
ALL_JDK_DEMOS_FILES := $(call ShellFindFiles, $(JDK_DEMOS_IMAGE_DIR))
|
||||
else
|
||||
ALL_JDK_DEMOS_FILES := $(ALL_JDK_FILES)
|
||||
endif
|
||||
|
||||
# Create special filter rules when dealing with unzipped .dSYM directories on
|
||||
# macosx
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
|
||||
JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
|
||||
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, \
|
||||
$(ALL_JDK_SYMBOLS_FILES))))
|
||||
endif
|
||||
endif
|
||||
|
||||
# Create special filter rules when dealing with debug symbols on windows
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||
JDK_SYMBOLS_EXCLUDE_PATTERN := %.pdb
|
||||
else
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
|
||||
JDK_SYMBOLS_EXCLUDE_PATTERN := \
|
||||
$(filter-out \
|
||||
%.stripped.pdb, \
|
||||
$(filter %.pdb, $(ALL_JDK_FILES)) \
|
||||
)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
JDK_BUNDLE_FILES := \
|
||||
$(filter-out \
|
||||
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
|
||||
$(JDK_EXTRA_EXCLUDES) \
|
||||
$(SYMBOLS_EXCLUDE_PATTERN) \
|
||||
$(JDK_IMAGE_HOMEDIR)/demo/% \
|
||||
, \
|
||||
$(ALL_JDK_FILES) \
|
||||
)
|
||||
|
||||
JDK_SYMBOLS_BUNDLE_FILES := $(call FindFiles, $(SYMBOLS_IMAGE_DIR))
|
||||
JDK_SYMBOLS_BUNDLE_FILES := \
|
||||
$(filter-out \
|
||||
%.stripped.pdb, \
|
||||
$(call FindFiles, $(SYMBOLS_IMAGE_DIR)) \
|
||||
)
|
||||
|
||||
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
|
||||
$(ALL_JDK_DEMOS_FILES))
|
||||
|
||||
ALL_JRE_FILES := $(call ShellFindFiles, $(JRE_IMAGE_DIR))
|
||||
|
||||
JRE_BUNDLE_FILES := $(ALL_JRE_FILES)
|
||||
# Create special filter rules when dealing with unzipped .dSYM directories on
|
||||
# macosx
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
|
||||
JRE_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
|
||||
$(call containing, .dSYM/, $(patsubst $(JRE_IMAGE_DIR)/%, %, $(ALL_JRE_FILES))))
|
||||
endif
|
||||
endif
|
||||
|
||||
# Create special filter rules when dealing with debug symbols on windows
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||
JRE_SYMBOLS_EXCLUDE_PATTERN := %.pdb
|
||||
else
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
|
||||
JRE_SYMBOLS_EXCLUDE_PATTERN := \
|
||||
$(filter-out \
|
||||
%.stripped.pdb, \
|
||||
$(filter %.pdb, $(ALL_JRE_FILES)) \
|
||||
)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
JRE_BUNDLE_FILES := $(filter-out \
|
||||
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
|
||||
$(SYMBOLS_EXCLUDE_PATTERN), \
|
||||
$(ALL_JRE_FILES))
|
||||
|
||||
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
|
||||
# Macosx release build and code signing available.
|
||||
@@ -228,7 +301,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
|
||||
$(call LogWarn, Signing $(JDK_BUNDLE_NAME))
|
||||
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
|
||||
--timestamp --options runtime --deep --force \
|
||||
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_BUNDLE_TOP_SUBDIR) $(LOG_DEBUG)
|
||||
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
|
||||
@@ -257,7 +330,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
|
||||
$(call LogWarn, Signing $(JRE_BUNDLE_NAME))
|
||||
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
|
||||
--timestamp --options runtime --deep --force \
|
||||
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_BUNDLE_TOP_SUBDIR) $(LOG_DEBUG)
|
||||
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
|
||||
$(TOUCH) $@
|
||||
|
||||
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
|
||||
|
||||
@@ -218,14 +218,10 @@ ifeq ($(call isTargetOs, windows), true)
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.pdb,*.map}'
|
||||
else
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.map}'
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.map}'
|
||||
endif
|
||||
else
|
||||
ifeq ($(SHIP_DEBUG_SYMBOLS), )
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
|
||||
else
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*}'
|
||||
endif
|
||||
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
|
||||
endif
|
||||
|
||||
# Unless we are creating a very large module, use the small tool JVM options
|
||||
|
||||
+4
-6
@@ -93,19 +93,16 @@ JAVADOC_DISABLED_DOCLINT_WARNINGS := missing
|
||||
JAVADOC_DISABLED_DOCLINT_PACKAGES := org.w3c.* javax.smartcardio
|
||||
|
||||
# The initial set of options for javadoc
|
||||
# -XDaccessInternalAPI is a temporary workaround, see 8373909
|
||||
JAVADOC_OPTIONS := -use -keywords -notimestamp \
|
||||
-serialwarn -encoding utf-8 -docencoding utf-8 -breakiterator \
|
||||
-splitIndex --system none -javafx --expand-requires transitive \
|
||||
--override-methods=summary \
|
||||
-XDaccessInternalAPI
|
||||
--override-methods=summary
|
||||
|
||||
# The reference options must stay stable to allow for comparisons across the
|
||||
# development cycle.
|
||||
REFERENCE_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
|
||||
-serialwarn -encoding utf-8 -breakiterator -splitIndex --system none \
|
||||
-html5 -javafx --expand-requires transitive \
|
||||
-XDaccessInternalAPI
|
||||
-html5 -javafx --expand-requires transitive
|
||||
|
||||
# Should we add DRAFT stamps to the generated javadoc?
|
||||
ifeq ($(VERSION_IS_GA), true)
|
||||
@@ -294,7 +291,8 @@ define SetupApiDocsGenerationBody
|
||||
$1_INDIRECT_EXPORTS := $$(call FindTransitiveIndirectDepsForModules, $$($1_MODULES))
|
||||
$1_ALL_MODULES := $$(sort $$($1_MODULES) $$($1_INDIRECT_EXPORTS))
|
||||
|
||||
$1_JAVA_ARGS := -Dextlink.spec.version=$$(VERSION_SPECIFICATION)
|
||||
$1_JAVA_ARGS := -Dextlink.spec.version=$$(VERSION_SPECIFICATION) \
|
||||
-Djspec.version=$$(VERSION_SPECIFICATION)
|
||||
|
||||
ifeq ($$(ENABLE_FULL_DOCS), true)
|
||||
$1_SEALED_GRAPHS_DIR := $$(SUPPORT_OUTPUTDIR)/docs/$1-sealed-graphs
|
||||
|
||||
@@ -114,6 +114,7 @@ ifeq ($(HSDIS_BACKEND), binutils)
|
||||
TOOLCHAIN_TYPE := gcc
|
||||
OPENJDK_TARGET_OS := linux
|
||||
OPENJDK_TARGET_OS_TYPE := unix
|
||||
CC_OUT_OPTION := -o$(SPACE)
|
||||
GENDEPS_FLAGS := -MMD -MF
|
||||
CFLAGS_DEBUG_SYMBOLS := -g
|
||||
DISABLED_WARNINGS :=
|
||||
|
||||
+10
-13
@@ -148,6 +148,7 @@ define CreateCDSArchive
|
||||
$1_$2_DUMP_EXTRA_ARG := $$($1_$2_COOPS_OPTION) $$($1_$2_COH_OPTION)
|
||||
$1_$2_DUMP_TYPE := $(if $(findstring _nocoops, $2),-NOCOOPS,)$(if $(findstring _coh, $2),-COH,)
|
||||
|
||||
# Only G1 supports dumping the shared heap, so explicitly use G1 if the JVM supports it.
|
||||
$1_$2_CDS_DUMP_FLAGS := $(CDS_DUMP_FLAGS) $(if $(filter g1gc, $(JVM_FEATURES_$1)), -XX:+UseG1GC)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
@@ -282,33 +283,29 @@ else
|
||||
endif
|
||||
CMDS_TARGET_SUBDIR := bin
|
||||
|
||||
# Copy debug info files into symbols bundle.
|
||||
# In case of Windows and --with-external-symbols-in-bundles=public, take care to remove *.stripped.pdb files
|
||||
# Param 1 - either JDK or JRE
|
||||
SetupCopyDebuginfo = \
|
||||
$(foreach m, $(ALL_$1_MODULES), \
|
||||
$(eval dbgfiles := $(call FindDebuginfoFiles, $(SUPPORT_OUTPUTDIR)/modules_libs/$m)) \
|
||||
$(eval dbgfiles := $(if $(filter true+public,$(call isTargetOs,windows)+$(SHIP_DEBUG_SYMBOLS)), \
|
||||
$(filter-out %.stripped.pdb,$(dbgfiles)),$(dbgfiles)) \
|
||||
) \
|
||||
$(eval $(call SetupCopyFiles, COPY_$1_LIBS_DEBUGINFO_$m, \
|
||||
SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$m, \
|
||||
DEST := $($1_IMAGE_DIR)/$(LIBS_TARGET_SUBDIR), \
|
||||
FILES := $(dbgfiles), \
|
||||
FILES := $(call FindDebuginfoFiles, \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
|
||||
)) \
|
||||
$(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
|
||||
$(eval dbgfiles := $(call FindDebuginfoFiles, $(SUPPORT_OUTPUTDIR)/modules_cmds/$m)) \
|
||||
$(eval dbgfiles := $(if $(filter true+public,$(call isTargetOs,windows)+$(SHIP_DEBUG_SYMBOLS)), \
|
||||
$(filter-out %.stripped.pdb,$(dbgfiles)),$(dbgfiles)) \
|
||||
) \
|
||||
$(eval $(call SetupCopyFiles, COPY_$1_CMDS_DEBUGINFO_$m, \
|
||||
SRC := $(SUPPORT_OUTPUTDIR)/modules_cmds/$m, \
|
||||
DEST := $($1_IMAGE_DIR)/$(CMDS_TARGET_SUBDIR), \
|
||||
FILES := $(dbgfiles), \
|
||||
FILES := $(call FindDebuginfoFiles, \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_cmds/$m), \
|
||||
)) \
|
||||
$(eval $1_TARGETS += $$(COPY_$1_CMDS_DEBUGINFO_$m)) \
|
||||
)
|
||||
|
||||
# No space before argument to avoid having to put $(strip ) everywhere in implementation above.
|
||||
# No space before argument to avoid having to put $(strip ) everywhere in
|
||||
# implementation above.
|
||||
$(call SetupCopyDebuginfo,JDK)
|
||||
$(call SetupCopyDebuginfo,JRE)
|
||||
$(call SetupCopyDebuginfo,SYMBOLS)
|
||||
|
||||
################################################################################
|
||||
|
||||
+3
-3
@@ -461,9 +461,9 @@ $(eval $(call SetupTarget, symbols-image, \
|
||||
TARGET := symbols, \
|
||||
))
|
||||
|
||||
$(eval $(call SetupTarget, static-launchers, \
|
||||
$(eval $(call SetupTarget, static-launcher, \
|
||||
MAKEFILE := StaticLibs, \
|
||||
TARGET := static-launchers, \
|
||||
TARGET := static-launcher, \
|
||||
DEPS := hotspot-static-libs static-libs, \
|
||||
))
|
||||
|
||||
@@ -1290,7 +1290,7 @@ ifeq ($(call isTargetOs, macosx), true)
|
||||
legacy-images: mac-legacy-jre-bundle
|
||||
endif
|
||||
|
||||
static-exploded-image: static-launchers exploded-image
|
||||
static-exploded-image: static-launcher exploded-image
|
||||
|
||||
# These targets build the various documentation images
|
||||
docs-jdk-image: docs-jdk
|
||||
|
||||
+14
-25
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2016, 2025, 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
|
||||
@@ -206,7 +206,7 @@ $(eval $(call ParseKeywordVariable, JTREG, \
|
||||
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR FAILURE_HANDLER_TIMEOUT \
|
||||
TEST_MODE ASSERT VERBOSE RETAIN TEST_THREAD_FACTORY JVMTI_STRESS_AGENT \
|
||||
MAX_MEM RUN_PROBLEM_LISTS RETRY_COUNT REPEAT_COUNT MAX_OUTPUT REPORT \
|
||||
AOT_JDK MANUAL $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
|
||||
AOT_JDK $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
|
||||
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
|
||||
EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS \
|
||||
$(CUSTOM_JTREG_STRING_KEYWORDS), \
|
||||
@@ -873,7 +873,7 @@ define SetupRunJtregTestBody
|
||||
$1_JTREG_BASIC_OPTIONS += -testThreadFactoryPath:$$(JTREG_TEST_THREAD_FACTORY_JAR)
|
||||
$1_JTREG_BASIC_OPTIONS += -testThreadFactory:$$(JTREG_TEST_THREAD_FACTORY)
|
||||
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
|
||||
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-$$(JTREG_TEST_THREAD_FACTORY).txt) \
|
||||
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-$$(JTREG_TEST_THREAD_FACTORY).txt) \
|
||||
))
|
||||
endif
|
||||
|
||||
@@ -881,8 +881,8 @@ define SetupRunJtregTestBody
|
||||
AGENT := $$(LIBRARY_PREFIX)JvmtiStressAgent$$(SHARED_LIBRARY_SUFFIX)=$$(JTREG_JVMTI_STRESS_AGENT)
|
||||
$1_JTREG_BASIC_OPTIONS += -javaoption:'-agentpath:$(TEST_IMAGE_DIR)/hotspot/jtreg/native/$$(AGENT)'
|
||||
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
|
||||
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-jvmti-stress-agent.txt) \
|
||||
))
|
||||
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-jvmti-stress-agent.txt) \
|
||||
))
|
||||
endif
|
||||
|
||||
|
||||
@@ -911,13 +911,7 @@ define SetupRunJtregTestBody
|
||||
-vmoption:-Dtest.boot.jdk="$$(BOOT_JDK)" \
|
||||
-vmoption:-Djava.io.tmpdir="$$($1_TEST_TMP_DIR)"
|
||||
|
||||
$1_JTREG_BASIC_OPTIONS += -ignore:quiet
|
||||
|
||||
ifeq ($$(JTREG_MANUAL), true)
|
||||
$1_JTREG_BASIC_OPTIONS += -manual
|
||||
else
|
||||
$1_JTREG_BASIC_OPTIONS += -automatic
|
||||
endif
|
||||
$1_JTREG_BASIC_OPTIONS += -automatic -ignore:quiet
|
||||
|
||||
# Make it possible to specify the JIB_DATA_DIR for tests using the
|
||||
# JIB Artifact resolver
|
||||
@@ -952,8 +946,8 @@ define SetupRunJtregTestBody
|
||||
JTREG_ALL_OPTIONS := $$(JTREG_JAVA_OPTIONS) $$(JTREG_VM_OPTIONS)
|
||||
|
||||
JTREG_AUTO_PROBLEM_LISTS :=
|
||||
# Please reach consensus before changing this.
|
||||
JTREG_AUTO_TIMEOUT_FACTOR := 4
|
||||
# Please reach consensus before changing this. It was not easy changing it to a `1`.
|
||||
JTREG_AUTO_TIMEOUT_FACTOR := 1
|
||||
|
||||
ifneq ($$(findstring -Xcomp, $$(JTREG_ALL_OPTIONS)), )
|
||||
JTREG_AUTO_PROBLEM_LISTS += ProblemList-Xcomp.txt
|
||||
@@ -972,10 +966,6 @@ define SetupRunJtregTestBody
|
||||
JTREG_AUTO_PROBLEM_LISTS += ProblemList-enable-preview.txt
|
||||
endif
|
||||
|
||||
ifneq ($$(findstring -XX:+UseCompactObjectHeaders, $$(JTREG_ALL_OPTIONS)), )
|
||||
JTREG_AUTO_PROBLEM_LISTS += ProblemList-coh.txt
|
||||
endif
|
||||
|
||||
|
||||
ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), )
|
||||
# Accept both absolute paths as well as relative to the current test root.
|
||||
@@ -1096,7 +1086,7 @@ define SetupRunJtregTestBody
|
||||
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
|
||||
$$($1_TEST_TMP_DIR))
|
||||
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, \
|
||||
$$(COV_ENVIRONMENT) $$($1_COMMAND_LINE) \
|
||||
$$(COV_ENVIRONMENT) $$($1_COMMAND_LINE) \
|
||||
)
|
||||
|
||||
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/text/stats.txt
|
||||
@@ -1106,11 +1096,11 @@ define SetupRunJtregTestBody
|
||||
$$(call LogWarn, Test report is stored in $$(strip \
|
||||
$$(subst $$(TOPDIR)/, , $$($1_TEST_RESULTS_DIR))))
|
||||
|
||||
# Read jtreg documentation to learn on the test stats categories:
|
||||
# https://github.com/openjdk/jtreg/blob/master/src/share/doc/javatest/regtest/faq.md#what-do-all-those-numbers-in-the-test-results-line-mean
|
||||
# In jtreg, "skipped:" category accounts for tests that threw jtreg.SkippedException at runtime.
|
||||
# At the same time these tests contribute to "passed:" tests.
|
||||
# In here we don't want that and so we substract number of "skipped:" from "passed:".
|
||||
# Read jtreg documentation to learn on the test stats categories:
|
||||
# https://github.com/openjdk/jtreg/blob/master/src/share/doc/javatest/regtest/faq.md#what-do-all-those-numbers-in-the-test-results-line-mean
|
||||
# In jtreg, "skipped:" category accounts for tests that threw jtreg.SkippedException at runtime.
|
||||
# At the same time these tests contribute to "passed:" tests.
|
||||
# In here we don't want that and so we substract number of "skipped:" from "passed:".
|
||||
|
||||
$$(if $$(wildcard $$($1_RESULT_FILE)), \
|
||||
$$(eval $1_PASSED_AND_RUNTIME_SKIPPED := $$(shell $$(AWK) '{ gsub(/[,;]/, ""); \
|
||||
@@ -1161,7 +1151,6 @@ define SetupRunJtregTestBody
|
||||
$$(EXPR) $$($1_PASSED) + $$($1_FAILED) + $$($1_ERROR) + $$($1_SKIPPED))) \
|
||||
, \
|
||||
$$(eval $1_PASSED_AND_RUNTIME_SKIPPED := 0) \
|
||||
$$(eval $1_PASSED := 0) \
|
||||
$$(eval $1_RUNTIME_SKIPPED := 0) \
|
||||
$$(eval $1_SKIPPED := 0) \
|
||||
$$(eval $1_FAILED := 0) \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2017, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
+10
-110
@@ -48,8 +48,8 @@ ifneq ($(word 2, $(wildcard $(HOTSPOT_STATIC_LIB_PATH))), )
|
||||
endif
|
||||
|
||||
# Find all modules with static libraries
|
||||
STATIC_LIB_MODULES := $(sort $(patsubst $(SUPPORT_OUTPUTDIR)/modules_static-libs/%, \
|
||||
%, $(wildcard $(SUPPORT_OUTPUTDIR)/modules_static-libs/*)))
|
||||
STATIC_LIB_MODULES := $(patsubst $(SUPPORT_OUTPUTDIR)/modules_static-libs/%, \
|
||||
%, $(wildcard $(SUPPORT_OUTPUTDIR)/modules_static-libs/*))
|
||||
|
||||
# Filter out known broken libraries. This is a temporary measure until
|
||||
# proper support for these libraries can be provided.
|
||||
@@ -116,25 +116,17 @@ else ifeq ($(call isTargetOs, aix), true)
|
||||
$(eval STATIC_LIB_EXPORT_FILES += $(lib).exp) \
|
||||
)
|
||||
STATIC_LIBS := -Wl,-bexpfull $(STATIC_LIB_FILES) $(addprefix -Wl$(COMMA)-bE:, $(STATIC_LIB_EXPORT_FILES))
|
||||
ifeq ($(DEBUG_LEVEL), slowdebug)
|
||||
STATIC_LIBS += -Wl,-bbigtoc
|
||||
endif
|
||||
else
|
||||
$(error Unsupported platform)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Build the java static launcher
|
||||
################################################################################
|
||||
$(eval $(call SetupBuildLauncher, java, \
|
||||
ENABLE_ARG_FILES := true, \
|
||||
EXPAND_CLASSPATH_WILDCARDS := true, \
|
||||
EXTRA_RCFLAGS := $(JAVA_RCFLAGS), \
|
||||
VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
|
||||
OPTIMIZATION := HIGH, \
|
||||
MACOSX_PRIVILEGED := true, \
|
||||
STATIC_LAUNCHER := true, \
|
||||
CFLAGS := -DSTATIC_BUILD, \
|
||||
LDFLAGS := $(LDFLAGS_STATIC_JDK), \
|
||||
LIBS := $(STATIC_LIBS) $(EXTERNAL_LIBS), \
|
||||
LINK_TYPE := C++, \
|
||||
@@ -151,53 +143,7 @@ TARGETS += $(java)
|
||||
|
||||
JAVA_LAUNCHER := $(BUILD_LAUNCHER_java_TARGET)
|
||||
|
||||
static-launchers: $(java)
|
||||
|
||||
################################################################################
|
||||
# Build relaunchers (thin wrappers calling the java binary) for all other
|
||||
# JDK launchers.
|
||||
################################################################################
|
||||
|
||||
RELAUNCHER_SRC := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/launcher
|
||||
|
||||
# $1: The module name
|
||||
# $2: The launcher name
|
||||
define SetupRelauncher
|
||||
$1_$2_LAUNCHER_ARGS_LINE := $$(call ReadFile, $$(SUPPORT_OUTPUTDIR)/static-native/relaunchers/$1/$2-relauncher-arguments.txt)
|
||||
# Restore |||| with space
|
||||
$1_$2_LAUNCHER_ARGS := '{ $$(subst ||||,$(SPACE),$$(strip $$(foreach a, $$($1_$2_LAUNCHER_ARGS_LINE), "-J$$a"$$(COMMA) )) ) }'
|
||||
|
||||
$$(eval $$(call SetupJdkExecutable, BUILD_relauncher_$2, \
|
||||
NAME := $2, \
|
||||
EXTRA_FILES := $$(RELAUNCHER_SRC)/relauncher.c, \
|
||||
CFLAGS := -DLAUNCHER_ARGS=$$($1_$2_LAUNCHER_ARGS), \
|
||||
LIBS_windows := shlwapi.lib, \
|
||||
OUTPUT_DIR := $$(STATIC_LAUNCHER_OUTPUT_DIR), \
|
||||
OBJECT_DIR := $$(STATIC_LAUNCHER_OUTPUT_DIR)/relaunchers/$2, \
|
||||
))
|
||||
|
||||
TARGETS += $$(BUILD_relauncher_$2)
|
||||
|
||||
RELAUNCHERS += $$(BUILD_relauncher_$2_TARGET)
|
||||
static-launchers: $$(BUILD_relauncher_$2)
|
||||
endef
|
||||
|
||||
# Find all modules with launchers
|
||||
LAUNCHER_MODULES := $(sort $(patsubst $(SUPPORT_OUTPUTDIR)/modules_static-launchers/%, \
|
||||
%, $(wildcard $(SUPPORT_OUTPUTDIR)/modules_static-launchers/*)))
|
||||
|
||||
# Find launchers for each module
|
||||
$(foreach module, $(LAUNCHER_MODULES), \
|
||||
$(eval LAUNCHERS_$(module) := $(if $(wildcard \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_static-launchers/$(module)/module-included-launchers.txt), \
|
||||
$(shell cat \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_static-launchers/$(module)/module-included-launchers.txt))) \
|
||||
)
|
||||
|
||||
# For all launchers (except java and javaw), setup a relauncher build
|
||||
$(foreach module, $(LAUNCHER_MODULES), \
|
||||
$(foreach launcher, $(filter-out java javaw, $(LAUNCHERS_$(module))), \
|
||||
$(eval $(call SetupRelauncher,$(module),$(launcher)))))
|
||||
static-launcher: $(java)
|
||||
|
||||
################################################################################
|
||||
#
|
||||
@@ -239,72 +185,26 @@ TARGETS += $(copy-from-jdk-image)
|
||||
|
||||
$(copy-from-jdk-image): | static-jdk-info
|
||||
|
||||
$(eval $(call SetupCopyFiles, copy-static-launchers, \
|
||||
FILES := $(JAVA_LAUNCHER) $(RELAUNCHERS), \
|
||||
$(eval $(call SetupCopyFiles, copy-static-launcher, \
|
||||
FILES := $(JAVA_LAUNCHER), \
|
||||
DEST := $(STATIC_JDK_IMAGE_DIR)/bin, \
|
||||
))
|
||||
|
||||
TARGETS += $(copy-static-launchers)
|
||||
TARGETS += $(copy-static-launcher)
|
||||
|
||||
$(eval $(call SetupCopyFiles, copy-static-launchers-debuginfo, \
|
||||
$(eval $(call SetupCopyFiles, copy-static-launcher-debuginfo, \
|
||||
SRC := $(STATIC_LAUNCHER_OUTPUT_DIR), \
|
||||
DEST := $(STATIC_JDK_IMAGE_DIR)/bin, \
|
||||
FILES := $(call FindDebuginfoFiles, $(STATIC_LAUNCHER_OUTPUT_DIR)), \
|
||||
))
|
||||
|
||||
TARGETS += $(copy-static-launchers-debuginfo)
|
||||
TARGETS += $(copy-static-launcher-debuginfo)
|
||||
|
||||
# Copy the microsoft runtime libraries on windows
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
# Chmod to avoid permission issues if bundles are unpacked on unix platforms.
|
||||
# Use separate macro calls in case the source files are not in the same
|
||||
# directory.
|
||||
$(eval $(call SetupCopyFiles, copy-windows-msvcr, \
|
||||
DEST := $(STATIC_JDK_IMAGE_DIR)/bin, \
|
||||
FILES := $(MSVCR_DLL), \
|
||||
MACRO := copy-and-chmod-executable, \
|
||||
))
|
||||
|
||||
TARGETS += $(copy-windows-msvcr)
|
||||
|
||||
$(eval $(call SetupCopyFiles, copy-windows-vcruntime, \
|
||||
DEST := $(STATIC_JDK_IMAGE_DIR)/bin, \
|
||||
FILES := $(VCRUNTIME_1_DLL), \
|
||||
MACRO := copy-and-chmod-executable, \
|
||||
))
|
||||
|
||||
TARGETS += $(copy-windows-vcruntime)
|
||||
|
||||
$(eval $(call SetupCopyFiles, copy-windows-msvcp, \
|
||||
DEST := $(STATIC_JDK_IMAGE_DIR)/bin, \
|
||||
FILES := $(MSVCP_DLL), \
|
||||
MACRO := copy-and-chmod-executable, \
|
||||
))
|
||||
|
||||
TARGETS += $(copy-windows-msvcp)
|
||||
|
||||
copy-windows-libs := $(copy-windows-msvcr) $(copy-windows-vcruntime) $(copy-windows-msvcp)
|
||||
|
||||
ifneq ($(UCRT_DLL_DIR), )
|
||||
$(eval $(call SetupCopyFiles, copy-windows-ucrt, \
|
||||
DEST := $(STATIC_JDK_IMAGE_DIR)/bin, \
|
||||
SRC := $(UCRT_DLL_DIR), \
|
||||
FILES := $(wildcard $(UCRT_DLL_DIR)/*.dll), \
|
||||
MACRO := copy-and-chmod-executable, \
|
||||
))
|
||||
|
||||
TARGETS += $(copy-windows-ucrt)
|
||||
|
||||
copy-windows-libs += $(copy-windows-ucrt)
|
||||
endif
|
||||
endif
|
||||
|
||||
static-jdk-image: $(copy-from-jdk-image) $(copy-static-launchers) \
|
||||
$(copy-static-launchers-debuginfo) $(copy-windows-libs)
|
||||
static-jdk-image: $(copy-from-jdk-image) $(copy-static-launcher) $(copy-static-launcher-debuginfo)
|
||||
|
||||
TARGETS += static-jdk-image
|
||||
|
||||
.PHONY: static-launchers static-jdk-image
|
||||
.PHONY: static-launcher static-jdk-image
|
||||
|
||||
################################################################################
|
||||
|
||||
|
||||
+1
-1
@@ -79,7 +79,7 @@ TOOL_GENERATEEXTRAPROPERTIES = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_too
|
||||
build.tools.generateextraproperties.GenerateExtraProperties
|
||||
|
||||
TOOL_GENERATECASEFOLDING = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
build.tools.generatecharacter.GenerateCaseFolding
|
||||
build.tools.generatecharacter.CaseFolding
|
||||
|
||||
TOOL_MAKEZIPREPRODUCIBLE = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
|
||||
build.tools.makezipreproducible.MakeZipReproducible
|
||||
|
||||
+20
-9
@@ -210,8 +210,17 @@ AC_DEFUN([BASIC_SETUP_XCODE_SYSROOT],
|
||||
if test $? -ne 0; then
|
||||
AC_MSG_ERROR([The xcodebuild tool in the devkit reports an error: $XCODEBUILD_OUTPUT])
|
||||
fi
|
||||
elif test "x$TOOLCHAIN_PATH" != x; then
|
||||
UTIL_LOOKUP_PROGS(XCODEBUILD, xcodebuild, $TOOLCHAIN_PATH)
|
||||
if test "x$XCODEBUILD" != x; then
|
||||
XCODEBUILD_OUTPUT=`"$XCODEBUILD" -version 2>&1`
|
||||
if test $? -ne 0; then
|
||||
AC_MSG_WARN([Ignoring the located xcodebuild tool $XCODEBUILD due to an error: $XCODEBUILD_OUTPUT])
|
||||
XCODEBUILD=
|
||||
fi
|
||||
fi
|
||||
else
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS(XCODEBUILD, xcodebuild)
|
||||
UTIL_LOOKUP_PROGS(XCODEBUILD, xcodebuild)
|
||||
if test "x$XCODEBUILD" != x; then
|
||||
XCODEBUILD_OUTPUT=`"$XCODEBUILD" -version 2>&1`
|
||||
if test $? -ne 0; then
|
||||
@@ -339,11 +348,21 @@ AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
|
||||
|
||||
# You can force the sysroot if the sysroot encoded into the compiler tools
|
||||
# is not correct.
|
||||
AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
|
||||
[alias for --with-sysroot for backwards compatibility])],
|
||||
[SYSROOT=$with_sys_root]
|
||||
)
|
||||
|
||||
AC_ARG_WITH(sysroot, [AS_HELP_STRING([--with-sysroot],
|
||||
[use this directory as sysroot])],
|
||||
[SYSROOT=$with_sysroot]
|
||||
)
|
||||
|
||||
AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
|
||||
[alias for --with-toolchain-path for backwards compatibility])],
|
||||
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_tools_dir)]
|
||||
)
|
||||
|
||||
AC_ARG_WITH([toolchain-path], [AS_HELP_STRING([--with-toolchain-path],
|
||||
[prepend these directories when searching for toolchain binaries (compilers etc)])],
|
||||
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_toolchain_path)]
|
||||
@@ -352,14 +371,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
|
||||
AC_ARG_WITH([xcode-path], [AS_HELP_STRING([--with-xcode-path],
|
||||
[set up toolchain on Mac OS using a path to an Xcode installation])])
|
||||
|
||||
UTIL_DEPRECATED_ARG_WITH(sys-root)
|
||||
|
||||
AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
|
||||
[Point to a nonstandard Visual Studio installation location on Windows by
|
||||
specifying any existing directory 2 or 3 levels below the installation
|
||||
root.])]
|
||||
)
|
||||
|
||||
if test "x$with_xcode_path" != x; then
|
||||
if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
|
||||
UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],
|
||||
|
||||
@@ -207,14 +207,29 @@ AC_DEFUN([BASIC_CHECK_GNU_MAKE],
|
||||
UTIL_SETUP_TOOL(MAKE,
|
||||
[
|
||||
# Try our hardest to locate a correct version of GNU make
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS(CHECK_GMAKE, gmake)
|
||||
UTIL_LOOKUP_PROGS(CHECK_GMAKE, gmake)
|
||||
BASIC_CHECK_MAKE_VERSION("$CHECK_GMAKE", [gmake in PATH])
|
||||
|
||||
if test "x$FOUND_MAKE" = x; then
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS(CHECK_MAKE, make)
|
||||
UTIL_LOOKUP_PROGS(CHECK_MAKE, make)
|
||||
BASIC_CHECK_MAKE_VERSION("$CHECK_MAKE", [make in PATH])
|
||||
fi
|
||||
|
||||
if test "x$FOUND_MAKE" = x; then
|
||||
if test "x$TOOLCHAIN_PATH" != x; then
|
||||
# We have a toolchain path, check that as well before giving up.
|
||||
OLD_PATH=$PATH
|
||||
PATH=$TOOLCHAIN_PATH:$PATH
|
||||
UTIL_LOOKUP_PROGS(CHECK_TOOLSDIR_GMAKE, gmake)
|
||||
BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_GMAKE", [gmake in tools-dir])
|
||||
if test "x$FOUND_MAKE" = x; then
|
||||
UTIL_LOOKUP_PROGS(CHECK_TOOLSDIR_MAKE, make)
|
||||
BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_MAKE", [make in tools-dir])
|
||||
fi
|
||||
PATH=$OLD_PATH
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$FOUND_MAKE" = x; then
|
||||
AC_MSG_ERROR([Cannot find GNU make $MAKE_REQUIRED_VERSION or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
|
||||
fi
|
||||
@@ -363,7 +378,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
|
||||
|
||||
# Check if it's a GNU date compatible version
|
||||
AC_MSG_CHECKING([if date is a GNU compatible version])
|
||||
check_date=`$DATE --version 2>&1 | $GREP "GNU\|BusyBox\|uutils"`
|
||||
check_date=`$DATE --version 2>&1 | $GREP "GNU\|BusyBox"`
|
||||
if test "x$check_date" != x; then
|
||||
AC_MSG_RESULT([yes])
|
||||
IS_GNU_DATE=yes
|
||||
|
||||
@@ -408,6 +408,27 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
|
||||
AC_MSG_CHECKING([if Boot JDK is 32 or 64 bits])
|
||||
AC_MSG_RESULT([$BOOT_JDK_BITS])
|
||||
|
||||
# Try to enable CDS
|
||||
AC_MSG_CHECKING([for local Boot JDK Class Data Sharing (CDS)])
|
||||
BOOT_JDK_CDS_ARCHIVE=$CONFIGURESUPPORT_OUTPUTDIR/classes.jsa
|
||||
UTIL_ADD_JVM_ARG_IF_OK([-XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=$BOOT_JDK_CDS_ARCHIVE],boot_jdk_cds_args,[$JAVA])
|
||||
|
||||
if test "x$boot_jdk_cds_args" != x; then
|
||||
# Try creating a CDS archive
|
||||
$JAVA $boot_jdk_cds_args -Xshare:dump > /dev/null 2>&1
|
||||
if test $? -eq 0; then
|
||||
BOOTJDK_USE_LOCAL_CDS=true
|
||||
AC_MSG_RESULT([yes, created])
|
||||
else
|
||||
# Generation failed, don't use CDS.
|
||||
BOOTJDK_USE_LOCAL_CDS=false
|
||||
AC_MSG_RESULT([no, creation failed])
|
||||
fi
|
||||
else
|
||||
BOOTJDK_USE_LOCAL_CDS=false
|
||||
AC_MSG_RESULT([no, -XX:SharedArchiveFile not supported])
|
||||
fi
|
||||
|
||||
BOOTJDK_SETUP_CLASSPATH
|
||||
])
|
||||
|
||||
@@ -423,8 +444,13 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
||||
# Force en-US environment
|
||||
UTIL_ADD_JVM_ARG_IF_OK([-Duser.language=en -Duser.country=US],boot_jdk_jvmargs,[$JAVA])
|
||||
|
||||
UTIL_ADD_JVM_ARG_IF_OK([-Xlog:all=off:stdout],boot_jdk_jvmargs,[$JAVA])
|
||||
UTIL_ADD_JVM_ARG_IF_OK([-Xlog:all=warning:stderr],boot_jdk_jvmargs,[$JAVA])
|
||||
if test "x$BOOTJDK_USE_LOCAL_CDS" = xtrue; then
|
||||
# Use our own CDS archive
|
||||
UTIL_ADD_JVM_ARG_IF_OK([$boot_jdk_cds_args -Xshare:auto],boot_jdk_jvmargs,[$JAVA])
|
||||
else
|
||||
# Otherwise optimistically use the system-wide one, if one is present
|
||||
UTIL_ADD_JVM_ARG_IF_OK([-Xshare:auto],boot_jdk_jvmargs,[$JAVA])
|
||||
fi
|
||||
|
||||
# Finally append user provided options to allow them to override.
|
||||
UTIL_ADD_JVM_ARG_IF_OK([$USER_BOOT_JDK_OPTIONS],boot_jdk_jvmargs,[$JAVA])
|
||||
@@ -571,9 +597,10 @@ AC_DEFUN([BOOTJDK_SETUP_BUILD_JDK],
|
||||
AC_ARG_WITH(build-jdk, [AS_HELP_STRING([--with-build-jdk],
|
||||
[path to JDK of same version as is being built@<:@the newly built JDK@:>@])])
|
||||
|
||||
EXTERNAL_BUILDJDK_PATH=""
|
||||
CREATE_BUILDJDK=false
|
||||
EXTERNAL_BUILDJDK=false
|
||||
BUILD_JDK_FOUND="no"
|
||||
if test "x$with_build_jdk" != "x"; then
|
||||
BUILD_JDK_FOUND=no
|
||||
BOOTJDK_CHECK_BUILD_JDK([
|
||||
if test "x$with_build_jdk" != x; then
|
||||
BUILD_JDK=$with_build_jdk
|
||||
@@ -581,15 +608,40 @@ AC_DEFUN([BOOTJDK_SETUP_BUILD_JDK],
|
||||
AC_MSG_NOTICE([Found potential Build JDK using configure arguments])
|
||||
fi
|
||||
])
|
||||
if test "x$BUILD_JDK_FOUND" != "xyes"; then
|
||||
EXTERNAL_BUILDJDK=true
|
||||
else
|
||||
if test "x$COMPILE_TYPE" = "xcross"; then
|
||||
BUILD_JDK="\$(BUILDJDK_OUTPUTDIR)/jdk"
|
||||
BUILD_JDK_FOUND=yes
|
||||
CREATE_BUILDJDK=true
|
||||
AC_MSG_CHECKING([for Build JDK])
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([Could not find a suitable Build JDK])
|
||||
AC_MSG_RESULT([yes, will build it for the host platform])
|
||||
else
|
||||
BUILD_JDK="\$(JDK_OUTPUTDIR)"
|
||||
BUILD_JDK_FOUND=yes
|
||||
AC_MSG_CHECKING([for Build JDK])
|
||||
AC_MSG_RESULT([yes, will use output dir])
|
||||
fi
|
||||
EXTERNAL_BUILDJDK_PATH="$BUILD_JDK"
|
||||
fi
|
||||
|
||||
AC_SUBST(EXTERNAL_BUILDJDK_PATH)
|
||||
# Since these tools do not yet exist, we cannot use UTIL_FIXUP_EXECUTABLE to
|
||||
# detect the need of fixpath
|
||||
JMOD="$BUILD_JDK/bin/jmod"
|
||||
UTIL_ADD_FIXPATH(JMOD)
|
||||
JLINK="$BUILD_JDK/bin/jlink"
|
||||
UTIL_ADD_FIXPATH(JLINK)
|
||||
AC_SUBST(JMOD)
|
||||
AC_SUBST(JLINK)
|
||||
|
||||
if test "x$BUILD_JDK_FOUND" != "xyes"; then
|
||||
AC_MSG_CHECKING([for Build JDK])
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([Could not find a suitable Build JDK])
|
||||
fi
|
||||
|
||||
AC_SUBST(CREATE_BUILDJDK)
|
||||
AC_SUBST(BUILD_JDK)
|
||||
AC_SUBST(EXTERNAL_BUILDJDK)
|
||||
])
|
||||
|
||||
# The docs-reference JDK is used to run javadoc for the docs-reference targets.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -44,3 +44,7 @@ JAVAC_CMD := $(FIXPATH) $(BOOT_JDK)/bin/javac
|
||||
JAR_CMD := $(FIXPATH) $(BOOT_JDK)/bin/jar
|
||||
# The bootcycle JVM arguments may differ from the original boot jdk.
|
||||
JAVA_FLAGS_BIG := @BOOTCYCLE_JVM_ARGS_BIG@
|
||||
# Any CDS settings generated for the bootjdk are invalid in the bootcycle build.
|
||||
# By filtering out those JVM args, the bootcycle JVM will use its default
|
||||
# settings for CDS.
|
||||
JAVA_FLAGS := $(filter-out -XX:SharedArchiveFile% -Xshare%, $(JAVA_FLAGS))
|
||||
|
||||
@@ -162,7 +162,12 @@ AC_DEFUN([BPERF_SETUP_CCACHE],
|
||||
# Check if ccache is available
|
||||
CCACHE_AVAILABLE=true
|
||||
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS(CCACHE, ccache)
|
||||
OLD_PATH="$PATH"
|
||||
if test "x$TOOLCHAIN_PATH" != x; then
|
||||
PATH=$TOOLCHAIN_PATH:$PATH
|
||||
fi
|
||||
UTIL_LOOKUP_PROGS(CCACHE, ccache)
|
||||
PATH="$OLD_PATH"
|
||||
|
||||
AC_MSG_CHECKING([if ccache is available])
|
||||
if test "x$TOOLCHAIN_TYPE" != "xgcc" && test "x$TOOLCHAIN_TYPE" != "xclang"; then
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2015, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -110,4 +110,4 @@ $MV $OUTPUTDIR/compare.log $OUTPUTDIR/compare.log.old 2> /dev/null
|
||||
|
||||
export SCRIPT_DIR="$( cd "$( dirname "$0" )" > /dev/null && pwd )"
|
||||
|
||||
$BASH $TOPDIR/make/scripts/compare-logger.sh $OUTPUTDIR/compare.log $BASH "$REAL_COMPARE_SCRIPT" "$@"
|
||||
$BASH $TOPDIR/make/scripts/logger.sh $OUTPUTDIR/compare.log $BASH "$REAL_COMPARE_SCRIPT" "$@"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2025, 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
|
||||
@@ -37,25 +37,56 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
# Default works for linux, might work on other platforms as well.
|
||||
SHARED_LIBRARY_FLAGS='-shared'
|
||||
# --disable-new-dtags forces use of RPATH instead of RUNPATH for rpaths.
|
||||
# This protects internal library dependencies within the JDK from being
|
||||
# overridden using LD_LIBRARY_PATH. See JDK-8326891 for more information.
|
||||
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1 -Wl,--disable-new-dtags'
|
||||
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
|
||||
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
|
||||
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||
# Linking is different on MacOSX
|
||||
SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0"
|
||||
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path$(or [$]1,/.)'
|
||||
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
|
||||
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
|
||||
|
||||
elif test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
# Linking is different on aix
|
||||
SHARED_LIBRARY_FLAGS="-shared -Wl,-bM:SRE -Wl,-bnoentry"
|
||||
SET_EXECUTABLE_ORIGIN=""
|
||||
SET_SHARED_LIBRARY_ORIGIN=''
|
||||
SET_SHARED_LIBRARY_NAME=''
|
||||
|
||||
else
|
||||
# Default works for linux, might work on other platforms as well.
|
||||
SHARED_LIBRARY_FLAGS='-shared'
|
||||
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
|
||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
SET_EXECUTABLE_ORIGIN="$SET_EXECUTABLE_ORIGIN -Wl,--disable-new-dtags"
|
||||
fi
|
||||
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
|
||||
|
||||
# arm specific settings
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xarm"; then
|
||||
# '-Wl,-z,origin' isn't used on arm.
|
||||
SET_SHARED_LIBRARY_ORIGIN='-Wl,-rpath,\$$$$ORIGIN[$]1'
|
||||
else
|
||||
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
|
||||
fi
|
||||
fi
|
||||
|
||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
SHARED_LIBRARY_FLAGS="-dll"
|
||||
SET_EXECUTABLE_ORIGIN=''
|
||||
SET_SHARED_LIBRARY_ORIGIN=''
|
||||
SET_SHARED_LIBRARY_NAME=''
|
||||
fi
|
||||
|
||||
AC_SUBST(SET_EXECUTABLE_ORIGIN)
|
||||
AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
|
||||
AC_SUBST(SET_SHARED_LIBRARY_NAME)
|
||||
AC_SUBST(SHARED_LIBRARY_FLAGS)
|
||||
])
|
||||
|
||||
@@ -69,19 +100,6 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
|
||||
# Debug prefix mapping if supported by compiler
|
||||
DEBUG_PREFIX_CFLAGS=
|
||||
|
||||
UTIL_ARG_WITH(NAME: native-debug-symbols-level, TYPE: literal,
|
||||
DEFAULT: [auto], VALID_VALUES: [auto 1 2 3],
|
||||
CHECK_AVAILABLE: [
|
||||
if test x$TOOLCHAIN_TYPE = xmicrosoft; then
|
||||
AVAILABLE=false
|
||||
fi
|
||||
],
|
||||
DESC: [set the native debug symbol level (GCC and Clang only)],
|
||||
DEFAULT_DESC: [toolchain default],
|
||||
IF_AUTO: [
|
||||
RESULT=""
|
||||
])
|
||||
|
||||
# Debug symbols
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
|
||||
@@ -106,9 +124,8 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
|
||||
)
|
||||
fi
|
||||
|
||||
# Debug info level should follow the debug format to be effective.
|
||||
CFLAGS_DEBUG_SYMBOLS="-gdwarf-4 -g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
|
||||
ASFLAGS_DEBUG_SYMBOLS="-g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
|
||||
CFLAGS_DEBUG_SYMBOLS="-g -gdwarf-4"
|
||||
ASFLAGS_DEBUG_SYMBOLS="-g"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
|
||||
# Check if compiler supports -fdebug-prefix-map. If so, use that to make
|
||||
@@ -127,9 +144,8 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
|
||||
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${GDWARF_FLAGS}],
|
||||
IF_FALSE: [GDWARF_FLAGS=""])
|
||||
|
||||
# Debug info level should follow the debug format to be effective.
|
||||
CFLAGS_DEBUG_SYMBOLS="${GDWARF_FLAGS} -g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
|
||||
ASFLAGS_DEBUG_SYMBOLS="-g${NATIVE_DEBUG_SYMBOLS_LEVEL}"
|
||||
CFLAGS_DEBUG_SYMBOLS="-g ${GDWARF_FLAGS}"
|
||||
ASFLAGS_DEBUG_SYMBOLS="-g"
|
||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
CFLAGS_DEBUG_SYMBOLS="-Z7"
|
||||
fi
|
||||
@@ -209,10 +225,7 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
BUILD_CC_DISABLE_WARNING_PREFIX="-wd"
|
||||
CFLAGS_WARNINGS_ARE_ERRORS="-WX"
|
||||
|
||||
WARNINGS_ENABLE_ALL_NORMAL="-W3"
|
||||
WARNINGS_ENABLE_ADDITIONAL=""
|
||||
WARNINGS_ENABLE_ADDITIONAL_CXX=""
|
||||
WARNINGS_ENABLE_ADDITIONAL_JVM=""
|
||||
WARNINGS_ENABLE_ALL="-W3"
|
||||
DISABLED_WARNINGS="4800 5105"
|
||||
;;
|
||||
|
||||
@@ -221,16 +234,14 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
|
||||
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
|
||||
|
||||
WARNINGS_ENABLE_ALL_NORMAL="-Wall -Wextra"
|
||||
|
||||
# Additional warnings that are not activated by -Wall and -Wextra
|
||||
WARNINGS_ENABLE_ADDITIONAL="-Wformat=2 \
|
||||
-Winvalid-pch -Wpointer-arith -Wreturn-type \
|
||||
WARNINGS_ENABLE_ADDITIONAL="-Winvalid-pch -Wpointer-arith -Wreturn-type \
|
||||
-Wsign-compare -Wtrampolines -Wtype-limits -Wundef -Wuninitialized \
|
||||
-Wunused-const-variable=1 -Wunused-function -Wunused-result \
|
||||
-Wunused-value"
|
||||
WARNINGS_ENABLE_ADDITIONAL_CXX="-Woverloaded-virtual -Wreorder"
|
||||
WARNINGS_ENABLE_ADDITIONAL_JVM="-Wzero-as-null-pointer-constant"
|
||||
WARNINGS_ENABLE_ALL_CFLAGS="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
|
||||
WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX"
|
||||
|
||||
# These warnings will never be turned on, since they generate too many
|
||||
# false positives.
|
||||
@@ -246,24 +257,16 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
||||
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
|
||||
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
|
||||
|
||||
WARNINGS_ENABLE_ALL_NORMAL="-Wall -Wextra"
|
||||
|
||||
# Additional warnings that are not activated by -Wall and -Wextra
|
||||
WARNINGS_ENABLE_ADDITIONAL="-Wformat=2 \
|
||||
-Wpointer-arith -Wsign-compare -Wreorder \
|
||||
WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wsign-compare -Wreorder \
|
||||
-Wunused-function -Wundef -Wunused-value -Woverloaded-virtual"
|
||||
WARNINGS_ENABLE_ADDITIONAL_CXX=""
|
||||
WARNINGS_ENABLE_ADDITIONAL_JVM="-Wzero-as-null-pointer-constant"
|
||||
WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL"
|
||||
|
||||
# These warnings will never be turned on, since they generate too many
|
||||
# false positives.
|
||||
DISABLED_WARNINGS="unknown-warning-option unused-parameter"
|
||||
;;
|
||||
esac
|
||||
WARNINGS_ENABLE_ALL="$WARNINGS_ENABLE_ALL_NORMAL $WARNINGS_ENABLE_ADDITIONAL"
|
||||
WARNINGS_ENABLE_ALL_CXX="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ADDITIONAL_CXX"
|
||||
WARNINGS_ENABLE_ALL_JVM="$WARNINGS_ENABLE_ALL_CXX $WARNINGS_ENABLE_ADDITIONAL_JVM"
|
||||
|
||||
AC_SUBST(DISABLE_WARNING_PREFIX)
|
||||
AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX)
|
||||
AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS)
|
||||
@@ -310,17 +313,10 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
||||
C_O_FLAG_DEBUG_JVM="-O0"
|
||||
C_O_FLAG_NONE="-O0"
|
||||
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
C_O_FLAG_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing -fno-fat-lto-objects"
|
||||
else
|
||||
C_O_FLAG_LTO="-flto -fno-strict-aliasing"
|
||||
fi
|
||||
|
||||
if test "x$TOOLCHAIN_TYPE" = xclang && test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
C_O_FLAG_HIGHEST_JVM="${C_O_FLAG_HIGHEST_JVM} -finline-functions"
|
||||
C_O_FLAG_HIGHEST="${C_O_FLAG_HIGHEST} -finline-functions"
|
||||
C_O_FLAG_HI="${C_O_FLAG_HI} -finline-functions"
|
||||
C_O_FLAG_LTO="${C_O_FLAG_LTO} -ffat-lto-objects"
|
||||
fi
|
||||
|
||||
# -D_FORTIFY_SOURCE=2 hardening option needs optimization (at least -O1) enabled
|
||||
@@ -352,7 +348,6 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
||||
C_O_FLAG_DEBUG_JVM=""
|
||||
C_O_FLAG_NONE="-Od"
|
||||
C_O_FLAG_SIZE="-O1"
|
||||
C_O_FLAG_LTO="-GL"
|
||||
fi
|
||||
|
||||
# Now copy to C++ flags
|
||||
@@ -364,7 +359,6 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
||||
CXX_O_FLAG_DEBUG_JVM="$C_O_FLAG_DEBUG_JVM"
|
||||
CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
|
||||
CXX_O_FLAG_SIZE="$C_O_FLAG_SIZE"
|
||||
CXX_O_FLAG_LTO="$C_O_FLAG_LTO"
|
||||
|
||||
# Adjust optimization flags according to debug level.
|
||||
case $DEBUG_LEVEL in
|
||||
@@ -397,15 +391,12 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
||||
AC_SUBST(C_O_FLAG_NORM)
|
||||
AC_SUBST(C_O_FLAG_NONE)
|
||||
AC_SUBST(C_O_FLAG_SIZE)
|
||||
AC_SUBST(C_O_FLAG_LTO)
|
||||
|
||||
AC_SUBST(CXX_O_FLAG_HIGHEST_JVM)
|
||||
AC_SUBST(CXX_O_FLAG_HIGHEST)
|
||||
AC_SUBST(CXX_O_FLAG_HI)
|
||||
AC_SUBST(CXX_O_FLAG_NORM)
|
||||
AC_SUBST(CXX_O_FLAG_NONE)
|
||||
AC_SUBST(CXX_O_FLAG_SIZE)
|
||||
AC_SUBST(CXX_O_FLAG_LTO)
|
||||
])
|
||||
|
||||
AC_DEFUN([FLAGS_SETUP_CFLAGS],
|
||||
@@ -617,9 +608,19 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
||||
ADLC_LANGSTD_CXXFLAGS="$LANGSTD_CXXFLAGS"
|
||||
|
||||
# CFLAGS WARNINGS STUFF
|
||||
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL"
|
||||
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXX"
|
||||
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_JVM"
|
||||
# Set JVM_CFLAGS warning handling
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
|
||||
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
|
||||
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"
|
||||
|
||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
|
||||
|
||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
|
||||
|
||||
fi
|
||||
|
||||
# Set some additional per-OS defines.
|
||||
|
||||
@@ -881,12 +882,12 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
|
||||
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM \
|
||||
$TOOLCHAIN_CFLAGS_JVM ${$1_TOOLCHAIN_CFLAGS_JVM} \
|
||||
$OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
|
||||
$WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
|
||||
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
|
||||
$REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
|
||||
|
||||
CFLAGS_JDK_COMMON="$ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
|
||||
$OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
|
||||
$DEBUG_SYMBOLS_CFLAGS_JDK \
|
||||
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK \
|
||||
$FILE_MACRO_CFLAGS $REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
|
||||
|
||||
# Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
|
||||
@@ -933,6 +934,48 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
|
||||
IF_FALSE: [$2FDLIBM_CFLAGS=""])
|
||||
fi
|
||||
AC_SUBST($2FDLIBM_CFLAGS)
|
||||
|
||||
# Check whether the compiler supports the Arm C Language Extensions (ACLE)
|
||||
# for SVE. Set SVE_CFLAGS to -march=armv8-a+sve if it does.
|
||||
# ACLE and this flag are required to build the aarch64 SVE related functions in
|
||||
# libvectormath. Apple Silicon does not support SVE; use macOS as a proxy for
|
||||
# that check.
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xaarch64" && test "x$OPENJDK_TARGET_OS" = "xlinux"; then
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
AC_LANG_PUSH(C)
|
||||
OLD_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -march=armv8-a+sve"
|
||||
AC_MSG_CHECKING([if Arm SVE ACLE is supported])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <arm_sve.h>],
|
||||
[
|
||||
svint32_t r = svdup_n_s32(1);
|
||||
return 0;
|
||||
])],
|
||||
[
|
||||
AC_MSG_RESULT([yes])
|
||||
$2SVE_CFLAGS="-march=armv8-a+sve"
|
||||
# Switching the initialization mode with gcc from 'pattern' to 'zero'
|
||||
# avoids the use of unsupported `__builtin_clear_padding` for variable
|
||||
# length aggregates
|
||||
if test "x$DEBUG_LEVEL" != xrelease && test "x$TOOLCHAIN_TYPE" = xgcc ; then
|
||||
INIT_ZERO_FLAG="-ftrivial-auto-var-init=zero"
|
||||
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$INIT_ZERO_FLAG],
|
||||
IF_TRUE: [
|
||||
$2SVE_CFLAGS="${$2SVE_CFLAGS} $INIT_ZERO_FLAG"
|
||||
]
|
||||
)
|
||||
fi
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([no])
|
||||
$2SVE_CFLAGS=""
|
||||
]
|
||||
)
|
||||
CFLAGS="$OLD_CFLAGS"
|
||||
AC_LANG_POP(C)
|
||||
fi
|
||||
fi
|
||||
AC_SUBST($2SVE_CFLAGS)
|
||||
])
|
||||
|
||||
AC_DEFUN_ONCE([FLAGS_SETUP_BRANCH_PROTECTION],
|
||||
|
||||
@@ -34,7 +34,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS],
|
||||
FLAGS_SETUP_LDFLAGS_CPU_DEP([TARGET])
|
||||
|
||||
# Setup the build toolchain
|
||||
FLAGS_SETUP_LDFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_], [BUILD_])
|
||||
FLAGS_SETUP_LDFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
|
||||
|
||||
AC_SUBST(ADLC_LDFLAGS)
|
||||
])
|
||||
@@ -50,9 +50,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
# add -z,relro (mark relocations read only) for all libs
|
||||
# add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only)
|
||||
# add --no-as-needed to disable default --as-needed link flag on some GCC toolchains
|
||||
# add --icf=all (Identical Code Folding — merges identical functions)
|
||||
BASIC_LDFLAGS="-Wl,-z,defs -Wl,-z,relro -Wl,-z,now -Wl,--no-as-needed -Wl,--exclude-libs,ALL"
|
||||
|
||||
# Linux : remove unused code+data in link step
|
||||
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
|
||||
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
|
||||
@@ -63,7 +61,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
fi
|
||||
|
||||
BASIC_LDFLAGS_JVM_ONLY=""
|
||||
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing $DEBUG_PREFIX_CFLAGS"
|
||||
|
||||
LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"
|
||||
|
||||
@@ -71,19 +68,18 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
|
||||
-fPIC"
|
||||
|
||||
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing $DEBUG_PREFIX_CFLAGS"
|
||||
LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"
|
||||
|
||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||
# Clang needs the lld linker to work correctly
|
||||
BASIC_LDFLAGS="-fuse-ld=lld -Wl,--exclude-libs,ALL"
|
||||
if test "x$CXX_IS_USER_SUPPLIED" = xfalse && test "x$CC_IS_USER_SUPPLIED" = xfalse; then
|
||||
UTIL_REQUIRE_TOOLCHAIN_PROGS(LLD, lld)
|
||||
UTIL_REQUIRE_PROGS(LLD, lld, $TOOLCHAIN_PATH:$PATH)
|
||||
fi
|
||||
fi
|
||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||
BASIC_LDFLAGS="-Wl,-b64 -Wl,-brtl -Wl,-bnorwexec -Wl,-blibpath:/usr/lib:lib -Wl,-bnoexpall \
|
||||
-Wl,-bernotok -Wl,-bcdtors:mbr::s -Wl,-bdatapsize:64k -Wl,-btextpsize:64k -Wl,-bstackpsize:64k"
|
||||
-Wl,-bernotok -Wl,-bdatapsize:64k -Wl,-btextpsize:64k -Wl,-bstackpsize:64k"
|
||||
BASIC_LDFLAGS_JVM_ONLY="$BASIC_LDFLAGS_JVM_ONLY -Wl,-lC_r -Wl,-bbigtoc"
|
||||
fi
|
||||
|
||||
@@ -91,7 +87,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
BASIC_LDFLAGS="-opt:ref"
|
||||
BASIC_LDFLAGS_JDK_ONLY="-incremental:no"
|
||||
BASIC_LDFLAGS_JVM_ONLY="-opt:icf,8 -subsystem:windows"
|
||||
LDFLAGS_LTO="-LTCG:INCREMENTAL"
|
||||
fi
|
||||
|
||||
if (test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang) \
|
||||
@@ -103,10 +98,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
|
||||
# Setup OS-dependent LDFLAGS
|
||||
if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
if test x$DEBUG_LEVEL = xrelease; then
|
||||
BASIC_LDFLAGS_JDK_ONLY="$BASIC_LDFLAGS_JDK_ONLY -Wl,-dead_strip"
|
||||
fi
|
||||
# FIXME: We should really generalize SetSharedLibraryOrigin instead.
|
||||
# FIXME: We should really generalize SET_SHARED_LIBRARY_ORIGIN instead.
|
||||
OS_LDFLAGS_JVM_ONLY="-Wl,-rpath,@loader_path/. -Wl,-rpath,@loader_path/.."
|
||||
OS_LDFLAGS="-mmacosx-version-min=$MACOSX_VERSION_MIN -Wl,-reproducible"
|
||||
fi
|
||||
@@ -156,7 +148,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
|
||||
# Export some intermediate variables for compatibility
|
||||
LDFLAGS_CXX_JDK="$DEBUGLEVEL_LDFLAGS_JDK_ONLY"
|
||||
AC_SUBST(LDFLAGS_LTO)
|
||||
AC_SUBST(LDFLAGS_CXX_JDK)
|
||||
AC_SUBST(LDFLAGS_CXX_PARTIAL_LINKING)
|
||||
])
|
||||
@@ -164,8 +155,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
||||
################################################################################
|
||||
# $1 - Either BUILD or TARGET to pick the correct OS/CPU variables to check
|
||||
# conditionals against.
|
||||
# $2 - Optional prefix for each variable defined (OPENJDK_BUILD_ or nothing).
|
||||
# $3 - Optional prefix for toolchain variables (BUILD_ or nothing).
|
||||
# $2 - Optional prefix for each variable defined.
|
||||
AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
|
||||
[
|
||||
# Setup CPU-dependent basic LDFLAGS. These can differ between the target and
|
||||
@@ -199,12 +189,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x${$3LD_TYPE}" = "xgold"; then
|
||||
if test x$DEBUG_LEVEL = xrelease; then
|
||||
$1_CPU_LDFLAGS="${$1_CPU_LDFLAGS} -Wl,--icf=all"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Export variables according to old definitions, prefix with $2 if present.
|
||||
LDFLAGS_JDK_COMMON="$BASIC_LDFLAGS $BASIC_LDFLAGS_JDK_ONLY \
|
||||
$OS_LDFLAGS $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
|
||||
|
||||
@@ -107,62 +107,6 @@ AC_DEFUN([FLAGS_SETUP_NMFLAGS],
|
||||
AC_SUBST(NMFLAGS)
|
||||
])
|
||||
|
||||
# Check whether the compiler supports the Arm C Language Extensions (ACLE)
|
||||
# for SVE. Set SVE_CFLAGS to -march=armv8-a+sve if it does.
|
||||
# ACLE and this flag are required to build the aarch64 SVE related functions
|
||||
# in libvectormath.
|
||||
AC_DEFUN([FLAGS_SETUP_SVE],
|
||||
[
|
||||
AARCH64_SVE_AVAILABLE=false
|
||||
# Apple Silicon does not support SVE; use macOS as a proxy for that check.
|
||||
if test "x$OPENJDK_TARGET_CPU" = "xaarch64" && test "x$OPENJDK_TARGET_OS" = "xlinux"; then
|
||||
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||
# check the compiler and binutils support sve or not
|
||||
AC_MSG_CHECKING([if Arm SVE ACLE is supported])
|
||||
AC_LANG_PUSH([C])
|
||||
saved_cflags="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -march=armv8-a+sve $CFLAGS_WARNINGS_ARE_ERRORS ARG_ARGUMENT"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
||||
[
|
||||
#include <arm_sve.h>
|
||||
svfloat64_t a() {}
|
||||
],
|
||||
[
|
||||
svint32_t r = svdup_n_s32(1)
|
||||
])],
|
||||
[
|
||||
AARCH64_SVE_AVAILABLE=true
|
||||
]
|
||||
)
|
||||
CFLAGS="$saved_cflags"
|
||||
AC_LANG_POP([C])
|
||||
AC_MSG_RESULT([$AARCH64_SVE_AVAILABLE])
|
||||
fi
|
||||
fi
|
||||
|
||||
UTIL_ARG_ENABLE(NAME: aarch64-sve, DEFAULT: auto,
|
||||
RESULT: AARCH64_SVE_ENABLED,
|
||||
DESC: [Use SVE when compiling libsleef],
|
||||
AVAILABLE: $AARCH64_SVE_AVAILABLE)
|
||||
SVE_CFLAGS=""
|
||||
if test "x$AARCH64_SVE_ENABLED" = xtrue; then
|
||||
SVE_CFLAGS="-march=armv8-a+sve"
|
||||
# Switching the initialization mode with gcc from 'pattern' to 'zero'
|
||||
# avoids the use of unsupported `__builtin_clear_padding` for variable
|
||||
# length aggregates
|
||||
if test "x$DEBUG_LEVEL" != xrelease && test "x$TOOLCHAIN_TYPE" = xgcc ; then
|
||||
AC_MSG_CHECKING([Switching the initialization mode with gcc from pattern to zero])
|
||||
INIT_ZERO_FLAG="-ftrivial-auto-var-init=zero"
|
||||
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$INIT_ZERO_FLAG],
|
||||
IF_TRUE: [
|
||||
SVE_CFLAGS="${SVE_CFLAGS} $INIT_ZERO_FLAG"
|
||||
]
|
||||
)
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(SVE_CFLAGS)
|
||||
])
|
||||
|
||||
################################################################################
|
||||
# platform independent
|
||||
AC_DEFUN([FLAGS_SETUP_ASFLAGS],
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -319,10 +319,16 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
|
||||
AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
|
||||
[
|
||||
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||
CC_OUT_OPTION=-Fo
|
||||
if test "x$OPENJDK_TARGET_CPU" != xaarch64; then
|
||||
AS_NON_ASM_EXTENSION_OPTION=-Ta
|
||||
fi
|
||||
else
|
||||
# The option used to specify the target .o,.a or .so file.
|
||||
# When compiling, how to specify the to be created object file.
|
||||
CC_OUT_OPTION='-o$(SPACE)'
|
||||
fi
|
||||
AC_SUBST(CC_OUT_OPTION)
|
||||
AC_SUBST(AS_NON_ASM_EXTENSION_OPTION)
|
||||
|
||||
# Generate make dependency files
|
||||
@@ -368,7 +374,6 @@ AC_DEFUN([FLAGS_SETUP_FLAGS],
|
||||
FLAGS_SETUP_RCFLAGS
|
||||
FLAGS_SETUP_NMFLAGS
|
||||
|
||||
FLAGS_SETUP_SVE
|
||||
FLAGS_SETUP_ASFLAGS
|
||||
FLAGS_SETUP_ASFLAGS_CPU_DEP([TARGET])
|
||||
FLAGS_SETUP_ASFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -316,36 +316,23 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
||||
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
|
||||
AC_ARG_WITH([external-symbols-in-bundles],
|
||||
[AS_HELP_STRING([--with-external-symbols-in-bundles],
|
||||
[which type of external native debug symbol information shall be shipped with bundles/images (none, public, full).
|
||||
@<:@none in release builds, full otherwise. --with-native-debug-symbols=external/zipped is a prerequisite. public is only supported on Windows@:>@])],
|
||||
[],
|
||||
[with_external_symbols_in_bundles=default])
|
||||
[which type of external native debug symbol information shall be shipped in product bundles (none, public, full)
|
||||
(e.g. ship full/stripped pdbs on Windows) @<:@none@:>@])])
|
||||
|
||||
if test "x$with_external_symbols_in_bundles" = x || test "x$with_external_symbols_in_bundles" = xnone ; then
|
||||
AC_MSG_RESULT([no])
|
||||
elif test "x$with_external_symbols_in_bundles" = xfull || test "x$with_external_symbols_in_bundles" = xpublic ; then
|
||||
if test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
|
||||
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external/zipped is used!])
|
||||
elif test "x$with_external_symbols_in_bundles" = xpublic && test "x$OPENJDK_TARGET_OS" != xwindows ; then
|
||||
AC_MSG_ERROR([--with-external-symbols-in-bundles=public is only supported on Windows!])
|
||||
fi
|
||||
|
||||
if test "x$with_external_symbols_in_bundles" = xfull ; then
|
||||
if test "x$OPENJDK_TARGET_OS" != xwindows ; then
|
||||
AC_MSG_ERROR([--with-external-symbols-in-bundles currently only works on windows!])
|
||||
elif test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
|
||||
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external is used!])
|
||||
elif test "x$with_external_symbols_in_bundles" = xfull ; then
|
||||
AC_MSG_RESULT([full])
|
||||
SHIP_DEBUG_SYMBOLS=full
|
||||
else
|
||||
AC_MSG_RESULT([public])
|
||||
SHIP_DEBUG_SYMBOLS=public
|
||||
fi
|
||||
elif test "x$with_external_symbols_in_bundles" = xdefault ; then
|
||||
if test "x$DEBUG_LEVEL" = xrelease ; then
|
||||
AC_MSG_RESULT([no (default)])
|
||||
elif test "x$COPY_DEBUG_SYMBOLS" = xtrue ; then
|
||||
AC_MSG_RESULT([full (default)])
|
||||
SHIP_DEBUG_SYMBOLS=full
|
||||
else
|
||||
AC_MSG_RESULT([no (default, native debug symbols are not external/zipped)])
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR([$with_external_symbols_in_bundles is an unknown value for --with-external-symbols-in-bundles])
|
||||
fi
|
||||
@@ -578,14 +565,9 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
|
||||
# with an additional define LLVM_SYMBOLIZER, which we set here.
|
||||
# To calculate the correct llvm_symbolizer path we can use the location of the compiler, because
|
||||
# their relation is fixed.
|
||||
# In the ubsan case we have to link every binary with the C++-compiler as linker, because inherently
|
||||
# the C-Compiler and the C++-compiler used as linker provide a different set of ubsan exports.
|
||||
# Linking an executable with the C-compiler and one of its shared libraries with the C++-compiler
|
||||
# leeds to unresolved symbols.
|
||||
if test "x$TOOLCHAIN_TYPE" = "xclang" && test "x$OPENJDK_TARGET_OS" = "xaix"; then
|
||||
UBSAN_CFLAGS="$UBSAN_CFLAGS -DLLVM_SYMBOLIZER=$(dirname $(dirname $CC))/tools/ibm-llvm-symbolizer"
|
||||
UBSAN_LDFLAGS="$UBSAN_LDFLAGS -Wl,-bbigtoc"
|
||||
LD="$LDCXX"
|
||||
UBSAN_CFLAGS="$UBSAN_CFLAGS -fno-sanitize=function,vptr -DLLVM_SYMBOLIZER=$(dirname $(dirname $CC))/tools/ibm-llvm-symbolizer"
|
||||
UBSAN_LDFLAGS="$UBSAN_LDFLAGS -fno-sanitize=function,vptr -Wl,-bbigtoc"
|
||||
fi
|
||||
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,
|
||||
DESC: [enable UndefinedBehaviorSanitizer],
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -304,8 +304,6 @@ AC_DEFUN([LIB_SETUP_HSDIS_BINUTILS],
|
||||
# If we have libsframe add it.
|
||||
if test -e $BINUTILS_INSTALL_DIR/lib/libsframe.a; then
|
||||
HSDIS_LIBS="$HSDIS_LIBS $BINUTILS_INSTALL_DIR/lib/libsframe.a"
|
||||
elif test -e $BINUTILS_INSTALL_DIR/lib64/libsframe.a; then
|
||||
HSDIS_LIBS="$HSDIS_LIBS $BINUTILS_INSTALL_DIR/lib64/libsframe.a"
|
||||
fi
|
||||
AC_CHECK_LIB(z, deflate, [ HSDIS_LIBS="$HSDIS_LIBS -lz" ], AC_MSG_ERROR([libz not found]))
|
||||
else
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2018, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@@ -28,7 +28,7 @@
|
||||
################################################################################
|
||||
|
||||
# Minimum supported versions
|
||||
JTREG_MINIMUM_VERSION=8.2.1
|
||||
JTREG_MINIMUM_VERSION=7.5.2
|
||||
GTEST_MINIMUM_VERSION=1.14.0
|
||||
|
||||
################################################################################
|
||||
|
||||
@@ -42,12 +42,12 @@ m4_include([lib-tests.m4])
|
||||
AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
|
||||
[
|
||||
# Check if X11 is needed
|
||||
if test "x$OPENJDK_TARGET_OS" = xwindows ||
|
||||
test "x$OPENJDK_TARGET_OS" = xmacosx ||
|
||||
test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
|
||||
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
|
||||
else
|
||||
# All other instances need X11 for libawt.
|
||||
# All other instances need X11, even if building headless only, libawt still
|
||||
# needs X11 headers.
|
||||
NEEDS_LIB_X11=true
|
||||
fi
|
||||
|
||||
@@ -136,8 +136,12 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS $LIBPTHREAD"
|
||||
fi
|
||||
|
||||
# librt - for timers (timer_* functions)
|
||||
# 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
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
||||
@@ -386,22 +386,9 @@ CAPSTONE_ARCH_AARCH64_NAME := @CAPSTONE_ARCH_AARCH64_NAME@
|
||||
# it in sync.
|
||||
BOOT_JDK := @BOOT_JDK@
|
||||
|
||||
EXTERNAL_BUILDJDK_PATH := @EXTERNAL_BUILDJDK_PATH@
|
||||
|
||||
ifneq ($(EXTERNAL_BUILDJDK_PATH), )
|
||||
EXTERNAL_BUILDJDK := true
|
||||
CREATE_BUILDJDK := false
|
||||
BUILD_JDK := $(EXTERNAL_BUILDJDK_PATH)
|
||||
else
|
||||
EXTERNAL_BUILDJDK := false
|
||||
ifeq ($(COMPILE_TYPE), cross)
|
||||
CREATE_BUILDJDK := true
|
||||
BUILD_JDK := $(BUILDJDK_OUTPUTDIR)/jdk
|
||||
else
|
||||
CREATE_BUILDJDK := false
|
||||
BUILD_JDK := $(JDK_OUTPUTDIR)
|
||||
endif
|
||||
endif
|
||||
BUILD_JDK := @BUILD_JDK@
|
||||
CREATE_BUILDJDK := @CREATE_BUILDJDK@
|
||||
EXTERNAL_BUILDJDK := @EXTERNAL_BUILDJDK@
|
||||
|
||||
# Whether the boot jdk jar supports --date=TIMESTAMP
|
||||
BOOT_JDK_JAR_SUPPORTS_DATE := @BOOT_JDK_JAR_SUPPORTS_DATE@
|
||||
@@ -504,6 +491,7 @@ CXX_VERSION_NUMBER := @CXX_VERSION_NUMBER@
|
||||
# Legacy support
|
||||
HOTSPOT_TOOLCHAIN_TYPE := @HOTSPOT_TOOLCHAIN_TYPE@
|
||||
|
||||
CC_OUT_OPTION := @CC_OUT_OPTION@
|
||||
AS_NON_ASM_EXTENSION_OPTION := @AS_NON_ASM_EXTENSION_OPTION@
|
||||
|
||||
# Flags used for overriding the default opt setting for a C/C++ source file.
|
||||
@@ -513,14 +501,12 @@ C_O_FLAG_HI := @C_O_FLAG_HI@
|
||||
C_O_FLAG_NORM := @C_O_FLAG_NORM@
|
||||
C_O_FLAG_NONE := @C_O_FLAG_NONE@
|
||||
C_O_FLAG_SIZE := @C_O_FLAG_SIZE@
|
||||
C_O_FLAG_LTO := @C_O_FLAG_LTO@
|
||||
CXX_O_FLAG_HIGHEST_JVM := @CXX_O_FLAG_HIGHEST_JVM@
|
||||
CXX_O_FLAG_HIGHEST := @CXX_O_FLAG_HIGHEST@
|
||||
CXX_O_FLAG_HI := @CXX_O_FLAG_HI@
|
||||
CXX_O_FLAG_NORM := @CXX_O_FLAG_NORM@
|
||||
CXX_O_FLAG_NONE := @CXX_O_FLAG_NONE@
|
||||
CXX_O_FLAG_SIZE := @CXX_O_FLAG_SIZE@
|
||||
CXX_O_FLAG_LTO := @CXX_O_FLAG_LTO@
|
||||
|
||||
GENDEPS_FLAGS := @GENDEPS_FLAGS@
|
||||
|
||||
@@ -589,9 +575,6 @@ LDFLAGS_CXX_JDK := @LDFLAGS_CXX_JDK@
|
||||
# LDFLAGS specific to partial linking.
|
||||
LDFLAGS_CXX_PARTIAL_LINKING := @LDFLAGS_CXX_PARTIAL_LINKING@
|
||||
|
||||
# LDFLAGS specific to link time optimization
|
||||
LDFLAGS_LTO := @LDFLAGS_LTO@
|
||||
|
||||
# Sometimes a different linker is needed for c++ libs
|
||||
LDCXX := @LDCXX@
|
||||
# The flags for linking libstdc++ linker.
|
||||
@@ -641,8 +624,17 @@ ASFLAGS_DEBUG_SYMBOLS := @ASFLAGS_DEBUG_SYMBOLS@
|
||||
# Compress (or not) jars
|
||||
COMPRESS_JARS := @COMPRESS_JARS@
|
||||
|
||||
# Options to linker to specify the library name.
|
||||
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
|
||||
SET_SHARED_LIBRARY_NAME = @SET_SHARED_LIBRARY_NAME@
|
||||
|
||||
SHARED_LIBRARY_FLAGS := @SHARED_LIBRARY_FLAGS@
|
||||
|
||||
# Set origin using the linker, ie use the relative path to the dependent library to find the dependencies.
|
||||
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
|
||||
SET_SHARED_LIBRARY_ORIGIN = @SET_SHARED_LIBRARY_ORIGIN@
|
||||
SET_EXECUTABLE_ORIGIN = @SET_EXECUTABLE_ORIGIN@
|
||||
|
||||
LIBRARY_PREFIX := @LIBRARY_PREFIX@
|
||||
SHARED_LIBRARY_SUFFIX := @SHARED_LIBRARY_SUFFIX@
|
||||
STATIC_LIBRARY_SUFFIX := @STATIC_LIBRARY_SUFFIX@
|
||||
@@ -665,8 +657,8 @@ JAVA_CMD := @JAVA@
|
||||
JAVAC_CMD := @JAVAC@
|
||||
JAVADOC_CMD := @JAVADOC@
|
||||
JAR_CMD := @JAR@
|
||||
JLINK_CMD := @FIXPATH@ $(BUILD_JDK)/bin/jlink
|
||||
JMOD_CMD := @FIXPATH@ $(BUILD_JDK)/bin/jmod
|
||||
JLINK_CMD := @JLINK@
|
||||
JMOD_CMD := @JMOD@
|
||||
# These variables are meant to be used. They are defined with = instead of := to make
|
||||
# it possible to override only the *_CMD variables.
|
||||
JAVA = $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
|
||||
@@ -906,14 +898,12 @@ JDK_MACOSX_BUNDLE_DIR = $(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
|
||||
JRE_MACOSX_BUNDLE_DIR = $(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
|
||||
JDK_MACOSX_BUNDLE_DIR_SIGNED = $(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR_SIGNED)
|
||||
JRE_MACOSX_BUNDLE_DIR_SIGNED = $(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR_SIGNED)
|
||||
JDK_MACOSX_BUNDLE_TOP_SUBDIR = jdk-$(VERSION_NUMBER).jdk
|
||||
JRE_MACOSX_BUNDLE_TOP_SUBDIR = jre-$(VERSION_NUMBER).jre
|
||||
JDK_MACOSX_CONTENTS_SUBDIR = $(JDK_MACOSX_BUNDLE_TOP_SUBDIR)/Contents
|
||||
JRE_MACOSX_CONTENTS_SUBDIR = $(JRE_MACOSX_BUNDLE_TOP_SUBDIR)/Contents
|
||||
JDK_MACOSX_BUNDLE_TOP_DIR = jdk-$(VERSION_NUMBER).jdk
|
||||
JRE_MACOSX_BUNDLE_TOP_DIR = jre-$(VERSION_NUMBER).jre
|
||||
JDK_MACOSX_CONTENTS_SUBDIR = $(JDK_MACOSX_BUNDLE_TOP_DIR)/Contents
|
||||
JRE_MACOSX_CONTENTS_SUBDIR = $(JRE_MACOSX_BUNDLE_TOP_DIR)/Contents
|
||||
JDK_MACOSX_CONTENTS_DIR = $(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)
|
||||
JRE_MACOSX_CONTENTS_DIR = $(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_CONTENTS_SUBDIR)
|
||||
JDK_MACOSX_BUNDLE_TOP_DIR = $(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_BUNDLE_TOP_SUBDIR)
|
||||
JRE_MACOSX_BUNDLE_TOP_DIR = $(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_BUNDLE_TOP_SUBDIR)
|
||||
|
||||
# Bundle names
|
||||
ifneq ($(VERSION_BUILD), )
|
||||
|
||||
@@ -276,6 +276,9 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
|
||||
ORG_CFLAGS="$CFLAGS"
|
||||
ORG_CXXFLAGS="$CXXFLAGS"
|
||||
|
||||
# autoconf magic only relies on PATH, so update it if tools dir is specified
|
||||
OLD_PATH="$PATH"
|
||||
|
||||
if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
|
||||
if test "x$XCODEBUILD" != x; then
|
||||
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version 2> /dev/null | $HEAD -n 1`
|
||||
@@ -297,10 +300,9 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
|
||||
fi
|
||||
AC_SUBST(TOOLCHAIN_VERSION)
|
||||
|
||||
# For the microsoft toolchain the toolchain path needs to be added to the
|
||||
# normal path, or the compiler will not work in some situations in later
|
||||
# configure checks.
|
||||
if test "x$TOOLCHAIN_TYPE" = "xmicrosoft" && test "x$TOOLCHAIN_PATH" != x; then
|
||||
# Finally prepend TOOLCHAIN_PATH to the PATH, to allow --with-tools-dir to
|
||||
# override all other locations.
|
||||
if test "x$TOOLCHAIN_PATH" != x; then
|
||||
export PATH=$TOOLCHAIN_PATH:$PATH
|
||||
fi
|
||||
])
|
||||
@@ -308,6 +310,13 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
|
||||
# Restore path, etc
|
||||
AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
|
||||
[
|
||||
# Restore old path, except for the microsoft toolchain, which requires the
|
||||
# toolchain path to remain in place. Otherwise the compiler will not work in
|
||||
# some situations in later configure checks.
|
||||
if test "x$TOOLCHAIN_TYPE" != "xmicrosoft"; then
|
||||
PATH="$OLD_PATH"
|
||||
fi
|
||||
|
||||
# Restore the flags to the user specified values.
|
||||
# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
|
||||
CFLAGS="$ORG_CFLAGS"
|
||||
@@ -516,7 +525,6 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_LD_VERSION],
|
||||
if [ [[ "$LINKER_VERSION_STRING" == *gold* ]] ]; then
|
||||
[ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
|
||||
$SED -e 's/.* \([0-9][0-9]*\(\.[0-9][0-9]*\)*\).*) .*/\1/'` ]
|
||||
$1_TYPE=gold
|
||||
else
|
||||
[ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
|
||||
$SED -e 's/.* \([0-9][0-9]*\(\.[0-9][0-9]*\)*\).*/\1/'` ]
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
################################################################################
|
||||
# The order of these defines the priority by which we try to find them.
|
||||
VALID_VS_VERSIONS="2022 2019 2026"
|
||||
VALID_VS_VERSIONS="2022 2019"
|
||||
|
||||
VS_DESCRIPTION_2019="Microsoft Visual Studio 2019"
|
||||
VS_VERSION_INTERNAL_2019=142
|
||||
@@ -57,21 +57,6 @@ VS_SDK_PLATFORM_NAME_2022=
|
||||
VS_SUPPORTED_2022=true
|
||||
VS_TOOLSET_SUPPORTED_2022=true
|
||||
|
||||
VS_DESCRIPTION_2026="Microsoft Visual Studio 2026"
|
||||
VS_VERSION_INTERNAL_2026=145
|
||||
VS_MSVCR_2026=vcruntime140.dll
|
||||
VS_VCRUNTIME_1_2026=vcruntime140_1.dll
|
||||
VS_MSVCP_2026=msvcp140.dll
|
||||
VS_ENVVAR_2026="VS180COMNTOOLS"
|
||||
VS_USE_UCRT_2026="true"
|
||||
VS_VS_INSTALLDIR_2026="Microsoft Visual Studio/18"
|
||||
VS_EDITIONS_2026="BuildTools Community Professional Enterprise"
|
||||
VS_SDK_INSTALLDIR_2026=
|
||||
VS_VS_PLATFORM_NAME_2026="v145"
|
||||
VS_SDK_PLATFORM_NAME_2026=
|
||||
VS_SUPPORTED_2026=true
|
||||
VS_TOOLSET_SUPPORTED_2026=true
|
||||
|
||||
################################################################################
|
||||
|
||||
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
|
||||
|
||||
@@ -458,18 +458,17 @@ AC_DEFUN([UTIL_LOOKUP_PROGS],
|
||||
|
||||
################################################################################
|
||||
# Call UTIL_SETUP_TOOL with AC_CHECK_TOOLS to locate the tool. This will look
|
||||
# first for tools using the cross-compilation prefix, and then for tools without
|
||||
# this prefix. For each of these name variants, it will look first in the
|
||||
# toolchain path, and then in the normal path.
|
||||
# first for cross-compilation tools.
|
||||
# $1: variable to set
|
||||
# $2: executable name (or list of names) to look for
|
||||
# $3: [path]
|
||||
AC_DEFUN([UTIL_LOOKUP_TOOLCHAIN_PROGS],
|
||||
[
|
||||
if test "x$ac_tool_prefix" = x; then
|
||||
UTIL_LOOKUP_PROGS($1, $2, [$TOOLCHAIN_PATH:$PATH])
|
||||
UTIL_LOOKUP_PROGS($1, $2, $3)
|
||||
else
|
||||
prefixed_names=$(for name in $2; do echo ${ac_tool_prefix}${name} $name; done)
|
||||
UTIL_LOOKUP_PROGS($1, $prefixed_names, [$TOOLCHAIN_PATH:$PATH])
|
||||
UTIL_LOOKUP_PROGS($1, $prefixed_names, $3)
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -498,9 +497,10 @@ AC_DEFUN([UTIL_REQUIRE_PROGS],
|
||||
# Like UTIL_LOOKUP_PROGS but fails if no tool was found.
|
||||
# $1: variable to set
|
||||
# $2: executable name (or list of names) to look for
|
||||
# $3: [path]
|
||||
AC_DEFUN([UTIL_REQUIRE_TOOLCHAIN_PROGS],
|
||||
[
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS($1, $2)
|
||||
UTIL_LOOKUP_TOOLCHAIN_PROGS($1, $2, $3)
|
||||
UTIL_CHECK_NONEMPTY($1)
|
||||
])
|
||||
|
||||
|
||||
+6
-21
@@ -82,8 +82,6 @@ ifeq ($(INCLUDE), true)
|
||||
# INFO : Message to display at LOG=info level when running command (optional)
|
||||
# WARN : Message to display at LOG=warn level when running command (optional)
|
||||
# DEPS : Dependencies for the execution to take place
|
||||
# DRYRUN : Set to true to perform everything but executing the command \
|
||||
# (defaults to false, primarily intended for debugging)
|
||||
#
|
||||
|
||||
# Setup make rules for copying files, with an option to do more complex
|
||||
@@ -148,12 +146,9 @@ define SetupExecuteBody
|
||||
$1_INFO := Running commands for $1
|
||||
endif
|
||||
|
||||
$1_VARDEPS := $$($1_COMMAND) $$($1_PRE_COMMAND) $$($1_POST_COMMAND)
|
||||
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_BASE)_exec.vardeps)
|
||||
|
||||
ifneq ($$($1_PRE_COMMAND), )
|
||||
|
||||
$$($1_PRE_MARKER): $$($1_DEPS) $$($1_VARDEPS_FILE)
|
||||
$$($1_PRE_MARKER): $$($1_DEPS)
|
||||
ifneq ($$($1_WARN), )
|
||||
$$(call LogWarn, $$($1_WARN))
|
||||
endif
|
||||
@@ -166,20 +161,15 @@ define SetupExecuteBody
|
||||
$$(TOUCH) $$@
|
||||
|
||||
$$($1_EXEC_RESULT): $$($1_PRE_MARKER)
|
||||
ifneq ($$($1_DRYRUN), true)
|
||||
$$(call ExecuteWithLog, $$($1_BASE)_exec, \
|
||||
cd $$($1_WORKING_DIR) && $$($1_COMMAND))
|
||||
else
|
||||
$$(call LogWarn, DRYRUN enabled for $1, not actually running command)
|
||||
$$(TOUCH) $$@
|
||||
endif
|
||||
$$(call ExecuteWithLog, $$($1_BASE)_exec, \
|
||||
cd $$($1_WORKING_DIR) && $$($1_COMMAND))
|
||||
ifeq ($$($1_EXEC_RESULT), $$($1_EXEC_MARKER))
|
||||
$$(TOUCH) $$@
|
||||
endif
|
||||
|
||||
$1 := $$($1_PRE_MARKER) $$($1_EXEC_RESULT)
|
||||
else
|
||||
$$($1_EXEC_RESULT): $$($1_DEPS) $$($1_VARDEPS_FILE)
|
||||
$$($1_EXEC_RESULT): $$($1_DEPS)
|
||||
ifneq ($$($1_WARN), )
|
||||
$$(call LogWarn, $$($1_WARN))
|
||||
endif
|
||||
@@ -187,13 +177,8 @@ define SetupExecuteBody
|
||||
$$(call LogInfo, $$($1_INFO))
|
||||
endif
|
||||
$$(call MakeDir, $$(call EncodeSpace, $$($1_WORKING_DIR)) $$(call EncodeSpace, $$($1_SUPPORT_DIR)) $$(call EncodeSpace, $$($1_OUTPUT_DIR)))
|
||||
ifneq ($$($1_DRYRUN), true)
|
||||
$$(call ExecuteWithLog, $$($1_BASE)_exec, \
|
||||
cd $$($1_WORKING_DIR) && $$($1_COMMAND))
|
||||
else
|
||||
$$(call LogWarn, DRYRUN enabled for $1, not actually running command)
|
||||
$$(TOUCH) $$@
|
||||
endif
|
||||
$$(call ExecuteWithLog, $$($1_BASE)_exec, \
|
||||
cd $$($1_WORKING_DIR) && $$($1_COMMAND))
|
||||
ifeq ($$($1_EXEC_RESULT), $$($1_EXEC_MARKER))
|
||||
$$(TOUCH) $$@
|
||||
endif
|
||||
|
||||
@@ -30,47 +30,6 @@ ifeq ($(INCLUDE), true)
|
||||
|
||||
include NativeCompilation.gmk
|
||||
|
||||
ifeq ($(call isCompiler, gcc), true)
|
||||
# --disable-new-dtags forces use of RPATH instead of RUNPATH for rpaths.
|
||||
# This protects internal library dependencies within the JDK from being
|
||||
# overridden using LD_LIBRARY_PATH. See JDK-8326891 for more information.
|
||||
SetExecutableOrigin = \
|
||||
-Wl,-rpath,\$(DOLLAR)ORIGIN$1 -Wl,--disable-new-dtags
|
||||
SetSharedLibraryOrigin = \
|
||||
-Wl,-z,origin -Wl,-rpath,\$(DOLLAR)ORIGIN$1 -Wl,--disable-new-dtags
|
||||
else ifeq ($(call isCompiler, clang), true)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
SetExecutableOrigin = \
|
||||
-Wl,-rpath,@loader_path$(or $1,/.)
|
||||
SetSharedLibraryOrigin = \
|
||||
-Wl,-rpath,@loader_path$(or $1,/.)
|
||||
else ifeq ($(call isTargetOs, aix), true)
|
||||
SetExecutableOrigin =
|
||||
SetSharedLibraryOrigin =
|
||||
else
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
SetExecutableOrigin = \
|
||||
-Wl,-rpath,\$(DOLLAR)ORIGIN$1 -Wl,--disable-new-dtags
|
||||
else
|
||||
SetExecutableOrigin = \
|
||||
-Wl,-rpath,\$(DOLLAR)ORIGIN$1
|
||||
endif
|
||||
|
||||
ifeq ($(call isTargetOs, arm), true)
|
||||
SetSharedLibraryOrigin = \
|
||||
-Wl,-rpath,\$(DOLLAR)ORIGIN$1
|
||||
else
|
||||
SetSharedLibraryOrigin = \
|
||||
-Wl,-z,origin -Wl,-rpath,\$(DOLLAR)ORIGIN$1
|
||||
endif
|
||||
endif
|
||||
else ifeq ($(call isCompiler, microsoft), true)
|
||||
SetExecutableOrigin =
|
||||
SetSharedLibraryOrigin =
|
||||
else
|
||||
$(error Unknown toolchain)
|
||||
endif
|
||||
|
||||
FindSrcDirsForComponent += \
|
||||
$(call uniq, $(wildcard \
|
||||
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native/$(strip $2) \
|
||||
@@ -485,9 +444,9 @@ define SetupJdkNativeCompilationBody
|
||||
|
||||
ifneq ($$($1_LD_SET_ORIGIN), false)
|
||||
ifeq ($$($1_TYPE), EXECUTABLE)
|
||||
$1_LDFLAGS += $$(call SetExecutableOrigin)
|
||||
$1_LDFLAGS += $$(call SET_EXECUTABLE_ORIGIN)
|
||||
else
|
||||
$1_LDFLAGS += $$(call SetSharedLibraryOrigin)
|
||||
$1_LDFLAGS += $$(call SET_SHARED_LIBRARY_ORIGIN)
|
||||
endif
|
||||
endif
|
||||
# APPEND_LDFLAGS, if it exists, must be set after the origin flags
|
||||
|
||||
@@ -98,7 +98,6 @@ include native/Paths.gmk
|
||||
# SYSROOT_CFLAGS the compiler flags for using the specific sysroot
|
||||
# SYSROOT_LDFLAGS the linker flags for using the specific sysroot
|
||||
# OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST, HIGHEST_JVM, SIZE
|
||||
# LINK_TIME_OPTIMIZATION if set to true, enables link time optimization
|
||||
# DISABLED_WARNINGS_<toolchain> Disable the given warnings for the specified toolchain
|
||||
# DISABLED_WARNINGS_<toolchain>_<OS> Disable the given warnings for the specified
|
||||
# toolchain and target OS
|
||||
|
||||
@@ -114,7 +114,7 @@ EscapeDollar = $(subst $$,\$$,$(subst \$$,$$,$(strip $1)))
|
||||
|
||||
################################################################################
|
||||
# This macro works just like EscapeDollar above, but for #.
|
||||
EscapeHash = $(subst $(HASH),\$(HASH),$(subst \$(HASH),$(HASH),$(strip $1)))
|
||||
EscapeHash = $(subst \#,\\\#,$(subst \\\#,\#,$(strip $1)))
|
||||
|
||||
################################################################################
|
||||
# This macro translates $ into $$ to protect the string from make itself.
|
||||
|
||||
@@ -43,9 +43,6 @@ LAUNCHER_CFLAGS += -I$(TOPDIR)/src/java.base/share/native/launcher \
|
||||
MACOSX_PLIST_DIR := $(TOPDIR)/src/java.base/macosx/native/launcher
|
||||
JAVA_MANIFEST := $(TOPDIR)/src/java.base/windows/native/launcher/java.manifest
|
||||
|
||||
INCLUDED_LAUNCHERS_FILE := $(SUPPORT_OUTPUTDIR)/modules_static-launchers/$(MODULE)/module-included-launchers.txt
|
||||
INCLUDED_LAUNCHERS :=
|
||||
|
||||
################################################################################
|
||||
# Build standard launcher.
|
||||
|
||||
@@ -77,29 +74,18 @@ define SetupBuildLauncherBody
|
||||
|
||||
$1_MAIN_MODULE := $(MODULE)
|
||||
|
||||
$1_RELAUNCHER_ARGUMENTS :=
|
||||
|
||||
ifneq ($$($1_MAIN_CLASS), )
|
||||
$1_JAVA_ARGS += -Xms8m
|
||||
$1_LAUNCHER_CLASS := -m $$($1_MAIN_MODULE)/$$($1_MAIN_CLASS)
|
||||
endif
|
||||
|
||||
ifeq ($$($1_ENABLE_ARG_FILES), true)
|
||||
$1_CFLAGS += -DDISABLE_ARGFILE=JNI_FALSE
|
||||
else
|
||||
$1_CFLAGS += -DDISABLE_ARGFILE=JNI_TRUE
|
||||
# This must be the first argument given, if it should be present
|
||||
$1_RELAUNCHER_ARGUMENTS += -DjavaLauncherArgFiles=false
|
||||
endif
|
||||
|
||||
ifeq ($$($1_EXPAND_CLASSPATH_WILDCARDS), true)
|
||||
$1_CFLAGS += -DCLASSPATH_WILDCARDS=JNI_TRUE
|
||||
else
|
||||
$1_CFLAGS += -DCLASSPATH_WILDCARDS=JNI_FALSE
|
||||
$1_RELAUNCHER_ARGUMENTS += -DjavaLauncherWildcards=false
|
||||
$1_CFLAGS += -DEXPAND_CLASSPATH_WILDCARDS
|
||||
endif
|
||||
|
||||
$1_RELAUNCHER_ARGUMENTS += -DjavaLauncherProgname=$1
|
||||
ifeq ($$($1_ENABLE_ARG_FILES), true)
|
||||
$1_CFLAGS += -DENABLE_ARG_FILES
|
||||
endif
|
||||
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
ifeq ($$($1_WINDOWS_JAVAW), true)
|
||||
@@ -108,14 +94,9 @@ define SetupBuildLauncherBody
|
||||
endif
|
||||
|
||||
ifneq ($$($1_JAVA_ARGS), )
|
||||
$1_PREFIXED_JAVA_ARGS := $$(addprefix -J, $$($1_JAVA_ARGS)) \
|
||||
$$($1_LAUNCHER_CLASS)
|
||||
$1_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, $$($1_PREFIXED_JAVA_ARGS), \
|
||||
"$$a"$(COMMA) )) }'
|
||||
$1_JAVA_ARGS_STR := '{ $$(strip $$(foreach a, \
|
||||
$$(addprefix -J, $$($1_JAVA_ARGS)) $$($1_LAUNCHER_CLASS), "$$a"$(COMMA) )) }'
|
||||
$1_CFLAGS += -DJAVA_ARGS=$$($1_JAVA_ARGS_STR)
|
||||
# To preserve spaces, substitute them with a hopefully unique pattern
|
||||
$1_RELAUNCHER_ARGUMENTS += \
|
||||
-DjavaLauncherArgs=$$(subst $$(SPACE),||||,$$($1_PREFIXED_JAVA_ARGS))
|
||||
endif
|
||||
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
@@ -175,8 +156,8 @@ define SetupBuildLauncherBody
|
||||
DISABLED_WARNINGS_gcc := unused-function unused-variable, \
|
||||
DISABLED_WARNINGS_clang := unused-function, \
|
||||
LDFLAGS := $$($1_LDFLAGS), \
|
||||
LDFLAGS_linux := $$(call SetExecutableOrigin,/../lib), \
|
||||
LDFLAGS_macosx := $$(call SetExecutableOrigin,/../lib), \
|
||||
LDFLAGS_linux := $$(call SET_EXECUTABLE_ORIGIN,/../lib), \
|
||||
LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN,/../lib), \
|
||||
LDFLAGS_FILTER_OUT := $$($1_LDFLAGS_FILTER_OUT), \
|
||||
JDK_LIBS := $$($1_JDK_LIBS), \
|
||||
JDK_LIBS_windows := $$($1_JDK_LIBS_windows), \
|
||||
@@ -191,28 +172,8 @@ define SetupBuildLauncherBody
|
||||
))
|
||||
|
||||
$1 += $$(BUILD_LAUNCHER_$1)
|
||||
|
||||
$1_RELAUNCHER_ARGUMENTS_FILE := \
|
||||
$$(SUPPORT_OUTPUTDIR)/static-native/relaunchers/$$(MODULE)/$1-relauncher-arguments.txt
|
||||
|
||||
$1_VARDEPS := $$($1_RELAUNCHER_ARGUMENTS)
|
||||
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
||||
$$($1_RELAUNCHER_ARGUMENTS_FILE).vardeps)
|
||||
|
||||
$$($1_RELAUNCHER_ARGUMENTS_FILE):
|
||||
$$(call MakeDir, $$(@D))
|
||||
$$(ECHO) '$$($1_RELAUNCHER_ARGUMENTS)' > $$@
|
||||
|
||||
$1 += $$($1_RELAUNCHER_ARGUMENTS_FILE)
|
||||
|
||||
TARGETS += $$($1)
|
||||
|
||||
# Record the fact that this launcher is part of the current module.
|
||||
INCLUDED_LAUNCHERS += $1
|
||||
|
||||
# Add a dependency from this launcher to the launcher list
|
||||
$$(INCLUDED_LAUNCHERS_FILE): $$($1)
|
||||
|
||||
$$(BUILD_LAUNCHER_$1): $$(BUILD_PLIST_$1)
|
||||
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
@@ -281,14 +242,5 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
# We need to keep track of which launchers are created by this module. This
|
||||
# information is required for static builds, to know which relaunchers to
|
||||
# create. The file module-included-launchers.txt is then read in StaticLibs.gmk.
|
||||
$(INCLUDED_LAUNCHERS_FILE):
|
||||
$(call MakeDir, $(@D))
|
||||
$(ECHO) $(INCLUDED_LAUNCHERS) > $@
|
||||
|
||||
TARGETS += $(INCLUDED_LAUNCHERS_FILE)
|
||||
|
||||
endif # include guard
|
||||
include MakeIncludeEnd.gmk
|
||||
|
||||
@@ -93,14 +93,6 @@ DEPENDENCY_TARGET_SED_PATTERN := \
|
||||
-e 's/$$$$/ :/' \
|
||||
#
|
||||
|
||||
################################################################################
|
||||
# Setup compiler-specific argument to specify output file
|
||||
ifeq ($(call isCompiler, microsoft), true)
|
||||
CC_OUT_OPTION := -Fo
|
||||
else
|
||||
CC_OUT_OPTION := -o$(SPACE)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Create the recipe needed to compile a single native source file.
|
||||
#
|
||||
@@ -342,7 +334,7 @@ define CreateWindowsResourceFile
|
||||
$$(call LogInfo, Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$($1_BASENAME)))
|
||||
$$(call MakeDir, $$(@D) $$($1_OBJECT_DIR))
|
||||
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
|
||||
$$($1_RC) $$($1_RCFLAGS) $$($1_SYSROOT_CFLAGS) -Fo$$@ \
|
||||
$$($1_RC) $$($1_RCFLAGS) $$($1_SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
|
||||
$$($1_VERSIONINFO_RESOURCE) 2>&1 ))
|
||||
# Windows RC compiler does not support -showIncludes, so we mis-use CL
|
||||
# for this. Filter out RC specific arguments that are unknown to CL.
|
||||
@@ -352,7 +344,7 @@ define CreateWindowsResourceFile
|
||||
$$(call ExecuteWithLog, $$($1_RES_DEPS_FILE)$(OBJ_SUFFIX), \
|
||||
$$($1_CC) $$(filter-out -l%, $$($1_RCFLAGS)) \
|
||||
$$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \
|
||||
-Fo$$($1_RES_DEPS_FILE)$(OBJ_SUFFIX) -P -Fi$$($1_RES_DEPS_FILE).pp \
|
||||
$(CC_OUT_OPTION)$$($1_RES_DEPS_FILE)$(OBJ_SUFFIX) -P -Fi$$($1_RES_DEPS_FILE).pp \
|
||||
$$($1_VERSIONINFO_RESOURCE)) 2>&1 \
|
||||
| $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \
|
||||
-e "^$$(notdir $$($1_VERSIONINFO_RESOURCE))$$$$" || test "$$$$?" = "1" ; \
|
||||
|
||||
@@ -194,11 +194,6 @@ define SetupCompilerFlags
|
||||
$1_EXTRA_CXXFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
|
||||
endif
|
||||
|
||||
ifeq (true, $$($1_LINK_TIME_OPTIMIZATION))
|
||||
$1_EXTRA_CFLAGS += $(C_O_FLAG_LTO)
|
||||
$1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_LTO)
|
||||
endif
|
||||
|
||||
ifeq (NONE, $$($1_OPTIMIZATION))
|
||||
$1_OPT_CFLAGS := $(C_O_FLAG_NONE)
|
||||
$1_OPT_CXXFLAGS := $(CXX_O_FLAG_NONE)
|
||||
@@ -227,18 +222,6 @@ define SetupLinkerFlags
|
||||
# Pickup extra OPENJDK_TARGET_OS_TYPE, OPENJDK_TARGET_OS and TOOLCHAIN_TYPE
|
||||
# dependent variables for LDFLAGS and LIBS, and additionally the pair dependent
|
||||
# TOOLCHAIN_TYPE plus OPENJDK_TARGET_OS
|
||||
ifeq ($$($1_LINK_TIME_OPTIMIZATION), true)
|
||||
$1_EXTRA_LDFLAGS += $(LDFLAGS_LTO)
|
||||
# Instruct the ld64 linker not to delete the temporary object file
|
||||
# generated during Link Time Optimization
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
$1_EXTRA_LDFLAGS += -Wl,-object_path_lto,$$($1_OBJECT_DIR)/$$($1_NAME)_lto_helper.o
|
||||
endif
|
||||
ifeq ($(TOOLCHAIN_TYPE), microsoft)
|
||||
$1_EXTRA_LDFLAGS += -LTCGOUT:$$($1_OBJECT_DIR)/$$($1_NAME).iobj
|
||||
endif
|
||||
endif
|
||||
|
||||
$1_EXTRA_LDFLAGS += $$($1_LDFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LDFLAGS_$(OPENJDK_TARGET_OS)) \
|
||||
$$($1_LDFLAGS_$(TOOLCHAIN_TYPE)) $$($1_LDFLAGS_$(TOOLCHAIN_TYPE)_$(OPENJDK_TARGET_OS))
|
||||
$1_EXTRA_LIBS += $$($1_LIBS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_LIBS_$(OPENJDK_TARGET_OS)) \
|
||||
|
||||
@@ -50,26 +50,6 @@ GetEntitlementsFile = \
|
||||
$(if $(wildcard $f), $f, $(DEFAULT_ENTITLEMENTS_FILE)) \
|
||||
)
|
||||
|
||||
ifeq ($(call isCompiler, gcc), true)
|
||||
SetSharedLibraryName = \
|
||||
-Wl,-soname=$1
|
||||
else ifeq ($(call isCompiler, clang), true)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
SetSharedLibraryName = \
|
||||
-Wl,-install_name,@rpath/$1
|
||||
else ifeq ($(call isTargetOs, aix), true)
|
||||
SetSharedLibraryName =
|
||||
else
|
||||
# Default works for linux, might work on other platforms as well.
|
||||
SetSharedLibraryName = \
|
||||
-Wl,-soname=$1
|
||||
endif
|
||||
else ifeq ($(call isCompiler, microsoft), true)
|
||||
SetSharedLibraryName =
|
||||
else
|
||||
$(error Unknown toolchain)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
define SetupLinking
|
||||
# Unless specifically set, stripping should only happen if symbols are also
|
||||
@@ -151,7 +131,7 @@ define CreateDynamicLibraryOrExecutable
|
||||
# A shared dynamic library or an executable binary has been specified
|
||||
ifeq ($$($1_TYPE), LIBRARY)
|
||||
# Generating a dynamic library.
|
||||
$1_EXTRA_LDFLAGS += $$(call SetSharedLibraryName,$$($1_BASENAME))
|
||||
$1_EXTRA_LDFLAGS += $$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
|
||||
endif
|
||||
|
||||
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, 2025, 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,24 +26,24 @@
|
||||
# Versions and download locations for dependencies used by GitHub Actions (GHA)
|
||||
|
||||
GTEST_VERSION=1.14.0
|
||||
JTREG_VERSION=8.2.1+1
|
||||
JTREG_VERSION=7.5.2+1
|
||||
|
||||
LINUX_X64_BOOT_JDK_EXT=tar.gz
|
||||
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_SHA256=59cdcaf255add4721de38eb411d4ecfe779356b61fb671aee63c7dec78054c2b
|
||||
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_linux-x64_bin.tar.gz
|
||||
LINUX_X64_BOOT_JDK_SHA256=88b090fa80c6c1d084ec9a755233967458788e2c0777ae2e172230c5c692d7ef
|
||||
|
||||
ALPINE_LINUX_X64_BOOT_JDK_EXT=tar.gz
|
||||
ALPINE_LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25%2B36/OpenJDK25U-jdk_x64_alpine-linux_hotspot_25_36.tar.gz
|
||||
ALPINE_LINUX_X64_BOOT_JDK_SHA256=637e47474d411ed86134f413af7d5fef4180ddb0bf556347b7e74a88cf8904c8
|
||||
ALPINE_LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin24-binaries/releases/download/jdk-24%2B36/OpenJDK24U-jdk_x64_alpine-linux_hotspot_24_36.tar.gz
|
||||
ALPINE_LINUX_X64_BOOT_JDK_SHA256=a642608f0da78344ee6812fb1490b8bc1d7ad5a18064c70994d6f330568c51cb
|
||||
|
||||
MACOS_AARCH64_BOOT_JDK_EXT=tar.gz
|
||||
MACOS_AARCH64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_macos-aarch64_bin.tar.gz
|
||||
MACOS_AARCH64_BOOT_JDK_SHA256=2006337bf326fdfdf6117081751ba38c1c8706d63419ecac7ff102ff7c776876
|
||||
MACOS_AARCH64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_macos-aarch64_bin.tar.gz
|
||||
MACOS_AARCH64_BOOT_JDK_SHA256=f7133238a12714a62c5ad2bd4da6741130be1a82512065da9ca23dee26b2d3d3
|
||||
|
||||
MACOS_X64_BOOT_JDK_EXT=tar.gz
|
||||
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_macos-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_SHA256=47482ad9888991ecac9b2bcc131e2b53ff78aff275104cef85f66252308e8a09
|
||||
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_macos-x64_bin.tar.gz
|
||||
MACOS_X64_BOOT_JDK_SHA256=6bbfb1d01741cbe55ab90299cb91464b695de9a3ace85c15131aa2f50292f321
|
||||
|
||||
WINDOWS_X64_BOOT_JDK_EXT=zip
|
||||
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk25/bd75d5f9689641da8e1daabeccb5528b/36/GPL/openjdk-25_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_SHA256=85bcc178461e2cb3c549ab9ca9dfa73afd54c09a175d6510d0884071867137d3
|
||||
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_windows-x64_bin.zip
|
||||
WINDOWS_X64_BOOT_JDK_SHA256=11d1d9f6ac272d5361c8a0bef01894364081c7fb1a6914c2ad2fc312ae83d63b
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, 2026, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2025, 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
|
||||
@@ -387,8 +387,8 @@ var getJibProfilesCommon = function (input, data) {
|
||||
};
|
||||
};
|
||||
|
||||
common.boot_jdk_version = "25";
|
||||
common.boot_jdk_build_number = "37";
|
||||
common.boot_jdk_version = "24";
|
||||
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" : "");
|
||||
@@ -1174,9 +1174,9 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
jtreg: {
|
||||
server: "jpg",
|
||||
product: "jtreg",
|
||||
version: "8.2.1",
|
||||
version: "7.5.2",
|
||||
build_number: "1",
|
||||
file: "bundles/jtreg-8.2.1+1.zip",
|
||||
file: "bundles/jtreg-7.5.2+1.zip",
|
||||
environment_name: "JT_HOME",
|
||||
environment_path: input.get("jtreg", "home_path") + "/bin",
|
||||
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),
|
||||
@@ -1192,8 +1192,8 @@ var getJibProfilesDependencies = function (input, common) {
|
||||
server: "jpg",
|
||||
product: "jcov",
|
||||
version: "3.0",
|
||||
build_number: "5",
|
||||
file: "bundles/jcov-3.0+5.zip",
|
||||
build_number: "3",
|
||||
file: "bundles/jcov-3.0+3.zip",
|
||||
environment_name: "JCOV_HOME",
|
||||
},
|
||||
|
||||
|
||||
@@ -26,17 +26,17 @@
|
||||
# Default version, product, and vendor information to use,
|
||||
# unless overridden by configure
|
||||
|
||||
DEFAULT_VERSION_FEATURE=27
|
||||
DEFAULT_VERSION_FEATURE=26
|
||||
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=2026-09-15
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=71 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_DATE=2026-03-17
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=70 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||
DEFAULT_VERSION_DOCS_API_SINCE=11
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="25 26 27"
|
||||
DEFAULT_JDK_SOURCE_TARGET_VERSION=27
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="24 25 26"
|
||||
DEFAULT_JDK_SOURCE_TARGET_VERSION=26
|
||||
DEFAULT_PROMOTED_VERSION_PRE=ea
|
||||
|
||||
@@ -32,6 +32,11 @@
|
||||
547d 92ca
|
||||
53da 9b7e
|
||||
446e f86f
|
||||
#
|
||||
# we should use this one instead of the 4260<-ff0d
|
||||
#4260 2212
|
||||
4260 ff0d
|
||||
#
|
||||
426A 00A6
|
||||
43A1 301C
|
||||
444A 2014
|
||||
|
||||
@@ -25,6 +25,13 @@
|
||||
# 4260 <--> 2212
|
||||
# 426A <--> 00A6
|
||||
#
|
||||
# Warning:
|
||||
# "our old" implementation seems agree with above "new" mappings
|
||||
# except the entries 4260 <-> 2212. To keep the "compatbility"
|
||||
# with the "old" implementation, I changed the entries "temporarily"
|
||||
# 4260 <-> 2212
|
||||
# 4260 <- ff0d
|
||||
#
|
||||
00 0000
|
||||
01 0001
|
||||
02 0002
|
||||
@@ -400,7 +407,8 @@ FF 009F
|
||||
425D FF09
|
||||
425E FF1B
|
||||
425F FFE2
|
||||
4260 FF0D
|
||||
#4260 FF0D
|
||||
4260 2212
|
||||
4261 FF0F
|
||||
426A FFE4
|
||||
426B FF0C
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
UNICODE LICENSE V3
|
||||
UNICODE LICENSE V3
|
||||
|
||||
COPYRIGHT AND PERMISSION NOTICE
|
||||
|
||||
|
||||
@@ -45,8 +45,6 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="h23" description="Hour system using 0–23; 'H' in patterns" since="28" />
|
||||
<type name="h11" description="Hour system using 0–11; 'K' in patterns" since="28" />
|
||||
<type name="h24" description="Hour system using 1–24; 'k' in patterns" since="28" />
|
||||
<type name="c12" description="Best 12-hour cycle for locale (h11 or h12)" since="48" deprecated="true" /> <!-- Technical Preview -->
|
||||
<type name="c24" description="Best 24-hour cycle for locale (h23 or h24)" since="48" deprecated="true" /> <!-- Technical Preview -->
|
||||
</key>
|
||||
</keyword>
|
||||
</ldmlBCP47>
|
||||
|
||||
@@ -105,7 +105,6 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="thai" description="Thai digits"/>
|
||||
<type name="tirh" description="Tirhuta digits" since="28"/>
|
||||
<type name="tibt" description="Tibetan digits"/>
|
||||
<type name="tols" description="Tolong Siki digits" since="48"/>
|
||||
<type name="traditio" description="Traditional numerals — may be algorithmic" alias="traditional" since="21"/>
|
||||
<type name="vaii" description="Vai digits" since="21"/>
|
||||
<type name="wara" description="Warang Citi digits" since="28"/>
|
||||
|
||||
@@ -17,14 +17,14 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="aiaxa" description="Anguilla" alias="America/Anguilla"/>
|
||||
<type name="altia" description="Tirane, Albania" alias="Europe/Tirane"/>
|
||||
<type name="amevn" description="Yerevan, Armenia" alias="Asia/Yerevan"/>
|
||||
<type name="ancur" description="Curaçao" alias="America/Curacao" region="CW"/>
|
||||
<type name="ancur" description="Curaçao" alias="America/Curacao"/>
|
||||
<type name="aolad" description="Luanda, Angola" alias="Africa/Luanda"/>
|
||||
<type name="aqams" description="Amundsen-Scott Station, South Pole" deprecated="true" preferred="aqmcm"/>
|
||||
<type name="aqams" description="Amundsen-Scott Station, South Pole" deprecated="true" preferred="nzakl"/>
|
||||
<type name="aqcas" description="Casey Station, Bailey Peninsula" alias="Antarctica/Casey"/>
|
||||
<type name="aqdav" description="Davis Station, Vestfold Hills" alias="Antarctica/Davis"/>
|
||||
<type name="aqddu" description="Dumont d'Urville Station, Terre Adélie" alias="Antarctica/DumontDUrville"/>
|
||||
<type name="aqmaw" description="Mawson Station, Holme Bay" alias="Antarctica/Mawson"/>
|
||||
<type name="aqmcm" description="McMurdo Station, Ross Island" alias="Antarctica/McMurdo Antarctica/South_Pole"/>
|
||||
<type name="aqmcm" description="McMurdo Station, Ross Island" alias="Antarctica/McMurdo"/>
|
||||
<type name="aqplm" description="Palmer Station, Anvers Island" alias="Antarctica/Palmer"/>
|
||||
<type name="aqrot" description="Rothera Station, Adelaide Island" alias="Antarctica/Rothera"/>
|
||||
<type name="aqsyw" description="Syowa Station, East Ongul Island" alias="Antarctica/Syowa"/>
|
||||
@@ -130,7 +130,6 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="chzrh" description="Zurich, Switzerland" alias="Europe/Zurich"/>
|
||||
<type name="ciabj" description="Abidjan, Côte d'Ivoire" alias="Africa/Abidjan"/>
|
||||
<type name="ckrar" description="Rarotonga, Cook Islands" alias="Pacific/Rarotonga"/>
|
||||
<type name="clcxq" description="Aysén Region, Chile" alias="America/Coyhaique" since="48"/>
|
||||
<type name="clipc" description="Easter Island, Chile" alias="Pacific/Easter Chile/EasterIsland"/>
|
||||
<type name="clpuq" description="Punta Arenas, Chile" alias="America/Punta_Arenas" since="31"/>
|
||||
<type name="clscl" description="Santiago, Chile" alias="America/Santiago Chile/Continental"/>
|
||||
@@ -168,7 +167,7 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="est5edt" description="POSIX style time zone for US Eastern Time" deprecated="true" preferred="usnyc"/>
|
||||
<type name="etadd" description="Addis Ababa, Ethiopia" alias="Africa/Addis_Ababa"/>
|
||||
<type name="fihel" description="Helsinki, Finland" alias="Europe/Helsinki"/>
|
||||
<type name="fimhq" description="Mariehamn, Åland, Finland" alias="Europe/Mariehamn" region="AX"/>
|
||||
<type name="fimhq" description="Mariehamn, Åland, Finland" alias="Europe/Mariehamn"/>
|
||||
<type name="fjsuv" description="Fiji" alias="Pacific/Fiji"/>
|
||||
<type name="fkpsy" description="Stanley, Falkland Islands" alias="Atlantic/Stanley"/>
|
||||
<type name="fmksa" description="Kosrae, Micronesia" alias="Pacific/Kosrae"/>
|
||||
@@ -178,7 +177,7 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="frpar" description="Paris, France" alias="Europe/Paris"/>
|
||||
<type name="galbv" description="Libreville, Gabon" alias="Africa/Libreville"/>
|
||||
<type name="gaza" description="Gaza Strip, Palestinian Territories" deprecated="true" preferred="gazastrp"/>
|
||||
<type name="gazastrp" description="Gaza Strip, Palestinian Territories" alias="Asia/Gaza" since="40" region="PS"/>
|
||||
<type name="gazastrp" description="Gaza Strip, Palestinian Territories" alias="Asia/Gaza" since="40"/>
|
||||
<type name="gblon" description="London, United Kingdom" alias="Europe/London Europe/Belfast GB GB-Eire"/>
|
||||
<type name="gdgnd" description="Grenada" alias="America/Grenada"/>
|
||||
<type name="getbs" description="Tbilisi, Georgia" alias="Asia/Tbilisi"/>
|
||||
@@ -194,8 +193,8 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="gmt" description="Greenwich Mean Time" alias="Etc/GMT Etc/GMT+0 Etc/GMT-0 Etc/GMT0 Etc/Greenwich GMT GMT+0 GMT-0 GMT0 Greenwich" since="31"/>
|
||||
<type name="gncky" description="Conakry, Guinea" alias="Africa/Conakry"/>
|
||||
<type name="gpbbr" description="Guadeloupe" alias="America/Guadeloupe"/>
|
||||
<type name="gpmsb" description="Marigot, Saint Martin" alias="America/Marigot" region="MF"/>
|
||||
<type name="gpsbh" description="Saint Barthélemy" alias="America/St_Barthelemy" region="BL"/>
|
||||
<type name="gpmsb" description="Marigot, Saint Martin" alias="America/Marigot"/>
|
||||
<type name="gpsbh" description="Saint Barthélemy" alias="America/St_Barthelemy"/>
|
||||
<type name="gqssg" description="Malabo, Equatorial Guinea" alias="Africa/Malabo"/>
|
||||
<type name="grath" description="Athens, Greece" alias="Europe/Athens EET"/>
|
||||
<type name="gsgrv" description="South Georgia and the South Sandwich Islands" alias="Atlantic/South_Georgia"/>
|
||||
@@ -203,7 +202,7 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="gugum" description="Guam" alias="Pacific/Guam"/>
|
||||
<type name="gwoxb" description="Bissau, Guinea-Bissau" alias="Africa/Bissau"/>
|
||||
<type name="gygeo" description="Guyana" alias="America/Guyana"/>
|
||||
<type name="hebron" description="West Bank, Palestinian Territories" alias="Asia/Hebron" since="21" region="PS"/>
|
||||
<type name="hebron" description="West Bank, Palestinian Territories" alias="Asia/Hebron" since="21"/>
|
||||
<type name="hkhkg" description="Hong Kong SAR China" alias="Asia/Hong_Kong Hongkong"/>
|
||||
<type name="hntgu" description="Tegucigalpa, Honduras" alias="America/Tegucigalpa"/>
|
||||
<type name="hrzag" description="Zagreb, Croatia" alias="Europe/Zagreb"/>
|
||||
@@ -221,7 +220,7 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="irthr" description="Tehran, Iran" alias="Asia/Tehran Iran"/>
|
||||
<type name="isrey" description="Reykjavik, Iceland" alias="Atlantic/Reykjavik Iceland"/>
|
||||
<type name="itrom" description="Rome, Italy" alias="Europe/Rome"/>
|
||||
<type name="jeruslm" description="Jerusalem" alias="Asia/Jerusalem Asia/Tel_Aviv Israel" region="IL"/>
|
||||
<type name="jeruslm" description="Jerusalem" alias="Asia/Jerusalem Asia/Tel_Aviv Israel"/>
|
||||
<type name="jesth" description="Jersey" alias="Europe/Jersey"/>
|
||||
<type name="jmkin" description="Jamaica" alias="America/Jamaica Jamaica"/>
|
||||
<type name="joamm" description="Amman, Jordan" alias="Asia/Amman"/>
|
||||
@@ -306,7 +305,7 @@ For terms of use, see http://www.unicode.org/copyright.html
|
||||
<type name="npktm" description="Kathmandu, Nepal" alias="Asia/Katmandu Asia/Kathmandu" iana="Asia/Kathmandu"/>
|
||||
<type name="nrinu" description="Nauru" alias="Pacific/Nauru"/>
|
||||
<type name="nuiue" description="Niue" alias="Pacific/Niue"/>
|
||||
<type name="nzakl" description="Auckland, New Zealand" alias="Pacific/Auckland NZ"/>
|
||||
<type name="nzakl" description="Auckland, New Zealand" alias="Pacific/Auckland Antarctica/South_Pole NZ"/>
|
||||
<type name="nzcht" description="Chatham Islands, New Zealand" alias="Pacific/Chatham NZ-CHAT"/>
|
||||
<type name="ommct" description="Muscat, Oman" alias="Asia/Muscat"/>
|
||||
<type name="papty" description="Panama" alias="America/Panama EST"/>
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<!--
|
||||
Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
-->
|
||||
Copyright © 2003-2010 Unicode, Inc. and others. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
|
||||
<!-- This is only referenced by the deprecated GenerateLikelySubtagTests.java - see CLDR-17535 -->
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright notice(s) and this permission notice appear with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified.
|
||||
|
||||
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
|
||||
-->
|
||||
|
||||
<!ELEMENT cldrTest ((number | date | zoneFields | collation | likelySubtags)*) >
|
||||
<!ATTLIST cldrTest version CDATA #REQUIRED>
|
||||
@@ -47,3 +48,4 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!-- likelySubtags result attributes -->
|
||||
<!ATTLIST result add NMTOKEN #IMPLIED>
|
||||
<!ATTLIST result remove NMTOKEN #IMPLIED>
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST version number CDATA #REQUIRED >
|
||||
<!--@MATCH:regex/\$Revision.*\$-->
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "48" >
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "47" >
|
||||
<!--@MATCH:any-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST version draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
@@ -64,8 +64,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!--@MATCH:validity/locale-for-names-->
|
||||
<!ATTLIST language alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/long, secondary, short, variant, menu, official-->
|
||||
<!ATTLIST language menu NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/core, extension-->
|
||||
<!ATTLIST language draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
<!--@DEPRECATED:true, false-->
|
||||
@@ -279,8 +277,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!--@MATCH:bcp47/anykey-->
|
||||
<!ATTLIST type type NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:bcp47/anyvalue-->
|
||||
<!ATTLIST type scope NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:literal/core-->
|
||||
<!ATTLIST type alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/short, variant-->
|
||||
<!ATTLIST type draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
@@ -460,7 +456,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!--@DEPRECATED-->
|
||||
|
||||
<!ELEMENT exemplarCharacters ( #PCDATA | cp )* >
|
||||
<!ATTLIST exemplarCharacters type (standard | auxiliary | numbers | numbers-auxiliary | punctuation | punctuation-auxiliary | punctuation-person | index | currencySymbol) #IMPLIED >
|
||||
<!ATTLIST exemplarCharacters type (auxiliary | standard | punctuation | currencySymbol | index | numbers) #IMPLIED >
|
||||
<!--@DEPRECATED:currencySymbol-->
|
||||
<!ATTLIST exemplarCharacters alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/variant-->
|
||||
@@ -1532,7 +1528,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
|
||||
<!ELEMENT dateTimeFormat ( alias | ( pattern*, displayName*, special* ) ) >
|
||||
<!ATTLIST dateTimeFormat type NMTOKEN "standard" >
|
||||
<!--@MATCH:literal/standard, atTime, relative-->
|
||||
<!--@MATCH:literal/standard, atTime-->
|
||||
<!ATTLIST dateTimeFormat alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/variant-->
|
||||
<!ATTLIST dateTimeFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
@@ -1722,7 +1718,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST relativePeriod draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT timeZoneNames ( alias | ( hourFormat*, hoursFormat*, gmtFormat*, gmtZeroFormat*, gmtUnknownFormat*, regionFormat*, fallbackFormat*, fallbackRegionFormat*, abbreviationFallback*, preferenceOrdering*, singleCountries*, default*, zone*, metazone*, special* ) ) >
|
||||
<!ELEMENT timeZoneNames ( alias | ( hourFormat*, hoursFormat*, gmtFormat*, gmtZeroFormat*, regionFormat*, fallbackFormat*, fallbackRegionFormat*, abbreviationFallback*, preferenceOrdering*, singleCountries*, default*, zone*, metazone*, special* ) ) >
|
||||
<!ATTLIST timeZoneNames draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
<!--@DEPRECATED-->
|
||||
@@ -1769,15 +1765,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST gmtZeroFormat references CDATA #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT gmtUnknownFormat ( #PCDATA ) >
|
||||
<!ATTLIST gmtUnknownFormat alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/variant-->
|
||||
<!ATTLIST gmtUnknownFormat draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
<!--@DEPRECATED:true, false-->
|
||||
<!ATTLIST gmtUnknownFormat references CDATA #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT regionFormat ( #PCDATA ) >
|
||||
<!ATTLIST regionFormat type (standard | daylight) #IMPLIED >
|
||||
<!ATTLIST regionFormat alt NMTOKENS #IMPLIED >
|
||||
@@ -1976,7 +1963,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
|
||||
<!-- ######################################################### -->
|
||||
|
||||
<!ELEMENT numbers ( alias | ( defaultNumberingSystem*, otherNumberingSystems*, minimumGroupingDigits*, symbols*, decimalFormats*, rationalFormats*, scientificFormats*, percentFormats*, currencyFormats*, currencies?, miscPatterns*, minimalPairs*, special* ) ) >
|
||||
<!ELEMENT numbers ( alias | ( defaultNumberingSystem*, otherNumberingSystems*, minimumGroupingDigits*, symbols*, decimalFormats*, scientificFormats*, percentFormats*, currencyFormats*, currencies?, miscPatterns*, minimalPairs*, special* ) ) >
|
||||
<!ATTLIST numbers alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/variant-->
|
||||
<!ATTLIST numbers draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
@@ -2280,28 +2267,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!--@VALUE-->
|
||||
<!--@DEPRECATED-->
|
||||
|
||||
<!ELEMENT rationalFormats ( alias | ( rationalPattern*, integerAndRationalPattern*, rationalUsage*, special* ) ) >
|
||||
<!ATTLIST rationalFormats numberSystem CDATA #REQUIRED >
|
||||
<!--@MATCH:bcp47/nu-->
|
||||
|
||||
<!ELEMENT rationalPattern ( #PCDATA ) >
|
||||
<!ATTLIST rationalPattern alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/variant-->
|
||||
<!ATTLIST rationalPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT integerAndRationalPattern ( #PCDATA ) >
|
||||
<!ATTLIST integerAndRationalPattern alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/superSub-->
|
||||
<!ATTLIST integerAndRationalPattern draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT rationalUsage ( #PCDATA ) >
|
||||
<!ATTLIST rationalUsage alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/variant-->
|
||||
<!ATTLIST rationalUsage draft (approved | contributed | provisional | unconfirmed) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT scientificFormats ( alias | ( default*, scientificFormatLength*, special* ) ) >
|
||||
<!ATTLIST scientificFormats draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
@@ -3135,20 +3100,12 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
|
||||
<!ELEMENT rbnf ( alias | ( rulesetGrouping*, special* ) ) >
|
||||
|
||||
<!ELEMENT rulesetGrouping ( alias | ( rbnfRules?, ruleset*, special* ) ) >
|
||||
<!ELEMENT rulesetGrouping ( alias | ( ruleset*, special* ) ) >
|
||||
<!ATTLIST rulesetGrouping type NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:literal/NumberingSystemRules, OrdinalRules, SpelloutRules-->
|
||||
<!ATTLIST rulesetGrouping draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
|
||||
<!ELEMENT rbnfRules ( #PCDATA ) >
|
||||
<!--@CDATA-->
|
||||
<!ATTLIST rbnfRules alt NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:literal/variant-->
|
||||
<!ATTLIST rbnfRules draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
<!--@METADATA-->
|
||||
<!--@DEPRECATED:true, false-->
|
||||
|
||||
<!ELEMENT ruleset ( alias | ( rbnfrule*, special* ) ) >
|
||||
<!--@ORDERED-->
|
||||
<!ATTLIST ruleset type NMTOKEN #REQUIRED >
|
||||
|
||||
@@ -128,10 +128,10 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element name="version">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="number" use="required"/>
|
||||
<xs:attribute default="48" name="cldrVersion">
|
||||
<xs:attribute default="47" name="cldrVersion">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="48"/>
|
||||
<xs:enumeration value="47"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
@@ -182,7 +182,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="alt" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="menu" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="draft">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
@@ -204,7 +203,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="script">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
|
||||
@@ -698,7 +696,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="key" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="type" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="scope" type="xs:NMTOKEN"/>
|
||||
<xs:attribute name="alt" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="draft">
|
||||
<xs:simpleType>
|
||||
@@ -721,7 +718,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="transformNames">
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
@@ -1200,15 +1196,12 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:attribute name="type">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="standard"/>
|
||||
<xs:enumeration value="auxiliary"/>
|
||||
<xs:enumeration value="numbers"/>
|
||||
<xs:enumeration value="numbers-auxiliary"/>
|
||||
<xs:enumeration value="standard"/>
|
||||
<xs:enumeration value="punctuation"/>
|
||||
<xs:enumeration value="punctuation-auxiliary"/>
|
||||
<xs:enumeration value="punctuation-person"/>
|
||||
<xs:enumeration value="index"/>
|
||||
<xs:enumeration value="currencySymbol"/>
|
||||
<xs:enumeration value="index"/>
|
||||
<xs:enumeration value="numbers"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
@@ -4519,7 +4512,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="hoursFormat"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="gmtFormat"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="gmtZeroFormat"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="gmtUnknownFormat"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="regionFormat"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="fallbackFormat"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="fallbackRegionFormat"/>
|
||||
@@ -4642,28 +4634,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
|
||||
|
||||
|
||||
<xs:element name="gmtUnknownFormat">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="alt" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="draft">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="approved"/>
|
||||
<xs:enumeration value="contributed"/>
|
||||
<xs:enumeration value="provisional"/>
|
||||
<xs:enumeration value="unconfirmed"/>
|
||||
<xs:enumeration value="true"/>
|
||||
<xs:enumeration value="false"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="references"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="regionFormat">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="type">
|
||||
@@ -5129,7 +5099,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="minimumGroupingDigits"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="symbols"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="decimalFormats"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="rationalFormats"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="scientificFormats"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="percentFormats"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="currencyFormats"/>
|
||||
@@ -5861,72 +5830,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
|
||||
|
||||
|
||||
<xs:element name="rationalFormats">
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
<xs:element ref="alias"/>
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="rationalPattern"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="integerAndRationalPattern"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="rationalUsage"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="special"/>
|
||||
</xs:sequence>
|
||||
</xs:choice>
|
||||
<xs:attribute name="numberSystem" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="rationalPattern">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="alt" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="draft">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="approved"/>
|
||||
<xs:enumeration value="contributed"/>
|
||||
<xs:enumeration value="provisional"/>
|
||||
<xs:enumeration value="unconfirmed"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
|
||||
<xs:element name="integerAndRationalPattern">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="alt" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="draft">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="approved"/>
|
||||
<xs:enumeration value="contributed"/>
|
||||
<xs:enumeration value="provisional"/>
|
||||
<xs:enumeration value="unconfirmed"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
|
||||
<xs:element name="rationalUsage">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="alt" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="draft">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="approved"/>
|
||||
<xs:enumeration value="contributed"/>
|
||||
<xs:enumeration value="provisional"/>
|
||||
<xs:enumeration value="unconfirmed"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
|
||||
<xs:element name="scientificFormats">
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
@@ -8146,7 +8049,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:choice>
|
||||
<xs:element ref="alias"/>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" ref="rbnfRules"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="ruleset"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" ref="special"/>
|
||||
</xs:sequence>
|
||||
@@ -8168,27 +8070,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
</xs:element>
|
||||
|
||||
|
||||
<xs:element name="rbnfRules">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="alt" type="xs:NMTOKENS"/>
|
||||
<xs:attribute name="draft">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="approved"/>
|
||||
<xs:enumeration value="contributed"/>
|
||||
<xs:enumeration value="provisional"/>
|
||||
<xs:enumeration value="unconfirmed"/>
|
||||
<xs:enumeration value="true"/>
|
||||
<xs:enumeration value="false"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="ruleset">
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
|
||||
@@ -12,7 +12,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST version number CDATA #REQUIRED >
|
||||
<!--@MATCH:regex/\$Revision.*\$-->
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "48" >
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "47" >
|
||||
<!--@MATCH:version-->
|
||||
<!--@VALUE-->
|
||||
|
||||
@@ -72,9 +72,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST type iana CDATA #IMPLIED >
|
||||
<!--@MATCH:regex/^[A-Za-z]+(/[A-Za-z_\-]+)+$-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST type region CDATA #IMPLIED >
|
||||
<!--@MATCH:regex/^[A-Z]{2}$-->
|
||||
<!--@VALUE-->
|
||||
|
||||
<!ELEMENT attribute EMPTY >
|
||||
<!ATTLIST attribute name NMTOKEN #REQUIRED >
|
||||
|
||||
@@ -24,10 +24,10 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element name="version">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="number" use="required"/>
|
||||
<xs:attribute default="48" name="cldrVersion">
|
||||
<xs:attribute default="47" name="cldrVersion">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="48"/>
|
||||
<xs:enumeration value="47"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
@@ -120,7 +120,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:attribute name="alias"/>
|
||||
<xs:attribute name="since"/>
|
||||
<xs:attribute name="iana"/>
|
||||
<xs:attribute name="region"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
@@ -135,8 +134,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="attribute">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
<!--
|
||||
Copyright © 1991-2025 Unicode, Inc.
|
||||
For terms of use, see http://www.unicode.org/copyright.html
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
|
||||
Copyright © 2003-2010 Unicode, Inc. and others. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that (a) the above copyright notice(s) and this permission notice appear with all copies of the Data Files or Software, (b) both the above copyright notice(s) and this permission notice appear in associated documentation, and (c) there is clear notice in each modified Data File or in the Software as well as in the documentation associated with the Data File(s) or Software that the data or software has been modified.
|
||||
|
||||
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder.
|
||||
-->
|
||||
|
||||
<!-- OpenOffice.org Specific elements -->
|
||||
@@ -57,7 +60,7 @@ openOffice:quarter4Abbreviation?)>
|
||||
<!ELEMENT openOffice:belowWord (#PCDATA)>
|
||||
|
||||
<!-- START_DEPRECATED -->
|
||||
<!ELEMENT openOffice:quarter1Abbreviation (#PCDATA)>
|
||||
<!ELEMENT openOffice:quarter1Abbreviation (#PCDATA)>
|
||||
<!ELEMENT openOffice:quarter2Abbreviation (#PCDATA)>
|
||||
<!ELEMENT openOffice:quarter3Abbreviation (#PCDATA)>
|
||||
<!ELEMENT openOffice:quarter4Abbreviation (#PCDATA)>
|
||||
|
||||
@@ -12,7 +12,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST version number CDATA #REQUIRED >
|
||||
<!--@MATCH:any-->
|
||||
<!--@METADATA-->
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "48" >
|
||||
<!ATTLIST version cldrVersion CDATA #FIXED "47" >
|
||||
<!--@MATCH:version-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST version unicodeVersion CDATA #FIXED "16.0.0" >
|
||||
@@ -147,7 +147,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST language territories NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:set/validity/region-->
|
||||
<!--@VALUE-->
|
||||
<!--@DEPRECATED-->
|
||||
<!ATTLIST language variants NMTOKENS #IMPLIED >
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST language draft (approved | contributed | provisional | unconfirmed | true | false) #IMPLIED >
|
||||
@@ -275,7 +274,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!--@MATCH:time/yyyy-MM-dd-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST era code NMTOKEN #IMPLIED >
|
||||
<!--@MATCH:regex/[a-z0-9]{2,8}(\-[a-z0-9]{3,8})*-->
|
||||
<!--@MATCH:regex/[a-z0-9]{3,8}(\-[a-z0-9]{3,8})*-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST era aliases NMTOKENS #IMPLIED >
|
||||
<!--@MATCH:set/regex/[a-z0-9]{2,8}(\-[a-z0-9]{3,8})*-->
|
||||
@@ -771,7 +770,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST unitAlias type NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:validity/short-unit/deprecated-->
|
||||
<!ATTLIST unitAlias replacement NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:regex/[A-Za-z0-9][-A-Za-z0-9]*-->
|
||||
<!--@MATCH:regex/[A-Za-z][-A-Za-z0-9]*-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST unitAlias reason (deprecated) #IMPLIED >
|
||||
<!--@VALUE-->
|
||||
@@ -997,12 +996,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST usesMetazone mzone NMTOKEN #REQUIRED >
|
||||
<!--@MATCH:metazone-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST usesMetazone stdOffset CDATA #IMPLIED >
|
||||
<!--@MATCH:regex/[+-][0-9]{2}(:[0-9]{2})?-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST usesMetazone dstOffset CDATA #IMPLIED >
|
||||
<!--@MATCH:regex/[+-][0-9]{2}(:[0-9]{2})?-->
|
||||
<!--@VALUE-->
|
||||
|
||||
<!ELEMENT plurals ( pluralRules*, pluralRanges* ) >
|
||||
<!ATTLIST plurals type (ordinal | cardinal) #IMPLIED >
|
||||
@@ -1097,7 +1090,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<!ATTLIST numberingSystem radix NMTOKEN #IMPLIED >
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST numberingSystem digits CDATA #IMPLIED >
|
||||
<!--@MATCH:unicodeset/[\p{Nd}[\u3007\u4E00\u4E03\u4E09\u4E5D\u4E8C\u4E94\u516B\u516D\u56DB][\U00011DE0-\U00011DE9]]-->
|
||||
<!--@MATCH:unicodeset/[\p{Nd}[\u3007\u4E00\u4E03\u4E09\u4E5D\u4E8C\u4E94\u516B\u516D\u56DB][\U00010D40-\U00010D49\U000116D0-\U000116E3\U00011BF0-\U00011BF9\U00016130-\U00016139\U00016D70-\U00016D79\U0001CCF0-\U0001CCF9\U0001E5F1-\U0001E5FA]]-->
|
||||
<!--@VALUE-->
|
||||
<!ATTLIST numberingSystem rules CDATA #IMPLIED >
|
||||
<!--@MATCH:any-->
|
||||
|
||||
@@ -65,10 +65,10 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:element name="version">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="number" use="required"/>
|
||||
<xs:attribute default="48" name="cldrVersion">
|
||||
<xs:attribute default="47" name="cldrVersion">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="48"/>
|
||||
<xs:enumeration value="47"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
@@ -374,7 +374,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="scriptData">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@@ -2184,18 +2183,12 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
|
||||
<xs:attribute name="from"/>
|
||||
<xs:attribute name="to"/>
|
||||
<xs:attribute name="mzone" type="xs:NMTOKEN" use="required"/>
|
||||
<xs:attribute name="stdOffset"/>
|
||||
<xs:attribute name="dstOffset"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<xs:element name="plurals">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
|
||||
@@ -2072,7 +2072,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Asia/Phnom_Penh">
|
||||
<exemplarCity draft="unconfirmed">Пномпен</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Enderbury">
|
||||
<zone type="Pacific/Kanton">
|
||||
<exemplarCity draft="unconfirmed">Кантон</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Kiritimati">
|
||||
@@ -2746,7 +2746,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</metazone>
|
||||
<metazone type="Africa_Western">
|
||||
<long>
|
||||
<standard draft="unconfirmed">Мраҭашәаратәи Африка</standard>
|
||||
<generic draft="unconfirmed">Мраҭашәаратәи Африка</generic>
|
||||
<standard draft="unconfirmed">Мраҭашәаратәи Африка, астандартә аамҭа</standard>
|
||||
<daylight draft="unconfirmed">Мраҭашәаратәи Африка, аԥхынтәи аамҭа</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Alaska">
|
||||
@@ -3134,11 +3136,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<standard draft="unconfirmed">Гаиана</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii">
|
||||
<long>
|
||||
<standard draft="unconfirmed">Ҳаваи-алеуттәи астандартә аамҭа</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii_Aleutian">
|
||||
<long>
|
||||
<generic draft="unconfirmed">Ҳаваи-алеуттәи аамҭа</generic>
|
||||
@@ -3689,10 +3686,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern draft="unconfirmed">#,##0.00 ¤</pattern>
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
<unitPattern count="other" draft="unconfirmed">{0} {1}</unitPattern>
|
||||
|
||||
+253
-371
File diff suppressed because it is too large
Load Diff
+969
-195
File diff suppressed because it is too large
Load Diff
+316
-235
@@ -215,6 +215,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="hax">ደቡባዊ ሃይዳ</language>
|
||||
<language type="he">ዕብራይስጥ</language>
|
||||
<language type="hi">ሕንድኛ</language>
|
||||
<language type="hi_Latn">ሕንድኛ (ላቲን)</language>
|
||||
<language type="hil">ሂሊጋይኖን</language>
|
||||
<language type="hmn">ህሞንግ</language>
|
||||
<language type="hr">ክሮሽያንኛ</language>
|
||||
@@ -282,8 +283,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="ksf">ባፊያ</language>
|
||||
<language type="ksh">ኮሎኝኛ</language>
|
||||
<language type="ku">ኩርድሽ</language>
|
||||
<language type="ku" menu="core">ኩርድሽ</language>
|
||||
<language type="ku" menu="extension">ኩርድሽ</language>
|
||||
<language type="kum">ኩማይክ</language>
|
||||
<language type="kv">ኮሚ</language>
|
||||
<language type="kw">ኮርኒሽ</language>
|
||||
@@ -712,7 +711,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<territory type="CN">ቻይና</territory>
|
||||
<territory type="CO">ኮሎምቢያ</territory>
|
||||
<territory type="CP">ክሊፐርቶን ደሴት</territory>
|
||||
<territory type="CQ">ሳርክ</territory>
|
||||
<territory type="CR">ኮስታሪካ</territory>
|
||||
<territory type="CU">ኩባ</territory>
|
||||
<territory type="CV">ኬፕቨርዴ</territory>
|
||||
@@ -954,52 +952,33 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<key type="colNumeric">የቁጥር ድርደራ</key>
|
||||
<key type="colStrength">የድርደራ አቅም</key>
|
||||
<key type="currency">ምንዛሪ</key>
|
||||
<key type="em">ስሜት ገላጭ ምስል አቀራረብ</key>
|
||||
<key type="hc">የሰዓት ዑደት (12 ወይም 24)</key>
|
||||
<key type="lb">መስመር መስበሪያ ቅጥ</key>
|
||||
<key type="lw">የመስመር መሰባበር በቃላት ውስጥ</key>
|
||||
<key type="ms">የመለኪያ ስርዓት</key>
|
||||
<key type="numbers">ቁጥሮች</key>
|
||||
<key type="ss">ከአህጽሮተ ቃል በኋላ የዐረፍተ ነገር መቋረጥ</key>
|
||||
<key type="timezone">የሰዓት ሰቅ</key>
|
||||
<key type="va">የአካባቢ አይነት</key>
|
||||
<key type="x">ለግል ጥቅም</key>
|
||||
</keys>
|
||||
<types>
|
||||
<type key="calendar" type="buddhist">የቡዲስት ቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="buddhist" scope="core">ቡዲስት</type>
|
||||
<type key="calendar" type="chinese">የቻይና የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="chinese" scope="core">ቻይንኛ</type>
|
||||
<type key="calendar" type="coptic">የኮፕቲክ የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="coptic" scope="core">ኮፕቲክ</type>
|
||||
<type key="calendar" type="dangi">የዳንጊ የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="dangi" scope="core">ዳንጊ</type>
|
||||
<type key="calendar" type="ethiopic">የኢትዮጵያ የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="ethiopic" scope="core">ኢትዮፒክ</type>
|
||||
<type key="calendar" type="ethiopic-amete-alem">የኢትዮፒክ አመተ አለም የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="ethiopic-amete-alem" scope="core">ኢትዮፒክ ዓመተ ዓለም</type>
|
||||
<type key="calendar" type="gregorian">የግሪጎሪያን የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="gregorian" scope="core">ግሪጎሪያን</type>
|
||||
<type key="calendar" type="hebrew">የእብራዊያን የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="hebrew" scope="core">ሂብሩ</type>
|
||||
<type key="calendar" type="indian">የህንድ ብሔራዊ የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="islamic">የሂጅራ የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="islamic" scope="core">ሂጅራ</type>
|
||||
<type key="calendar" type="islamic-civil">የሂጅራ የቀን አቆጣጠር (ታቡላር፣ ሲቪል አፖች)</type>
|
||||
<type key="calendar" type="islamic-civil" scope="core">ሂጅራ (ታቡላር፣ የሲቪል ዘመን)</type>
|
||||
<type key="calendar" type="islamic-umalqura">የሂጅራ የቀን አቆጣጠር (ኡም አል-ቁራ)</type>
|
||||
<type key="calendar" type="islamic-umalqura" scope="core">ሂጅራ (ኡሙ አል-ቁራ)</type>
|
||||
<type key="calendar" type="iso8601">ISO-8601 የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="japanese">የጃፓን የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="japanese" scope="core">ጃፓንኛ</type>
|
||||
<type key="calendar" type="persian">የፐርሽያ የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="persian" scope="core">ፐርሽያን</type>
|
||||
<type key="calendar" type="roc">የሚንጉ የቀን አቆጣጠር</type>
|
||||
<type key="calendar" type="roc" scope="core">ሚንጉ</type>
|
||||
<type key="cf" type="account">የሂሳብ ምንዛሪ ቅርጸት</type>
|
||||
<type key="cf" type="account" scope="core">የሂሳብ አያያዝ</type>
|
||||
<type key="cf" type="standard">መደበኛ የምንዛሪ ቅርጸት</type>
|
||||
<type key="cf" type="standard" scope="core">መደበኛ</type>
|
||||
<type key="colAlternate" type="non-ignorable">ምልክቶችን ደርድር</type>
|
||||
<type key="colAlternate" type="shifted">ችላ ባይ ምልክቶችን ደርድር</type>
|
||||
<type key="colBackwards" type="no">የፊደል ጭረቶችን እንደመደበኛ ደርድር</type>
|
||||
@@ -1009,17 +988,16 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<type key="colCaseFirst" type="upper">አቢይ ሆሄ መጀመሪያ ደርድር</type>
|
||||
<type key="colCaseLevel" type="no">ያለመልከፊደል ትብ ደርድር</type>
|
||||
<type key="colCaseLevel" type="yes">በመልከፊደል ትብ ደርድር</type>
|
||||
<type key="collation" type="big5han">የባህላዊ ቻይንኛ የድርድር ቅደም ተከተል - ትልቅ5</type>
|
||||
<type key="collation" type="dictionary">የመዝገበ ቃላት የድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="ducet">የነባሪ ዩኒኮድ የድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="ducet" scope="core">ነባሪ ዩኒኮድ</type>
|
||||
<type key="collation" type="gb2312han">የቀለለ የቻይንኛ የድርደራ ቅደም ተከተል - GB2312</type>
|
||||
<type key="collation" type="phonebook">የስልክ ደብተር ድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="phonetic">የፎነቲክ ድርደራ ቅደም ተከተል</type>
|
||||
<type key="collation" type="pinyin">ፒንይን የድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="search">ለጠቅላላ ጉዳይ ፍለጋ</type>
|
||||
<type key="collation" type="search" scope="core">ፍለጋ</type>
|
||||
<type key="collation" type="searchjl">በሃንጉል የመጀመሪያ ተነባቢ ፈልግ</type>
|
||||
<type key="collation" type="standard">መደበኛ የድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="standard" scope="core">መደበኛ</type>
|
||||
<type key="collation" type="stroke">የበትር ድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="traditional">ባህላዊ የድርድር ቅደም ተከተል</type>
|
||||
<type key="collation" type="unihan">የመሰረታዊ በትር ድርድር ቅደም ተከተል</type>
|
||||
@@ -1035,35 +1013,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<type key="d0" type="fwidth">ሙሉ ወርድ</type>
|
||||
<type key="d0" type="hwidth">ግማሽ ወርድ</type>
|
||||
<type key="d0" type="npinyin">አሃዛዊ</type>
|
||||
<type key="em" type="default" scope="core">ነባሪ</type>
|
||||
<type key="em" type="emoji" scope="core">ስሜት ገላጭ ምስል</type>
|
||||
<type key="em" type="text" scope="core">ጽሑፍ</type>
|
||||
<type key="hc" type="h11">የ12 ሰዓት ስርዓት (0–11)</type>
|
||||
<type key="hc" type="h11" scope="core">12 (0–11)</type>
|
||||
<type key="hc" type="h12">የ12 ሰዓት ስርዓት (1–12)</type>
|
||||
<type key="hc" type="h12" scope="core">12 (1–12)</type>
|
||||
<type key="hc" type="h23">የ24 ሰዓት ስርዓት (0–23)</type>
|
||||
<type key="hc" type="h23" scope="core">24 (0–23)</type>
|
||||
<type key="hc" type="h24">የ24 ሰዓት ስርዓት (1–24)</type>
|
||||
<type key="hc" type="h24" scope="core">24 (1–24)</type>
|
||||
<type key="lb" type="loose">ላላ ያለ መስመር መስበሪያ ቅጥ</type>
|
||||
<type key="lb" type="loose" scope="core">ልቅ</type>
|
||||
<type key="lb" type="normal">መደበኛ መስመር መስበሪያ ቅጥ</type>
|
||||
<type key="lb" type="normal" scope="core">መደበኛ</type>
|
||||
<type key="lb" type="strict">ጠበቅ ያለ መስመር መስበሪያ ቅጥ</type>
|
||||
<type key="lb" type="strict" scope="core">ጥብቅ</type>
|
||||
<type key="lw" type="breakall" scope="core">ሁሉንም ሰብረው</type>
|
||||
<type key="lw" type="keepall" scope="core">ሁሉንም አቆይ</type>
|
||||
<type key="lw" type="normal" scope="core">መደበኛ</type>
|
||||
<type key="lw" type="phrase" scope="core">በዓረፍተ ነገሮች ውስጥ ያስቀምጡ</type>
|
||||
<type key="m0" type="bgn">ዩኤስ ቢጂኤን ትራንስሊትሬሽን</type>
|
||||
<type key="m0" type="ungegn">ዩኤን ጂኢጂኤን ትራንስሊትሬሽን</type>
|
||||
<type key="ms" type="metric">ሜትሪክ ስርዓት</type>
|
||||
<type key="ms" type="metric" scope="core">መለኪያ</type>
|
||||
<type key="ms" type="uksystem">ኢምፔሪያል የመለኪያ ስርዓት</type>
|
||||
<type key="ms" type="uksystem" scope="core">ዩኬ</type>
|
||||
<type key="ms" type="ussystem">የአሜሪካ መለኪያ ስርዓት</type>
|
||||
<type key="ms" type="ussystem" scope="core">ዩኤስ</type>
|
||||
<type key="numbers" type="arab">የአረቢክ-ኢንዲክ አሃዞች</type>
|
||||
<type key="numbers" type="arabext">የተራዘሙ የአረቢክ-ኢንዲክ አሃዞች</type>
|
||||
<type key="numbers" type="armn">የአርመንኛ ቁጥሮች</type>
|
||||
@@ -1108,8 +1069,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<type key="numbers" type="tibt">የቲቤት አሃዞች</type>
|
||||
<type key="numbers" type="traditional">ተለምዷዊ ቁጥሮች</type>
|
||||
<type key="numbers" type="vaii">የቫይ አሃዞች</type>
|
||||
<type key="ss" type="none" scope="core">ጠፍቷል</type>
|
||||
<type key="ss" type="standard" scope="core">በርቷል</type>
|
||||
</types>
|
||||
<measurementSystemNames>
|
||||
<measurementSystemName type="metric">ሜትሪክ</measurementSystemName>
|
||||
@@ -1139,23 +1098,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateTimeFormats>
|
||||
<availableFormats>
|
||||
<dateFormatItem id="GyMMM">MMM፣ y G</dateFormatItem>
|
||||
<dateFormatItem id="yyyyM">GGGGG y-MM</dateFormatItem>
|
||||
<dateFormatItem id="yyyyMd">GGGGG y-MM-dd</dateFormatItem>
|
||||
<dateFormatItem id="yyyyMEd">GGGGG y-MM-dd, E</dateFormatItem>
|
||||
</availableFormats>
|
||||
<intervalFormats>
|
||||
<intervalFormatItem id="H">
|
||||
<greatestDifference id="H">HH–HH</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="Hv">
|
||||
<greatestDifference id="H">HH–HH v</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
</intervalFormats>
|
||||
</dateTimeFormats>
|
||||
</calendar>
|
||||
<calendar type="coptic">
|
||||
<eras>
|
||||
<eraAbbr>
|
||||
<era type="0" draft="unconfirmed">ዓ/ዓ</era>
|
||||
<era type="1" draft="unconfirmed">ዓ/ም</era>
|
||||
</eraAbbr>
|
||||
</eras>
|
||||
@@ -1184,18 +1133,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<availableFormats>
|
||||
<dateFormatItem id="GyMMM">MMM፣ y G</dateFormatItem>
|
||||
<dateFormatItem id="MMMMEd">E, MMMM d</dateFormatItem>
|
||||
<dateFormatItem id="yyyyM">GGGGG y-MM</dateFormatItem>
|
||||
<dateFormatItem id="yyyyMd">GGGGG y-MM-dd</dateFormatItem>
|
||||
<dateFormatItem id="yyyyMEd">GGGGG y-MM-dd, E</dateFormatItem>
|
||||
</availableFormats>
|
||||
<intervalFormats>
|
||||
<intervalFormatItem id="H">
|
||||
<greatestDifference id="H">HH–HH</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="Hv">
|
||||
<greatestDifference id="H">HH–HH v</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
</intervalFormats>
|
||||
</dateTimeFormats>
|
||||
</calendar>
|
||||
<calendar type="generic">
|
||||
@@ -1226,33 +1164,21 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateTimeFormat>
|
||||
<pattern>{1} {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="relative">
|
||||
<pattern>{1} በ {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
</dateTimeFormatLength>
|
||||
<dateTimeFormatLength type="long">
|
||||
<dateTimeFormat>
|
||||
<pattern>{1} {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="relative">
|
||||
<pattern>{1} በ {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
</dateTimeFormatLength>
|
||||
<dateTimeFormatLength type="medium">
|
||||
<dateTimeFormat>
|
||||
<pattern>{1} {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="relative">
|
||||
<pattern>{1} በ {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
</dateTimeFormatLength>
|
||||
<dateTimeFormatLength type="short">
|
||||
<dateTimeFormat>
|
||||
<pattern>{1} {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="relative">
|
||||
<pattern>{1} በ {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
</dateTimeFormatLength>
|
||||
<availableFormats>
|
||||
<dateFormatItem id="Ed">E d</dateFormatItem>
|
||||
@@ -1489,6 +1415,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dayPeriodWidth type="narrow">
|
||||
<dayPeriod type="am">ጠ</dayPeriod>
|
||||
<dayPeriod type="pm">ከ</dayPeriod>
|
||||
<dayPeriod type="morning1">ጥዋት</dayPeriod>
|
||||
<dayPeriod type="afternoon1">ከሰዓት</dayPeriod>
|
||||
<dayPeriod type="evening1">ማታ</dayPeriod>
|
||||
<dayPeriod type="night1">ሌሊት</dayPeriod>
|
||||
</dayPeriodWidth>
|
||||
</dayPeriodContext>
|
||||
</dayPeriods>
|
||||
@@ -1496,6 +1426,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<eraNames>
|
||||
<era type="0">ዓመተ ዓለም</era>
|
||||
<era type="1">ዓመተ ምሕረት</era>
|
||||
<era type="1" alt="variant">ዓ/ም</era>
|
||||
</eraNames>
|
||||
<eraAbbr>
|
||||
<era type="0">ዓ/ዓ</era>
|
||||
@@ -1575,17 +1506,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateFormatItem id="Bh">B h</dateFormatItem>
|
||||
<dateFormatItem id="Bhm">B h:mm</dateFormatItem>
|
||||
<dateFormatItem id="Bhms">B h:mm:ss</dateFormatItem>
|
||||
<dateFormatItem id="EBh">E B h</dateFormatItem>
|
||||
<dateFormatItem id="EBhm">E B h:mm</dateFormatItem>
|
||||
<dateFormatItem id="EBhms">E B h:mm:ss</dateFormatItem>
|
||||
<dateFormatItem id="Ed">E d</dateFormatItem>
|
||||
<dateFormatItem id="Eh">E a h</dateFormatItem>
|
||||
<dateFormatItem id="Ehm">E a h:mm</dateFormatItem>
|
||||
<dateFormatItem id="Ehms">E a h:mm:ss</dateFormatItem>
|
||||
<dateFormatItem id="Gy">y G</dateFormatItem>
|
||||
<dateFormatItem id="GyM">M/y G</dateFormatItem>
|
||||
<dateFormatItem id="GyMd">d/M/y GGGGG</dateFormatItem>
|
||||
<dateFormatItem id="GyMEd">E d/M/y G</dateFormatItem>
|
||||
<dateFormatItem id="GyMMM">MMM y G</dateFormatItem>
|
||||
<dateFormatItem id="GyMMMd">MMM d y G</dateFormatItem>
|
||||
<dateFormatItem id="GyMMMEd">E MMM d y G</dateFormatItem>
|
||||
@@ -1593,7 +1520,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateFormatItem id="H">H</dateFormatItem>
|
||||
<dateFormatItem id="hm">a h:mm</dateFormatItem>
|
||||
<dateFormatItem id="hms">a h:mm:ss</dateFormatItem>
|
||||
<dateFormatItem id="hv">a h v</dateFormatItem>
|
||||
<dateFormatItem id="Md">d/M</dateFormatItem>
|
||||
<dateFormatItem id="MEd">E፣ d/M</dateFormatItem>
|
||||
<dateFormatItem id="MMMEd">E፣ MMM d</dateFormatItem>
|
||||
@@ -1612,9 +1538,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</availableFormats>
|
||||
<intervalFormats>
|
||||
<intervalFormatFallback>{0} – {1}</intervalFormatFallback>
|
||||
<intervalFormatItem id="Bh">
|
||||
<greatestDifference id="B">B h – B h</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="GyM">
|
||||
<greatestDifference id="G">GGGGG M/y – GGGGG M/y</greatestDifference>
|
||||
<greatestDifference id="M">GGGGG M/y – M/y</greatestDifference>
|
||||
@@ -1758,26 +1681,14 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<relative type="0">ይህ ሩብ</relative>
|
||||
<relative type="1">የሚቀጥለው ሩብ</relative>
|
||||
<relativeTime type="future">
|
||||
<relativeTimePattern count="one">በ{0} ሩብ</relativeTimePattern>
|
||||
<relativeTimePattern count="other">በ{0} ሩብ</relativeTimePattern>
|
||||
<relativeTimePattern count="one">+{0} ሩብ</relativeTimePattern>
|
||||
<relativeTimePattern count="other">+{0} ሩብ</relativeTimePattern>
|
||||
</relativeTime>
|
||||
<relativeTime type="past">
|
||||
<relativeTimePattern count="one">{0} ሩብ በፊት</relativeTimePattern>
|
||||
<relativeTimePattern count="other">{0} ሩብ በፊት</relativeTimePattern>
|
||||
</relativeTime>
|
||||
</field>
|
||||
<field type="quarter-short">
|
||||
<relativeTime type="future">
|
||||
<relativeTimePattern count="one">በ{0} ሩብ</relativeTimePattern>
|
||||
<relativeTimePattern count="other">በ{0} ሩብ</relativeTimePattern>
|
||||
</relativeTime>
|
||||
</field>
|
||||
<field type="quarter-narrow">
|
||||
<relativeTime type="future">
|
||||
<relativeTimePattern count="one">በ{0} ሩብ</relativeTimePattern>
|
||||
<relativeTimePattern count="other">በ{0} ሩብ</relativeTimePattern>
|
||||
</relativeTime>
|
||||
</field>
|
||||
<field type="month">
|
||||
<displayName>ወር</displayName>
|
||||
<relative type="-1">ያለፈው ወር</relative>
|
||||
@@ -2079,7 +1990,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<hourFormat>+HHmm;-HHmm</hourFormat>
|
||||
<gmtFormat>ጂ ኤም ቲ{0}</gmtFormat>
|
||||
<gmtZeroFormat>ጂ ኤም ቲ</gmtZeroFormat>
|
||||
<gmtUnknownFormat>ጂ ኤም ቲ+</gmtUnknownFormat>
|
||||
<regionFormat>{0} ሰዓት</regionFormat>
|
||||
<regionFormat type="daylight">{0} የቀን ብርሃን ሰዓት</regionFormat>
|
||||
<regionFormat type="standard">{0} መደበኛ ሰዓት</regionFormat>
|
||||
@@ -2701,6 +2611,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<exemplarCity>ፍኖም ፔንህ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Enderbury">
|
||||
<exemplarCity>ኢንደርበሪ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Kanton">
|
||||
<exemplarCity>ካንቶን</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Kiritimati">
|
||||
@@ -3370,7 +3283,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</metazone>
|
||||
<metazone type="Africa_Western">
|
||||
<long>
|
||||
<standard>የምዕራብ አፍሪካ ሰዓት</standard>
|
||||
<generic>የምዕራብ አፍሪካ ሰዓት</generic>
|
||||
<standard>የምዕራብ አፍሪካ መደበኛ ሰዓት</standard>
|
||||
<daylight>የምዕራብ አፍሪካ ክረምት ሰዓት</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Alaska">
|
||||
@@ -3727,11 +3642,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<standard>የጉያና ሰዓት</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii">
|
||||
<long>
|
||||
<standard>የሃዋይ አሌኡት መደበኛ ሰዓት አቆጣጠር</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii_Aleutian">
|
||||
<long>
|
||||
<generic>የሃዋይ አሌኡት ሰዓት አቆጣጠር</generic>
|
||||
@@ -4315,6 +4225,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern>¤#,##0.00</pattern>
|
||||
<pattern alt="alphaNextToNumber" draft="provisional">¤ #,##0.00</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern>¤#,##0.00;(¤#,##0.00)</pattern>
|
||||
@@ -4864,11 +4775,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<currency type="XCD">
|
||||
<displayName>የምዕራብ ካሪብያን ዶላር</displayName>
|
||||
</currency>
|
||||
<currency type="XCG">
|
||||
<displayName>የካሪቢያን ጊልደር</displayName>
|
||||
<displayName count="one">የካሪቢያን ጊልደር</displayName>
|
||||
<displayName count="other">የካሪቢያን ጊልደር</displayName>
|
||||
</currency>
|
||||
<currency type="XOF">
|
||||
<displayName>የምዕራብ አፍሪካ ሴፋ ፍራንክ</displayName>
|
||||
</currency>
|
||||
@@ -4893,11 +4799,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<currency type="ZWD">
|
||||
<displayName>የዚምቧቡዌ ዶላር</displayName>
|
||||
</currency>
|
||||
<currency type="ZWG">
|
||||
<displayName>የዚምባብዌ ወርቅ</displayName>
|
||||
<displayName count="one">የዚምባብዌ ወርቅ</displayName>
|
||||
<displayName count="other">የዚምባብዌ ወርቅ</displayName>
|
||||
</currency>
|
||||
</currencies>
|
||||
<miscPatterns numberSystem="latn">
|
||||
<pattern type="atLeast">{0}+</pattern>
|
||||
@@ -4921,6 +4822,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<compoundUnit type="10p-3">
|
||||
<unitPrefixPattern>ሚሊ{0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p-6">
|
||||
<unitPrefixPattern>ማይክሮ{0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p-9">
|
||||
<unitPrefixPattern>ናኖ{0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
@@ -4957,6 +4861,18 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<compoundUnit type="10p18">
|
||||
<unitPrefixPattern>ኤክሳ {0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p21">
|
||||
<unitPrefixPattern>ዜታ {0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p24">
|
||||
<unitPrefixPattern>ዮታ {0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p27">
|
||||
<unitPrefixPattern>ሮና {0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="1024p8">
|
||||
<unitPrefixPattern>ዮቢ {0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="per">
|
||||
<compoundUnitPattern>{0} በ{1}</compoundUnitPattern>
|
||||
</compoundUnit>
|
||||
@@ -4975,12 +4891,14 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other" case="accusative">{0} ጂ-ኃይል</unitPattern>
|
||||
</unit>
|
||||
<unit type="angle-revolution">
|
||||
<displayName>ኡደት</displayName>
|
||||
<unitPattern count="one">{0} ኡደት</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ኡደት</unitPattern>
|
||||
<unitPattern count="other">{0} ኡደት</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ኡደቶች</unitPattern>
|
||||
</unit>
|
||||
<unit type="angle-radian">
|
||||
<displayName>ራዲ</displayName>
|
||||
<unitPattern count="one">{0} ራዲ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ራዲያን</unitPattern>
|
||||
<unitPattern count="other">{0} ራዲ</unitPattern>
|
||||
@@ -5004,6 +4922,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} ካሬ ሜትር</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ካሬ ሜትር</unitPattern>
|
||||
</unit>
|
||||
<unit type="area-square-yard">
|
||||
<displayName>ስኴር ያርድ</displayName>
|
||||
<unitPattern count="one">{0} ስኴር ያርድ</unitPattern>
|
||||
<unitPattern count="other">{0} ስኴር ያርድ</unitPattern>
|
||||
</unit>
|
||||
<unit type="area-dunam">
|
||||
<displayName>ጋሻ</displayName>
|
||||
</unit>
|
||||
@@ -5017,12 +4940,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} ንጥሎች</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ንጥሎች</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part">
|
||||
<displayName>ክፍል</displayName>
|
||||
<unitPattern count="one">{0} ክፍል</unitPattern>
|
||||
<unitPattern count="other">{0} ክፍል</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<unitPattern count="one">{0} ppm</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ክፍል በየሚሊዮን</unitPattern>
|
||||
<unitPattern count="other">{0} ppm</unitPattern>
|
||||
@@ -5046,11 +4964,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} mol</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} moles</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-ofglucose">
|
||||
<displayName>ግሉኮስ</displayName>
|
||||
<unitPattern count="one">{0} ግሉኮስ</unitPattern>
|
||||
<unitPattern count="other">{0} ግሉኮስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="consumption-liter-per-100-kilometer">
|
||||
<displayName>ሊትሮች በ100 ኪሎሜትሮች</displayName>
|
||||
<unitPattern count="one">{0} ሊትር በ100 ኪሎሜትሮች</unitPattern>
|
||||
@@ -5118,6 +5031,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other" case="accusative">{0} ማይክሮሰከንድ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-ampere">
|
||||
<displayName>አምፒር</displayName>
|
||||
<unitPattern count="one">{0} አምፒር</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} አምፒር</unitPattern>
|
||||
<unitPattern count="other">{0} አምፒር</unitPattern>
|
||||
@@ -5130,11 +5044,33 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other" case="accusative">{0} ohms</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-volt">
|
||||
<displayName>ቮልት</displayName>
|
||||
<unitPattern count="one">{0} ቮልት</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ቮልት</unitPattern>
|
||||
<unitPattern count="other">{0} ቮልት</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ቮልቶች</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-kilocalorie">
|
||||
<displayName>ኪሎ ካሎሪ</displayName>
|
||||
<unitPattern count="one">{0} ኪሎ ካሎሪ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ኪሎ ካሎሪ</unitPattern>
|
||||
<unitPattern count="other">{0} ኪሎ ካሎሪ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ኪሎ ካሎሪ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-kilojoule">
|
||||
<displayName>ኪጁ</displayName>
|
||||
<unitPattern count="one">{0} ኪጁ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ኪጁ</unitPattern>
|
||||
<unitPattern count="other">{0} ኪጁ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ኪጁ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-joule">
|
||||
<displayName>ጁልስ</displayName>
|
||||
<unitPattern count="one">{0} ጁልስ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ጁልስ</unitPattern>
|
||||
<unitPattern count="other">{0} ጁልስ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ጁልስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-newton">
|
||||
<unitPattern count="one">{0} ኒ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ኒውተን</unitPattern>
|
||||
@@ -5148,6 +5084,34 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} ኪሎዋት-ሰዓታት በየ 100 ኪሎሜትሮች</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ኪሎዋት-ሰዓታት በየ 100 ኪሎሜትሮች</unitPattern>
|
||||
</unit>
|
||||
<unit type="frequency-gigahertz">
|
||||
<displayName>ጊጋኸርዝ</displayName>
|
||||
<unitPattern count="one">{0} ጊጋኸርዝ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ጊጋኸርዝ</unitPattern>
|
||||
<unitPattern count="other">{0} ጊጋኸርዝ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ጊጋኸርዝ</unitPattern>
|
||||
</unit>
|
||||
<unit type="frequency-megahertz">
|
||||
<displayName>ሜጋኸርዝ</displayName>
|
||||
<unitPattern count="one">{0} ሜጋኸርዝ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ሜጋኸርዝ</unitPattern>
|
||||
<unitPattern count="other">{0} ሜጋኸርዝ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ሜጋኸርዝ</unitPattern>
|
||||
</unit>
|
||||
<unit type="frequency-kilohertz">
|
||||
<displayName>ኪሎኸርዝ</displayName>
|
||||
<unitPattern count="one">{0} ኪሎኸርዝ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ኪሎኸርዝ</unitPattern>
|
||||
<unitPattern count="other">{0} ኪሎኸርዝ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ኪሎኸርዝ</unitPattern>
|
||||
</unit>
|
||||
<unit type="frequency-hertz">
|
||||
<displayName>ኸርዝ</displayName>
|
||||
<unitPattern count="one">{0} ኸርዝ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ኸርዝ</unitPattern>
|
||||
<unitPattern count="other">{0} ኸርዝ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ኸርዝ</unitPattern>
|
||||
</unit>
|
||||
<unit type="graphics-em">
|
||||
<displayName>ታይፖግራፊክ em</displayName>
|
||||
</unit>
|
||||
@@ -5238,7 +5202,15 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} ግራም</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ግራም</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-milligram">
|
||||
<displayName>ሚግ</displayName>
|
||||
<unitPattern count="one">{0} ሚግ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ሚግ</unitPattern>
|
||||
<unitPattern count="other">{0} ሚግ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ሚግ</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-microgram">
|
||||
<displayName>ማግ</displayName>
|
||||
<unitPattern count="one">{0} ማግ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ማይክሮ ግራም</unitPattern>
|
||||
<unitPattern count="other">{0} ማግ</unitPattern>
|
||||
@@ -5251,6 +5223,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} CD</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ካራቶች</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-dalton">
|
||||
<displayName>ዳልተንስ</displayName>
|
||||
<unitPattern count="one">{0} ዳልተንስ</unitPattern>
|
||||
<unitPattern count="other">{0} ዳልተንስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-earth-mass">
|
||||
<unitPattern count="one">{0} ኤርዝማስስ</unitPattern>
|
||||
<unitPattern count="other">{0} ኤርዝማስስ</unitPattern>
|
||||
@@ -5259,8 +5236,19 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} ሶላር ማስስ</unitPattern>
|
||||
<unitPattern count="other">{0} ሶላር ማስስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="power-gigawatt">
|
||||
<displayName>ጊጋ ዋት</displayName>
|
||||
<unitPattern count="one">{0} ጊዋ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ጊዋ</unitPattern>
|
||||
<unitPattern count="other">{0} ጊዋ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ጊዋ</unitPattern>
|
||||
</unit>
|
||||
<unit type="power-megawatt">
|
||||
<displayName>ሜጋ ዋት</displayName>
|
||||
<unitPattern count="one">{0} ሜዋ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ሜዋ</unitPattern>
|
||||
<unitPattern count="other">{0} ሜዋ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ሜዋ</unitPattern>
|
||||
</unit>
|
||||
<unit type="power-kilowatt">
|
||||
<unitPattern count="one">{0} ኪሎዋት</unitPattern>
|
||||
@@ -5276,6 +5264,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</unit>
|
||||
<unit type="power-milliwatt">
|
||||
<displayName>ሚሊ ዋት</displayName>
|
||||
<unitPattern count="one">{0} ሚዋ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ሚዋ</unitPattern>
|
||||
<unitPattern count="other">{0} ሚዋ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ሚዋ</unitPattern>
|
||||
</unit>
|
||||
<unit type="power-horsepower">
|
||||
<unitPattern count="one">{0} የፈረስ ጉልበት</unitPattern>
|
||||
@@ -5324,6 +5316,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} ዲግሪ ፋራንሃይት</unitPattern>
|
||||
</unit>
|
||||
<unit type="temperature-kelvin">
|
||||
<displayName>ኬ</displayName>
|
||||
<unitPattern count="one">{0} ኬ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ኬልቪን</unitPattern>
|
||||
<unitPattern count="other">{0} ኬ</unitPattern>
|
||||
@@ -5339,8 +5332,24 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} ኩቢክ ማይል</unitPattern>
|
||||
<unitPattern count="other">{0} ኩቢክ ማይል</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-cubic-yard">
|
||||
<displayName>ኪዩቢክ ያርድ</displayName>
|
||||
<unitPattern count="one">{0} ኪዩቢክ ያርድ</unitPattern>
|
||||
<unitPattern count="other">{0} ኪዩቢክ ያርድ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-megaliter">
|
||||
<displayName>ሜጋሊትር</displayName>
|
||||
<unitPattern count="one">{0} ሜሊ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ሜሊ</unitPattern>
|
||||
<unitPattern count="other">{0} ሜሊ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ሜሊ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-hectoliter">
|
||||
<displayName>ሄክቶሊትር</displayName>
|
||||
<unitPattern count="one">{0} ሄሊ</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ሄሊ</unitPattern>
|
||||
<unitPattern count="other">{0} ሄሊ</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ሄሊ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-liter">
|
||||
<unitPattern count="one">{0} ሊትር</unitPattern>
|
||||
@@ -5369,47 +5378,46 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other" case="accusative">{0} ሜትሪክ ፒንቶች</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-gallon">
|
||||
<displayName>ጋሎን</displayName>
|
||||
<unitPattern count="one">{0}/ጋሎን</unitPattern>
|
||||
<unitPattern count="other">{0}/ጋሎን</unitPattern>
|
||||
<perUnitPattern>{0}/ጋሎን</perUnitPattern>
|
||||
</unit>
|
||||
<unit type="volume-quart">
|
||||
<displayName>ኳርትስ</displayName>
|
||||
<unitPattern count="one">{0} ኳርትስ</unitPattern>
|
||||
<unitPattern count="other">{0} ኳርትስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-cup">
|
||||
<displayName>ኩባያ</displayName>
|
||||
<unitPattern count="one">{0} ኩባያ</unitPattern>
|
||||
<unitPattern count="other">{0} ኩባያ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-fluid-ounce-imperial">
|
||||
<displayName>Imp. fluid ኦንስስ</displayName>
|
||||
<unitPattern count="one">{0} Imp. fluid ኦንስስ</unitPattern>
|
||||
<unitPattern count="other">{0} Imp. fluid ኦንስስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-tablespoon">
|
||||
<displayName>የሻይ ማንኪያ</displayName>
|
||||
<unitPattern count="one">{0} የሻይ ማንኪያ</unitPattern>
|
||||
<unitPattern count="other">{0} የሻይ ማንኪያ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-teaspoon">
|
||||
<displayName>የሻይ ማንኪያዎች</displayName>
|
||||
<unitPattern count="one">{0} የሻይ ማንኪያዎች</unitPattern>
|
||||
<unitPattern count="other">{0} የሻይ ማንኪያዎች</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-barrel">
|
||||
<unitPattern count="one">{0} በርሜል</unitPattern>
|
||||
<unitPattern count="other">{0} በርሜሎች</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-katal">
|
||||
<displayName>ካታልስ</displayName>
|
||||
<unitPattern count="one">{0} ካት</unitPattern>
|
||||
<unitPattern count="other">{0} ካት</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-henry">
|
||||
<displayName>ሄነሪስ</displayName>
|
||||
<unitPattern count="one">{0} ሄ</unitPattern>
|
||||
<unitPattern count="other">{0} ሄ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-calorie-it">
|
||||
<displayName>ካሎሪ [IT]</displayName>
|
||||
<unitPattern count="one">{0} ካሎሪ [IT]</unitPattern>
|
||||
<unitPattern count="other">{0} ካሎሪ [IT]</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-kilogram-force">
|
||||
<displayName>ኪሎግራም - ኃይል</displayName>
|
||||
<unitPattern count="one">{0} ኪግ-ኃይል</unitPattern>
|
||||
<unitPattern count="other">{0} ኪግ-ኃይል</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-tesla">
|
||||
<displayName>ቴስላስ</displayName>
|
||||
<unitPattern count="one">{0} ቴ</unitPattern>
|
||||
<unitPattern count="other">{0} ቴ</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-weber">
|
||||
<displayName>ዌበርስ</displayName>
|
||||
<unitPattern count="one">{0} ዌበ</unitPattern>
|
||||
<unitPattern count="other">{0} ዌበ</unitPattern>
|
||||
<unit type="speed-light-speed">
|
||||
<displayName>ብርሃን</displayName>
|
||||
<unitPattern count="one">{0} ብርሃን</unitPattern>
|
||||
<unitPattern count="one" case="accusative">{0} ብርሃን</unitPattern>
|
||||
<unitPattern count="other">{0} ብርሃን</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0} ብርሃን</unitPattern>
|
||||
</unit>
|
||||
<unit type="duration-night">
|
||||
<displayName>ለሊት</displayName>
|
||||
@@ -5417,6 +5425,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one" case="accusative">{0}/ለሊት</unitPattern>
|
||||
<unitPattern count="other">{0}/ለሊት</unitPattern>
|
||||
<unitPattern count="other" case="accusative">{0}/ለሊት</unitPattern>
|
||||
<perUnitPattern>{0}/ለሊት</perUnitPattern>
|
||||
</unit>
|
||||
<coordinateUnit>
|
||||
<displayName>ዓቢይ አቅጣጫ</displayName>
|
||||
@@ -5604,22 +5613,12 @@ 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-part">
|
||||
<displayName>ክፍል</displayName>
|
||||
<unitPattern count="one">{0} ክፍል</unitPattern>
|
||||
<unitPattern count="other">{0} ክፍል</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-percent">
|
||||
<displayName>ፐርሰንት</displayName>
|
||||
</unit>
|
||||
<unit type="concentr-permille">
|
||||
<displayName>በማይል</displayName>
|
||||
</unit>
|
||||
<unit type="concentr-ofglucose">
|
||||
<displayName>ግሉኮስ</displayName>
|
||||
<unitPattern count="one">{0} ግሉኮስ</unitPattern>
|
||||
<unitPattern count="other">{0} ግሉኮስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="consumption-liter-per-kilometer">
|
||||
<displayName>ሊ/ኪሜ</displayName>
|
||||
<unitPattern count="one">{0} ሊ/ኪሜ</unitPattern>
|
||||
@@ -6285,36 +6284,6 @@ 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-katal">
|
||||
<displayName>ካት</displayName>
|
||||
<unitPattern count="one">{0} ካት</unitPattern>
|
||||
<unitPattern count="other">{0} ካት</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-henry">
|
||||
<displayName>ሄ</displayName>
|
||||
<unitPattern count="one">{0} ሄ</unitPattern>
|
||||
<unitPattern count="other">{0} ሄ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-calorie-it">
|
||||
<displayName>ካሎሪ-IT</displayName>
|
||||
<unitPattern count="one">{0} ካሎሪ-IT</unitPattern>
|
||||
<unitPattern count="other">{0} ካሎሪ-IT</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-kilogram-force">
|
||||
<displayName>ኪግ-ኃይል</displayName>
|
||||
<unitPattern count="one">{0} ኪግ-ኃይል</unitPattern>
|
||||
<unitPattern count="other">{0} ኪግ-ኃይል</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-tesla">
|
||||
<displayName>ቴ</displayName>
|
||||
<unitPattern count="one">{0} ቴ</unitPattern>
|
||||
<unitPattern count="other">{0} ቴ</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-weber">
|
||||
<displayName>ዌበ</displayName>
|
||||
<unitPattern count="one">{0} ዌበ</unitPattern>
|
||||
<unitPattern count="other">{0} ዌበ</unitPattern>
|
||||
</unit>
|
||||
<unit type="speed-light-speed">
|
||||
<displayName>ብርሃን</displayName>
|
||||
<unitPattern count="one">{0} ብርሃን</unitPattern>
|
||||
@@ -6335,12 +6304,28 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</coordinateUnit>
|
||||
</unitLength>
|
||||
<unitLength type="narrow">
|
||||
<compoundUnit type="10p-6">
|
||||
<unitPrefixPattern>ማይክሮ{0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p21">
|
||||
<unitPrefixPattern>ዜታ {0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p24">
|
||||
<unitPrefixPattern>ዮታ {0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="10p27">
|
||||
<unitPrefixPattern>ሮና {0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<compoundUnit type="1024p8">
|
||||
<unitPrefixPattern>ዮቢ {0}</unitPrefixPattern>
|
||||
</compoundUnit>
|
||||
<unit type="angle-revolution">
|
||||
<displayName>ኡደ</displayName>
|
||||
<unitPattern count="one">{0} ኡደ</unitPattern>
|
||||
<unitPattern count="other">{0}ኡደ</unitPattern>
|
||||
</unit>
|
||||
<unit type="angle-radian">
|
||||
<displayName>ራዲ</displayName>
|
||||
<unitPattern count="one">{0}ራዲ</unitPattern>
|
||||
<unitPattern count="other">{0}ራዲ</unitPattern>
|
||||
</unit>
|
||||
@@ -6360,23 +6345,17 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} ማይል²</unitPattern>
|
||||
<unitPattern count="other">{0} ማይል²</unitPattern>
|
||||
</unit>
|
||||
<unit type="area-square-yard">
|
||||
<unitPattern count="one">{0} ስኴር ያርድ</unitPattern>
|
||||
<unitPattern count="other">{0} ስኴር ያርድ</unitPattern>
|
||||
</unit>
|
||||
<unit type="area-square-foot">
|
||||
<unitPattern count="one">{0} ጫማ²</unitPattern>
|
||||
<unitPattern count="other">{0} ጫማ²</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part">
|
||||
<displayName>ክፍል</displayName>
|
||||
<unitPattern count="one">{0} ክፍል</unitPattern>
|
||||
<unitPattern count="other">{0} ክፍል</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-percent">
|
||||
<displayName>%</displayName>
|
||||
</unit>
|
||||
<unit type="concentr-ofglucose">
|
||||
<displayName>ግሉኮስ</displayName>
|
||||
<unitPattern count="one">{0} ግሉኮስ</unitPattern>
|
||||
<unitPattern count="other">{0} ግሉኮስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="consumption-liter-per-100-kilometer">
|
||||
<unitPattern count="one">{0}ሊበ100ኪሜ</unitPattern>
|
||||
<unitPattern count="other">{0}ሊበ100ኪሜ</unitPattern>
|
||||
@@ -6424,6 +6403,51 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} ሰ</unitPattern>
|
||||
<unitPattern count="other">{0} ሰ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-ampere">
|
||||
<displayName>አምፒር</displayName>
|
||||
<unitPattern count="one">{0} አምፒር</unitPattern>
|
||||
<unitPattern count="other">{0} አምፒር</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-volt">
|
||||
<displayName>ቮልት</displayName>
|
||||
<unitPattern count="one">{0} ቮልት</unitPattern>
|
||||
<unitPattern count="other">{0} ቮልት</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-kilocalorie">
|
||||
<displayName>ኪሎ ካሎሪ</displayName>
|
||||
<unitPattern count="one">{0} ኪሎ ካሎሪ</unitPattern>
|
||||
<unitPattern count="other">{0} ኪሎ ካሎሪ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-kilojoule">
|
||||
<displayName>ኪጁ</displayName>
|
||||
<unitPattern count="one">{0} ኪጁ</unitPattern>
|
||||
<unitPattern count="other">{0} ኪጁ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-joule">
|
||||
<displayName>ጁልስ</displayName>
|
||||
<unitPattern count="one">{0} ጁልስ</unitPattern>
|
||||
<unitPattern count="other">{0} ጁልስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="frequency-gigahertz">
|
||||
<displayName>ጊጋኸርዝ</displayName>
|
||||
<unitPattern count="one">{0} ጊጋኸርዝ</unitPattern>
|
||||
<unitPattern count="other">{0} ጊጋኸርዝ</unitPattern>
|
||||
</unit>
|
||||
<unit type="frequency-megahertz">
|
||||
<displayName>ሜጋኸርዝ</displayName>
|
||||
<unitPattern count="one">{0} ሜጋኸርዝ</unitPattern>
|
||||
<unitPattern count="other">{0} ሜጋኸርዝ</unitPattern>
|
||||
</unit>
|
||||
<unit type="frequency-kilohertz">
|
||||
<displayName>ኪሎኸርዝ</displayName>
|
||||
<unitPattern count="one">{0} ኪሎኸርዝ</unitPattern>
|
||||
<unitPattern count="other">{0} ኪሎኸርዝ</unitPattern>
|
||||
</unit>
|
||||
<unit type="frequency-hertz">
|
||||
<displayName>ኸርዝ</displayName>
|
||||
<unitPattern count="one">{0} ኸርዝ</unitPattern>
|
||||
<unitPattern count="other">{0} ኸርዝ</unitPattern>
|
||||
</unit>
|
||||
<unit type="graphics-megapixel">
|
||||
<unitPattern count="one">{0} ሜፒ</unitPattern>
|
||||
<unitPattern count="other">{0} ሜፒ</unitPattern>
|
||||
@@ -6441,11 +6465,33 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} ሚሊግራም</unitPattern>
|
||||
<unitPattern count="other">{0} ሚሊግራም</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-microgram">
|
||||
<displayName>ማግ</displayName>
|
||||
<unitPattern count="one">{0} ማግ</unitPattern>
|
||||
<unitPattern count="other">{0} ማግ</unitPattern>
|
||||
</unit>
|
||||
<unit type="mass-carat">
|
||||
<displayName>ካራት</displayName>
|
||||
</unit>
|
||||
<unit type="mass-dalton">
|
||||
<displayName>ዳልተንስ</displayName>
|
||||
<unitPattern count="one">{0} ዳልተንስ</unitPattern>
|
||||
<unitPattern count="other">{0} ዳልተንስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="power-gigawatt">
|
||||
<displayName>ጊዋ</displayName>
|
||||
<unitPattern count="one">{0} ጊዋ</unitPattern>
|
||||
<unitPattern count="other">{0} ጊዋ</unitPattern>
|
||||
</unit>
|
||||
<unit type="power-megawatt">
|
||||
<displayName>ሜዋ</displayName>
|
||||
<unitPattern count="one">{0} ሜዋ</unitPattern>
|
||||
<unitPattern count="other">{0} ሜዋ</unitPattern>
|
||||
</unit>
|
||||
<unit type="power-milliwatt">
|
||||
<displayName>ሚዋ</displayName>
|
||||
<unitPattern count="one">{0} ሚዋ</unitPattern>
|
||||
<unitPattern count="other">{0} ሚዋ</unitPattern>
|
||||
</unit>
|
||||
<unit type="power-horsepower">
|
||||
<unitPattern count="one">{0} የፈረስ ኃይል</unitPattern>
|
||||
@@ -6475,10 +6521,26 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0}°</unitPattern>
|
||||
<unitPattern count="other">{0}°</unitPattern>
|
||||
</unit>
|
||||
<unit type="temperature-kelvin">
|
||||
<displayName>ኬ</displayName>
|
||||
<unitPattern count="one">{0} ኬ</unitPattern>
|
||||
<unitPattern count="other">{0} ኬ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-cubic-yard">
|
||||
<displayName>ኪዩቢክ ያርድ</displayName>
|
||||
<unitPattern count="one">{0} ኪዩቢክ ያርድ</unitPattern>
|
||||
<unitPattern count="other">{0} ኪዩቢክ ያርድ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-megaliter">
|
||||
<displayName>ሜጋሊትር</displayName>
|
||||
<unitPattern count="one">{0} ሜጋሊትር</unitPattern>
|
||||
<unitPattern count="other">{0} ሜጋሊትር</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-hectoliter">
|
||||
<displayName>ሄሊ</displayName>
|
||||
<unitPattern count="one">{0} ሄሊ</unitPattern>
|
||||
<unitPattern count="other">{0} ሄሊ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-milliliter">
|
||||
<unitPattern count="one">{0} ሚሊ</unitPattern>
|
||||
<unitPattern count="other">{0} ሚሊ</unitPattern>
|
||||
@@ -6488,8 +6550,30 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="other">{0} ኤጫ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-gallon">
|
||||
<displayName>ጋሎን</displayName>
|
||||
<unitPattern count="one">{0} ጋሎን</unitPattern>
|
||||
<unitPattern count="other">{0} ጋሎን</unitPattern>
|
||||
<perUnitPattern>{0}/ጋሎን</perUnitPattern>
|
||||
</unit>
|
||||
<unit type="volume-quart">
|
||||
<displayName>ኳርትስ</displayName>
|
||||
<unitPattern count="one">{0} ኳርትስ</unitPattern>
|
||||
<unitPattern count="other">{0} ኳርትስ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-cup">
|
||||
<displayName>ኩባያ</displayName>
|
||||
<unitPattern count="one">{0} ኩባያ</unitPattern>
|
||||
<unitPattern count="other">{0} ኩባያ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-tablespoon">
|
||||
<displayName>የሻይ ማንኪያ</displayName>
|
||||
<unitPattern count="one">{0} የሻይ ማንኪያ</unitPattern>
|
||||
<unitPattern count="other">{0} የሻይ ማንኪያ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-teaspoon">
|
||||
<displayName>የሻይ ማንኪያዎች</displayName>
|
||||
<unitPattern count="one">{0} የሻይ ማንኪያዎች</unitPattern>
|
||||
<unitPattern count="other">{0} የሻይ ማንኪያዎች</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-dram">
|
||||
<unitPattern count="one">{0} ክመ</unitPattern>
|
||||
@@ -6499,35 +6583,16 @@ 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-katal">
|
||||
<displayName>ካት</displayName>
|
||||
<unitPattern count="one">{0} ካት</unitPattern>
|
||||
<unitPattern count="other">{0} ካት</unitPattern>
|
||||
<unit type="speed-light-speed">
|
||||
<displayName>ብርሃን</displayName>
|
||||
<unitPattern count="one">{0} ብርሃን</unitPattern>
|
||||
<unitPattern count="other">{0} ብርሃን</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-henry">
|
||||
<displayName>ሄ</displayName>
|
||||
<unitPattern count="one">{0} ሄ</unitPattern>
|
||||
<unitPattern count="other">{0} ሄ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-calorie-it">
|
||||
<displayName>ካሎሪ-IT</displayName>
|
||||
<unitPattern count="one">{0} ካሎሪ-IT</unitPattern>
|
||||
<unitPattern count="other">{0} ካሎሪ-IT</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-kilogram-force">
|
||||
<displayName>ኪግ-ኃይል</displayName>
|
||||
<unitPattern count="one">{0} ኪግ-ኃይል</unitPattern>
|
||||
<unitPattern count="other">{0} ኪግ-ኃይል</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-tesla">
|
||||
<displayName>ቴ</displayName>
|
||||
<unitPattern count="one">{0} ቴ</unitPattern>
|
||||
<unitPattern count="other">{0} ቴ</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-weber">
|
||||
<displayName>ዌበ</displayName>
|
||||
<unitPattern count="one">{0} ዌበ</unitPattern>
|
||||
<unitPattern count="other">{0} ዌበ</unitPattern>
|
||||
<unit type="duration-night">
|
||||
<displayName>ለሊቶች</displayName>
|
||||
<unitPattern count="one">{0} ለሊት</unitPattern>
|
||||
<unitPattern count="other">{0} ለሊት</unitPattern>
|
||||
<perUnitPattern>{0}/ለሊት</perUnitPattern>
|
||||
</unit>
|
||||
</unitLength>
|
||||
</units>
|
||||
@@ -6544,6 +6609,22 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<listPatternPart type="end">{0} ወይም {1}</listPatternPart>
|
||||
<listPatternPart type="2">{0} ወይም {1}</listPatternPart>
|
||||
</listPattern>
|
||||
<listPattern type="or-narrow">
|
||||
<listPatternPart type="end">{0} ወይም {1}</listPatternPart>
|
||||
</listPattern>
|
||||
<listPattern type="or-short">
|
||||
<listPatternPart type="end">{0} ወይም {1}</listPatternPart>
|
||||
</listPattern>
|
||||
<listPattern type="standard-short">
|
||||
<listPatternPart type="end">{0} እና {1}</listPatternPart>
|
||||
</listPattern>
|
||||
<listPattern type="unit">
|
||||
<listPatternPart type="end">{0} እና {1}</listPatternPart>
|
||||
</listPattern>
|
||||
<listPattern type="unit-narrow">
|
||||
<listPatternPart type="end">{0} እና {1}</listPatternPart>
|
||||
<listPatternPart type="2">{0} እና {1}</listPatternPart>
|
||||
</listPattern>
|
||||
</listPatterns>
|
||||
<posix>
|
||||
<messages>
|
||||
|
||||
@@ -1066,12 +1066,9 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern draft="unconfirmed">#,##0.00 ¤</pattern>
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern draft="unconfirmed">¤#,##0.00;(¤#,##0.00)</pattern>
|
||||
<pattern alt="alphaNextToNumber">¤ #,##0.00;(¤ #,##0.00)</pattern>
|
||||
<pattern alt="noCurrency">#,##0.00;(#,##0.00)</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
<unitPattern count="one" draft="unconfirmed">{0} {1}</unitPattern>
|
||||
|
||||
+107
-690
File diff suppressed because it is too large
Load Diff
@@ -133,7 +133,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<unitPattern count="many">{0} بوصة مربعة</unitPattern>
|
||||
<unitPattern count="other">{0} بوصة مربعة</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<unitPattern count="zero" draft="contributed">{0} جزء في المليون</unitPattern>
|
||||
<unitPattern count="one" draft="contributed">{0} جزء في المليون</unitPattern>
|
||||
<unitPattern count="two" draft="contributed">جزءان في المليون</unitPattern>
|
||||
@@ -367,7 +367,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<unitPattern count="many">{0} قيراطًا</unitPattern>
|
||||
<unitPattern count="other">{0} قيراط</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<unitPattern count="zero" draft="contributed">{0} جزء/مليون</unitPattern>
|
||||
<unitPattern count="one" draft="contributed">{0} جزء/مليون</unitPattern>
|
||||
<unitPattern count="two" draft="contributed">جزءان/مليون</unitPattern>
|
||||
|
||||
@@ -42,8 +42,8 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="awa">অৱধী</language>
|
||||
<language type="ay">আয়মাৰা</language>
|
||||
<language type="az">আজেৰবাইজানী</language>
|
||||
<language type="az" alt="short">আজেৰি</language>
|
||||
<language type="ba">বাছখিৰ</language>
|
||||
<language type="bal">বালুচী</language>
|
||||
<language type="ban">বালিনীজ</language>
|
||||
<language type="bas">বাছা</language>
|
||||
<language type="be">বেলাৰুছীয়</language>
|
||||
@@ -226,8 +226,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="ksf">বাফিয়া</language>
|
||||
<language type="ksh">কোলোগনিয়ান</language>
|
||||
<language type="ku">কুৰ্ডিচ</language>
|
||||
<language type="ku" menu="core">কুৰ্ডিশ্ব</language>
|
||||
<language type="ku" menu="extension">কুৰ্ডিশ্ব</language>
|
||||
<language type="kum">কুমিক</language>
|
||||
<language type="kv">কোমি</language>
|
||||
<language type="kw">কোৰ্নিচ</language>
|
||||
@@ -621,7 +619,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<territory type="CN">চীন</territory>
|
||||
<territory type="CO">কলম্বিয়া</territory>
|
||||
<territory type="CP">ক্লিপাৰটোন দ্বীপ</territory>
|
||||
<territory type="CQ">চাৰ্ক</territory>
|
||||
<territory type="CR">কোষ্টা ৰিকা</territory>
|
||||
<territory type="CU">কিউবা</territory>
|
||||
<territory type="CV">কেপ ভার্দে</territory>
|
||||
@@ -855,87 +852,49 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<key type="cf">মুদ্ৰা সজ্জা</key>
|
||||
<key type="collation">সজোৱা ক্ৰম</key>
|
||||
<key type="currency">মুদ্ৰা</key>
|
||||
<key type="em">ইম’জীৰ উপস্থাপনা</key>
|
||||
<key type="hc">ঘণ্টীয়া চক্ৰ (১২ বনাম ২৪)</key>
|
||||
<key type="lb">পংক্তি বিচ্ছেদ শৈলী</key>
|
||||
<key type="lw">শব্দৰ মাজত শাৰীৰ বিভাজন</key>
|
||||
<key type="ms">জোখ-মাখৰ প্ৰণালী</key>
|
||||
<key type="numbers">সংখ্যা</key>
|
||||
<key type="ss">ঃ</key>
|
||||
</keys>
|
||||
<types>
|
||||
<type key="calendar" type="buddhist">বৌদ্ধ কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="buddhist" scope="core">বৌদ্ধ</type>
|
||||
<type key="calendar" type="chinese">চীনা কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="chinese" scope="core">চীনা</type>
|
||||
<type key="calendar" type="coptic">ক’প্টিক কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="coptic" scope="core">ক’প্টিক</type>
|
||||
<type key="calendar" type="dangi">দাংগি কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="dangi" scope="core">দাংগি</type>
|
||||
<type key="calendar" type="ethiopic">ইথিঅ’পিক কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="ethiopic" scope="core">ইথিঅ’পিক</type>
|
||||
<type key="calendar" type="ethiopic-amete-alem">ইথিঅ’পিক এমিটি এলেম কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="ethiopic-amete-alem" scope="core">ইথিঅ’পিক এমিটি এলেম</type>
|
||||
<type key="calendar" type="gregorian">গ্ৰেগোৰিয়ান কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="gregorian" scope="core">গ্ৰেগোৰিয়ান</type>
|
||||
<type key="calendar" type="hebrew">হিব্ৰু কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="hebrew" scope="core">হিব্ৰু</type>
|
||||
<type key="calendar" type="indian">ভাৰতীয় ৰাষ্ট্ৰীয় পঞ্জিকা</type>
|
||||
<type key="calendar" type="indian" scope="core">ভাৰতীয় ৰাষ্ট্ৰীয়</type>
|
||||
<type key="calendar" type="islamic">হিজৰি কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="islamic" scope="core">হিজৰি</type>
|
||||
<type key="calendar" type="islamic-civil">হিজৰি কেলেণ্ডাৰ (টেবুলাৰ, নাগৰিক যুগ)</type>
|
||||
<type key="calendar" type="islamic-civil" scope="core">হিজৰি (টেবুলাৰ, নাগৰিক যুগ)</type>
|
||||
<type key="calendar" type="islamic-umalqura">হিজৰি কেলেণ্ডাৰ (উম অল-কুৰা)</type>
|
||||
<type key="calendar" type="islamic-umalqura" scope="core">হিজৰি (উম অল-কুৰা)</type>
|
||||
<type key="calendar" type="iso8601">আই. এছ. অ’.-৮৬০১ কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="japanese">জাপানী কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="japanese" scope="core">জাপানী</type>
|
||||
<type key="calendar" type="persian">ফাৰ্চী কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="persian" scope="core">ফাৰ্চী</type>
|
||||
<type key="calendar" type="roc">চীনা প্ৰজাতন্ত্ৰৰ কেলেণ্ডাৰ</type>
|
||||
<type key="calendar" type="roc" scope="core">চীনা প্ৰজাতন্ত্ৰ</type>
|
||||
<type key="cf" type="account">গাণনিক মুদ্ৰা সজ্জা</type>
|
||||
<type key="cf" type="account" scope="core">গাণনিক</type>
|
||||
<type key="cf" type="standard">মান্য মুদ্ৰা সজ্জা</type>
|
||||
<type key="cf" type="standard" scope="core">মান্য</type>
|
||||
<type key="collation" type="big5han" draft="contributed">পৰম্পৰাগত চীনা শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - Big5</type>
|
||||
<type key="collation" type="ducet">ডিফ’ল্ট ইউনিকোড সজোৱা ক্ৰম</type>
|
||||
<type key="collation" type="ducet" scope="core">ডিফ’ল্ট ইউনিকোড</type>
|
||||
<type key="collation" type="gb2312han" draft="contributed">সৰল চীনা শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম - GB2312</type>
|
||||
<type key="collation" type="phonebook" draft="contributed">টেলিফোন বহিৰ মতেশৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম</type>
|
||||
<type key="collation" type="pinyin" draft="contributed">পিন্য়িন শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম</type>
|
||||
<type key="collation" type="search">সাধাৰণ উদ্দেশ্যে সন্ধান</type>
|
||||
<type key="collation" type="search" scope="core">সন্ধান</type>
|
||||
<type key="collation" type="search">সাধাৰণ উদ্দেশ্যে অনুসন্ধান</type>
|
||||
<type key="collation" type="standard">মান্য সজোৱা ক্ৰম</type>
|
||||
<type key="collation" type="standard" scope="core">মান্য</type>
|
||||
<type key="collation" type="stroke" draft="contributed">স্ট্ৰোক শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম</type>
|
||||
<type key="collation" type="traditional" draft="contributed">পৰম্পৰাগতভাবে শৃঙ্খলাবদ্ধ কৰাৰ ক্ৰম</type>
|
||||
<type key="em" type="default" scope="core">ডিফ’ল্ট</type>
|
||||
<type key="em" type="emoji" scope="core">ইম’জী</type>
|
||||
<type key="em" type="text" scope="core">পাঠ্য</type>
|
||||
<type key="hc" type="h11">১২ ঘণ্টীয়া প্ৰণালী (০–১১)</type>
|
||||
<type key="hc" type="h11" scope="core">১২ (০–১১) ১২ (০–১১)</type>
|
||||
<type key="hc" type="h12">১২ ঘণ্টীয়া প্ৰণালী (১–১২)</type>
|
||||
<type key="hc" type="h12" scope="core">১২ (১–১২) ১২ (১–১২)</type>
|
||||
<type key="hc" type="h23">২৪ ঘণ্টীয়া প্ৰণালী (০–২৩)</type>
|
||||
<type key="hc" type="h23" scope="core">24 (0–23) Hour Cycle (12 vs 24) others… ২৪ (০–২৩) …অন্য ঘণ্টীয়া প্ৰণালী(১২ বনাম ২৪): ২৪ (০–২৩) ৩ (০–২৩)</type>
|
||||
<type key="hc" type="h24">২৪ ঘণ্টীয়া প্ৰণালী (১–২৪)</type>
|
||||
<type key="hc" type="h24" scope="core">২৪ (১–২৪) ২৪ (১–২৪)</type>
|
||||
<type key="lb" type="loose">ঢিলা পংক্তি বিচ্ছেদ শৈলী</type>
|
||||
<type key="lb" type="loose" scope="core">ঢিলা</type>
|
||||
<type key="lb" type="normal">সাধাৰণ পংক্তি বিচ্ছেদ শৈলী</type>
|
||||
<type key="lb" type="normal" scope="core">সাধাৰণ</type>
|
||||
<type key="lb" type="strict">কঠোৰ পংক্তি বিচ্ছেদ শৈলী</type>
|
||||
<type key="lb" type="strict" scope="core">পংক্তি বিচ্ছেদ</type>
|
||||
<type key="lw" type="breakall" scope="core">আটাইবোৰ বিভাজন কৰক</type>
|
||||
<type key="lw" type="keepall" scope="core">আটাইবোৰ ৰাখক</type>
|
||||
<type key="lw" type="normal" scope="core">সাধাৰণ</type>
|
||||
<type key="lw" type="phrase" scope="core">ব্যাক্যাংশত ৰাখক</type>
|
||||
<type key="ms" type="metric">মেট্ৰিক প্ৰণালী</type>
|
||||
<type key="ms" type="metric" scope="core">মেট্ৰিক</type>
|
||||
<type key="ms" type="uksystem">ইম্পেৰিয়েল জোখ-মাখৰ প্ৰণালী</type>
|
||||
<type key="ms" type="uksystem" scope="core">ইম্পেৰিয়েল</type>
|
||||
<type key="ms" type="ussystem">মাৰ্কিন যুক্তৰাষ্ট্ৰৰ জোখ-মাখৰ প্ৰণালী</type>
|
||||
<type key="ms" type="ussystem" scope="core">মাৰ্কিন</type>
|
||||
<type key="numbers" type="arab">আৰবী-ভাৰতীয় অংক</type>
|
||||
<type key="numbers" type="arabext">বিস্তাৰিত আৰবী-ভাৰতীয় অংক</type>
|
||||
<type key="numbers" type="armn">আৰ্মেনীয় সংখ্যা</type>
|
||||
@@ -976,8 +935,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<type key="numbers" type="thai">থাই অংক</type>
|
||||
<type key="numbers" type="tibt">তিব্বতী অংক</type>
|
||||
<type key="numbers" type="vaii">ভেই সংখ্যা</type>
|
||||
<type key="ss" type="none" scope="core">ঃ</type>
|
||||
<type key="ss" type="standard" scope="core">ঃ</type>
|
||||
</types>
|
||||
<measurementSystemNames>
|
||||
<measurementSystemName type="metric">মেট্ৰিক</measurementSystemName>
|
||||
@@ -1025,7 +982,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</dateFormatLength>
|
||||
<dateFormatLength type="short">
|
||||
<dateFormat>
|
||||
<pattern>G y-MM-dd</pattern>
|
||||
<pattern>GGGGG y-MM-dd</pattern>
|
||||
</dateFormat>
|
||||
</dateFormatLength>
|
||||
</dateFormats>
|
||||
@@ -1034,6 +991,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateTimeFormat>
|
||||
<pattern>{1} {0} বজাত</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="atTime">
|
||||
<pattern>{1} 'at' {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
</dateTimeFormatLength>
|
||||
<dateTimeFormatLength type="long">
|
||||
<dateTimeFormat>
|
||||
@@ -1241,9 +1201,27 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</quarters>
|
||||
<dayPeriods>
|
||||
<dayPeriodContext type="format">
|
||||
<dayPeriodWidth type="narrow">
|
||||
<dayPeriod type="am">am</dayPeriod>
|
||||
<dayPeriod type="pm">pm</dayPeriod>
|
||||
</dayPeriodWidth>
|
||||
<dayPeriodWidth type="wide">
|
||||
<dayPeriod type="am">AM</dayPeriod>
|
||||
<dayPeriod type="pm">PM</dayPeriod>
|
||||
</dayPeriodWidth>
|
||||
</dayPeriodContext>
|
||||
<dayPeriodContext type="stand-alone">
|
||||
<dayPeriodWidth type="abbreviated">
|
||||
<dayPeriod type="am">পূৰ্বাহ্ন</dayPeriod>
|
||||
<dayPeriod type="pm">অপৰাহ্ন</dayPeriod>
|
||||
<dayPeriod type="am">AM</dayPeriod>
|
||||
<dayPeriod type="pm">PM</dayPeriod>
|
||||
</dayPeriodWidth>
|
||||
<dayPeriodWidth type="narrow">
|
||||
<dayPeriod type="am">AM</dayPeriod>
|
||||
<dayPeriod type="pm">PM</dayPeriod>
|
||||
</dayPeriodWidth>
|
||||
<dayPeriodWidth type="wide">
|
||||
<dayPeriod type="am">AM</dayPeriod>
|
||||
<dayPeriod type="pm">PM</dayPeriod>
|
||||
</dayPeriodWidth>
|
||||
</dayPeriodContext>
|
||||
</dayPeriods>
|
||||
@@ -2180,9 +2158,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Pacific/Easter">
|
||||
<exemplarCity>ইষ্টাৰ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Coyhaique">
|
||||
<exemplarCity>কোইহাইক</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Punta_Arenas">
|
||||
<exemplarCity>পুণ্টা এৰিনাছ</exemplarCity>
|
||||
</zone>
|
||||
@@ -2448,6 +2423,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<exemplarCity>নোম পেন্হ</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Enderbury">
|
||||
<exemplarCity>এণ্ডৰবাৰী</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Kanton">
|
||||
<exemplarCity>কেণ্টন</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Kiritimati">
|
||||
@@ -3117,7 +3095,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</metazone>
|
||||
<metazone type="Africa_Western">
|
||||
<long>
|
||||
<standard>পশ্চিম আফ্ৰিকাৰ সময়</standard>
|
||||
<generic>পশ্চিম আফ্ৰিকাৰ সময়</generic>
|
||||
<standard>পশ্চিম আফ্ৰিকাৰ মান সময়</standard>
|
||||
<daylight>পশ্চিম আফ্ৰিকাৰ গ্ৰীষ্মকালীন সময়</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Alaska">
|
||||
@@ -3467,11 +3447,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<standard>গায়ানাৰ সময়</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii">
|
||||
<long>
|
||||
<standard>হাৱাই-এলিউশ্বনৰ মান সময়</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii_Aleutian">
|
||||
<long>
|
||||
<generic>হাৱাই-এলিউশ্বনৰ সময়</generic>
|
||||
@@ -3980,9 +3955,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<otherNumberingSystems>
|
||||
<native>beng</native>
|
||||
</otherNumberingSystems>
|
||||
<symbols numberSystem="beng">
|
||||
<timeSeparator draft="contributed">:</timeSeparator>
|
||||
</symbols>
|
||||
<symbols numberSystem="latn">
|
||||
<timeSeparator draft="unconfirmed">.</timeSeparator>
|
||||
</symbols>
|
||||
@@ -4032,8 +4004,8 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<pattern type="1000000" count="other">0 নিযুত</pattern>
|
||||
<pattern type="10000000" count="one">00 নিযুত</pattern>
|
||||
<pattern type="10000000" count="other">00 নিযুত</pattern>
|
||||
<pattern type="100000000" count="one">0 নিঃ</pattern>
|
||||
<pattern type="100000000" count="other">0 নিঃ</pattern>
|
||||
<pattern type="100000000" count="one">000 নিঃ</pattern>
|
||||
<pattern type="100000000" count="other">000 নিঃ</pattern>
|
||||
<pattern type="1000000000" count="one">0 শঃ কোঃ</pattern>
|
||||
<pattern type="1000000000" count="other">0 শঃ কোঃ</pattern>
|
||||
<pattern type="10000000000" count="one">00 শঃ কোঃ</pattern>
|
||||
@@ -4049,9 +4021,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</decimalFormat>
|
||||
</decimalFormatLength>
|
||||
</decimalFormats>
|
||||
<rationalFormats numberSystem="beng">
|
||||
<rationalUsage>never</rationalUsage>
|
||||
</rationalFormats>
|
||||
<percentFormats numberSystem="latn">
|
||||
<percentFormatLength>
|
||||
<percentFormat>
|
||||
@@ -4062,11 +4031,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<currencyFormats numberSystem="beng">
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern alt="alphaNextToNumber">¤ #,##,##0.00</pattern>
|
||||
<pattern alt="noCurrency">#,##,##0.00</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern alt="alphaNextToNumber">¤ #,##0.00;(¤ #,##0.00)</pattern>
|
||||
<pattern alt="noCurrency">#,##0.00</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
</currencyFormats>
|
||||
@@ -4074,12 +4039,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern>¤ #,##,##0.00</pattern>
|
||||
<pattern alt="alphaNextToNumber">¤ #,##,##0.00</pattern>
|
||||
<pattern alt="noCurrency">#,##,##0.00</pattern>
|
||||
<pattern alt="noCurrency" draft="provisional">#,##,##0.00</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern>¤#,##0.00;(¤#,##0.00)</pattern>
|
||||
<pattern alt="alphaNextToNumber">¤ #,##0.00;(¤ #,##0.00)</pattern>
|
||||
<pattern alt="noCurrency">#,##0.00;(#,##0.00)</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
@@ -4089,26 +4052,26 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<pattern type="1000" count="other">¤ 0 হাজাৰ</pattern>
|
||||
<pattern type="10000" count="one">¤ 00 হাজাৰ</pattern>
|
||||
<pattern type="10000" count="other">¤ 00 হাজাৰ</pattern>
|
||||
<pattern type="100000" count="one">¤ 0 লাখ</pattern>
|
||||
<pattern type="100000" count="other">¤ 0 লাখ</pattern>
|
||||
<pattern type="100000" count="one">¤ 000 লাখ</pattern>
|
||||
<pattern type="100000" count="other">¤ 000 লাখ</pattern>
|
||||
<pattern type="1000000" count="one">¤ 0 নিযুত</pattern>
|
||||
<pattern type="1000000" count="other">¤ 0 নিযুত</pattern>
|
||||
<pattern type="10000000" count="one">¤ 00 নিযুত</pattern>
|
||||
<pattern type="10000000" count="other">¤ 00 নিযুত</pattern>
|
||||
<pattern type="100000000" count="one">¤ 0 নিঃ</pattern>
|
||||
<pattern type="100000000" count="other">¤ 0 নিঃ</pattern>
|
||||
<pattern type="1000000000" count="one">¤ 0 শঃ কোঃ</pattern>
|
||||
<pattern type="1000000000" count="other">¤ 0 শঃ কোঃ</pattern>
|
||||
<pattern type="10000000000" count="one">¤ 00 শঃ কোঃ</pattern>
|
||||
<pattern type="10000000000" count="other">¤ 00 শঃ কোঃ</pattern>
|
||||
<pattern type="100000000000" count="one">¤ 000 শঃ কঃ</pattern>
|
||||
<pattern type="100000000000" count="other">¤ 000 শঃ কঃ</pattern>
|
||||
<pattern type="1000000000000" count="one">¤ 0 শঃ পঃ</pattern>
|
||||
<pattern type="1000000000000" count="other">¤ 0 শঃ পঃ</pattern>
|
||||
<pattern type="10000000000000" count="one">¤ 00 শঃ পঃ</pattern>
|
||||
<pattern type="10000000000000" count="other">¤ 00 শঃ পঃ</pattern>
|
||||
<pattern type="100000000000000" count="one">¤ 000 শঃ পঃ</pattern>
|
||||
<pattern type="100000000000000" count="other">¤ 000 শঃ পঃ</pattern>
|
||||
<pattern type="100000000" count="one">¤ 000 নিযুত</pattern>
|
||||
<pattern type="100000000" count="other">¤ 000 নিযুত</pattern>
|
||||
<pattern type="1000000000" count="one">¤ 0 শত কোটি</pattern>
|
||||
<pattern type="1000000000" count="other">¤ 0 শত কোটি</pattern>
|
||||
<pattern type="10000000000" count="one">¤ 00 শত কোটি</pattern>
|
||||
<pattern type="10000000000" count="other">¤ 00 শত কোটি</pattern>
|
||||
<pattern type="100000000000" count="one">¤ 000 শত কোটি</pattern>
|
||||
<pattern type="100000000000" count="other">¤ 000 শত কোটি</pattern>
|
||||
<pattern type="1000000000000" count="one">¤ 0 শত পৰাৰ্দ্ধ</pattern>
|
||||
<pattern type="1000000000000" count="other">¤ 0 শত পৰাৰ্দ্ধ</pattern>
|
||||
<pattern type="10000000000000" count="one">¤ 00 শত পৰাৰ্দ্ধ</pattern>
|
||||
<pattern type="10000000000000" count="other">¤ 00 শত পৰাৰ্দ্ধ</pattern>
|
||||
<pattern type="100000000000000" count="one">¤ 000 শত পৰাৰ্দ্ধ</pattern>
|
||||
<pattern type="100000000000000" count="other">¤ 000 শত পৰাৰ্দ্ধ</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
<currencyPatternAppendISO>{0} ¤¤</currencyPatternAppendISO>
|
||||
@@ -4116,6 +4079,8 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<currencies>
|
||||
<currency type="AED">
|
||||
<displayName>সংযুক্ত আৰব আমিৰাত ডিৰহেম</displayName>
|
||||
<displayName count="one">UAE ডিৰহেম</displayName>
|
||||
<displayName count="other">UAE ডিৰহেম</displayName>
|
||||
</currency>
|
||||
<currency type="AFN">
|
||||
<displayName>আফগান আফগানী</displayName>
|
||||
@@ -4598,11 +4563,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<currency type="XCD">
|
||||
<displayName>ইষ্ট কেৰিবিয়ান ডলাৰ</displayName>
|
||||
</currency>
|
||||
<currency type="XCG">
|
||||
<displayName>কেৰিবীয়ান গিল্ডাৰ</displayName>
|
||||
<displayName count="one">কেৰিবীয়ান গিল্ডাৰ</displayName>
|
||||
<displayName count="other">কেৰিবীয়ান গিল্ডাৰ</displayName>
|
||||
</currency>
|
||||
<currency type="XOF">
|
||||
<displayName>পশ্চিম আফ্ৰিকান CFA ফ্ৰেংক</displayName>
|
||||
</currency>
|
||||
@@ -4623,11 +4583,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<currency type="ZMW">
|
||||
<displayName>জাম্বিয়ান কোৱাচা</displayName>
|
||||
</currency>
|
||||
<currency type="ZWG">
|
||||
<displayName>জিম্বাৱীয় সোণ</displayName>
|
||||
<displayName count="one">জিম্বাৱীয় সোণ</displayName>
|
||||
<displayName count="other">জিম্বাৱীয় সোণ</displayName>
|
||||
</currency>
|
||||
</currencies>
|
||||
<miscPatterns numberSystem="latn">
|
||||
<pattern type="atLeast">{0}+</pattern>
|
||||
@@ -4799,12 +4754,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unit type="concentr-item">
|
||||
<displayName>আইটেমসমূহ</displayName>
|
||||
</unit>
|
||||
<unit type="concentr-part">
|
||||
<displayName>অংশ</displayName>
|
||||
<unitPattern count="one">{0} অংশ</unitPattern>
|
||||
<unitPattern count="other">{0} অংশ</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<displayName>প্ৰতি মিলিয়নত ভাগ</displayName>
|
||||
<unitPattern count="one">প্ৰতি মিলিয়নত {0} ভাগ</unitPattern>
|
||||
<unitPattern count="other">প্ৰতি মিলিয়নত {0} ভাগ</unitPattern>
|
||||
@@ -4822,11 +4772,6 @@ 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-ofglucose">
|
||||
<displayName>গ্লুক’জ</displayName>
|
||||
<unitPattern count="one">{0} গ্লুঃ</unitPattern>
|
||||
<unitPattern count="other">{0}গ্লুঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="consumption-liter-per-kilometer">
|
||||
<displayName>প্ৰতি কিলোমিটাৰত লিটাৰ</displayName>
|
||||
<unitPattern count="one">প্ৰতি কিলোমিটাৰত {0} লিটাৰ</unitPattern>
|
||||
@@ -5186,11 +5131,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} মিলিমিটাৰ মাৰ্কিউৰী</unitPattern>
|
||||
<unitPattern count="other">{0} মিলিমিটাৰ মাৰ্কিউৰী</unitPattern>
|
||||
</unit>
|
||||
<unit type="pressure-ofhg">
|
||||
<displayName>মাৰ্কিঃ</displayName>
|
||||
<unitPattern count="one">{0} মাৰ্কিঃ</unitPattern>
|
||||
<unitPattern count="other">{0} মাৰ্কিঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="pressure-pound-force-per-square-inch">
|
||||
<displayName>প্ৰতি বৰ্গ ইঞ্চিত পাউণ্ড</displayName>
|
||||
<unitPattern count="one">{0} প্ৰতি বৰ্গ ইঞ্চিত পাউণ্ড</unitPattern>
|
||||
@@ -5343,11 +5283,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} মেট্ৰিক কাপ</unitPattern>
|
||||
<unitPattern count="other">{0} মেট্ৰিক কাপ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-fluid-ounce-metric">
|
||||
<displayName>ফ্লুঃ আঃ মেঃ</displayName>
|
||||
<unitPattern count="one">{0} ফ্লুঃ আঃ মেঃ</unitPattern>
|
||||
<unitPattern count="other">{0}ফ্লুঃ আঃ মেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-acre-foot">
|
||||
<unitPattern count="one">{0} একৰ-ফুট</unitPattern>
|
||||
<unitPattern count="other">{0} একৰ-ফুট</unitPattern>
|
||||
@@ -5399,76 +5334,22 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} ইম্পেৰিয়েল কুৱাৰ্ট</unitPattern>
|
||||
<unitPattern count="other">{0} ইম্পেৰিয়েল কুৱাৰ্ট</unitPattern>
|
||||
</unit>
|
||||
<unit type="angle-steradian">
|
||||
<displayName>ষ্টেৰাডিয়ান</displayName>
|
||||
<unitPattern count="one">{0} ষ্টেৰাঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ষ্টেৰাঃ</unitPattern>
|
||||
<unit type="speed-light-speed">
|
||||
<displayName>আলোক</displayName>
|
||||
<unitPattern count="one">{0} আলোক</unitPattern>
|
||||
<unitPattern count="other">{0} আলোক</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-katal">
|
||||
<displayName>কাটাল</displayName>
|
||||
<unitPattern count="one">{0} কাটাঃ</unitPattern>
|
||||
<unitPattern count="other">{0} কাটাঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-coulomb">
|
||||
<displayName>কুলম্ব</displayName>
|
||||
<unitPattern count="one">{0} কুঃ</unitPattern>
|
||||
<unitPattern count="other">{0} কুঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-farad">
|
||||
<displayName>ফাৰাড</displayName>
|
||||
<unitPattern count="one">{0}ফাঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ফাঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-henry">
|
||||
<displayName>হেনৰী</displayName>
|
||||
<unitPattern count="one">{0} হেনঃ</unitPattern>
|
||||
<unitPattern count="other">{0}হেনঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-siemens">
|
||||
<displayName>ছিয়েমেন</displayName>
|
||||
<unitPattern count="one">{0} ছিয়েঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ছিয়েঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-calorie-it">
|
||||
<displayName>কেল’ৰি-আইটি</displayName>
|
||||
<unitPattern count="one">{0}কেল-আইটি</unitPattern>
|
||||
<unitPattern count="other">{0} কেল-আইটি</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-becquerel">
|
||||
<displayName>বেকাৰেল</displayName>
|
||||
<unitPattern count="one">{0} বেঃ</unitPattern>
|
||||
<unitPattern count="other">{0} বেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-sievert">
|
||||
<displayName>চিয়েভাৰ্ট</displayName>
|
||||
<unitPattern count="one">{0} এচভিঃ</unitPattern>
|
||||
<unitPattern count="other">{0} এচভিঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-gray">
|
||||
<displayName>গ্ৰে</displayName>
|
||||
<unitPattern count="one">{0} গ্ৰে</unitPattern>
|
||||
<unitPattern count="other">{0} গ্ৰে</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-kilogram-force">
|
||||
<displayName>কিলোগ্ৰাম-বল</displayName>
|
||||
<unitPattern count="one">{0} কিঃগ্ৰাঃবঃ</unitPattern>
|
||||
<unitPattern count="other">{0} কিঃগ্ৰাঃবঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-tesla">
|
||||
<displayName>টেচলা</displayName>
|
||||
<unitPattern count="one">{0} টেঃ</unitPattern>
|
||||
<unitPattern count="other">{0} টেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-weber">
|
||||
<displayName>ৱেবাৰ</displayName>
|
||||
<unitPattern count="one">{0} ৱেঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ৱেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e9">
|
||||
<unit type="concentr-portion-per-1e9">
|
||||
<displayName>প্ৰতি বিলিয়নত অংশ</displayName>
|
||||
<unitPattern count="one">{0} প্ৰতি বিলিয়নত অংশ</unitPattern>
|
||||
<unitPattern count="other">{0} প্ৰতি বিলিয়নত অংশ</unitPattern>
|
||||
</unit>
|
||||
<unit type="duration-night">
|
||||
<displayName>নিশা</displayName>
|
||||
<unitPattern count="one">{0} নিশা</unitPattern>
|
||||
<unitPattern count="other">{0} নিশা</unitPattern>
|
||||
<perUnitPattern>{0}/নিশা</perUnitPattern>
|
||||
</unit>
|
||||
<coordinateUnit>
|
||||
<displayName>প্ৰধান দিক্-নিৰ্দেশনা</displayName>
|
||||
<coordinateUnitPattern type="east">{0} পূব</coordinateUnitPattern>
|
||||
@@ -5661,12 +5542,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-part">
|
||||
<displayName>অংশ</displayName>
|
||||
<unitPattern count="one">{0} অংশ</unitPattern>
|
||||
<unitPattern count="other">{0} অংশ</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<displayName>ভাগ/মিলিয়ন</displayName>
|
||||
</unit>
|
||||
<unit type="concentr-percent">
|
||||
@@ -5683,11 +5559,6 @@ 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-ofglucose">
|
||||
<displayName>গ্লুঃ</displayName>
|
||||
<unitPattern count="one">{0} গ্লুঃ</unitPattern>
|
||||
<unitPattern count="other">{0} গ্লুঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="consumption-liter-per-kilometer">
|
||||
<displayName>লিটাৰ/কিঃ মিঃ</displayName>
|
||||
<unitPattern count="one">{0} লিঃ/কিঃ মিঃ</unitPattern>
|
||||
@@ -6185,13 +6056,8 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</unit>
|
||||
<unit type="pressure-millimeter-ofhg">
|
||||
<displayName>mmHg</displayName>
|
||||
<unitPattern count="one">{0} মিঃমিঃমাৰ্কিঃ</unitPattern>
|
||||
<unitPattern count="other">{0}মিঃমিঃমাৰ্কিঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="pressure-ofhg">
|
||||
<displayName>মাৰ্কিঃ</displayName>
|
||||
<unitPattern count="one">{0} মাৰ্কিঃ</unitPattern>
|
||||
<unitPattern count="other">{0} মাৰ্কিঃ</unitPattern>
|
||||
<unitPattern count="one">{0} mmHg</unitPattern>
|
||||
<unitPattern count="other">{0} mmHg</unitPattern>
|
||||
</unit>
|
||||
<unit type="pressure-bar">
|
||||
<displayName>বাৰ</displayName>
|
||||
@@ -6315,11 +6181,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} মেঃ কাঃ</unitPattern>
|
||||
<unitPattern count="other">{0} মেঃ কাঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-fluid-ounce-metric">
|
||||
<displayName>ফ্লুঃ আঃ মেঃ</displayName>
|
||||
<unitPattern count="one">{0}ফ্লুঃ আঃ মেঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ফ্লুঃ আঃ মেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-acre-foot">
|
||||
<displayName>একৰ-ফুট</displayName>
|
||||
<unitPattern count="one">{0} এঃ-ফুঃ</unitPattern>
|
||||
@@ -6398,77 +6259,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} পিঞ্চ</unitPattern>
|
||||
<unitPattern count="other">{0} পিঞ্চ</unitPattern>
|
||||
</unit>
|
||||
<unit type="angle-steradian">
|
||||
<displayName>ষ্টেৰাঃ</displayName>
|
||||
<unitPattern count="one">{0} ষ্টেৰাঃ</unitPattern>
|
||||
<unitPattern count="other">{0}ষ্টেৰাঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-katal">
|
||||
<displayName>কাটাঃ</displayName>
|
||||
<unitPattern count="one">{0} কাটাঃ</unitPattern>
|
||||
<unitPattern count="other">{0} কাটাঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-coulomb">
|
||||
<displayName>কুঃ</displayName>
|
||||
<unitPattern count="one">{0} কুঃ</unitPattern>
|
||||
<unitPattern count="other">{0} কুঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-farad">
|
||||
<displayName>ফাঃ</displayName>
|
||||
<unitPattern count="one">{0} ফাঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ফাঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-henry">
|
||||
<displayName>হেনঃ</displayName>
|
||||
<unitPattern count="one">{0} হেনঃ</unitPattern>
|
||||
<unitPattern count="other">{0} হেনঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-siemens">
|
||||
<displayName>ছিয়েঃ</displayName>
|
||||
<unitPattern count="one">{0} ছিয়েঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ছিয়েঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-calorie-it">
|
||||
<displayName>কেল’ৰি-আইটি</displayName>
|
||||
<unitPattern count="one">{0} কেল-আইটি</unitPattern>
|
||||
<unitPattern count="other">{0} কেল-আইটি</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-becquerel">
|
||||
<displayName>বেঃ</displayName>
|
||||
<unitPattern count="one">{0}বেঃ</unitPattern>
|
||||
<unitPattern count="other">{0}বেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-sievert">
|
||||
<displayName>এচভিঃ</displayName>
|
||||
<unitPattern count="one">{0} এচভিঃ</unitPattern>
|
||||
<unitPattern count="other">{0} এচভিঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-gray">
|
||||
<displayName>গ্ৰে</displayName>
|
||||
<unitPattern count="one">{0}গ্ৰে</unitPattern>
|
||||
<unitPattern count="other">{0} গ্ৰে</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-kilogram-force">
|
||||
<displayName>কিঃগ্ৰাঃবঃ</displayName>
|
||||
<unitPattern count="one">{0} কিঃগ্ৰাঃবঃ</unitPattern>
|
||||
<unitPattern count="other">{0} কিঃগ্ৰাঃবঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-tesla">
|
||||
<displayName>টেঃ</displayName>
|
||||
<unitPattern count="one">{0} টেঃ</unitPattern>
|
||||
<unitPattern count="other">{0} টেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-weber">
|
||||
<displayName>ৱেঃ</displayName>
|
||||
<unitPattern count="one">{0} ৱেঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ৱেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="speed-light-speed">
|
||||
<displayName>আলোক</displayName>
|
||||
<unitPattern count="one">{0} আলোক</unitPattern>
|
||||
<unitPattern count="other">{0} আলোক</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e9">
|
||||
<unit type="concentr-portion-per-1e9">
|
||||
<displayName>অংশ/বিলিয়ন</displayName>
|
||||
</unit>
|
||||
<unit type="duration-night">
|
||||
@@ -6571,12 +6367,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-part">
|
||||
<displayName>অংশ</displayName>
|
||||
<unitPattern count="one">{0} অংশ</unitPattern>
|
||||
<unitPattern count="other">{0} অংশ</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<displayName>ppm</displayName>
|
||||
<unitPattern count="one">{0}ppm</unitPattern>
|
||||
<unitPattern count="other">{0}ppm</unitPattern>
|
||||
@@ -6590,11 +6381,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unit type="concentr-permyriad">
|
||||
<displayName>‱</displayName>
|
||||
</unit>
|
||||
<unit type="concentr-ofglucose">
|
||||
<displayName>গ্লুঃ</displayName>
|
||||
<unitPattern count="one">{0} গ্লুঃ</unitPattern>
|
||||
<unitPattern count="other">{0} গ্লুঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="consumption-liter-per-100-kilometer">
|
||||
<displayName>ল/১০০ ক.ম.</displayName>
|
||||
</unit>
|
||||
@@ -6649,6 +6435,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0}কেলৰি</unitPattern>
|
||||
<unitPattern count="other">{0}কেলৰি</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-newton">
|
||||
<displayName>N</displayName>
|
||||
</unit>
|
||||
<unit type="force-kilowatt-hour-per-100-kilometer">
|
||||
<unitPattern count="one">{0}kWh/100km</unitPattern>
|
||||
<unitPattern count="other">{0} kWh/100km</unitPattern>
|
||||
@@ -6688,15 +6477,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unit type="light-solar-luminosity">
|
||||
<displayName>L☉</displayName>
|
||||
</unit>
|
||||
<unit type="pressure-millimeter-ofhg">
|
||||
<unitPattern count="one">{0} মিঃমিঃমাৰ্কিঃ</unitPattern>
|
||||
<unitPattern count="other">{0}মিঃমিঃমাৰ্কিঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="pressure-ofhg">
|
||||
<displayName>মাৰ্কিঃ</displayName>
|
||||
<unitPattern count="one">{0} মাৰ্কিঃ</unitPattern>
|
||||
<unitPattern count="other">{0} মাৰ্কিঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="pressure-inch-ofhg">
|
||||
<displayName>″ Hg</displayName>
|
||||
<unitPattern count="one">{0}″ Hg</unitPattern>
|
||||
@@ -6722,11 +6502,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0}°</unitPattern>
|
||||
<unitPattern count="other">{0}°</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-fluid-ounce-metric">
|
||||
<displayName>ফ্লুঃ আঃ মেঃ</displayName>
|
||||
<unitPattern count="one">{0}ফ্লুঃ আঃ মেঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ফ্লুঃ আঃ মেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-teaspoon">
|
||||
<unitPattern count="one">{0}টিস্পুন</unitPattern>
|
||||
<unitPattern count="other">{0}টিস্পুন</unitPattern>
|
||||
@@ -6740,79 +6515,21 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0}dsp-Imp</unitPattern>
|
||||
<unitPattern count="other">{0}dsp-Imp</unitPattern>
|
||||
</unit>
|
||||
<unit type="angle-steradian">
|
||||
<displayName>ষ্টেৰাঃ</displayName>
|
||||
<unitPattern count="one">{0} ষ্টেৰাঃ</unitPattern>
|
||||
<unitPattern count="other">{0}ষ্টেৰাঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-katal">
|
||||
<displayName>কাটাঃ</displayName>
|
||||
<unitPattern count="one">{0} কাটাঃ</unitPattern>
|
||||
<unitPattern count="other">{0} কাটাঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-coulomb">
|
||||
<displayName>কুঃ</displayName>
|
||||
<unitPattern count="one">{0} কুঃ</unitPattern>
|
||||
<unitPattern count="other">{0} কুঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-farad">
|
||||
<displayName>ফাঃ</displayName>
|
||||
<unitPattern count="one">{0} ফাঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ফাঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-henry">
|
||||
<displayName>হেনঃ</displayName>
|
||||
<unitPattern count="one">{0} হেনঃ</unitPattern>
|
||||
<unitPattern count="other">{0} হেনঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-siemens">
|
||||
<displayName>ছিয়েঃ</displayName>
|
||||
<unitPattern count="one">{0} ছিয়েঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ছিয়েঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-calorie-it">
|
||||
<displayName>কেল’ৰি-আইটি</displayName>
|
||||
<unitPattern count="one">{0} কেল-আইটি</unitPattern>
|
||||
<unitPattern count="other">{0} কেল-আইটি</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-becquerel">
|
||||
<displayName>বেঃ</displayName>
|
||||
<unitPattern count="one">{0}বেঃ</unitPattern>
|
||||
<unitPattern count="other">{0}বেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-sievert">
|
||||
<displayName>এচভিঃ</displayName>
|
||||
<unitPattern count="one">{0} এচভিঃ</unitPattern>
|
||||
<unitPattern count="other">{0} এচভিঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-gray">
|
||||
<displayName>গ্ৰে</displayName>
|
||||
<unitPattern count="one">{0} গ্ৰে</unitPattern>
|
||||
<unitPattern count="other">{0}গ্ৰে</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-kilogram-force">
|
||||
<displayName>কিঃগ্ৰাঃবঃ</displayName>
|
||||
<unitPattern count="one">{0} কিঃগ্ৰাঃবঃ</unitPattern>
|
||||
<unitPattern count="other">{0} কিঃগ্ৰাঃবঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-tesla">
|
||||
<displayName>টেঃ</displayName>
|
||||
<unitPattern count="one">{0} টেঃ</unitPattern>
|
||||
<unitPattern count="other">{0} টেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-weber">
|
||||
<displayName>ৱেঃ</displayName>
|
||||
<unitPattern count="one">{0} ৱেঃ</unitPattern>
|
||||
<unitPattern count="other">{0} ৱেঃ</unitPattern>
|
||||
</unit>
|
||||
<unit type="speed-light-speed">
|
||||
<displayName>আলোক</displayName>
|
||||
<unitPattern count="one">{0}আলোক</unitPattern>
|
||||
<unitPattern count="other">{0}আলোক</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e9">
|
||||
<unit type="concentr-portion-per-1e9">
|
||||
<unitPattern count="one">{0}ppb</unitPattern>
|
||||
<unitPattern count="other">{0}ppb</unitPattern>
|
||||
</unit>
|
||||
<unit type="duration-night">
|
||||
<displayName>নিশা</displayName>
|
||||
<unitPattern count="one">{0} নিশা</unitPattern>
|
||||
<unitPattern count="other">{0} নিশা</unitPattern>
|
||||
<perUnitPattern>{0}/নিশা</perUnitPattern>
|
||||
</unit>
|
||||
</unitLength>
|
||||
</units>
|
||||
<listPatterns>
|
||||
|
||||
@@ -556,10 +556,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern>#,##0.00 ¤</pattern>
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
<currencyFormatLength type="short">
|
||||
|
||||
@@ -1198,11 +1198,13 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<type key="calendar" type="roc">calendariu de la República de China</type>
|
||||
<type key="cf" type="account">formatu monetariu contable</type>
|
||||
<type key="cf" type="standard">formatu monetariu estándar</type>
|
||||
<type key="collation" type="big5han">orde de clasificación chinu tradicional - Big5</type>
|
||||
<type key="collation" type="compat">orde de clasificación anterior, por compatibilidá</type>
|
||||
<type key="collation" type="dictionary">orde de clasificación de diccionariu</type>
|
||||
<type key="collation" type="ducet">orde de clasificación Unicode predetermináu</type>
|
||||
<type key="collation" type="emoji">orde de clasificación Emoji</type>
|
||||
<type key="collation" type="eor">regles d’ordenamientu europees</type>
|
||||
<type key="collation" type="gb2312han">orde de clasificación chinu simplificáu - GB2312</type>
|
||||
<type key="collation" type="phonebook">orde de clasificación de llista telefónica</type>
|
||||
<type key="collation" type="pinyin">orde de clasificación pinyin</type>
|
||||
<type key="collation" type="search">gueta xeneral</type>
|
||||
@@ -1703,6 +1705,20 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
</monthWidth>
|
||||
</monthContext>
|
||||
</months>
|
||||
<eras>
|
||||
<eraNames>
|
||||
<era type="0">antes de la Encarnación</era>
|
||||
<era type="1">después de la Encarnación</era>
|
||||
</eraNames>
|
||||
<eraAbbr>
|
||||
<era type="0">a. E.</era>
|
||||
<era type="1">d. E.</era>
|
||||
</eraAbbr>
|
||||
<eraNarrow>
|
||||
<era type="0">aE</era>
|
||||
<era type="1">dE</era>
|
||||
</eraNarrow>
|
||||
</eras>
|
||||
<dateTimeFormats>
|
||||
<intervalFormats>
|
||||
<intervalFormatItem id="yMMMd">
|
||||
@@ -3360,6 +3376,11 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<regionFormat type="daylight">Hora braniega de {0}</regionFormat>
|
||||
<regionFormat type="standard">Hora estándar de {0}</regionFormat>
|
||||
<zone type="Pacific/Honolulu">
|
||||
<short>
|
||||
<generic>HST</generic>
|
||||
<standard>HST</standard>
|
||||
<daylight>HDT</daylight>
|
||||
</short>
|
||||
<exemplarCity>Honolulu</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Etc/UTC">
|
||||
@@ -3535,6 +3556,9 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<zone type="Asia/Tokyo">
|
||||
<exemplarCity>Tokiu</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Enderbury">
|
||||
<exemplarCity>Enderbury</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Asia/Pyongyang">
|
||||
<exemplarCity>Pyong Yang</exemplarCity>
|
||||
</zone>
|
||||
@@ -3744,7 +3768,9 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
</metazone>
|
||||
<metazone type="Africa_Western">
|
||||
<long>
|
||||
<standard>Hora d’África del oeste</standard>
|
||||
<generic>Hora d’África del oeste</generic>
|
||||
<standard>Hora estándar d’África del oeste</standard>
|
||||
<daylight>Hora braniega d’África del oeste</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Alaska">
|
||||
@@ -4180,11 +4206,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<standard>Hora de La Guyana</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii">
|
||||
<long>
|
||||
<standard>Hora estándar de Hawaii-Aleutianes</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii_Aleutian">
|
||||
<long>
|
||||
<generic>Hora de Hawaii-Aleutianes</generic>
|
||||
@@ -4751,10 +4772,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern>#,##0.00 ¤</pattern>
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
<currencyFormatLength type="short">
|
||||
@@ -6414,7 +6431,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<unitPattern count="one">{0} milimol per llitru</unitPattern>
|
||||
<unitPattern count="other">{0} milimoles per llitru</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<displayName>partes per millón</displayName>
|
||||
<unitPattern count="one">{0} parte per millón</unitPattern>
|
||||
<unitPattern count="other">{0} partes per millón</unitPattern>
|
||||
@@ -7326,7 +7343,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<unitPattern count="one">{0}mmol/L</unitPattern>
|
||||
<unitPattern count="other">{0}mmol/L</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<unitPattern count="one">{0}ppm</unitPattern>
|
||||
<unitPattern count="other">{0}ppm</unitPattern>
|
||||
</unit>
|
||||
|
||||
@@ -124,6 +124,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="dav">taita</language>
|
||||
<language type="de">alman</language>
|
||||
<language type="de_AT">Avstriya almancası</language>
|
||||
<language type="de_CH">İsveçrə yüksək almancası</language>
|
||||
<language type="del">delaver</language>
|
||||
<language type="den">slavey</language>
|
||||
<language type="dgr">doqrib</language>
|
||||
@@ -256,10 +257,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="kbd">kabarda-çərkəz</language>
|
||||
<language type="kcg">tiyap</language>
|
||||
<language type="kde">makond</language>
|
||||
<language type="kea">kabuverdianu</language>
|
||||
<language type="kea">kabuverdian</language>
|
||||
<language type="kfo">koro</language>
|
||||
<language type="kg">konqo</language>
|
||||
<language type="kgp">kaynqanq</language>
|
||||
<language type="kgp">kaiqanq</language>
|
||||
<language type="kha">xazi</language>
|
||||
<language type="kho">xotan</language>
|
||||
<language type="khq">koyra çiini</language>
|
||||
@@ -286,8 +287,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<language type="ksf">bafia</language>
|
||||
<language type="ksh">köln</language>
|
||||
<language type="ku">kürd</language>
|
||||
<language type="ku" menu="core">kürd dili</language>
|
||||
<language type="ku" menu="extension">kurmanci (kürd dili) dialekti</language>
|
||||
<language type="kum">kumık</language>
|
||||
<language type="kut">kutenay</language>
|
||||
<language type="kv">komi</language>
|
||||
@@ -806,7 +805,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<territory type="CN">Çin</territory>
|
||||
<territory type="CO">Kolumbiya</territory>
|
||||
<territory type="CP">Klipperton adası</territory>
|
||||
<territory type="CQ">sark (ingilis dili) dialekti</territory>
|
||||
<territory type="CR">Kosta Rika</territory>
|
||||
<territory type="CU">Kuba</territory>
|
||||
<territory type="CV">Kabo-Verde</territory>
|
||||
@@ -1041,85 +1039,45 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<key type="cf">Valyuta Formatı</key>
|
||||
<key type="collation">Sıralama</key>
|
||||
<key type="currency">Valyuta</key>
|
||||
<key type="em">Emojilərin təqdim edilməsi</key>
|
||||
<key type="hc">Saat Sikli (12 / 24)</key>
|
||||
<key type="lb">Sətirdən sətrə keçirmə üslubu</key>
|
||||
<key type="lw">Sözlərin bölünərək sətirdən-sətrə keçirilməsi</key>
|
||||
<key type="ms">Ölçü Sistemi</key>
|
||||
<key type="numbers">Rəqəmlər</key>
|
||||
<key type="ss">Abreviaturadan sonra cümlə kəsintisi</key>
|
||||
</keys>
|
||||
<types>
|
||||
<type key="calendar" type="buddhist">Buddist təqvimi</type>
|
||||
<type key="calendar" type="buddhist" scope="core">Buddist</type>
|
||||
<type key="calendar" type="chinese">Çin təqvimi</type>
|
||||
<type key="calendar" type="chinese" scope="core">Çin</type>
|
||||
<type key="calendar" type="coptic">Kopt təqvimi</type>
|
||||
<type key="calendar" type="coptic" scope="core">Qibti</type>
|
||||
<type key="calendar" type="dangi">Dangi təqvimi</type>
|
||||
<type key="calendar" type="dangi" scope="core">Dangi</type>
|
||||
<type key="calendar" type="ethiopic">Efiop təqvimi</type>
|
||||
<type key="calendar" type="ethiopic" scope="core">Efiop</type>
|
||||
<type key="calendar" type="ethiopic-amete-alem">Efiop amet-alem təqvimi</type>
|
||||
<type key="calendar" type="ethiopic-amete-alem" scope="core">Efiop Amete Alem</type>
|
||||
<type key="calendar" type="gregorian">Qriqori təqvimi</type>
|
||||
<type key="calendar" type="gregorian" scope="core">Qriqori</type>
|
||||
<type key="calendar" type="gregorian">Qreqorian təqvimi</type>
|
||||
<type key="calendar" type="hebrew">Yəhudi Təqvimi</type>
|
||||
<type key="calendar" type="hebrew" scope="core">Yəhudi</type>
|
||||
<type key="calendar" type="indian" draft="contributed">Hindi təqvimi</type>
|
||||
<type key="calendar" type="islamic">Hicri təqvimi</type>
|
||||
<type key="calendar" type="islamic" scope="core">Hicri</type>
|
||||
<type key="calendar" type="islamic-civil">Hicri təqvimi (tabulyar, vətəndaşlıq dövrü)</type>
|
||||
<type key="calendar" type="islamic-civil" scope="core">Hicri (cədvəl, mülki dövr)</type>
|
||||
<type key="calendar" type="islamic-tbla">Hicri təqvim (tabulyar, astromonik dövr)</type>
|
||||
<type key="calendar" type="islamic-tbla" scope="core">Hicri (cədvəl, astronomik dövr)</type>
|
||||
<type key="calendar" type="islamic-umalqura">Hicri təqvim (Umm əl-Qura)</type>
|
||||
<type key="calendar" type="islamic-umalqura" scope="core">Hicri (Umm əl-Qura)</type>
|
||||
<type key="calendar" type="iso8601">ISO-8601 Təqvimi</type>
|
||||
<type key="calendar" type="japanese">Yapon Təqvimi</type>
|
||||
<type key="calendar" type="japanese" scope="core">Yapon</type>
|
||||
<type key="calendar" type="persian">İran Təqvimi</type>
|
||||
<type key="calendar" type="persian" scope="core">İran</type>
|
||||
<type key="calendar" type="roc">Minquo Təqvimi</type>
|
||||
<type key="calendar" type="roc" scope="core">Minquo</type>
|
||||
<type key="cf" type="account">Uçot Valyuta Formatı</type>
|
||||
<type key="cf" type="account" scope="core">Valyuta formatı: Uçot</type>
|
||||
<type key="cf" type="standard">Standart Valyuta Formatı</type>
|
||||
<type key="cf" type="standard" scope="core">Valyuta formatı: Standart</type>
|
||||
<type key="collation" type="ducet">Standart Unicode Sıralama</type>
|
||||
<type key="collation" type="ducet" scope="core">Defolt unikod</type>
|
||||
<type key="collation" type="pinyin" draft="contributed">Pinyin təqvimi</type>
|
||||
<type key="collation" type="search">Ümumi Məqsədli Axtarış</type>
|
||||
<type key="collation" type="search" scope="core">Axtarış</type>
|
||||
<type key="collation" type="standard">Standart Sıralama</type>
|
||||
<type key="collation" type="standard" scope="core">Standart</type>
|
||||
<type key="em" type="default" scope="core">Emojilərin təqdim edilməsi: Standart</type>
|
||||
<type key="em" type="emoji" scope="core">Emoji</type>
|
||||
<type key="em" type="text" scope="core">Mətn</type>
|
||||
<type key="hc" type="h11">12 Saatlıq Sistem (0–11)</type>
|
||||
<type key="hc" type="h11" scope="core">12 (0–11)</type>
|
||||
<type key="hc" type="h12">12 Saatlıq Sistem (0–12)</type>
|
||||
<type key="hc" type="h12" scope="core">12 (1–12)</type>
|
||||
<type key="hc" type="h23">24 Saatlıq Sistem (0–23)</type>
|
||||
<type key="hc" type="h23" scope="core">24 (0–23)</type>
|
||||
<type key="hc" type="h24">24 Saatlıq Sistem (0–23)</type>
|
||||
<type key="hc" type="h24" scope="core">24 (1–24)</type>
|
||||
<type key="lb" type="loose">Sərbəst sətirdən sətrə keçirmə üslubu</type>
|
||||
<type key="lb" type="loose" scope="core">Sərbəst</type>
|
||||
<type key="lb" type="normal">Normal sətirdən sətrə keçirmə üslubu</type>
|
||||
<type key="lb" type="normal" scope="core">Normal</type>
|
||||
<type key="lb" type="strict">Sərt sətirdən sətrə keçirmə üslubu</type>
|
||||
<type key="lb" type="strict" scope="core">Ciddi</type>
|
||||
<type key="lw" type="breakall" scope="core">Hamısını böl</type>
|
||||
<type key="lw" type="keepall" scope="core">Hamısını saxla</type>
|
||||
<type key="lw" type="normal" scope="core">Normal</type>
|
||||
<type key="lw" type="phrase" scope="core">İfadələrdə saxla</type>
|
||||
<type key="ms" type="metric">Metrik Sistem</type>
|
||||
<type key="ms" type="metric" scope="core">Metrik</type>
|
||||
<type key="ms" type="uksystem">İmperial Ölçü Sistemi</type>
|
||||
<type key="ms" type="uksystem" scope="core">Birləşmiş Krallıq</type>
|
||||
<type key="ms" type="ussystem">ABŞ Ölçü Sistemi</type>
|
||||
<type key="ms" type="ussystem" scope="core">Birləşmiş Ştatlar</type>
|
||||
<type key="numbers" type="arab">Ərəb-Hind Rəqəmləri</type>
|
||||
<type key="numbers" type="arabext">Genişlənmiş Ərəb-Hind Rəqəmləri</type>
|
||||
<type key="numbers" type="armn">Erməni Rəqəmləri</type>
|
||||
@@ -1160,8 +1118,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<type key="numbers" type="thai">Tay Rəqəmləri</type>
|
||||
<type key="numbers" type="tibt">Tibet Rəqəmləri</type>
|
||||
<type key="numbers" type="vaii">Vai rəqəmləri</type>
|
||||
<type key="ss" type="none" scope="core">Deaktiv</type>
|
||||
<type key="ss" type="standard" scope="core">Aktiv</type>
|
||||
</types>
|
||||
<measurementSystemNames>
|
||||
<measurementSystemName type="metric">Metrik</measurementSystemName>
|
||||
@@ -1182,6 +1138,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<parseLenients scope="date" level="lenient">
|
||||
<parseLenient sample=":">[\: ∶]</parseLenient>
|
||||
</parseLenients>
|
||||
<parseLenients scope="general" level="lenient">
|
||||
<parseLenient sample="£">[££ ₤]</parseLenient>
|
||||
</parseLenients>
|
||||
<parseLenients scope="number" level="lenient">
|
||||
<parseLenient sample="-">[\--﹣ ‑ ‒ −⁻₋ ➖]</parseLenient>
|
||||
<parseLenient sample=",">[,,﹐︐ ، ٫ 、﹑、︑]</parseLenient>
|
||||
@@ -1251,12 +1210,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<availableFormats>
|
||||
<dateFormatItem id="Ehm">E h:mm a</dateFormatItem>
|
||||
<dateFormatItem id="Ehms">E h:mm:ss a</dateFormatItem>
|
||||
<dateFormatItem id="GyM">G MM/y</dateFormatItem>
|
||||
<dateFormatItem id="GyMd">GGGGG d M y</dateFormatItem>
|
||||
<dateFormatItem id="GyMEd">G dd/MM/y, E</dateFormatItem>
|
||||
<dateFormatItem id="GyMMM">G MMM y</dateFormatItem>
|
||||
<dateFormatItem id="GyMMMd">G d MMM y</dateFormatItem>
|
||||
<dateFormatItem id="GyMMMEd">G d MMM y, E</dateFormatItem>
|
||||
<dateFormatItem id="h">h a</dateFormatItem>
|
||||
<dateFormatItem id="hm">h:mm a</dateFormatItem>
|
||||
<dateFormatItem id="hms">h:mm:ss a</dateFormatItem>
|
||||
<dateFormatItem id="Md">dd.MM</dateFormatItem>
|
||||
@@ -1272,15 +1230,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateFormatItem id="yyyyMMMM">G MMMM y</dateFormatItem>
|
||||
</availableFormats>
|
||||
<intervalFormats>
|
||||
<intervalFormatItem id="Bh">
|
||||
<greatestDifference id="B">B h – B h</greatestDifference>
|
||||
<greatestDifference id="h">B h – h</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="Bhm">
|
||||
<greatestDifference id="B">B h:mm – B h:mm</greatestDifference>
|
||||
<greatestDifference id="h">B h:mm – h:mm</greatestDifference>
|
||||
<greatestDifference id="m">B h:mm – h:mm</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="GyM">
|
||||
<greatestDifference id="G">GGGGG MM/y– GGGGG MM/y</greatestDifference>
|
||||
<greatestDifference id="M">GGGGG MM/y – MM/y</greatestDifference>
|
||||
@@ -1315,6 +1264,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<greatestDifference id="M">G d MMM, E – d MMM y, E</greatestDifference>
|
||||
<greatestDifference id="y">G d MMM y, E – d MMM y, E</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="h">
|
||||
<greatestDifference id="a">h a – h a</greatestDifference>
|
||||
<greatestDifference id="h">h–h a</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="hm">
|
||||
<greatestDifference id="a">h:mm a – h:mm a</greatestDifference>
|
||||
<greatestDifference id="h">h:mm–h:mm a</greatestDifference>
|
||||
@@ -1325,6 +1278,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<greatestDifference id="h">h:mm–h:mm a v</greatestDifference>
|
||||
<greatestDifference id="m">h:mm–h:mm a v</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="hv">
|
||||
<greatestDifference id="a">h a – h a v</greatestDifference>
|
||||
<greatestDifference id="h">h–h a v</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="Md">
|
||||
<greatestDifference id="d">dd.MM – dd.MM</greatestDifference>
|
||||
<greatestDifference id="M">dd.MM – dd.MM</greatestDifference>
|
||||
@@ -1334,7 +1291,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<greatestDifference id="M">dd.MM, E – dd.MM, E</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="MMMd">
|
||||
<greatestDifference id="d">d – d MMM</greatestDifference>
|
||||
<greatestDifference id="M">MMM d – MMM d</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="MMMEd">
|
||||
<greatestDifference id="d">MMM d, E – MMM d, E</greatestDifference>
|
||||
<greatestDifference id="M">MMM d, E – MMM d, E</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="yM">
|
||||
<greatestDifference id="M">GGGGG MM/y – MM/y</greatestDifference>
|
||||
@@ -1355,8 +1316,8 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<greatestDifference id="y">G MMM y – MMM y</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="yMMMd">
|
||||
<greatestDifference id="d">G MMM d – d, y</greatestDifference>
|
||||
<greatestDifference id="M">G MMM d – MMM d, y</greatestDifference>
|
||||
<greatestDifference id="d">G d–d MMM y</greatestDifference>
|
||||
<greatestDifference id="M">G d MMM y – d MMM</greatestDifference>
|
||||
<greatestDifference id="y">G d MMM y – d MMM y</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="yMMMEd">
|
||||
@@ -1564,19 +1525,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateTimeFormat type="atTime">
|
||||
<pattern>{1}/{0}</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="relative">
|
||||
<pattern>{1}/{0}</pattern>
|
||||
</dateTimeFormat>
|
||||
</dateTimeFormatLength>
|
||||
<dateTimeFormatLength type="long">
|
||||
<dateTimeFormat>
|
||||
<pattern>{1} {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="atTime">
|
||||
<pattern>{1}/{0}</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="relative">
|
||||
<pattern>{1}/{0}</pattern>
|
||||
<pattern>{1} 'at' {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
</dateTimeFormatLength>
|
||||
<dateTimeFormatLength type="medium">
|
||||
@@ -1586,9 +1541,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateTimeFormat type="atTime">
|
||||
<pattern>{1}, {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="relative">
|
||||
<pattern>{1}, {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
</dateTimeFormatLength>
|
||||
<dateTimeFormatLength type="short">
|
||||
<dateTimeFormat>
|
||||
@@ -1597,9 +1549,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateTimeFormat type="atTime">
|
||||
<pattern>{1}, {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
<dateTimeFormat type="relative">
|
||||
<pattern>{1}, {0}</pattern>
|
||||
</dateTimeFormat>
|
||||
</dateTimeFormatLength>
|
||||
<availableFormats>
|
||||
<dateFormatItem id="Bh">B h</dateFormatItem>
|
||||
@@ -1610,12 +1559,11 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateFormatItem id="Ed">d E</dateFormatItem>
|
||||
<dateFormatItem id="Ehm">E h:mm a</dateFormatItem>
|
||||
<dateFormatItem id="Ehms">E h:mm:ss a</dateFormatItem>
|
||||
<dateFormatItem id="GyM">G M y</dateFormatItem>
|
||||
<dateFormatItem id="GyMd">G d M y</dateFormatItem>
|
||||
<dateFormatItem id="GyMEd">G d M y, E</dateFormatItem>
|
||||
<dateFormatItem id="GyMd">GGGGG d MMM y</dateFormatItem>
|
||||
<dateFormatItem id="GyMMM">G MMM y</dateFormatItem>
|
||||
<dateFormatItem id="GyMMMd">G d MMM y</dateFormatItem>
|
||||
<dateFormatItem id="GyMMMEd">G d MMM y, E</dateFormatItem>
|
||||
<dateFormatItem id="h">h a</dateFormatItem>
|
||||
<dateFormatItem id="hm">h:mm a</dateFormatItem>
|
||||
<dateFormatItem id="hms">h:mm:ss a</dateFormatItem>
|
||||
<dateFormatItem id="hmsv">h:mm:ss a v</dateFormatItem>
|
||||
@@ -1638,15 +1586,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<dateFormatItem id="yw" count="other">Y, w 'həftə'</dateFormatItem>
|
||||
</availableFormats>
|
||||
<intervalFormats>
|
||||
<intervalFormatItem id="Bh">
|
||||
<greatestDifference id="B">B h – B h</greatestDifference>
|
||||
<greatestDifference id="h">B h–h</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="Bhm">
|
||||
<greatestDifference id="B">B h:mm–B h:mm</greatestDifference>
|
||||
<greatestDifference id="h">B h:mm–h:mm</greatestDifference>
|
||||
<greatestDifference id="m">B h:mm–h:mm</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="GyM">
|
||||
<greatestDifference id="G">GGGGG MM.y – GGGGG MM.y</greatestDifference>
|
||||
<greatestDifference id="M">GGGGG MM.y – MM.y</greatestDifference>
|
||||
@@ -1676,11 +1615,15 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<greatestDifference id="y">G d MMM y – d MMM y</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="GyMMMEd">
|
||||
<greatestDifference id="d">G d MMM, E – d MMM, E, y</greatestDifference>
|
||||
<greatestDifference id="d">G d MMM, E – d MMM y, E</greatestDifference>
|
||||
<greatestDifference id="G">G d MMM y, E – d MMM y, E</greatestDifference>
|
||||
<greatestDifference id="M">G d MMM, E – d MMM y, E</greatestDifference>
|
||||
<greatestDifference id="y">G d MMM y, E – d MMM y, E</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="h">
|
||||
<greatestDifference id="a">h a – h a</greatestDifference>
|
||||
<greatestDifference id="h">h–h a</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="hm">
|
||||
<greatestDifference id="a">h:mm a – h:mm a</greatestDifference>
|
||||
<greatestDifference id="h">h:mm–h:mm a</greatestDifference>
|
||||
@@ -1691,6 +1634,10 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<greatestDifference id="h">h:mm–h:mm a v</greatestDifference>
|
||||
<greatestDifference id="m">h:mm–h:mm a v</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="hv">
|
||||
<greatestDifference id="a">h a – h a v</greatestDifference>
|
||||
<greatestDifference id="h">h–h a v</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="Md">
|
||||
<greatestDifference id="d">dd.MM – dd.MM</greatestDifference>
|
||||
<greatestDifference id="M">dd.MM – dd.MM</greatestDifference>
|
||||
@@ -1726,13 +1673,12 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<greatestDifference id="y">MMM y – MMM y</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="yMMMd">
|
||||
<greatestDifference id="d">d – d MMM y</greatestDifference>
|
||||
<greatestDifference id="M">d MMM – d MMM y</greatestDifference>
|
||||
<greatestDifference id="M">d MMM y – d MMM</greatestDifference>
|
||||
<greatestDifference id="y">d MMM y – d MMM y</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="yMMMEd">
|
||||
<greatestDifference id="d">E, d MMM – E, d MMM y</greatestDifference>
|
||||
<greatestDifference id="M">E, d MMM – E, d MMM y</greatestDifference>
|
||||
<greatestDifference id="d">d MMM y, E – d MMM, E</greatestDifference>
|
||||
<greatestDifference id="M">d MMM y, E – d MMM, E</greatestDifference>
|
||||
<greatestDifference id="y">d MMM y, E – d MMM y, E</greatestDifference>
|
||||
</intervalFormatItem>
|
||||
<intervalFormatItem id="yMMMM">
|
||||
@@ -1775,12 +1721,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</monthWidth>
|
||||
</monthContext>
|
||||
</months>
|
||||
<dateTimeFormats>
|
||||
<availableFormats>
|
||||
<dateFormatItem id="GyM">G MM/y</dateFormatItem>
|
||||
<dateFormatItem id="GyMEd">G dd/MM/y, E</dateFormatItem>
|
||||
</availableFormats>
|
||||
</dateTimeFormats>
|
||||
</calendar>
|
||||
<calendar type="persian">
|
||||
<months>
|
||||
@@ -1903,7 +1843,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<displayName>hft. günü</displayName>
|
||||
</field>
|
||||
<field type="weekdayOfMonth">
|
||||
<displayName>ayın həftəiçi günü</displayName>
|
||||
<displayName>ayın həftə günü</displayName>
|
||||
</field>
|
||||
<field type="weekdayOfMonth-short">
|
||||
<displayName>ay hft. günü</displayName>
|
||||
@@ -1959,13 +1899,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</relativeTime>
|
||||
</field>
|
||||
<field type="tue-short">
|
||||
<relative type="-1">keçən Ç.ax.</relative>
|
||||
<relative type="-1">keçən ÇƏ</relative>
|
||||
<relative type="0">bu ÇƏ</relative>
|
||||
<relative type="1">gələn ÇƏ</relative>
|
||||
<relativeTime type="future">
|
||||
<relativeTimePattern count="one">{0} çərşənbə axşamı sonra</relativeTimePattern>
|
||||
<relativeTimePattern count="other">{0} çərşənbə axşamı ərzində</relativeTimePattern>
|
||||
</relativeTime>
|
||||
</field>
|
||||
<field type="wed">
|
||||
<relative type="-1">keçən çərşənbə</relative>
|
||||
@@ -2121,6 +2057,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="America/Anguilla">
|
||||
<exemplarCity>Angilya</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Europe/Tirane">
|
||||
<exemplarCity>Tirana</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Antarctica/Syowa">
|
||||
<exemplarCity>Syova</exemplarCity>
|
||||
</zone>
|
||||
@@ -2361,9 +2300,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<zone type="Pacific/Easter">
|
||||
<exemplarCity>Pasxa</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Coyhaique">
|
||||
<exemplarCity>Koyayke</exemplarCity>
|
||||
</zone>
|
||||
<zone type="America/Santiago">
|
||||
<exemplarCity>Santyaqo</exemplarCity>
|
||||
</zone>
|
||||
@@ -2576,7 +2512,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<exemplarCity>Pnom Pen</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Enderbury">
|
||||
<exemplarCity>Kanton</exemplarCity>
|
||||
<exemplarCity>Enderböri</exemplarCity>
|
||||
</zone>
|
||||
<zone type="Pacific/Kiritimati">
|
||||
<exemplarCity>Kirimati</exemplarCity>
|
||||
@@ -3041,7 +2977,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</metazone>
|
||||
<metazone type="Africa_Western">
|
||||
<long>
|
||||
<standard>Qərbi Afrika Vaxtı</standard>
|
||||
<generic>Qərbi Afrika Vaxtı</generic>
|
||||
<standard>Qərbi Afrika Standart Vaxtı</standard>
|
||||
<daylight>Qərbi Afrika Yay Vaxtı</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Alaska">
|
||||
@@ -3060,9 +2998,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</metazone>
|
||||
<metazone type="America_Central">
|
||||
<long>
|
||||
<generic>Mərkəzi Amerika saat qurşağı</generic>
|
||||
<standard>Mərkəzi Amerika Standart Vaxtı</standard>
|
||||
<daylight>Mərkəzi Amerika yay vaxtı</daylight>
|
||||
<generic>Şimali Mərkəzi Amerika Vaxtı</generic>
|
||||
<standard>Şimali Mərkəzi Amerika Standart Vaxtı</standard>
|
||||
<daylight>Şimali Mərkəzi Amerika Yay Vaxtı</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="America_Eastern">
|
||||
@@ -3123,7 +3061,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</metazone>
|
||||
<metazone type="Atlantic">
|
||||
<long>
|
||||
<generic>Atlantik saat qurşağı</generic>
|
||||
<generic>Atlantik Vaxt</generic>
|
||||
<standard>Atlantik Standart Vaxt</standard>
|
||||
<daylight>Atlantik Yay Vaxtı</daylight>
|
||||
</long>
|
||||
@@ -3391,11 +3329,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<standard>Qayana Vaxtı</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii">
|
||||
<long>
|
||||
<standard>Havay-Aleut Standart Vaxtı</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii_Aleutian">
|
||||
<long>
|
||||
<generic>Havay-Aleut Vaxtı</generic>
|
||||
@@ -3815,13 +3748,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<standard>Çuuk Vaxtı</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Turkey">
|
||||
<long>
|
||||
<generic>Türkiya vaxtı</generic>
|
||||
<standard>Türkiya standart vaxtı</standard>
|
||||
<daylight>Türkiya yay vaxtı</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Turkmenistan">
|
||||
<long>
|
||||
<generic>Türkmənistan Vaxtı</generic>
|
||||
@@ -4000,26 +3926,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
</scientificFormat>
|
||||
</scientificFormatLength>
|
||||
</scientificFormats>
|
||||
<currencyFormats numberSystem="arabext">
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
<pattern alt="noCurrency">#,##0.00</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
</currencyFormats>
|
||||
<currencyFormats numberSystem="latn">
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern>#,##0.00 ¤</pattern>
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
<pattern alt="noCurrency">#,##0.00</pattern>
|
||||
<pattern alt="noCurrency">#,##0.00;(#,##0.00)</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
<currencyFormatLength type="short">
|
||||
@@ -4030,24 +3943,24 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<pattern type="10000" count="other">00K ¤</pattern>
|
||||
<pattern type="100000" count="one">000K ¤</pattern>
|
||||
<pattern type="100000" count="other">000K ¤</pattern>
|
||||
<pattern type="1000000" count="one">0 mln ¤</pattern>
|
||||
<pattern type="1000000" count="other">0 mln ¤</pattern>
|
||||
<pattern type="10000000" count="one">00 mln ¤</pattern>
|
||||
<pattern type="10000000" count="other">00 mln ¤</pattern>
|
||||
<pattern type="100000000" count="one">000 mln ¤</pattern>
|
||||
<pattern type="100000000" count="other">000 mln ¤</pattern>
|
||||
<pattern type="1000000000" count="one">0 mlrd ¤</pattern>
|
||||
<pattern type="1000000000" count="other">0 mlrd ¤</pattern>
|
||||
<pattern type="10000000000" count="one">00 mlrd ¤</pattern>
|
||||
<pattern type="10000000000" count="other">00 mlrd ¤</pattern>
|
||||
<pattern type="100000000000" count="one">000 mlrd ¤</pattern>
|
||||
<pattern type="100000000000" count="other">000 mlrd ¤</pattern>
|
||||
<pattern type="1000000000000" count="one">0 trln ¤</pattern>
|
||||
<pattern type="1000000000000" count="other">0 trln ¤</pattern>
|
||||
<pattern type="10000000000000" count="one">00 trln ¤</pattern>
|
||||
<pattern type="10000000000000" count="other">00 trln ¤</pattern>
|
||||
<pattern type="100000000000000" count="one">000 trln ¤</pattern>
|
||||
<pattern type="100000000000000" count="other">000 trln ¤</pattern>
|
||||
<pattern type="1000000" count="one">0M ¤</pattern>
|
||||
<pattern type="1000000" count="other">0M ¤</pattern>
|
||||
<pattern type="10000000" count="one">00M ¤</pattern>
|
||||
<pattern type="10000000" count="other">00M ¤</pattern>
|
||||
<pattern type="100000000" count="one">000M ¤</pattern>
|
||||
<pattern type="100000000" count="other">000M ¤</pattern>
|
||||
<pattern type="1000000000" count="one">0G ¤</pattern>
|
||||
<pattern type="1000000000" count="other">0G ¤</pattern>
|
||||
<pattern type="10000000000" count="one">00G ¤</pattern>
|
||||
<pattern type="10000000000" count="other">00G ¤</pattern>
|
||||
<pattern type="100000000000" count="one">000G ¤</pattern>
|
||||
<pattern type="100000000000" count="other">000G ¤</pattern>
|
||||
<pattern type="1000000000000" count="one">0T ¤</pattern>
|
||||
<pattern type="1000000000000" count="other">0T ¤</pattern>
|
||||
<pattern type="10000000000000" count="one">00T ¤</pattern>
|
||||
<pattern type="10000000000000" count="other">00T ¤</pattern>
|
||||
<pattern type="100000000000000" count="one">000T ¤</pattern>
|
||||
<pattern type="100000000000000" count="other">000T ¤</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
</currencyFormats>
|
||||
@@ -5270,11 +5183,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<displayName count="one">Şərqi Karib dolları</displayName>
|
||||
<displayName count="other">Şərqi Karib dolları</displayName>
|
||||
</currency>
|
||||
<currency type="XCG">
|
||||
<displayName>Karib gilderi</displayName>
|
||||
<displayName count="one">Karib gilderi</displayName>
|
||||
<displayName count="other">Karib gilderi</displayName>
|
||||
</currency>
|
||||
<currency type="XFO">
|
||||
<displayName>Fransız Gızıl Frankı</displayName>
|
||||
<displayName count="one">Fransız gızıl frankı</displayName>
|
||||
@@ -5368,11 +5276,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<displayName count="one">Zimbabve dolları (1980–2008)</displayName>
|
||||
<displayName count="other">Zimbabve dolları (1980–2008)</displayName>
|
||||
</currency>
|
||||
<currency type="ZWG">
|
||||
<displayName>Zimbabve Qızılı</displayName>
|
||||
<displayName count="one">Zimbabve qızılı</displayName>
|
||||
<displayName count="other">Zimbabve qızılı</displayName>
|
||||
</currency>
|
||||
<currency type="ZWL">
|
||||
<displayName>Zimbabve Dolları (2009)</displayName>
|
||||
<displayName count="one">Zimbabve dolları (2009)</displayName>
|
||||
@@ -5583,12 +5486,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} millimol/litr</unitPattern>
|
||||
<unitPattern count="other">{0} millimol/litr</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part">
|
||||
<displayName>hissə</displayName>
|
||||
<unitPattern count="one">{0} hissə</unitPattern>
|
||||
<unitPattern count="other">{0} hissə</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<displayName>milyonda hissəcik</displayName>
|
||||
<unitPattern count="one">{0} milyonda hissəcik</unitPattern>
|
||||
<unitPattern count="other">{0} milyonda hissəcik</unitPattern>
|
||||
@@ -5605,11 +5503,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} permiriada</unitPattern>
|
||||
<unitPattern count="other">{0} permiriada</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-ofglucose">
|
||||
<displayName>qlükoza</displayName>
|
||||
<unitPattern count="one">{0} qlükoza</unitPattern>
|
||||
<unitPattern count="other">{0} qlükoza</unitPattern>
|
||||
</unit>
|
||||
<unit type="consumption-liter-per-kilometer">
|
||||
<displayName>litr/kilometr</displayName>
|
||||
<unitPattern count="one">{0} litr/kilometr</unitPattern>
|
||||
@@ -5997,9 +5890,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} millimetr civə sütunu</unitPattern>
|
||||
<unitPattern count="other">{0} millimetr civə sütunu</unitPattern>
|
||||
</unit>
|
||||
<unit type="pressure-ofhg">
|
||||
<displayName>civə</displayName>
|
||||
</unit>
|
||||
<unit type="pressure-pound-force-per-square-inch">
|
||||
<displayName>funt/kvadrat düym</displayName>
|
||||
<unitPattern count="one">{0} funt/kvadrat düym</unitPattern>
|
||||
@@ -6131,11 +6021,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} millilitr</unitPattern>
|
||||
<unitPattern count="other">{0} millilitr</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-fluid-ounce-metric">
|
||||
<displayName>metrik maye unsiyası</displayName>
|
||||
<unitPattern count="one">{0} metrik maye unsiyası</unitPattern>
|
||||
<unitPattern count="other">{0} metrik maye unsiyası</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-acre-foot">
|
||||
<displayName>akr-fut</displayName>
|
||||
<unitPattern count="one">{0} akr-fut</unitPattern>
|
||||
@@ -6203,61 +6088,21 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} İmp. kvarta</unitPattern>
|
||||
<unitPattern count="other">{0} İmp. kvarta</unitPattern>
|
||||
</unit>
|
||||
<unit type="angle-steradian">
|
||||
<displayName>steradian</displayName>
|
||||
<unit type="speed-light-speed">
|
||||
<displayName>işıq</displayName>
|
||||
<unitPattern count="one">{0} işıq</unitPattern>
|
||||
<unitPattern count="other">{0} işıq</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-katal">
|
||||
<displayName>katal</displayName>
|
||||
<unit type="concentr-portion-per-1e9">
|
||||
<displayName>bir milyarda düşən hissə sayı</displayName>
|
||||
<unitPattern count="one">bir milyarda düşən {0} hissə</unitPattern>
|
||||
<unitPattern count="other">bir milyarda düşən {0} hissə</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-coulomb">
|
||||
<displayName>kulomb</displayName>
|
||||
<unitPattern count="one">{0} kulomb</unitPattern>
|
||||
<unitPattern count="other">{0} kulomb</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-farad">
|
||||
<displayName>farad</displayName>
|
||||
</unit>
|
||||
<unit type="electric-henry">
|
||||
<displayName>henri</displayName>
|
||||
</unit>
|
||||
<unit type="electric-siemens">
|
||||
<displayName>simen</displayName>
|
||||
</unit>
|
||||
<unit type="energy-calorie-it">
|
||||
<displayName>kalori-IT</displayName>
|
||||
<unitPattern count="one">{0} kalori [IT]</unitPattern>
|
||||
<unitPattern count="other">{0} kal-IT</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-becquerel">
|
||||
<displayName>bekkerel</displayName>
|
||||
<unitPattern count="one">{0} bekkerel</unitPattern>
|
||||
<unitPattern count="other">{0} bekkerel</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-sievert">
|
||||
<displayName>zivert</displayName>
|
||||
<unitPattern count="one">{0} zivert</unitPattern>
|
||||
<unitPattern count="other">{0} zivert</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-gray">
|
||||
<displayName>qrey</displayName>
|
||||
<unitPattern count="one">{0} Qy</unitPattern>
|
||||
<unitPattern count="other">{0} Qy</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-kilogram-force">
|
||||
<displayName>kiloqram qüvvə</displayName>
|
||||
<unitPattern count="one">{0} kqq</unitPattern>
|
||||
<unitPattern count="other">{0} kqq</unitPattern>
|
||||
</unit>
|
||||
<unit type="magnetic-tesla">
|
||||
<displayName>tesla</displayName>
|
||||
</unit>
|
||||
<unit type="magnetic-weber">
|
||||
<displayName>veber</displayName>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e9">
|
||||
<displayName>milyardda hissə</displayName>
|
||||
<unitPattern count="one">milyardda {0} hissə</unitPattern>
|
||||
<unitPattern count="other">milyardda {0} hissə</unitPattern>
|
||||
<unit type="duration-night">
|
||||
<displayName>gecə</displayName>
|
||||
<unitPattern count="one">{0} gecə</unitPattern>
|
||||
<unitPattern count="other">{0} gecə</unitPattern>
|
||||
<perUnitPattern>{0}/gecə</perUnitPattern>
|
||||
</unit>
|
||||
<coordinateUnit>
|
||||
<displayName>kardinal istiqamət</displayName>
|
||||
@@ -6375,12 +6220,7 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} element</unitPattern>
|
||||
<unitPattern count="other">{0} element</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part">
|
||||
<displayName>hissə</displayName>
|
||||
<unitPattern count="one">{0} hissə</unitPattern>
|
||||
<unitPattern count="other">{0} hissə</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e6">
|
||||
<unit type="concentr-permillion">
|
||||
<displayName>hissəcik/milyon</displayName>
|
||||
<unitPattern count="one">{0} hs/mln</unitPattern>
|
||||
<unitPattern count="other">{0} hs/mln</unitPattern>
|
||||
@@ -6394,11 +6234,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unit type="concentr-permyriad">
|
||||
<displayName>permiriada</displayName>
|
||||
</unit>
|
||||
<unit type="concentr-ofglucose">
|
||||
<displayName>Qlk</displayName>
|
||||
<unitPattern count="one">{0} Qlk</unitPattern>
|
||||
<unitPattern count="other">{0} Qlk</unitPattern>
|
||||
</unit>
|
||||
<unit type="consumption-liter-per-kilometer">
|
||||
<displayName>l/km</displayName>
|
||||
<unitPattern count="one">{0} l/km</unitPattern>
|
||||
@@ -6750,11 +6585,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} sL</unitPattern>
|
||||
<unitPattern count="other">{0} sL</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-fluid-ounce-metric">
|
||||
<displayName>mmu</displayName>
|
||||
<unitPattern count="one">{0} mmu</unitPattern>
|
||||
<unitPattern count="other">{0} mmu</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-bushel">
|
||||
<displayName>buşel</displayName>
|
||||
<unitPattern count="one">{0} buşel</unitPattern>
|
||||
@@ -6827,45 +6657,13 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} kvarta İmp.</unitPattern>
|
||||
<unitPattern count="other">{0} kvarta İmp.</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-coulomb">
|
||||
<displayName>kulomb</displayName>
|
||||
<unitPattern count="one">{0} kulomb</unitPattern>
|
||||
<unitPattern count="other">{0} kulomb</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-calorie-it">
|
||||
<displayName>kal-IT</displayName>
|
||||
<unitPattern count="one">{0} kal-IT</unitPattern>
|
||||
<unitPattern count="other">{0} kal-IT</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-becquerel">
|
||||
<displayName>Bk</displayName>
|
||||
<unitPattern count="one">{0} Bk</unitPattern>
|
||||
<unitPattern count="other">{0} Bk</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-sievert">
|
||||
<displayName>Zv</displayName>
|
||||
<unitPattern count="one">{0} Zv</unitPattern>
|
||||
<unitPattern count="other">{0} Zv</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-gray">
|
||||
<displayName>Qy</displayName>
|
||||
<unitPattern count="one">{0} Qy</unitPattern>
|
||||
<unitPattern count="other">{0} Qy</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-kilogram-force">
|
||||
<displayName>kqq</displayName>
|
||||
<unitPattern count="one">{0} kqq</unitPattern>
|
||||
<unitPattern count="other">{0} kqq</unitPattern>
|
||||
</unit>
|
||||
<unit type="speed-light-speed">
|
||||
<displayName>işıq</displayName>
|
||||
<unitPattern count="one">{0} işıq</unitPattern>
|
||||
<unitPattern count="other">{0} işıq</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e9">
|
||||
<unit type="concentr-portion-per-1e9">
|
||||
<displayName>hissə/milyard</displayName>
|
||||
<unitPattern count="one">{0} hissə/milyard</unitPattern>
|
||||
<unitPattern count="other">{0} hissə/milyard</unitPattern>
|
||||
</unit>
|
||||
<unit type="duration-night">
|
||||
<displayName>gecə</displayName>
|
||||
@@ -6909,10 +6707,9 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} ft²</unitPattern>
|
||||
<unitPattern count="other">{0} ft²</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part">
|
||||
<displayName>hissə</displayName>
|
||||
<unitPattern count="one">{0} hissə</unitPattern>
|
||||
<unitPattern count="other">{0} hissə</unitPattern>
|
||||
<unit type="concentr-permillion">
|
||||
<unitPattern count="one">{0} hs/mln</unitPattern>
|
||||
<unitPattern count="other">{0}ppm</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-percent">
|
||||
<displayName>%</displayName>
|
||||
@@ -6923,11 +6720,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unit type="concentr-permyriad">
|
||||
<displayName>‱</displayName>
|
||||
</unit>
|
||||
<unit type="concentr-ofglucose">
|
||||
<displayName>Qlk</displayName>
|
||||
<unitPattern count="one">{0} Qlk</unitPattern>
|
||||
<unitPattern count="other">{0} Qlk</unitPattern>
|
||||
</unit>
|
||||
<unit type="consumption-mile-per-gallon-imperial">
|
||||
<unitPattern count="one">{0} mil/imq</unitPattern>
|
||||
<unitPattern count="other">{0} mil/imq</unitPattern>
|
||||
@@ -7101,11 +6893,6 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0} mf</unitPattern>
|
||||
<unitPattern count="other">{0} mf</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-fluid-ounce-metric">
|
||||
<displayName>mmu</displayName>
|
||||
<unitPattern count="one">{0} mmu</unitPattern>
|
||||
<unitPattern count="other">{0} mmu</unitPattern>
|
||||
</unit>
|
||||
<unit type="volume-acre-foot">
|
||||
<displayName>ak-ft</displayName>
|
||||
<unitPattern count="one">{0} ak-ft</unitPattern>
|
||||
@@ -7137,47 +6924,16 @@ Warnings: All cp values have U+FE0F characters removed. See /annotationsDerived/
|
||||
<unitPattern count="one">{0}qt-Imp.</unitPattern>
|
||||
<unitPattern count="other">{0}qt-Imp.</unitPattern>
|
||||
</unit>
|
||||
<unit type="electric-coulomb">
|
||||
<displayName>K</displayName>
|
||||
<unitPattern count="one">{0} K</unitPattern>
|
||||
<unitPattern count="other">{0} K</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-calorie-it">
|
||||
<displayName>kal-IT</displayName>
|
||||
<unitPattern count="one">{0} kal-IT</unitPattern>
|
||||
<unitPattern count="other">{0} kal-IT</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-becquerel">
|
||||
<displayName>Bk</displayName>
|
||||
<unitPattern count="one">{0} Bk</unitPattern>
|
||||
<unitPattern count="other">{0} Bk</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-sievert">
|
||||
<displayName>Zv</displayName>
|
||||
<unitPattern count="one">{0} Zv</unitPattern>
|
||||
<unitPattern count="other">{0} Zv</unitPattern>
|
||||
</unit>
|
||||
<unit type="energy-gray">
|
||||
<displayName>Qy</displayName>
|
||||
<unitPattern count="one">{0} Qy</unitPattern>
|
||||
<unitPattern count="other">{0} Qy</unitPattern>
|
||||
</unit>
|
||||
<unit type="force-kilogram-force">
|
||||
<displayName>kqq</displayName>
|
||||
<unitPattern count="one">{0} kqq</unitPattern>
|
||||
<unitPattern count="other">{0} kqq</unitPattern>
|
||||
</unit>
|
||||
<unit type="speed-light-speed">
|
||||
<displayName>işıq</displayName>
|
||||
<unitPattern count="one">{0}işıq</unitPattern>
|
||||
<unitPattern count="other">{0}işıq</unitPattern>
|
||||
</unit>
|
||||
<unit type="concentr-part-per-1e9">
|
||||
<unitPattern count="one">{0} hissə/milyard</unitPattern>
|
||||
<unitPattern count="other">{0} hissə/milyard</unitPattern>
|
||||
</unit>
|
||||
<unit type="duration-night">
|
||||
<displayName>gecə</displayName>
|
||||
<unitPattern count="one">{0}gecə</unitPattern>
|
||||
<unitPattern count="other">{0}gecə</unitPattern>
|
||||
<perUnitPattern>{0}/gecə</perUnitPattern>
|
||||
</unit>
|
||||
</unitLength>
|
||||
</units>
|
||||
|
||||
@@ -1070,10 +1070,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<currencyFormatLength>
|
||||
<currencyFormat type="standard">
|
||||
<pattern>#,##0.00 ¤</pattern>
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
<currencyFormat type="accounting">
|
||||
<pattern alt="alphaNextToNumber">#,##0.00 ¤</pattern>
|
||||
</currencyFormat>
|
||||
</currencyFormatLength>
|
||||
<currencyFormatLength type="short">
|
||||
|
||||
+1
-12360
File diff suppressed because it is too large
Load Diff
@@ -385,11 +385,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<standard>گرینوِچ مین ٹائم</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii">
|
||||
<long>
|
||||
<standard draft="provisional">هئواییئے گیشّتگێن ساهت</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii_Aleutian">
|
||||
<long>
|
||||
<generic draft="provisional">هئواییئے ساهت</generic>
|
||||
|
||||
@@ -997,11 +997,13 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<type key="calendar" type="roc">Mingu-Chini sáldar</type>
|
||||
<type key="cf" type="account">Hesáb, Zarr Káleb</type>
|
||||
<type key="cf" type="standard">Zarray anjárén káleb</type>
|
||||
<type key="collation" type="big5han">Chini Rabyati Red o band</type>
|
||||
<type key="collation" type="compat">Pésari Red o band, pa hamdapiá</type>
|
||||
<type key="collation" type="dictionary">Labzbaladi Red o band</type>
|
||||
<type key="collation" type="ducet">Aslén Yunikodi Red o band</type>
|
||||
<type key="collation" type="emoji">Emóji Red o band</type>
|
||||
<type key="collation" type="eor">Yuropi Red o bandi Rahband</type>
|
||||
<type key="collation" type="gb2312han">Sádah kortagén Chini Red o band - GB2312</type>
|
||||
<type key="collation" type="phonebook">Pawnbokki Red o band</type>
|
||||
<type key="collation" type="pinyin">Pinyi Red o band</type>
|
||||
<type key="collation" type="search">Ám Kári Shóház</type>
|
||||
@@ -2953,7 +2955,9 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
</metazone>
|
||||
<metazone type="Africa_Western">
|
||||
<long>
|
||||
<standard>Rónendi Aprikáay wahd</standard>
|
||||
<generic>Rónendi Aprikáay wahd</generic>
|
||||
<standard>Rónendi Aprikáay anjári wahd</standard>
|
||||
<daylight>Rónendi Aprikáay garmági wahd</daylight>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Alaska">
|
||||
@@ -3303,11 +3307,6 @@ CLDR data files are interpreted according to the LDML specification (http://unic
|
||||
<standard>Guyánáay wahd</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii">
|
||||
<long>
|
||||
<standard>Hawái/Alushiay anjári wahd</standard>
|
||||
</long>
|
||||
</metazone>
|
||||
<metazone type="Hawaii_Aleutian">
|
||||
<long>
|
||||
<generic>Hawái/Alushiay wahd</generic>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user