summary refs log tree commit diff stats
path: root/plugins/sysinfo/meson.build
blob: 8b67da2e29e82fda29fefeebdd8c45536f170613 (plain) (blame)
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
sysinfo_sources = [
  'format.c',
  'sysinfo.c',
]

sysinfo_deps = [
  libgio_dep,
  hexchat_plugin_dep,
  common_sysinfo_deps,
]

sysinfo_includes = []
sysinfo_cargs = []

system = host_machine.system()
if system == 'linux' or system == 'gnu' or system.startswith('gnu/') or system == 'darwin'
  sysinfo_includes += 'shared'
  sysinfo_sources += [
    'shared/df.c'
  ]

  if system == 'linux' or system == 'gnu' or system.startswith('gnu/')
    libpci = dependency('libpci', required: false, method: 'pkg-config')
    if libpci.found()
      sysinfo_deps += libpci
      sysinfo_cargs += '-DHAVE_LIBPCI'
      sysinfo_sources += 'unix/pci.c'

      picidsdir = libpci.get_pkgconfig_variable('idsdir')
      pciids = join_paths(picidsdir, 'pci.ids')
      sysinfo_cargs += '-DPCIIDS_FILE="@0@"'.format(pciids)
    endif
    sysinfo_includes += 'unix'
    sysinfo_sources += [
      'unix/backend.c',
      'unix/match.c',
      'unix/parse.c',
    ]
  elif system == 'darwin'
    add_languages('objc')
    sysinfo_sources += 'osx/backend.m'
  endif

elif system == 'windows'
  sysinfo_sources += [
    'win32/backend.c',
    '../../src/common/sysinfo/win32/backend.c'
  ]
else
  error('sysinfo: Unknown system?')
endif

shared_module('sysinfo', sysinfo_sources,
  dependencies: sysinfo_deps,
  include_directories: include_directories(sysinfo_includes),
  c_args: sysinfo_cargs,
  install: true,
  install_dir: plugindir,
  name_prefix: '',
)