• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15
16config("libsoup_config") {
17  cflags = [
18    "-DHAVE_CONFIG_H",
19    "-DUSE_SQLITE_SYMBOLS",
20    "-DG_LOG_DOMAIN=\"libsoup\"",
21    "-DLIBSOUP_COMPILATION",
22    "-Wno-sign-compare",
23    "-Wno-#pragma-messages",
24    "-DOHOS_GLIB_COMPATIBLE",
25    "-fno-signed-char",
26  ]
27}
28
29ohos_source_set("soup_dynamic") {
30  sources = [
31    "//third_party/libsoup/libsoup/soup-address.c",
32    "//third_party/libsoup/libsoup/soup-auth-basic.c",
33    "//third_party/libsoup/libsoup/soup-auth-digest.c",
34    "//third_party/libsoup/libsoup/soup-auth-domain-basic.c",
35    "//third_party/libsoup/libsoup/soup-auth-domain-digest.c",
36    "//third_party/libsoup/libsoup/soup-auth-domain.c",
37    "//third_party/libsoup/libsoup/soup-auth-manager.c",
38    "//third_party/libsoup/libsoup/soup-auth-negotiate.c",
39    "//third_party/libsoup/libsoup/soup-auth-ntlm.c",
40    "//third_party/libsoup/libsoup/soup-auth.c",
41    "//third_party/libsoup/libsoup/soup-body-input-stream.c",
42    "//third_party/libsoup/libsoup/soup-body-output-stream.c",
43    "//third_party/libsoup/libsoup/soup-cache-client-input-stream.c",
44    "//third_party/libsoup/libsoup/soup-cache-input-stream.c",
45    "//third_party/libsoup/libsoup/soup-cache.c",
46    "//third_party/libsoup/libsoup/soup-client-input-stream.c",
47    "//third_party/libsoup/libsoup/soup-connection-auth.c",
48    "//third_party/libsoup/libsoup/soup-connection.c",
49    "//third_party/libsoup/libsoup/soup-content-decoder.c",
50    "//third_party/libsoup/libsoup/soup-content-processor.c",
51    "//third_party/libsoup/libsoup/soup-content-sniffer-stream.c",
52    "//third_party/libsoup/libsoup/soup-content-sniffer.c",
53    "//third_party/libsoup/libsoup/soup-converter-wrapper.c",
54    "//third_party/libsoup/libsoup/soup-cookie-jar-db.c",
55    "//third_party/libsoup/libsoup/soup-cookie-jar-sqlite.c",
56    "//third_party/libsoup/libsoup/soup-cookie-jar-text.c",
57    "//third_party/libsoup/libsoup/soup-cookie-jar.c",
58    "//third_party/libsoup/libsoup/soup-cookie.c",
59    "//third_party/libsoup/libsoup/soup-date.c",
60    "//third_party/libsoup/libsoup/soup-directory-input-stream.c",
61    "//third_party/libsoup/libsoup/soup-enum-types.c",
62    "//third_party/libsoup/libsoup/soup-filter-input-stream.c",
63    "//third_party/libsoup/libsoup/soup-form.c",
64    "//third_party/libsoup/libsoup/soup-gnome-features.c",
65    "//third_party/libsoup/libsoup/soup-headers.c",
66    "//third_party/libsoup/libsoup/soup-hsts-enforcer-db.c",
67    "//third_party/libsoup/libsoup/soup-hsts-enforcer.c",
68    "//third_party/libsoup/libsoup/soup-hsts-policy.c",
69    "//third_party/libsoup/libsoup/soup-init.c",
70    "//third_party/libsoup/libsoup/soup-io-stream.c",
71    "//third_party/libsoup/libsoup/soup-logger.c",
72    "//third_party/libsoup/libsoup/soup-message-body.c",
73    "//third_party/libsoup/libsoup/soup-message-client-io.c",
74    "//third_party/libsoup/libsoup/soup-message-headers.c",
75    "//third_party/libsoup/libsoup/soup-message-io.c",
76    "//third_party/libsoup/libsoup/soup-message-queue.c",
77    "//third_party/libsoup/libsoup/soup-message-server-io.c",
78    "//third_party/libsoup/libsoup/soup-message.c",
79    "//third_party/libsoup/libsoup/soup-method.c",
80    "//third_party/libsoup/libsoup/soup-misc.c",
81    "//third_party/libsoup/libsoup/soup-multipart-input-stream.c",
82    "//third_party/libsoup/libsoup/soup-multipart.c",
83    "//third_party/libsoup/libsoup/soup-password-manager-gnome.c",
84    "//third_party/libsoup/libsoup/soup-password-manager.c",
85    "//third_party/libsoup/libsoup/soup-path-map.c",
86    "//third_party/libsoup/libsoup/soup-proxy-resolver-default.c",
87    "//third_party/libsoup/libsoup/soup-proxy-resolver-gnome.c",
88    "//third_party/libsoup/libsoup/soup-proxy-resolver-wrapper.c",
89    "//third_party/libsoup/libsoup/soup-proxy-resolver.c",
90    "//third_party/libsoup/libsoup/soup-proxy-uri-resolver.c",
91    "//third_party/libsoup/libsoup/soup-request-data.c",
92    "//third_party/libsoup/libsoup/soup-request-file.c",
93    "//third_party/libsoup/libsoup/soup-request-http.c",
94    "//third_party/libsoup/libsoup/soup-request.c",
95    "//third_party/libsoup/libsoup/soup-requester.c",
96    "//third_party/libsoup/libsoup/soup-server.c",
97    "//third_party/libsoup/libsoup/soup-session-async.c",
98    "//third_party/libsoup/libsoup/soup-session-feature.c",
99    "//third_party/libsoup/libsoup/soup-session-sync.c",
100    "//third_party/libsoup/libsoup/soup-session.c",
101    "//third_party/libsoup/libsoup/soup-socket-properties.c",
102    "//third_party/libsoup/libsoup/soup-socket.c",
103    "//third_party/libsoup/libsoup/soup-status.c",
104    "//third_party/libsoup/libsoup/soup-tld.c",
105    "//third_party/libsoup/libsoup/soup-uri.c",
106    "//third_party/libsoup/libsoup/soup-value-utils.c",
107    "//third_party/libsoup/libsoup/soup-version.c",
108    "//third_party/libsoup/libsoup/soup-websocket-connection.c",
109    "//third_party/libsoup/libsoup/soup-websocket-extension-deflate.c",
110    "//third_party/libsoup/libsoup/soup-websocket-extension-manager.c",
111    "//third_party/libsoup/libsoup/soup-websocket-extension.c",
112    "//third_party/libsoup/libsoup/soup-websocket.c",
113    "//third_party/libsoup/libsoup/soup-xmlrpc-old.c",
114    "//third_party/libsoup/libsoup/soup-xmlrpc.c",
115  ]
116
117  configs = [ ":libsoup_config" ]
118  include_dirs = [
119    "//third_party/libsoup",
120    "//third_party/libsoup/libsoup",
121    "//third_party/glib",
122    "//third_party/glib/glib",
123    "//third_party/glib/gmodule",
124    "//third_party/glib/gio",
125    "//third_party/sqlite/include",
126    "//third_party/gettext/gettext-runtime/intl",
127    "//third_party/zlib",
128    "//third_party/libxml2/include",
129    "//third_party/libpsl/include",
130  ]
131}
132
133ohos_shared_library("libohossoup") {
134  deps = [
135    ":soup_dynamic",
136    "//third_party/gettext:libgettext",
137    "//third_party/glib:gio",
138    "//third_party/glib:glib",
139    "//third_party/glib:gobject",
140    "//third_party/libpsl:libpsl",
141    "//third_party/libxml2:xml2",
142    "//third_party/sqlite:sqlite",
143    "//third_party/zlib:libz",
144  ]
145  part_name = "libsoup"
146  subsystem_name = "thirdparty"
147}
148