summaryrefslogtreecommitdiffstats
path: root/intl/icu/source/data/icu4j-readme.txt
blob: 8d087c16c7c41a029a6d3fb0ff8b516c562df2bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
* 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 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