File: meson.build

package info (click to toggle)
msitools 0.106%2Brepack-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,336 kB
  • sloc: ansic: 18,006; yacc: 862; sh: 416; perl: 217; makefile: 18
file content (110 lines) | stat: -rw-r--r-- 2,095 bytes parent folder | download | duplicates (2)
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
libmsi_sources = files(
  'alter.c',
  'create.c',
  'debug.c',
  'debug.h',
  'delete.c',
  'distinct.c',
  'drop.c',
  'insert.c',
  'libmsi-database.c',
  'libmsi-istream.c',
  'libmsi-istream.h',
  'libmsi-query.c',
  'libmsi-record.c',
  'libmsi-summary-info.c',
  'list.h',
  'msipriv.h',
  'query.h',
  'select.c',
  'storages.c',
  'streams.c',
  'string.c',
  'table.c',
  'tokenize.c',
  'update.c',
  'where.c',
)

libmsi_enums_c = gnome.mkenums('libmsi-enums',
  c_template: 'libmsi-enums.c.etemplate',
  sources: libmsi_types_h,
)

libmsi_sources += [
  libmsi_enums_h,
  libmsi_enums_c,
]

libmsi_sources += custom_target('sql-parser',
  input: 'sql-parser.y',
  output: ['sql-parser.c', 'sql-parser.h'],
  command: [
    bison, '@INPUT@', '-y', '-Wno-yacc', '--defines', '-o', '@OUTPUT0@',
  ],
)

libmsi_deps = [
  glib,
  gio,
  gobject,
  libgsf,
]

libmsi = shared_library('msi-1.0',
  libmsi_sources,
  include_directories: inc_dirs,
  dependencies: libmsi_deps,
  version: '0.0.0',
  install: true,
)

pc = import('pkgconfig')
pc.generate(
  libraries: libmsi,
  requires: [ 'gio-2.0' ],
  subdirs: 'libmsi-1.0',
  version: meson.project_version(),
  name: 'libmsi-1.0',
  filebase: 'libmsi-1.0',
  description: 'MSI manipulation library',
)

if get_option('introspection')
  libmsi_gir = gnome.generate_gir(libmsi,
    namespace: 'Libmsi',
    nsversion: '1.0',
    export_packages: 'libmsi-1.0',
    sources: [
      introspectable_headers,
      libmsi_enums_c,
      'libmsi-database.c',
      'libmsi-query.c',
      'libmsi-record.c',
      'libmsi-summary-info.c',
    ],
    includes: [
      'GLib-2.0',
      'GObject-2.0',
      'Gio-2.0',
    ],
    extra_args: [
      '--c-include=libmsi.h',
    ],
    install: true,
  )

  libmsi_vapi = gnome.generate_vapi('libmsi-1.0',
    sources: libmsi_gir[0],
    vapi_dirs: meson.current_source_dir(),
    metadata_dirs: meson.current_source_dir(),
    packages: 'gio-2.0',
    install: true,
  )
endif

libmsi = declare_dependency(
  link_with: libmsi,
  include_directories: inc_dirs,
  dependencies: libmsi_deps,
)