| // |
| // 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 [email protected] 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", |
| |
| // Upstream explicitly chooses this in its makefile. |
| c_std: "gnu99", |
| |
| 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 <sched.h> |
| "-Wall", |
| // 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: "vts_ltp_tests/testcases/bin", |
| } |