blob: 710c3a013de4614edb38eccf52ce54026967a638 [file] [log] [blame]
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"],
}