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
111
112
113
114
115
116
117
118
|
librest_enums = gnome.mkenums_simple('rest-enum-types',
sources: [ 'rest-proxy.h', 'rest-proxy-call.h' ],
install_header: true,
install_dir: get_option('includedir') / librest_pkg_string / 'rest',
)
librest_marshal = gnome.genmarshal('rest-marshal',
sources: 'rest-marshal.txt',
)
librest_sources = [
'rest-param.c',
'rest-params.c',
'rest-proxy.c',
'rest-proxy-call.c',
'rest-proxy-auth.c',
'rest-xml-node.c',
'rest-xml-parser.c',
'rest-main.c',
'sha1.c',
'rest-oauth2-proxy.c',
'rest-oauth2-proxy-call.c',
'rest-pkce-code-challenge.c',
'rest-utils.c',
librest_enums,
librest_marshal,
]
librest_headers = [
'rest-param.h',
'rest-params.h',
'rest-proxy-call.h',
'rest-proxy.h',
'rest-proxy-auth.h',
'rest-xml-node.h',
'rest-xml-parser.h',
'rest-oauth2-proxy.h',
'rest-oauth2-proxy-call.h',
'rest-pkce-code-challenge.h',
'rest-utils.h',
'rest.h',
]
librest_deps = [
glib_dep,
libsoup_dep,
libjson_glib_dep,
libxml_dep,
]
librest_c_args = [
'-DG_LOG_DOMAIN="Rest"',
]
librest_lib = library('rest-@0@'.format(librest_api_version),
librest_sources,
dependencies: librest_deps,
c_args: librest_c_args,
include_directories: config_h_inc,
version: librest_module_version,
soversion: librest_soversion,
install: true,
)
install_headers(librest_headers,
subdir: librest_pkg_string / 'rest',
)
rest_dep_sources = []
# GObject Introspection
if get_option('vapi') and not get_option('introspection')
warning('Vapi generation needs "introspection" option in order to generate the .vapi file')
endif
if get_option('introspection')
librest_gir_extra_args = [
'--accept-unprefixed',
'--c-include=rest/rest-enum-types.h',
]
foreach header : librest_headers
librest_gir_extra_args += '--c-include=rest/@0@'.format(header)
endforeach
librest_gir = gnome.generate_gir(librest_lib,
sources: librest_sources + librest_headers + librest_enums,
nsversion: librest_api_version,
namespace: 'Rest',
symbol_prefix: 'rest',
identifier_prefix: 'Rest',
export_packages: librest_pkg_string,
includes: [ 'GObject-2.0', 'Gio-2.0', 'Soup-@0@'.format(libsoup_api_version) ],
extra_args: librest_gir_extra_args,
install: true,
)
rest_dep_sources += librest_gir
if get_option('vapi')
librest_vapi = gnome.generate_vapi(librest_pkg_string,
sources: librest_gir [0],
packages: [ 'glib-2.0', 'libsoup-@0@'.format(libsoup_api_version) ],
install: true,
)
endif
endif
librest_dep = declare_dependency(
sources: rest_dep_sources,
link_with: librest_lib,
include_directories: include_directories('..'),
dependencies: librest_deps,
)
meson.override_dependency('rest-1.0', librest_dep)
|