[COPY] --- T2-COPYRIGHT-BEGIN --- [COPY] t2/package/*/icu4c/icu4c.desc [COPY] Copyright (C) 2006 - 2025 The T2 SDE Project [COPY] SPDX-License-Identifier: GPL-2.0 [COPY] --- T2-COPYRIGHT-END --- [I] International Components for Unicode for C/C++ [T] The C and C++ languages and many operating system environments do [T] not provide full support for Unicode and standards-compliant text [T] handling services. Even though some platforms do provide good Unicode [T] text handling services, portable application code can not make use [T] of them. The ICU4C libraries fills in this gap. ICU4C provides an [T] open, flexible, portable foundation for applications to use for [T] their software globalization requirements. ICU4C closely tracks [T] industry standards, including Unicode and CLDR (Common Locale Data [T] Repository). [U] https://icu.unicode.org/ [A] Intenational Business Machines (IBM) [M] René Rebe [C] base/system [F] CROSS FAT-LTO.mips FAT-LTO.mips64 LATOMIC.sparc [L] OpenSource [S] Stable [V] 77-1 [P] X 0----5---9 112.200 [D] 3088176d1d8603e70ff00e30e72457832709aab06173b596915e22ba icu4c-77-1-src.tar.gz https://github.com/unicode-org/icu/archive/release-77-1/ srcdir="*/icu4c/source" ICU_TEMP_FOLDER=$base/build/$SDECFG_ID/TOOLCHAIN/cross # files archive library static auto? #var_append confopt ' ' --with-data-packaging=files # TODO: resource files didn't work: patch their Makefile* / rules / Perl code proper # _V=${desc_V//-/.} [ $arch_bigendian = yes ] && endian=b || endian=l # hook_add inmake 5 "mkdir -p $root$datadir/icu/$_V/icudt${_V%%.*}$endian/{brkitr,\ # coll,curr,lang,locales,rbnf,region,translit,unit,zone}" # endianess byte-swapping is cursed broken beyond repair, grossly # hack hardcoded byteswapping AFTER native resource lirbary was linked icu4c_hotfix_endianess() { grep -qa U_IS_BIG_ENDIAN.*1 && host_bigendian=yes || host_bigendian=no [ $arch_bigendian != $host_bigendian ] && hook_add postmake 3 "icu4c_hotfix_endianess_rebuild" : } icu4c_hotfix_endianess_rebuild() { patch $patchopt < $confdir/hotfix-endianess.diff eval $MAKE $makeopt } # cross build needs native helpers to process and generate data files icu4c_postmake() { mkdir -p $ICU_TEMP_FOLDER/config cp -rfv config/icucross.{mk,inc} $ICU_TEMP_FOLDER/config/ cp -rfv lib bin tools $ICU_TEMP_FOLDER/ } if atstage toolchain; then makeinstopt= hook_add premake 5 "icu4c_hotfix_endianess" hook_add postmake 5 "icu4c_postmake" elif atstage cross; then createarchcache=1 var_append confopt ' ' --with-cross-build=$ICU_TEMP_FOLDER fi