| 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"], |
| } |