* Copyright (C) 2016 and later: Unicode, Inc. and others. * License & terms of use: http://www.unicode.org/copyright.html ******************************************************************************** * Copyright (C) 2008-2012, International Business Machines Corporation * * and others. All Rights Reserved. * * * * 6/26/08 - Created by Brian Rower - heavy copying from ICU4J readme & others * * * ******************************************************************************** Procedures for building ICU4J data from ICU4C data: *Setup* In the following, $icu4c_root is the ICU4C root directory $icu4j_root is the ICU4J root directory $jdk_bin is the JDK bin directory (for the jar tool) 1. *Linux* Download, configure, and build ICU4C. When you configure ICU4C, you must set the environment variable ICU_DATA_BUILDTOOL_OPTS to "--include_uni_core_data" to build additional required ICU4J data: ICU_DATA_BUILDTOOL_OPTS=--include_uni_core_data ./runConfigureICU Linux *Windows* - Add ICU_DATA_BUILDTOOL_OPTS as a system environment variable with value "--include_uni_core_data" - Build $icu4c_root\source\allinone\allinone.sln in Visual Studio For more instructions on downloading and building ICU4C, see the ICU4C readme at: https://htmlpreview.github.io/?https://github.com/unicode-org/icu/blob/main/icu4c/readme.html#HowToBuild (Windows: build as 'x86, Release' otherwise you will have to set 'CFG' differently below.) *NOTE* You should do a full rebuild after any data changes. 1a. If you didn't download from GitHub, you will also need the "icu4c-*-data.zip" file. Unpack this file and replace the icu/source/data directory's contents with the contents of the data directory from the zip file. 2. Step 2 depends on whether you are on a Windows or a Unix-type platform. *Windows* 2a. On Developer Command Prompt for VS, cd to $icu4c_root\source\data. 2b. On Developer Command Prompt for VS, nmake -f makedata.mak ICUMAKE=$icu4c_root\source\data\ CFG=x86\Release JAR="$jdk_bin\jar" ICU4J_ROOT=$icu4j_root icu4j-data-install Continue with step 3 below, in Java: *Linux* $icu4c_build is the ICU4C root build directory, which is $icu4c_root/source in an in-source build. (in other words, $icu4c_build is where you ran runConfigureICU or configure) 2c. On the command line, cd to $icu4c_build/data 2d. Do make JAR=$jdk_bin/jar ICU4J_ROOT=$icu4j_root icu4j-data-install (You can omit the JAR if it's just jar.) Continue with step 3, in Java: Step 2 on either platform will produce two files: icudata.jar and icutzdata.jar in $icu4j_root/main/shared/data. *Java* 3. After the ICU4C-side steps above, build the ICU4J artifacts and run the tests locally to make sure they pass: cd $icu4j_root mvn verify