Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion cgmanifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"type": "git",
"git": {
"repositoryUrl": "https://github.com/unicode-org/icu",
"commitHash": "ff3514f257ea10afe7e710e9f946f68d256704b1"
"commitHash": "21d1eb0f306e1141c10931e914dfc038c06121da"
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Arvind Oruganti <aoruganti@microsoft.com>
Date: Thu, 14 May 2026 14:30:00 +0530
Subject: MSFT-PATCH: Remove icu4j directory validation from Cldr2Icu (icu4c-only fork)

diff --git a/icu/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/Cldr2IcuCliOptions.java b/icu/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/Cldr2IcuCliOptions.java
index d9b46014438..9ff85b38d86 100644
--- a/icu/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/Cldr2IcuCliOptions.java
+++ b/icu/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/Cldr2IcuCliOptions.java
@@ -380,7 +380,9 @@ private void validateEnvironment() {

if (!new File(icuDir).isDirectory()
|| ! new File(icuDir, "icu4c").isDirectory()
- || ! new File(icuDir, "icu4j").isDirectory()
+ // MSFT-Change: microsoft/icu fork is icu4c-only; no icu4j source tree.
+ // The Maven dependency on icu4j (used by TransformsMapper) is still
+ // resolved from ~/.m2 at runtime, so source-tree absence is harmless.
|| ! new File(icuDir, "tools/cldr/cldr-to-icu").isDirectory()
|| ! new File(icuDir, "tools/cldr/cldr-to-icu/pom.xml").isFile()) {
System.err.println("The `" + icuDir + "` directory does not look like a valid icu root.");
1,569 changes: 1,275 additions & 294 deletions icu/icu4c/APIChangeReport.html

Large diffs are not rendered by default.

624 changes: 444 additions & 180 deletions icu/icu4c/APIChangeReport.md

Large diffs are not rendered by default.

519 changes: 0 additions & 519 deletions icu/icu4c/LICENSE

This file was deleted.

1 change: 1 addition & 0 deletions icu/icu4c/LICENSE
81 changes: 81 additions & 0 deletions icu/icu4c/build_qnx/build-hooks
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# © 2023 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
function hook_preconfigure {
if [ "${TARGET_SYSNAME}" == "nto" ]; then
# set the current directory for use in configure_opts
CURDIR="${PWD}"
# prefix is the base path where files are installed in the target filesystem. It is also
# the base path for all architecture independent files
configure_opts="${configure_opts} --prefix=/usr"
# exec-prefix is the base path for architecture dependent files.
configure_opts="${configure_opts} --exec-prefix=/${cpudir}/usr"
configure_opts="${configure_opts} --with-cross-build=${CURDIR}/../linux-x86_64-o"
configure_opts="${configure_opts} --with-data-packaging=auto"
configure_opts="${configure_opts} --srcdir=../../source"

CFLAGS="$CFLAGS -fPIC"
CPPFLAGS="$CPPFLAGS -fPIC"
CXXFLAGS="$CXXFLAGS -std=gnu++17"
else
# prefix is the base path where architecture independent files are installed in the target filesystem
configure_opts="${configure_opts} --prefix=/"
configure_opts="${configure_opts} --srcdir=../../source"
fi
}

function hook_configure {
if [ -z "${ac_version}" ]; then
unset _guess
_pat='/[Gg]enerated.*[Aa]utoconf/s/.*\([1-9]\.[0-9][0-9]*\).*/\1/p'
[ "${_guess}" ] || _guess=$(../../source/configure --version | sed -n -e "${_pat}")
[ "${_guess}" ] || _guess=$(sed -n -e "1,10{
${_pat}
}" <../../source/configure)
AutoconfVersion ${_guess}
fi
../../source/configure \
${ac_host:+"--host=${ac_host}"} \
${ac_build:+"--build=${ac_build}"} \
${configure_opts} \
${ac_params:+${CC:+"CC=${CC}"}} \
${ac_params:+${CFLAGS:+"CFLAGS=-O2 ${CFLAGS}"}} \
${ac_params:+${CPPFLAGS:+"CPPFLAGS=${CPPFLAGS}"}} \
${ac_params:+${LDFLAGS:+"LDFLAGS=${LDFLAGS}"}} \
${ac_params:+${CXX:+"CXX=${CXX}"}} \
${ac_params:+${CXXFLAGS:+"CXXFLAGS=-O2 ${CXXFLAGS}"}} \
${ac_params:+${ac_autotools:+${ac_autotools}}} \
|| Error "configure failed";
}


function hook_premake {
if [ "${TARGET_SYSNAME}" == "nto" ]; then
DESTDIR=${DESTDIR:-${INSTALL_ROOT_nto}}
export DESTDIR
fi
}

function hook_postmake {
if [ "${TARGET_SYSNAME}" == "linux" ]; then
make -fMakefile config/icucross.mk
make -fMakefile config/icucross.inc
fi

if [ "${TARGET_SYSNAME}" == "nto" ]; then
if [ -e "data/out/tmp/icudt72l.dat" ]; then
cp -fv data/out/tmp/icudt72l.dat "${DESTDIR}/usr/share/icu/"
fi
cd test
JLEVEL=4 make all-recursive
cd -
mkdir -p ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/test/testdata
mkdir -p ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/data/out
cp test/cintltst/cintltst ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests
cp test/intltest/intltest ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests
cp test/iotest/iotest ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests
cp -r data/out/build ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/data/out
cp -r test/testdata/out ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/test/testdata
cp -r ../../source/test/testdata ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/test
cp -r ../../source/data ${INSTALL_ROOT_nto}/${cpudir}/usr/bin/icu_tests/
fi
}
8 changes: 8 additions & 0 deletions icu/icu4c/build_qnx/linux-x86_64-o/GNUmakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# © 2023 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
ifndef QCONFIG
QCONFIG=qconfig.mk
endif
include $(QCONFIG)

include $(MKFILES_ROOT)/qmake-cfg.mk
8 changes: 8 additions & 0 deletions icu/icu4c/build_qnx/nto-aarch64-le/GNUmakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# © 2023 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
ifndef QCONFIG
QCONFIG=qconfig.mk
endif
include $(QCONFIG)

include $(MKFILES_ROOT)/qmake-cfg.mk
8 changes: 8 additions & 0 deletions icu/icu4c/build_qnx/nto-x86_64-o/GNUmakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# © 2023 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
ifndef QCONFIG
QCONFIG=qconfig.mk
endif
include $(QCONFIG)

include $(MKFILES_ROOT)/qmake-cfg.mk
Loading
Loading