]> granicus.if.org Git - icu/commit
ICU-20712 Add support for building Windows UWP ARM/ARM64 data DLLs.
authorJeff Genovy <29107334+jefgen@users.noreply.github.com>
Fri, 19 Jul 2019 20:54:02 +0000 (13:54 -0700)
committerJeff Genovy <29107334+jefgen@users.noreply.github.com>
Wed, 14 Aug 2019 00:03:33 +0000 (17:03 -0700)
commitd1293c50cbef31156f3d28f16cc67264389fd8fc
tree27d1c118d2d6990df1cafe7fbc24bdfd9e150a6c
parent2390ce569e465f46833dc37b55949f792d28906a
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
.gitignore
icu4c/source/allinone/allinone.sln
icu4c/source/common/common.vcxproj
icu4c/source/common/common_uwp.vcxproj
icu4c/source/common/putil.cpp
icu4c/source/common/udata.cpp
icu4c/source/data/makedata.mak
icu4c/source/data/makedata_uwp.vcxproj
icu4c/source/stubdata/stubdata.vcxproj
icu4c/source/tools/pkgdata/pkgdata.cpp