1project('encodings', 2 version: '1.1.0', 3 meson_version: '>= 0.58.0', 4 license: 'MIT' 5) 6 7mkfontscale = find_program('mkfontscale', required: true, native: true) 8 9if get_option('gzip-small-encodings') or get_option('gzip-large-encodings') 10 gzip = find_program('gzip', required: true, native: true) 11endif 12 13encodingsdir = get_option('encodingsdir') 14if encodingsdir == '' 15 fontrootdir = get_option('fontrootdir') 16 if fontrootdir == '' 17 fontutil = dependency('fontutil', required: false, version: '>= 1.1.0') 18 if fontutil.found() 19 fontrootdir = fontutil.get_variable('fontrootdir') 20 endif 21 if fontrootdir == '' 22 fontrootdir = get_option('datadir') / 'fonts' / 'X11' 23 endif 24 endif 25 encodingsdir = fontrootdir / 'encodings' 26endif 27 28small_encoding_files = [ 29 'adobe-dingbats.enc', 30 'adobe-standard.enc', 31 'adobe-symbol.enc', 32 'armscii-8.enc', 33 'ascii-0.enc', 34 'dec-special.enc', 35 'ibm-cp437.enc', 36 'ibm-cp850.enc', 37 'ibm-cp852.enc', 38 'ibm-cp866.enc', 39 'iso8859-11.enc', 40 'iso8859-13.enc', 41 'iso8859-14.enc', 42 'iso8859-16.enc', 43 'iso8859-6.16.enc', 44 'iso8859-6.8x.enc', 45 'microsoft-cp1250.enc', 46 'microsoft-cp1251.enc', 47 'microsoft-cp1252.enc', 48 'microsoft-cp1253.enc', 49 'microsoft-cp1254.enc', 50 'microsoft-cp1255.enc', 51 'microsoft-cp1256.enc', 52 'microsoft-cp1257.enc', 53 'microsoft-cp1258.enc', 54 'microsoft-win3.1.enc', 55 'mulearabic-0.enc', 56 'mulearabic-1.enc', 57 'mulearabic-2.enc', 58 'mulelao-1.enc', 59 'suneu-greek.enc', 60 'tcvn-0.enc', 61 'tis620-2.enc', 62 'viscii1.1-1.enc' 63] 64 65if get_option('gzip-small-encodings') 66 foreach small_encoding_input : small_encoding_files 67 small_encoding_output = small_encoding_input + '.gz' 68 custom_target(small_encoding_output, 69 input: small_encoding_input, 70 output: small_encoding_output, 71 command: [gzip, '-c', '-n', '@INPUT@'], 72 capture: true, # capture output from stdout 73 install: true, 74 install_dir: encodingsdir) 75 endforeach 76else 77 install_data(small_encoding_files, install_dir: encodingsdir) 78endif 79 80subdir('large') 81 82conf_data = configuration_data({ 83 'mkfontscale': mkfontscale.full_path(), 84 'encodingsdir': encodingsdir 85}) 86mkencodingsdir = configure_file(input : 'mkencodingsdir.in', 87 output : 'mkencodingsdir', 88 configuration : conf_data) 89meson.add_install_script(mkencodingsdir) 90 91summary({'encodingsdir': encodingsdir, 92 'gzip-small-encodings': get_option('gzip-small-encodings'), 93 'gzip-large-encodings': get_option('gzip-large-encodings'), 94 'mkfontscale': mkfontscale}) 95