e897911f83
X-SVN-Rev: 12871 |
||
---|---|---|
.. | ||
patch-icu-tzcode | ||
README.ICU | ||
tz2icu.cpp | ||
tz2icu.h | ||
tz.alias |
********************************************************************** * Copyright (c) 2003, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * Author: Alan Liu * Created: August 18 2003 * Since: ICU 2.8 ********************************************************************** ---------------------------------------------------------------------- OVERVIEW This file describes the tools in icu/source/tools/gentz/tzcode The purpose of these tools is to process the zoneinfo or "Olson" time zone database into a form usable by ICU4C (release 2.8 and later). Unlike earlier releases, ICU4C 2.8 support historical time zone behavior, as well as the full set of Olson compatibility IDs. References: ICU4C: http://oss.software.ibm.com/icu/ Olson: ftp://elsie.nci.nih.gov/pub/ ---------------------------------------------------------------------- ICU4C vs. ICU4J As of release 2.8, the ICU time zone implementations in C and Java have diverged for various reasons. The C implementation is a full implementation, whereas the Java implementation consists of a "present day snapshot". The "present day snapshot" only reflects current time zone behavior, without historical variation. Furthermore, it lacks the full set of Olson compatibility IDs. The "present day snapshot" is implemented in ICU4C <= 2.6 and all releases of ICU4J. There are two sets of ICU tools, located in icu/source/tools/gentz. The first set is in gentz itself, and it used to form the "present day snapshot". The second set of tools (described by this file) is located in gentz/tzcode, and is used only for ICU4C >= 2.8. ---------------------------------------------------------------------- BACKGROUND The zoneinfo or "Olson" time zone package is used by various systems to describe the behavior of time zones. The package consists of several parts. E.g.: Index of ftp://elsie.nci.nih.gov/pub/ classictzcode.tar.gz 65 KB 12/10/1994 12:00:00 AM classictzdata.tar.gz 67 KB 12/10/1994 12:00:00 AM e5+57.tar.gz 2909 KB 3/22/1993 12:00:00 AM iso8601.ps.gz 16 KB 7/27/1996 12:00:00 AM leastsq.xls 49 KB 4/24/1997 12:00:00 AM ltroff.tar.gz 36 KB 7/16/1993 12:00:00 AM pi.shar.gz 4 KB 3/9/1994 12:00:00 AM tzarchive.gz 3412 KB 8/18/2003 4:00:00 AM tzcode2003a.tar.gz 98 KB 3/24/2003 2:32:00 PM tzdata2003a.tar.gz 132 KB 3/24/2003 2:32:00 PM ICU only uses the tzcodeYYYYV.tar.gz and tzdataYYYYV.tar.gz files, where YYYY is the year and V is the version letter ('a'...'z'). ---------------------------------------------------------------------- HOWTO 1. Obtain the current versions of tzcodeYYYYV.tar.gz (aka `tzcode') and tzdataYYYYV.tar.gz (aka `tzdata') from the FTP site given above. Either manually download or use wget: $ cd <path_to>/icu/source/tools/gentz/tzcode $ wget "ftp://elsie.nci.nih.gov/pub/tz*.tar.gz" 2. Unpack tzcode and tzdata directly into the directory gentz/tzcode: $ tar xzvf tzcode*.tar.gz $ tar xzvf tzdata*.tar.gz 3. Apply the ICU patch to zic.c: $ patch < patch-icu-tzcode If patch complains at this point, there is a mismatch that must be manually addressed. See the CVS log of `patch-icu-tzcode' for version details. 4. Build: $ make icu_data 5. Copy the data file to the correct location in the ICU source tree: $ cp zoneinfo.txt ../../../data/misc/ ---------------------------------------------------------------------- eof