package { default_applicable_licenses: ["external_selinux_libsepol_license"], } // Added automatically by a large-scale-change that took the approach of // 'apply every license found to every target'. While this makes sure we respect // every license restriction, it may not be entirely correct. // // e.g. GPL in an MIT project might only apply to the contrib/ directory. // // Please consider splitting the single license below into multiple licenses, // taking care not to lose any license_kind information, and overriding the // default license using the 'licenses: [...]' property on targets as needed. // // For unused files, consider creating a 'filegroup' with "//visibility:private" // to attach the license to, and including a comment whether the files may be // used in the current project. // http://go/android-license-faq license { name: "external_selinux_libsepol_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-BSD", "SPDX-license-identifier-GPL", "SPDX-license-identifier-LGPL", "SPDX-license-identifier-LGPL-2.1", "SPDX-license-identifier-LGPL-3.0", "SPDX-license-identifier-Zlib", "legacy_unencumbered", ], license_text: [ "LICENSE", ], } cc_defaults { name: "libsepol_defaults", cflags: [ "-D_GNU_SOURCE", "-Wall", "-Werror", "-W", "-Wundef", "-Wshadow", "-Wno-error=missing-noreturn", "-Wmissing-format-attribute", ], target: { bionic: { cflags: ["-DHAVE_REALLOCARRAY"] }, musl: { cflags: ["-DHAVE_REALLOCARRAY"] } } } cc_library { name: "libsepol", defaults: ["libsepol_defaults"], host_supported: true, srcs: [ "src/assertion.c", "src/avrule_block.c", "src/avtab.c", "src/boolean_record.c", "src/booleans.c", "src/conditional.c", "src/constraint.c", "src/context.c", "src/context_record.c", "src/debug.c", "src/ebitmap.c", "src/expand.c", "src/handle.c", "src/hashtab.c", "src/hierarchy.c", "src/iface_record.c", "src/interfaces.c", "src/kernel_to_cil.c", "src/kernel_to_common.c", "src/kernel_to_conf.c", "src/link.c", "src/mls.c", "src/module.c", "src/module_to_cil.c", "src/node_record.c", "src/nodes.c", "src/optimize.c", "src/polcaps.c", "src/policydb.c", "src/policydb_convert.c", "src/policydb_public.c", "src/policydb_validate.c", "src/port_record.c", "src/ports.c", "src/services.c", "src/sidtab.c", "src/symtab.c", "src/user_record.c", "src/users.c", "src/util.c", "src/write.c", "cil/src/android.c", "cil/src/cil_binary.c", "cil/src/cil_build_ast.c", "cil/src/cil.c", "cil/src/cil_copy_ast.c", "cil/src/cil_find.c", "cil/src/cil_fqn.c", "cil/src/cil_lexer.l", "cil/src/cil_list.c", "cil/src/cil_log.c", "cil/src/cil_mem.c", "cil/src/cil_parser.c", "cil/src/cil_policy.c", "cil/src/cil_post.c", "cil/src/cil_reset_ast.c", "cil/src/cil_resolve_ast.c", "cil/src/cil_stack.c", "cil/src/cil_strpool.c", "cil/src/cil_symtab.c", "cil/src/cil_tree.c", "cil/src/cil_verify.c", "cil/src/cil_write_ast.c", ], local_include_dirs: [ "cil/src", "src", ], export_include_dirs: [ "cil/include", "include", ], stl: "none", // The host version of libsepol is loaded by the system python, which does // not have the sanitizer runtimes. target: { host: { sanitize: { never: true, }, }, }, } cc_binary_host { name: "chkcon", defaults: ["libsepol_defaults"], srcs: ["utils/chkcon.c"], shared_libs: ["libsepol"], }