| # Copyright 2017 The Fuchsia Authors. All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are |
| # met: |
| # |
| # * Redistributions of source code must retain the above copyright |
| # notice, this list of conditions and the following disclaimer. |
| # * Redistributions in binary form must reproduce the above |
| # copyright notice, this list of conditions and the following disclaimer |
| # in the documentation and/or other materials provided with the |
| # distribution. |
| # * Neither the name of Google Inc. nor the names of its |
| # contributors may be used to endorse or promote products derived from |
| # this software without specific prior written permission. |
| # |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| # This is the configuration needed to use libxml2. |
| config("libxml2_config") { |
| include_dirs = [ "include" ] |
| } |
| |
| # This is the configuration used to build libxml2 itself. It should not be needed outside of this |
| # library. |
| # |
| # This has to be a config instead of flags directly specified on the libxml2 target so the -Wno-* |
| # flags are ordered after the -Werror flags from the default configs. |
| config("libxml2_private_config") { |
| visibility = [ ":*" ] |
| cflags = [ |
| "-Wno-conversion", |
| "-Wno-empty-body", |
| "-Wno-enum-compare", |
| "-Wno-implicit-fallthrough", |
| "-Wno-incompatible-pointer-types", |
| "-Wno-misleading-indentation", |
| "-Wno-missing-field-initializers", |
| "-Wno-self-assign", |
| "-Wno-sign-compare", |
| "-Wno-tautological-pointer-compare", |
| "-Wno-unused-function", |
| "-Wno-unused-but-set-variable", |
| ] |
| defines = [ |
| "HAVE_CONFIG_H", |
| "_REENTRANT", |
| ] |
| if (is_linux) { |
| defines += [ "_GNU_SOURCE" ] |
| } |
| } |
| |
| target(default_library_type, "libxml2") { |
| sources = [ |
| "DOCBparser.c", |
| "HTMLparser.c", |
| "HTMLtree.c", |
| "SAX.c", |
| "SAX2.c", |
| "buf.c", |
| "c14n.c", |
| "catalog.c", |
| "chvalid.c", |
| "debugXML.c", |
| "dict.c", |
| "encoding.c", |
| "entities.c", |
| "error.c", |
| "globals.c", |
| "hash.c", |
| "include/libxml/DOCBparser.h", |
| "include/libxml/HTMLparser.h", |
| "include/libxml/HTMLtree.h", |
| "include/libxml/SAX.h", |
| "include/libxml/SAX2.h", |
| "include/libxml/c14n.h", |
| "include/libxml/catalog.h", |
| "include/libxml/chvalid.h", |
| "include/libxml/debugXML.h", |
| "include/libxml/dict.h", |
| "include/libxml/encoding.h", |
| "include/libxml/entities.h", |
| "include/libxml/globals.h", |
| "include/libxml/hash.h", |
| "include/libxml/list.h", |
| "include/libxml/nanoftp.h", |
| "include/libxml/nanohttp.h", |
| "include/libxml/parser.h", |
| "include/libxml/parserInternals.h", |
| "include/libxml/pattern.h", |
| "include/libxml/relaxng.h", |
| "include/libxml/schemasInternals.h", |
| "include/libxml/schematron.h", |
| "include/libxml/threads.h", |
| "include/libxml/tree.h", |
| "include/libxml/uri.h", |
| "include/libxml/valid.h", |
| "include/libxml/xinclude.h", |
| "include/libxml/xlink.h", |
| "include/libxml/xmlIO.h", |
| "include/libxml/xmlautomata.h", |
| "include/libxml/xmlerror.h", |
| "include/libxml/xmlexports.h", |
| "include/libxml/xmlmemory.h", |
| "include/libxml/xmlmodule.h", |
| "include/libxml/xmlreader.h", |
| "include/libxml/xmlregexp.h", |
| "include/libxml/xmlsave.h", |
| "include/libxml/xmlschemas.h", |
| "include/libxml/xmlschemastypes.h", |
| "include/libxml/xmlstring.h", |
| "include/libxml/xmlunicode.h", |
| "include/libxml/xmlversion.h", |
| "include/libxml/xmlwriter.h", |
| "include/libxml/xpath.h", |
| "include/libxml/xpathInternals.h", |
| "include/libxml/xpointer.h", |
| "legacy.c", |
| "list.c", |
| "nanoftp.c", |
| "nanohttp.c", |
| "parser.c", |
| "parserInternals.c", |
| "pattern.c", |
| "relaxng.c", |
| "schematron.c", |
| "threads.c", |
| "tree.c", |
| "uri.c", |
| "valid.c", |
| "xinclude.c", |
| "xlink.c", |
| "xmlIO.c", |
| "xmlmemory.c", |
| "xmlmodule.c", |
| "xmlreader.c", |
| "xmlregexp.c", |
| "xmlsave.c", |
| "xmlschemas.c", |
| "xmlschemastypes.c", |
| "xmlstring.c", |
| "xmlunicode.c", |
| "xmlwriter.c", |
| "xpath.c", |
| "xpointer.c", |
| "xzlib.c", |
| ] |
| |
| public_configs = [ ":libxml2_config" ] |
| configs -= [ "//build/config:symbol_visibility_hidden" ] |
| configs += [ ":libxml2_private_config" ] |
| |
| if (is_linux) { |
| libs = [ "dl" ] |
| } else if (is_mac) { |
| libs = [ "iconv" ] |
| } |
| |
| deps = [ "//third_party/zlib" ] |
| } |