summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuotao Fu <l.fu@pengutronix.de>2007-10-16 14:12:16 +0000
committerLuotao Fu <l.fu@pengutronix.de>2007-10-16 14:12:16 +0000
commit5761a727b5daaab80de05cfe18645c9939294871 (patch)
tree381df71788cc817050092895a3086adf7888ce9e
parent325719f4ba5765fa1d8ec2e1272262906fd55ec8 (diff)
downloadptxdist-5761a727b5daaab80de05cfe18645c9939294871.tar.gz
ptxdist-5761a727b5daaab80de05cfe18645c9939294871.tar.xz
added timezone support(thx to Manfred Gruber)
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@7404 33e552b5-05e3-0310-8538-816dae2090ed
-rw-r--r--rules/Kconfig1
-rw-r--r--rules/glibc.in304
-rw-r--r--rules/pre/Rules.make18
-rw-r--r--rules/timezone.in309
-rw-r--r--rules/timezone.make186
-rwxr-xr-xscripts/install_copy_toolchain.sh2
-rwxr-xr-xscripts/make_zoneinfo.sh60
7 files changed, 575 insertions, 305 deletions
diff --git a/rules/Kconfig b/rules/Kconfig
index 47cacf2e3..13494643f 100644
--- a/rules/Kconfig
+++ b/rules/Kconfig
@@ -44,6 +44,7 @@ source "rules/dtc.in"
source "rules/libc.in"
source "rules/gcclibs.in"
source "rules/locales.in"
+source "rules/timezone.in"
source "rules/u-boot.in"
endmenu
diff --git a/rules/glibc.in b/rules/glibc.in
index 9cbf16ae7..150b17609 100644
--- a/rules/glibc.in
+++ b/rules/glibc.in
@@ -220,307 +220,3 @@ config GLIBC_GCONV_ZH
endmenu
# -----
-
-comment "Timezone Files"
- depends on GLIBC && BROKEN
-
-comment "glibc zoneinfo is BROKEN"
- depends on GLIBC && !BROKEN
-
-config GLIBC_ZONEINFO
- bool
- prompt "Install zoneinfo files"
- depends on GLIBC && BROKEN
- help
- FIXME: This item needs to be documented
-
-config GLIBC_ZONEINFO_AFRICA
- bool
- prompt "Africa"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ATLANTIC
- bool
- prompt "Atlantic"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_EUROPE
- bool
- prompt "Europe"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_EST5EDT
- bool
- prompt "EST5EDT"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_CANADA
- bool
- prompt "Canada"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_FACTORY
- bool
- prompt "Factory"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_GMT0
- bool
- prompt "GMT-0"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ICELAND
- bool
- prompt "Iceland"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_JAPAN
- bool
- prompt "Japan"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_MST7MDT
- bool
- prompt "MST7MDT"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_NAVAJO
- bool
- prompt "Navajo"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_WSU
- bool
- prompt "W-SU"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_AMERICA
- bool
- prompt "America"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_AUSTRALIA
- bool
- prompt "Australia"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_CHILE
- bool
- prompt "Chile"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_EGYPT
- bool
- prompt "Egypt"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_GB
- bool
- prompt "GB"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_GMT0
- bool
- prompt "GMT0"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_INDIAN
- bool
- prompt "Indian"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_KWAJALEIN
- bool
- prompt "Kwajalein"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_MEXICO
- bool
- prompt "Mexico"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_PRC
- bool
- prompt "PRC"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ROC
- bool
- prompt "ROC"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_UCT
- bool
- prompt "UCT"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_WET
- bool
- prompt "WET"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ANTARCTICA
- bool
- prompt "Antarctica"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_BRAZIL
- bool
- prompt "Brazil"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_CUBA
- bool
- prompt "Cuba"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_EIRE
- bool
- prompt "Eire"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_IRAN
- bool
- prompt "Iran"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_LIBYA
- bool
- prompt "Libya"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_MIDEAST
- bool
- prompt "Mideast"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_PST8PDT
- bool
- prompt "PST8PDT"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ROK
- bool
- prompt "ROK"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_US
- bool
- prompt "US"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ZULU
- bool
- prompt "Zulu"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ARCTIC
- bool
- prompt "Arctic"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_CET
- bool
- prompt "CET"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_EET
- bool
- prompt "EET"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ETC
- bool
- prompt "Etc"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_GMT
- bool
- prompt "GMT"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_HST
- bool
- prompt "HST"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ISRAEL
- bool
- prompt "Israel"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_MET
- bool
- prompt "MET"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_NZ
- bool
- prompt "NZ"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_PACIFIC
- bool
- prompt "Pacific"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_SINGAPORE
- bool
- prompt "Singapore"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_UTC
- bool
- prompt "UTC"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_ASIA
- bool
- prompt "Asia"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_CST6CDT
- bool
- prompt "CST6CDT"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_EST
- bool
- prompt "EST"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_GMT0
- bool
- prompt "GMT+0"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_HONGKONG
- bool
- prompt "Hongkong"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_JAMAICA
- bool
- prompt "Jamaica"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_MST
- bool
- prompt "MST"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_NZ_CHAT
- bool
- prompt "NZ-CHAT"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_SYSTEMV
- bool
- prompt "SystemV"
- depends on GLIBC_ZONEINFO
-
-config GLIBC_ZONEINFO_UNIVERSAL
- bool
- prompt "Universal"
- depends on GLIBC_ZONEINFO
-
diff --git a/rules/pre/Rules.make b/rules/pre/Rules.make
index 046236de1..b3b947d9b 100644
--- a/rules/pre/Rules.make
+++ b/rules/pre/Rules.make
@@ -406,6 +406,24 @@ add_locale = \
-p $$PREF \
-n $$LOCALE_NAME
+
+#
+# add_zoneinfo
+#
+# add zoneinfo support to glibc-archive
+#
+# $1: zoneinfoname: zoneinfoname (i.E. Europe)
+# $2: prefix; installation prefix for glibc-archive
+#
+#
+add_zoneinfo = \
+ ZONEINFO_NAME=$(strip $(1)); \
+ PREF=$(strip $(2)); \
+ ${CROSS_ENV_CC} $(CROSS_ENV_STRIP) \
+ $(SCRIPTSDIR)/make_zoneinfo.sh \
+ -n $$ZONEINFO_NAME \
+ -p $$PREF
+
#
# extract
#
diff --git a/rules/timezone.in b/rules/timezone.in
new file mode 100644
index 000000000..85425202f
--- /dev/null
+++ b/rules/timezone.in
@@ -0,0 +1,309 @@
+comment "Time zone support doesn't work with OELAS.Toolchain1.1.0"
+comment "and prio versions, hence marked as broken for now"
+
+menuconfig TIMEZONE
+ bool
+ prompt "Timezone Files "
+ depends on GLIBC
+ depends on BROKEN
+ help
+ installs timezone files
+
+comment "Timezone support"
+ depends on TIMEZONE
+
+config GLIBC_LOCALTIME_LINK
+ prompt "Link of /etc/localtime"
+ depends on TIMEZONE
+ default "/usr/share/zoneinfo/Europe/Berlin"
+ string
+ help
+ Where should /etc/localtime point to.
+ (e.g. /usr/share/zoneinfo/Europe/Berlin)
+
+config TIMEZONE_AFRICA
+ bool
+ prompt "Africa"
+ depends on TIMEZONE
+
+config TIMEZONE_ATLANTIC
+ bool
+ prompt "Atlantic"
+ depends on TIMEZONE
+
+config TIMEZONE_EUROPE
+ bool
+ prompt "Europe"
+ depends on TIMEZONE
+
+config TIMEZONE_EST5EDT
+ bool
+ prompt "EST5EDT"
+ depends on TIMEZONE
+
+config TIMEZONE_CANADA
+ bool
+ prompt "Canada"
+ depends on TIMEZONE
+
+config TIMEZONE_FACTORY
+ bool
+ prompt "Factory"
+ depends on TIMEZONE
+
+config TIMEZONE_GMT0
+ bool
+ prompt "GMT-0"
+ depends on TIMEZONE
+
+config TIMEZONE_ICELAND
+ bool
+ prompt "Iceland"
+ depends on TIMEZONE
+
+config TIMEZONE_JAPAN
+ bool
+ prompt "Japan"
+ depends on TIMEZONE
+
+config TIMEZONE_MST7MDT
+ bool
+ prompt "MST7MDT"
+ depends on TIMEZONE
+
+config TIMEZONE_NAVAJO
+ bool
+ prompt "Navajo"
+ depends on TIMEZONE
+
+config TIMEZONE_WSU
+ bool
+ prompt "W-SU"
+ depends on TIMEZONE
+
+config TIMEZONE_AMERICA
+ bool
+ prompt "America"
+ depends on TIMEZONE
+
+config TIMEZONE_AUSTRALIA
+ bool
+ prompt "Australia"
+ depends on TIMEZONE
+
+config TIMEZONE_CHILE
+ bool
+ prompt "Chile"
+ depends on TIMEZONE
+
+config TIMEZONE_EGYPT
+ bool
+ prompt "Egypt"
+ depends on TIMEZONE
+
+config TIMEZONE_GB
+ bool
+ prompt "GB"
+ depends on TIMEZONE
+
+config TIMEZONE_GMT0
+ bool
+ prompt "GMT0"
+ depends on TIMEZONE
+
+config TIMEZONE_INDIAN
+ bool
+ prompt "Indian"
+ depends on TIMEZONE
+
+config TIMEZONE_KWAJALEIN
+ bool
+ prompt "Kwajalein"
+ depends on TIMEZONE
+
+config TIMEZONE_MEXICO
+ bool
+ prompt "Mexico"
+ depends on TIMEZONE
+
+config TIMEZONE_PRC
+ bool
+ prompt "PRC"
+ depends on TIMEZONE
+
+config TIMEZONE_ROC
+ bool
+ prompt "ROC"
+ depends on TIMEZONE
+
+config TIMEZONE_UCT
+ bool
+ prompt "UCT"
+ depends on TIMEZONE
+
+config TIMEZONE_WET
+ bool
+ prompt "WET"
+ depends on TIMEZONE
+
+config TIMEZONE_ANTARCTICA
+ bool
+ prompt "Antarctica"
+ depends on TIMEZONE
+
+config TIMEZONE_BRAZIL
+ bool
+ prompt "Brazil"
+ depends on TIMEZONE
+
+config TIMEZONE_CUBA
+ bool
+ prompt "Cuba"
+ depends on TIMEZONE
+
+config TIMEZONE_EIRE
+ bool
+ prompt "Eire"
+ depends on TIMEZONE
+
+config TIMEZONE_IRAN
+ bool
+ prompt "Iran"
+ depends on TIMEZONE
+
+config TIMEZONE_LIBYA
+ bool
+ prompt "Libya"
+ depends on TIMEZONE
+
+config TIMEZONE_MIDEAST
+ bool
+ prompt "Mideast"
+ depends on TIMEZONE
+
+config TIMEZONE_PST8PDT
+ bool
+ prompt "PST8PDT"
+ depends on TIMEZONE
+
+config TIMEZONE_ROK
+ bool
+ prompt "ROK"
+ depends on TIMEZONE
+
+config TIMEZONE_US
+ bool
+ prompt "US"
+ depends on TIMEZONE
+
+config TIMEZONE_ZULU
+ bool
+ prompt "Zulu"
+ depends on TIMEZONE
+
+config TIMEZONE_ARCTIC
+ bool
+ prompt "Arctic"
+ depends on TIMEZONE
+
+config TIMEZONE_CET
+ bool
+ prompt "CET"
+ depends on TIMEZONE
+
+config TIMEZONE_EET
+ bool
+ prompt "EET"
+ depends on TIMEZONE
+
+config TIMEZONE_ETC
+ bool
+ prompt "Etc"
+ depends on TIMEZONE
+
+config TIMEZONE_GMT
+ bool
+ prompt "GMT"
+ depends on TIMEZONE
+
+config TIMEZONE_HST
+ bool
+ prompt "HST"
+ depends on TIMEZONE
+
+config TIMEZONE_ISRAEL
+ bool
+ prompt "Israel"
+ depends on TIMEZONE
+
+config TIMEZONE_MET
+ bool
+ prompt "MET"
+ depends on TIMEZONE
+
+config TIMEZONE_NZ
+ bool
+ prompt "NZ"
+ depends on TIMEZONE
+
+config TIMEZONE_PACIFIC
+ bool
+ prompt "Pacific"
+ depends on TIMEZONE
+
+config TIMEZONE_SINGAPORE
+ bool
+ prompt "Singapore"
+ depends on TIMEZONE
+
+config TIMEZONE_UTC
+ bool
+ prompt "UTC"
+ depends on TIMEZONE
+
+config TIMEZONE_ASIA
+ bool
+ prompt "Asia"
+ depends on TIMEZONE
+
+config TIMEZONE_CST6CDT
+ bool
+ prompt "CST6CDT"
+ depends on TIMEZONE
+
+config TIMEZONE_EST
+ bool
+ prompt "EST"
+ depends on TIMEZONE
+
+config TIMEZONE_GMT0
+ bool
+ prompt "GMT+0"
+ depends on TIMEZONE
+
+config TIMEZONE_HONGKONG
+ bool
+ prompt "Hongkong"
+ depends on TIMEZONE
+
+config TIMEZONE_JAMAICA
+ bool
+ prompt "Jamaica"
+ depends on TIMEZONE
+
+config TIMEZONE_MST
+ bool
+ prompt "MST"
+ depends on TIMEZONE
+
+config TIMEZONE_NZ_CHAT
+ bool
+ prompt "NZ-CHAT"
+ depends on TIMEZONE
+
+config TIMEZONE_UNIVERSAL
+ bool
+ prompt "Universal"
+ depends on TIMEZONE
+
+
diff --git a/rules/timezone.make b/rules/timezone.make
new file mode 100644
index 000000000..891d2eb25
--- /dev/null
+++ b/rules/timezone.make
@@ -0,0 +1,186 @@
+# -*-makefile-*-
+# $Id: template 6655 2007-01-02 12:55:21Z rsc $
+#
+# Copyright (C) 2007 by Luotao Fu <l.fu@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_TIMEZONE) += timezone
+
+#
+# Paths and names
+#
+TIMEZONE_VERSION := 1.0
+TIMEZONE := timezone
+TIMEZONE_DIR := $(BUILDDIR)/$(TIMEZONE)-temp/usr/share/
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_AFRICA) := "Africa"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ATLANTIC) += "Atlantic"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_EUROPE) += "Europe"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_EST5EDT) += "EST5EDT"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_CANADA) += "Canada"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_FACTORY) += "Factory"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_GMT0) += "GMT-0"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ICELAND) += "Iceland"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_JAPAN) += "Japan"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_MST7MDT) += "MST7MDT"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_NAVAJO) += "Navajo"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_WSU) += "W-SU"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_AMERICA) += "America"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_AUSTRALIA) += "Australia"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_CHILE) += "Chile"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_EGYPT) += "Egypt"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_GB) += "GB"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_GMT0) += "GMT0"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_INDIAN) += "Indian"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_KWAJALEIN) += "Kwajalein"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_MEXICO) += "Mexico"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_PRC) += "PRC"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ROC) += "ROC"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_UCT) += "UCT"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_WET) += "WET"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ANTARCTICA) += "Antarctica"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_BRAZIL) += "Brazil"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_CUBA) += "Cuba"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_EIRE) += "Eire"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_IRAN) += "Iran"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_LIBYA) += "Libya"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_MIDEAST) += "Mideast"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_PST8PDT) += "PST8PDT"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ROK) += "ROK"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_US) += "US"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ZULU) += "Zulu"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ARCTIC) += "Arctic"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_CET) += "CET"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_EET) += "EET"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ETC) += "Etc"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_GMT) += "GMT"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_HST) += "HST"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ISRAEL) += "Israel"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_MET) += "MET"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_NZ) += "NZ"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_PACIFIC) += "Pacific"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_SINGAPORE) += "Singapore"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_UTC) += "UTC"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_ASIA) += "Asia"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_CST6CDT) += "CST6CDT"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_EST) += "EST"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_GMT0) += "GMT+0"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_HONGKONG) += "Hongkong"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_JAMAICA) += "Jamaica"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_MST) += "MST"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_NZ_CHAT) += "NZ-CHAT"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_SYSTEMV) += "SystemV"
+GLIBC_ZONEFILES-$(PTXCONF_TIMEZONE_UNIVERSAL) += "Universal"
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+timezone_get: $(STATEDIR)/timezone.get
+
+$(STATEDIR)/timezone.get: $(timezone_get_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+$(TIMEZONE_SOURCE):
+ @$(call targetinfo, $@)
+ @$(call get, TIMEZONE)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+timezone_extract: $(STATEDIR)/timezone.extract
+
+$(STATEDIR)/timezone.extract: $(timezone_extract_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(TIMEZONE_DIR))
+ @mkdir -p $(TIMEZONE_DIR)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+timezone_prepare: $(STATEDIR)/timezone.prepare
+
+$(STATEDIR)/timezone.prepare: $(timezone_prepare_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+timezone_compile: $(STATEDIR)/timezone.compile
+
+$(STATEDIR)/timezone.compile: $(timezone_compile_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+timezone_install: $(STATEDIR)/timezone.install
+
+$(STATEDIR)/timezone.install: $(timezone_install_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+timezone_targetinstall: $(STATEDIR)/timezone.targetinstall
+
+$(STATEDIR)/timezone.targetinstall: $(timezone_targetinstall_deps_default)
+ @$(call targetinfo, $@)
+
+ @$(call install_init, timezone)
+ @$(call install_fixup, timezone,PACKAGE,timezone)
+ @$(call install_fixup, timezone,PRIORITY,optional)
+ @$(call install_fixup, timezone,VERSION,$(TIMEZONE_VERSION))
+ @$(call install_fixup, timezone,SECTION,base)
+ @$(call install_fixup, timezone,AUTHOR,"Robert Schwebel <r.schwebel\@pengutronix.de>")
+ @$(call install_fixup, timezone,DEPENDS,)
+ @$(call install_fixup, timezone,DESCRIPTION,missing)
+
+ @for target in $(GLIBC_ZONEFILES-y); do \
+ $(call add_zoneinfo, $$target, $(TIMEZONE_DIR)); \
+ done
+
+ @$(call install_copy, timezone, 0, 0, 0755, /usr/share/zoneinfo)
+ @for d in `find ${TIMEZONE_DIR}/zoneinfo/ -type d | awk -v FS="zoneinfo/" '{print $$2}'`; do \
+ $(call install_copy, timezone, 0, 0, 0755, /usr/share/zoneinfo/$$d); \
+ done
+
+ @for f in `find ${TIMEZONE_DIR}/zoneinfo/ -type f | awk -v FS="zoneinfo/" '{print $$2}'`; do \
+ $(call install_copy, timezone, 0, 0, 0655, $(TIMEZONE_DIR)/zoneinfo/$$f, /usr/share/zoneinfo/$$f,n); \
+ done
+
+ifdef PTXCONF_GLIBC_LOCALTIME_LINK
+ @$(call install_link, timezone, $(PTXCONF_GLIBC_LOCALTIME_LINK), /etc/localtime)
+endif
+
+ @$(call install_finish, timezone)
+
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+timezone_clean:
+ rm -rf $(STATEDIR)/timezone.*
+ rm -rf $(IMAGEDIR)/timezone_*
+ rm -rf $(TIMEZONE_DIR)
+
+# vim: syntax=make
diff --git a/scripts/install_copy_toolchain.sh b/scripts/install_copy_toolchain.sh
index cd80acca5..517d93a54 100755
--- a/scripts/install_copy_toolchain.sh
+++ b/scripts/install_copy_toolchain.sh
@@ -335,4 +335,4 @@ ptxd_install_copy_toolchain() {
#
# FIXME: ugly hack to use this script as library as well
#
-[ `basename $0` != "make_locale.sh" ] && ptxd_install_copy_toolchain "${@}"
+[ `basename $0` != "make_locale.sh" ] && [ `basename $0` != "make_zoneinfo.sh" ] && ptxd_install_copy_toolchain "${@}"
diff --git a/scripts/make_zoneinfo.sh b/scripts/make_zoneinfo.sh
new file mode 100755
index 000000000..ad3367584
--- /dev/null
+++ b/scripts/make_zoneinfo.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+if test -z "${PTXDIST_TOPDIR}"; then
+ echo PTXDIST_TOPDIR is unset
+ exit
+fi
+
+. ${PTXDIST_TOPDIR}/scripts/ptxdist_vars.sh
+. ${SCRIPTSDIR}/libptxdist.sh
+. ${SCRIPTSDIR}/install_copy_toolchain.sh
+
+usage() {
+ echo
+ echo "usage: $0 <args>"
+ echo
+ echo " Arguments:"
+ echo
+ echo " -n name zoneinfoe name"
+ echo " -p prefix prefix dir"
+ exit 1
+}
+
+add_zoneinfo() {
+ local PREF ZONEINFO_NAME
+ while getopts "n:p:" opt; do
+ case "${opt}" in
+ n)
+ ZONEINFO_NAME="${OPTARG}"
+ ;;
+ p)
+ PREF="${OPTARG}"
+ ;;
+ *)
+ usage
+ ;;
+ esac
+ done
+
+ SYSROOT_USR=`ptxd_get_sysroot_usr`
+ [ ! -d ${SYSROOT_USR} ] && { echo "Toolchain sysroot dir not found"; exit 1; }
+ [ ! -d ${SYSROOT_USR}/share/zoneinfo ] && { echo "Zoneinfo dir not found"; exit 1; }
+
+ if [ ! -d ${PREF}/zoneinfo ]; then
+ mkdir -p ${PREF}/zoneinfo
+ [ $? -ne 0 ] && { echo "Could not create temporary zoneinfo directory ${PREF}/usr/share/zoneinfo"; exit 1; }
+ fi
+
+ if [ -d ${SYSROOT_USR}/share/zoneinfo/${ZONEINFO_NAME} ]; then
+ mkdir -p ${PREF}/zoneinfo/${ZONEINFO_NAME}
+ [ $? -ne 0 ] && { echo "Could not create temporary zoneinfo directory ${PREF}/zoneinfo/${ZONEINFO_NAME}"; exit 1; }
+ cp -R ${SYSROOT_USR}/share/zoneinfo/${ZONEINFO_NAME}/* ${PREF}/zoneinfo/${ZONEINFO_NAME}
+ [ $? -ne 0 ] && { echo "Could not create temporary zoneinfo files ${PREF}/zoneinfo${ZONEINFO_NAME}"; exit 1; }
+ else
+ cp ${SYSROOT_USR}/share/zoneinfo/${ZONEINFO_NAME} ${PREF}/zoneinfo/${ZONEINFO_NAME}
+ [ $? -ne 0 ] && { echo "Could not create temporary zoneinfo file ${PREF}/zoneinfo/${ZONEINFO_NAME}"; exit 1; }
+ fi
+}
+
+add_zoneinfo "${@}"
+exit 0