• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 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.
13import("//build/ohos.gni")
14LIBXML_PATH = "//third_party/libxml2"
15
16config("restool_libxml2_config") {
17  include_dirs = []
18  if (is_mingw) {
19    include_dirs +=
20        [ "//developtools/global_resource_tool/build/libxml2/win32/include" ]
21    defines = [ "LIBXML_STATIC" ]
22  } else if (is_mac) {
23    defines = [ "LIBXML_THREAD_ENABLED" ]
24  }
25
26  include_dirs += [ "${LIBXML_PATH}/include" ]
27
28  cflags_cc = [ "-std=c++17" ]
29
30  cflags_c = [
31    "-Wno-implicit-fallthrough",
32    "-Wno-implicit-function-declaration",
33    "-Wno-int-conversion",
34  ]
35}
36
37ohos_static_library("restool_libxml2") {
38  sources = [
39    "${LIBXML_PATH}/DOCBparser.c",
40    "${LIBXML_PATH}/HTMLparser.c",
41    "${LIBXML_PATH}/HTMLtree.c",
42    "${LIBXML_PATH}/SAX.c",
43    "${LIBXML_PATH}/SAX2.c",
44    "${LIBXML_PATH}/buf.c",
45    "${LIBXML_PATH}/c14n.c",
46    "${LIBXML_PATH}/catalog.c",
47    "${LIBXML_PATH}/chvalid.c",
48    "${LIBXML_PATH}/debugXML.c",
49    "${LIBXML_PATH}/dict.c",
50    "${LIBXML_PATH}/encoding.c",
51    "${LIBXML_PATH}/entities.c",
52    "${LIBXML_PATH}/error.c",
53    "${LIBXML_PATH}/globals.c",
54    "${LIBXML_PATH}/hash.c",
55    "${LIBXML_PATH}/include/libxml/DOCBparser.h",
56    "${LIBXML_PATH}/include/libxml/HTMLparser.h",
57    "${LIBXML_PATH}/include/libxml/HTMLtree.h",
58    "${LIBXML_PATH}/include/libxml/SAX.h",
59    "${LIBXML_PATH}/include/libxml/SAX2.h",
60    "${LIBXML_PATH}/include/libxml/c14n.h",
61    "${LIBXML_PATH}/include/libxml/catalog.h",
62    "${LIBXML_PATH}/include/libxml/chvalid.h",
63    "${LIBXML_PATH}/include/libxml/debugXML.h",
64    "${LIBXML_PATH}/include/libxml/dict.h",
65    "${LIBXML_PATH}/include/libxml/encoding.h",
66    "${LIBXML_PATH}/include/libxml/entities.h",
67    "${LIBXML_PATH}/include/libxml/globals.h",
68    "${LIBXML_PATH}/include/libxml/hash.h",
69    "${LIBXML_PATH}/include/libxml/list.h",
70    "${LIBXML_PATH}/include/libxml/nanoftp.h",
71    "${LIBXML_PATH}/include/libxml/nanohttp.h",
72    "${LIBXML_PATH}/include/libxml/parser.h",
73    "${LIBXML_PATH}/include/libxml/parserInternals.h",
74    "${LIBXML_PATH}/include/libxml/pattern.h",
75    "${LIBXML_PATH}/include/libxml/relaxng.h",
76    "${LIBXML_PATH}/include/libxml/schemasInternals.h",
77    "${LIBXML_PATH}/include/libxml/schematron.h",
78    "${LIBXML_PATH}/include/libxml/threads.h",
79    "${LIBXML_PATH}/include/libxml/tree.h",
80    "${LIBXML_PATH}/include/libxml/uri.h",
81    "${LIBXML_PATH}/include/libxml/valid.h",
82    "${LIBXML_PATH}/include/libxml/xinclude.h",
83    "${LIBXML_PATH}/include/libxml/xlink.h",
84    "${LIBXML_PATH}/include/libxml/xmlIO.h",
85    "${LIBXML_PATH}/include/libxml/xmlautomata.h",
86    "${LIBXML_PATH}/include/libxml/xmlerror.h",
87    "${LIBXML_PATH}/include/libxml/xmlexports.h",
88    "${LIBXML_PATH}/include/libxml/xmlmemory.h",
89    "${LIBXML_PATH}/include/libxml/xmlmodule.h",
90    "${LIBXML_PATH}/include/libxml/xmlreader.h",
91    "${LIBXML_PATH}/include/libxml/xmlregexp.h",
92    "${LIBXML_PATH}/include/libxml/xmlsave.h",
93    "${LIBXML_PATH}/include/libxml/xmlschemas.h",
94    "${LIBXML_PATH}/include/libxml/xmlschemastypes.h",
95    "${LIBXML_PATH}/include/libxml/xmlstring.h",
96    "${LIBXML_PATH}/include/libxml/xmlunicode.h",
97    "${LIBXML_PATH}/include/libxml/xmlwriter.h",
98    "${LIBXML_PATH}/include/libxml/xpath.h",
99    "${LIBXML_PATH}/include/libxml/xpathInternals.h",
100    "${LIBXML_PATH}/include/libxml/xpointer.h",
101    "${LIBXML_PATH}/legacy.c",
102    "${LIBXML_PATH}/list.c",
103    "${LIBXML_PATH}/nanoftp.c",
104    "${LIBXML_PATH}/nanohttp.c",
105    "${LIBXML_PATH}/parser.c",
106    "${LIBXML_PATH}/parserInternals.c",
107    "${LIBXML_PATH}/pattern.c",
108    "${LIBXML_PATH}/relaxng.c",
109    "${LIBXML_PATH}/schematron.c",
110    "${LIBXML_PATH}/threads.c",
111    "${LIBXML_PATH}/tree.c",
112    "${LIBXML_PATH}/uri.c",
113    "${LIBXML_PATH}/valid.c",
114    "${LIBXML_PATH}/xinclude.c",
115    "${LIBXML_PATH}/xlink.c",
116    "${LIBXML_PATH}/xmlIO.c",
117    "${LIBXML_PATH}/xmlmemory.c",
118    "${LIBXML_PATH}/xmlmodule.c",
119    "${LIBXML_PATH}/xmlreader.c",
120    "${LIBXML_PATH}/xmlregexp.c",
121    "${LIBXML_PATH}/xmlsave.c",
122    "${LIBXML_PATH}/xmlschemas.c",
123    "${LIBXML_PATH}/xmlschemastypes.c",
124    "${LIBXML_PATH}/xmlstring.c",
125    "${LIBXML_PATH}/xmlunicode.c",
126    "${LIBXML_PATH}/xmlwriter.c",
127    "${LIBXML_PATH}/xpath.c",
128    "${LIBXML_PATH}/xpointer.c",
129    "${LIBXML_PATH}/xzlib.c",
130  ]
131
132  public_configs = [ ":restool_libxml2_config" ]
133
134  subsystem_name = "developtools"
135  part_name = "global_restool"
136}
137