.\" Hey, Emacs! This is -*-nroff-*- you know...
.\"
.\" gentz.8: manual page for the gentz utility
.\"
.\" Copyright (C) 2000-2001 IBM, Inc. and others.
.\"
.TH GENTZ 8 "16 January 2001" "ICU MANPAGE" "ICU @VERSION@ Manual"
.SH NAME
.B gentz
\- compile timezone information
.SH SYNOPSIS
.B gentz
[
.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
]
[
.BI "\-c\fP, \fB\-\-copyright"
]
[
.BI "\-d\fP, \fB\-\-destdir" " destination"
]
.I timezone
.SH DESCRIPTION
.B gentz
reads a
.I timezone
file and compile it into a binary form.
The resulting file,
.BR tz.dat ,
can then be read directly by ICU, or used by
.BR pkgdata (8)
for incorporation into a larger archive or library.
.LP
The file read by
.B gentz
is described in the
.B FILES
section.
.SH OPTIONS
.TP
.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
Print help about usage and exit.
.TP
.BI "\-c\fP, \fB\-\-copyright"
Include a copyright notice into the binary data.
.TP
.BI "\-d\fP, \fB\-\-destdir" " destination"
Set the destination directory to
.IR destination .
The default destination directory is specified by the environment variable
.BR ICU_DATA .
.SH ENVIRONMENT
.TP 10
.B ICU_DATA
Specifies the directory containing ICU data. Defaults to
.BR @thepkgicudatadir@/@PACKAGE@/@VERSION@/ .
Some tools in ICU depend on the presence of the trailing slash. It is thus
important to make sure that it is present if
.B ICU_DATA
is set.
.SH FILES
The following file is read by
.BR gentz .
.TP 20
.B timezone.txt
Contains UNIX timezone data in a format that can be understood by
.BR gentz .
.SH VERSION
@VERSION@
.SH COPYRIGHT
Copyright (C) 2000-2002 IBM, Inc. and others.
.SH SEE ALSO
.BR pkgdata (8)
