1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
# for ninja:
# meson setup builddir
# cd builddir ; meson compile
# regenerate configuration (run from builddir/)
# meson setup --reconfigure --wipe
project('pcsc-tools', 'c', version : '1.7.4')
# for config.h
conf_data = configuration_data({
'PACKAGE_VERSION' : '"' + meson.project_version() + '"',
'pcsc_dir' : get_option('prefix') / get_option('datadir') / 'pcsc',
'ATR_PARSER' : '"' + get_option('ATRparser') + '"',
})
extra_link_args = []
# special for Windows
if host_machine.system() == 'windows'
cc = meson.get_compiler('c')
pcsc_dep = cc.find_library('winscard')
extra_link_args += ['-static', '-pthread']
elif host_machine.system() == 'darwin'
pcsc_dep = dependency('PCSC')
else
pcsc_dep = dependency('libpcsclite')
endif
threads_dep = dependency('threads')
executable('pcsc_scan',
sources : files('pcsc_scan.c'),
dependencies : [pcsc_dep, threads_dep],
link_args : extra_link_args,
install : true,
)
# ATR_analysis
configure_file(output : 'ATR_analysis',
input : 'ATR_analysis.in',
install_dir : get_option('bindir'),
configuration : conf_data,
)
configure_file(output : 'ATR_analysis.1p',
input : 'ATR_analysis.1p.in',
install_dir : get_option('mandir') / 'man1',
configuration : conf_data,
)
install_data('smartcard_list.txt',
install_dir : conf_data.get('pcsc_dir'),
)
# scriptor
install_data('scriptor',
install_dir : get_option('bindir'),
)
# gscriptor
install_data('gscriptor',
install_dir : get_option('bindir'),
)
configure_file(output : 'gscriptor.desktop',
input : 'gscriptor.desktop.in',
install_dir : get_option('datadir') / 'applications',
configuration : conf_data,
)
install_data('gscriptor.png',
install_dir : conf_data.get('pcsc_dir'),
)
# man page
install_man(
'pcsc_scan.1',
'scriptor.1',
'gscriptor.1',
)
# generate config.h
configure_file(output : 'config.h',
configuration : conf_data)
|