meson.build revision 187ef25f
1187ef25fSmrgproject('encodings',
2187ef25fSmrg        version: '1.1.0',
3187ef25fSmrg        meson_version: '>= 0.58.0',
4187ef25fSmrg        license: 'MIT'
5187ef25fSmrg)
6187ef25fSmrg
7187ef25fSmrgmkfontscale = find_program('mkfontscale', required: true, native: true)
8187ef25fSmrg
9187ef25fSmrgif get_option('gzip-small-encodings') or get_option('gzip-large-encodings')
10187ef25fSmrg    gzip = find_program('gzip', required: true, native: true)
11187ef25fSmrgendif
12187ef25fSmrg
13187ef25fSmrgencodingsdir = get_option('encodingsdir')
14187ef25fSmrgif encodingsdir == ''
15187ef25fSmrg  fontrootdir = get_option('fontrootdir')
16187ef25fSmrg  if fontrootdir == ''
17187ef25fSmrg    fontutil = dependency('fontutil', required: false, version: '>= 1.1.0')
18187ef25fSmrg    if fontutil.found()
19187ef25fSmrg      fontrootdir = fontutil.get_variable('fontrootdir')
20187ef25fSmrg    endif
21187ef25fSmrg    if fontrootdir == ''
22187ef25fSmrg      fontrootdir = get_option('datadir') / 'fonts' / 'X11'
23187ef25fSmrg    endif
24187ef25fSmrg  endif
25187ef25fSmrg  encodingsdir = fontrootdir / 'encodings'
26187ef25fSmrgendif
27187ef25fSmrg
28187ef25fSmrgsmall_encoding_files = [
29187ef25fSmrg  'adobe-dingbats.enc',
30187ef25fSmrg  'adobe-standard.enc',
31187ef25fSmrg  'adobe-symbol.enc',
32187ef25fSmrg  'armscii-8.enc',
33187ef25fSmrg  'ascii-0.enc',
34187ef25fSmrg  'dec-special.enc',
35187ef25fSmrg  'ibm-cp437.enc',
36187ef25fSmrg  'ibm-cp850.enc',
37187ef25fSmrg  'ibm-cp852.enc',
38187ef25fSmrg  'ibm-cp866.enc',
39187ef25fSmrg  'iso8859-11.enc',
40187ef25fSmrg  'iso8859-13.enc',
41187ef25fSmrg  'iso8859-14.enc',
42187ef25fSmrg  'iso8859-16.enc',
43187ef25fSmrg  'iso8859-6.16.enc',
44187ef25fSmrg  'iso8859-6.8x.enc',
45187ef25fSmrg  'microsoft-cp1250.enc',
46187ef25fSmrg  'microsoft-cp1251.enc',
47187ef25fSmrg  'microsoft-cp1252.enc',
48187ef25fSmrg  'microsoft-cp1253.enc',
49187ef25fSmrg  'microsoft-cp1254.enc',
50187ef25fSmrg  'microsoft-cp1255.enc',
51187ef25fSmrg  'microsoft-cp1256.enc',
52187ef25fSmrg  'microsoft-cp1257.enc',
53187ef25fSmrg  'microsoft-cp1258.enc',
54187ef25fSmrg  'microsoft-win3.1.enc',
55187ef25fSmrg  'mulearabic-0.enc',
56187ef25fSmrg  'mulearabic-1.enc',
57187ef25fSmrg  'mulearabic-2.enc',
58187ef25fSmrg  'mulelao-1.enc',
59187ef25fSmrg  'suneu-greek.enc',
60187ef25fSmrg  'tcvn-0.enc',
61187ef25fSmrg  'tis620-2.enc',
62187ef25fSmrg  'viscii1.1-1.enc'
63187ef25fSmrg]
64187ef25fSmrg
65187ef25fSmrgif get_option('gzip-small-encodings')
66187ef25fSmrg  foreach small_encoding_input : small_encoding_files
67187ef25fSmrg    small_encoding_output = small_encoding_input + '.gz'
68187ef25fSmrg    custom_target(small_encoding_output,
69187ef25fSmrg                  input: small_encoding_input,
70187ef25fSmrg                  output: small_encoding_output,
71187ef25fSmrg                  command: [gzip, '-c', '-n', '@INPUT@'],
72187ef25fSmrg                  capture: true, # capture output from stdout
73187ef25fSmrg                  install: true,
74187ef25fSmrg                  install_dir: encodingsdir)
75187ef25fSmrg  endforeach
76187ef25fSmrgelse
77187ef25fSmrg  install_data(small_encoding_files, install_dir: encodingsdir)
78187ef25fSmrgendif
79187ef25fSmrg
80187ef25fSmrgsubdir('large')
81187ef25fSmrg
82187ef25fSmrgconf_data = configuration_data({
83187ef25fSmrg  'mkfontscale': mkfontscale.full_path(),
84187ef25fSmrg  'encodingsdir': encodingsdir
85187ef25fSmrg})
86187ef25fSmrgmkencodingsdir = configure_file(input : 'mkencodingsdir.in',
87187ef25fSmrg                                output : 'mkencodingsdir',
88187ef25fSmrg                                configuration : conf_data)
89187ef25fSmrgmeson.add_install_script(mkencodingsdir)
90187ef25fSmrg
91187ef25fSmrgsummary({'encodingsdir': encodingsdir,
92187ef25fSmrg         'gzip-small-encodings': get_option('gzip-small-encodings'),
93187ef25fSmrg         'gzip-large-encodings':  get_option('gzip-large-encodings'),
94187ef25fSmrg         'mkfontscale': mkfontscale})
95