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