1// We need to build this for both the device (as a shared library) 2// and the host (as a static library for tools to use). 3 4// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE 5// CONSULT THE OWNERS AND [email protected] BEFORE 6// DEPENDING ON IT IN YOUR PROJECT. *** 7package { 8 default_applicable_licenses: ["external_expat_license"], 9} 10 11// Added automatically by a large-scale-change that took the approach of 12// 'apply every license found to every target'. While this makes sure we respect 13// every license restriction, it may not be entirely correct. 14// 15// e.g. GPL in an MIT project might only apply to the contrib/ directory. 16// 17// Please consider splitting the single license below into multiple licenses, 18// taking care not to lose any license_kind information, and overriding the 19// default license using the 'licenses: [...]' property on targets as needed. 20// 21// For unused files, consider creating a 'fileGroup' with "//visibility:private" 22// to attach the license to, and including a comment whether the files may be 23// used in the current project. 24// See: http://go/android-license-faq 25license { 26 name: "external_expat_license", 27 visibility: [":__subpackages__"], 28 license_kinds: [ 29 "SPDX-license-identifier-CC0-1.0", 30 "SPDX-license-identifier-GFDL", // by exception only 31 "SPDX-license-identifier-MIT", 32 "legacy_notice", 33 "legacy_unencumbered", 34 ], 35 license_text: [ 36 "COPYING", 37 ], 38} 39 40cc_library { 41 name: "libexpat", 42 vendor_available: true, 43 product_available: true, 44 double_loadable: true, 45 host_supported: true, 46 unique_host_soname: true, 47 sdk_version: "26", 48 49 srcs: [ 50 "expat/lib/xmlparse.c", 51 "expat/lib/xmlrole.c", 52 "expat/lib/xmltok.c", 53 ], 54 cflags: [ 55 "-fno-strict-aliasing", 56 "-Wall", 57 "-Werror", 58 "-Wmissing-prototypes", 59 "-Wstrict-prototypes", 60 "-DHAVE_EXPAT_CONFIG_H", 61 "-UWIN32_LEAN_AND_MEAN", 62 // As of 2.4.6, xmlparse.c includes expat_config.h *before* including 63 // any system header file, meaning that __BIONIC__ and __GLIBC__ and so 64 // on aren't set, but our modifications to have one expat_config.h for 65 // all targets rely on those defines. 66 "-include stdio.h", 67 ], 68 69 target: { 70 darwin: { 71 cflags: ["-fno-common"], 72 }, 73 windows: { 74 enabled: true, 75 }, 76 android: { 77 sanitize: { 78 integer_overflow: true, 79 misc_undefined: ["bounds"], 80 }, 81 }, 82 }, 83 84 stl: "none", 85 local_include_dirs: ["lib"], 86 export_include_dirs: ["lib"], 87 88 sanitize: { 89 blocklist: "libexpat_blocklist.txt", 90 }, 91 92 apex_available: [ 93 "//apex_available:platform", 94 "com.android.art", 95 "com.android.art.debug", 96 ], 97 min_sdk_version: "apex_inherit", 98} 99