summaryrefslogtreecommitdiffstats
path: root/library/cpp/type_info
diff options
context:
space:
mode:
authornadya02 <[email protected]>2025-05-14 11:39:15 +0300
committernadya02 <[email protected]>2025-05-14 11:56:59 +0300
commitea7a7ccfa5c9269402a811da1b53b7db258f8e45 (patch)
tree968ed3eae53aeabed6ef5f95698daea5bca6693c /library/cpp/type_info
parent1b81793578a93ce3aa797cc972d4c7b127dff7cb (diff)
YT-15805: Move timezone directory from yql/essentials/public/udf/tz to library/cpp/type_info/tz
commit_hash:c293432144308b647073111d1086349af6d52fed
Diffstat (limited to 'library/cpp/type_info')
-rw-r--r--library/cpp/type_info/tz/gen/ya.make15
-rw-r--r--library/cpp/type_info/tz/tz.cpp19
-rw-r--r--library/cpp/type_info/tz/tz.gen600
-rw-r--r--library/cpp/type_info/tz/tz.h9
-rw-r--r--library/cpp/type_info/tz/tz_ut.cpp16
-rwxr-xr-xlibrary/cpp/type_info/tz/update.py59
-rw-r--r--library/cpp/type_info/tz/ut/ya.make10
-rw-r--r--library/cpp/type_info/tz/ya.make18
-rw-r--r--library/cpp/type_info/ya.make2
9 files changed, 748 insertions, 0 deletions
diff --git a/library/cpp/type_info/tz/gen/ya.make b/library/cpp/type_info/tz/gen/ya.make
new file mode 100644
index 00000000000..8f78c5a1ea0
--- /dev/null
+++ b/library/cpp/type_info/tz/gen/ya.make
@@ -0,0 +1,15 @@
+
+PY3_PROGRAM(tz_gen)
+
+SRCDIR(library/cpp/type_info/tz)
+
+PY_SRCS(
+ TOP_LEVEL
+ update.py
+)
+
+PY_MAIN(update)
+
+END()
+
+
diff --git a/library/cpp/type_info/tz/tz.cpp b/library/cpp/type_info/tz/tz.cpp
new file mode 100644
index 00000000000..b2c3fc9d7f0
--- /dev/null
+++ b/library/cpp/type_info/tz/tz.cpp
@@ -0,0 +1,19 @@
+#include "tz.h"
+
+namespace NTi {
+
+namespace {
+
+static constexpr std::initializer_list<const std::string_view> TimezonesInit = {
+#include "tz.gen"
+};
+
+static constexpr TArrayRef<const std::string_view> Timezones(TimezonesInit);
+
+}
+
+TArrayRef<const std::string_view> GetTimezones() {
+ return Timezones;
+}
+
+}
diff --git a/library/cpp/type_info/tz/tz.gen b/library/cpp/type_info/tz/tz.gen
new file mode 100644
index 00000000000..e71c9cc81e7
--- /dev/null
+++ b/library/cpp/type_info/tz/tz.gen
@@ -0,0 +1,600 @@
+"GMT",
+"Europe/Moscow",
+"Africa/Abidjan",
+"Africa/Accra",
+"Africa/Addis_Ababa",
+"Africa/Algiers",
+"Africa/Asmara",
+"Africa/Asmera",
+"Africa/Bamako",
+"Africa/Bangui",
+"Africa/Banjul",
+"Africa/Bissau",
+"Africa/Blantyre",
+"Africa/Brazzaville",
+"Africa/Bujumbura",
+"Africa/Cairo",
+"Africa/Casablanca",
+"Africa/Ceuta",
+"Africa/Conakry",
+"Africa/Dakar",
+"Africa/Dar_es_Salaam",
+"Africa/Djibouti",
+"Africa/Douala",
+"Africa/El_Aaiun",
+"Africa/Freetown",
+"Africa/Gaborone",
+"Africa/Harare",
+"Africa/Johannesburg",
+"Africa/Juba",
+"Africa/Kampala",
+"Africa/Khartoum",
+"Africa/Kigali",
+"Africa/Kinshasa",
+"Africa/Lagos",
+"Africa/Libreville",
+"Africa/Lome",
+"Africa/Luanda",
+"Africa/Lubumbashi",
+"Africa/Lusaka",
+"Africa/Malabo",
+"Africa/Maputo",
+"Africa/Maseru",
+"Africa/Mbabane",
+"Africa/Mogadishu",
+"Africa/Monrovia",
+"Africa/Nairobi",
+"Africa/Ndjamena",
+"Africa/Niamey",
+"Africa/Nouakchott",
+"Africa/Ouagadougou",
+"Africa/Porto-Novo",
+"Africa/Sao_Tome",
+"Africa/Timbuktu",
+"Africa/Tripoli",
+"Africa/Tunis",
+"Africa/Windhoek",
+"America/Adak",
+"America/Anchorage",
+"America/Anguilla",
+"America/Antigua",
+"America/Araguaina",
+"America/Argentina/Buenos_Aires",
+"America/Argentina/Catamarca",
+"America/Argentina/ComodRivadavia",
+"America/Argentina/Cordoba",
+"America/Argentina/Jujuy",
+"America/Argentina/La_Rioja",
+"America/Argentina/Mendoza",
+"America/Argentina/Rio_Gallegos",
+"America/Argentina/Salta",
+"America/Argentina/San_Juan",
+"America/Argentina/San_Luis",
+"America/Argentina/Tucuman",
+"America/Argentina/Ushuaia",
+"America/Aruba",
+"America/Asuncion",
+"America/Atikokan",
+"America/Atka",
+"America/Bahia",
+"America/Bahia_Banderas",
+"America/Barbados",
+"America/Belem",
+"America/Belize",
+"America/Blanc-Sablon",
+"America/Boa_Vista",
+"America/Bogota",
+"America/Boise",
+"America/Buenos_Aires",
+"America/Cambridge_Bay",
+"America/Campo_Grande",
+"America/Cancun",
+"America/Caracas",
+"America/Catamarca",
+"America/Cayenne",
+"America/Cayman",
+"America/Chicago",
+"America/Chihuahua",
+"America/Coral_Harbour",
+"America/Cordoba",
+"America/Costa_Rica",
+"America/Creston",
+"America/Cuiaba",
+"America/Curacao",
+"America/Danmarkshavn",
+"America/Dawson",
+"America/Dawson_Creek",
+"America/Denver",
+"America/Detroit",
+"America/Dominica",
+"America/Edmonton",
+"America/Eirunepe",
+"America/El_Salvador",
+"America/Ensenada",
+"America/Fort_Nelson",
+"America/Fort_Wayne",
+"America/Fortaleza",
+"America/Glace_Bay",
+"America/Godthab",
+"America/Goose_Bay",
+"America/Grand_Turk",
+"America/Grenada",
+"America/Guadeloupe",
+"America/Guatemala",
+"America/Guayaquil",
+"America/Guyana",
+"America/Halifax",
+"America/Havana",
+"America/Hermosillo",
+"America/Indiana/Indianapolis",
+"America/Indiana/Knox",
+"America/Indiana/Marengo",
+"America/Indiana/Petersburg",
+"America/Indiana/Tell_City",
+"America/Indiana/Vevay",
+"America/Indiana/Vincennes",
+"America/Indiana/Winamac",
+"America/Indianapolis",
+"America/Inuvik",
+"America/Iqaluit",
+"America/Jamaica",
+"America/Jujuy",
+"America/Juneau",
+"America/Kentucky/Louisville",
+"America/Kentucky/Monticello",
+"America/Knox_IN",
+"America/Kralendijk",
+"America/La_Paz",
+"America/Lima",
+"America/Los_Angeles",
+"America/Louisville",
+"America/Lower_Princes",
+"America/Maceio",
+"America/Managua",
+"America/Manaus",
+"America/Marigot",
+"America/Martinique",
+"America/Matamoros",
+"America/Mazatlan",
+"America/Mendoza",
+"America/Menominee",
+"America/Merida",
+"America/Metlakatla",
+"America/Mexico_City",
+"America/Miquelon",
+"America/Moncton",
+"America/Monterrey",
+"America/Montevideo",
+"America/Montreal",
+"America/Montserrat",
+"America/Nassau",
+"America/New_York",
+"America/Nipigon",
+"America/Nome",
+"America/Noronha",
+"America/North_Dakota/Beulah",
+"America/North_Dakota/Center",
+"America/North_Dakota/New_Salem",
+"America/Ojinaga",
+"America/Panama",
+"America/Pangnirtung",
+"America/Paramaribo",
+"America/Phoenix",
+"America/Port-au-Prince",
+"America/Port_of_Spain",
+"America/Porto_Acre",
+"America/Porto_Velho",
+"America/Puerto_Rico",
+"America/Punta_Arenas",
+"America/Rainy_River",
+"America/Rankin_Inlet",
+"America/Recife",
+"America/Regina",
+"America/Resolute",
+"America/Rio_Branco",
+"America/Rosario",
+"America/Santa_Isabel",
+"America/Santarem",
+"America/Santiago",
+"America/Santo_Domingo",
+"America/Sao_Paulo",
+"America/Scoresbysund",
+"America/Shiprock",
+"America/Sitka",
+"America/St_Barthelemy",
+"America/St_Johns",
+"America/St_Kitts",
+"America/St_Lucia",
+"America/St_Thomas",
+"America/St_Vincent",
+"America/Swift_Current",
+"America/Tegucigalpa",
+"America/Thule",
+"America/Thunder_Bay",
+"America/Tijuana",
+"America/Toronto",
+"America/Tortola",
+"America/Vancouver",
+"America/Virgin",
+"America/Whitehorse",
+"America/Winnipeg",
+"America/Yakutat",
+"America/Yellowknife",
+"Antarctica/Casey",
+"Antarctica/Davis",
+"Antarctica/DumontDUrville",
+"Antarctica/Macquarie",
+"Antarctica/Mawson",
+"Antarctica/McMurdo",
+"Antarctica/Palmer",
+"Antarctica/Rothera",
+"Antarctica/South_Pole",
+"Antarctica/Syowa",
+"Antarctica/Troll",
+"Antarctica/Vostok",
+"Arctic/Longyearbyen",
+"Asia/Aden",
+"Asia/Almaty",
+"Asia/Amman",
+"Asia/Anadyr",
+"Asia/Aqtau",
+"Asia/Aqtobe",
+"Asia/Ashgabat",
+"Asia/Ashkhabad",
+"Asia/Atyrau",
+"Asia/Baghdad",
+"Asia/Bahrain",
+"Asia/Baku",
+"Asia/Bangkok",
+"Asia/Barnaul",
+"Asia/Beirut",
+"Asia/Bishkek",
+"Asia/Brunei",
+"Asia/Calcutta",
+"Asia/Chita",
+"Asia/Choibalsan",
+"Asia/Chongqing",
+"Asia/Chungking",
+"Asia/Colombo",
+"Asia/Dacca",
+"Asia/Damascus",
+"Asia/Dhaka",
+"Asia/Dili",
+"Asia/Dubai",
+"Asia/Dushanbe",
+"Asia/Famagusta",
+"Asia/Gaza",
+"Asia/Harbin",
+"Asia/Hebron",
+"Asia/Ho_Chi_Minh",
+"Asia/Hong_Kong",
+"Asia/Hovd",
+"Asia/Irkutsk",
+"Asia/Istanbul",
+"Asia/Jakarta",
+"Asia/Jayapura",
+"Asia/Jerusalem",
+"Asia/Kabul",
+"Asia/Kamchatka",
+"Asia/Karachi",
+"Asia/Kashgar",
+"Asia/Kathmandu",
+"Asia/Katmandu",
+"Asia/Khandyga",
+"Asia/Kolkata",
+"Asia/Krasnoyarsk",
+"Asia/Kuala_Lumpur",
+"Asia/Kuching",
+"Asia/Kuwait",
+"Asia/Macao",
+"Asia/Macau",
+"Asia/Magadan",
+"Asia/Makassar",
+"Asia/Manila",
+"Asia/Muscat",
+"Asia/Nicosia",
+"Asia/Novokuznetsk",
+"Asia/Novosibirsk",
+"Asia/Omsk",
+"Asia/Oral",
+"Asia/Phnom_Penh",
+"Asia/Pontianak",
+"Asia/Pyongyang",
+"Asia/Qatar",
+"Asia/Qyzylorda",
+"Asia/Rangoon",
+"Asia/Riyadh",
+"Asia/Saigon",
+"Asia/Sakhalin",
+"Asia/Samarkand",
+"Asia/Seoul",
+"Asia/Shanghai",
+"Asia/Singapore",
+"Asia/Srednekolymsk",
+"Asia/Taipei",
+"Asia/Tashkent",
+"Asia/Tbilisi",
+"Asia/Tehran",
+"Asia/Tel_Aviv",
+"Asia/Thimbu",
+"Asia/Thimphu",
+"Asia/Tokyo",
+"Asia/Tomsk",
+"Asia/Ujung_Pandang",
+"Asia/Ulaanbaatar",
+"Asia/Ulan_Bator",
+"Asia/Urumqi",
+"Asia/Ust-Nera",
+"Asia/Vientiane",
+"Asia/Vladivostok",
+"Asia/Yakutsk",
+"Asia/Yangon",
+"Asia/Yekaterinburg",
+"Asia/Yerevan",
+"Atlantic/Azores",
+"Atlantic/Bermuda",
+"Atlantic/Canary",
+"Atlantic/Cape_Verde",
+"Atlantic/Faeroe",
+"Atlantic/Faroe",
+"Atlantic/Jan_Mayen",
+"Atlantic/Madeira",
+"Atlantic/Reykjavik",
+"Atlantic/South_Georgia",
+"Atlantic/St_Helena",
+"Atlantic/Stanley",
+"Australia/ACT",
+"Australia/Adelaide",
+"Australia/Brisbane",
+"Australia/Broken_Hill",
+"Australia/Canberra",
+"Australia/Currie",
+"Australia/Darwin",
+"Australia/Eucla",
+"Australia/Hobart",
+"Australia/LHI",
+"Australia/Lindeman",
+"Australia/Lord_Howe",
+"Australia/Melbourne",
+"Australia/NSW",
+"Australia/North",
+"Australia/Perth",
+"Australia/Queensland",
+"Australia/South",
+"Australia/Sydney",
+"Australia/Tasmania",
+"Australia/Victoria",
+"Australia/West",
+"Australia/Yancowinna",
+"Brazil/Acre",
+"Brazil/DeNoronha",
+"Brazil/East",
+"Brazil/West",
+"CET",
+"CST6CDT",
+"Canada/Atlantic",
+"Canada/Central",
+"Canada/Eastern",
+"Canada/Mountain",
+"Canada/Newfoundland",
+"Canada/Pacific",
+"Canada/Saskatchewan",
+"Canada/Yukon",
+"Chile/Continental",
+"Chile/EasterIsland",
+"Cuba",
+"EET",
+"EST",
+"EST5EDT",
+"Egypt",
+"Eire",
+"Etc/GMT",
+"Etc/GMT+0",
+"Etc/GMT+1",
+"Etc/GMT+10",
+"Etc/GMT+11",
+"Etc/GMT+12",
+"Etc/GMT+2",
+"Etc/GMT+3",
+"Etc/GMT+4",
+"Etc/GMT+5",
+"Etc/GMT+6",
+"Etc/GMT+7",
+"Etc/GMT+8",
+"Etc/GMT+9",
+"Etc/GMT-0",
+"Etc/GMT-1",
+"Etc/GMT-10",
+"Etc/GMT-11",
+"Etc/GMT-12",
+"Etc/GMT-13",
+"Etc/GMT-14",
+"Etc/GMT-2",
+"Etc/GMT-3",
+"Etc/GMT-4",
+"Etc/GMT-5",
+"Etc/GMT-6",
+"Etc/GMT-7",
+"Etc/GMT-8",
+"Etc/GMT-9",
+"Etc/GMT0",
+"Etc/Greenwich",
+"Etc/UCT",
+"Etc/UTC",
+"Etc/Universal",
+"Etc/Zulu",
+"Europe/Amsterdam",
+"Europe/Andorra",
+"Europe/Astrakhan",
+"Europe/Athens",
+"Europe/Belfast",
+"Europe/Belgrade",
+"Europe/Berlin",
+"Europe/Bratislava",
+"Europe/Brussels",
+"Europe/Bucharest",
+"Europe/Budapest",
+"Europe/Busingen",
+"Europe/Chisinau",
+"Europe/Copenhagen",
+"Europe/Dublin",
+"Europe/Gibraltar",
+"Europe/Guernsey",
+"Europe/Helsinki",
+"Europe/Isle_of_Man",
+"Europe/Istanbul",
+"Europe/Jersey",
+"Europe/Kaliningrad",
+"Europe/Kiev",
+"Europe/Kirov",
+"Europe/Lisbon",
+"Europe/Ljubljana",
+"Europe/London",
+"Europe/Luxembourg",
+"Europe/Madrid",
+"Europe/Malta",
+"Europe/Mariehamn",
+"Europe/Minsk",
+"Europe/Monaco",
+"Europe/Nicosia",
+"Europe/Oslo",
+"Europe/Paris",
+"Europe/Podgorica",
+"Europe/Prague",
+"Europe/Riga",
+"Europe/Rome",
+"Europe/Samara",
+"Europe/San_Marino",
+"Europe/Sarajevo",
+"Europe/Saratov",
+"Europe/Simferopol",
+"Europe/Skopje",
+"Europe/Sofia",
+"Europe/Stockholm",
+"Europe/Tallinn",
+"Europe/Tirane",
+"Europe/Tiraspol",
+"Europe/Ulyanovsk",
+"Europe/Uzhgorod",
+"Europe/Vaduz",
+"Europe/Vatican",
+"Europe/Vienna",
+"Europe/Vilnius",
+"Europe/Volgograd",
+"Europe/Warsaw",
+"Europe/Zagreb",
+"Europe/Zaporozhye",
+"Europe/Zurich",
+"Factory",
+"GB",
+"GB-Eire",
+"GMT+0",
+"GMT-0",
+"GMT0",
+"Greenwich",
+"HST",
+"Hongkong",
+"Iceland",
+"Indian/Antananarivo",
+"Indian/Chagos",
+"Indian/Christmas",
+"Indian/Cocos",
+"Indian/Comoro",
+"Indian/Kerguelen",
+"Indian/Mahe",
+"Indian/Maldives",
+"Indian/Mauritius",
+"Indian/Mayotte",
+"Indian/Reunion",
+"Iran",
+"Israel",
+"Jamaica",
+"Japan",
+"Kwajalein",
+"Libya",
+"MET",
+"MST",
+"MST7MDT",
+"Mexico/BajaNorte",
+"Mexico/BajaSur",
+"Mexico/General",
+"NZ",
+"NZ-CHAT",
+"Navajo",
+"PRC",
+"PST8PDT",
+"Pacific/Apia",
+"Pacific/Auckland",
+"Pacific/Bougainville",
+"Pacific/Chatham",
+"Pacific/Chuuk",
+"Pacific/Easter",
+"Pacific/Efate",
+"Pacific/Enderbury",
+"Pacific/Fakaofo",
+"Pacific/Fiji",
+"Pacific/Funafuti",
+"Pacific/Galapagos",
+"Pacific/Gambier",
+"Pacific/Guadalcanal",
+"Pacific/Guam",
+"Pacific/Honolulu",
+"Pacific/Johnston",
+"Pacific/Kiritimati",
+"Pacific/Kosrae",
+"Pacific/Kwajalein",
+"Pacific/Majuro",
+"Pacific/Marquesas",
+"Pacific/Midway",
+"Pacific/Nauru",
+"Pacific/Niue",
+"Pacific/Norfolk",
+"Pacific/Noumea",
+"Pacific/Pago_Pago",
+"Pacific/Palau",
+"Pacific/Pitcairn",
+"Pacific/Pohnpei",
+"Pacific/Ponape",
+"Pacific/Port_Moresby",
+"Pacific/Rarotonga",
+"Pacific/Saipan",
+"Pacific/Samoa",
+"Pacific/Tahiti",
+"Pacific/Tarawa",
+"Pacific/Tongatapu",
+"Pacific/Truk",
+"Pacific/Wake",
+"Pacific/Wallis",
+"Pacific/Yap",
+"Poland",
+"Portugal",
+"ROC",
+"ROK",
+"Singapore",
+"Turkey",
+"UCT",
+"US/Alaska",
+"US/Aleutian",
+"US/Arizona",
+"US/Central",
+"US/East-Indiana",
+"US/Eastern",
+"US/Hawaii",
+"US/Indiana-Starke",
+"US/Michigan",
+"US/Mountain",
+"US/Pacific",
+"",//US/Pacific-New
+"US/Samoa",
+"UTC",
+"Universal",
+"W-SU",
+"WET",
+"Zulu",
+"",//localtime
+"posixrules",
+"Asia/Qostanay",
+"America/Nuuk",
+"America/Ciudad_Juarez",
+"Europe/Kyiv",
+"Pacific/Kanton",
diff --git a/library/cpp/type_info/tz/tz.h b/library/cpp/type_info/tz/tz.h
new file mode 100644
index 00000000000..b683269af29
--- /dev/null
+++ b/library/cpp/type_info/tz/tz.h
@@ -0,0 +1,9 @@
+#pragma once
+#include <util/generic/array_ref.h>
+#include <string_view>
+
+namespace NTi {
+
+TArrayRef<const std::string_view> GetTimezones();
+
+}
diff --git a/library/cpp/type_info/tz/tz_ut.cpp b/library/cpp/type_info/tz/tz_ut.cpp
new file mode 100644
index 00000000000..65e8340cdc5
--- /dev/null
+++ b/library/cpp/type_info/tz/tz_ut.cpp
@@ -0,0 +1,16 @@
+#include "tz.h"
+
+#include <library/cpp/testing/unittest/registar.h>
+
+using namespace NTi;
+
+Y_UNIT_TEST_SUITE(TTz) {
+ Y_UNIT_TEST(Count) {
+ UNIT_ASSERT_VALUES_EQUAL_C(GetTimezones().size(), 600, "Please run library/cpp/type_info/tz/gen");
+ }
+
+ Y_UNIT_TEST(Gmt) {
+ UNIT_ASSERT(GetTimezones().size() > 0);
+ UNIT_ASSERT_VALUES_EQUAL(GetTimezones()[0], "GMT");
+ }
+}
diff --git a/library/cpp/type_info/tz/update.py b/library/cpp/type_info/tz/update.py
new file mode 100755
index 00000000000..d1d0f71decf
--- /dev/null
+++ b/library/cpp/type_info/tz/update.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+import re
+
+
+def main():
+ REGEXP = """^("(.+)",|"",//(.+))$"""
+ OUTPUT = "../tz.gen"
+ INPUT = OUTPUT
+ CONTRIB_ZONES = "../../../../../contrib/libs/cctz/tzdata/ya.make.resources"
+ RES_PREFIX = "/cctz/tzdata/"
+
+ print("process %s into %s" % (INPUT, OUTPUT))
+ with open(INPUT, "r") as inp:
+ lines = inp.readlines()
+
+ zones = []
+ for line in lines:
+ m = re.match(REGEXP, line)
+ if not m:
+ raise ValueError("invalid line: %s", line)
+ zones.append(m.group(2) or m.group(3))
+
+ szones = set()
+ print("loaded %s zones" % len(zones))
+ for zone in zones:
+ if zone in szones:
+ raise ValueError("duplicated zone: %s", zone)
+ szones.add(zone)
+
+ scontrib = set()
+ with open(CONTRIB_ZONES, "r") as contrib:
+ for line in contrib.readlines():
+ if RES_PREFIX not in line:
+ continue
+ zone = line[line.index(RES_PREFIX) + len(RES_PREFIX):].strip()
+ if zone in scontrib:
+ raise ValueError("duplicated zone: %s", zone)
+ scontrib.add(zone)
+ if zone in szones:
+ continue
+ szones.add(zone)
+ zones.append(zone)
+
+ lines = []
+ for zone in zones:
+ if zone in scontrib:
+ lines.append('"%s",\n' % zone)
+ else:
+ lines.append('"",//%s\n' % zone)
+
+ with open(OUTPUT, "w") as outp:
+ outp.writelines(lines)
+
+ print("saved %s zones" % len(zones))
+
+
+if __name__ == "__main__":
+ main()
diff --git a/library/cpp/type_info/tz/ut/ya.make b/library/cpp/type_info/tz/ut/ya.make
new file mode 100644
index 00000000000..03862801f02
--- /dev/null
+++ b/library/cpp/type_info/tz/ut/ya.make
@@ -0,0 +1,10 @@
+UNITTEST_FOR(library/cpp/type_info/tz)
+
+SRCS(
+ tz_ut.cpp
+)
+
+PEERDIR(
+)
+
+END()
diff --git a/library/cpp/type_info/tz/ya.make b/library/cpp/type_info/tz/ya.make
new file mode 100644
index 00000000000..6ea6b015dd5
--- /dev/null
+++ b/library/cpp/type_info/tz/ya.make
@@ -0,0 +1,18 @@
+LIBRARY()
+
+SRCS(
+ tz.cpp
+)
+
+PEERDIR(
+)
+
+END()
+
+RECURSE(
+ gen
+)
+
+RECURSE_FOR_TESTS(
+ ut
+)
diff --git a/library/cpp/type_info/ya.make b/library/cpp/type_info/ya.make
index 555f0d14337..2f2aabd705f 100644
--- a/library/cpp/type_info/ya.make
+++ b/library/cpp/type_info/ya.make
@@ -23,4 +23,6 @@ PEERDIR(
END()
+RECURSE(tz)
+
RECURSE_FOR_TESTS(ut)