michael@0: ********************************************************************** michael@0: * Copyright (c) 2003-2007, International Business Machines michael@0: * Corporation and others. All Rights Reserved. michael@0: ********************************************************************** michael@0: * Author: Alan Liu michael@0: * Created: August 18 2003 michael@0: * Since: ICU 2.8 michael@0: ********************************************************************** michael@0: michael@0: Note: this directory currently contains tzcode as of tzcode2006h.tar.gz michael@0: with localtime.c patches from tzcode2006i.tar.gz michael@0: michael@0: michael@0: ---------------------------------------------------------------------- michael@0: OVERVIEW michael@0: michael@0: This file describes the tools in icu/source/tools/tzcode michael@0: michael@0: The purpose of these tools is to process the zoneinfo or "Olson" time michael@0: zone database into a form usable by ICU4C (release 2.8 and later). michael@0: Unlike earlier releases, ICU4C 2.8 supports historical time zone michael@0: behavior, as well as the full set of Olson compatibility IDs. michael@0: michael@0: References: michael@0: michael@0: ICU4C: http://www.icu-project.org/ michael@0: Olson: ftp://elsie.nci.nih.gov/pub/ michael@0: michael@0: ---------------------------------------------------------------------- michael@0: ICU4C vs. ICU4J michael@0: michael@0: For ICU releases >= 2.8, both ICU4C and ICU4J implement full michael@0: historical time zones, based on Olson data. The implementations in C michael@0: and Java are somewhat different. The C implementation is a michael@0: self-contained implementation, whereas ICU4J uses the underlying JDK michael@0: 1.3 or 1.4 time zone implementation. michael@0: michael@0: Older versions of ICU (C and Java <= 2.6) implement a "present day michael@0: snapshot". This only reflects current time zone behavior, without michael@0: historical variation. Furthermore, it lacks the full set of Olson michael@0: compatibility IDs. michael@0: michael@0: ---------------------------------------------------------------------- michael@0: BACKGROUND michael@0: michael@0: The zoneinfo or "Olson" time zone package is used by various systems michael@0: to describe the behavior of time zones. The package consists of michael@0: several parts. E.g.: michael@0: michael@0: Index of ftp://elsie.nci.nih.gov/pub/ michael@0: michael@0: classictzcode.tar.gz 65 KB 12/10/1994 12:00:00 AM michael@0: classictzdata.tar.gz 67 KB 12/10/1994 12:00:00 AM michael@0: e5+57.tar.gz 2909 KB 3/22/1993 12:00:00 AM michael@0: iso8601.ps.gz 16 KB 7/27/1996 12:00:00 AM michael@0: leastsq.xls 49 KB 4/24/1997 12:00:00 AM michael@0: ltroff.tar.gz 36 KB 7/16/1993 12:00:00 AM michael@0: pi.shar.gz 4 KB 3/9/1994 12:00:00 AM michael@0: tzarchive.gz 3412 KB 8/18/2003 4:00:00 AM michael@0: tzcode2003a.tar.gz 98 KB 3/24/2003 2:32:00 PM michael@0: tzdata2003a.tar.gz 132 KB 3/24/2003 2:32:00 PM michael@0: michael@0: ICU only uses the tzdataYYYYV.tar.gz files, michael@0: where YYYY is the year and V is the version letter ('a'...'z'). michael@0: michael@0: This directory has partial contents of tzcode checked into ICU michael@0: michael@0: ---------------------------------------------------------------------- michael@0: HOWTO michael@0: michael@0: 0. Note, these instructions will only work on POSIX type systems. michael@0: michael@0: 1. Obtain the current versions of tzdataYYYYV.tar.gz (aka `tzdata') from michael@0: the FTP site given above. Either manually download or use wget: michael@0: michael@0: $ cd {path_to}/icu/source/tools/tzcode michael@0: $ wget "ftp://elsie.nci.nih.gov/pub/tzdata*.tar.gz" michael@0: michael@0: 2. Copy only one tzdata*.tar.gz file into the icu/source/tools/tzcode/ michael@0: directory (this directory). michael@0: michael@0: *** Make sure you only have ONE FILE named tzdata*.tar.gz in the michael@0: directory. michael@0: michael@0: 3. Build ICU normally. You will see a notice "updating zoneinfo.txt..." michael@0: michael@0: ### Following instructions for ICU maintainers only ### michael@0: michael@0: 4. Obtain the current version of tzcodeYYYY.tar.gz from the FTP site to michael@0: this directory. michael@0: michael@0: 5. Run make target "check-dump". This target extract makes the original michael@0: tzcode and compile the original tzdata with icu supplemental data michael@0: (icuzones). Then it makes zdump / icuzdump and dump all time michael@0: transitions for all ICU timezone to files under zdumpout / icuzdumpout michael@0: directory. When they produce different results, the target returns michael@0: the error. michael@0: michael@0: 6. Don't forget to check in the new zoneinfo.txt (from its location at michael@0: {path_to}/icu/source/data/misc/zoneinfo.txt) into SVN. michael@0: