Commit Graph

277 Commits

Author SHA1 Message Date
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
c5ad4664f9 ICU-20768 Remove fixed DLL base addresses when building Windows DLLs.
Remove redundant FixedBaseAddress entries from the vcxproj files.
Make the pkgdata -b option a no-op, and output a message to the user.
2019-08-20 15:37:15 -07:00
Andy Heninger
5f837abd40 ICU-13533 Fix address sanitizer failures found with no-data ICU testing. 2019-08-19 13:29:32 -07:00
Andy Heninger
afa9b9b48e ICU-20588 UMutex, add cleanup of underlying mutexes, and simplify usage model 2019-05-24 13:24:59 -07:00
Alon Bar-Lev
a5bbd505d7 ICU-20578 headers: guard all C++ headers using U_SHOW_CPLUSPLUS_API
support including all files in C

cleanup and simplify the test/hdrtest

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2019-05-14 17:18:06 -07:00
Andy Heninger
b772241b52 ICU-20520 UMutex refactoring.
- Use STATIC_NEW for mutex creation, to avoid order-of-destruction problems
    by avoiding destruction altogether, while avoiding memory leak reports.

  - Remove UConditionVar, replace with direct use of std::condition_variable
2019-05-07 13:50:49 -07:00
Andy Heninger
bc4bb89af2 ICU-20488 mutex static constructor fixes.
Remove the dependencies from the ICU library code on static constructors
that were introduced by using std::mutex and condition variables. The
mutexes are lazily initialized by embedding them as local static variables
in getter functions, and relying on the C++ compiler/runtime to do thread
safe initialization of them.
2019-03-12 09:52:16 -07:00
Jeff Genovy
84da7ec0fa ICU-20438 BRS64RC Update ICU4C version numbers 2019-02-22 11:26:41 -08:00
Jeff Genovy
33d7868d45 ICU-20351 Warning cleanup changes for ICU4C under MSVC. 2019-01-16 16:43:02 -08:00
Andy Heninger
47d455a725 ICU-20179 Remove platform-specific mutex and atomics implementations.
Remove all POSIX and Win32 specific mutex, atomic and threading implementations
in favor of C++11 std library functions.

Move the related (internal) ICU types and functions into the icu namespace.
2018-11-19 17:17:09 -08:00
Jeff Genovy
9a5b7af83d ICU-13180 Support skiping building the UWP projects with a command line MSBuild option. 2018-11-06 16:02:03 -08:00
Jeff Genovy
c3f576710b
ICU-20119 BRS63rc Update version number for ICU4C and ICU4J. Update readme files. (#144)
BRS: Update version number for ICU 63 RC for ICU4J and ICU4C, also update readme files.
2018-09-27 14:27:41 -07:00
Jeff Genovy
14b35e4fbf
ICU-20147 Fix MSVC warning C4251, and fix a few other warnings too. (#134) 2018-09-27 14:27:41 -07:00
Jeff Genovy
c8e4c81d4e
ICU-20076 MSVC Warning clean up. Define _HAS_EXCEPTIONS=0 in ICU library code (#128)
In an effort to reduce the number of warnings that building ICU emits, we should set the following define for ICU4C library code when building using MSVC/VisualStudio: _HAS_EXCEPTIONS=0
This tells the MSVC implementation of the STL that exceptions should not be used - which is fine for ICU4C library code, as the library code does not make use of exceptions at all.
2018-09-27 14:27:41 -07:00
Andy Heninger
278b9cb735
ICU-20079 integer overflow & divide by zero sanitizer fixes. (#67) 2018-09-27 14:27:38 -07:00
Jeff Genovy
f23cbfa975 ICU-13667 Update ICU4C version number for 62.1 release candidate.
X-SVN-Rev: 41463
2018-05-25 21:29:10 +00:00
Shane Carr
cb34c90168 ICU-13737 Backpedaling on strict mode scientific parsing behavior change (do NOT require an exponent when parsing).
X-SVN-Rev: 41378
2018-05-15 21:14:09 +00:00
Shane Carr
6a2bc42216 ICU-13634 Strict mode on scientific formatter requires exponents; changing scanf in iotest to use lenient mode instead.
X-SVN-Rev: 41241
2018-04-18 09:02:12 +00:00
Jeff Genovy
bb915931d0 ICU-13586 No actual code changes. This change cleans up redundancies in the VS project files, and pulls in common or shared settings from a shared 'props' file. This means that you can now change one single file to target either VS2015 or VS2017, instead of needing to change many files. It also allows the VS project files to share common defines as well, meaning that if you need to target something other than Windows 7, you can make one change in one file, instead of needing to make hundreds. Also included in this change are improvements to the VS Solution files in order to properly denote the dependencies of the projects, which might be needed in the future for possible parallel project builds.
X-SVN-Rev: 41049
2018-03-02 03:20:22 +00:00
Jeff Genovy
9b21c4d010 ICU-13473 Add a new target to the VS project files called CopyUnicodeHeaderFiles, which will copy all of the project header files to the common output location. This is much cleaner and far less error prone than having each header file manually listed in the VS project file. Merge to trunk.
X-SVN-Rev: 40969
2018-02-22 02:59:34 +00:00
Jeff Genovy
e98aab020c ICU-13581 Update ICU4C version number for 61.1 rc.
X-SVN-Rev: 40945
2018-02-17 01:09:03 +00:00
Jeff Genovy
07d9b3b567 ICU-13171 Enable multi-processor compilation (/MP) for faster builds.
X-SVN-Rev: 40937
2018-02-16 07:21:34 +00:00
Jeff Genovy
9f62b0dada ICU-13171 Update the VS project files to use VS 2017, plus various fixes to get Samples compiling.
Also add explicit defines for WINVER and _WIN32_WINNT for Windows 7 targeting in non-UWP projects.

X-SVN-Rev: 40935
2018-02-16 03:16:03 +00:00
Peter Edberg
7604adc4b3 ICU-13352 Fix ordering of limit test and array ref in ufmt_utop
X-SVN-Rev: 40602
2017-10-09 06:57:17 +00:00
Jeff Genovy
ade067638e ICU-13164 Fixes for compilation and test errors when building for Windows/MinGW.
X-SVN-Rev: 40203
2017-06-23 23:28:11 +00:00
Yoshito Umaoka
694142470e ICU-13159 Updating ICU version in trunk to 60.0.1 (60m1) - merging changes from my work branch.
X-SVN-Rev: 40145
2017-05-31 16:50:38 +00:00
Jeff Genovy
a709ddc0f2 ICU-13169 Issues retargeting VS project files due to missing WindowsTargetPlatformVersion elements. (tab to spaces)
X-SVN-Rev: 40099
2017-05-03 00:40:08 +00:00
Jeff Genovy
cb53fe41cd ICU-13169 Issues retargeting VS project files due to missing WindowsTargetPlatformVersion elements.
X-SVN-Rev: 40098
2017-05-03 00:28:11 +00:00
Andy Heninger
ff5e1bfd6b ICU-13103 drop old versions of U_IOSTREAM_SOURCE and __GNUC__
X-SVN-Rev: 40080
2017-04-26 21:56:37 +00:00
Norbert Runge
3d996441e7 ICU-13048 fixes to make internal header test pass.
X-SVN-Rev: 39853
2017-03-17 21:42:57 +00:00
Steven R. Loomis
4890638e08 ICU-12766 wip escaping for utf-8 input
* create a new escaper tool - needs to be invoked in mh- files
* escapes to temporary _whatever.cpp files
* does NOT handle multi line u"xxx" (or u'xxx'? )
* does not cleanup _*.cpp files
* fixup a bunch of Makefiles to add -I$(srcdir) (doesn't hurt anyway)

X-SVN-Rev: 39787
2017-03-13 23:19:33 +00:00
Andy Heninger
a1cb685865 ICU-12993 undef __STRICT_ANSI__ on some platforms.
X-SVN-Rev: 39692
2017-02-19 21:58:30 +00:00
Andy Heninger
04448b004f ICU-12764 UTF-8 source files, update file encoding comments.
X-SVN-Rev: 39641
2017-02-03 18:57:23 +00:00
Andy Heninger
242e02c388 ICU-12764 icu4c utf-8 source files, update Copyright notices.
X-SVN-Rev: 39583
2017-01-20 00:20:31 +00:00
Andy Heninger
f28895cccc ICU-12943 Windows Build Fixes for UChar=char16_t and utf-8 source files.
X-SVN-Rev: 39581
2017-01-19 18:12:50 +00:00
Peter Edberg
a238722264 ICU-12895 update release version to 59.0.1 for m1
X-SVN-Rev: 39562
2017-01-16 00:42:22 +00:00
Andy Heninger
0fd5600285 ICU-12809 only .cpp files no .c in ICU library code
X-SVN-Rev: 39527
2016-12-07 21:14:27 +00:00
Steven R. Loomis
725a6726d7 ICU-12023 merge from http://bugs.icu-project.org/trac/attachment/ticket/12023/libcxx_typeinfo.diff - CLA confirmed as @jbeich
X-SVN-Rev: 39507
2016-11-15 21:02:48 +00:00
Steven R. Loomis
6825277072 ICU-12752 commit some IBM z fixes. Library code building
X-SVN-Rev: 39368
2016-09-27 23:39:01 +00:00
Steven R. Loomis
3a8a02cae1 ICU-11746 more warning cleanup
X-SVN-Rev: 39296
2016-09-20 21:03:19 +00:00
Markus Scherer
7960164327 ICU-12663 UnicodeString support nearly 2G UChars & avoid integer overflows; string-to-string case mappings & detect integer overflows; make some calls to uprv_memcpy() and similar a little more robust by casting int32_t to size_t before multiplying
X-SVN-Rev: 39288
2016-09-20 01:10:36 +00:00
Shawn Steele
326552aa72 ICU-12087 - merge updates to use VS2015
X-SVN-Rev: 39085
2016-08-24 20:52:23 +00:00
Michael Ow
61607c2773 ICU-12564 Update copyright notice in trunk
X-SVN-Rev: 38848
2016-06-15 18:58:17 +00:00
Yoshito Umaoka
00ca13e126 ICU-12564 Reverted r38761 and r38762, because we want to prepend the Unicode copyright for existing source files, instead of replacing copyright comments.
X-SVN-Rev: 38776
2016-05-31 21:45:07 +00:00
Michael Ow
c9f199a30f ICU-12564 Update copyright notice in ICU4C
X-SVN-Rev: 38761
2016-05-26 22:32:17 +00:00
Michael Ow
d63a77bca4 ICU-12455 Update version number to 58.0.1 in ICU4C
X-SVN-Rev: 38711
2016-05-06 20:53:07 +00:00
Markus Scherer
a9c247a3cb ICU-12166 annotate intended switch case fallthroughs
X-SVN-Rev: 38447
2016-03-01 07:44:57 +00:00
Fredrik Roubert
ebc0f5b22a ICU-12012 Replace all sizeof p / sizeof T with UPRV_LENGTHOF().
R=markus.icu@gmail.com

Review URL: https://codereview.appspot.com/288320043 .

X-SVN-Rev: 38347
2016-02-24 21:48:56 +00:00
Fredrik Roubert
7f4b8d106b ICU-12012 Replace all sizeof p / sizeof *p with UPRV_LENGTHOF().
R=markus.icu@gmail.com

Review URL: https://codereview.appspot.com/285520043 .

X-SVN-Rev: 38337
2016-02-23 10:40:09 +00:00
Michael Ow
714973b396 ICU-12083 Update version number to 57m1 in ICU4C
X-SVN-Rev: 38186
2016-01-21 20:04:00 +00:00