// // Copyright (C) 2016 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. // // Include the generated rules // *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE // CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE // DEPENDING ON IT IN YOUR PROJECT. *** package { default_applicable_licenses: ["external_ltp_license"], default_team: "trendy_team_android_kernel", } // 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. // // large-scale-change included anything that looked like it might be a license // text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. // // Please consider removing redundant or irrelevant files from 'license_text:'. // See: http://go/android-license-faq license { name: "external_ltp_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-APSL-1.1", "SPDX-license-identifier-Apache-2.0", "SPDX-license-identifier-BSD", "SPDX-license-identifier-BSD-2-Clause", "SPDX-license-identifier-BSD-3-Clause", "SPDX-license-identifier-GFDL", // by exception only "SPDX-license-identifier-GPL", "SPDX-license-identifier-GPL-2.0", "SPDX-license-identifier-GPL-3.0", "SPDX-license-identifier-ISC", "SPDX-license-identifier-LGPL", ], license_text: [ "COPYING", "NOTICE", ], } build = ["gen.bp"] // The gen.bp file will be embedded in the gen_ltp_config tool, // which reads its data using pkgutil.get_data(). As far as I can // tell, there's no way to read a file in the root of the python // zip, so we have to use a genrule here to move gen.bp to an // arbitrary subfolder first. genrule { name: "ltp_gen_bp_file", srcs: ["gen.bp"], out: ["android/tools/gen.bp"], cmd: "cp $(in) $(out)", } filegroup { name: "ltp_runtests", srcs: ["runtest/*"], } filegroup { name: "ltp_disabled_tests", srcs: ["android/tools/disabled_tests.txt"], } genrule { name: "ltp_syscalls_h", tool_files: [ "include/lapi/syscalls/order", "include/lapi/syscalls/regen.sh", "include/lapi/syscalls/*.in", ], cmd: "$(location include/lapi/syscalls/regen.sh) $(genDir)/lapi/syscalls.h", out: ["lapi/syscalls.h"], } genrule { name: "ltp_version_h", srcs: [ "VERSION", ], cmd: "echo \"#define LTP_VERSION \\\"$$(cat $(in))\\\"\" > $(out)", out: ["ltp-version.h"], } cc_defaults { name: "ltp_defaults", cflags: [ // Hacks for bionic compatibility "-include bionic-compat.h", "-fcommon", //ld.lld: error: duplicate symbol use_the_ltp_clone_functions__do_not_use_clone // Too many files import sched.h so we enable -fcommon locally // ltp may get away with this with glibc because of the __USE_GNU guard in glibc's "-Wall", "-Werror", // These warnings should be checked and fixed upstream "-Wno-absolute-value", "-Wno-uninitialized", "-Wno-user-defined-warnings", // Silence noisy warnings "-Wno-constant-conversion", "-Wno-deprecated", "-Wno-duplicate-decl-specifier", "-Wno-empty-body", "-Wno-format", "-Wno-gnu-designator", "-Wno-implicit-function-declaration", "-Wno-incompatible-pointer-types-discards-qualifiers", "-Wno-knr-promoted-parameter", "-Wno-macro-redefined", "-Wno-missing-braces", "-Wno-missing-field-initializers", "-Wno-parentheses-equality", "-Wno-pointer-arith", "-Wno-pointer-sign", "-Wno-sign-compare", "-Wno-tautological-compare", "-Wno-unneeded-internal-declaration", "-Wno-unreachable-code-loop-increment", "-Wno-unused-function", "-Wno-unused-parameter", "-Wno-unused-variable", ], local_include_dirs: [ "android/include", "include", ], target: { // bionic has broken signal handling for signum > 32 on 32-bit ARM and x86 // (for ABI reasons this can't be fixed) android_arm: { cflags: ["-DNUMSIGS=32"], }, android_x86: { cflags: ["-DNUMSIGS=32"], }, }, generated_headers: [ "ltp_syscalls_h", "ltp_version_h", ], static_libs: ["libcap"], // TODO: recover libaio when the external project created shared_libs: [ "libselinux", "libasyncio", ], } cc_defaults { name: "ltp_test_defaults", defaults: ["ltp_defaults"], gtest: false, cflags: ["-Wno-gnu-variable-sized-type-not-at-end"], no_named_install_directory: true, relative_install_path: "ltp/testcases/bin", }