Commit Graph

2756 Commits

Author SHA1 Message Date
Jeff Genovy
f7abe8c1c1 ICU-20782 Add support for cross-compiling Windows ARM/ARM64 data DLL from the x64 bits. 2019-08-26 22:50:31 -07:00
Jeff Genovy
408752ec49 ICU-20782 Enable Windows desktop ARM and ARM64 builds of ICU4C.
This enables "classic" desktop builds of ICU4C for both ARM (32-bit)
and ARM64 (64-bit) on Windows.

All but the two samples "cal" and "date" in the "allinone" project now
have ARM and ARM64 project configurations, and build for Windows Desktop
ARM/ARM64.

Note: In order to build the ARM/ARM64 data DLL, you need to first build
x64/Release, as the ARM/ARM build uses the x64 bits in order to be able
to cross-compile for ARM/ARM64. This allows for completely building
ARM/ARM64 binaries using only x64 hardware.

The ARM/ARM64 builds require using a newer version of the Windows SDK
than 8.1, so they have a separate WindowsTargetPlatformVersion which
uses Windows 10 SDK version 10.0.16299.0 (aka RS3), which is the first
version of the Windows SDK to support building ARM64 desktop applications.

In addition this also greatly cleans-up the ICU4C ".vcxproj" files, in
order to remove redundant parts, fix inconsistencies, and make them more
readable. This introduces two new variables in the shared `*.props`
files: `IcuBinOutputDir` and `IcuLibOutputDir` in order to further
reduce the amount of duplicated lines in the individual ".vcxproj"
files themselves.
2019-08-26 22:50:31 -07:00
Jeff Genovy
d1293c50cb ICU-20712 Add support for building Windows UWP ARM/ARM64 data DLLs.
This also changes the pkgdata tool command line options to decouple the
ARM/ARM64 flags from the UWP flag, and adds a generic architecture
option (-a) for passing in the value of the linker "/MACHINE:" argument
on the command line. (Ex: -a ARM64).

Additionally this change also adds another option to pkgdata (-b) to 
set /DYNAMICBASE on the data DLL, which is required for the ARM64 builds.

Both of these changes also work towards future work in order to enable
full ARM64 desktop builds without UWP.

This change also removes a number of ifdefs/forks in the ICU code based
on U_PLATFORM_HAS_WINUWP_API, and changes them to use ICU_DATA_DIR_WINDOWS
instead. This is needed to unblock the usage of the data DLL in the
UWP scenario, but also helps to further reduce the divergence of the UWP
projects from regular Windows builds.

Related tickets:
  ICU4C: Remove fixed DLL base addresses when building Windows DLLs
  https://unicode-org.atlassian.net/browse/ICU-20768

  Add support to generate ICU data DLL for Windows arm64
  https://unicode-org.atlassian.net/browse/ICU-20670
2019-08-13 17:03:33 -07:00
Shane Carr
b4d41b0561 ICU-20737 Removing Python dependency on distutils.
Deletes tstfiles.mk and merges the list into BUILDRULES.py
2019-08-12 15:12:48 -07:00
Jeff Genovy
69fb255169 ICU-20712 Add support for building ICU4C UWP with ARM64, add ARM32/ARM64 to CI.
This change adds support for building the ICU4C UWP projects for ARM64.
Additionally it adds CI builds for ARM32 and ARM64.

Co-Authored-By: Daniel Ju <daju@microsoft.com>
2019-07-23 13:29:36 -07:00
Victor Chang
d56f291178 ICU-20659 Fix DTD link in XML data files
- http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd returns
  HTTP 302 error and redirects to an html page, not a dtd content
  apparently.
- Clone the dtd files from CLDR release-35-1
  https://raw.githubusercontent.com/unicode-org/cldr/release-35-1/common/dtd/ldml.dtd
2019-07-11 09:19:29 -07:00
yumaoka
33080a9072 ICU-20692 tzdata2019b update 2019-07-08 08:42:47 +09:00
Andy Heninger
fa240d49cc ICU-13637 Break Iterator Rule Updates for Indic Grapheme Clusters. 2019-06-27 17:17:26 -07:00
Andy Heninger
5c23416308 ICU-13637 Documentation for doing break iterator updates. 2019-06-21 10:31:40 -07:00
Andy Heninger
84d56bc91b ICU-20404 Simplify word break rules. 2019-06-18 14:14:22 -07:00
Shane Carr
2fa4c4d502 ICU-20660 Add usePoolBundle option to filters.json. 2019-06-17 19:54:28 -07:00
Jeff Genovy
d72aa91429 ICU-20658 Fix broken Data Filtering on Windows builds. 2019-06-07 10:43:29 -07:00
Shane Carr
fc11a7a8cb ICU-20627 Adding alias locales to new structure in res_index. 2019-06-06 15:58:06 -07:00
Shane Carr
46c86b47cc ICU-20629 Fixing DTPG hour-format locale and region fallback logic.
Includes changes in C and J.  Makes region.cpp no longer depend on DecimalFormat.  See also: CLDR-13071, ICU-20640, ICU-9982.
2019-05-29 16:37:40 -07:00
Shane F. Carr
06114c5108 ICU-20593 Consuming ignore_xml_deprecates option in BUILDRULES.py.
The option was added in b603285, but the option was not being used.
2019-05-08 13:58:53 -07:00
Shane Carr
702fdb6c33 ICU-20593 Renaming Python buildtool to icutools.databuilder. 2019-05-07 13:42:06 -07:00
Shane F. Carr
9704216ef7 ICU-20529 Generate res_index on partial resource trees. 2019-05-06 16:04:36 -07:00
Shane Carr
4b04d703ab ICU-20593 Buildtool: Implementing new "additive" mode. 2019-05-06 15:48:14 -07:00
Shane Carr
b603285082 ICU-20593 Buildtool: adding some options and improving exec mode. 2019-05-06 15:37:25 -07:00
Shane Carr
5a4d26a900 ICU-20511 Merge tag 'release-64-2-rc' into 64-merge-branch
- Rebuilds jar files to resolve merge conflict
2019-04-11 15:29:44 -07:00
yumaoka
cc8946607a ICU-20515 Merging tz2019a changes. 2019-04-11 00:45:43 -04:00
Peter Edberg
c4eef82761 ICU-20515 64.2 BRS, integrate CLDR release-35-1-alpha 2019-04-05 15:59:29 -07:00
Steven R. Loomis
b76cb6517e ICU-20526 fix pkgdata where LD_SONAME has a trailing space
- added PKGDATA_TRAILING_SPACE to all of the pkgdataMakefile.in file.
- NOTE: Users who create their own pkgdata.inc / icupkg.inc files may need
   to recreate this PKGDATA_TRAILING_SPACE behavior.

- used the above variable, normally undefined, in mh-* files that need a trailing space

- Also, fixed use of system() in pkgdata.cpp per ICU-20538
This was causing pkgdata to return a zero status even on clang
failure, masking this issue.

(cherry picked from commit 83a0542b5b)
2019-04-05 10:53:59 -07:00
Markus Scherer
0565894534 ICU-20497 Unicode 12.1 2019-04-04 10:23:24 -07:00
Steven R. Loomis
83a0542b5b ICU-20526 fix pkgdata where LD_SONAME has a trailing space
- added PKGDATA_TRAILING_SPACE to all of the pkgdataMakefile.in file.
- NOTE: Users who create their own pkgdata.inc / icupkg.inc files may need
   to recreate this PKGDATA_TRAILING_SPACE behavior.

- used the above variable, normally undefined, in mh-* files that need a trailing space

- Also, fixed use of system() in pkgdata.cpp per ICU-20538
This was causing pkgdata to return a zero status even on clang
failure, masking this issue.
2019-04-03 16:43:42 -07:00
yumaoka
163793824f ICU-20535 Added Japanese new era Reiwa to cjdict.txt to support the sequence in word segmentation. 2019-04-03 18:46:12 -04:00
Daniel Ju
d56461f8f0 ICU-20515 Update version numbers, regenerate JARs, regenerate configure 2019-04-03 14:56:46 -07:00
yumaoka
4aef276b16 ICU-20522 tzdata2019a updates 2019-04-02 11:36:39 -04:00
Jeff Genovy
71ee05ed17 ICU-13456 Build Clean in VS doesn't fully clean everything that it should 2019-03-27 14:16:22 -07:00
Markus Scherer
61c4a728cd ICU-20467 replace the LocaleMatcher implementation, load data from new bundle
- remove the old LocaleMatcher implementation code
- move the XLocaleMatcher code into LocaleMatcher, same for test
- remove unused internal methods
- stop comparing old vs. new performance
- generate langInfo.txt resource bundle file with precomputed likely-subtags and matcher data
- make genrb handle multi-line binary values
- load likely-subtags & distance data from new langInfo.res bundle
- test that built data == loaded data
- move data builders to tools, no more runtime dependency on builder code
2019-03-26 13:27:42 -07:00
Shane Carr
e57c45c5c6 ICU-20473 Moving collation ucadata option to filter file. 2019-03-20 17:44:48 -07:00
yumaoka
15cb156e56 ICU-20439 Updated currency numeric code for YUD to 890. 2019-03-20 19:02:17 -04:00
Daniel Ju
b056b7642a ICU-20439 BRS64GA Update version number and regenerate JAR files 2019-03-19 17:15:10 -07:00
Shane Carr
a5914e1916 ICU-20439 Updating ICU data from CLDR tag release-35-beta2. 2019-03-19 14:32:57 -07:00
Peter Edberg
0ac7104f0a ICU-20439 update config files and instructions for CLDR release-35-beta integration 2019-03-18 21:43:06 -07:00
Shane Carr
56ffae8a0b ICU-20489 Removing resfiles.mk files.
Builds res_index.txt based on directory glob minus aliases read from deprecates XML file.

In ICU 64, please use the ICU Data Build Tool instead of reslocal.mk for locale filtering.
2019-03-14 01:51:52 -07:00
Peter Edberg
84e392e426 ICU-20439 64 BRS, integrate CLDR release-35-alpha4 2019-03-13 09:12:40 -07:00
Markus Scherer
98589d9cc7 ICU-20203 Unicode 12 final data (only trivial changes) 2019-03-13 08:57:05 -07:00
Shane F. Carr
acca4e15a2 ICU-20439 Updating cldr-icu-readme.txt to reflect changes in eac8f4b. 2019-03-13 01:30:29 -07:00
Steven R. Loomis
3a28fb7216 ICU-20479 don’t leave junk in source directory on configure or make check
- see also ICU-20062
- add a `-B` option to the two python invocations on Windows
- set PYTHONDONTWRITEBYTECODE in configure.ac and icudefs.mk.in

Co-authored-by: Fredrik Roubert <roubert@google.com>
2019-03-08 14:28:27 -08:00
Shane Carr
852b63dd9f ICU-20472 Moving index res file request to tree category.
- Includes other minor cleanup of buildtool.
2019-03-07 20:46:13 -08:00
Steven R. Loomis
67d218f247 ICU-20470 skip data/rules.mk regen for source tarball
- If icu/source/data/locales/root.txt missing, skip
  python rules.mk generation.
- Also, create build directories properly as needed
- Also includes noise changes to configure
  (configure was probably generated using unreleased
   autoconf 2.70 or 2.69 + patches)
- eac8f4b31a did not
  regen configure properly, so BUILDTOOL_OPTS is now
  ICU_DATA_BUILDTOOL_OPTS
2019-03-04 07:40:40 -08:00
Shane Carr
eac8f4b31a ICU-20460 Adding mechanism to build unicore data into dat file. 2019-02-27 18:36:02 -08:00
Shane Carr
60f4e1ba83 ICU-10923 Fixing dependency graph and filter logic for collation.
- Fixes filterrb.cpp to check for wildcard when at a leaf.
- Adds additional verbose logging to genrb.
- Fixes filtration to add deps to dep_targets instead of dep_files.
- Separates dep_files to common_dep_files and specific_dep_files.
2019-02-26 20:54:04 -06:00
Peter Edberg
30d2034597 ICU-20438 64rc BRS, integrate CLDR alpha2, update MeasureUnit APIs [& resolve conflicts] (#485) 2019-02-24 22:28:51 -08:00
Jeff Genovy
84da7ec0fa ICU-20438 BRS64RC Update ICU4C version numbers 2019-02-22 11:26:41 -08:00
Peter Edberg
2c1fcb0a96 ICU-20408 Integrate jpanyear support and related "ja" format changes [& resolve conflicts] (#465) 2019-02-21 11:52:33 -08:00
Peter Edberg
ff4cdc0f8b ICU-20252 Update icu-config with more CLDR locales 2019-02-21 11:12:17 -08:00
yumaoka
4711383bd8 ICU-20398 Updated tzdata build script to use the rearguard data. Deleted local override that used to simulate rearguard version from icuzones. 2019-02-21 13:27:37 -05:00
Shane F. Carr
8db0321f54 ICU-10923 Adding file replacement mechanism to buildtool. 2019-02-20 12:20:25 -06:00