blob: 6a38bd62c178e6f83c9e2aca9077dc3c2b84b70e [file] [log] [blame]
* 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/master/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 main target of the
ICU4J ant build to unpack the jar files with the following commands:
cd $icu4j_root
ant main
Run the tests locally and make sure they pass:
ant check