Lines Matching +full:build +full:- +full:common
1 ---
7 ---
9 <!--
12 -->
18 {: .no_toc .text-delta }
23 ---
34 virtual-function override without adding new ClassID support.
44 …[icu/icu4c/APIChangeReport.html](https://github.com/unicode-org/icu/blob/main/icu4c/APIChangeRepor…
45 * ~~The automated build system creates a new report:
46 <https://cldr-build.unicode.org/jenkins/job/icu/job/icu-apidocs/>~~
48 * Old: was http://bugs.icu-project.org/trac/build/icu4cdocs
49 * Go into the latest successful build, the report is an attachment there.
51 https://github.com/unicode-org/icu/blob/main/icu4c/icu4c.css
53 ---
55 ## ~~Check for non-ascii characters in ICU4C source files \[obsolete\]~~
57 ~~Note: ICU4C and ICU4J source files are UTF-8. The ASCII check is no longer
62 find . \( -name "*.[ch]" -or -name "*.cpp" \) -exec grep -PHn [^[:ascii:]] {} \;
65 ---
67 ## Check source files for valid UTF-8 and correct text file line endings
72 To do this on Linux, In an up-to-date git workspace,
76 tools/icu-file-utf8-check.py # reports problems
83 ../icu4c/source/tools/icu-file-utf8-check.py
86 To double-check the line endings, the following grep will find all text files
92 grep -rPIl "\r" *
98 ## ~~Check UTF-8 file properties \[obsolete\]~~
103 <span style="color:red">**Note: As of ICU 59, ICU4C source files are UTF-8
104 encoded, and have the svn mime-type property "text/plain;charset=utf-8". They
107 This is checked by the above task, *Check svn properties, valid UTF-8 and text
114 .java source files are encoded by UTF-8, but must be without UTF-8
117 ~~Check that the following match: Files marked as UTF-8 vs. Files beginning with
118 the UTF-8 signature byte sequence ("BOM").~~
125 ---
131 \[Source\] - \[Organize Imports\] which resolve all wildcard imports and sort
136 ---
140 ***ICU 64+ (2019+): Done automatically by a build bot, at least in one of the
147 [source/test/depstest/depstest.py](https://github.com/unicode-org/icu/blob/main/icu4c/source/test/d…
153 Do this twice: Once for a release build (optimized) and once for a debug build
172 then the plug-in code is disabled, as is the default since ICU 56. Consider
180 flags. Also, in an unoptimized build you only get half as many info messages.
181 You get more in an optimized build because more system stuff gets inlined.
191 default-conversion constructor. We do not want that! In most cases, such code
197 ---
201 Verify the following for library code (common, i18n, layout, ustdio). The
203 cmemory.h and the common base class.
209 * All C++ classes must inherit the common base class UObject or UMemory
211 constructors) because that would break the single-inheritance model.
212 * Also not for pure-static classes (used for name scoping) declare but
214 * Simple struct-like C++ classes (and structs) that do not have
233 * Check the \*.obj's for linkage to the global (non-UObject::)
236 imported and used by empty-virtual destructors in interface/mixin
240 * There are now (2002-dec-17) definitions in `utypes.h` for global
250 ---
259 Build ICU with debug information. On Linux,
262 runConfigureICU --enable-debug --disable-release Linux
275 ---
282 ---
290 (on Unixes) Prerequisite: Configure with --prefix
291 (../icu4c/source/runConfigureICU Linux --prefix=/some/temp/folder) and do 'make
292 install'. Then set the PATH so that the installed icu-config script can be
312 caught in the CI builds for a pull-request before it is merged.
325 folder, not on the top level), no need to build nor install.
337 See https://unicode-org.atlassian.net/browse/ICU-12141 "every header file should
343 ---
352 exception regarding [UCONFIG_NO_CONVERSION test](healthy-code.md) below.
355 [common/unicode/uconfig.h](https://github.com/unicode-org/icu/blob/main/icu4c/source/common/unicode…
360 [tools/release/c/uconfigtest.sh](https://github.com/unicode-org/icu/blob/main/tools/release/c/uconf…
363 <span style="background-color:yellow">When guard conditionals (e.g. #ifndef
366 that location, or they will lkeiely be re-added in the future.
368 ---
376 ./runConfigureICU Linux CXXFLAGS="-DU_USING_ICU_NAMESPACE=0"
388 The automated build system should have a machine that sets both
389 `-DU_USING_ICU_NAMESPACE=0` and `-DU_CHARSET_IS_UTF8=1`.
391 ---
395 Make sure that the ICU4C common and i18n libraries build with
401 by changing the value of UCONFIG_NO_CONVERSION to 1, and do "make -j 6" (not
402 "make check" or "make tests"). Verify that the stubdata, common & i18n libraries
403 build fine; layout should build too but toolutil will fail, that's expected.
405 Fix any stubdata/common/i18n issues, revert the UCONFIG_NO_CONVERSION value, and
411 ---
415 Verify that ICU builds with default charset hardcoded to UTF-8. To test on
419 ./runConfigureICU Linux CPPFLAGS="-DU_CHARSET_IS_UTF8=1"
420 make -j6 check
430 This works best on a machine that is set to use UTF-8 as its system charset,
433 The automated build system should have a machine that sets both
434 `-DU_USING_ICU_NAMESPACE=0` and `-DU_CHARSET_IS_UTF8=1`.
436 ---
441 show as build failures.
444 CPPFLAGS="-DU_OVERRIDE_CXX_ALLOCATION=0" ./runConfigureICU Linux
446 make -j12 check
454 [ICU-9010](https://unicode-org.atlassian.net/browse/ICU-9010)).
455 * It is still possible to build and test intltest with ICU_USE_THREADS=0 but
457 * In ICU 50m1, the `--disable-threads` configure option is gone. If you want
464 ./runConfigureICU Linux --disable-threads
468 ---
472 ### Windows build and test
473 To build the ICU4C samples on Windows with Visual Studio, use the following
478 * Build the Debug/Release + x86/x64 configurations (all 4 configurations).
482 * Build both x86 and x64 using the "Batch Build" option. This is located under
483 the menu Build > Batch Build.
485 * Click the "Build" button.
486 * If Visual Studio returns errors using the Batch Build option, build each
488 * The samples should all build cleanly with no errors.
493 ### Linux /Unix build and test
494 To build and test ICU4C samples:
497 * Build and install ICU4C.
506 make clean-samples-recursive
508 make all-samples-recursive
510 make check-samples-recursive
517 See <https://github.com/unicode-org/icu-demos/blob/main/icu-kube/README.md>
519 ---
523 See: <https://github.com/unicode-org/icu-demos/blob/main/icu4jweb/README.md>
525 ---
531 To test ICU4J demo applications, cd to ICU4J directory and build and run the
537 $ java -jar icu4jdemos.jar
541 X-Server. The easiest way is to run via e.g. remote desktop on the machine on
547 To check ICU4J samples, open Eclipse workspace and import icu4j-samples project
548 from directory <icu4j_root>/samples. Make sure these sample code has no build
551 ---
561 For ICU4C, testing with an optimized build will help reduce the elapsed time
565 $ make -j6 check-exhaustive
568 ---
572 The build bots run the thread sanitizer on the most interesting multithreaded
577 $ CPPFLAGS=-fsanitize=thread LDFLAGS=-fsanitize=thread ./runConfigureICU --enable-debug --disable-r…
579 $ make -j6 check