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