Commit graph

417 commits

Author SHA1 Message Date
Oleksandr Hubanov
5f9f8b2053 ICU-22714 fix zos build, use OpenXL
See #3008
2024-09-20 17:12:28 -07:00
StefanStojanovic
66ba09973a ICU-22787 Fix ClangCL compilation on Windows 2024-08-09 10:54:21 +05:30
Carlos Alberto Lopez Perez
8ca6bc7545 ICU-22813 Rise the size of the buffers used for the command strings at pkgdata
The tool pkgdata uses snprintf() to build the strings of the commands that
will execute later during the install process. But the maximum size of this
buffers is not enough when there is a long path.

This has caused issues on some CI systems that use very long paths, causing
the install process to produce a wrong result.

The maximum path on Linux is 4096 (defined as PATH_MAX at <linux/limits.h>)
So the size of SMALL_BUFFER_MAX_SIZE should be 4096 to avoid errors related
to truncated paths.
2024-07-19 18:02:53 +00:00
Fredrik Roubert
0178a07a26 ICU-22793 Clang-Tidy: google-readability-casting
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/readability-casting.html
2024-07-04 22:32:12 +02:00
Frank Tang
1ff249b73f ICU-21589 Remove format-overflow warning
1. double size one stack buffer
2. add pragma to ignore some theorical case because the array are in
   same length but some fields are shorter than the other.

ICU-21589 wrap with defined(__GNUC__)

ICU-21589 avoid clang
2024-05-02 18:23:08 +02:00
Fredrik Roubert
5401c12018 ICU-22621 Clang-Tidy: modernize-use-nullptr
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/use-nullptr.html
2024-03-15 14:31:54 +01:00
Fredrik Roubert
6fa113eaa8 ICU-22651 Refactor U_DEFINE_LOCAL_OPEN_POINTER into a template. 2024-02-05 14:15:15 +01:00
Mihai Nita
47b9a517be ICU-21107 Specify language standard versions C11 & C++17 also for MSVC
ICU-21107 Specify language standard versions C11 & C++17 also for MSVC
2024-01-17 09:26:22 -08:00
Fredrik Roubert
078b88a11a ICU-21107 Specify language standard versions C11 & C++17 also for MSVC.
There were until now no versions specified at all, relying on the
default (or commandline overrides) to be sufficiently recent.
2024-01-16 22:22:05 +09:00
Fredrik Roubert
2e0d30cfcf ICU-21833 Replace NULL with nullptr in all C++ code. 2023-02-03 20:20:38 +01:00
Frank Tang
de0a28644b ICU-22251 Move sprintf to snprintf.
See #2291
2023-01-25 23:23:29 -08:00
L. E. Segovia
ba8e4087ca ICU-22203 Windows: enable C-code generation with overridden entry point 2022-12-02 11:45:09 -08:00
Fredrik Roubert
030fa1a479 ICU-21148 Consistently use standard lowercase true/false everywhere.
This is the normal standard way in C, C++ as well as Java and there's no
longer any reason for ICU to be different. The various internal macros
providing custom boolean constants can all be deleted and code as well
as documentation can be updated to use lowercase true/false everywhere.
2022-09-07 20:56:33 +02:00
Erik Torres
3f043c7693 ICU-21555 Fix typos from G to L
See #1737
2021-06-07 16:09:09 -07:00
Erik Torres
cfefa03539 ICU-21555 fix typos for D, E and F found in the repo
See #1714
2021-05-10 11:09:05 -07:00
Markus Scherer
c3fe7e09d8 ICU-21267 stop defining & using FALSE & TRUE macros in public headers
See #1282
2020-09-09 15:13:56 -07:00
Jeff Genovy
341608f7b6 ICU-21108 Update to use/support VS2019, and add extra CI builds for VS2017 and VS2019.
Change to use the Windows 10 SDK for Win32 (Win7) builds on the VS2019 ADO images.
The Windows 10 SDK is backwards compatible to Windows 7, if WINVER and
_WIN32_WINNT are set before compiling.

Clean up the vcxproj files from VC7.1
2020-09-02 13:01:27 -07:00
Stephan Szabo
b6eb747550 ICU-10879 Split out OBJECTS from Makefiles into separate files 2020-05-20 11:37:05 -07:00
Shane F. Carr
3b0772fff9 ICU-21015 Fixing gcc compiler warnings 2020-04-03 01:56:07 -05:00
Egor Pugin
76f190024d ICU-20938 Add --skip-dll-export option to genccode to prevent exporting statically linked ICU data from executables. 2020-01-23 12:00:29 -08:00
Hugh McMaster
5aae52d3ef ICU-20924 Use pkg-config to generate the path to pkgdata.inc 2020-01-07 14:19:02 -08:00
Jeff Genovy
727505bdda ICU-20850 Use LocalMemory for cmd to prevent use after free 2019-10-15 12:52:13 -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
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
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
bbf8c10e0d ICU-20716 Fixing some buffer overruns in genccode 2019-07-19 17:17:16 -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
Jeff Genovy
33d7868d45 ICU-20351 Warning cleanup changes for ICU4C under MSVC. 2019-01-16 16:43:02 -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
14b35e4fbf
ICU-20147 Fix MSVC warning C4251, and fix a few other warnings too. (#134) 2018-09-27 14:27:41 -07:00
sav-ix
511aafb0d9
ICU-13138 fix ICU data binary naming for builds with Static layout (#44)
* ICU-13138 do not create symlink to Static ICU Data binary

For builds using mingw-w64 and MSVC with Static layout,
ICU installation folder contains '.dll' file, which is
a symbolic link to '.a' or '.lib' Data binary.

This have no sense anyway, since it can't be used as
binary with shared layout.

* ICU-13138 mingw: add lib prefix to Static Data binary name

For builds using mingw-w64 with Static layout, missing 'lib'
prefix in ICU Data binary name leads to Stubdata binary use
during ICU extras, samples and tests build. ICU Stubdata
binary also substitutes Data in installation directory.

The above leads to runtime errors of ICU tools, tests and
ICU-based software.

Thus need to add 'lib' prefix to ICU Data binary name during
Pkgdata run.

Task-number: ICU-13138
Task-number: ICU-13187
2018-09-27 14:27:38 -07: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
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
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
Jeff Genovy
e9946ec98e ICU-13027 - Merge in changes from 'branches/shawnste/working/icu4c'
X-SVN-Rev: 39890
2017-03-21 01:03:49 +00:00
Andy Heninger
a0c9b06810 ICU-13049 svn properties updated to match auto-props values.
X-SVN-Rev: 39852
2017-03-17 21:19:03 +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
Markus Scherer
a32c1b17ec ICU-12736 assume in some places that we always have std::string; merge r39687 & r39704 from dev branch
X-SVN-Rev: 39731
2017-03-04 00:06:17 +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
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
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
84b42ae4d1 ICU-12564 Update copyright notice in more files of ICU4C
X-SVN-Rev: 38762
2016-05-27 22:09:25 +00:00
Michael Ow
c9f199a30f ICU-12564 Update copyright notice in ICU4C
X-SVN-Rev: 38761
2016-05-26 22:32:17 +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
Markus Scherer
2769a64643 ICU-11863 pkgdata.cpp define & use LocalPipeFilePointer (auto pointer) for popen/pclose
X-SVN-Rev: 37921
2015-09-09 18:47:00 +00:00
Michael Ow
7647eff8f5 ICU-11744 Ensure that array is initialized correctly
X-SVN-Rev: 37700
2015-07-28 17:29:43 +00:00