File: meson.build

package info (click to toggle)
pcsc-tools 1.7.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,184 kB
  • sloc: sh: 4,817; perl: 1,458; ansic: 745; makefile: 119
file content (79 lines) | stat: -rw-r--r-- 1,908 bytes parent folder | download
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)