// // Copyright (C) 2014 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // // To update: // // git merge aosp/upstream-master // mma -j // # (Make any necessary Android.bp changes and test the new libxml2.) // git push aosp HEAD:master # Push directly, avoiding gerrit. // git push aosp HEAD:refs/for/master # Push to gerrit. // // # Now commit any necessary Android.bp changes like normal: // repo start post-sync . // git commit -a // // This comes from the automake-generated Makefile. // We deliberately exclude nanoftp.c and nanohttp.c, the trio library, and zlib. cc_defaults { name: "libxml2-defaults", srcs: [ "SAX.c", "entities.c", "encoding.c", "error.c", "parserInternals.c", "parser.c", "tree.c", "hash.c", "list.c", "xmlIO.c", "xmlmemory.c", "uri.c", "valid.c", "xlink.c", "debugXML.c", "xpath.c", "xpointer.c", "xinclude.c", "DOCBparser.c", "catalog.c", "globals.c", "threads.c", "c14n.c", "xmlstring.c", "buf.c", "xmlregexp.c", "xmlschemas.c", "xmlschemastypes.c", "xmlunicode.c", "xmlreader.c", "relaxng.c", "dict.c", "SAX2.c", "xmlwriter.c", "legacy.c", "chvalid.c", "pattern.c", "xmlsave.c", "xmlmodule.c", "schematron.c", ], export_include_dirs: ["include"], cflags: [ "-DLIBXML_THREAD_ENABLED=1", // Poison various things that should not be defined. "-DLIBXML_LEGACY_ENABLED=NO", "-DLIBXML_FTP_ENABLED=NO", "-DLIBXML_HTML_ENABLED=NO", "-DLIBXML_HTTP_ENABLED=NO", "-DLIBXML_ICONV_ENABLED=NO", "-DLIBXML_LZMA_ENABLED=NO", "-DLIBXML_ZLIB_ENABLED=NO", // And this one depends on whether or not we're building for the VNDK. "-DLIBXML_ICU_ENABLED=NO", "-Wall", "-Werror", "-Wno-error=ignored-attributes", "-Wno-missing-field-initializers", "-Wno-self-assign", "-Wno-sign-compare", "-Wno-tautological-pointer-compare", "-Wno-unused-function", "-Wno-unused-parameter", ], static: { cflags: [ "-fvisibility=hidden", "-DSTATIC_LIBXML=1", ], }, shared: { shared_libs: ["libandroidicu"], export_shared_lib_headers: ["libandroidicu"], }, } cc_library { name: "libxml2", defaults: ["libxml2-defaults"], vendor_available: true, vndk: { enabled: true, }, host_supported: true, target: { vendor: { exclude_shared_libs: ["libandroidicu"], }, host: { shared_libs: ["libandroidicu"], }, }, } cc_library_static { name: "libxml2_ndk", defaults: ["libxml2-defaults"], sdk_version: "current", } cc_binary_host { name: "xmllint", srcs: ["xmllint.c"], cflags: [ "-DLIBXML_THREAD_ENABLED=1", "-Wall", "-Werror", ], shared_libs: ["libxml2"], }