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
|
cargs = [
'-DG_LOG_DOMAIN="gcab"',
]
enum_headers = ['gcab-folder.h', 'gcab-file.h']
enums = gnome.mkenums(
'gcab-enums',
sources : enum_headers,
c_template : 'gcab-enums.c.etemplate',
h_template : 'gcab-enums.h.etemplate',
install_header : true,
install_dir : 'libgcab-1.0/libgcab',
symbol_prefix : 'gcab',
identifier_prefix : 'GCab',
)
install_headers([
'gcab-cabinet.h',
'gcab-file.h',
'gcab-folder.h',
],
subdir : 'libgcab-1.0/libgcab',
)
mapfile = '../libgcab.syms'
vflag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile)
libgcab = shared_library(
'gcab-1.0',
enums,
sources : [
'gcab-cabinet.c',
'gcab-folder.c',
'gcab-file.c',
'cabinet.c',
'decomp.c',
'glib-compat.c',
],
soversion : lt_current,
version : lt_version,
dependencies : [
gio,
libz,
],
c_args : cargs,
include_directories : [
include_directories('.'),
include_directories('..'),
],
link_args : vflag,
link_depends : mapfile,
install : true
)
pkgg = import('pkgconfig')
pkgg.generate(
libraries : libgcab,
requires : [ 'gio-2.0' ],
subdirs : 'libgcab-1.0',
version : meson.project_version(),
name : 'libgcab',
filebase : 'libgcab-1.0',
description : 'Cabinet file library',
)
if get_option('introspection')
gir = gnome.generate_gir(libgcab,
sources : [
'gcab-cabinet.c',
'gcab-cabinet.h',
'gcab-folder.c',
'gcab-folder.h',
'gcab-file.c',
'gcab-file.h',
],
nsversion : '1.0',
namespace : 'GCab',
symbol_prefix : 'gcab',
identifier_prefix : 'GCab',
export_packages : 'libgcab',
dependencies : [
gio,
],
includes : [
'Gio-2.0',
'GObject-2.0',
],
install : true
)
endif
|