summaryrefslogtreecommitdiff
path: root/src/timezone
diff options
context:
space:
mode:
Diffstat (limited to 'src/timezone')
-rw-r--r--src/timezone/meson.build48
-rw-r--r--src/timezone/tznames/meson.build21
2 files changed, 69 insertions, 0 deletions
diff --git a/src/timezone/meson.build b/src/timezone/meson.build
new file mode 100644
index 00000000000..16f082ecfa8
--- /dev/null
+++ b/src/timezone/meson.build
@@ -0,0 +1,48 @@
+# files to build into backend
+timezone_sources = files(
+ 'localtime.c',
+ 'pgtz.c',
+ 'strftime.c',
+)
+
+
+timezone_inc = include_directories('.')
+
+timezone_localtime_source = files('localtime.c')
+
+# files needed to build zic utility program
+zic_sources = files(
+ 'zic.c'
+)
+
+# we now distribute the timezone data as a single file
+tzdata = files(
+ 'data/tzdata.zi'
+)
+
+
+if get_option('system_tzdata') == ''
+ # FIXME: For cross builds, it would need a native built libpgport/pgcommon to
+ # build our zic. But for that we'd need to run a good chunk of the configure
+ # tests both natively and cross. Unclear if it's worth it.
+ if meson.is_cross_build()
+ zic = find_program(get_option('ZIC'), native: true, required: true)
+ else
+ zic = executable('zic', zic_sources,
+ dependencies: [frontend_code],
+ kwargs: default_bin_args + {'install': false}
+ )
+ endif
+
+ tzdata = custom_target('tzdata',
+ input: tzdata,
+ output: ['timezone'],
+ command: [zic, '-d', '@OUTPUT@', '@INPUT@'],
+ install: true,
+ install_dir: dir_data,
+ )
+
+ bin_targets += tzdata
+endif
+
+subdir('tznames')
diff --git a/src/timezone/tznames/meson.build b/src/timezone/tznames/meson.build
new file mode 100644
index 00000000000..7e0a682bd9e
--- /dev/null
+++ b/src/timezone/tznames/meson.build
@@ -0,0 +1,21 @@
+tznames = files(
+ 'Africa.txt',
+ 'America.txt',
+ 'Antarctica.txt',
+ 'Asia.txt',
+ 'Atlantic.txt',
+ 'Australia.txt',
+ 'Etc.txt',
+ 'Europe.txt',
+ 'Indian.txt',
+ 'Pacific.txt',
+)
+
+tznames_sets = files(
+ 'Default',
+ 'Australia',
+ 'India')
+
+install_data(tznames, tznames_sets,
+ install_dir: dir_data / 'timezonesets',
+)