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
154
155
156
157
158
159
160
161
162
163
164
165
166
|
atk_sources = [
'atkaction.c',
'atkcomponent.c',
'atkdocument.c',
'atkeditabletext.c',
'atkgobjectaccessible.c',
'atkhyperlink.c',
'atkhyperlinkimpl.c',
'atkhypertext.c',
'atkimage.c',
'atknoopobject.c',
'atknoopobjectfactory.c',
'atkobject.c',
'atkobjectfactory.c',
'atkplug.c',
'atkprivate.c',
'atkrange.c',
'atkregistry.c',
'atkrelation.c',
'atkrelationset.c',
'atkselection.c',
'atksocket.c',
'atkstate.c',
'atkstateset.c',
'atkstreamablecontent.c',
'atktable.c',
'atktablecell.c',
'atktext.c',
'atkutil.c',
'atkmisc.c',
'atkvalue.c',
'atkversion.c',
'atkwindow.c',
]
atk_headers = [
'atkaction.h',
'atkcomponent.h',
'atkdocument.h',
'atkeditabletext.h',
'atkgobjectaccessible.h',
'atkhyperlink.h',
'atkhyperlinkimpl.h',
'atkhypertext.h',
'atkimage.h',
'atkmisc.h',
'atknoopobject.h',
'atknoopobjectfactory.h',
'atkobject.h',
'atkobjectfactory.h',
'atkplug.h',
'atkrange.h',
'atkregistry.h',
'atkrelation.h',
'atkrelationtype.h',
'atkrelationset.h',
'atkselection.h',
'atksocket.h',
'atkstate.h',
'atkstateset.h',
'atkstreamablecontent.h',
'atktable.h',
'atktablecell.h',
'atktext.h',
'atkutil.h',
'atkvalue.h',
'atkwindow.h',
]
install_headers(atk_headers + ['atk.h'], subdir: atk_api_path)
# Features header
atk_version_conf = configuration_data()
atk_version_conf.set('ATK_MAJOR_VERSION', atk_major_version)
atk_version_conf.set('ATK_MINOR_VERSION', atk_minor_version)
atk_version_conf.set('ATK_MICRO_VERSION', atk_micro_version)
atk_version_conf.set('ATK_BINARY_AGE', atk_binary_age)
atk_version_conf.set('ATK_INTERFACE_AGE', atk_interface_age)
atk_version_conf.set('LT_CURRENT_MINUS_AGE', '0')
atk_version_conf.set('ATK_VERSION', meson.project_version())
atk_version_h = configure_file(input: 'atkversion.h.in',
output: 'atkversion.h',
configuration: atk_version_conf,
install_dir: join_paths(atk_includedir, atk_api_path),
)
# Marshallers
atk_marshals = gnome.genmarshal('atkmarshal',
sources: 'atkmarshal.list',
prefix: 'atk_marshal',
)
atk_marshal_h = atk_marshals[1]
# Enumerations for GType
atk_enums = gnome.mkenums('atk-enum-types',
sources: atk_headers,
c_template: 'atk-enum-types.c.template',
h_template: 'atk-enum-types.h.template',
install_dir: join_paths(atk_includedir, atk_api_path),
install_header: true,
)
atk_enum_h = atk_enums[1]
atk_cflags = [
'-DG_LOG_DOMAIN="Atk"',
'-DG_LOG_USE_STRUCTURED=1',
'-DGLIB_DISABLE_DEPRECATION_WARNINGS',
'-DATK_DISABLE_DEPRECATION_WARNINGS',
'-DATK_COMPILATION',
'-DATK_LOCALEDIR="@0@"'.format(join_paths(atk_datadir, 'locale')),
]
if host_system == 'windows'
atk_win_rc = configure_file(
input: 'atk.rc.in',
output: 'atk.rc',
configuration: atk_version_conf,
)
atk_win_res = import('windows').compile_resources(atk_win_rc)
atk_sources += atk_win_res
endif
libatk = library(atk_api_name,
sources: atk_sources + atk_enums + atk_marshals,
soversion: atk_soversion,
version: atk_libversion,
install: true,
dependencies: glib_dep,
include_directories: [ root_inc, atk_inc ],
c_args: common_cflags + atk_cflags,
link_args: common_ldflags,
)
atk_sources_dep = [ atk_enum_h ]
if get_option('introspection')
atk_sources_dep += gnome.generate_gir(libatk,
sources: atk_sources + atk_headers + [ atk_enum_h ] + [ atk_version_h ],
namespace: 'Atk',
nsversion: atk_api_version,
identifier_prefix: 'Atk',
symbol_prefix: 'atk',
export_packages: 'atk',
includes: [ 'GObject-2.0' ],
install: true,
extra_args: [
'--quiet',
'--c-include=atk/atk.h',
'-DATK_COMPILATION',
],
)
endif
libatk_dep = declare_dependency(link_with: libatk,
include_directories: atk_inc,
dependencies: glib_dep,
sources: atk_sources_dep,
)
pkgconfig.generate(libatk,
name: 'Atk',
description: 'Accessibility Toolkit',
subdirs: atk_api_name,
filebase: 'atk',
)
|