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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
libpeas_srcdir = include_directories('.')
version_data = configuration_data()
version_data.set('PEAS_MAJOR_VERSION', version_major)
version_data.set('PEAS_MINOR_VERSION', version_minor)
version_data.set('PEAS_MICRO_VERSION', version_micro)
version_data.set('PEAS_VERSION', meson.project_version())
peas_version_h = configure_file(
input: 'peas-version.h.in',
output: 'peas-version.h',
configuration: version_data,
install_dir: pkgincludedir,
)
libpeas_public_h = files(
'peas-engine.h',
'peas-extension-base.h',
'peas-extension-set.h',
'peas-object-module.h',
'peas-plugin-info.h',
'peas-version-macros.h',
'libpeas.h',
)
libpeas_sources = files(
'peas-debug.c',
'peas-dirs.c',
'peas-engine.c',
'peas-extension-base.c',
'peas-extension-set.c',
'peas-i18n.c',
'peas-object-module.c',
'peas-plugin-info.c',
'peas-plugin-loader.c',
'peas-plugin-loader-c.c',
'peas-utils.c',
)
if build_machine.system() == 'darwin'
libpeas_sources += [
'peas-utils-osx.m',
'peas-utils-osx.h',
]
endif
libpeas_deps = [
glib_dep,
gobject_dep,
gmodule_dep,
gio_dep,
]
libpeas_c_args = [
'-DG_LOG_DOMAIN="libpeas"',
'-DDATADIR="@0@"'.format(datadir),
'-DLIBDIR="@0@"'.format(libdir),
]
libpeas_link_args = [
]
if build_machine.system() == 'darwin'
libpeas_link_args += [
'-Wl,-framework', '-Wl,Foundation',
'-Wl,-framework', '-Wl,AppKit',
]
endif
libpeas_marshal = gnome.genmarshal(
'peas-marshal',
sources: 'peas-marshal.list',
prefix: 'peas_cclosure_marshal',
install_header: false,
valist_marshallers: true,
)
libpeas_marshals_h = libpeas_marshal.get(1)
install_headers(libpeas_public_h, install_dir: pkgincludedir)
libpeas_sha = library(
package_string.strip('lib'),
libpeas_sources + libpeas_marshal,
version: lib_version,
darwin_versions: lib_version_osx,
include_directories: [rootdir, libpeas_srcdir],
dependencies: libpeas_deps,
c_args: libpeas_c_args + hidden_visibility_args,
objc_args: libpeas_c_args,
link_args: libpeas_link_args,
install: true,
)
libpeas_dep_sources = [
libpeas_marshals_h,
]
if generate_gir == true
libpeas_gir_includes = [
'GObject-2.0',
'GModule-2.0',
'Gio-2.0',
'GIRepository-2.0'
]
libpeas_gir = gnome.generate_gir(
libpeas_sha,
sources: libpeas_sources + libpeas_public_h,
nsversion: api_version,
namespace: 'Peas',
symbol_prefix: 'peas',
identifier_prefix: 'Peas',
header: 'peas.h',
export_packages: [package_string],
includes: libpeas_gir_includes,
link_with: libpeas_sha,
install: true,
install_dir_gir: girdir,
install_dir_typelib: typelibdir,
extra_args: [
'--warn-all',
],
)
libpeas_dep_sources += [
libpeas_gir,
]
endif
libpeas_dep = declare_dependency(
link_with: libpeas_sha,
include_directories: [rootdir, libpeas_srcdir],
dependencies: libpeas_deps,
sources: libpeas_dep_sources,
)
libpeas_pc_reqs = [
'glib-2.0 @0@'.format(glib_req),
'gobject-2.0 @0@'.format(glib_req),
'gmodule-2.0 @0@'.format(glib_req),
'gio-2.0 @0@'.format(glib_req),
]
libpeas_pc = pkg.generate(
libpeas_sha,
name: package_string,
description: 'GObject plugins library',
subdirs: package_string,
install_dir: pkgconfigdir,
requires: libpeas_pc_reqs,
)
|