summaryrefslogtreecommitdiff
path: root/libsoup/meson.build
blob: 3c6d39134c88025e9bc463b820fa557ac12d4434 (plain)
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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
soup_sources = [
  'soup-address.c',
  'soup-auth.c',
  'soup-auth-basic.c',
  'soup-auth-digest.c',
  'soup-auth-ntlm.c',
  'soup-auth-negotiate.c',
  'soup-auth-domain.c',
  'soup-auth-domain-basic.c',
  'soup-auth-domain-digest.c',
  'soup-auth-manager.c',
  'soup-body-input-stream.c',
  'soup-body-output-stream.c',
  'soup-cache.c',
  'soup-cache-client-input-stream.c',
  'soup-cache-input-stream.c',
  'soup-client-input-stream.c',
  'soup-connection.c',
  'soup-connection-auth.c',
  'soup-content-decoder.c',
  'soup-content-processor.c',
  'soup-content-sniffer.c',
  'soup-content-sniffer-stream.c',
  'soup-converter-wrapper.c',
  'soup-cookie.c',
  'soup-cookie-jar.c',
  'soup-cookie-jar-db.c',
  'soup-cookie-jar-text.c',
  'soup-date.c',
  'soup-directory-input-stream.c',
  'soup-filter-input-stream.c',
  'soup-form.c',
  'soup-headers.c',
  'soup-init.c',
  'soup-io-stream.c',
  'soup-logger.c',
  'soup-message.c',
  'soup-message-body.c',
  'soup-message-client-io.c',
  'soup-message-headers.c',
  'soup-message-io.c',
  'soup-message-queue.c',
  'soup-message-server-io.c',
  'soup-method.c',
  'soup-misc.c',
  'soup-multipart.c',
  'soup-multipart-input-stream.c',
  'soup-password-manager.c',
  'soup-path-map.c',
  'soup-proxy-resolver.c',
  'soup-proxy-resolver-default.c',
  'soup-proxy-resolver-wrapper.c',
  'soup-proxy-uri-resolver.c',
  'soup-request.c',
  'soup-request-data.c',
  'soup-request-file.c',
  'soup-request-http.c',
  'soup-requester.c',
  'soup-server.c',
  'soup-session.c',
  'soup-session-async.c',
  'soup-session-feature.c',
  'soup-session-sync.c',
  'soup-socket.c',
  'soup-socket-properties.c',
  'soup-status.c',
  'soup-tld.c',
  'soup-uri.c',
  'soup-value-utils.c',
  'soup-version.c',
  'soup-websocket.c',
  'soup-websocket-connection.c',
  'soup-xmlrpc.c',
  'soup-xmlrpc-old.c',
]

soup_headers = [
  'soup.h',
  'soup-address.h',
  'soup-auth.h',
  'soup-auth-domain.h',
  'soup-auth-domain-basic.h',
  'soup-auth-domain-digest.h',
  'soup-auth-manager.h',
  'soup-autocleanups.h',
  'soup-cache.h',
  'soup-content-decoder.h',
  'soup-content-sniffer.h',
  'soup-cookie.h',
  'soup-cookie-jar.h',
  'soup-cookie-jar-db.h',
  'soup-cookie-jar-text.h',
  'soup-date.h',
  'soup-form.h',
  'soup-headers.h',
  'soup-logger.h',
  'soup-message.h',
  'soup-message-body.h',
  'soup-message-headers.h',
  'soup-method.h',
  'soup-misc.h',
  'soup-multipart.h',
  'soup-multipart-input-stream.h',
  'soup-password-manager.h',
  'soup-portability.h',
  'soup-proxy-resolver.h',
  'soup-proxy-resolver-default.h',
  'soup-proxy-uri-resolver.h',
  'soup-request.h',
  'soup-request-data.h',
  'soup-request-file.h',
  'soup-request-http.h',
  'soup-requester.h',
  'soup-server.h',
  'soup-session.h',
  'soup-session-async.h',
  'soup-session-feature.h',
  'soup-session-sync.h',
  'soup-socket.h',
  'soup-status.h',
  'soup-tld.h',
  'soup-types.h',
  'soup-uri.h',
  'soup-value-utils.h',
  'soup-websocket.h',
  'soup-websocket-connection.h',
  'soup-xmlrpc.h',
  'soup-xmlrpc-old.h',
]

soup_gnome_sources = [
  'soup-cookie-jar-sqlite.c',
  'soup-gnome-features.c',
  'soup-proxy-resolver-gnome.c',
  'soup-password-manager-gnome.c'
]

soup_gnome_headers = [
  'soup-proxy-resolver-gnome.h',
  'soup-password-manager-gnome.h'
]

includedir = 'libsoup-@0@/libsoup'.format(apiversion)
install_headers(soup_headers, subdir : includedir)

version_cdata = configuration_data()
version_cdata.set('SOUP_MAJOR_VERSION', soup_version_major)
version_cdata.set('SOUP_MINOR_VERSION', soup_version_minor)
version_cdata.set('SOUP_MICRO_VERSION', soup_version_micro)

configure_file(input : 'soup-version.h.in',
  output : 'soup-version.h',
  install_dir : join_paths(get_option('includedir'), includedir),
  configuration : version_cdata)

soup_enums = gnome.mkenums('soup-enum-types',
  sources : soup_headers,
  h_template : 'soup-enum-types.h.template',
  c_template : 'soup-enum-types.c.template',
  install_header : true,
  install_dir : join_paths(get_option('includedir'), includedir))

soupenum_h = soup_enums[1]
soupenum_c = soup_enums[0]

tldparser = find_program(join_paths(meson.current_source_dir(), 'tld-parser.py'))
tlddata = custom_target('tlddata',
  output : 'tld_data.inc',
  input : join_paths(meson.source_root(), 'data', 'effective_tld_names.dat'),
  install : false,
  command : [tldparser, '@INPUT@', '@OUTPUT@'])

libsoup_c_args  = ['-DHAVE_CONFIG_H']
libsoup_c_args += ['-DG_LOG_DOMAIN="libsoup"']
libsoup_c_args += ['-DLIBSOUP_COMPILATION']

libsoup = library('soup-@0@'.format(apiversion), soup_sources,
    soupenum_h, soupenum_c, tlddata,
    version : libversion,
    soversion : soversion,
    c_args : libsoup_c_args,
    include_directories : [configinc],
    install : true,
    dependencies : [glib_dep, libxml_dep, sqlite_dep, platform_deps]
  )

libsoup_dep = declare_dependency(link_with : libsoup,
    include_directories : configinc)

if cdata.get('BUILD_LIBSOUP_GNOME')
  includedir = 'libsoup-gnome-@0@/libsoup'.format(apiversion)
  install_headers(soup_gnome_headers, subdir : includedir)

  libsoup_gnome = library('soup-gnome-@0@'.format(apiversion), soup_gnome_sources,
      version : libversion,
      soversion : soversion,
      c_args : libsoup_c_args,
      include_directories : [configinc],
      install : true,
      dependencies : [glib_dep, libxml_dep, sqlite_dep, libsoup_dep])
endif